/*
 Highcharts JS v6.2.0 (2018-10-17)

 (c) 2017 Lars Cabrera, Torstein Honsi, Jon Arild Nygard & Oystein Moseng

 License: www.highcharts.com/license
*/
(function(T,I){"object"===typeof module&&module.exports?module.exports=T.document?I(T):I:"function"===typeof define&&define.amd?define(function(){return I(T)}):T.Highcharts=I(T)})("undefined"!==typeof window?window:this,function(T){var I=function(){var a="undefined"===typeof T?window:T,z=a.document,C=a.navigator&&a.navigator.userAgent||"",B=z&&z.createElementNS&&!!z.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,r=/(edge|msie|trident)/i.test(C)&&!a.opera,l=-1!==C.indexOf("Firefox"),
n=-1!==C.indexOf("Chrome"),t=l&&4>parseInt(C.split("Firefox/")[1],10);return a.Highcharts?a.Highcharts.error(16,!0):{product:"Highcharts",version:"6.2.0",deg2rad:2*Math.PI/360,doc:z,hasBidiBug:t,hasTouch:z&&void 0!==z.documentElement.ontouchstart,isMS:r,isWebKit:-1!==C.indexOf("AppleWebKit"),isFirefox:l,isChrome:n,isSafari:!n&&-1!==C.indexOf("Safari"),isTouchDevice:/(Mobile|Android|Windows Phone)/.test(C),SVG_NS:"http://www.w3.org/2000/svg",chartCount:0,seriesTypes:{},symbolSizes:{},svg:B,win:a,marginNames:["plotTop",
"marginRight","marginBottom","plotLeft"],noop:function(){},charts:[]}}();(function(a){a.timers=[];var z=a.charts,C=a.doc,B=a.win;a.error=function(r,l){r=a.isNumber(r)?"Highcharts error #"+r+": www.highcharts.com/errors/"+r:r;if(l)throw Error(r);B.console&&console.log(r)};a.Fx=function(a,l,n){this.options=l;this.elem=a;this.prop=n};a.Fx.prototype={dSetter:function(){var a=this.paths[0],l=this.paths[1],n=[],t=this.now,u=a.length,m;if(1===t)n=this.toD;else if(u===l.length&&1>t)for(;u--;)m=parseFloat(a[u]),
n[u]=isNaN(m)?l[u]:t*parseFloat(l[u]-m)+m;else n=l;this.elem.attr("d",n,null,!0)},update:function(){var a=this.elem,l=this.prop,n=this.now,t=this.options.step;if(this[l+"Setter"])this[l+"Setter"]();else a.attr?a.element&&a.attr(l,n,null,!0):a.style[l]=n+this.unit;t&&t.call(a,n,this)},run:function(r,l,n){var t=this,u=t.options,m=function(a){return m.stopped?!1:t.step(a)},q=B.requestAnimationFrame||function(a){setTimeout(a,13)},d=function(){for(var f=0;f<a.timers.length;f++)a.timers[f]()||a.timers.splice(f--,
1);a.timers.length&&q(d)};r!==l||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=r,this.end=l,this.unit=n,this.now=this.start,this.pos=0,m.elem=this.elem,m.prop=this.prop,m()&&1===a.timers.push(m)&&q(d)):(delete u.curAnim[this.prop],u.complete&&0===a.keys(u.curAnim).length&&u.complete.call(this.elem))},step:function(r){var l=+new Date,n,t=this.options,u=this.elem,m=t.complete,q=t.duration,d=t.curAnim;u.attr&&!u.element?r=!1:r||l>=q+this.startTime?(this.now=this.end,this.pos=
1,this.update(),n=d[this.prop]=!0,a.objectEach(d,function(a){!0!==a&&(n=!1)}),n&&m&&m.call(u),r=!1):(this.pos=t.easing((l-this.startTime)/q),this.now=this.start+(this.end-this.start)*this.pos,this.update(),r=!0);return r},initPath:function(r,l,n){function t(b){var a,c;for(h=b.length;h--;)a="M"===b[h]||"L"===b[h],c=/[a-zA-Z]/.test(b[h+3]),a&&c&&b.splice(h+1,0,b[h+1],b[h+2],b[h+1],b[h+2])}function u(b,a){for(;b.length<c;){b[0]=a[c-b.length];var f=b.slice(0,g);[].splice.apply(b,[0,0].concat(f));e&&(f=
b.slice(b.length-g),[].splice.apply(b,[b.length,0].concat(f)),h--)}b[0]="M"}function m(a,h){for(var f=(c-a.length)/g;0<f&&f--;)b=a.slice().splice(a.length/v-g,g*v),b[0]=h[c-g-f*g],k&&(b[g-6]=b[g-2],b[g-5]=b[g-1]),[].splice.apply(a,[a.length/v,0].concat(b)),e&&f--}l=l||"";var q,d=r.startX,f=r.endX,k=-1<l.indexOf("C"),g=k?7:3,c,b,h;l=l.split(" ");n=n.slice();var e=r.isArea,v=e?2:1,w;k&&(t(l),t(n));if(d&&f){for(h=0;h<d.length;h++)if(d[h]===f[0]){q=h;break}else if(d[0]===f[f.length-d.length+h]){q=h;w=
!0;break}void 0===q&&(l=[])}l.length&&a.isNumber(q)&&(c=n.length+q*v*g,w?(u(l,n),m(n,l)):(u(n,l),m(l,n)));return[l,n]},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 r,l=arguments,n,t={},u=function(m,q){"object"!==typeof m&&(m={});a.objectEach(q,function(d,f){!a.isObject(d,!0)||a.isClass(d)||a.isDOMElement(d)?m[f]=q[f]:m[f]=u(m[f]||{},
d)});return m};!0===l[0]&&(t=l[1],l=Array.prototype.slice.call(l,2));n=l.length;for(r=0;r<n;r++)t=u(t,l[r]);return t};a.pInt=function(a,l){return parseInt(a,l||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(r,l){return!!r&&"object"===typeof r&&(!l||!a.isArray(r))};a.isDOMElement=function(r){return a.isObject(r)&&"number"===typeof r.nodeType};a.isClass=function(r){var l=
r&&r.constructor;return!(!a.isObject(r,!0)||a.isDOMElement(r)||!l||!l.name||"Object"===l.name)};a.isNumber=function(a){return"number"===typeof a&&!isNaN(a)&&Infinity>a&&-Infinity<a};a.erase=function(a,l){for(var n=a.length;n--;)if(a[n]===l){a.splice(n,1);break}};a.defined=function(a){return void 0!==a&&null!==a};a.attr=function(r,l,n){var t;a.isString(l)?a.defined(n)?r.setAttribute(l,n):r&&r.getAttribute&&((t=r.getAttribute(l))||"class"!==l||(t=r.getAttribute(l+"Name"))):a.defined(l)&&a.isObject(l)&&
a.objectEach(l,function(a,m){r.setAttribute(m,a)});return t};a.splat=function(r){return a.isArray(r)?r:[r]};a.syncTimeout=function(a,l,n){if(l)return setTimeout(a,l,n);a.call(0,n)};a.clearTimeout=function(r){a.defined(r)&&clearTimeout(r)};a.extend=function(a,l){var n;a||(a={});for(n in l)a[n]=l[n];return a};a.pick=function(){var a=arguments,l,n,t=a.length;for(l=0;l<t;l++)if(n=a[l],void 0!==n&&null!==n)return n};a.css=function(r,l){a.isMS&&!a.svg&&l&&void 0!==l.opacity&&(l.filter="alpha(opacity\x3d"+
100*l.opacity+")");a.extend(r.style,l)};a.createElement=function(r,l,n,t,u){r=C.createElement(r);var m=a.css;l&&a.extend(r,l);u&&m(r,{padding:0,border:"none",margin:0});n&&m(r,n);t&&t.appendChild(r);return r};a.extendClass=function(r,l){var n=function(){};n.prototype=new r;a.extend(n.prototype,l);return n};a.pad=function(a,l,n){return Array((l||2)+1-String(a).replace("-","").length).join(n||0)+a};a.relativeLength=function(a,l,n){return/%$/.test(a)?l*parseFloat(a)/100+(n||0):parseFloat(a)};a.wrap=
function(a,l,n){var t=a[l];a[l]=function(){var a=Array.prototype.slice.call(arguments),m=arguments,q=this;q.proceed=function(){t.apply(q,arguments.length?arguments:m)};a.unshift(t);a=n.apply(this,a);q.proceed=null;return a}};a.datePropsToTimestamps=function(r){a.objectEach(r,function(l,n){a.isObject(l)&&"function"===typeof l.getTime?r[n]=l.getTime():(a.isObject(l)||a.isArray(l))&&a.datePropsToTimestamps(l)})};a.formatSingle=function(r,l,n){var t=/\.([0-9])/,u=a.defaultOptions.lang;/f$/.test(r)?(n=
(n=r.match(t))?n[1]:-1,null!==l&&(l=a.numberFormat(l,n,u.decimalPoint,-1<r.indexOf(",")?u.thousandsSep:""))):l=(n||a.time).dateFormat(r,l);return l};a.format=function(r,l,n){for(var t="{",u=!1,m,q,d,f,k=[],g;r;){t=r.indexOf(t);if(-1===t)break;m=r.slice(0,t);if(u){m=m.split(":");q=m.shift().split(".");f=q.length;g=l;for(d=0;d<f;d++)g&&(g=g[q[d]]);m.length&&(g=a.formatSingle(m.join(":"),g,n));k.push(g)}else k.push(m);r=r.slice(t+1);t=(u=!u)?"}":"{"}k.push(r);return k.join("")};a.getMagnitude=function(a){return Math.pow(10,
Math.floor(Math.log(a)/Math.LN10))};a.normalizeTickInterval=function(r,l,n,t,u){var m,q=r;n=a.pick(n,1);m=r/n;l||(l=u?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===t&&(1===n?l=a.grep(l,function(a){return 0===a%1}):.1>=n&&(l=[1/n])));for(t=0;t<l.length&&!(q=l[t],u&&q*n>=r||!u&&m<=(l[t]+(l[t+1]||l[t]))/2);t++);return q=a.correctFloat(q*n,-Math.round(Math.log(.001)/Math.LN10))};a.stableSort=function(a,l){var n=a.length,t,u;for(u=0;u<n;u++)a[u].safeI=u;a.sort(function(a,q){t=l(a,q);return 0===t?
a.safeI-q.safeI:t});for(u=0;u<n;u++)delete a[u].safeI};a.arrayMin=function(a){for(var l=a.length,n=a[0];l--;)a[l]<n&&(n=a[l]);return n};a.arrayMax=function(a){for(var l=a.length,n=a[0];l--;)a[l]>n&&(n=a[l]);return n};a.destroyObjectProperties=function(r,l){a.objectEach(r,function(a,t){a&&a!==l&&a.destroy&&a.destroy();delete r[t]})};a.discardElement=function(r){var l=a.garbageBin;l||(l=a.createElement("div"));r&&l.appendChild(r);l.innerHTML=""};a.correctFloat=function(a,l){return parseFloat(a.toPrecision(l||
14))};a.setAnimation=function(r,l){l.renderer.globalAnimation=a.pick(r,l.options.chart.animation,!0)};a.animObject=function(r){return a.isObject(r)?a.merge(r):{duration:r?500:0}};a.timeUnits={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5,month:24192E5,year:314496E5};a.numberFormat=function(r,l,n,t){r=+r||0;l=+l;var u=a.defaultOptions.lang,m=(r.toString().split(".")[1]||"").split("e")[0].length,q,d,f=r.toString().split("e");-1===l?l=Math.min(m,20):a.isNumber(l)?l&&f[1]&&0>f[1]&&
(q=l+ +f[1],0<=q?(f[0]=(+f[0]).toExponential(q).split("e")[0],l=q):(f[0]=f[0].split(".")[0]||0,r=20>l?(f[0]*Math.pow(10,f[1])).toFixed(l):0,f[1]=0)):l=2;d=(Math.abs(f[1]?f[0]:r)+Math.pow(10,-Math.max(l,m)-1)).toFixed(l);m=String(a.pInt(d));q=3<m.length?m.length%3:0;n=a.pick(n,u.decimalPoint);t=a.pick(t,u.thousandsSep);r=(0>r?"-":"")+(q?m.substr(0,q)+t:"");r+=m.substr(q).replace(/(\d{3})(?=\d)/g,"$1"+t);l&&(r+=n+d.slice(-l));f[1]&&0!==+r&&(r+="e"+f[1]);return r};Math.easeInOutSine=function(a){return-.5*
(Math.cos(Math.PI*a)-1)};a.getStyle=function(r,l,n){if("width"===l)return Math.max(0,Math.min(r.offsetWidth,r.scrollWidth)-a.getStyle(r,"padding-left")-a.getStyle(r,"padding-right"));if("height"===l)return Math.max(0,Math.min(r.offsetHeight,r.scrollHeight)-a.getStyle(r,"padding-top")-a.getStyle(r,"padding-bottom"));B.getComputedStyle||a.error(27,!0);if(r=B.getComputedStyle(r,void 0))r=r.getPropertyValue(l),a.pick(n,"opacity"!==l)&&(r=a.pInt(r));return r};a.inArray=function(r,l,n){return(a.indexOfPolyfill||
Array.prototype.indexOf).call(l,r,n)};a.grep=function(r,l){return(a.filterPolyfill||Array.prototype.filter).call(r,l)};a.find=Array.prototype.find?function(a,l){return a.find(l)}:function(a,l){var n,t=a.length;for(n=0;n<t;n++)if(l(a[n],n))return a[n]};a.some=function(r,l,n){return(a.somePolyfill||Array.prototype.some).call(r,l,n)};a.map=function(a,l){for(var n=[],t=0,u=a.length;t<u;t++)n[t]=l.call(a[t],a[t],t,a);return n};a.keys=function(r){return(a.keysPolyfill||Object.keys).call(void 0,r)};a.reduce=
function(r,l,n){return(a.reducePolyfill||Array.prototype.reduce).apply(r,2<arguments.length?[l,n]:[l])};a.offset=function(a){var l=C.documentElement;a=a.parentElement||a.parentNode?a.getBoundingClientRect():{top:0,left:0};return{top:a.top+(B.pageYOffset||l.scrollTop)-(l.clientTop||0),left:a.left+(B.pageXOffset||l.scrollLeft)-(l.clientLeft||0)}};a.stop=function(r,l){for(var n=a.timers.length;n--;)a.timers[n].elem!==r||l&&l!==a.timers[n].prop||(a.timers[n].stopped=!0)};a.each=function(r,l,n){return(a.forEachPolyfill||
Array.prototype.forEach).call(r,l,n)};a.objectEach=function(a,l,n){for(var t in a)a.hasOwnProperty(t)&&l.call(n||a[t],a[t],t,a)};a.addEvent=function(r,l,n,t){var u,m=r.addEventListener||a.addEventListenerPolyfill;u="function"===typeof r&&r.prototype?r.prototype.protoEvents=r.prototype.protoEvents||{}:r.hcEvents=r.hcEvents||{};a.Point&&r instanceof a.Point&&r.series&&r.series.chart&&(r.series.chart.runTrackerClick=!0);m&&m.call(r,l,n,!1);u[l]||(u[l]=[]);u[l].push(n);t&&a.isNumber(t.order)&&(n.order=
t.order,u[l].sort(function(a,d){return a.order-d.order}));return function(){a.removeEvent(r,l,n)}};a.removeEvent=function(r,l,n){function t(d,f){var k=r.removeEventListener||a.removeEventListenerPolyfill;k&&k.call(r,d,f,!1)}function u(d){var f,k;r.nodeName&&(l?(f={},f[l]=!0):f=d,a.objectEach(f,function(a,c){if(d[c])for(k=d[c].length;k--;)t(c,d[c][k])}))}var m,q;a.each(["protoEvents","hcEvents"],function(d){var f=r[d];f&&(l?(m=f[l]||[],n?(q=a.inArray(n,m),-1<q&&(m.splice(q,1),f[l]=m),t(l,n)):(u(f),
f[l]=[])):(u(f),r[d]={}))})};a.fireEvent=function(r,l,n,t){var u,m,q,d,f;n=n||{};C.createEvent&&(r.dispatchEvent||r.fireEvent)?(u=C.createEvent("Events"),u.initEvent(l,!0,!0),a.extend(u,n),r.dispatchEvent?r.dispatchEvent(u):r.fireEvent(l,u)):a.each(["protoEvents","hcEvents"],function(k){if(r[k])for(m=r[k][l]||[],q=m.length,n.target||a.extend(n,{preventDefault:function(){n.defaultPrevented=!0},target:r,type:l}),d=0;d<q;d++)(f=m[d])&&!1===f.call(r,n)&&n.preventDefault()});t&&!n.defaultPrevented&&t.call(r,
n)};a.animate=function(r,l,n){var t,u="",m,q,d;a.isObject(n)||(d=arguments,n={duration:d[2],easing:d[3],complete:d[4]});a.isNumber(n.duration)||(n.duration=400);n.easing="function"===typeof n.easing?n.easing:Math[n.easing]||Math.easeInOutSine;n.curAnim=a.merge(l);a.objectEach(l,function(f,k){a.stop(r,k);q=new a.Fx(r,n,k);m=null;"d"===k?(q.paths=q.initPath(r,r.d,l.d),q.toD=l.d,t=0,m=1):r.attr?t=r.attr(k):(t=parseFloat(a.getStyle(r,k))||0,"opacity"!==k&&(u="px"));m||(m=f);m&&m.match&&m.match("px")&&
(m=m.replace(/px/g,""));q.run(t,m,u)})};a.seriesType=function(r,l,n,t,u){var m=a.getOptions(),q=a.seriesTypes;m.plotOptions[r]=a.merge(m.plotOptions[l],n);q[r]=a.extendClass(q[l]||function(){},t);q[r].prototype.type=r;u&&(q[r].prototype.pointClass=a.extendClass(a.Point,u));return q[r]};a.uniqueKey=function(){var a=Math.random().toString(36).substring(2,9),l=0;return function(){return"highcharts-"+a+"-"+l++}}();B.jQuery&&(B.jQuery.fn.highcharts=function(){var r=[].slice.call(arguments);if(this[0])return r[0]?
(new (a[a.isString(r[0])?r.shift():"Chart"])(this[0],r[0],r[1]),this):z[a.attr(this[0],"data-highcharts-chart")]})})(I);(function(a){var z=a.each,C=a.isNumber,B=a.map,r=a.merge,l=a.pInt;a.Color=function(n){if(!(this instanceof a.Color))return new a.Color(n);this.init(n)};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[l(a[1]),l(a[2]),l(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[l(a[1]),l(a[2]),l(a[3]),1]}}],names:{white:"#ffffff",black:"#000000"},init:function(n){var l,u,m,q;if((this.input=n=this.names[n&&n.toLowerCase?n.toLowerCase():""]||n)&&n.stops)this.stops=B(n.stops,function(d){return new a.Color(d[1])});else if(n&&n.charAt&&"#"===n.charAt()&&(l=n.length,n=parseInt(n.substr(1),16),7===l?u=[(n&16711680)>>16,(n&65280)>>8,n&255,1]:4===l&&(u=[(n&3840)>>4|(n&3840)>>8,(n&240)>>4|n&240,(n&15)<<4|n&15,1])),!u)for(m=this.parsers.length;m--&&!u;)q=this.parsers[m],
(l=q.regex.exec(n))&&(u=q.parse(l));this.rgba=u||[]},get:function(a){var n=this.input,l=this.rgba,m;this.stops?(m=r(n),m.stops=[].concat(m.stops),z(this.stops,function(q,d){m.stops[d]=[m.stops[d][0],q.get(a)]})):m=l&&C(l[0])?"rgb"===a||!a&&1===l[3]?"rgb("+l[0]+","+l[1]+","+l[2]+")":"a"===a?l[3]:"rgba("+l.join(",")+")":n;return m},brighten:function(a){var n,u=this.rgba;if(this.stops)z(this.stops,function(m){m.brighten(a)});else if(C(a)&&0!==a)for(n=0;3>n;n++)u[n]+=l(255*a),0>u[n]&&(u[n]=0),255<u[n]&&
(u[n]=255);return this},setOpacity:function(a){this.rgba[3]=a;return this},tweenTo:function(a,l){var n=this.rgba,m=a.rgba;m.length&&n&&n.length?(a=1!==m[3]||1!==n[3],l=(a?"rgba(":"rgb(")+Math.round(m[0]+(n[0]-m[0])*(1-l))+","+Math.round(m[1]+(n[1]-m[1])*(1-l))+","+Math.round(m[2]+(n[2]-m[2])*(1-l))+(a?","+(m[3]+(n[3]-m[3])*(1-l)):"")+")"):l=a.input||"none";return l}};a.color=function(n){return new a.Color(n)}})(I);(function(a){var z,C,B=a.addEvent,r=a.animate,l=a.attr,n=a.charts,t=a.color,u=a.css,
m=a.createElement,q=a.defined,d=a.deg2rad,f=a.destroyObjectProperties,k=a.doc,g=a.each,c=a.extend,b=a.erase,h=a.grep,e=a.hasTouch,v=a.inArray,w=a.isArray,J=a.isFirefox,D=a.isMS,E=a.isObject,x=a.isString,G=a.isWebKit,M=a.merge,F=a.noop,H=a.objectEach,A=a.pick,y=a.pInt,K=a.removeEvent,p=a.splat,L=a.stop,O=a.svg,P=a.SVG_NS,Q=a.symbolSizes,R=a.win;z=a.SVGElement=function(){return this};c(z.prototype,{opacity:1,SVG_NS:P,textProps:"direction fontSize fontWeight fontFamily fontStyle color lineHeight width textAlign textDecoration textOverflow textOutline cursor".split(" "),
init:function(a,b){this.element="span"===b?m(b):k.createElementNS(this.SVG_NS,b);this.renderer=a},animate:function(b,p,c){p=a.animObject(A(p,this.renderer.globalAnimation,!0));0!==p.duration?(c&&(p.complete=c),r(this,b,p)):(this.attr(b,null,c),p.step&&p.step.call(this));return this},complexColor:function(b,p,c){var e=this.renderer,y,A,h,f,k,d,N,x,v,K,L,m=[],D;a.fireEvent(this.renderer,"complexColor",{args:arguments},function(){b.radialGradient?A="radialGradient":b.linearGradient&&(A="linearGradient");
A&&(h=b[A],k=e.gradients,N=b.stops,K=c.radialReference,w(h)&&(b[A]=h={x1:h[0],y1:h[1],x2:h[2],y2:h[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===A&&K&&!q(h.gradientUnits)&&(f=h,h=M(h,e.getRadialAttr(K,f),{gradientUnits:"userSpaceOnUse"})),H(h,function(a,b){"id"!==b&&m.push(b,a)}),H(N,function(a){m.push(a)}),m=m.join(","),k[m]?L=k[m].attr("id"):(h.id=L=a.uniqueKey(),k[m]=d=e.createElement(A).attr(h).add(e.defs),d.radAttr=f,d.stops=[],g(N,function(b){0===b[1].indexOf("rgba")?(y=a.color(b[1]),
x=y.get("rgb"),v=y.get("a")):(x=b[1],v=1);b=e.createElement("stop").attr({offset:b[0],"stop-color":x,"stop-opacity":v}).add(d);d.stops.push(b)})),D="url("+e.url+"#"+L+")",c.setAttribute(p,D),c.gradient=m,b.toString=function(){return D})})},applyTextOutline:function(p){var c=this.element,e,y,A,h,f;-1!==p.indexOf("contrast")&&(p=p.replace(/contrast/g,this.renderer.getContrast(c.style.fill)));p=p.split(" ");y=p[p.length-1];if((A=p[0])&&"none"!==A&&a.svg){this.fakeTS=!0;p=[].slice.call(c.getElementsByTagName("tspan"));
this.ySetter=this.xSetter;A=A.replace(/(^[\d\.]+)(.*?)$/g,function(a,b,p){return 2*b+p});for(f=p.length;f--;)e=p[f],"highcharts-text-outline"===e.getAttribute("class")&&b(p,c.removeChild(e));h=c.firstChild;g(p,function(a,b){0===b&&(a.setAttribute("x",c.getAttribute("x")),b=c.getAttribute("y"),a.setAttribute("y",b||0),null===b&&c.setAttribute("y",0));a=a.cloneNode(1);l(a,{"class":"highcharts-text-outline",fill:y,stroke:y,"stroke-width":A,"stroke-linejoin":"round"});c.insertBefore(a,h)})}},attr:function(a,
b,p,c){var e,A=this.element,y,g=this,h,f;"string"===typeof a&&void 0!==b&&(e=a,a={},a[e]=b);"string"===typeof a?g=(this[a+"Getter"]||this._defaultGetter).call(this,a,A):(H(a,function(b,p){h=!1;c||L(this,p);this.symbolName&&/^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)$/.test(p)&&(y||(this.symbolAttr(a),y=!0),h=!0);!this.rotation||"x"!==p&&"y"!==p||(this.doTransform=!0);h||(f=this[p+"Setter"]||this._defaultSetter,f.call(this,b,p,A))},this),this.afterSetters());p&&p.call(this);return g},afterSetters:function(){this.doTransform&&
(this.updateTransform(),this.doTransform=!1)},addClass:function(a,b){var p=this.attr("class")||"";-1===p.indexOf(a)&&(b||(a=(p+(p?" ":"")+a).replace("  "," ")),this.attr("class",a));return this},hasClass:function(a){return-1!==v(a,(this.attr("class")||"").split(" "))},removeClass:function(a){return this.attr("class",(this.attr("class")||"").replace(a,""))},symbolAttr:function(a){var b=this;g("x y r start end width height innerR anchorX anchorY".split(" "),function(p){b[p]=A(a[p],b[p])});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 p;b=b||a.strokeWidth||0;p=Math.round(b)%2/2;a.x=Math.floor(a.x||this.x||0)+p;a.y=Math.floor(a.y||this.y||0)+p;a.width=Math.floor((a.width||this.width||0)-2*p);a.height=Math.floor((a.height||this.height||0)-2*p);q(a.strokeWidth)&&(a.strokeWidth=b);return a},css:function(a){var b=this.styles,p={},e=this.element,A,g="",h,f=!b,k=["textOutline","textOverflow",
"width"];a&&a.color&&(a.fill=a.color);b&&H(a,function(a,c){a!==b[c]&&(p[c]=a,f=!0)});f&&(b&&(a=c(b,p)),a&&(null===a.width||"auto"===a.width?delete this.textWidth:"text"===e.nodeName.toLowerCase()&&a.width&&(A=this.textWidth=y(a.width))),this.styles=a,A&&!O&&this.renderer.forExport&&delete a.width,e.namespaceURI===this.SVG_NS?(h=function(a,b){return"-"+b.toLowerCase()},H(a,function(a,b){-1===v(b,k)&&(g+=b.replace(/([A-Z])/g,h)+":"+a+";")}),g&&l(e,"style",g)):u(e,a),this.added&&("text"===this.element.nodeName&&
this.renderer.buildText(this),a&&a.textOutline&&this.applyTextOutline(a.textOutline)));return this},getStyle:function(a){return R.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=k.createElementNS(P,"rect"),l(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 p=this,c=p.element;e&&"click"===
a?(c.ontouchstart=function(a){p.touchEventFired=Date.now();a.preventDefault();b.call(c,a)},c.onclick=function(a){(-1===R.navigator.userAgent.indexOf("Android")||1100<Date.now()-(p.touchEventFired||0))&&b.call(c,a)}):c["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,p=this.scaleX,c=this.scaleY,e=this.inverted,y=this.rotation,g=this.matrix,h=this.element;e&&(a+=this.width,b+=this.height);a=["translate("+a+","+b+")"];q(g)&&a.push("matrix("+g.join(",")+")");e?a.push("rotate(90) scale(-1,1)"):y&&a.push("rotate("+y+" "+A(this.rotationOriginX,h.getAttribute("x"),0)+" "+A(this.rotationOriginY,h.getAttribute("y")||0)+")");(q(p)||
q(c))&&a.push("scale("+A(p,1)+" "+A(c,1)+")");a.length&&h.setAttribute("transform",a.join(" "))},toFront:function(){var a=this.element;a.parentNode.appendChild(a);return this},align:function(a,p,c){var e,y,g,h,f={};y=this.renderer;g=y.alignedObjects;var k,d;if(a){if(this.alignOptions=a,this.alignByTranslate=p,!c||x(c))this.alignTo=e=c||"renderer",b(g,this),g.push(this),c=null}else a=this.alignOptions,p=this.alignByTranslate,e=this.alignTo;c=A(c,y[e],y);e=a.align;y=a.verticalAlign;g=(c.x||0)+(a.x||
0);h=(c.y||0)+(a.y||0);"right"===e?k=1:"center"===e&&(k=2);k&&(g+=(c.width-(a.width||0))/k);f[p?"translateX":"x"]=Math.round(g);"bottom"===y?d=1:"middle"===y&&(d=2);d&&(h+=(c.height-(a.height||0))/d);f[p?"translateY":"y"]=Math.round(h);this[this.placed?"animate":"attr"](f);this.placed=!0;this.alignAttr=f;return this},getBBox:function(a,b){var p,e=this.renderer,y,h=this.element,f=this.styles,k,x=this.textStr,v,w=e.cache,K=e.cacheKeys,L=h.namespaceURI===this.SVG_NS,m;b=A(b,this.rotation);y=b*d;k=h&&
z.prototype.getStyle.call(h,"font-size");q(x)&&(m=x.toString(),-1===m.indexOf("\x3c")&&(m=m.replace(/[0-9]/g,"0")),m+=["",b||0,k,this.textWidth,f&&f.textOverflow].join());m&&!a&&(p=w[m]);if(!p){if(L||e.forExport){try{(v=this.fakeTS&&function(a){g(h.querySelectorAll(".highcharts-text-outline"),function(b){b.style.display=a})})&&v("none"),p=h.getBBox?c({},h.getBBox()):{width:h.offsetWidth,height:h.offsetHeight},v&&v("")}catch(Z){}if(!p||0>p.width)p={width:0,height:0}}else p=this.htmlGetBBox();e.isSVG&&
(a=p.width,e=p.height,L&&(p.height=e={"11px,17":14,"13px,20":16}[f&&f.fontSize+","+Math.round(e)]||e),b&&(p.width=Math.abs(e*Math.sin(y))+Math.abs(a*Math.cos(y)),p.height=Math.abs(e*Math.cos(y))+Math.abs(a*Math.sin(y))));if(m&&0<p.height){for(;250<K.length;)delete w[K.shift()];w[m]||K.push(m);w[m]=p}}return p},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,p=this.element,c;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)c=this.zIndexSetter();c||(a?a.element:b.box).appendChild(p);if(this.onAdd)this.onAdd();return this},safeRemoveChild:function(a){var b=a.parentNode;b&&b.removeChild(a)},destroy:function(){var a=this,p=a.element||{},c=a.renderer.isSVG&&"SPAN"===p.nodeName&&a.parentGroup,
e=p.ownerSVGElement,y=a.clipPath;p.onclick=p.onmouseout=p.onmouseover=p.onmousemove=p.point=null;L(a);y&&e&&(g(e.querySelectorAll("[clip-path],[CLIP-PATH]"),function(a){var b=a.getAttribute("clip-path"),p=y.element.id;(-1<b.indexOf("(#"+p+")")||-1<b.indexOf('("#'+p+'")'))&&a.removeAttribute("clip-path")}),a.clipPath=y.destroy());if(a.stops){for(e=0;e<a.stops.length;e++)a.stops[e]=a.stops[e].destroy();a.stops=null}for(a.safeRemoveChild(p);c&&c.div&&0===c.div.childNodes.length;)p=c.parentGroup,a.safeRemoveChild(c.div),
delete c.div,c=p;a.alignTo&&b(a.renderer.alignedObjects,a);H(a,function(b,p){delete a[p]});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=A(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,p){a&&a.join&&(a=a.join(" "));/(NaN| {2}|^$)/.test(a)&&(a="M 0 0");this[b]!==a&&(p.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,p){this[b]=a;p.setAttribute(b,a)},titleSetter:function(a){var b=this.element.getElementsByTagName("title")[0];b||(b=k.createElementNS(this.SVG_NS,"title"),this.element.appendChild(b));b.firstChild&&b.removeChild(b.firstChild);b.appendChild(k.createTextNode(String(A(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,p){"string"===typeof a?p.setAttribute(b,a):a&&this.complexColor(a,b,p)},visibilitySetter:function(a,b,p){"inherit"===a?p.removeAttribute(b):this[b]!==a&&p.setAttribute(b,a);this[b]=a},zIndexSetter:function(a,b){var p=this.renderer,c=this.parentGroup,e=(c||p).element||p.box,A,g=this.element,h,f,p=e===p.box;A=this.added;var k;q(a)?(g.setAttribute("data-z-index",
a),a=+a,this[b]===a&&(A=!1)):q(this[b])&&g.removeAttribute("data-z-index");this[b]=a;if(A){(a=this.zIndex)&&c&&(c.handleZ=!0);b=e.childNodes;for(k=b.length-1;0<=k&&!h;k--)if(c=b[k],A=c.getAttribute("data-z-index"),f=!q(A),c!==g)if(0>a&&f&&!p&&!k)e.insertBefore(g,b[k]),h=!0;else if(y(A)<=a||f&&(!q(a)||0<=a))e.insertBefore(g,b[k+1]||null),h=!0;h||(e.insertBefore(g,b[p?3:0]||null),h=!0)}return h},_defaultSetter:function(a,b,p){p.setAttribute(b,a)}});z.prototype.yGetter=z.prototype.xGetter;z.prototype.translateXSetter=
z.prototype.translateYSetter=z.prototype.rotationSetter=z.prototype.verticalAlignSetter=z.prototype.rotationOriginXSetter=z.prototype.rotationOriginYSetter=z.prototype.scaleXSetter=z.prototype.scaleYSetter=z.prototype.matrixSetter=function(a,b){this[b]=a;this.doTransform=!0};C=a.SVGRenderer=function(){this.init.apply(this,arguments)};c(C.prototype,{Element:z,SVG_NS:P,init:function(a,b,p,c,e,y){var A;c=this.createElement("svg").attr({version:"1.1","class":"highcharts-root"});A=c.element;a.appendChild(A);
l(a,"dir","ltr");-1===a.innerHTML.indexOf("xmlns")&&l(A,"xmlns",this.SVG_NS);this.isSVG=!0;this.box=A;this.boxWrapper=c;this.alignedObjects=[];this.url=(J||G)&&k.getElementsByTagName("base").length?R.location.href.split("#")[0].replace(/<[^>]*>/g,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(k.createTextNode("Created with Highcharts 6.2.0"));this.defs=this.createElement("defs").add();this.allowHTML=y;this.forExport=e;this.gradients={};
this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(b,p,!1);var g;J&&a.getBoundingClientRect&&(b=function(){u(a,{left:0,top:0});g=a.getBoundingClientRect();u(a,{left:Math.ceil(g.left)-g.left+"px",top:Math.ceil(g.top)-g.top+"px"})},b(),this.unSubPixelFix=B(R,"resize",b))},definition:function(a){function b(a,e){var y;g(p(a),function(a){var p=c.createElement(a.tagName),A={};H(a,function(a,b){"tagName"!==b&&"children"!==b&&"textContent"!==b&&(A[b]=a)});p.attr(A);p.add(e||c.defs);a.textContent&&
p.element.appendChild(k.createTextNode(a.textContent));b(a.children||[],p);y=p});return y}var c=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();f(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:F,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,p,c,e,y,A){var g=this,h=a.rotation,f,d=c?1:0,v=(p||c).length,x=v,w=[],K=function(a){b.firstChild&&b.removeChild(b.firstChild);a&&b.appendChild(k.createTextNode(a))},m=function(y,h){h=h||y;if(void 0===w[h])if(b.getSubStringLength)try{w[h]=e+b.getSubStringLength(0,c?h+1:h)}catch(aa){}else g.getSpanWidth&&(K(A(p||c,y)),w[h]=e+g.getSpanWidth(a,b));return w[h]},L,q;a.rotation=0;L=m(b.textContent.length);if(q=
e+L>y){for(;d<=v;)x=Math.ceil((d+v)/2),c&&(f=A(c,x)),L=m(x,f&&f.length-1),d===v?d=v+1:L>y?v=x-1:d=x;0===v?K(""):p&&v===p.length-1||K(f||A(p||c,x))}c&&c.splice(0,x);a.actualWidth=L;a.rotation=h;return q},escapes:{"\x26":"\x26amp;","\x3c":"\x26lt;","\x3e":"\x26gt;","'":"\x26#39;",'"':"\x26quot;"},buildText:function(a){var b=a.element,p=this,c=p.forExport,e=A(a.textStr,"").toString(),f=-1!==e.indexOf("\x3c"),d=b.childNodes,x,w=l(b,"x"),K=a.styles,m=a.textWidth,L=K&&K.lineHeight,q=K&&K.textOutline,D=
K&&"ellipsis"===K.textOverflow,G=K&&"nowrap"===K.whiteSpace,n=K&&K.fontSize,E,M,J=d.length,K=m&&!a.added&&this.box,F=function(a){return L?y(L):p.fontMetrics(void 0,a.getAttribute("style")?a:b).h},t=function(a,b){H(p.escapes,function(p,c){b&&-1!==v(p,b)||(a=a.toString().replace(new RegExp(p,"g"),c))});return a},r=function(a,b){var p;p=a.indexOf("\x3c");a=a.substring(p,a.indexOf("\x3e")-p);p=a.indexOf(b+"\x3d");if(-1!==p&&(p=p+b.length+1,b=a.charAt(p),'"'===b||"'"===b))return a=a.substring(p+1),a.substring(0,
a.indexOf(b))};E=[e,D,G,L,q,n,m].join();if(E!==a.textCache){for(a.textCache=E;J--;)b.removeChild(d[J]);f||q||D||m||-1!==e.indexOf(" ")?(K&&K.appendChild(b),e=f?e.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):[e],e=h(e,function(a){return""!==a}),g(e,function(e,y){var A,h=0,f=0;e=e.replace(/^\s+|\s+$/g,"").replace(/<span/g,
"|||\x3cspan").replace(/<\/span>/g,"\x3c/span\x3e|||");A=e.split("|||");g(A,function(e){if(""!==e||1===A.length){var g={},d=k.createElementNS(p.SVG_NS,"tspan"),v,K;(v=r(e,"class"))&&l(d,"class",v);if(v=r(e,"style"))v=v.replace(/(;| |^)color([ :])/,"$1fill$2"),l(d,"style",v);(K=r(e,"href"))&&!c&&(l(d,"onclick",'location.href\x3d"'+K+'"'),l(d,"class","highcharts-anchor"));e=t(e.replace(/<[a-zA-Z\/](.|\n)*?>/g,"")||" ");if(" "!==e){d.appendChild(k.createTextNode(e));h?g.dx=0:y&&null!==w&&(g.x=w);l(d,
g);b.appendChild(d);!h&&M&&(!O&&c&&u(d,{display:"block"}),l(d,"dy",F(d)));if(m){var L=e.replace(/([^\^])-/g,"$1- ").split(" "),g=!G&&(1<A.length||y||1<L.length);K=0;var q=F(d);if(D)x=p.truncate(a,d,e,void 0,0,Math.max(0,m-parseInt(n||12,10)),function(a,b){return a.substring(0,b)+"\u2026"});else if(g)for(;L.length;)L.length&&!G&&0<K&&(d=k.createElementNS(P,"tspan"),l(d,{dy:q,x:w}),v&&l(d,"style",v),d.appendChild(k.createTextNode(L.join(" ").replace(/- /g,"-"))),b.appendChild(d)),p.truncate(a,d,null,
L,0===K?f:0,m,function(a,b){return L.slice(0,b).join(" ").replace(/- /g,"-")}),f=a.actualWidth,K++}h++}}});M=M||b.childNodes.length}),D&&x&&a.attr("title",t(a.textStr,["\x26lt;","\x26gt;"])),K&&K.removeChild(b),q&&a.applyTextOutline&&a.applyTextOutline(q)):b.appendChild(k.createTextNode(t(e)))}},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,p,c,e,y,A,g,h){var f=this.label(a,b,p,h,null,null,null,null,"button"),d=0;
f.attr(M({padding:8,r:2},e));B(f.element,D?"mouseover":"mouseenter",function(){3!==d&&f.setState(1)});B(f.element,D?"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&&c.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:E(a)&&c(b,a);return this.createElement("path").attr(b)},circle:function(a,b,p){a=E(a)?a:{x:a,y:b,r:p};b=this.createElement("circle");b.xSetter=b.ySetter=function(a,b,p){p.setAttribute("c"+b,a)};return b.attr(a)},arc:function(a,b,p,c,e,y){E(a)?(c=a,b=c.y,p=c.r,a=c.x):c={innerR:c,start:e,end:y};a=this.symbol("arc",a,b,p,p,c);a.r=p;return a},rect:function(a,b,p,c,e,y){e=E(a)?a.r:e;y=this.createElement("rect");a=E(a)?a:
void 0===a?{}:{x:a,y:b,width:Math.max(p,0),height:Math.max(c,0)};e&&(a.r=e);y.rSetter=function(a,b,p){l(p,{rx:a,ry:a})};return y.attr(a)},setSize:function(a,b,p){var c=this.alignedObjects,e=c.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:A(p,!0)?void 0:0});e--;)c[e].align()},g:function(a){var b=this.createElement("g");return a?b.attr({"class":"highcharts-"+a}):b},image:function(a,
b,p,e,y,A){var g={preserveAspectRatio:"none"},h,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(h.element,a);A.call(h,b)};1<arguments.length&&c(g,{x:b,y:p,width:e,height:y});h=this.createElement("image").attr(g);A?(f(h.element,"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw\x3d\x3d"),g=new R.Image,B(g,"load",d),g.src=a,g.complete&&d({})):f(h.element,a);return h},symbol:function(a,
b,p,e,y,h){var f=this,d,v=/^url\((.*?)\)$/,x=v.test(a),K=!x&&(this.symbols[a]?a:"circle"),w=K&&this.symbols[K],L=q(b)&&w&&w.call(this.symbols,Math.round(b),Math.round(p),e,y,h),D,G;w?(d=this.path(L),c(d,{symbolName:K,x:b,y:p,width:e,height:y}),h&&c(d,h)):x&&(D=a.match(v)[1],d=this.image(D),d.imgwidth=A(Q[D]&&Q[D].width,h&&h.width),d.imgheight=A(Q[D]&&Q[D].height,h&&h.height),G=function(){d.attr({width:d.width,height:d.height})},g(["width","height"],function(a){d[a+"Setter"]=function(a,b){var p={},
c=this["img"+b],e="width"===b?"translateX":"translateY";this[b]=a;q(c)&&(this.element&&this.element.setAttribute(b,c),this.alignByTranslate||(p[e]=((this[b]||0)-c)/2,this.attr(p)))}}),q(b)&&d.attr({x:b,y:p}),d.isImg=!0,q(d.imgwidth)&&q(d.imgheight)?G():(d.attr({width:0,height:0}),m("img",{onload:function(){var a=n[f.chartIndex];0===this.width&&(u(this,{position:"absolute",top:"-999em"}),k.body.appendChild(this));Q[D]={width:this.width,height:this.height};d.imgwidth=this.width;d.imgheight=this.height;
d.element&&G();this.parentNode&&this.parentNode.removeChild(this);f.imgCount--;if(!f.imgCount&&a&&a.onload)a.onload()},src:D}),this.imgCount++));return d},symbols:{circle:function(a,b,p,c){return this.arc(a+p/2,b+c/2,p/2,c/2,{start:0,end:2*Math.PI,open:!1})},square:function(a,b,p,c){return["M",a,b,"L",a+p,b,a+p,b+c,a,b+c,"Z"]},triangle:function(a,b,p,c){return["M",a+p/2,b,"L",a+p,b+c,a,b+c,"Z"]},"triangle-down":function(a,b,p,c){return["M",a,b,"L",a+p,b,a+p/2,b+c,"Z"]},diamond:function(a,b,p,c){return["M",
a+p/2,b,"L",a+p,b+c/2,a+p/2,b+c,a,b+c/2,"Z"]},arc:function(a,b,p,c,e){var y=e.start,h=e.r||p,g=e.r||c||p,f=e.end-.001;p=e.innerR;c=A(e.open,.001>Math.abs(e.end-e.start-2*Math.PI));var d=Math.cos(y),k=Math.sin(y),v=Math.cos(f),f=Math.sin(f);e=.001>e.end-y-Math.PI?0:1;h=["M",a+h*d,b+g*k,"A",h,g,0,e,1,a+h*v,b+g*f];q(p)&&h.push(c?"M":"L",a+p*v,b+p*f,"A",p,p,0,e,0,a+p*d,b+p*k);h.push(c?"":"Z");return h},callout:function(a,b,p,c,e){var y=Math.min(e&&e.r||0,p,c),A=y+6,h=e&&e.anchorX;e=e&&e.anchorY;var g;
g=["M",a+y,b,"L",a+p-y,b,"C",a+p,b,a+p,b,a+p,b+y,"L",a+p,b+c-y,"C",a+p,b+c,a+p,b+c,a+p-y,b+c,"L",a+y,b+c,"C",a,b+c,a,b+c,a,b+c-y,"L",a,b+y,"C",a,b,a,b,a+y,b];h&&h>p?e>b+A&&e<b+c-A?g.splice(13,3,"L",a+p,e-6,a+p+6,e,a+p,e+6,a+p,b+c-y):g.splice(13,3,"L",a+p,c/2,h,e,a+p,c/2,a+p,b+c-y):h&&0>h?e>b+A&&e<b+c-A?g.splice(33,3,"L",a,e+6,a-6,e,a,e-6,a,b+y):g.splice(33,3,"L",a,c/2,h,e,a,c/2,a,b+y):e&&e>c&&h>a+A&&h<a+p-A?g.splice(23,3,"L",h+6,b+c,h,b+c+6,h-6,b+c,a+y,b+c):e&&0>e&&h>a+A&&h<a+p-A&&g.splice(3,3,"L",
h-6,b,h,b-6,h+6,b,p-y,b);return g}},clipRect:function(b,p,c,e){var y=a.uniqueKey(),A=this.createElement("clipPath").attr({id:y}).add(this.defs);b=this.rect(b,p,c,e,0).add(A);b.id=y;b.clipPath=A;b.count=0;return b},text:function(a,b,p,c){var e={};if(c&&(this.allowHTML||!this.forExport))return this.html(a,b,p);e.x=Math.round(b||0);p&&(e.y=Math.round(p));q(a)&&(e.text=a);a=this.createElement("text").attr(e);c||(a.xSetter=function(a,b,p){var c=p.getElementsByTagName("tspan"),e,y=p.getAttribute(b),A;for(A=
0;A<c.length;A++)e=c[A],e.getAttribute(b)===y&&e.setAttribute(b,a);p.setAttribute(b,a)});return a},fontMetrics:function(a,b){a=b&&z.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,p){var c=a;b&&p&&(c=Math.max(c*Math.cos(b*d),4));return{x:-a/3*Math.sin(b*d),y:c}},label:function(b,p,e,y,A,h,f,d,k){var v=this,x=v.g("button"!==k&&"label"),
w=x.text=v.text("",0,0,f).attr({zIndex:1}),L,m,D=0,G=3,n=0,E,l,J,F,O,P={},H,u=/^url\((.*?)\)$/.test(y),t=u,r,Q,R,N;k&&x.addClass("highcharts-"+k);t=!0;r=function(){return L.strokeWidth()%2/2};Q=function(){var a=w.element.style,b={};m=(void 0===E||void 0===l||O)&&q(w.textStr)&&w.getBBox();x.width=(E||m.width||0)+2*G+n;x.height=(l||m.height||0)+2*G;H=G+v.fontMetrics(a&&a.fontSize,w).b;t&&(L||(x.box=L=v.symbols[y]||u?v.symbol(y):v.rect(),L.addClass(("button"===k?"":"highcharts-label-box")+(k?" highcharts-"+
k+"-box":"")),L.add(x),a=r(),b.x=a,b.y=(d?-H:0)+a),b.width=Math.round(x.width),b.height=Math.round(x.height),L.attr(c(b,P)),P={})};R=function(){var a=n+G,b;b=d?0:H;q(E)&&m&&("center"===O||"right"===O)&&(a+={center:.5,right:1}[O]*(E-m.width));if(a!==w.x||b!==w.y)w.attr("x",a),w.hasBoxWidthChanged&&(m=w.getBBox(!0),Q()),void 0!==b&&w.attr("y",b);w.x=a;w.y=b};N=function(a,b){L?L.attr(a,b):P[a]=b};x.onAdd=function(){w.add(x);x.attr({text:b||0===b?b:"",x:p,y:e});L&&q(A)&&x.attr({anchorX:A,anchorY:h})};
x.widthSetter=function(b){E=a.isNumber(b)?b:null};x.heightSetter=function(a){l=a};x["text-alignSetter"]=function(a){O=a};x.paddingSetter=function(a){q(a)&&a!==G&&(G=x.padding=a,R())};x.paddingLeftSetter=function(a){q(a)&&a!==n&&(n=a,R())};x.alignSetter=function(a){a={left:0,center:.5,right:1}[a];a!==D&&(D=a,m&&x.attr({x:J}))};x.textSetter=function(a){void 0!==a&&w.textSetter(a);Q();R()};x["stroke-widthSetter"]=function(a,b){a&&(t=!0);this["stroke-width"]=a;N(b,a)};x.rSetter=function(a,b){N(b,a)};
x.anchorXSetter=function(a,b){A=x.anchorX=a;N(b,Math.round(a)-r()-J)};x.anchorYSetter=function(a,b){h=x.anchorY=a;N(b,a-F)};x.xSetter=function(a){x.x=a;D&&(a-=D*((E||m.width)+2*G),x["forceAnimate:x"]=!0);J=Math.round(a);x.attr("translateX",J)};x.ySetter=function(a){F=x.y=Math.round(a);x.attr("translateY",F)};var C=x.css;return c(x,{css:function(a){if(a){var b={};a=M(a);g(x.textProps,function(p){void 0!==a[p]&&(b[p]=a[p],delete a[p])});w.css(b);"width"in b&&Q()}return C.call(x,a)},getBBox:function(){return{width:m.width+
2*G,height:m.height+2*G,x:m.x-G,y:m.y-G}},destroy:function(){K(x.element,"mouseenter");K(x.element,"mouseleave");w&&(w=w.destroy());L&&(L=L.destroy());z.prototype.destroy.call(x);x=v=Q=R=N=null}})}});a.Renderer=C})(I);(function(a){var z=a.attr,C=a.createElement,B=a.css,r=a.defined,l=a.each,n=a.extend,t=a.isFirefox,u=a.isMS,m=a.isWebKit,q=a.pick,d=a.pInt,f=a.SVGRenderer,k=a.win,g=a.wrap;n(a.SVGElement.prototype,{htmlCss:function(a){var b="SPAN"===this.element.tagName&&a&&"width"in a,c=q(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=n(this.styles,a);B(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,h=this.x||0,e=this.y||0,g=this.textAlign||"left",f={left:0,center:.5,right:1}[g],k=this.styles,
m=k&&k.whiteSpace;B(b,{marginLeft:this.translateX||0,marginTop:this.translateY||0});this.inverted&&l(b.childNodes,function(e){a.invertChild(e,b)});if("SPAN"===b.tagName){var k=this.rotation,q=this.textWidth&&d(this.textWidth),x=[k,g,b.innerHTML,this.textWidth,this.textAlign].join(),G;(G=q!==this.oldTextWidth)&&!(G=q>this.oldTextWidth)&&((G=this.textPxLength)||(B(b,{width:"",whiteSpace:m||"nowrap"}),G=b.offsetWidth),G=G>q);G&&/[ \-]/.test(b.textContent||b.innerText)?(B(b,{width:q+"px",display:"block",
whiteSpace:m||"normal"}),this.oldTextWidth=q,this.hasBoxWidthChanged=!0):this.hasBoxWidthChanged=!1;x!==this.cTT&&(m=a.fontMetrics(b.style.fontSize).b,!r(k)||k===(this.oldRotation||0)&&g===this.oldAlign||this.setSpanRotation(k,f,m),this.getSpanCorrection(!r(k)&&this.textPxLength||b.offsetWidth,m,f,k,g));B(b,{left:h+(this.xCorr||0)+"px",top:e+(this.yCorr||0)+"px"});this.cTT=x;this.oldRotation=k;this.oldAlign=g}}else this.alignOnAdd=!0},setSpanRotation:function(a,b,h){var e={},c=this.renderer.getTransformKey();
e[c]=e.transform="rotate("+a+"deg)";e[c+(t?"Origin":"-origin")]=e.transformOrigin=100*b+"% "+h+"px";B(this.element,e)},getSpanCorrection:function(a,b,h){this.xCorr=-a*h;this.yCorr=-b}});n(f.prototype,{getTransformKey:function(){return u&&!/Edge/.test(k.navigator.userAgent)?"-ms-transform":m?"-webkit-transform":t?"MozTransform":k.opera?"-o-transform":""},html:function(a,b,h){var e=this.createElement("span"),c=e.element,f=e.renderer,d=f.isSVG,k=function(a,b){l(["opacity","visibility"],function(e){g(a,
e+"Setter",function(a,e,c,A){a.call(this,e,c,A);b[c]=e})});a.addedSetters=!0};e.textSetter=function(a){a!==c.innerHTML&&delete this.bBox;this.textStr=a;c.innerHTML=q(a,"");e.doTransform=!0};d&&k(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(h)}).css({position:"absolute"});
c.style.whiteSpace="nowrap";e.css=e.htmlCss;d&&(e.add=function(a){var b,h=f.box.parentNode,g=[];if(this.parentGroup=a){if(b=a.div,!b){for(;a;)g.push(a),a=a.parentGroup;l(g.reverse(),function(a){function c(b,p){a[p]=b;"translateX"===p?A.left=b+"px":A.top=b+"px";a.doTransform=!0}var A,y=z(a.element,"class");y&&(y={className:y});b=a.div=a.div||C("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||h);A=b.style;n(a,{classSetter:function(a){return function(b){this.element.setAttribute("class",b);a.className=b}}(b),on:function(){g[0].div&&e.on.apply({element:g[0].div},arguments);return a},translateXSetter:c,translateYSetter:c});a.addedSetters||k(a,A)})}}else b=h;b.appendChild(c);e.added=!0;e.alignOnAdd&&e.htmlUpdateTransform();return e});return e}})})(I);(function(a){var z=a.defined,C=a.each,B=a.extend,r=a.merge,l=a.pick,n=a.timeUnits,t=a.win;a.Time=function(a){this.update(a,!1)};a.Time.prototype=
{defaultOptions:{},update:function(a){var m=l(a&&a.useUTC,!0),q=this;this.options=a=r(!0,this.options||{},a);this.Date=a.Date||t.Date;this.timezoneOffset=(this.useUTC=m)&&a.timezoneOffset;this.getTimezoneOffset=this.timezoneOffsetFunction();(this.variableTimezone=!(m&&!a.getTimezoneOffset&&!a.timezone))||this.timezoneOffset?(this.get=function(a,f){var d=f.getTime(),g=d-q.getTimezoneOffset(f);f.setTime(g);a=f["getUTC"+a]();f.setTime(d);return a},this.set=function(a,f,k){var g;if("Milliseconds"===a||
"Seconds"===a||"Minutes"===a&&0===f.getTimezoneOffset()%60)f["set"+a](k);else g=q.getTimezoneOffset(f),g=f.getTime()-g,f.setTime(g),f["setUTC"+a](k),a=q.getTimezoneOffset(f),g=f.getTime()+a,f.setTime(g)}):m?(this.get=function(a,f){return f["getUTC"+a]()},this.set=function(a,f,k){return f["setUTC"+a](k)}):(this.get=function(a,f){return f["get"+a]()},this.set=function(a,f,k){return f["set"+a](k)})},makeTime:function(n,m,q,d,f,k){var g,c,b;this.useUTC?(g=this.Date.UTC.apply(0,arguments),c=this.getTimezoneOffset(g),
g+=c,b=this.getTimezoneOffset(g),c!==b?g+=b-c:c-36E5!==this.getTimezoneOffset(g-36E5)||a.isSafari||(g-=36E5)):g=(new this.Date(n,m,l(q,1),l(d,0),l(f,0),l(k,0))).getTime();return g},timezoneOffsetFunction:function(){var n=this,m=this.options,q=t.moment;if(!this.useUTC)return function(a){return 6E4*(new Date(a)).getTimezoneOffset()};if(m.timezone){if(q)return function(a){return 6E4*-q.tz(a,m.timezone).utcOffset()};a.error(25)}return this.useUTC&&m.getTimezoneOffset?function(a){return 6E4*m.getTimezoneOffset(a)}:
function(){return 6E4*(n.timezoneOffset||0)}},dateFormat:function(n,m,q){if(!a.defined(m)||isNaN(m))return a.defaultOptions.lang.invalidDate||"";n=a.pick(n,"%Y-%m-%d %H:%M:%S");var d=this,f=new this.Date(m),k=this.get("Hours",f),g=this.get("Day",f),c=this.get("Date",f),b=this.get("Month",f),h=this.get("FullYear",f),e=a.defaultOptions.lang,v=e.weekdays,w=e.shortWeekdays,l=a.pad,f=a.extend({a:w?w[g]:v[g].substr(0,3),A:v[g],d:l(c),e:l(c,2," "),w:g,b:e.shortMonths[b],B:e.months[b],m:l(b+1),o:b+1,y:h.toString().substr(2,
2),Y:h,H:l(k),k:k,I:l(k%12||12),l:k%12||12,M:l(d.get("Minutes",f)),p:12>k?"AM":"PM",P:12>k?"am":"pm",S:l(f.getSeconds()),L:l(Math.floor(m%1E3),3)},a.dateFormats);a.objectEach(f,function(a,b){for(;-1!==n.indexOf("%"+b);)n=n.replace("%"+b,"function"===typeof a?a.call(d,m):a)});return q?n.substr(0,1).toUpperCase()+n.substr(1):n},resolveDTLFormat:function(n){return a.isObject(n,!0)?n:(n=a.splat(n),{main:n[0],from:n[1],to:n[2]})},getTimeTicks:function(a,m,q,d){var f=this,k=[],g,c={},b;g=new f.Date(m);
var h=a.unitRange,e=a.count||1,v;d=l(d,1);if(z(m)){f.set("Milliseconds",g,h>=n.second?0:e*Math.floor(f.get("Milliseconds",g)/e));h>=n.second&&f.set("Seconds",g,h>=n.minute?0:e*Math.floor(f.get("Seconds",g)/e));h>=n.minute&&f.set("Minutes",g,h>=n.hour?0:e*Math.floor(f.get("Minutes",g)/e));h>=n.hour&&f.set("Hours",g,h>=n.day?0:e*Math.floor(f.get("Hours",g)/e));h>=n.day&&f.set("Date",g,h>=n.month?1:e*Math.floor(f.get("Date",g)/e));h>=n.month&&(f.set("Month",g,h>=n.year?0:e*Math.floor(f.get("Month",g)/
e)),b=f.get("FullYear",g));h>=n.year&&f.set("FullYear",g,b-b%e);h===n.week&&(b=f.get("Day",g),f.set("Date",g,f.get("Date",g)-b+d+(b<d?-7:0)));b=f.get("FullYear",g);d=f.get("Month",g);var w=f.get("Date",g),J=f.get("Hours",g);m=g.getTime();f.variableTimezone&&(v=q-m>4*n.month||f.getTimezoneOffset(m)!==f.getTimezoneOffset(q));m=g.getTime();for(g=1;m<q;)k.push(m),m=h===n.year?f.makeTime(b+g*e,0):h===n.month?f.makeTime(b,d+g*e):!v||h!==n.day&&h!==n.week?v&&h===n.hour&&1<e?f.makeTime(b,d,w,J+g*e):m+h*e:
f.makeTime(b,d,w+g*e*(h===n.day?1:7)),g++;k.push(m);h<=n.hour&&1E4>k.length&&C(k,function(a){0===a%18E5&&"000000000"===f.dateFormat("%H%M%S%L",a)&&(c[a]="day")})}k.info=B(a,{higherRanks:c,totalRange:h*e});return k}}})(I);(function(a){var z=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(C){a.defaultOptions=z(!0,a.defaultOptions,C);a.time.update(z(a.defaultOptions.global,a.defaultOptions.time),!1);return a.defaultOptions};a.getOptions=function(){return a.defaultOptions};a.defaultPlotOptions=a.defaultOptions.plotOptions;a.time=new a.Time(z(a.defaultOptions.global,a.defaultOptions.time));a.dateFormat=function(z,B,r){return a.time.dateFormat(z,
B,r)}})(I);(function(a){var z=a.correctFloat,C=a.defined,B=a.destroyObjectProperties,r=a.fireEvent,l=a.isNumber,n=a.pick,t=a.deg2rad;a.Tick=function(a,m,q,d,f){this.axis=a;this.pos=m;this.type=q||"";this.isNewLabel=this.isNew=!0;this.parameters=f||{};this.tickmarkOffset=this.parameters.tickmarkOffset;this.options=this.parameters.options;q||d||this.addLabel()};a.Tick.prototype={addLabel:function(){var l=this,m=l.axis,q=m.options,d=m.chart,f=m.categories,k=m.names,g=l.pos,c=n(l.options&&l.options.labels,
q.labels),b=m.tickPositions,h=g===b[0],e=g===b[b.length-1],f=this.parameters.category||(f?n(f[g],k[g],g):g),v=l.label,b=b.info,w,J,D,E;m.isDatetimeAxis&&b&&(J=d.time.resolveDTLFormat(q.dateTimeLabelFormats[!q.grid&&b.higherRanks[g]||b.unitName]),w=J.main);l.isFirst=h;l.isLast=e;l.formatCtx={axis:m,chart:d,isFirst:h,isLast:e,dateTimeLabelFormat:w,tickPositionInfo:b,value:m.isLog?z(m.lin2log(f)):f,pos:g};q=m.labelFormatter.call(l.formatCtx,this.formatCtx);if(E=J&&J.list)l.shortenLabel=function(){for(D=
0;D<E.length;D++)if(v.attr({text:m.labelFormatter.call(a.extend(l.formatCtx,{dateTimeLabelFormat:E[D]}))}),v.getBBox().width<m.getSlotWidth(l)-2*n(c.padding,5))return;v.attr({text:""})};if(C(v))v&&v.textStr!==q&&(!v.textWidth||c.style&&c.style.width||v.styles.width||v.css({width:null}),v.attr({text:q}));else{if(l.label=v=C(q)&&c.enabled?d.renderer.text(q,0,0,c.useHTML).add(m.labelGroup):null)v.textPxLength=v.getBBox().width;l.rotation=0}},getLabelSize:function(){return this.label?this.label.getBBox()[this.axis.horiz?
"height":"width"]:0},handleOverflow:function(a){var m=this.axis,q=m.options.labels,d=a.x,f=m.chart.chartWidth,k=m.chart.spacing,g=n(m.labelLeft,Math.min(m.pos,k[3])),k=n(m.labelRight,Math.max(m.isRadial?0:m.pos+m.len,f-k[1])),c=this.label,b=this.rotation,h={left:0,center:.5,right:1}[m.labelAlign||c.attr("align")],e=c.getBBox().width,v=m.getSlotWidth(this),w=v,l=1,D,E={};if(b||"justify"!==n(q.overflow,"justify"))0>b&&d-h*e<g?D=Math.round(d/Math.cos(b*t)-g):0<b&&d+h*e>k&&(D=Math.round((f-d)/Math.cos(b*
t)));else if(f=d+(1-h)*e,d-h*e<g?w=a.x+w*(1-h)-g:f>k&&(w=k-a.x+w*h,l=-1),w=Math.min(v,w),w<v&&"center"===m.labelAlign&&(a.x+=l*(v-w-h*(v-Math.min(e,w)))),e>w||m.autoRotation&&(c.styles||{}).width)D=w;D&&(this.shortenLabel?this.shortenLabel():(E.width=D,(q.style||{}).textOverflow||(E.textOverflow="ellipsis"),c.css(E)))},getPosition:function(n,m,q,d){var f=this.axis,k=f.chart,g=d&&k.oldChartHeight||k.chartHeight;n={x:n?a.correctFloat(f.translate(m+q,null,null,d)+f.transB):f.left+f.offset+(f.opposite?
(d&&k.oldChartWidth||k.chartWidth)-f.right-f.left:0),y:n?g-f.bottom+f.offset-(f.opposite?f.height:0):a.correctFloat(g-f.translate(m+q,null,null,d)-f.transB)};r(this,"afterGetPosition",{pos:n});return n},getLabelPosition:function(a,m,q,d,f,k,g,c){var b=this.axis,h=b.transA,e=b.reversed,v=b.staggerLines,w=b.tickRotCorr||{x:0,y:0},n=f.y,D=d||b.reserveSpaceDefault?0:-b.labelOffset*("center"===b.labelAlign?.5:1),l={};C(n)||(n=0===b.side?q.rotation?-8:-q.getBBox().height:2===b.side?w.y+8:Math.cos(q.rotation*
t)*(w.y-q.getBBox(!1,0).height/2));a=a+f.x+D+w.x-(k&&d?k*h*(e?-1:1):0);m=m+n-(k&&!d?k*h*(e?1:-1):0);v&&(q=g/(c||1)%v,b.opposite&&(q=v-q-1),m+=b.labelOffset/v*q);l.x=a;l.y=Math.round(m);r(this,"afterGetLabelPosition",{pos:l});return l},getMarkPath:function(a,m,q,d,f,k){return k.crispLine(["M",a,m,"L",a+(f?0:-q),m+(f?q:0)],d)},renderGridLine:function(a,m,q){var d=this.axis,f=this.gridLine,k={},g=this.pos,c=this.type,b=n(this.tickmarkOffset,d.tickmarkOffset),h=d.chart.renderer;f||(c||(k.zIndex=1),a&&
(m=0),this.gridLine=f=h.path().attr(k).addClass("highcharts-"+(c?c+"-":"")+"grid-line").add(d.gridGroup));if(f&&(q=d.getPlotLinePath(g+b,f.strokeWidth()*q,a,"pass")))f[a||this.isNew?"attr":"animate"]({d:q,opacity:m})},renderMark:function(a,m,q){var d=this.axis,f=d.chart.renderer,k=this.type,g=d.tickSize(k?k+"Tick":"tick"),c=this.mark,b=!c,h=a.x;a=a.y;g&&(d.opposite&&(g[0]=-g[0]),b&&(this.mark=c=f.path().addClass("highcharts-"+(k?k+"-":"")+"tick").add(d.axisGroup)),c[b?"attr":"animate"]({d:this.getMarkPath(h,
a,g[0],c.strokeWidth()*q,d.horiz,f),opacity:m}))},renderLabel:function(a,m,q,d){var f=this.axis,k=f.horiz,g=f.options,c=this.label,b=g.labels,h=b.step,f=n(this.tickmarkOffset,f.tickmarkOffset),e=!0,v=a.x;a=a.y;c&&l(v)&&(c.xy=a=this.getLabelPosition(v,a,c,k,b,f,d,h),this.isFirst&&!this.isLast&&!n(g.showFirstLabel,1)||this.isLast&&!this.isFirst&&!n(g.showLastLabel,1)?e=!1:!k||b.step||b.rotation||m||0===q||this.handleOverflow(a),h&&d%h&&(e=!1),e&&l(a.y)?(a.opacity=q,c[this.isNewLabel?"attr":"animate"](a),
this.isNewLabel=!1):(c.attr("y",-9999),this.isNewLabel=!0))},render:function(l,m,q){var d=this.axis,f=d.horiz,k=this.pos,g=n(this.tickmarkOffset,d.tickmarkOffset),k=this.getPosition(f,k,g,m),g=k.x,c=k.y,d=f&&g===d.pos+d.len||!f&&c===d.pos?-1:1;q=n(q,1);this.isActive=!0;this.renderGridLine(m,q,d);this.renderMark(k,q,d);this.renderLabel(k,m,q,l);this.isNew=!1;a.fireEvent(this,"afterRender")},destroy:function(){B(this,this.axis)}}})(I);var W=function(a){var z=a.addEvent,C=a.animObject,B=a.arrayMax,r=
a.arrayMin,l=a.correctFloat,n=a.defaultOptions,t=a.defined,u=a.deg2rad,m=a.destroyObjectProperties,q=a.each,d=a.extend,f=a.fireEvent,k=a.format,g=a.getMagnitude,c=a.grep,b=a.inArray,h=a.isArray,e=a.isNumber,v=a.isString,w=a.merge,J=a.normalizeTickInterval,D=a.objectEach,E=a.pick,x=a.removeEvent,G=a.splat,M=a.syncTimeout,F=a.Tick,H=function(){this.init.apply(this,arguments)};a.extend(H.prototype,{defaultOptions:{dateTimeLabelFormats:{millisecond:{main:"%H:%M:%S.%L",range:!1},second:{main:"%H:%M:%S",
range:!1},minute:{main:"%H:%M",range:!1},hour:{main:"%H:%M",range:!1},day:{main:"%e. %b"},week:{main:"%e. %b"},month:{main:"%b '%y"},year:{main:"%Y"}},endOnTick:!1,labels:{enabled:!0,indentation:10,x:0},maxPadding:.01,minorTickLength:2,minorTickPosition:"outside",minPadding:.01,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle"},type:"linear"},defaultYAxisOptions:{endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,
showLastLabel:!0,labels:{x:-8},startOnTick:!0,title:{rotation:270,text:"Values"},stackLabels:{allowOverlap:!1,enabled:!1,formatter:function(){return a.numberFormat(this.total,-1)}}},defaultLeftAxisOptions:{labels:{x:-15},title:{rotation:270}},defaultRightAxisOptions:{labels:{x:15},title:{rotation:90}},defaultBottomAxisOptions:{labels:{autoRotation:[-45],x:0},title:{rotation:0}},defaultTopAxisOptions:{labels:{autoRotation:[-45],x:0},title:{rotation:0}},init:function(a,e){var c=e.isX,p=this;p.chart=
a;p.horiz=a.inverted&&!p.isZAxis?!c:c;p.isXAxis=c;p.coll=p.coll||(c?"xAxis":"yAxis");f(this,"init",{userOptions:e});p.opposite=e.opposite;p.side=e.side||(p.horiz?p.opposite?0:2:p.opposite?1:3);p.setOptions(e);var y=this.options,A=y.type;p.labelFormatter=y.labels.formatter||p.defaultLabelFormatter;p.userOptions=e;p.minPixelPadding=0;p.reversed=y.reversed;p.visible=!1!==y.visible;p.zoomEnabled=!1!==y.zoomEnabled;p.hasNames="category"===A||!0===y.categories;p.categories=y.categories||p.hasNames;p.names||
(p.names=[],p.names.keys={});p.plotLinesAndBandsGroups={};p.isLog="logarithmic"===A;p.isDatetimeAxis="datetime"===A;p.positiveValuesOnly=p.isLog&&!p.allowNegativeLog;p.isLinked=t(y.linkedTo);p.ticks={};p.labelEdge=[];p.minorTicks={};p.plotLinesAndBands=[];p.alternateBands={};p.len=0;p.minRange=p.userMinRange=y.minRange||y.maxZoom;p.range=y.range;p.offset=y.offset||0;p.stacks={};p.oldStacks={};p.stacksTouched=0;p.max=null;p.min=null;p.crosshair=E(y.crosshair,G(a.options.tooltip.crosshairs)[c?0:1],
!1);e=p.options.events;-1===b(p,a.axes)&&(c?a.axes.splice(a.xAxis.length,0,p):a.axes.push(p),a[p.coll].push(p));p.series=p.series||[];a.inverted&&!p.isZAxis&&c&&void 0===p.reversed&&(p.reversed=!0);D(e,function(a,b){z(p,b,a)});p.lin2log=y.linearToLogConverter||p.lin2log;p.isLog&&(p.val2lin=p.log2lin,p.lin2val=p.lin2log);f(this,"afterInit")},setOptions:function(a){this.options=w(this.defaultOptions,"yAxis"===this.coll&&this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,
this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],w(n[this.coll],a));f(this,"afterSetOptions",{userOptions:a})},defaultLabelFormatter:function(){var b=this.axis,e=this.value,c=b.chart.time,p=b.categories,h=this.dateTimeLabelFormat,g=n.lang,f=g.numericSymbols,g=g.numericSymbolMagnitude||1E3,d=f&&f.length,x,v=b.options.labels.format,b=b.isLog?Math.abs(e):b.tickInterval;if(v)x=k(v,this,c);else if(p)x=e;else if(h)x=c.dateFormat(h,e);else if(d&&1E3<=b)for(;d--&&void 0===x;)c=Math.pow(g,
d+1),b>=c&&0===10*e%c&&null!==f[d]&&0!==e&&(x=a.numberFormat(e/c,-1)+f[d]);void 0===x&&(x=1E4<=Math.abs(e)?a.numberFormat(e,-1):a.numberFormat(e,-1,void 0,""));return x},getSeriesExtremes:function(){var a=this,b=a.chart;f(this,"getSeriesExtremes",null,function(){a.hasVisibleSeries=!1;a.dataMin=a.dataMax=a.threshold=null;a.softThreshold=!a.isXAxis;a.buildStacks&&a.buildStacks();q(a.series,function(y){if(y.visible||!b.options.chart.ignoreHiddenSeries){var p=y.options,h=p.threshold,A;a.hasVisibleSeries=
!0;a.positiveValuesOnly&&0>=h&&(h=null);if(a.isXAxis)p=y.xData,p.length&&(y=r(p),A=B(p),e(y)||y instanceof Date||(p=c(p,e),y=r(p),A=B(p)),p.length&&(a.dataMin=Math.min(E(a.dataMin,p[0],y),y),a.dataMax=Math.max(E(a.dataMax,p[0],A),A)));else if(y.getExtremes(),A=y.dataMax,y=y.dataMin,t(y)&&t(A)&&(a.dataMin=Math.min(E(a.dataMin,y),y),a.dataMax=Math.max(E(a.dataMax,A),A)),t(h)&&(a.threshold=h),!p.softThreshold||a.positiveValuesOnly)a.softThreshold=!1}})});f(this,"afterGetSeriesExtremes")},translate:function(a,
b,c,p,h,g){var y=this.linkedParent||this,A=1,f=0,d=p?y.oldTransA:y.transA;p=p?y.oldMin:y.min;var k=y.minPixelPadding;h=(y.isOrdinal||y.isBroken||y.isLog&&h)&&y.lin2val;d||(d=y.transA);c&&(A*=-1,f=y.len);y.reversed&&(A*=-1,f-=A*(y.sector||y.len));b?(a=(a*A+f-k)/d+p,h&&(a=y.lin2val(a))):(h&&(a=y.val2lin(a)),a=e(p)?A*(a-p)*d+f+A*k+(e(g)?d*g:0):void 0);return a},toPixels:function(a,b){return this.translate(a,!1,!this.horiz,null,!0)+(b?0:this.pos)},toValue:function(a,b){return this.translate(a-(b?0:this.pos),
!0,!this.horiz,null,!0)},getPlotLinePath:function(a,b,c,p,h){var y=this.chart,g=this.left,A=this.top,f,d,k=c&&y.oldChartHeight||y.chartHeight,x=c&&y.oldChartWidth||y.chartWidth,v;f=this.transB;var w=function(a,b,e){if("pass"!==p&&a<b||a>e)p?a=Math.min(Math.max(b,a),e):v=!0;return a};h=E(h,this.translate(a,null,null,c));h=Math.min(Math.max(-1E5,h),1E5);a=c=Math.round(h+f);f=d=Math.round(k-h-f);e(h)?this.horiz?(f=A,d=k-this.bottom,a=c=w(a,g,g+this.width)):(a=g,c=x-this.right,f=d=w(f,A,A+this.height)):
(v=!0,p=!1);return v&&!p?null:y.renderer.crispLine(["M",a,f,"L",c,d],b||1)},getLinearTickPositions:function(a,b,e){var p,c=l(Math.floor(b/a)*a);e=l(Math.ceil(e/a)*a);var y=[],h;l(c+a)===c&&(h=20);if(this.single)return[b];for(b=c;b<=e;){y.push(b);b=l(b+a,h);if(b===p)break;p=b}return y},getMinorTickInterval:function(){var a=this.options;return!0===a.minorTicks?E(a.minorTickInterval,"auto"):!1===a.minorTicks?null:a.minorTickInterval},getMinorTickPositions:function(){var a=this,b=a.options,e=a.tickPositions,
p=a.minorTickInterval,c=[],h=a.pointRangePadding||0,g=a.min-h,h=a.max+h,f=h-g;if(f&&f/p<a.len/3)if(a.isLog)q(this.paddedTicks,function(b,e,y){e&&c.push.apply(c,a.getLogTickPositions(p,y[e-1],y[e],!0))});else if(a.isDatetimeAxis&&"auto"===this.getMinorTickInterval())c=c.concat(a.getTimeTicks(a.normalizeTimeTickInterval(p),g,h,b.startOfWeek));else for(b=g+(e[0]-g)%p;b<=h&&b!==c[0];b+=p)c.push(b);0!==c.length&&a.trimTicks(c);return c},adjustForMinRange:function(){var a=this.options,b=this.min,e=this.max,
p,c,h,g,f,d,k,x;this.isXAxis&&void 0===this.minRange&&!this.isLog&&(t(a.min)||t(a.max)?this.minRange=null:(q(this.series,function(a){d=a.xData;for(g=k=a.xIncrement?1:d.length-1;0<g;g--)if(f=d[g]-d[g-1],void 0===h||f<h)h=f}),this.minRange=Math.min(5*h,this.dataMax-this.dataMin)));e-b<this.minRange&&(c=this.dataMax-this.dataMin>=this.minRange,x=this.minRange,p=(x-e+b)/2,p=[b-p,E(a.min,b-p)],c&&(p[2]=this.isLog?this.log2lin(this.dataMin):this.dataMin),b=B(p),e=[b+x,E(a.max,b+x)],c&&(e[2]=this.isLog?
this.log2lin(this.dataMax):this.dataMax),e=r(e),e-b<x&&(p[0]=e-x,p[1]=E(a.min,e-x),b=B(p)));this.min=b;this.max=e},getClosest:function(){var a;this.categories?a=1:q(this.series,function(b){var e=b.closestPointRange,p=b.visible||!b.chart.options.chart.ignoreHiddenSeries;!b.noSharedTooltip&&t(e)&&p&&(a=t(a)?Math.min(a,e):e)});return a},nameToX:function(a){var e=h(this.categories),c=e?this.categories:this.names,p=a.options.x,g;a.series.requireSorting=!1;t(p)||(p=!1===this.options.uniqueNames?a.series.autoIncrement():
e?b(a.name,c):E(c.keys[a.name],-1));-1===p?e||(g=c.length):g=p;void 0!==g&&(this.names[g]=a.name,this.names.keys[a.name]=g);return g},updateNames:function(){var b=this,e=this.names;0<e.length&&(q(a.keys(e.keys),function(a){delete e.keys[a]}),e.length=0,this.minRange=this.userMinRange,q(this.series||[],function(a){a.xIncrement=null;if(!a.points||a.isDirtyData)a.processData(),a.generatePoints();q(a.points,function(p,e){var c;p.options&&(c=b.nameToX(p),void 0!==c&&c!==p.x&&(p.x=c,a.xData[e]=c))})}))},
setAxisTranslation:function(a){var b=this,e=b.max-b.min,p=b.axisPointRange||0,c,h=0,g=0,A=b.linkedParent,d=!!b.categories,k=b.transA,x=b.isXAxis;if(x||d||p)c=b.getClosest(),A?(h=A.minPointOffset,g=A.pointRangePadding):q(b.series,function(a){var e=d?1:x?E(a.options.pointRange,c,0):b.axisPointRange||0;a=a.options.pointPlacement;p=Math.max(p,e);b.single||(h=Math.max(h,v(a)?0:e/2),g=Math.max(g,"on"===a?0:e))}),A=b.ordinalSlope&&c?b.ordinalSlope/c:1,b.minPointOffset=h*=A,b.pointRangePadding=g*=A,b.pointRange=
Math.min(p,e),x&&(b.closestPointRange=c);a&&(b.oldTransA=k);b.translationSlope=b.transA=k=b.staticScale||b.len/(e+g||1);b.transB=b.horiz?b.left:b.bottom;b.minPixelPadding=k*h;f(this,"afterSetAxisTranslation")},minFromRange:function(){return this.max-this.range},setTickInterval:function(b){var c=this,h=c.chart,p=c.options,A=c.isLog,d=c.isDatetimeAxis,k=c.isXAxis,x=c.isLinked,v=p.maxPadding,w=p.minPadding,m=p.tickInterval,n=p.tickPixelInterval,G=c.categories,D=e(c.threshold)?c.threshold:null,M=c.softThreshold,
F,H,r,u;d||G||x||this.getTickAmount();r=E(c.userMin,p.min);u=E(c.userMax,p.max);x?(c.linkedParent=h[c.coll][p.linkedTo],h=c.linkedParent.getExtremes(),c.min=E(h.min,h.dataMin),c.max=E(h.max,h.dataMax),p.type!==c.linkedParent.options.type&&a.error(11,1)):(!M&&t(D)&&(c.dataMin>=D?(F=D,w=0):c.dataMax<=D&&(H=D,v=0)),c.min=E(r,F,c.dataMin),c.max=E(u,H,c.dataMax));A&&(c.positiveValuesOnly&&!b&&0>=Math.min(c.min,E(c.dataMin,c.min))&&a.error(10,1),c.min=l(c.log2lin(c.min),15),c.max=l(c.log2lin(c.max),15));
c.range&&t(c.max)&&(c.userMin=c.min=r=Math.max(c.dataMin,c.minFromRange()),c.userMax=u=c.max,c.range=null);f(c,"foundExtremes");c.beforePadding&&c.beforePadding();c.adjustForMinRange();!(G||c.axisPointRange||c.usePercentage||x)&&t(c.min)&&t(c.max)&&(h=c.max-c.min)&&(!t(r)&&w&&(c.min-=h*w),!t(u)&&v&&(c.max+=h*v));e(p.softMin)&&!e(c.userMin)&&(c.min=Math.min(c.min,p.softMin));e(p.softMax)&&!e(c.userMax)&&(c.max=Math.max(c.max,p.softMax));e(p.floor)&&(c.min=Math.max(c.min,p.floor));e(p.ceiling)&&(c.max=
Math.min(c.max,p.ceiling));M&&t(c.dataMin)&&(D=D||0,!t(r)&&c.min<D&&c.dataMin>=D?c.min=D:!t(u)&&c.max>D&&c.dataMax<=D&&(c.max=D));c.tickInterval=c.min===c.max||void 0===c.min||void 0===c.max?1:x&&!m&&n===c.linkedParent.options.tickPixelInterval?m=c.linkedParent.tickInterval:E(m,this.tickAmount?(c.max-c.min)/Math.max(this.tickAmount-1,1):void 0,G?1:(c.max-c.min)*n/Math.max(c.len,n));k&&!b&&q(c.series,function(a){a.processData(c.min!==c.oldMin||c.max!==c.oldMax)});c.setAxisTranslation(!0);c.beforeSetTickPositions&&
c.beforeSetTickPositions();c.postProcessTickInterval&&(c.tickInterval=c.postProcessTickInterval(c.tickInterval));c.pointRange&&!m&&(c.tickInterval=Math.max(c.pointRange,c.tickInterval));b=E(p.minTickInterval,c.isDatetimeAxis&&c.closestPointRange);!m&&c.tickInterval<b&&(c.tickInterval=b);d||A||m||(c.tickInterval=J(c.tickInterval,null,g(c.tickInterval),E(p.allowDecimals,!(.5<c.tickInterval&&5>c.tickInterval&&1E3<c.max&&9999>c.max)),!!this.tickAmount));this.tickAmount||(c.tickInterval=c.unsquish());
this.setTickPositions()},setTickPositions:function(){var b=this.options,c,e=b.tickPositions;c=this.getMinorTickInterval();var p=b.tickPositioner,h=b.startOnTick,g=b.endOnTick;this.tickmarkOffset=this.categories&&"between"===b.tickmarkPlacement&&1===this.tickInterval?.5:0;this.minorTickInterval="auto"===c&&this.tickInterval?this.tickInterval/5:c;this.single=this.min===this.max&&t(this.min)&&!this.tickAmount&&(parseInt(this.min,10)===this.min||!1!==b.allowDecimals);this.tickPositions=c=e&&e.slice();
!c&&(!this.ordinalPositions&&(this.max-this.min)/this.tickInterval>Math.max(2*this.len,200)?(c=[this.min,this.max],a.error(19)):c=this.isDatetimeAxis?this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval,b.units),this.min,this.max,b.startOfWeek,this.ordinalPositions,this.closestPointRange,!0):this.isLog?this.getLogTickPositions(this.tickInterval,this.min,this.max):this.getLinearTickPositions(this.tickInterval,this.min,this.max),c.length>this.len&&(c=[c[0],c.pop()],c[0]===c[1]&&(c.length=
1)),this.tickPositions=c,p&&(p=p.apply(this,[this.min,this.max])))&&(this.tickPositions=c=p);this.paddedTicks=c.slice(0);this.trimTicks(c,h,g);this.isLinked||(this.single&&2>c.length&&(this.min-=.5,this.max+=.5),e||p||this.adjustTickAmount());f(this,"afterSetTickPositions")},trimTicks:function(a,b,c){var p=a[0],e=a[a.length-1],h=this.minPointOffset||0;if(!this.isLinked){if(b&&-Infinity!==p)this.min=p;else for(;this.min-h>a[0];)a.shift();if(c)this.max=e;else for(;this.max+h<a[a.length-1];)a.pop();
0===a.length&&t(p)&&!this.options.tickPositions&&a.push((e+p)/2)}},alignToOthers:function(){var a={},b,c=this.options;!1===this.chart.options.chart.alignTicks||!1===c.alignTicks||!1===c.startOnTick||!1===c.endOnTick||this.isLog||q(this.chart[this.coll],function(c){var p=c.options,p=[c.horiz?p.left:p.top,p.width,p.height,p.pane].join();c.series.length&&(a[p]?b=!0:a[p]=1)});return b},getTickAmount:function(){var a=this.options,b=a.tickAmount,c=a.tickPixelInterval;!t(a.tickInterval)&&this.len<c&&!this.isRadial&&
!this.isLog&&a.startOnTick&&a.endOnTick&&(b=2);!b&&this.alignToOthers()&&(b=Math.ceil(this.len/c)+1);4>b&&(this.finalTickAmt=b,b=5);this.tickAmount=b},adjustTickAmount:function(){var a=this.tickInterval,b=this.tickPositions,c=this.tickAmount,p=this.finalTickAmt,e=b&&b.length,h=E(this.threshold,this.softThreshold?0:null);if(this.hasData()){if(e<c){for(;b.length<c;)b.length%2||this.min===h?b.push(l(b[b.length-1]+a)):b.unshift(l(b[0]-a));this.transA*=(e-1)/(c-1);this.min=b[0];this.max=b[b.length-1]}else e>
c&&(this.tickInterval*=2,this.setTickPositions());if(t(p)){for(a=c=b.length;a--;)(3===p&&1===a%2||2>=p&&0<a&&a<c-1)&&b.splice(a,1);this.finalTickAmt=void 0}}},setScale:function(){var a,b;this.oldMin=this.min;this.oldMax=this.max;this.oldAxisLength=this.len;this.setAxisSize();b=this.len!==this.oldAxisLength;q(this.series,function(b){if(b.isDirtyData||b.isDirty||b.xAxis.isDirty)a=!0});b||a||this.isLinked||this.forceRedraw||this.userMin!==this.oldUserMin||this.userMax!==this.oldUserMax||this.alignToOthers()?
(this.resetStacks&&this.resetStacks(),this.forceRedraw=!1,this.getSeriesExtremes(),this.setTickInterval(),this.oldUserMin=this.userMin,this.oldUserMax=this.userMax,this.isDirty||(this.isDirty=b||this.min!==this.oldMin||this.max!==this.oldMax)):this.cleanStacks&&this.cleanStacks();f(this,"afterSetScale")},setExtremes:function(a,b,c,p,e){var h=this,g=h.chart;c=E(c,!0);q(h.series,function(a){delete a.kdTree});e=d(e,{min:a,max:b});f(h,"setExtremes",e,function(){h.userMin=a;h.userMax=b;h.eventArgs=e;c&&
g.redraw(p)})},zoom:function(a,b){var c=this.dataMin,p=this.dataMax,e=this.options,h=Math.min(c,E(e.min,c)),e=Math.max(p,E(e.max,p));if(a!==this.min||b!==this.max)this.allowZoomOutside||(t(c)&&(a<h&&(a=h),a>e&&(a=e)),t(p)&&(b<h&&(b=h),b>e&&(b=e))),this.displayBtn=void 0!==a||void 0!==b,this.setExtremes(a,b,!1,void 0,{trigger:"zoom"});return!0},setAxisSize:function(){var b=this.chart,c=this.options,e=c.offsets||[0,0,0,0],p=this.horiz,h=this.width=Math.round(a.relativeLength(E(c.width,b.plotWidth-e[3]+
e[1]),b.plotWidth)),g=this.height=Math.round(a.relativeLength(E(c.height,b.plotHeight-e[0]+e[2]),b.plotHeight)),f=this.top=Math.round(a.relativeLength(E(c.top,b.plotTop+e[0]),b.plotHeight,b.plotTop)),c=this.left=Math.round(a.relativeLength(E(c.left,b.plotLeft+e[3]),b.plotWidth,b.plotLeft));this.bottom=b.chartHeight-g-f;this.right=b.chartWidth-h-c;this.len=Math.max(p?h:g,0);this.pos=p?c:f},getExtremes:function(){var a=this.isLog;return{min:a?l(this.lin2log(this.min)):this.min,max:a?l(this.lin2log(this.max)):
this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},getThreshold:function(a){var b=this.isLog,c=b?this.lin2log(this.min):this.min,b=b?this.lin2log(this.max):this.max;null===a||-Infinity===a?a=c:Infinity===a?a=b:c>a?a=c:b<a&&(a=b);return this.translate(a,0,1,0,1)},autoLabelAlign:function(a){a=(E(a,0)-90*this.side+720)%360;return 15<a&&165>a?"right":195<a&&345>a?"left":"center"},tickSize:function(a){var b=this.options,c=b[a+"Length"],p=E(b[a+"Width"],"tick"===
a&&this.isXAxis?1:0);if(p&&c)return"inside"===b[a+"Position"]&&(c=-c),[c,p]},labelMetrics:function(){var a=this.tickPositions&&this.tickPositions[0]||0;return this.chart.renderer.fontMetrics(this.options.labels.style&&this.options.labels.style.fontSize,this.ticks[a]&&this.ticks[a].label)},unsquish:function(){var a=this.options.labels,b=this.horiz,c=this.tickInterval,p=c,e=this.len/(((this.categories?1:0)+this.max-this.min)/c),h,g=a.rotation,f=this.labelMetrics(),d,k=Number.MAX_VALUE,x,v=function(a){a/=
e||1;a=1<a?Math.ceil(a):1;return l(a*c)};b?(x=!a.staggerLines&&!a.step&&(t(g)?[g]:e<E(a.autoRotationLimit,80)&&a.autoRotation))&&q(x,function(a){var b;if(a===g||a&&-90<=a&&90>=a)d=v(Math.abs(f.h/Math.sin(u*a))),b=d+Math.abs(a/360),b<k&&(k=b,h=a,p=d)}):a.step||(p=v(f.h));this.autoRotation=x;this.labelRotation=E(h,g);return p},getSlotWidth:function(a){var b=this.chart,c=this.horiz,p=this.options.labels,e=Math.max(this.tickPositions.length-(this.categories?0:1),1),h=b.margin[3];return a&&a.slotWidth||
c&&2>(p.step||0)&&!p.rotation&&(this.staggerLines||1)*this.len/e||!c&&(p.style&&parseInt(p.style.width,10)||h&&h-b.spacing[3]||.33*b.chartWidth)},renderUnsquish:function(){var a=this.chart,b=a.renderer,c=this.tickPositions,p=this.ticks,e=this.options.labels,h=e&&e.style||{},g=this.horiz,f=this.getSlotWidth(),d=Math.max(1,Math.round(f-2*(e.padding||5))),k={},x=this.labelMetrics(),w=e.style&&e.style.textOverflow,m,n,D=0,G;v(e.rotation)||(k.rotation=e.rotation||0);q(c,function(a){(a=p[a])&&a.label&&
a.label.textPxLength>D&&(D=a.label.textPxLength)});this.maxLabelLength=D;if(this.autoRotation)D>d&&D>x.h?k.rotation=this.labelRotation:this.labelRotation=0;else if(f&&(m=d,!w))for(n="clip",d=c.length;!g&&d--;)if(G=c[d],G=p[G].label)G.styles&&"ellipsis"===G.styles.textOverflow?G.css({textOverflow:"clip"}):G.textPxLength>f&&G.css({width:f+"px"}),G.getBBox().height>this.len/c.length-(x.h-x.f)&&(G.specificTextOverflow="ellipsis");k.rotation&&(m=D>.5*a.chartHeight?.33*a.chartHeight:D,w||(n="ellipsis"));
if(this.labelAlign=e.align||this.autoLabelAlign(this.labelRotation))k.align=this.labelAlign;q(c,function(a){var b=(a=p[a])&&a.label,c=h.width,e={};b&&(b.attr(k),a.shortenLabel?a.shortenLabel():m&&!c&&"nowrap"!==h.whiteSpace&&(m<b.textPxLength||"SPAN"===b.element.tagName)?(e.width=m,w||(e.textOverflow=b.specificTextOverflow||n),b.css(e)):b.styles&&b.styles.width&&!e.width&&!c&&b.css({width:null}),delete b.specificTextOverflow,a.rotation=k.rotation)},this);this.tickRotCorr=b.rotCorr(x.b,this.labelRotation||
0,0!==this.side)},hasData:function(){return this.hasVisibleSeries||t(this.min)&&t(this.max)&&this.tickPositions&&0<this.tickPositions.length},addTitle:function(a){var b=this.chart.renderer,c=this.horiz,e=this.opposite,h=this.options.title,g;this.axisTitle||((g=h.textAlign)||(g=(c?{low:"left",middle:"center",high:"right"}:{low:e?"right":"left",middle:"center",high:e?"left":"right"})[h.align]),this.axisTitle=b.text(h.text,0,0,h.useHTML).attr({zIndex:7,rotation:h.rotation||0,align:g}).addClass("highcharts-axis-title").add(this.axisGroup),
this.axisTitle.isNew=!0);this.axisTitle.css({width:this.len});this.axisTitle[a?"show":"hide"](!0)},generateTick:function(a){var b=this.ticks;b[a]?b[a].addLabel():b[a]=new F(this,a)},getOffset:function(){var a=this,b=a.chart,c=b.renderer,e=a.options,h=a.tickPositions,g=a.ticks,d=a.horiz,k=a.side,x=b.inverted&&!a.isZAxis?[1,0,3,2][k]:k,v,w,m=0,n,G=0,l=e.title,M=e.labels,F=0,H=b.axisOffset,b=b.clipOffset,J=[-1,1,1,-1][k],r=e.className,u=a.axisParent;v=a.hasData();a.showAxis=w=v||E(e.showEmpty,!0);a.staggerLines=
a.horiz&&M.staggerLines;a.axisGroup||(a.gridGroup=c.g("grid").attr({zIndex:e.gridZIndex||1}).addClass("highcharts-"+this.coll.toLowerCase()+"-grid "+(r||"")).add(u),a.axisGroup=c.g("axis").attr({zIndex:e.zIndex||2}).addClass("highcharts-"+this.coll.toLowerCase()+" "+(r||"")).add(u),a.labelGroup=c.g("axis-labels").attr({zIndex:M.zIndex||7}).addClass("highcharts-"+a.coll.toLowerCase()+"-labels "+(r||"")).add(u));v||a.isLinked?(q(h,function(b,c){a.generateTick(b,c)}),a.renderUnsquish(),a.reserveSpaceDefault=
0===k||2===k||{1:"left",3:"right"}[k]===a.labelAlign,E(M.reserveSpace,"center"===a.labelAlign?!0:null,a.reserveSpaceDefault)&&q(h,function(a){F=Math.max(g[a].getLabelSize(),F)}),a.staggerLines&&(F*=a.staggerLines),a.labelOffset=F*(a.opposite?-1:1)):D(g,function(a,b){a.destroy();delete g[b]});l&&l.text&&!1!==l.enabled&&(a.addTitle(w),w&&!1!==l.reserveSpace&&(a.titleOffset=m=a.axisTitle.getBBox()[d?"height":"width"],n=l.offset,G=t(n)?0:E(l.margin,d?5:10)));a.renderLine();a.offset=J*E(e.offset,H[k]);
a.tickRotCorr=a.tickRotCorr||{x:0,y:0};c=0===k?-a.labelMetrics().h:2===k?a.tickRotCorr.y:0;G=Math.abs(F)+G;F&&(G=G-c+J*(d?E(M.y,a.tickRotCorr.y+8*J):M.x));a.axisTitleMargin=E(n,G);a.getMaxLabelDimensions&&(a.maxLabelDimensions=a.getMaxLabelDimensions(g,h));d=this.tickSize("tick");H[k]=Math.max(H[k],a.axisTitleMargin+m+J*a.offset,G,v&&h.length&&d?d[0]+J*a.offset:0);e=e.offset?0:2*Math.floor(a.axisLine.strokeWidth()/2);b[x]=Math.max(b[x],e);f(this,"afterGetOffset")},getLinePath:function(a){var b=this.chart,
c=this.opposite,e=this.offset,h=this.horiz,g=this.left+(c?this.width:0)+e,e=b.chartHeight-this.bottom-(c?this.height:0)+e;c&&(a*=-1);return b.renderer.crispLine(["M",h?this.left:g,h?e:this.top,"L",h?b.chartWidth-this.right:g,h?e:b.chartHeight-this.bottom],a)},renderLine:function(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup))},getTitlePosition:function(){var a=this.horiz,b=this.left,c=this.top,e=this.len,h=this.options.title,g=a?b:c,
f=this.opposite,d=this.offset,k=h.x||0,x=h.y||0,v=this.axisTitle,w=this.chart.renderer.fontMetrics(h.style&&h.style.fontSize,v),v=Math.max(v.getBBox(null,0).height-w.h-1,0),e={low:g+(a?0:e),middle:g+e/2,high:g+(a?e:0)}[h.align],b=(a?c+this.height:b)+(a?1:-1)*(f?-1:1)*this.axisTitleMargin+[-v,v,w.f,-v][this.side];return{x:a?e+k:b+(f?this.width:0)+d+k,y:a?b+x-(f?this.height:0)+d:e+x}},renderMinorTick:function(a){var b=this.chart.hasRendered&&e(this.oldMin),c=this.minorTicks;c[a]||(c[a]=new F(this,a,
"minor"));b&&c[a].isNew&&c[a].render(null,!0);c[a].render(null,!1,1)},renderTick:function(a,b){var c=this.isLinked,p=this.ticks,h=this.chart.hasRendered&&e(this.oldMin);if(!c||a>=this.min&&a<=this.max)p[a]||(p[a]=new F(this,a)),h&&p[a].isNew&&p[a].render(b,!0,-1),p[a].render(b)},render:function(){var b=this,c=b.chart,h=b.options,p=b.isLog,g=b.isLinked,d=b.tickPositions,k=b.axisTitle,x=b.ticks,v=b.minorTicks,w=b.alternateBands,m=h.stackLabels,n=h.alternateGridColor,G=b.tickmarkOffset,l=b.axisLine,
E=b.showAxis,H=C(c.renderer.globalAnimation),J,t;b.labelEdge.length=0;b.overlap=!1;q([x,v,w],function(a){D(a,function(a){a.isActive=!1})});if(b.hasData()||g)b.minorTickInterval&&!b.categories&&q(b.getMinorTickPositions(),function(a){b.renderMinorTick(a)}),d.length&&(q(d,function(a,c){b.renderTick(a,c)}),G&&(0===b.min||b.single)&&(x[-1]||(x[-1]=new F(b,-1,null,!0)),x[-1].render(-1))),n&&q(d,function(e,h){t=void 0!==d[h+1]?d[h+1]+G:b.max-G;0===h%2&&e<b.max&&t<=b.max+(c.polar?-G:G)&&(w[e]||(w[e]=new a.PlotLineOrBand(b)),
J=e+G,w[e].options={from:p?b.lin2log(J):J,to:p?b.lin2log(t):t,color:n},w[e].render(),w[e].isActive=!0)}),b._addedPlotLB||(q((h.plotLines||[]).concat(h.plotBands||[]),function(a){b.addPlotBandOrLine(a)}),b._addedPlotLB=!0);q([x,v,w],function(a){var b,e=[],p=H.duration;D(a,function(a,b){a.isActive||(a.render(b,!1,0),a.isActive=!1,e.push(b))});M(function(){for(b=e.length;b--;)a[e[b]]&&!a[e[b]].isActive&&(a[e[b]].destroy(),delete a[e[b]])},a!==w&&c.hasRendered&&p?p:0)});l&&(l[l.isPlaced?"animate":"attr"]({d:this.getLinePath(l.strokeWidth())}),
l.isPlaced=!0,l[E?"show":"hide"](!0));k&&E&&(h=b.getTitlePosition(),e(h.y)?(k[k.isNew?"attr":"animate"](h),k.isNew=!1):(k.attr("y",-9999),k.isNew=!0));m&&m.enabled&&b.renderStackTotals();b.isDirty=!1;f(this,"afterRender")},redraw:function(){this.visible&&(this.render(),q(this.plotLinesAndBands,function(a){a.render()}));q(this.series,function(a){a.isDirty=!0})},keepProps:"extKey hcEvents names series userMax userMin".split(" "),destroy:function(a){var c=this,e=c.stacks,p=c.plotLinesAndBands,h;f(this,
"destroy",{keepEvents:a});a||x(c);D(e,function(a,b){m(a);e[b]=null});q([c.ticks,c.minorTicks,c.alternateBands],function(a){m(a)});if(p)for(a=p.length;a--;)p[a].destroy();q("stackTotalGroup axisLine axisTitle axisGroup gridGroup labelGroup cross scrollbar".split(" "),function(a){c[a]&&(c[a]=c[a].destroy())});for(h in c.plotLinesAndBandsGroups)c.plotLinesAndBandsGroups[h]=c.plotLinesAndBandsGroups[h].destroy();D(c,function(a,e){-1===b(e,c.keepProps)&&delete c[e]})},drawCrosshair:function(a,b){var c,
e=this.crosshair,h=E(e.snap,!0),g,d=this.cross;f(this,"drawCrosshair",{e:a,point:b});a||(a=this.cross&&this.cross.e);if(this.crosshair&&!1!==(t(b)||!h)){h?t(b)&&(g=E(b.crosshairPos,this.isXAxis?b.plotX:this.len-b.plotY)):g=a&&(this.horiz?a.chartX-this.pos:this.len-a.chartY+this.pos);t(g)&&(c=this.getPlotLinePath(b&&(this.isXAxis?b.x:E(b.stackY,b.y)),null,null,null,g)||null);if(!t(c)){this.hideCrosshair();return}h=this.categories&&!this.isRadial;d||(this.cross=d=this.chart.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+
(h?"category ":"thin ")+e.className).attr({zIndex:E(e.zIndex,2)}).add());d.show().attr({d:c});h&&!e.width&&d.attr({"stroke-width":this.transA});this.cross.e=a}else this.hideCrosshair();f(this,"afterDrawCrosshair",{e:a,point:b})},hideCrosshair:function(){this.cross&&this.cross.hide()}});return a.Axis=H}(I);(function(a){var z=a.Axis,C=a.getMagnitude,B=a.normalizeTickInterval,r=a.timeUnits;z.prototype.getTimeTicks=function(){return this.chart.time.getTimeTicks.apply(this.chart.time,arguments)};z.prototype.normalizeTimeTickInterval=
function(a,n){var l=n||[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2]],["week",[1,2]],["month",[1,2,3,4,6]],["year",null]];n=l[l.length-1];var u=r[n[0]],m=n[1],q;for(q=0;q<l.length&&!(n=l[q],u=r[n[0]],m=n[1],l[q+1]&&a<=(u*m[m.length-1]+r[l[q+1][0]])/2);q++);u===r.year&&a<5*u&&(m=[1,2,5]);a=B(a/u,m,"year"===n[0]?Math.max(C(a/u),1):1);return{unitRange:u,count:a,unitName:n[0]}}})(I);(function(a){var z=a.Axis,
C=a.getMagnitude,B=a.map,r=a.normalizeTickInterval,l=a.pick;z.prototype.getLogTickPositions=function(a,t,u,m){var q=this.options,d=this.len,f=[];m||(this._minorAutoInterval=null);if(.5<=a)a=Math.round(a),f=this.getLinearTickPositions(a,t,u);else if(.08<=a)for(var d=Math.floor(t),k,g,c,b,h,q=.3<a?[1,2,4]:.15<a?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];d<u+1&&!h;d++)for(g=q.length,k=0;k<g&&!h;k++)c=this.log2lin(this.lin2log(d)*q[k]),c>t&&(!m||b<=u)&&void 0!==b&&f.push(b),b>u&&(h=!0),b=c;else t=this.lin2log(t),
u=this.lin2log(u),a=m?this.getMinorTickInterval():q.tickInterval,a=l("auto"===a?null:a,this._minorAutoInterval,q.tickPixelInterval/(m?5:1)*(u-t)/((m?d/this.tickPositions.length:d)||1)),a=r(a,null,C(a)),f=B(this.getLinearTickPositions(a,t,u),this.log2lin),m||(this._minorAutoInterval=a/5);m||(this.tickInterval=a);return f};z.prototype.log2lin=function(a){return Math.log(a)/Math.LN10};z.prototype.lin2log=function(a){return Math.pow(10,a)}})(I);(function(a,z){var C=a.arrayMax,B=a.arrayMin,r=a.defined,
l=a.destroyObjectProperties,n=a.each,t=a.erase,u=a.merge,m=a.pick;a.PlotLineOrBand=function(a,d){this.axis=a;d&&(this.options=d,this.id=d.id)};a.PlotLineOrBand.prototype={render:function(){a.fireEvent(this,"render");var q=this,d=q.axis,f=d.horiz,k=q.options,g=k.label,c=q.label,b=k.to,h=k.from,e=k.value,v=r(h)&&r(b),w=r(e),n=q.svgElem,D=!n,l=[],x=m(k.zIndex,0),G=k.events,l={"class":"highcharts-plot-"+(v?"band ":"line ")+(k.className||"")},M={},F=d.chart.renderer,H=v?"bands":"lines",A;d.isLog&&(h=d.log2lin(h),
b=d.log2lin(b),e=d.log2lin(e));M.zIndex=x;H+="-"+x;(A=d.plotLinesAndBandsGroups[H])||(d.plotLinesAndBandsGroups[H]=A=F.g("plot-"+H).attr(M).add());D&&(q.svgElem=n=F.path().attr(l).add(A));if(w)l=d.getPlotLinePath(e,n.strokeWidth());else if(v)l=d.getPlotBandPath(h,b,k);else return;D&&l&&l.length?(n.attr({d:l}),G&&a.objectEach(G,function(a,b){n.on(b,function(a){G[b].apply(q,[a])})})):n&&(l?(n.show(),n.animate({d:l})):(n.hide(),c&&(q.label=c=c.destroy())));g&&r(g.text)&&l&&l.length&&0<d.width&&0<d.height&&
!l.isFlat?(g=u({align:f&&v&&"center",x:f?!v&&4:10,verticalAlign:!f&&v&&"middle",y:f?v?16:10:v?6:-4,rotation:f&&!v&&90},g),this.renderLabel(g,l,v,x)):c&&c.hide();return q},renderLabel:function(a,d,f,k){var g=this.label,c=this.axis.chart.renderer;g||(g={align:a.textAlign||a.align,rotation:a.rotation,"class":"highcharts-plot-"+(f?"band":"line")+"-label "+(a.className||"")},g.zIndex=k,this.label=g=c.text(a.text,0,0,a.useHTML).attr(g).add());k=d.xBounds||[d[1],d[4],f?d[6]:d[1]];d=d.yBounds||[d[2],d[5],
f?d[7]:d[2]];f=B(k);c=B(d);g.align(a,!1,{x:f,y:c,width:C(k)-f,height:C(d)-c});g.show()},destroy:function(){t(this.axis.plotLinesAndBands,this);delete this.axis;l(this)}};a.extend(z.prototype,{getPlotBandPath:function(a,d){var f=this.getPlotLinePath(d,null,null,!0),k=this.getPlotLinePath(a,null,null,!0),g=[],c=this.horiz,b=1,h;a=a<this.min&&d<this.min||a>this.max&&d>this.max;if(k&&f)for(a&&(h=k.toString()===f.toString(),b=0),a=0;a<k.length;a+=6)c&&f[a+1]===k[a+1]?(f[a+1]+=b,f[a+4]+=b):c||f[a+2]!==
k[a+2]||(f[a+2]+=b,f[a+5]+=b),g.push("M",k[a+1],k[a+2],"L",k[a+4],k[a+5],f[a+4],f[a+5],f[a+1],f[a+2],"z"),g.isFlat=h;return g},addPlotBand:function(a){return this.addPlotBandOrLine(a,"plotBands")},addPlotLine:function(a){return this.addPlotBandOrLine(a,"plotLines")},addPlotBandOrLine:function(m,d){var f=(new a.PlotLineOrBand(this,m)).render(),k=this.userOptions;f&&(d&&(k[d]=k[d]||[],k[d].push(m)),this.plotLinesAndBands.push(f));return f},removePlotBandOrLine:function(a){for(var d=this.plotLinesAndBands,
f=this.options,k=this.userOptions,g=d.length;g--;)d[g].id===a&&d[g].destroy();n([f.plotLines||[],k.plotLines||[],f.plotBands||[],k.plotBands||[]],function(c){for(g=c.length;g--;)c[g].id===a&&t(c,c[g])})},removePlotBand:function(a){this.removePlotBandOrLine(a)},removePlotLine:function(a){this.removePlotBandOrLine(a)}})})(I,W);(function(a){var z=a.doc,C=a.each,B=a.extend,r=a.format,l=a.isNumber,n=a.map,t=a.merge,u=a.pick,m=a.splat,q=a.syncTimeout,d=a.timeUnits;a.Tooltip=function(){this.init.apply(this,
arguments)};a.Tooltip.prototype={init:function(a,d){this.chart=a;this.options=d;this.crosshairs=[];this.now={x:0,y:0};this.isHidden=!0;this.split=d.split&&!a.inverted;this.shared=d.shared||this.split;this.outside=d.outside&&!this.split},cleanSplit:function(a){C(this.chart.series,function(f){var g=f&&f.tt;g&&(!g.isActive||a?f.tt=g.destroy():g.isActive=!1)})},applyFilter:function(){var a=this.chart;a.renderer.definition({tagName:"filter",id:"drop-shadow-"+a.index,opacity:.5,children:[{tagName:"feGaussianBlur",
in:"SourceAlpha",stdDeviation:1},{tagName:"feOffset",dx:1,dy:1},{tagName:"feComponentTransfer",children:[{tagName:"feFuncA",type:"linear",slope:.3}]},{tagName:"feMerge",children:[{tagName:"feMergeNode"},{tagName:"feMergeNode",in:"SourceGraphic"}]}]});a.renderer.definition({tagName:"style",textContent:".highcharts-tooltip-"+a.index+"{filter:url(#drop-shadow-"+a.index+")}"})},getLabel:function(){var f=this.chart.renderer,d=this.options,g;this.label||(this.outside&&(this.container=g=a.doc.createElement("div"),
g.className="highcharts-tooltip-container",a.css(g,{position:"absolute",top:"1px",pointerEvents:d.style&&d.style.pointerEvents}),a.doc.body.appendChild(g),this.renderer=f=new a.Renderer(g,0,0)),this.label=this.split?f.g("tooltip"):f.label("",0,0,d.shape||"callout",null,null,d.useHTML,null,"tooltip").attr({padding:d.padding,r:d.borderRadius}),this.applyFilter(),this.label.addClass("highcharts-tooltip-"+this.chart.index),this.outside&&(this.label.attr({x:this.distance,y:this.distance}),this.label.xSetter=
function(a){g.style.left=a+"px"},this.label.ySetter=function(a){g.style.top=a+"px"}),this.label.attr({zIndex:8}).add());return this.label},update:function(a){this.destroy();t(!0,this.chart.options.tooltip.userOptions,a);this.init(this.chart,t(!0,this.options,a))},destroy:function(){this.label&&(this.label=this.label.destroy());this.split&&this.tt&&(this.cleanSplit(this.chart,!0),this.tt=this.tt.destroy());this.renderer&&(this.renderer=this.renderer.destroy(),a.discardElement(this.container));a.clearTimeout(this.hideTimer);
a.clearTimeout(this.tooltipTimeout)},move:function(d,k,g,c){var b=this,h=b.now,e=!1!==b.options.animation&&!b.isHidden&&(1<Math.abs(d-h.x)||1<Math.abs(k-h.y)),f=b.followPointer||1<b.len;B(h,{x:e?(2*h.x+d)/3:d,y:e?(h.y+k)/2:k,anchorX:f?void 0:e?(2*h.anchorX+g)/3:g,anchorY:f?void 0:e?(h.anchorY+c)/2:c});b.getLabel().attr(h);e&&(a.clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){b&&b.move(d,k,g,c)},32))},hide:function(d){var f=this;a.clearTimeout(this.hideTimer);d=u(d,this.options.hideDelay,
500);this.isHidden||(this.hideTimer=q(function(){f.getLabel()[d?"fadeOut":"hide"]();f.isHidden=!0},d))},getAnchor:function(a,d){var g=this.chart,c=g.pointer,b=g.inverted,h=g.plotTop,e=g.plotLeft,f=0,k=0,l,D;a=m(a);this.followPointer&&d?(void 0===d.chartX&&(d=c.normalize(d)),a=[d.chartX-g.plotLeft,d.chartY-h]):a[0].tooltipPos?a=a[0].tooltipPos:(C(a,function(a){l=a.series.yAxis;D=a.series.xAxis;f+=a.plotX+(!b&&D?D.left-e:0);k+=(a.plotLow?(a.plotLow+a.plotHigh)/2:a.plotY)+(!b&&l?l.top-h:0)}),f/=a.length,
k/=a.length,a=[b?g.plotWidth-k:f,this.shared&&!b&&1<a.length&&d?d.chartY-h:b?g.plotHeight-f:k]);return n(a,Math.round)},getPosition:function(a,d,g){var c=this.chart,b=this.distance,h={},e=c.inverted&&g.h||0,f,k=this.outside,m=k?z.documentElement.clientWidth-2*b:c.chartWidth,n=k?Math.max(z.body.scrollHeight,z.documentElement.scrollHeight,z.body.offsetHeight,z.documentElement.offsetHeight,z.documentElement.clientHeight):c.chartHeight,l=c.pointer.chartPosition,x=["y",n,d,(k?l.top-b:0)+g.plotY+c.plotTop,
k?0:c.plotTop,k?n:c.plotTop+c.plotHeight],G=["x",m,a,(k?l.left-b:0)+g.plotX+c.plotLeft,k?0:c.plotLeft,k?m:c.plotLeft+c.plotWidth],q=!this.followPointer&&u(g.ttBelow,!c.inverted===!!g.negative),F=function(a,c,g,d,f,k){var p=g<d-b,x=d+b+g<c,v=d-b-g;d+=b;if(q&&x)h[a]=d;else if(!q&&p)h[a]=v;else if(p)h[a]=Math.min(k-g,0>v-e?v:v-e);else if(x)h[a]=Math.max(f,d+e+g>c?d:d+e);else return!1},H=function(a,c,e,g){var p;g<b||g>c-b?p=!1:h[a]=g<e/2?1:g>c-e/2?c-e-2:g-e/2;return p},A=function(a){var b=x;x=G;G=b;f=
a},y=function(){!1!==F.apply(0,x)?!1!==H.apply(0,G)||f||(A(!0),y()):f?h.x=h.y=0:(A(!0),y())};(c.inverted||1<this.len)&&A();y();return h},defaultFormatter:function(a){var d=this.points||m(this),g;g=[a.tooltipFooterHeaderFormatter(d[0])];g=g.concat(a.bodyFormatter(d));g.push(a.tooltipFooterHeaderFormatter(d[0],!0));return g},refresh:function(d,k){var g,c=this.options,b=d,h,e={},f=[];g=c.formatter||this.defaultFormatter;var e=this.shared,w;c.enabled&&(a.clearTimeout(this.hideTimer),this.followPointer=
m(b)[0].series.tooltipOptions.followPointer,h=this.getAnchor(b,k),k=h[0],c=h[1],!e||b.series&&b.series.noSharedTooltip?e=b.getLabelConfig():(C(b,function(a){a.setState("hover");f.push(a.getLabelConfig())}),e={x:b[0].category,y:b[0].y},e.points=f,b=b[0]),this.len=f.length,e=g.call(e,this),w=b.series,this.distance=u(w.tooltipOptions.distance,16),!1===e?this.hide():(g=this.getLabel(),this.isHidden&&g.attr({opacity:1}).show(),this.split?this.renderSplit(e,m(d)):(g.css({width:this.chart.spacingBox.width}),
g.attr({text:e&&e.join?e.join(""):e}),g.removeClass(/highcharts-color-[\d]+/g).addClass("highcharts-color-"+u(b.colorIndex,w.colorIndex)),this.updatePosition({plotX:k,plotY:c,negative:b.negative,ttBelow:b.ttBelow,h:h[2]||0})),this.isHidden=!1))},renderSplit:function(d,k){var g=this,c=[],b=this.chart,h=b.renderer,e=!0,f=this.options,w=0,m,n=this.getLabel(),l=b.plotTop;a.isString(d)&&(d=[!1,d]);C(d.slice(0,k.length+1),function(a,d){if(!1!==a){d=k[d-1]||{isHeader:!0,plotX:k[0].plotX};var x=d.series||
g,v=x.tt,G="highcharts-color-"+u(d.colorIndex,(d.series||{}).colorIndex,"none");v||(x.tt=v=h.label(null,null,null,"callout",null,null,f.useHTML).addClass("highcharts-tooltip-box "+G+(d.isHeader?" highcharts-tooltip-header":"")).attr({padding:f.padding,r:f.borderRadius}).add(n));v.isActive=!0;v.attr({text:a});a=v.getBBox();G=a.width+v.strokeWidth();d.isHeader?(w=a.height,b.xAxis[0].opposite&&(m=!0,l-=w),G=Math.max(0,Math.min(d.plotX+b.plotLeft-G/2,b.chartWidth+(b.scrollablePixels?b.scrollablePixels-
b.marginRight:0)-G))):G=d.plotX+b.plotLeft-u(f.distance,16)-G;0>G&&(e=!1);a=(d.series&&d.series.yAxis&&d.series.yAxis.pos)+(d.plotY||0);a-=l;d.isHeader&&(a=m?-w:b.plotHeight+w);c.push({target:a,rank:d.isHeader?1:0,size:x.tt.getBBox().height+1,point:d,x:G,tt:v})}});this.cleanSplit();a.distribute(c,b.plotHeight+w);C(c,function(a){var c=a.point,h=c.series;a.tt.attr({visibility:void 0===a.pos?"hidden":"inherit",x:e||c.isHeader?a.x:c.plotX+b.plotLeft+u(f.distance,16),y:a.pos+l,anchorX:c.isHeader?c.plotX+
b.plotLeft:c.plotX+h.xAxis.pos,anchorY:c.isHeader?b.plotTop+b.plotHeight/2:c.plotY+h.yAxis.pos})})},updatePosition:function(a){var d=this.chart,g=this.getLabel(),c=(this.options.positioner||this.getPosition).call(this,g.width,g.height,a),b=a.plotX+d.plotLeft;a=a.plotY+d.plotTop;var h;this.outside&&(h=(this.options.borderWidth||0)+2*this.distance,this.renderer.setSize(g.width+h,g.height+h,!1),b+=d.pointer.chartPosition.left-c.x,a+=d.pointer.chartPosition.top-c.y);this.move(Math.round(c.x),Math.round(c.y||
0),b,a)},getDateFormat:function(a,k,g,c){var b=this.chart.time,h=b.dateFormat("%m-%d %H:%M:%S.%L",k),e,f,w={millisecond:15,second:12,minute:9,hour:6,day:3},m="millisecond";for(f in d){if(a===d.week&&+b.dateFormat("%w",k)===g&&"00:00:00.000"===h.substr(6)){f="week";break}if(d[f]>a){f=m;break}if(w[f]&&h.substr(w[f])!=="01-01 00:00:00.000".substr(w[f]))break;"week"!==f&&(m=f)}f&&(e=b.resolveDTLFormat(c[f]).main);return e},getXDateFormat:function(a,d,g){d=d.dateTimeLabelFormats;var c=g&&g.closestPointRange;
return(c?this.getDateFormat(c,a.x,g.options.startOfWeek,d):d.day)||d.year},tooltipFooterHeaderFormatter:function(a,d){d=d?"footer":"header";var g=a.series,c=g.tooltipOptions,b=c.xDateFormat,h=g.xAxis,e=h&&"datetime"===h.options.type&&l(a.key),f=c[d+"Format"];e&&!b&&(b=this.getXDateFormat(a,c,h));e&&b&&C(a.point&&a.point.tooltipDateKeys||["key"],function(a){f=f.replace("{point."+a+"}","{point."+a+":"+b+"}")});return r(f,{point:a,series:g},this.chart.time)},bodyFormatter:function(a){return n(a,function(a){var g=
a.series.tooltipOptions;return(g[(a.point.formatPrefix||"point")+"Formatter"]||a.point.tooltipFormatter).call(a.point,g[(a.point.formatPrefix||"point")+"Format"])})}}})(I);(function(a){var z=a.addEvent,C=a.attr,B=a.charts,r=a.css,l=a.defined,n=a.each,t=a.extend,u=a.find,m=a.fireEvent,q=a.isNumber,d=a.isObject,f=a.offset,k=a.pick,g=a.splat,c=a.Tooltip;a.Pointer=function(a,c){this.init(a,c)};a.Pointer.prototype={init:function(a,h){this.options=h;this.chart=a;this.runChartClick=h.chart.events&&!!h.chart.events.click;
this.pinchDown=[];this.lastValidTouch={};c&&(a.tooltip=new c(a,h.tooltip),this.followTouchMove=k(h.tooltip.followTouchMove,!0));this.setDOMEvents()},zoomOption:function(a){var b=this.chart,c=b.options.chart,g=c.zoomType||"",b=b.inverted;/touch/.test(a.type)&&(g=k(c.pinchType,g));this.zoomX=a=/x/.test(g);this.zoomY=g=/y/.test(g);this.zoomHor=a&&!b||g&&b;this.zoomVert=g&&!b||a&&b;this.hasZoom=a||g},normalize:function(a,c){var b;b=a.touches?a.touches.length?a.touches.item(0):a.changedTouches[0]:a;c||
(this.chartPosition=c=f(this.chart.container));return t(a,{chartX:Math.round(b.pageX-c.left),chartY:Math.round(b.pageY-c.top)})},getCoordinates:function(a){var b={xAxis:[],yAxis:[]};n(this.chart.axes,function(c){b[c.isXAxis?"xAxis":"yAxis"].push({axis:c,value:c.toValue(a[c.horiz?"chartX":"chartY"])})});return b},findNearestKDPoint:function(a,c,e){var b;n(a,function(a){var h=!(a.noSharedTooltip&&c)&&0>a.options.findNearestPointBy.indexOf("y");a=a.searchPoint(e,h);if((h=d(a,!0))&&!(h=!d(b,!0)))var h=
b.distX-a.distX,g=b.dist-a.dist,f=(a.series.group&&a.series.group.zIndex)-(b.series.group&&b.series.group.zIndex),h=0<(0!==h&&c?h:0!==g?g:0!==f?f:b.series.index>a.series.index?-1:1);h&&(b=a)});return b},getPointFromEvent:function(a){a=a.target;for(var b;a&&!b;)b=a.point,a=a.parentNode;return b},getChartCoordinatesFromPoint:function(a,c){var b=a.series,h=b.xAxis,b=b.yAxis,g=k(a.clientX,a.plotX),d=a.shapeArgs;if(h&&b)return c?{chartX:h.len+h.pos-g,chartY:b.len+b.pos-a.plotY}:{chartX:g+h.pos,chartY:a.plotY+
b.pos};if(d&&d.x&&d.y)return{chartX:d.x,chartY:d.y}},getHoverData:function(b,c,e,g,f,m,l){var h,x=[],v=l&&l.isBoosting;g=!(!g||!b);l=c&&!c.stickyTracking?[c]:a.grep(e,function(a){return a.visible&&!(!f&&a.directTouch)&&k(a.options.enableMouseTracking,!0)&&a.stickyTracking});c=(h=g?b:this.findNearestKDPoint(l,f,m))&&h.series;h&&(f&&!c.noSharedTooltip?(l=a.grep(e,function(a){return a.visible&&!(!f&&a.directTouch)&&k(a.options.enableMouseTracking,!0)&&!a.noSharedTooltip}),n(l,function(a){var b=u(a.points,
function(a){return a.x===h.x&&!a.isNull});d(b)&&(v&&(b=a.getPoint(b)),x.push(b))})):x.push(h));return{hoverPoint:h,hoverSeries:c,hoverPoints:x}},runPointActions:function(b,c){var e=this.chart,h=e.tooltip&&e.tooltip.options.enabled?e.tooltip:void 0,g=h?h.shared:!1,d=c||e.hoverPoint,f=d&&d.series||e.hoverSeries,f=this.getHoverData(d,f,e.series,"touchmove"!==b.type&&(!!c||f&&f.directTouch&&this.isDirectTouch),g,b,{isBoosting:e.isBoosting}),m,d=f.hoverPoint;m=f.hoverPoints;c=(f=f.hoverSeries)&&f.tooltipOptions.followPointer;
g=g&&f&&!f.noSharedTooltip;if(d&&(d!==e.hoverPoint||h&&h.isHidden)){n(e.hoverPoints||[],function(b){-1===a.inArray(b,m)&&b.setState()});n(m||[],function(a){a.setState("hover")});if(e.hoverSeries!==f)f.onMouseOver();e.hoverPoint&&e.hoverPoint.firePointEvent("mouseOut");if(!d.series)return;d.firePointEvent("mouseOver");e.hoverPoints=m;e.hoverPoint=d;h&&h.refresh(g?m:d,b)}else c&&h&&!h.isHidden&&(d=h.getAnchor([{}],b),h.updatePosition({plotX:d[0],plotY:d[1]}));this.unDocMouseMove||(this.unDocMouseMove=
z(e.container.ownerDocument,"mousemove",function(b){var c=B[a.hoverChartIndex];if(c)c.pointer.onDocumentMouseMove(b)}));n(e.axes,function(c){var e=k(c.crosshair.snap,!0),h=e?a.find(m,function(a){return a.series[c.coll]===c}):void 0;h||!e?c.drawCrosshair(b,h):c.hideCrosshair()})},reset:function(a,c){var b=this.chart,h=b.hoverSeries,d=b.hoverPoint,f=b.hoverPoints,k=b.tooltip,m=k&&k.shared?f:d;a&&m&&n(g(m),function(b){b.series.isCartesian&&void 0===b.plotX&&(a=!1)});if(a)k&&m&&(k.refresh(m),k.shared&&
f?n(f,function(a){a.setState(a.state,!0);a.series.isCartesian&&(a.series.xAxis.crosshair&&a.series.xAxis.drawCrosshair(null,a),a.series.yAxis.crosshair&&a.series.yAxis.drawCrosshair(null,a))}):d&&(d.setState(d.state,!0),n(b.axes,function(a){a.crosshair&&a.drawCrosshair(null,d)})));else{if(d)d.onMouseOut();f&&n(f,function(a){a.setState()});if(h)h.onMouseOut();k&&k.hide(c);this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove());n(b.axes,function(a){a.hideCrosshair()});this.hoverX=b.hoverPoints=
b.hoverPoint=null}},scaleGroups:function(a,c){var b=this.chart,h;n(b.series,function(e){h=a||e.getPlotBox();e.xAxis&&e.xAxis.zoomEnabled&&e.group&&(e.group.attr(h),e.markerGroup&&(e.markerGroup.attr(h),e.markerGroup.clip(c?b.clipRect:null)),e.dataLabelsGroup&&e.dataLabelsGroup.attr(h))});b.clipRect.attr(c||b.clipBox)},dragStart:function(a){var b=this.chart;b.mouseIsDown=a.type;b.cancelClick=!1;b.mouseDownX=this.mouseDownX=a.chartX;b.mouseDownY=this.mouseDownY=a.chartY},drag:function(a){var b=this.chart,
c=b.options.chart,g=a.chartX,d=a.chartY,f=this.zoomHor,k=this.zoomVert,m=b.plotLeft,x=b.plotTop,n=b.plotWidth,l=b.plotHeight,q,H=this.selectionMarker,A=this.mouseDownX,y=this.mouseDownY,t=c.panKey&&a[c.panKey+"Key"];H&&H.touch||(g<m?g=m:g>m+n&&(g=m+n),d<x?d=x:d>x+l&&(d=x+l),this.hasDragged=Math.sqrt(Math.pow(A-g,2)+Math.pow(y-d,2)),10<this.hasDragged&&(q=b.isInsidePlot(A-m,y-x),b.hasCartesianSeries&&(this.zoomX||this.zoomY)&&q&&!t&&!H&&(this.selectionMarker=H=b.renderer.rect(m,x,f?1:n,k?1:l,0).attr({"class":"highcharts-selection-marker",
zIndex:7}).add()),H&&f&&(g-=A,H.attr({width:Math.abs(g),x:(0<g?0:g)+A})),H&&k&&(g=d-y,H.attr({height:Math.abs(g),y:(0<g?0:g)+y})),q&&!H&&c.panning&&b.pan(a,c.panning)))},drop:function(a){var b=this,c=this.chart,g=this.hasPinched;if(this.selectionMarker){var d={originalEvent:a,xAxis:[],yAxis:[]},f=this.selectionMarker,k=f.attr?f.attr("x"):f.x,E=f.attr?f.attr("y"):f.y,x=f.attr?f.attr("width"):f.width,G=f.attr?f.attr("height"):f.height,M;if(this.hasDragged||g)n(c.axes,function(c){if(c.zoomEnabled&&l(c.min)&&
(g||b[{xAxis:"zoomX",yAxis:"zoomY"}[c.coll]])){var e=c.horiz,h="touchend"===a.type?c.minPixelPadding:0,f=c.toValue((e?k:E)+h),e=c.toValue((e?k+x:E+G)-h);d[c.coll].push({axis:c,min:Math.min(f,e),max:Math.max(f,e)});M=!0}}),M&&m(c,"selection",d,function(a){c.zoom(t(a,g?{animation:!1}:null))});q(c.index)&&(this.selectionMarker=this.selectionMarker.destroy());g&&this.scaleGroups()}c&&q(c.index)&&(r(c.container,{cursor:c._cursor}),c.cancelClick=10<this.hasDragged,c.mouseIsDown=this.hasDragged=this.hasPinched=
!1,this.pinchDown=[])},onContainerMouseDown:function(a){a=this.normalize(a);2!==a.button&&(this.zoomOption(a),a.preventDefault&&a.preventDefault(),this.dragStart(a))},onDocumentMouseUp:function(b){B[a.hoverChartIndex]&&B[a.hoverChartIndex].pointer.drop(b)},onDocumentMouseMove:function(a){var b=this.chart,c=this.chartPosition;a=this.normalize(a,c);!c||this.inClass(a.target,"highcharts-tracker")||b.isInsidePlot(a.chartX-b.plotLeft,a.chartY-b.plotTop)||this.reset()},onContainerMouseLeave:function(b){var c=
B[a.hoverChartIndex];c&&(b.relatedTarget||b.toElement)&&(c.pointer.reset(),c.pointer.chartPosition=null)},onContainerMouseMove:function(b){var c=this.chart;l(a.hoverChartIndex)&&B[a.hoverChartIndex]&&B[a.hoverChartIndex].mouseIsDown||(a.hoverChartIndex=c.index);b=this.normalize(b);b.returnValue=!1;"mousedown"===c.mouseIsDown&&this.drag(b);!this.inClass(b.target,"highcharts-tracker")&&!c.isInsidePlot(b.chartX-c.plotLeft,b.chartY-c.plotTop)||c.openMenu||this.runPointActions(b)},inClass:function(a,c){for(var b;a;){if(b=
C(a,"class")){if(-1!==b.indexOf(c))return!0;if(-1!==b.indexOf("highcharts-container"))return!1}a=a.parentNode}},onTrackerMouseOut:function(a){var b=this.chart.hoverSeries;a=a.relatedTarget||a.toElement;this.isDirectTouch=!1;if(!(!b||!a||b.stickyTracking||this.inClass(a,"highcharts-tooltip")||this.inClass(a,"highcharts-series-"+b.index)&&this.inClass(a,"highcharts-tracker")))b.onMouseOut()},onContainerClick:function(a){var b=this.chart,c=b.hoverPoint,g=b.plotLeft,d=b.plotTop;a=this.normalize(a);b.cancelClick||
(c&&this.inClass(a.target,"highcharts-tracker")?(m(c.series,"click",t(a,{point:c})),b.hoverPoint&&c.firePointEvent("click",a)):(t(a,this.getCoordinates(a)),b.isInsidePlot(a.chartX-g,a.chartY-d)&&m(b,"click",a)))},setDOMEvents:function(){var b=this,c=b.chart.container,e=c.ownerDocument;c.onmousedown=function(a){b.onContainerMouseDown(a)};c.onmousemove=function(a){b.onContainerMouseMove(a)};c.onclick=function(a){b.onContainerClick(a)};this.unbindContainerMouseLeave=z(c,"mouseleave",b.onContainerMouseLeave);
a.unbindDocumentMouseUp||(a.unbindDocumentMouseUp=z(e,"mouseup",b.onDocumentMouseUp));a.hasTouch&&(c.ontouchstart=function(a){b.onContainerTouchStart(a)},c.ontouchmove=function(a){b.onContainerTouchMove(a)},a.unbindDocumentTouchEnd||(a.unbindDocumentTouchEnd=z(e,"touchend",b.onDocumentTouchEnd)))},destroy:function(){var b=this;b.unDocMouseMove&&b.unDocMouseMove();this.unbindContainerMouseLeave();a.chartCount||(a.unbindDocumentMouseUp&&(a.unbindDocumentMouseUp=a.unbindDocumentMouseUp()),a.unbindDocumentTouchEnd&&
(a.unbindDocumentTouchEnd=a.unbindDocumentTouchEnd()));clearInterval(b.tooltipTimeout);a.objectEach(b,function(a,c){b[c]=null})}}})(I);(function(a){var z=a.charts,C=a.each,B=a.extend,r=a.map,l=a.noop,n=a.pick;B(a.Pointer.prototype,{pinchTranslate:function(a,n,m,l,d,f){this.zoomHor&&this.pinchTranslateDirection(!0,a,n,m,l,d,f);this.zoomVert&&this.pinchTranslateDirection(!1,a,n,m,l,d,f)},pinchTranslateDirection:function(a,n,m,l,d,f,k,g){var c=this.chart,b=a?"x":"y",h=a?"X":"Y",e="chart"+h,v=a?"width":
"height",w=c["plot"+(a?"Left":"Top")],q,D,E=g||1,x=c.inverted,G=c.bounds[a?"h":"v"],M=1===n.length,F=n[0][e],H=m[0][e],A=!M&&n[1][e],y=!M&&m[1][e],t;m=function(){!M&&20<Math.abs(F-A)&&(E=g||Math.abs(H-y)/Math.abs(F-A));D=(w-H)/E+F;q=c["plot"+(a?"Width":"Height")]/E};m();n=D;n<G.min?(n=G.min,t=!0):n+q>G.max&&(n=G.max-q,t=!0);t?(H-=.8*(H-k[b][0]),M||(y-=.8*(y-k[b][1])),m()):k[b]=[H,y];x||(f[b]=D-w,f[v]=q);f=x?1/E:E;d[v]=q;d[b]=n;l[x?a?"scaleY":"scaleX":"scale"+h]=E;l["translate"+h]=f*w+(H-f*F)},pinch:function(a){var t=
this,m=t.chart,q=t.pinchDown,d=a.touches,f=d.length,k=t.lastValidTouch,g=t.hasZoom,c=t.selectionMarker,b={},h=1===f&&(t.inClass(a.target,"highcharts-tracker")&&m.runTrackerClick||t.runChartClick),e={};1<f&&(t.initiated=!0);g&&t.initiated&&!h&&a.preventDefault();r(d,function(a){return t.normalize(a)});"touchstart"===a.type?(C(d,function(a,b){q[b]={chartX:a.chartX,chartY:a.chartY}}),k.x=[q[0].chartX,q[1]&&q[1].chartX],k.y=[q[0].chartY,q[1]&&q[1].chartY],C(m.axes,function(a){if(a.zoomEnabled){var b=
m.bounds[a.horiz?"h":"v"],c=a.minPixelPadding,e=a.toPixels(n(a.options.min,a.dataMin)),g=a.toPixels(n(a.options.max,a.dataMax)),d=Math.max(e,g);b.min=Math.min(a.pos,Math.min(e,g)-c);b.max=Math.max(a.pos+a.len,d+c)}}),t.res=!0):t.followTouchMove&&1===f?this.runPointActions(t.normalize(a)):q.length&&(c||(t.selectionMarker=c=B({destroy:l,touch:!0},m.plotBox)),t.pinchTranslate(q,d,b,c,e,k),t.hasPinched=g,t.scaleGroups(b,e),t.res&&(t.res=!1,this.reset(!1,0)))},touch:function(l,r){var m=this.chart,q,d;
if(m.index!==a.hoverChartIndex)this.onContainerMouseLeave({relatedTarget:!0});a.hoverChartIndex=m.index;1===l.touches.length?(l=this.normalize(l),(d=m.isInsidePlot(l.chartX-m.plotLeft,l.chartY-m.plotTop))&&!m.openMenu?(r&&this.runPointActions(l),"touchmove"===l.type&&(r=this.pinchDown,q=r[0]?4<=Math.sqrt(Math.pow(r[0].chartX-l.chartX,2)+Math.pow(r[0].chartY-l.chartY,2)):!1),n(q,!0)&&this.pinch(l)):r&&this.reset()):2===l.touches.length&&this.pinch(l)},onContainerTouchStart:function(a){this.zoomOption(a);
this.touch(a,!0)},onContainerTouchMove:function(a){this.touch(a)},onDocumentTouchEnd:function(l){z[a.hoverChartIndex]&&z[a.hoverChartIndex].pointer.drop(l)}})})(I);(function(a){var z=a.addEvent,C=a.charts,B=a.css,r=a.doc,l=a.extend,n=a.noop,t=a.Pointer,u=a.removeEvent,m=a.win,q=a.wrap;if(!a.hasTouch&&(m.PointerEvent||m.MSPointerEvent)){var d={},f=!!m.PointerEvent,k=function(){var c=[];c.item=function(a){return this[a]};a.objectEach(d,function(a){c.push({pageX:a.pageX,pageY:a.pageY,target:a.target})});
return c},g=function(c,b,g,e){"touch"!==c.pointerType&&c.pointerType!==c.MSPOINTER_TYPE_TOUCH||!C[a.hoverChartIndex]||(e(c),e=C[a.hoverChartIndex].pointer,e[b]({type:g,target:c.currentTarget,preventDefault:n,touches:k()}))};l(t.prototype,{onContainerPointerDown:function(a){g(a,"onContainerTouchStart","touchstart",function(a){d[a.pointerId]={pageX:a.pageX,pageY:a.pageY,target:a.currentTarget}})},onContainerPointerMove:function(a){g(a,"onContainerTouchMove","touchmove",function(a){d[a.pointerId]={pageX:a.pageX,
pageY:a.pageY};d[a.pointerId].target||(d[a.pointerId].target=a.currentTarget)})},onDocumentPointerUp:function(a){g(a,"onDocumentTouchEnd","touchend",function(a){delete d[a.pointerId]})},batchMSEvents:function(a){a(this.chart.container,f?"pointerdown":"MSPointerDown",this.onContainerPointerDown);a(this.chart.container,f?"pointermove":"MSPointerMove",this.onContainerPointerMove);a(r,f?"pointerup":"MSPointerUp",this.onDocumentPointerUp)}});q(t.prototype,"init",function(a,b,g){a.call(this,b,g);this.hasZoom&&
B(b.container,{"-ms-touch-action":"none","touch-action":"none"})});q(t.prototype,"setDOMEvents",function(a){a.apply(this);(this.hasZoom||this.followTouchMove)&&this.batchMSEvents(z)});q(t.prototype,"destroy",function(a){this.batchMSEvents(u);a.call(this)})}})(I);(function(a){var z=a.addEvent,C=a.css,B=a.discardElement,r=a.defined,l=a.each,n=a.fireEvent,t=a.isFirefox,u=a.marginNames,m=a.merge,q=a.pick,d=a.setAnimation,f=a.stableSort,k=a.win,g=a.wrap;a.Legend=function(a,b){this.init(a,b)};a.Legend.prototype=
{init:function(a,b){this.chart=a;this.setOptions(b);b.enabled&&(this.render(),z(this.chart,"endResize",function(){this.legend.positionCheckboxes()}),this.proximate?this.unchartrender=z(this.chart,"render",function(){this.legend.proximatePositions();this.legend.positionItems()}):this.unchartrender&&this.unchartrender())},setOptions:function(a){var b=q(a.padding,8);this.options=a;this.itemMarginTop=a.itemMarginTop||0;this.padding=b;this.initialItemY=b-5;this.symbolWidth=q(a.symbolWidth,16);this.pages=
[];this.proximate="proximate"===a.layout&&!this.chart.inverted},update:function(a,b){var c=this.chart;this.setOptions(m(!0,this.options,a));this.destroy();c.isDirtyLegend=c.isDirtyBox=!0;q(b,!0)&&c.redraw();n(this,"afterUpdate")},colorizeItem:function(a,b){a.legendGroup[b?"removeClass":"addClass"]("highcharts-legend-item-hidden");n(this,"afterColorizeItem",{item:a,visible:b})},positionItems:function(){l(this.allItems,this.positionItem,this);this.chart.isResizing||this.positionCheckboxes()},positionItem:function(a){var b=
this.options,c=b.symbolPadding,b=!b.rtl,e=a._legendItemPos,g=e[0],e=e[1],d=a.checkbox;if((a=a.legendGroup)&&a.element)a[r(a.translateY)?"animate":"attr"]({translateX:b?g:this.legendWidth-g-2*c-4,translateY:e});d&&(d.x=g,d.y=e)},destroyItem:function(a){var b=a.checkbox;l(["legendItem","legendLine","legendSymbol","legendGroup"],function(b){a[b]&&(a[b]=a[b].destroy())});b&&B(a.checkbox)},destroy:function(){function a(a){this[a]&&(this[a]=this[a].destroy())}l(this.getAllItems(),function(b){l(["legendItem",
"legendGroup"],a,b)});l("clipRect up down pager nav box title group".split(" "),a,this);this.display=null},positionCheckboxes:function(){var a=this.group&&this.group.alignAttr,b,g=this.clipHeight||this.legendHeight,e=this.titleHeight;a&&(b=a.translateY,l(this.allItems,function(c){var d=c.checkbox,h;d&&(h=b+e+d.y+(this.scrollOffset||0)+3,C(d,{left:a.translateX+c.checkboxOffset+d.x-20+"px",top:h+"px",display:this.proximate||h>b-6&&h<b+g-6?"":"none"}))},this))},renderTitle:function(){var a=this.options,
b=this.padding,g=a.title,e=0;g.text&&(this.title||(this.title=this.chart.renderer.label(g.text,b-3,b-4,null,null,null,a.useHTML,null,"legend-title").attr({zIndex:1}).add(this.group)),a=this.title.getBBox(),e=a.height,this.offsetWidth=a.width,this.contentGroup.attr({translateY:e}));this.titleHeight=e},setText:function(c){var b=this.options;c.legendItem.attr({text:b.labelFormat?a.format(b.labelFormat,c,this.chart.time):b.labelFormatter.call(c)})},renderItem:function(a){var b=this.chart,c=b.renderer,
e=this.options,g=this.symbolWidth,d=e.symbolPadding,f="horizontal"===e.layout?q(e.itemDistance,20):0,k=!e.rtl,m=a.legendItem,x=!a.series,l=!x&&a.series.drawLegendSymbol?a.series:a,n=l.options,n=this.createCheckboxForItem&&n&&n.showCheckbox,f=g+d+f+(n?20:0),F=e.useHTML,H=a.options.className;m||(a.legendGroup=c.g("legend-item").addClass("highcharts-"+l.type+"-series highcharts-color-"+a.colorIndex+(H?" "+H:"")+(x?" highcharts-series-"+a.index:"")).attr({zIndex:1}).add(this.scrollGroup),a.legendItem=
m=c.text("",k?g+d:-d,this.baseline||0,F).attr({align:k?"left":"right",zIndex:2}).add(a.legendGroup),this.baseline||(this.fontMetrics=c.fontMetrics(12,m),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,m.attr("y",this.baseline)),this.symbolHeight=e.symbolHeight||this.fontMetrics.f,l.drawLegendSymbol(this,a),this.setItemEvents&&this.setItemEvents(a,m,F),n&&this.createCheckboxForItem(a));this.colorizeItem(a,a.visible);m.css({width:(e.itemWidth||e.width||b.spacingBox.width)-f});this.setText(a);
b=m.getBBox();a.itemWidth=a.checkboxOffset=e.itemWidth||a.legendItemWidth||b.width+f;this.maxItemWidth=Math.max(this.maxItemWidth,a.itemWidth);this.totalItemWidth+=a.itemWidth;this.itemHeight=a.itemHeight=Math.round(a.legendItemHeight||b.height||this.symbolHeight)},layoutItem:function(a){var b=this.options,c=this.padding,e="horizontal"===b.layout,g=a.itemHeight,d=b.itemMarginBottom||0,f=this.itemMarginTop,k=e?q(b.itemDistance,20):0,m=b.width,x=m||this.chart.spacingBox.width-2*c-b.x,b=b.alignColumns&&
this.totalItemWidth>x?this.maxItemWidth:a.itemWidth;e&&this.itemX-c+b>x&&(this.itemX=c,this.itemY+=f+this.lastLineHeight+d,this.lastLineHeight=0);this.lastItemY=f+this.itemY+d;this.lastLineHeight=Math.max(g,this.lastLineHeight);a._legendItemPos=[this.itemX,this.itemY];e?this.itemX+=b:(this.itemY+=f+g+d,this.lastLineHeight=g);this.offsetWidth=m||Math.max((e?this.itemX-c-(a.checkbox?0:k):b)+c,this.offsetWidth)},getAllItems:function(){var a=[];l(this.chart.series,function(b){var c=b&&b.options;b&&q(c.showInLegend,
r(c.linkedTo)?!1:void 0,!0)&&(a=a.concat(b.legendItems||("point"===c.legendType?b.data:b)))});n(this,"afterGetAllItems",{allItems:a});return a},getAlignment:function(){var a=this.options;return this.proximate?a.align.charAt(0)+"tv":a.floating?"":a.align.charAt(0)+a.verticalAlign.charAt(0)+a.layout.charAt(0)},adjustMargins:function(a,b){var c=this.chart,e=this.options,g=this.getAlignment();g&&l([/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/],function(d,h){d.test(g)&&!r(a[h])&&(c[u[h]]=
Math.max(c[u[h]],c.legend[(h+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][h]*e[h%2?"x":"y"]+q(e.margin,12)+b[h]+(0===h&&void 0!==c.options.title.margin?c.titleOffset+c.options.title.margin:0)))})},proximatePositions:function(){var c=this.chart,b=[],g="left"===this.options.align;l(this.allItems,function(e){var d,h;d=g;e.xAxis&&e.points&&(e.xAxis.options.reversed&&(d=!d),d=a.find(d?e.points:e.points.slice(0).reverse(),function(b){return a.isNumber(b.plotY)}),h=e.legendGroup.getBBox().height,b.push({target:e.visible?
(d?d.plotY:e.xAxis.height)-.3*h:c.plotHeight,size:h,item:e}))},this);a.distribute(b,c.plotHeight);l(b,function(a){a.item._legendItemPos[1]=c.plotTop-c.spacing[0]+a.pos})},render:function(){var a=this.chart,b=a.renderer,g=this.group,e,d,k,n=this.box,q=this.options,E=this.padding;this.itemX=E;this.itemY=this.initialItemY;this.lastItemY=this.offsetWidth=0;g||(this.group=g=b.g("legend").attr({zIndex:7}).add(),this.contentGroup=b.g().attr({zIndex:1}).add(g),this.scrollGroup=b.g().add(this.contentGroup));
this.renderTitle();e=this.getAllItems();f(e,function(a,b){return(a.options&&a.options.legendIndex||0)-(b.options&&b.options.legendIndex||0)});q.reversed&&e.reverse();this.allItems=e;this.display=d=!!e.length;this.itemHeight=this.totalItemWidth=this.maxItemWidth=this.lastLineHeight=0;l(e,this.renderItem,this);l(e,this.layoutItem,this);e=(q.width||this.offsetWidth)+E;k=this.lastItemY+this.lastLineHeight+this.titleHeight;k=this.handleOverflow(k);k+=E;n||(this.box=n=b.rect().addClass("highcharts-legend-box").attr({r:q.borderRadius}).add(g),
n.isNew=!0);0<e&&0<k&&(n[n.isNew?"attr":"animate"](n.crisp.call({},{x:0,y:0,width:e,height:k},n.strokeWidth())),n.isNew=!1);n[d?"show":"hide"]();"none"===g.getStyle("display")&&(e=k=0);this.legendWidth=e;this.legendHeight=k;d&&(b=a.spacingBox,/(lth|ct|rth)/.test(this.getAlignment())&&(b=m(b,{y:b.y+a.titleOffset+a.options.title.margin})),g.align(m(q,{width:e,height:k,verticalAlign:this.proximate?"top":q.verticalAlign}),!0,b));this.proximate||this.positionItems()},handleOverflow:function(a){var b=this,
c=this.chart,e=c.renderer,g=this.options,d=g.y,f=this.padding,c=c.spacingBox.height+("top"===g.verticalAlign?-d:d)-f,d=g.maxHeight,k,m=this.clipRect,x=g.navigation,n=q(x.animation,!0),M=x.arrowSize||12,F=this.nav,H=this.pages,A,y=this.allItems,r=function(a){"number"===typeof a?m.attr({height:a}):m&&(b.clipRect=m.destroy(),b.contentGroup.clip());b.contentGroup.div&&(b.contentGroup.div.style.clip=a?"rect("+f+"px,9999px,"+(f+a)+"px,0)":"auto")};"horizontal"!==g.layout||"middle"===g.verticalAlign||g.floating||
(c/=2);d&&(c=Math.min(c,d));H.length=0;a>c&&!1!==x.enabled?(this.clipHeight=k=Math.max(c-20-this.titleHeight-f,0),this.currentPage=q(this.currentPage,1),this.fullHeight=a,l(y,function(a,b){var c=a._legendItemPos[1],e=Math.round(a.legendItem.getBBox().height),p=H.length;if(!p||c-H[p-1]>k&&(A||c)!==H[p-1])H.push(A||c),p++;a.pageIx=p-1;A&&(y[b-1].pageIx=p-1);b===y.length-1&&c+e-H[p-1]>k&&(H.push(c),a.pageIx=p);c!==A&&(A=c)}),m||(m=b.clipRect=e.clipRect(0,f,9999,0),b.contentGroup.clip(m)),r(k),F||(this.nav=
F=e.g().attr({zIndex:1}).add(this.group),this.up=e.symbol("triangle",0,0,M,M).on("click",function(){b.scroll(-1,n)}).add(F),this.pager=e.text("",15,10).addClass("highcharts-legend-navigation").add(F),this.down=e.symbol("triangle-down",0,0,M,M).on("click",function(){b.scroll(1,n)}).add(F)),b.scroll(0),a=c):F&&(r(),this.nav=F.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0);return a},scroll:function(a,b){var c=this.pages,e=c.length;a=this.currentPage+a;var g=this.clipHeight,f=this.pager,
k=this.padding;a>e&&(a=e);0<a&&(void 0!==b&&d(b,this.chart),this.nav.attr({translateX:k,translateY:g+this.padding+7+this.titleHeight,visibility:"visible"}),this.up.attr({"class":1===a?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"}),f.attr({text:a+"/"+e}),this.down.attr({x:18+this.pager.getBBox().width,"class":a===e?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"}),this.scrollOffset=-c[a-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),
this.currentPage=a,this.positionCheckboxes())}};a.LegendSymbolMixin={drawRectangle:function(a,b){var c=a.symbolHeight,e=a.options.squareSymbol;b.legendSymbol=this.chart.renderer.rect(e?(a.symbolWidth-c)/2:0,a.baseline-c+1,e?c:a.symbolWidth,c,q(a.options.symbolRadius,c/2)).addClass("highcharts-point").attr({zIndex:3}).add(b.legendGroup)},drawLineMarker:function(a){var b=this.options.marker,c,e=a.symbolWidth,g=a.symbolHeight;c=g/2;var d=this.chart.renderer,f=this.legendGroup;a=a.baseline-Math.round(.3*
a.fontMetrics.b);this.legendLine=d.path(["M",0,a,"L",e,a]).addClass("highcharts-graph").attr({}).add(f);b&&!1!==b.enabled&&e&&(c=Math.min(q(b.radius,c),c),0===this.symbol.indexOf("url")&&(b=m(b,{width:g,height:g}),c=0),this.legendSymbol=b=d.symbol(this.symbol,e/2-c,a-c,2*c,2*c,b).addClass("highcharts-point").add(f),b.isMarker=!0)}};(/Trident\/7\.0/.test(k.navigator.userAgent)||t)&&g(a.Legend.prototype,"positionItem",function(a,b){var c=this,e=function(){b._legendItemPos&&a.call(c,b)};e();setTimeout(e)})})(I);
(function(a){var z=a.addEvent,C=a.animObject,B=a.attr,r=a.doc,l=a.Axis,n=a.createElement,t=a.defaultOptions,u=a.discardElement,m=a.charts,q=a.defined,d=a.each,f=a.extend,k=a.find,g=a.fireEvent,c=a.grep,b=a.isNumber,h=a.isObject,e=a.isString,v=a.Legend,w=a.marginNames,J=a.merge,D=a.objectEach,E=a.Pointer,x=a.pick,G=a.pInt,M=a.removeEvent,F=a.seriesTypes,H=a.splat,A=a.syncTimeout,y=a.win,K=a.Chart=function(){this.getArgs.apply(this,arguments)};a.chart=function(a,b,c){return new K(a,b,c)};f(K.prototype,
{callbacks:[],getArgs:function(){var a=[].slice.call(arguments);if(e(a[0])||a[0].nodeName)this.renderTo=a.shift();this.init(a[0],a[1])},init:function(b,c){var e,p,d=b.series,f=b.plotOptions||{};g(this,"init",{args:arguments},function(){b.series=null;e=J(t,b);for(p in e.plotOptions)e.plotOptions[p].tooltip=f[p]&&J(f[p].tooltip)||void 0;e.tooltip.userOptions=b.chart&&b.chart.forExport&&b.tooltip.userOptions||b.tooltip;e.series=b.series=d;this.userOptions=b;var h=e.chart,k=h.events;this.margin=[];this.spacing=
[];this.bounds={h:{},v:{}};this.labelCollectors=[];this.callback=c;this.isResizing=0;this.options=e;this.axes=[];this.series=[];this.time=b.time&&a.keys(b.time).length?new a.Time(b.time):a.time;this.hasCartesianSeries=h.showAxes;var x=this;x.index=m.length;m.push(x);a.chartCount++;k&&D(k,function(a,b){z(x,b,a)});x.xAxis=[];x.yAxis=[];x.pointCount=x.colorCounter=x.symbolCounter=0;g(x,"afterInit");x.firstRender()})},initSeries:function(b){var c=this.options.chart;(c=F[b.type||c.type||c.defaultSeriesType])||
a.error(17,!0);c=new c;c.init(this,b);return c},orderSeries:function(a){var b=this.series;for(a=a||0;a<b.length;a++)b[a]&&(b[a].index=a,b[a].name=b[a].getName())},isInsidePlot:function(a,b,c){var e=c?b:a;a=c?a:b;return 0<=e&&e<=this.plotWidth&&0<=a&&a<=this.plotHeight},redraw:function(b){g(this,"beforeRedraw");var c=this.axes,e=this.series,p=this.pointer,h=this.legend,k=this.userOptions.legend,x=this.isDirtyLegend,m,n,l=this.hasCartesianSeries,G=this.isDirtyBox,y,q=this.renderer,w=q.isHidden(),v=
[];this.setResponsive&&this.setResponsive(!1);a.setAnimation(b,this);w&&this.temporaryDisplay();this.layOutTitles();for(b=e.length;b--;)if(y=e[b],y.options.stacking&&(m=!0,y.isDirty)){n=!0;break}if(n)for(b=e.length;b--;)y=e[b],y.options.stacking&&(y.isDirty=!0);d(e,function(a){a.isDirty&&("point"===a.options.legendType?(a.updateTotals&&a.updateTotals(),x=!0):k&&(k.labelFormatter||k.labelFormat)&&(x=!0));a.isDirtyData&&g(a,"updatedData")});x&&h&&h.options.enabled&&(h.render(),this.isDirtyLegend=!1);
m&&this.getStacks();l&&d(c,function(a){a.updateNames();a.updateYNames&&a.updateYNames();a.setScale()});this.getMargins();l&&(d(c,function(a){a.isDirty&&(G=!0)}),d(c,function(a){var b=a.min+","+a.max;a.extKey!==b&&(a.extKey=b,v.push(function(){g(a,"afterSetExtremes",f(a.eventArgs,a.getExtremes()));delete a.eventArgs}));(G||m)&&a.redraw()}));G&&this.drawChartBox();g(this,"predraw");d(e,function(a){(G||a.isDirty)&&a.visible&&a.redraw();a.isDirtyData=!1});p&&p.reset(!0);q.draw();g(this,"redraw");g(this,
"render");w&&this.temporaryDisplay(!0);d(v,function(a){a.call()})},get:function(a){function b(b){return b.id===a||b.options&&b.options.id===a}var c,e=this.series,p;c=k(this.axes,b)||k(this.series,b);for(p=0;!c&&p<e.length;p++)c=k(e[p].points||[],b);return c},getAxes:function(){var a=this,b=this.options,c=b.xAxis=H(b.xAxis||{}),b=b.yAxis=H(b.yAxis||{});g(this,"getAxes");d(c,function(a,b){a.index=b;a.isX=!0});d(b,function(a,b){a.index=b});c=c.concat(b);d(c,function(b){new l(a,b)});g(this,"afterGetAxes")},
getSelectedPoints:function(){var a=[];d(this.series,function(b){a=a.concat(c(b.data||[],function(a){return a.selected}))});return a},getSelectedSeries:function(){return c(this.series,function(a){return a.selected})},setTitle:function(a,b,c){var e=this,g=e.options,p;p=g.title=J(g.title,a);g=g.subtitle=J(g.subtitle,b);d([["title",a,p],["subtitle",b,g]],function(a,b){var c=a[0],g=e[c],p=a[1];a=a[2];g&&p&&(e[c]=g=g.destroy());a&&!g&&(e[c]=e.renderer.text(a.text,0,0,a.useHTML).attr({align:a.align,"class":"highcharts-"+
c,zIndex:a.zIndex||4}).add(),e[c].update=function(a){e.setTitle(!b&&a,b&&a)})});e.layOutTitles(c)},layOutTitles:function(a){var b=0,c,e=this.renderer,g=this.spacingBox;d(["title","subtitle"],function(a){var c=this[a],p=this.options[a];a="title"===a?-3:p.verticalAlign?0:b+2;var d;c&&(d=e.fontMetrics(d,c).b,c.css({width:(p.width||g.width+p.widthAdjust)+"px"}).align(f({y:a+d},p),!1,"spacingBox"),p.floating||p.verticalAlign||(b=Math.ceil(b+c.getBBox(p.useHTML).height)))},this);c=this.titleOffset!==b;
this.titleOffset=b;!this.isDirtyBox&&c&&(this.isDirtyBox=this.isDirtyLegend=c,this.hasRendered&&x(a,!0)&&this.isDirtyBox&&this.redraw())},getChartSize:function(){var b=this.options.chart,c=b.width,b=b.height,e=this.renderTo;q(c)||(this.containerWidth=a.getStyle(e,"width"));q(b)||(this.containerHeight=a.getStyle(e,"height"));this.chartWidth=Math.max(0,c||this.containerWidth||600);this.chartHeight=Math.max(0,a.relativeLength(b,this.chartWidth)||(1<this.containerHeight?this.containerHeight:400))},temporaryDisplay:function(b){var c=
this.renderTo;if(b)for(;c&&c.style;)c.hcOrigStyle&&(a.css(c,c.hcOrigStyle),delete c.hcOrigStyle),c.hcOrigDetached&&(r.body.removeChild(c),c.hcOrigDetached=!1),c=c.parentNode;else for(;c&&c.style;){r.body.contains(c)||c.parentNode||(c.hcOrigDetached=!0,r.body.appendChild(c));if("none"===a.getStyle(c,"display",!1)||c.hcOricDetached)c.hcOrigStyle={display:c.style.display,height:c.style.height,overflow:c.style.overflow},b={display:"block",overflow:"hidden"},c!==this.renderTo&&(b.height=0),a.css(c,b),
c.offsetWidth||c.style.setProperty("display","block","important");c=c.parentNode;if(c===r.body)break}},setClassName:function(a){this.container.className="highcharts-container "+(a||"")},getContainer:function(){var c,d=this.options,f=d.chart,h,k;c=this.renderTo;var x=a.uniqueKey(),l;c||(this.renderTo=c=f.renderTo);e(c)&&(this.renderTo=c=r.getElementById(c));c||a.error(13,!0);h=G(B(c,"data-highcharts-chart"));b(h)&&m[h]&&m[h].hasRendered&&m[h].destroy();B(c,"data-highcharts-chart",this.index);c.innerHTML=
"";f.skipClone||c.offsetWidth||this.temporaryDisplay();this.getChartSize();h=this.chartWidth;k=this.chartHeight;this.container=c=n("div",{id:x},void 0,c);this._cursor=c.style.cursor;this.renderer=new (a[f.renderer]||a.Renderer)(c,h,k,null,f.forExport,d.exporting&&d.exporting.allowHTML);this.setClassName(f.className);for(l in d.defs)this.renderer.definition(d.defs[l]);this.renderer.chartIndex=this.index;g(this,"afterGetContainer")},getMargins:function(a){var b=this.spacing,c=this.margin,e=this.titleOffset;
this.resetMargins();e&&!q(c[0])&&(this.plotTop=Math.max(this.plotTop,e+this.options.title.margin+b[0]));this.legend&&this.legend.display&&this.legend.adjustMargins(c,b);g(this,"getMargins");a||this.getAxisMargins()},getAxisMargins:function(){var a=this,b=a.axisOffset=[0,0,0,0],c=a.margin;a.hasCartesianSeries&&d(a.axes,function(a){a.visible&&a.getOffset()});d(w,function(e,g){q(c[g])||(a[e]+=b[g])});a.setChartSize()},reflow:function(b){var c=this,e=c.options.chart,g=c.renderTo,d=q(e.width)&&q(e.height),
p=e.width||a.getStyle(g,"width"),e=e.height||a.getStyle(g,"height"),g=b?b.target:y;if(!d&&!c.isPrinting&&p&&e&&(g===y||g===r)){if(p!==c.containerWidth||e!==c.containerHeight)a.clearTimeout(c.reflowTimeout),c.reflowTimeout=A(function(){c.container&&c.setSize(void 0,void 0,!1)},b?100:0);c.containerWidth=p;c.containerHeight=e}},setReflow:function(a){var b=this;!1===a||this.unbindReflow?!1===a&&this.unbindReflow&&(this.unbindReflow=this.unbindReflow()):(this.unbindReflow=z(y,"resize",function(a){b.reflow(a)}),
z(this,"destroy",this.unbindReflow))},setSize:function(b,c,e){var p=this,f=p.renderer;p.isResizing+=1;a.setAnimation(e,p);p.oldChartHeight=p.chartHeight;p.oldChartWidth=p.chartWidth;void 0!==b&&(p.options.chart.width=b);void 0!==c&&(p.options.chart.height=c);p.getChartSize();p.setChartSize(!0);f.setSize(p.chartWidth,p.chartHeight,e);d(p.axes,function(a){a.isDirty=!0;a.setScale()});p.isDirtyLegend=!0;p.isDirtyBox=!0;p.layOutTitles();p.getMargins();p.redraw(e);p.oldChartHeight=null;g(p,"resize");A(function(){p&&
g(p,"endResize",null,function(){--p.isResizing})},C(void 0).duration)},setChartSize:function(a){var b=this.inverted,c=this.renderer,e=this.chartWidth,p=this.chartHeight,f=this.options.chart,h=this.spacing,k=this.clipOffset,x,m,n,l;this.plotLeft=x=Math.round(this.plotLeft);this.plotTop=m=Math.round(this.plotTop);this.plotWidth=n=Math.max(0,Math.round(e-x-this.marginRight));this.plotHeight=l=Math.max(0,Math.round(p-m-this.marginBottom));this.plotSizeX=b?l:n;this.plotSizeY=b?n:l;this.plotBorderWidth=
f.plotBorderWidth||0;this.spacingBox=c.spacingBox={x:h[3],y:h[0],width:e-h[3]-h[1],height:p-h[0]-h[2]};this.plotBox=c.plotBox={x:x,y:m,width:n,height:l};e=2*Math.floor(this.plotBorderWidth/2);b=Math.ceil(Math.max(e,k[3])/2);c=Math.ceil(Math.max(e,k[0])/2);this.clipBox={x:b,y:c,width:Math.floor(this.plotSizeX-Math.max(e,k[1])/2-b),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(e,k[2])/2-c))};a||d(this.axes,function(a){a.setAxisSize();a.setAxisTranslation()});g(this,"afterSetChartSize",{skipAxes:a})},
resetMargins:function(){var a=this,b=a.options.chart;d(["margin","spacing"],function(c){var e=b[c],g=h(e)?e:[e,e,e,e];d(["Top","Right","Bottom","Left"],function(e,p){a[c][p]=x(b[c+e],g[p])})});d(w,function(b,c){a[b]=x(a.margin[c],a.spacing[c])});a.axisOffset=[0,0,0,0];a.clipOffset=[0,0,0,0]},drawChartBox:function(){var a=this.options.chart,b=this.renderer,c=this.chartWidth,e=this.chartHeight,d=this.chartBackground,f=this.plotBackground,h=this.plotBorder,k,x,m=this.plotLeft,n=this.plotTop,l=this.plotWidth,
G=this.plotHeight,y=this.plotBox,q=this.clipRect,w=this.clipBox,v="animate";d||(this.chartBackground=d=b.rect().addClass("highcharts-background").add(),v="attr");k=x=d.strokeWidth();d[v]({x:x/2,y:x/2,width:c-x-k%2,height:e-x-k%2,r:a.borderRadius});v="animate";f||(v="attr",this.plotBackground=f=b.rect().addClass("highcharts-plot-background").add());f[v](y);q?q.animate({width:w.width,height:w.height}):this.clipRect=b.clipRect(w);v="animate";h||(v="attr",this.plotBorder=h=b.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add());
h[v](h.crisp({x:m,y:n,width:l,height:G},-h.strokeWidth()));this.isDirtyBox=!1;g(this,"afterDrawChartBox")},propFromSeries:function(){var a=this,b=a.options.chart,c,e=a.options.series,g,f;d(["inverted","angular","polar"],function(d){c=F[b.type||b.defaultSeriesType];f=b[d]||c&&c.prototype[d];for(g=e&&e.length;!f&&g--;)(c=F[e[g].type])&&c.prototype[d]&&(f=!0);a[d]=f})},linkSeries:function(){var a=this,b=a.series;d(b,function(a){a.linkedSeries.length=0});d(b,function(b){var c=b.options.linkedTo;e(c)&&
(c=":previous"===c?a.series[b.index-1]:a.get(c))&&c.linkedParent!==b&&(c.linkedSeries.push(b),b.linkedParent=c,b.visible=x(b.options.visible,c.options.visible,b.visible))});g(this,"afterLinkSeries")},renderSeries:function(){d(this.series,function(a){a.translate();a.render()})},renderLabels:function(){var a=this,b=a.options.labels;b.items&&d(b.items,function(c){var e=f(b.style,c.style),g=G(e.left)+a.plotLeft,d=G(e.top)+a.plotTop+12;delete e.left;delete e.top;a.renderer.text(c.html,g,d).attr({zIndex:2}).css(e).add()})},
render:function(){var a=this.axes,b=this.renderer,c=this.options,e,g,f;this.setTitle();this.legend=new v(this,c.legend);this.getStacks&&this.getStacks();this.getMargins(!0);this.setChartSize();c=this.plotWidth;e=this.plotHeight=Math.max(this.plotHeight-21,0);d(a,function(a){a.setScale()});this.getAxisMargins();g=1.1<c/this.plotWidth;f=1.05<e/this.plotHeight;if(g||f)d(a,function(a){(a.horiz&&g||!a.horiz&&f)&&a.setTickInterval(!0)}),this.getMargins();this.drawChartBox();this.hasCartesianSeries&&d(a,
function(a){a.visible&&a.render()});this.seriesGroup||(this.seriesGroup=b.g("series-group").attr({zIndex:3}).add());this.renderSeries();this.renderLabels();this.addCredits();this.setResponsive&&this.setResponsive();this.hasRendered=!0},addCredits:function(a){var b=this;a=J(!0,this.options.credits,a);a.enabled&&!this.credits&&(this.credits=this.renderer.text(a.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){a.href&&(y.location.href=a.href)}).attr({align:a.position.align,
zIndex:8}).add().align(a.position),this.credits.update=function(a){b.credits=b.credits.destroy();b.addCredits(a)})},destroy:function(){var b=this,c=b.axes,e=b.series,f=b.container,h,k=f&&f.parentNode;g(b,"destroy");b.renderer.forExport?a.erase(m,b):m[b.index]=void 0;a.chartCount--;b.renderTo.removeAttribute("data-highcharts-chart");M(b);for(h=c.length;h--;)c[h]=c[h].destroy();this.scroller&&this.scroller.destroy&&this.scroller.destroy();for(h=e.length;h--;)e[h]=e[h].destroy();d("title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer".split(" "),
function(a){var c=b[a];c&&c.destroy&&(b[a]=c.destroy())});f&&(f.innerHTML="",M(f),k&&u(f));D(b,function(a,c){delete b[c]})},firstRender:function(){var a=this,b=a.options;if(!a.isReadyToRender||a.isReadyToRender()){a.getContainer();a.resetMargins();a.setChartSize();a.propFromSeries();a.getAxes();d(b.series||[],function(b){a.initSeries(b)});a.linkSeries();g(a,"beforeRender");E&&(a.pointer=new E(a,b));a.render();if(!a.renderer.imgCount&&a.onload)a.onload();a.temporaryDisplay(!0)}},onload:function(){d([this.callback].concat(this.callbacks),
function(a){a&&void 0!==this.index&&a.apply(this,[this])},this);g(this,"load");g(this,"render");q(this.index)&&this.setReflow(this.options.chart.reflow);this.onload=null}})})(I);(function(a){var z=a.addEvent,C=a.Chart,B=a.each;z(C,"afterSetChartSize",function(r){var l=this.options.chart.scrollablePlotArea;(l=l&&l.minWidth)&&!this.renderer.forExport&&(this.scrollablePixels=l=Math.max(0,l-this.chartWidth))&&(this.plotWidth+=l,this.clipBox.width+=l,r.skipAxes||B(this.axes,function(n){1===n.side?n.getPlotLinePath=
function(){var l=this.right,r;this.right=l-n.chart.scrollablePixels;r=a.Axis.prototype.getPlotLinePath.apply(this,arguments);this.right=l;return r}:(n.setAxisSize(),n.setAxisTranslation())}))});z(C,"render",function(){this.scrollablePixels?(this.setUpScrolling&&this.setUpScrolling(),this.applyFixed()):this.fixedDiv&&this.applyFixed()});C.prototype.setUpScrolling=function(){this.scrollingContainer=a.createElement("div",{className:"highcharts-scrolling"},{overflowX:"auto",WebkitOverflowScrolling:"touch"},
this.renderTo);this.innerContainer=a.createElement("div",{className:"highcharts-inner-container"},null,this.scrollingContainer);this.innerContainer.appendChild(this.container);this.setUpScrolling=null};C.prototype.applyFixed=function(){var r=this.container,l,n,t=!this.fixedDiv;t&&(this.fixedDiv=a.createElement("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:2},null,!0),this.renderTo.insertBefore(this.fixedDiv,this.renderTo.firstChild),this.fixedRenderer=
l=new a.Renderer(this.fixedDiv,0,0),this.scrollableMask=l.path().attr({fill:a.color(this.options.chart.backgroundColor||"#fff").setOpacity(.85).get(),zIndex:-1}).addClass("highcharts-scrollable-mask").add(),a.each([this.inverted?".highcharts-xaxis":".highcharts-yaxis",this.inverted?".highcharts-xaxis-labels":".highcharts-yaxis-labels",".highcharts-contextbutton",".highcharts-credits",".highcharts-legend",".highcharts-subtitle",".highcharts-title",".highcharts-legend-checkbox"],function(m){a.each(r.querySelectorAll(m),
function(a){(a.namespaceURI===l.SVG_NS?l.box:l.box.parentNode).appendChild(a);a.style.pointerEvents="auto"})}));this.fixedRenderer.setSize(this.chartWidth,this.chartHeight);n=this.chartWidth+this.scrollablePixels;a.stop(this.container);this.container.style.width=n+"px";this.renderer.boxWrapper.attr({width:n,height:this.chartHeight,viewBox:[0,0,n,this.chartHeight].join(" ")});this.chartBackground.attr({width:n});t&&(n=this.options.chart.scrollablePlotArea,n.scrollPositionX&&(this.scrollingContainer.scrollLeft=
this.scrollablePixels*n.scrollPositionX));t=this.axisOffset;n=this.plotTop-t[0]-1;var t=this.plotTop+this.plotHeight+t[2],u=this.plotLeft+this.plotWidth-this.scrollablePixels;this.scrollableMask.attr({d:this.scrollablePixels?["M",0,n,"L",this.plotLeft-1,n,"L",this.plotLeft-1,t,"L",0,t,"Z","M",u,n,"L",this.chartWidth,n,"L",this.chartWidth,t,"L",u,t,"Z"]:["M",0,0]})}})(I);(function(a){var z,C=a.each,B=a.extend,r=a.erase,l=a.fireEvent,n=a.format,t=a.isArray,u=a.isNumber,m=a.pick,q=a.uniqueKey,d=a.defined,
f=a.removeEvent;a.Point=z=function(){};a.Point.prototype={init:function(a,g,c){var b=a.chart.options.chart.colorCount;this.series=a;this.applyOptions(g,c);this.id=d(this.id)?this.id:q();a.options.colorByPoint?(g=a.colorCounter,a.colorCounter++,a.colorCounter===b&&(a.colorCounter=0)):g=a.colorIndex;this.colorIndex=m(this.colorIndex,g);a.chart.pointCount++;l(this,"afterInit");return this},applyOptions:function(a,g){var c=this.series,b=c.options.pointValKey||c.pointValKey;a=z.prototype.optionsToObject.call(this,
a);B(this,a);this.options=this.options?B(this.options,a):a;a.group&&delete this.group;a.dataLabels&&delete this.dataLabels;b&&(this.y=this[b]);this.isNull=m(this.isValid&&!this.isValid(),null===this.x||!u(this.y,!0));this.selected&&(this.state="select");"name"in this&&void 0===g&&c.xAxis&&c.xAxis.hasNames&&(this.x=c.xAxis.nameToX(this));void 0===this.x&&c&&(this.x=void 0===g?c.autoIncrement(this):g);return this},setNestedProperty:function(d,g,c){c=c.split(".");a.reduce(c,function(b,c,e,d){b[c]=d.length-
1===e?g:a.isObject(b[c],!0)?b[c]:{};return b[c]},d);return d},optionsToObject:function(d){var g={},c=this.series,b=c.options.keys,f=b||c.pointArrayMap||["y"],e=f.length,k=0,m=0;if(u(d)||null===d)g[f[0]]=d;else if(t(d))for(!b&&d.length>e&&(c=typeof d[0],"string"===c?g.name=d[0]:"number"===c&&(g.x=d[0]),k++);m<e;)b&&void 0===d[k]||(0<f[m].indexOf(".")?a.Point.prototype.setNestedProperty(g,d[k],f[m]):g[f[m]]=d[k]),k++,m++;else"object"===typeof d&&(g=d,d.dataLabels&&(c._hasPointLabels=!0),d.marker&&(c._hasPointMarkers=
!0));return g},getClassName:function(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")},getZone:function(){var a=this.series,g=a.zones,a=a.zoneAxis||"y",c=0,b;for(b=g[c];this[a]>=
b.value;)b=g[++c];this.nonZonedColor||(this.nonZonedColor=this.color);this.color=b&&b.color&&!this.options.color?b.color:this.nonZonedColor;return b},destroy:function(){var a=this.series.chart,g=a.hoverPoints,c;a.pointCount--;g&&(this.setState(),r(g,this),g.length||(a.hoverPoints=null));if(this===a.hoverPoint)this.onMouseOut();if(this.graphic||this.dataLabel||this.dataLabels)f(this),this.destroyElements();this.legendItem&&a.legend.destroyItem(this);for(c in this)this[c]=null},destroyElements:function(){for(var a=
["graphic","dataLabel","dataLabelUpper","connector","shadowGroup"],g,c=6;c--;)g=a[c],this[g]&&(this[g]=this[g].destroy());this.dataLabels&&(C(this.dataLabels,function(a){a.element&&a.destroy()}),delete this.dataLabels);this.connectors&&(C(this.connectors,function(a){a.element&&a.destroy()}),delete this.connectors)},getLabelConfig:function(){return{x:this.category,y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,
total:this.total||this.stackTotal}},tooltipFormatter:function(a){var g=this.series,c=g.tooltipOptions,b=m(c.valueDecimals,""),d=c.valuePrefix||"",e=c.valueSuffix||"";C(g.pointArrayMap||["y"],function(c){c="{point."+c;if(d||e)a=a.replace(RegExp(c+"}","g"),d+c+"}"+e);a=a.replace(RegExp(c+"}","g"),c+":,."+b+"f}")});return n(a,{point:this,series:this.series},g.chart.time)},firePointEvent:function(a,g,c){var b=this,d=this.series.options;(d.point.events[a]||b.options&&b.options.events&&b.options.events[a])&&
this.importEvents();"click"===a&&d.allowPointSelect&&(c=function(a){b.select&&b.select(null,a.ctrlKey||a.metaKey||a.shiftKey)});l(this,a,g,c)},visible:!0}})(I);(function(a){var z=a.addEvent,C=a.animObject,B=a.arrayMax,r=a.arrayMin,l=a.correctFloat,n=a.defaultOptions,t=a.defined,u=a.each,m=a.erase,q=a.extend,d=a.fireEvent,f=a.grep,k=a.isArray,g=a.isNumber,c=a.isString,b=a.merge,h=a.objectEach,e=a.pick,v=a.removeEvent,w=a.splat,J=a.SVGElement,D=a.syncTimeout,E=a.win;a.Series=a.seriesType("line",null,
{allowPointSelect:!1,showCheckbox:!1,animation:{duration:1E3},events:{},marker:{enabledThreshold:2,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:50},enabled:!0,radiusPlus:2}}},point:{events:{}},dataLabels:{align:"center",formatter:function(){return null===this.y?"":a.numberFormat(this.y,-1)},verticalAlign:"bottom",x:0,y:0,padding:5},cropThreshold:300,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:50},lineWidthPlus:1,marker:{},halo:{size:10}},
select:{}},stickyTracking:!0,turboThreshold:1E3,findNearestPointBy:"x"},{isCartesian:!0,pointClass:a.Point,sorted:!0,requireSorting:!0,directTouch:!1,axisTypes:["xAxis","yAxis"],colorCounter:0,parallelArrays:["x","y"],coll:"series",init:function(a,b){var c=this,g,f=a.series,k;c.chart=a;c.options=b=c.setOptions(b);c.linkedSeries=[];c.bindAxes();q(c,{name:b.name,state:"",visible:!1!==b.visible,selected:!0===b.selected});g=b.events;h(g,function(a,b){z(c,b,a)});if(g&&g.click||b.point&&b.point.events&&
b.point.events.click||b.allowPointSelect)a.runTrackerClick=!0;c.getColor();c.getSymbol();u(c.parallelArrays,function(a){c[a+"Data"]=[]});c.setData(b.data,!1);c.isCartesian&&(a.hasCartesianSeries=!0);f.length&&(k=f[f.length-1]);c._i=e(k&&k._i,-1)+1;a.orderSeries(this.insert(f));d(this,"afterInit")},insert:function(a){var b=this.options.index,c;if(g(b)){for(c=a.length;c--;)if(b>=e(a[c].options.index,a[c]._i)){a.splice(c+1,0,this);break}-1===c&&a.unshift(this);c+=1}else a.push(this);return e(c,a.length-
1)},bindAxes:function(){var b=this,c=b.options,e=b.chart,g;u(b.axisTypes||[],function(d){u(e[d],function(a){g=a.options;if(c[d]===g.index||void 0!==c[d]&&c[d]===g.id||void 0===c[d]&&0===g.index)b.insert(a.series),b[d]=a,a.isDirty=!0});b[d]||b.optionalAxis===d||a.error(18,!0)})},updateParallelArrays:function(a,b){var c=a.series,e=arguments,d=g(b)?function(e){var g="y"===e&&c.toYData?c.toYData(a):a[e];c[e+"Data"][b]=g}:function(a){Array.prototype[b].apply(c[a+"Data"],Array.prototype.slice.call(e,2))};
u(c.parallelArrays,d)},autoIncrement:function(){var a=this.options,b=this.xIncrement,c,g=a.pointIntervalUnit,d=this.chart.time,b=e(b,a.pointStart,0);this.pointInterval=c=e(this.pointInterval,a.pointInterval,1);g&&(a=new d.Date(b),"day"===g?d.set("Date",a,d.get("Date",a)+c):"month"===g?d.set("Month",a,d.get("Month",a)+c):"year"===g&&d.set("FullYear",a,d.get("FullYear",a)+c),c=a.getTime()-b);this.xIncrement=b+c;return b},setOptions:function(a){var c=this.chart,g=c.options,f=g.plotOptions,h=(c.userOptions||
{}).plotOptions||{},k=f[this.type];this.userOptions=a;c=b(k,f.series,a);this.tooltipOptions=b(n.tooltip,n.plotOptions.series&&n.plotOptions.series.tooltip,n.plotOptions[this.type].tooltip,g.tooltip.userOptions,f.series&&f.series.tooltip,f[this.type].tooltip,a.tooltip);this.stickyTracking=e(a.stickyTracking,h[this.type]&&h[this.type].stickyTracking,h.series&&h.series.stickyTracking,this.tooltipOptions.shared&&!this.noSharedTooltip?!0:c.stickyTracking);null===k.marker&&delete c.marker;this.zoneAxis=
c.zoneAxis;a=this.zones=(c.zones||[]).slice();!c.negativeColor&&!c.negativeFillColor||c.zones||a.push({value:c[this.zoneAxis+"Threshold"]||c.threshold||0,className:"highcharts-negative"});a.length&&t(a[a.length-1].value)&&a.push({});d(this,"afterSetOptions",{options:c});return c},getName:function(){return this.name||"Series "+(this.index+1)},getCyclic:function(a,b,c){var g,d=this.chart,f=this.userOptions,h=a+"Index",k=a+"Counter",p=c?c.length:e(d.options.chart[a+"Count"],d[a+"Count"]);b||(g=e(f[h],
f["_"+h]),t(g)||(d.series.length||(d[k]=0),f["_"+h]=g=d[k]%p,d[k]+=1),c&&(b=c[g]));void 0!==g&&(this[h]=g);this[a]=b},getColor:function(){this.getCyclic("color")},getSymbol:function(){this.getCyclic("symbol",this.options.marker.symbol,this.chart.options.symbols)},drawLegendSymbol:a.LegendSymbolMixin.drawLineMarker,updateData:function(b){var c=this.options,e=this.points,d=[],f,h,k,m=this.requireSorting;u(b,function(b){var p;p=a.defined(b)&&this.pointClass.prototype.optionsToObject.call({series:this},
b).x;g(p)&&(p=a.inArray(p,this.xData,k),-1===p||e[p].touched?d.push(b):b!==c.data[p]?(e[p].update(b,!1,null,!1),e[p].touched=!0,m&&(k=p+1)):e[p]&&(e[p].touched=!0),f=!0)},this);if(f)for(b=e.length;b--;)h=e[b],h.touched||h.remove(!1),h.touched=!1;else if(b.length===e.length)u(b,function(a,b){e[b].update&&a!==c.data[b]&&e[b].update(a,!1,null,!1)});else return!1;u(d,function(a){this.addPoint(a,!1)},this);return!0},setData:function(b,d,f,h){var m=this,n=m.points,x=n&&n.length||0,l,p=m.options,q=m.chart,
w=null,v=m.xAxis,D=p.turboThreshold,G=this.xData,E=this.yData,r=(l=m.pointArrayMap)&&l.length,t;b=b||[];l=b.length;d=e(d,!0);!1!==h&&l&&x&&!m.cropped&&!m.hasGroupedData&&m.visible&&!m.isSeriesBoosting&&(t=this.updateData(b));if(!t){m.xIncrement=null;m.colorCounter=0;u(this.parallelArrays,function(a){m[a+"Data"].length=0});if(D&&l>D){for(f=0;null===w&&f<l;)w=b[f],f++;if(g(w))for(f=0;f<l;f++)G[f]=this.autoIncrement(),E[f]=b[f];else if(k(w))if(r)for(f=0;f<l;f++)w=b[f],G[f]=w[0],E[f]=w.slice(1,r+1);else for(f=
0;f<l;f++)w=b[f],G[f]=w[0],E[f]=w[1];else a.error(12)}else for(f=0;f<l;f++)void 0!==b[f]&&(w={series:m},m.pointClass.prototype.applyOptions.apply(w,[b[f]]),m.updateParallelArrays(w,f));E&&c(E[0])&&a.error(14,!0);m.data=[];m.options.data=m.userOptions.data=b;for(f=x;f--;)n[f]&&n[f].destroy&&n[f].destroy();v&&(v.minRange=v.userMinRange);m.isDirty=q.isDirtyBox=!0;m.isDirtyData=!!n;f=!1}"point"===p.legendType&&(this.processData(),this.generatePoints());d&&q.redraw(f)},processData:function(b){var c=this.xData,
e=this.yData,g=c.length,d;d=0;var f,h,k=this.xAxis,p,m=this.options;p=m.cropThreshold;var n=this.getExtremesFromAll||m.getExtremesFromAll,l=this.isCartesian,m=k&&k.val2lin,x=k&&k.isLog,q=this.requireSorting,w,v;if(l&&!this.isDirty&&!k.isDirty&&!this.yAxis.isDirty&&!b)return!1;k&&(b=k.getExtremes(),w=b.min,v=b.max);l&&this.sorted&&!n&&(!p||g>p||this.forceCrop)&&(c[g-1]<w||c[0]>v?(c=[],e=[]):this.yData&&(c[0]<w||c[g-1]>v)&&(d=this.cropData(this.xData,this.yData,w,v),c=d.xData,e=d.yData,d=d.start,f=
!0));for(p=c.length||1;--p;)g=x?m(c[p])-m(c[p-1]):c[p]-c[p-1],0<g&&(void 0===h||g<h)?h=g:0>g&&q&&(a.error(15),q=!1);this.cropped=f;this.cropStart=d;this.processedXData=c;this.processedYData=e;this.closestPointRange=h},cropData:function(a,b,c,g,d){var f=a.length,h=0,k=f,p;d=e(d,this.cropShoulder,1);for(p=0;p<f;p++)if(a[p]>=c){h=Math.max(0,p-d);break}for(c=p;c<f;c++)if(a[c]>g){k=c+d;break}return{xData:a.slice(h,k),yData:b.slice(h,k),start:h,end:k}},generatePoints:function(){var a=this.options,b=a.data,
c=this.data,e,g=this.processedXData,d=this.processedYData,f=this.pointClass,h=g.length,p=this.cropStart||0,k,m=this.hasGroupedData,a=a.keys,n,l=[],v;c||m||(c=[],c.length=b.length,c=this.data=c);a&&m&&(this.options.keys=!1);for(v=0;v<h;v++)k=p+v,m?(n=(new f).init(this,[g[v]].concat(w(d[v]))),n.dataGroup=this.groupMap[v],n.dataGroup.options&&(n.options=n.dataGroup.options,q(n,n.dataGroup.options))):(n=c[k])||void 0===b[k]||(c[k]=n=(new f).init(this,b[k],g[v])),n&&(n.index=k,l[v]=n);this.options.keys=
a;if(c&&(h!==(e=c.length)||m))for(v=0;v<e;v++)v!==p||m||(v+=h),c[v]&&(c[v].destroyElements(),c[v].plotX=void 0);this.data=c;this.points=l},getExtremes:function(a){var b=this.yAxis,c=this.processedXData,e,d=[],f=0;e=this.xAxis.getExtremes();var h=e.min,m=e.max,p,n,l=this.requireSorting?1:0,x,w;a=a||this.stackedYData||this.processedYData||[];e=a.length;for(w=0;w<e;w++)if(n=c[w],x=a[w],p=(g(x,!0)||k(x))&&(!b.positiveValuesOnly||x.length||0<x),n=this.getExtremesFromAll||this.options.getExtremesFromAll||
this.cropped||(c[w+l]||n)>=h&&(c[w-l]||n)<=m,p&&n)if(p=x.length)for(;p--;)"number"===typeof x[p]&&(d[f++]=x[p]);else d[f++]=x;this.dataMin=r(d);this.dataMax=B(d)},translate:function(){this.processedXData||this.processData();this.generatePoints();var a=this.options,b=a.stacking,c=this.xAxis,f=c.categories,h=this.yAxis,k=this.points,m=k.length,n=!!this.modifyValue,p=a.pointPlacement,w="between"===p||g(p),q=a.threshold,v=a.startFromThreshold?q:0,D,E,r,J,u=Number.MAX_VALUE;"between"===p&&(p=.5);g(p)&&
(p*=e(a.pointRange||c.pointRange));for(a=0;a<m;a++){var z=k[a],C=z.x,B=z.y;E=z.low;var I=b&&h.stacks[(this.negStacks&&B<(v?0:q)?"-":"")+this.stackKey],U;h.positiveValuesOnly&&null!==B&&0>=B&&(z.isNull=!0);z.plotX=D=l(Math.min(Math.max(-1E5,c.translate(C,0,0,0,1,p,"flags"===this.type)),1E5));b&&this.visible&&!z.isNull&&I&&I[C]&&(J=this.getStackIndicator(J,C,this.index),U=I[C],B=U.points[J.key],E=B[0],B=B[1],E===v&&J.key===I[C].base&&(E=e(g(q)&&q,h.min)),h.positiveValuesOnly&&0>=E&&(E=null),z.total=
z.stackTotal=U.total,z.percentage=U.total&&z.y/U.total*100,z.stackY=B,U.setOffset(this.pointXOffset||0,this.barW||0));z.yBottom=t(E)?Math.min(Math.max(-1E5,h.translate(E,0,1,0,1)),1E5):null;n&&(B=this.modifyValue(B,z));z.plotY=E="number"===typeof B&&Infinity!==B?Math.min(Math.max(-1E5,h.translate(B,0,1,0,1)),1E5):void 0;z.isInside=void 0!==E&&0<=E&&E<=h.len&&0<=D&&D<=c.len;z.clientX=w?l(c.translate(C,0,0,0,1,p)):D;z.negative=z.y<(q||0);z.category=f&&void 0!==f[z.x]?f[z.x]:z.x;z.isNull||(void 0!==
r&&(u=Math.min(u,Math.abs(D-r))),r=D);z.zone=this.zones.length&&z.getZone()}this.closestPointRangePx=u;d(this,"afterTranslate")},getValidPoints:function(a,b){var c=this.chart;return f(a||this.points||[],function(a){return b&&!c.isInsidePlot(a.plotX,a.plotY,c.inverted)?!1:!a.isNull})},setClip:function(a){var b=this.chart,c=this.options,e=b.renderer,g=b.inverted,d=this.clipBox,f=d||b.clipBox,h=this.sharedClipKey||["_sharedClip",a&&a.duration,a&&a.easing,f.height,c.xAxis,c.yAxis].join(),p=b[h],k=b[h+
"m"];p||(a&&(f.width=0,g&&(f.x=b.plotSizeX),b[h+"m"]=k=e.clipRect(g?b.plotSizeX+99:-99,g?-b.plotLeft:-b.plotTop,99,g?b.chartWidth:b.chartHeight)),b[h]=p=e.clipRect(f),p.count={length:0});a&&!p.count[this.index]&&(p.count[this.index]=!0,p.count.length+=1);!1!==c.clip&&(this.group.clip(a||d?p:b.clipRect),this.markerGroup.clip(k),this.sharedClipKey=h);a||(p.count[this.index]&&(delete p.count[this.index],--p.count.length),0===p.count.length&&h&&b[h]&&(d||(b[h]=b[h].destroy()),b[h+"m"]&&(b[h+"m"]=b[h+
"m"].destroy())))},animate:function(a){var b=this.chart,c=C(this.options.animation),e;a?this.setClip(c):(e=this.sharedClipKey,(a=b[e])&&a.animate({width:b.plotSizeX,x:0},c),b[e+"m"]&&b[e+"m"].animate({width:b.plotSizeX+99,x:0},c),this.animate=null)},afterAnimate:function(){this.setClip();d(this,"afterAnimate");this.finishedAnimating=!0},drawPoints:function(){var a=this.points,b=this.chart,c,g,d,f,h=this.options.marker,k,p,m,n=this[this.specialGroup]||this.markerGroup,l,w=e(h.enabled,this.xAxis.isRadial?
!0:null,this.closestPointRangePx>=h.enabledThreshold*h.radius);if(!1!==h.enabled||this._hasPointMarkers)for(c=0;c<a.length;c++)g=a[c],f=g.graphic,k=g.marker||{},p=!!g.marker,d=w&&void 0===k.enabled||k.enabled,m=g.isInside,d&&!g.isNull?(d=e(k.symbol,this.symbol),l=this.markerAttribs(g,g.selected&&"select"),f?f[m?"show":"hide"](!0).animate(l):m&&(0<l.width||g.hasImage)&&(g.graphic=f=b.renderer.symbol(d,l.x,l.y,l.width,l.height,p?k:h).add(n)),f&&f.addClass(g.getClassName(),!0)):f&&(g.graphic=f.destroy())},
markerAttribs:function(a,b){var c=this.options.marker,g=a.marker||{},d=g.symbol||c.symbol,f=e(g.radius,c.radius);b&&(c=c.states[b],b=g.states&&g.states[b],f=e(b&&b.radius,c&&c.radius,f+(c&&c.radiusPlus||0)));a.hasImage=d&&0===d.indexOf("url");a.hasImage&&(f=0);a={x:Math.floor(a.plotX)-f,y:a.plotY-f};f&&(a.width=a.height=2*f);return a},destroy:function(){var b=this,c=b.chart,e=/AppleWebKit\/533/.test(E.navigator.userAgent),g,f,k=b.data||[],n,l;d(b,"destroy");v(b);u(b.axisTypes||[],function(a){(l=b[a])&&
l.series&&(m(l.series,b),l.isDirty=l.forceRedraw=!0)});b.legendItem&&b.chart.legend.destroyItem(b);for(f=k.length;f--;)(n=k[f])&&n.destroy&&n.destroy();b.points=null;a.clearTimeout(b.animationTimeout);h(b,function(a,b){a instanceof J&&!a.survive&&(g=e&&"group"===b?"hide":"destroy",a[g]())});c.hoverSeries===b&&(c.hoverSeries=null);m(c.series,b);c.orderSeries();h(b,function(a,c){delete b[c]})},getGraphPath:function(a,b,c){var e=this,g=e.options,d=g.step,f,h=[],p=[],k;a=a||e.points;(f=a.reversed)&&a.reverse();
(d={right:1,center:2}[d]||d&&3)&&f&&(d=4-d);!g.connectNulls||b||c||(a=this.getValidPoints(a));u(a,function(f,m){var n=f.plotX,l=f.plotY,w=a[m-1];(f.leftCliff||w&&w.rightCliff)&&!c&&(k=!0);f.isNull&&!t(b)&&0<m?k=!g.connectNulls:f.isNull&&!b?k=!0:(0===m||k?m=["M",f.plotX,f.plotY]:e.getPointSpline?m=e.getPointSpline(a,f,m):d?(m=1===d?["L",w.plotX,l]:2===d?["L",(w.plotX+n)/2,w.plotY,"L",(w.plotX+n)/2,l]:["L",n,w.plotY],m.push("L",n,l)):m=["L",n,l],p.push(f.x),d&&(p.push(f.x),2===d&&p.push(f.x)),h.push.apply(h,
m),k=!1)});h.xMap=p;return e.graphPath=h},drawGraph:function(){var a=this,b=(this.gappedPath||this.getGraphPath).call(this),c=[["graph","highcharts-graph"]],c=a.getZonesGraphs(c);u(c,function(c,e){e=c[0];var g=a[e];g?(g.endX=a.preventGraphAnimation?null:b.xMap,g.animate({d:b})):b.length&&(a[e]=a.chart.renderer.path(b).addClass(c[1]).attr({zIndex:1}).add(a.group));g&&(g.startX=b.xMap,g.isArea=b.isArea)})},getZonesGraphs:function(a){u(this.zones,function(b,c){a.push(["zone-graph-"+c,"highcharts-graph highcharts-zone-graph-"+
c+" "+(b.className||"")])},this);return a},applyZones:function(){var a=this,b=this.chart,c=b.renderer,g=this.zones,d,f,h=this.clips||[],k,p=this.graph,m=this.area,n=Math.max(b.chartWidth,b.chartHeight),l=this[(this.zoneAxis||"y")+"Axis"],w,q,v=b.inverted,D,E,r,t,J=!1;g.length&&(p||m)&&l&&void 0!==l.min&&(q=l.reversed,D=l.horiz,p&&!this.showLine&&p.hide(),m&&m.hide(),w=l.getExtremes(),u(g,function(g,x){d=q?D?b.plotWidth:0:D?0:l.toPixels(w.min);d=Math.min(Math.max(e(f,d),0),n);f=Math.min(Math.max(Math.round(l.toPixels(e(g.value,
w.max),!0)),0),n);J&&(d=f=l.toPixels(w.max));E=Math.abs(d-f);r=Math.min(d,f);t=Math.max(d,f);l.isXAxis?(k={x:v?t:r,y:0,width:E,height:n},D||(k.x=b.plotHeight-k.x)):(k={x:0,y:v?t:r,width:n,height:E},D&&(k.y=b.plotWidth-k.y));h[x]?h[x].animate(k):(h[x]=c.clipRect(k),p&&a["zone-graph-"+x].clip(h[x]),m&&a["zone-area-"+x].clip(h[x]));J=g.value>w.max;a.resetZones&&0===f&&(f=void 0)}),this.clips=h)},invertGroups:function(a){function b(){u(["group","markerGroup"],function(b){c[b]&&(e.renderer.isVML&&c[b].attr({width:c.yAxis.len,
height:c.xAxis.len}),c[b].width=c.yAxis.len,c[b].height=c.xAxis.len,c[b].invert(a))})}var c=this,e=c.chart,g;c.xAxis&&(g=z(e,"resize",b),z(c,"destroy",g),b(a),c.invertGroups=b)},plotGroup:function(a,b,c,e,g){var d=this[a],f=!d;f&&(this[a]=d=this.chart.renderer.g().attr({zIndex:e||.1}).add(g));d.addClass("highcharts-"+b+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(t(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(d.hasClass("highcharts-tracker")?
" highcharts-tracker":""),!0);d.attr({visibility:c})[f?"attr":"animate"](this.getPlotBox());return d},getPlotBox:function(){var a=this.chart,b=this.xAxis,c=this.yAxis;a.inverted&&(b=c,c=this.xAxis);return{translateX:b?b.left:a.plotLeft,translateY:c?c.top:a.plotTop,scaleX:1,scaleY:1}},render:function(){var a=this,b=a.chart,c,e=a.options,g=!!a.animate&&b.renderer.isSVG&&C(e.animation).duration,f=a.visible?"inherit":"hidden",h=e.zIndex,k=a.hasRendered,p=b.seriesGroup,m=b.inverted;c=a.plotGroup("group",
"series",f,h,p);a.markerGroup=a.plotGroup("markerGroup","markers",f,h,p);g&&a.animate(!0);c.inverted=a.isCartesian?m:!1;a.drawGraph&&(a.drawGraph(),a.applyZones());a.drawDataLabels&&a.drawDataLabels();a.visible&&a.drawPoints();a.drawTracker&&!1!==a.options.enableMouseTracking&&a.drawTracker();a.invertGroups(m);!1===e.clip||a.sharedClipKey||k||c.clip(b.clipRect);g&&a.animate();k||(a.animationTimeout=D(function(){a.afterAnimate()},g));a.isDirty=!1;a.hasRendered=!0;d(a,"afterRender")},redraw:function(){var a=
this.chart,b=this.isDirty||this.isDirtyData,c=this.group,g=this.xAxis,d=this.yAxis;c&&(a.inverted&&c.attr({width:a.plotWidth,height:a.plotHeight}),c.animate({translateX:e(g&&g.left,a.plotLeft),translateY:e(d&&d.top,a.plotTop)}));this.translate();this.render();b&&delete this.kdTree},kdAxisArray:["clientX","plotY"],searchPoint:function(a,b){var c=this.xAxis,e=this.yAxis,g=this.chart.inverted;return this.searchKDTree({clientX:g?c.len-a.chartY+c.pos:a.chartX-c.pos,plotY:g?e.len-a.chartX+e.pos:a.chartY-
e.pos},b)},buildKDTree:function(){function a(c,e,g){var d,f;if(f=c&&c.length)return d=b.kdAxisArray[e%g],c.sort(function(a,b){return a[d]-b[d]}),f=Math.floor(f/2),{point:c[f],left:a(c.slice(0,f),e+1,g),right:a(c.slice(f+1),e+1,g)}}this.buildingKdTree=!0;var b=this,c=-1<b.options.findNearestPointBy.indexOf("y")?2:1;delete b.kdTree;D(function(){b.kdTree=a(b.getValidPoints(null,!b.directTouch),c,c);b.buildingKdTree=!1},b.options.kdNow?0:1)},searchKDTree:function(a,b){function c(a,b,h,k){var p=b.point,
m=e.kdAxisArray[h%k],n,l,w=p;l=t(a[g])&&t(p[g])?Math.pow(a[g]-p[g],2):null;n=t(a[d])&&t(p[d])?Math.pow(a[d]-p[d],2):null;n=(l||0)+(n||0);p.dist=t(n)?Math.sqrt(n):Number.MAX_VALUE;p.distX=t(l)?Math.sqrt(l):Number.MAX_VALUE;m=a[m]-p[m];n=0>m?"left":"right";l=0>m?"right":"left";b[n]&&(n=c(a,b[n],h+1,k),w=n[f]<w[f]?n:p);b[l]&&Math.sqrt(m*m)<w[f]&&(a=c(a,b[l],h+1,k),w=a[f]<w[f]?a:w);return w}var e=this,g=this.kdAxisArray[0],d=this.kdAxisArray[1],f=b?"distX":"dist";b=-1<e.options.findNearestPointBy.indexOf("y")?
2:1;this.kdTree||this.buildingKdTree||this.buildKDTree();if(this.kdTree)return c(a,this.kdTree,b,b)}})})(I);(function(a){var z=a.Axis,C=a.Chart,B=a.correctFloat,r=a.defined,l=a.destroyObjectProperties,n=a.each,t=a.format,u=a.objectEach,m=a.pick,q=a.Series;a.StackItem=function(a,f,k,g,c){var b=a.chart.inverted;this.axis=a;this.isNegative=k;this.options=f;this.x=g;this.total=null;this.points={};this.stack=c;this.rightCliff=this.leftCliff=0;this.alignOptions={align:f.align||(b?k?"left":"right":"center"),
verticalAlign:f.verticalAlign||(b?"middle":k?"bottom":"top"),y:m(f.y,b?4:k?14:-6),x:m(f.x,b?k?-6:6:0)};this.textAlign=f.textAlign||(b?k?"right":"left":"center")};a.StackItem.prototype={destroy:function(){l(this,this.axis)},render:function(a){var d=this.axis.chart,k=this.options,g=k.format,g=g?t(g,this,d.time):k.formatter.call(this);this.label?this.label.attr({text:g,visibility:"hidden"}):this.label=d.renderer.text(g,null,null,k.useHTML).css(k.style).attr({align:this.textAlign,rotation:k.rotation,
visibility:"hidden"}).add(a);this.label.labelrank=d.plotHeight},setOffset:function(a,f){var d=this.axis,g=d.chart,c=d.translate(d.usePercentage?100:this.total,0,0,0,1),b=d.translate(0),b=r(c)&&Math.abs(c-b);a=g.xAxis[0].translate(this.x)+a;d=r(c)&&this.getStackBox(g,this,a,c,f,b,d);(f=this.label)&&d&&(f.align(this.alignOptions,null,d),d=f.alignAttr,f[!1===this.options.crop||g.isInsidePlot(d.x,d.y)?"show":"hide"](!0))},getStackBox:function(a,f,k,g,c,b,h){var e=f.axis.reversed,d=a.inverted;a=h.height+
h.pos-(d?a.plotLeft:a.plotTop);f=f.isNegative&&!e||!f.isNegative&&e;return{x:d?f?g:g-b:k,y:d?a-k-c:f?a-g-b:a-g,width:d?b:c,height:d?c:b}}};C.prototype.getStacks=function(){var a=this;n(a.yAxis,function(a){a.stacks&&a.hasVisibleSeries&&(a.oldStacks=a.stacks)});n(a.series,function(d){!d.options.stacking||!0!==d.visible&&!1!==a.options.chart.ignoreHiddenSeries||(d.stackKey=d.type+m(d.options.stack,""))})};z.prototype.buildStacks=function(){var a=this.series,f=m(this.options.reversedStacks,!0),k=a.length,
g;if(!this.isXAxis){this.usePercentage=!1;for(g=k;g--;)a[f?g:k-g-1].setStackedPoints();for(g=0;g<k;g++)a[g].modifyStacks()}};z.prototype.renderStackTotals=function(){var a=this.chart,f=a.renderer,k=this.stacks,g=this.stackTotalGroup;g||(this.stackTotalGroup=g=f.g("stack-labels").attr({visibility:"visible",zIndex:6}).add());g.translate(a.plotLeft,a.plotTop);u(k,function(a){u(a,function(a){a.render(g)})})};z.prototype.resetStacks=function(){var a=this,f=a.stacks;a.isXAxis||u(f,function(d){u(d,function(g,
c){g.touched<a.stacksTouched?(g.destroy(),delete d[c]):(g.total=null,g.cumulative=null)})})};z.prototype.cleanStacks=function(){var a;this.isXAxis||(this.oldStacks&&(a=this.stacks=this.oldStacks),u(a,function(a){u(a,function(a){a.cumulative=a.total})}))};q.prototype.setStackedPoints=function(){if(this.options.stacking&&(!0===this.visible||!1===this.chart.options.chart.ignoreHiddenSeries)){var d=this.processedXData,f=this.processedYData,k=[],g=f.length,c=this.options,b=c.threshold,h=m(c.startFromThreshold&&
b,0),e=c.stack,c=c.stacking,n=this.stackKey,l="-"+n,q=this.negStacks,D=this.yAxis,E=D.stacks,x=D.oldStacks,t,u,F,H,A,y,K;D.stacksTouched+=1;for(A=0;A<g;A++)y=d[A],K=f[A],t=this.getStackIndicator(t,y,this.index),H=t.key,F=(u=q&&K<(h?0:b))?l:n,E[F]||(E[F]={}),E[F][y]||(x[F]&&x[F][y]?(E[F][y]=x[F][y],E[F][y].total=null):E[F][y]=new a.StackItem(D,D.options.stackLabels,u,y,e)),F=E[F][y],null!==K?(F.points[H]=F.points[this.index]=[m(F.cumulative,h)],r(F.cumulative)||(F.base=H),F.touched=D.stacksTouched,
0<t.index&&!1===this.singleStacks&&(F.points[H][0]=F.points[this.index+","+y+",0"][0])):F.points[H]=F.points[this.index]=null,"percent"===c?(u=u?n:l,q&&E[u]&&E[u][y]?(u=E[u][y],F.total=u.total=Math.max(u.total,F.total)+Math.abs(K)||0):F.total=B(F.total+(Math.abs(K)||0))):F.total=B(F.total+(K||0)),F.cumulative=m(F.cumulative,h)+(K||0),null!==K&&(F.points[H].push(F.cumulative),k[A]=F.cumulative);"percent"===c&&(D.usePercentage=!0);this.stackedYData=k;D.oldStacks={}}};q.prototype.modifyStacks=function(){var a=
this,f=a.stackKey,m=a.yAxis.stacks,g=a.processedXData,c,b=a.options.stacking;a[b+"Stacker"]&&n([f,"-"+f],function(d){for(var e=g.length,f,h;e--;)if(f=g[e],c=a.getStackIndicator(c,f,a.index,d),h=(f=m[d]&&m[d][f])&&f.points[c.key])a[b+"Stacker"](h,f,e)})};q.prototype.percentStacker=function(a,f,m){f=f.total?100/f.total:0;a[0]=B(a[0]*f);a[1]=B(a[1]*f);this.stackedYData[m]=a[1]};q.prototype.getStackIndicator=function(a,f,m,g){!r(a)||a.x!==f||g&&a.key!==g?a={x:f,index:0,key:g}:a.index++;a.key=[m,f,a.index].join();
return a}})(I);(function(a){var z=a.addEvent,C=a.Axis,B=a.createElement,r=a.css,l=a.defined,n=a.each,t=a.erase,u=a.extend,m=a.fireEvent,q=a.inArray,d=a.isNumber,f=a.isObject,k=a.isArray,g=a.merge,c=a.objectEach,b=a.pick,h=a.Point,e=a.Series,v=a.seriesTypes,w=a.setAnimation,J=a.splat;u(a.Chart.prototype,{addSeries:function(a,c,e){var g,d=this;a&&(c=b(c,!0),m(d,"addSeries",{options:a},function(){g=d.initSeries(a);d.isDirtyLegend=!0;d.linkSeries();m(d,"afterAddSeries");c&&d.redraw(e)}));return g},addAxis:function(a,
c,e,d){var f=c?"xAxis":"yAxis",h=this.options;a=g(a,{index:this[f].length,isX:c});c=new C(this,a);h[f]=J(h[f]||{});h[f].push(a);b(e,!0)&&this.redraw(d);return c},showLoading:function(a){var b=this,c=b.options,e=b.loadingDiv,g=function(){e&&r(e,{left:b.plotLeft+"px",top:b.plotTop+"px",width:b.plotWidth+"px",height:b.plotHeight+"px"})};e||(b.loadingDiv=e=B("div",{className:"highcharts-loading highcharts-loading-hidden"},null,b.container),b.loadingSpan=B("span",{className:"highcharts-loading-inner"},
null,e),z(b,"redraw",g));e.className="highcharts-loading";b.loadingSpan.innerHTML=a||c.lang.loading;b.loadingShown=!0;g()},hideLoading:function(){var a=this.loadingDiv;a&&(a.className="highcharts-loading highcharts-loading-hidden");this.loadingShown=!1},propsRequireDirtyBox:"backgroundColor borderColor borderWidth margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow".split(" "),
propsRequireUpdateSeries:"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions time tooltip".split(" "),update:function(a,e,f,h){var k=this,w={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle"},v=a.chart,D,x,r=[];m(k,"update",{options:a});if(v){g(!0,k.options.chart,v);"className"in v&&k.setClassName(v.className);"reflow"in v&&k.setReflow(v.reflow);if("inverted"in v||"polar"in v||"type"in v)k.propFromSeries(),D=!0;"alignTicks"in v&&(D=!0);c(v,function(a,b){-1!==
q("chart."+b,k.propsRequireUpdateSeries)&&(x=!0);-1!==q(b,k.propsRequireDirtyBox)&&(k.isDirtyBox=!0)})}a.plotOptions&&g(!0,this.options.plotOptions,a.plotOptions);c(a,function(a,b){if(k[b]&&"function"===typeof k[b].update)k[b].update(a,!1);else if("function"===typeof k[w[b]])k[w[b]](a);"chart"!==b&&-1!==q(b,k.propsRequireUpdateSeries)&&(x=!0)});n("xAxis yAxis zAxis series colorAxis pane".split(" "),function(b){var c;a[b]&&("series"===b&&(c=[],n(k[b],function(a,b){a.options.isInternal||c.push(b)})),
n(J(a[b]),function(a,e){(e=l(a.id)&&k.get(a.id)||k[b][c?c[e]:e])&&e.coll===b&&(e.update(a,!1),f&&(e.touched=!0));if(!e&&f)if("series"===b)k.addSeries(a,!1).touched=!0;else if("xAxis"===b||"yAxis"===b)k.addAxis(a,"xAxis"===b,!1).touched=!0}),f&&n(k[b],function(a){a.touched||a.options.isInternal?delete a.touched:r.push(a)}))});n(r,function(a){a.remove&&a.remove(!1)});D&&n(k.axes,function(a){a.update({},!1)});x&&n(k.series,function(a){a.update({},!1)});a.loading&&g(!0,k.options.loading,a.loading);D=
v&&v.width;v=v&&v.height;d(D)&&D!==k.chartWidth||d(v)&&v!==k.chartHeight?k.setSize(D,v,h):b(e,!0)&&k.redraw(h);m(k,"afterUpdate",{options:a})},setSubtitle:function(a){this.setTitle(void 0,a)}});u(h.prototype,{update:function(a,c,e,g){function d(){h.applyOptions(a);null===h.y&&m&&(h.graphic=m.destroy());f(a,!0)&&(m&&m.element&&a&&a.marker&&void 0!==a.marker.symbol&&(h.graphic=m.destroy()),a&&a.dataLabels&&h.dataLabel&&(h.dataLabel=h.dataLabel.destroy()),h.connector&&(h.connector=h.connector.destroy()));
n=h.index;k.updateParallelArrays(h,n);p.data[n]=f(p.data[n],!0)||f(a,!0)?h.options:b(a,p.data[n]);k.isDirty=k.isDirtyData=!0;!k.fixedBox&&k.hasCartesianSeries&&(l.isDirtyBox=!0);"point"===p.legendType&&(l.isDirtyLegend=!0);c&&l.redraw(e)}var h=this,k=h.series,m=h.graphic,n,l=k.chart,p=k.options;c=b(c,!0);!1===g?d():h.firePointEvent("update",{options:a},d)},remove:function(a,b){this.series.removePoint(q(this,this.series.data),a,b)}});u(e.prototype,{addPoint:function(a,c,e,g){var d=this.options,f=this.data,
h=this.chart,k=this.xAxis,k=k&&k.hasNames&&k.names,m=d.data,n,p,l=this.xData,w,q;c=b(c,!0);n={series:this};this.pointClass.prototype.applyOptions.apply(n,[a]);q=n.x;w=l.length;if(this.requireSorting&&q<l[w-1])for(p=!0;w&&l[w-1]>q;)w--;this.updateParallelArrays(n,"splice",w,0,0);this.updateParallelArrays(n,w);k&&n.name&&(k[q]=n.name);m.splice(w,0,a);p&&(this.data.splice(w,0,null),this.processData());"point"===d.legendType&&this.generatePoints();e&&(f[0]&&f[0].remove?f[0].remove(!1):(f.shift(),this.updateParallelArrays(n,
"shift"),m.shift()));this.isDirtyData=this.isDirty=!0;c&&h.redraw(g)},removePoint:function(a,c,e){var g=this,d=g.data,f=d[a],h=g.points,k=g.chart,m=function(){h&&h.length===d.length&&h.splice(a,1);d.splice(a,1);g.options.data.splice(a,1);g.updateParallelArrays(f||{series:g},"splice",a,1);f&&f.destroy();g.isDirty=!0;g.isDirtyData=!0;c&&k.redraw()};w(e,k);c=b(c,!0);f?f.firePointEvent("remove",null,m):m()},remove:function(a,c,e){function g(){d.destroy();d.remove=null;f.isDirtyLegend=f.isDirtyBox=!0;
f.linkSeries();b(a,!0)&&f.redraw(c)}var d=this,f=d.chart;!1!==e?m(d,"remove",null,g):g()},update:function(c,e){var d=this,f=d.chart,h=d.userOptions,k=d.oldType||d.type,l=c.type||h.type||f.options.chart.type,w=v[k].prototype,D,r=["group","markerGroup","dataLabelsGroup"],p=["navigatorSeries","baseSeries"],t=d.finishedAnimating&&{animation:!1},E=["data","name","turboThreshold"],J=a.keys(c),z=0<J.length;n(J,function(a){-1===q(a,E)&&(z=!1)});if(z)c.data&&this.setData(c.data,!1),c.name&&this.setName(c.name,
!1);else{p=r.concat(p);n(p,function(a){p[a]=d[a];delete d[a]});c=g(h,t,{index:d.index,pointStart:b(h.pointStart,d.xData[0])},{data:d.options.data},c);d.remove(!1,null,!1);for(D in w)d[D]=void 0;v[l||k]?u(d,v[l||k].prototype):a.error(17,!0);n(p,function(a){d[a]=p[a]});d.init(f,c);c.zIndex!==h.zIndex&&n(r,function(a){d[a]&&d[a].attr({zIndex:c.zIndex})});d.oldType=k;f.linkSeries()}m(this,"afterUpdate");b(e,!0)&&f.redraw(z?void 0:!1)},setName:function(a){this.name=this.options.name=this.userOptions.name=
a;this.chart.isDirtyLegend=!0}});u(C.prototype,{update:function(a,e){var d=this.chart,f=a&&a.events||{};a=g(this.userOptions,a);d.options[this.coll].indexOf&&(d.options[this.coll][d.options[this.coll].indexOf(this.userOptions)]=a);c(d.options[this.coll].events,function(a,b){"undefined"===typeof f[b]&&(f[b]=void 0)});this.destroy(!0);this.init(d,u(a,{events:f}));d.isDirtyBox=!0;b(e,!0)&&d.redraw()},remove:function(a){for(var c=this.chart,e=this.coll,g=this.series,d=g.length;d--;)g[d]&&g[d].remove(!1);
t(c.axes,this);t(c[e],this);k(c.options[e])?c.options[e].splice(this.options.index,1):delete c.options[e];n(c[e],function(a,b){a.options.index=a.userOptions.index=b});this.destroy();c.isDirtyBox=!0;b(a,!0)&&c.redraw()},setTitle:function(a,b){this.update({title:a},b)},setCategories:function(a,b){this.update({categories:a},b)}})})(I);(function(a){var z=a.each,C=a.map,B=a.pick,r=a.Series,l=a.seriesType;l("area","line",{softThreshold:!1,threshold:0},{singleStacks:!1,getStackPoints:function(n){var l=[],
r=[],m=this.xAxis,q=this.yAxis,d=q.stacks[this.stackKey],f={},k=this.index,g=q.series,c=g.length,b,h=B(q.options.reversedStacks,!0)?1:-1,e;n=n||this.points;if(this.options.stacking){for(e=0;e<n.length;e++)n[e].leftNull=n[e].rightNull=null,f[n[e].x]=n[e];a.objectEach(d,function(a,b){null!==a.total&&r.push(b)});r.sort(function(a,b){return a-b});b=C(g,function(){return this.visible});z(r,function(a,g){var n=0,w,v;if(f[a]&&!f[a].isNull)l.push(f[a]),z([-1,1],function(m){var n=1===m?"rightNull":"leftNull",
l=0,q=d[r[g+m]];if(q)for(e=k;0<=e&&e<c;)w=q.points[e],w||(e===k?f[a][n]=!0:b[e]&&(v=d[a].points[e])&&(l-=v[1]-v[0])),e+=h;f[a][1===m?"rightCliff":"leftCliff"]=l});else{for(e=k;0<=e&&e<c;){if(w=d[a].points[e]){n=w[1];break}e+=h}n=q.translate(n,0,1,0,1);l.push({isNull:!0,plotX:m.translate(a,0,0,0,1),x:a,plotY:n,yBottom:n})}})}return l},getGraphPath:function(a){var l=r.prototype.getGraphPath,n=this.options,m=n.stacking,q=this.yAxis,d,f,k=[],g=[],c=this.index,b,h=q.stacks[this.stackKey],e=n.threshold,
v=q.getThreshold(n.threshold),w,n=n.connectNulls||"percent"===m,J=function(d,f,n){var l=a[d];d=m&&h[l.x].points[c];var w=l[n+"Null"]||0;n=l[n+"Cliff"]||0;var r,D,l=!0;n||w?(r=(w?d[0]:d[1])+n,D=d[0]+n,l=!!w):!m&&a[f]&&a[f].isNull&&(r=D=e);void 0!==r&&(g.push({plotX:b,plotY:null===r?v:q.getThreshold(r),isNull:l,isCliff:!0}),k.push({plotX:b,plotY:null===D?v:q.getThreshold(D),doCurve:!1}))};a=a||this.points;m&&(a=this.getStackPoints(a));for(d=0;d<a.length;d++)if(f=a[d].isNull,b=B(a[d].rectPlotX,a[d].plotX),
w=B(a[d].yBottom,v),!f||n)n||J(d,d-1,"left"),f&&!m&&n||(g.push(a[d]),k.push({x:d,plotX:b,plotY:w})),n||J(d,d+1,"right");d=l.call(this,g,!0,!0);k.reversed=!0;f=l.call(this,k,!0,!0);f.length&&(f[0]="L");f=d.concat(f);l=l.call(this,g,!1,n);f.xMap=d.xMap;this.areaPath=f;return l},drawGraph:function(){this.areaPath=[];r.prototype.drawGraph.apply(this);var a=this,l=this.areaPath,u=this.options,m=[["area","highcharts-area"]];z(this.zones,function(a,d){m.push(["zone-area-"+d,"highcharts-area highcharts-zone-area-"+
d+" "+a.className])});z(m,function(m){var d=m[0],f=a[d];f?(f.endX=a.preventGraphAnimation?null:l.xMap,f.animate({d:l})):(f=a[d]=a.chart.renderer.path(l).addClass(m[1]).attr({zIndex:0}).add(a.group),f.isArea=!0);f.startX=l.xMap;f.shiftUnit=u.step?2:1})},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle})})(I);(function(a){var z=a.pick;a=a.seriesType;a("spline","line",{},{getPointSpline:function(a,B,r){var l=B.plotX,n=B.plotY,t=a[r-1];r=a[r+1];var u,m,q,d;if(t&&!t.isNull&&!1!==t.doCurve&&!B.isCliff&&
r&&!r.isNull&&!1!==r.doCurve&&!B.isCliff){a=t.plotY;q=r.plotX;r=r.plotY;var f=0;u=(1.5*l+t.plotX)/2.5;m=(1.5*n+a)/2.5;q=(1.5*l+q)/2.5;d=(1.5*n+r)/2.5;q!==u&&(f=(d-m)*(q-l)/(q-u)+n-d);m+=f;d+=f;m>a&&m>n?(m=Math.max(a,n),d=2*n-m):m<a&&m<n&&(m=Math.min(a,n),d=2*n-m);d>r&&d>n?(d=Math.max(r,n),m=2*n-d):d<r&&d<n&&(d=Math.min(r,n),m=2*n-d);B.rightContX=q;B.rightContY=d}B=["C",z(t.rightContX,t.plotX),z(t.rightContY,t.plotY),z(u,l),z(m,n),l,n];t.rightContX=t.rightContY=null;return B}})})(I);(function(a){var z=
a.seriesTypes.area.prototype,C=a.seriesType;C("areaspline","spline",a.defaultPlotOptions.area,{getStackPoints:z.getStackPoints,getGraphPath:z.getGraphPath,drawGraph:z.drawGraph,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle})})(I);(function(a){var z=a.animObject,C=a.each,B=a.extend,r=a.defined,l=a.isNumber,n=a.merge,t=a.pick,u=a.Series,m=a.seriesType,q=a.svg;m("column","line",{borderRadius:0,crisp:!0,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,
states:{hover:{halo:!1}},dataLabels:{align:null,verticalAlign:null,y:null},softThreshold:!1,startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0},{cropShoulder:0,directTouch:!0,trackerGroups:["group","dataLabelsGroup"],negStacks:!0,init:function(){u.prototype.init.apply(this,arguments);var a=this,f=a.chart;f.hasRendered&&C(f.series,function(d){d.type===a.type&&(d.isDirty=!0)})},getColumnMetrics:function(){var a=this,f=a.options,k=a.xAxis,g=a.yAxis,c=k.options.reversedStacks,c=
k.reversed&&!c||!k.reversed&&c,b,h={},e=0;!1===f.grouping?e=1:C(a.chart.series,function(c){var d=c.options,f=c.yAxis,k;c.type!==a.type||!c.visible&&a.chart.options.chart.ignoreHiddenSeries||g.len!==f.len||g.pos!==f.pos||(d.stacking?(b=c.stackKey,void 0===h[b]&&(h[b]=e++),k=h[b]):!1!==d.grouping&&(k=e++),c.columnIndex=k)});var m=Math.min(Math.abs(k.transA)*(k.ordinalSlope||f.pointRange||k.closestPointRange||k.tickInterval||1),k.len),l=m*f.groupPadding,n=(m-2*l)/(e||1),f=Math.min(f.maxPointWidth||k.len,
t(f.pointWidth,n*(1-2*f.pointPadding)));a.columnMetrics={width:f,offset:(n-f)/2+(l+((a.columnIndex||0)+(c?1:0))*n-m/2)*(c?-1:1)};return a.columnMetrics},crispCol:function(a,f,k,g){var c=this.chart,b=this.borderWidth,d=-(b%2?.5:0),b=b%2?.5:1;c.inverted&&c.renderer.isVML&&(b+=1);this.options.crisp&&(k=Math.round(a+k)+d,a=Math.round(a)+d,k-=a);g=Math.round(f+g)+b;d=.5>=Math.abs(f)&&.5<g;f=Math.round(f)+b;g-=f;d&&g&&(--f,g+=1);return{x:a,y:f,width:k,height:g}},translate:function(){var a=this,f=a.chart,
k=a.options,g=a.dense=2>a.closestPointRange*a.xAxis.transA,g=a.borderWidth=t(k.borderWidth,g?0:1),c=a.yAxis,b=k.threshold,h=a.translatedThreshold=c.getThreshold(b),e=t(k.minPointLength,5),m=a.getColumnMetrics(),l=m.width,n=a.barW=Math.max(l,1+2*g),q=a.pointXOffset=m.offset;f.inverted&&(h-=.5);k.pointPadding&&(n=Math.ceil(n));u.prototype.translate.apply(a);C(a.points,function(g){var d=t(g.yBottom,h),k=999+Math.abs(d),m=l,k=Math.min(Math.max(-k,g.plotY),c.len+k),w=g.plotX+q,v=n,D=Math.min(k,d),y,E=
Math.max(k,d)-D;e&&Math.abs(E)<e&&(E=e,y=!c.reversed&&!g.negative||c.reversed&&g.negative,g.y===b&&a.dataMax<=b&&c.min<b&&(y=!y),D=Math.abs(D-h)>e?d-e:h-(y?e:0));r(g.options.pointWidth)&&(m=v=Math.ceil(g.options.pointWidth),w-=Math.round((m-l)/2));g.barX=w;g.pointWidth=m;g.tooltipPos=f.inverted?[c.len+c.pos-f.plotLeft-k,a.xAxis.len-w-v/2,E]:[w+v/2,k+c.pos-f.plotTop,E];g.shapeType="rect";g.shapeArgs=a.crispCol.apply(a,g.isNull?[w,h,v,0]:[w,D,v,E])})},getSymbol:a.noop,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,
drawGraph:function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")},drawPoints:function(){var a=this,f=this.chart,k=a.options,g=f.renderer,c=k.animationLimit||250,b;C(a.points,function(d){var e=d.graphic,h=e&&f.pointCount<c?"animate":"attr";if(l(d.plotY)&&null!==d.y){b=d.shapeArgs;if(e)e[h](n(b));else d.graphic=e=g[d.shapeType](b).add(d.group||a.group);k.borderRadius&&e.attr({r:k.borderRadius});e.addClass(d.getClassName(),!0)}else e&&(d.graphic=e.destroy())})},animate:function(a){var d=
this,k=this.yAxis,g=d.options,c=this.chart.inverted,b={},h=c?"translateX":"translateY",e;q&&(a?(b.scaleY=.001,a=Math.min(k.pos+k.len,Math.max(k.pos,k.toPixels(g.threshold))),c?b.translateX=a-k.len:b.translateY=a,d.group.attr(b)):(e=d.group.attr(h),d.group.animate({scaleY:1},B(z(d.options.animation),{step:function(a,c){b[h]=e+c.pos*(k.pos-e);d.group.attr(b)}})),d.animate=null))},remove:function(){var a=this,f=a.chart;f.hasRendered&&C(f.series,function(d){d.type===a.type&&(d.isDirty=!0)});u.prototype.remove.apply(a,
arguments)}})})(I);(function(a){a=a.seriesType;a("bar","column",null,{inverted:!0})})(I);(function(a){var z=a.Series;a=a.seriesType;a("scatter","line",{lineWidth:0,findNearestPointBy:"xy",marker:{enabled:!0},tooltip:{headerFormat:'\x3cspan class\x3d"highcharts-color-{point.colorIndex}"\x3e\u25cf\x3c/span\x3e \x3cspan class\x3d"highcharts-header"\x3e {series.name}\x3c/span\x3e\x3cbr/\x3e',pointFormat:"x: \x3cb\x3e{point.x}\x3c/b\x3e\x3cbr/\x3ey: \x3cb\x3e{point.y}\x3c/b\x3e\x3cbr/\x3e"}},{sorted:!1,
requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"],takeOrdinalPosition:!1,drawGraph:function(){this.options.lineWidth&&z.prototype.drawGraph.call(this)}})})(I);(function(a){var z=a.deg2rad,C=a.isNumber,B=a.pick,r=a.relativeLength;a.CenteredSeriesMixin={getCenter:function(){var a=this.options,n=this.chart,t=2*(a.slicedOffset||0),u=n.plotWidth-2*t,n=n.plotHeight-2*t,m=a.center,m=[B(m[0],"50%"),B(m[1],"50%"),a.size||"100%",a.innerSize||0],q=Math.min(u,n),d,f;
for(d=0;4>d;++d)f=m[d],a=2>d||2===d&&/%$/.test(f),m[d]=r(f,[u,n,q,m[2]][d])+(a?t:0);m[3]>m[2]&&(m[3]=m[2]);return m},getStartAndEndRadians:function(a,n){a=C(a)?a:0;n=C(n)&&n>a&&360>n-a?n:a+360;return{start:z*(a+-90),end:z*(n+-90)}}}})(I);(function(a){var z=a.addEvent,C=a.CenteredSeriesMixin,B=a.defined,r=a.each,l=a.extend,n=C.getStartAndEndRadians,t=a.inArray,u=a.noop,m=a.pick,q=a.Point,d=a.Series,f=a.seriesType,k=a.setAnimation;f("pie","line",{center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{allowOverlap:!0,
distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},x:0},ignoreHiddenPoint:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0}},{isCartesian:!1,requireSorting:!1,directTouch:!0,noSharedTooltip:!0,trackerGroups:["group","dataLabelsGroup"],axisTypes:[],pointAttribs:a.seriesTypes.column.prototype.pointAttribs,animate:function(a){var c=this,b=c.points,g=c.startAngleRad;a||(r(b,function(a){var b=
a.graphic,e=a.shapeArgs;b&&(b.attr({r:a.startR||c.center[3]/2,start:g,end:g}),b.animate({r:e.r,start:e.start,end:e.end},c.options.animation))}),c.animate=null)},updateTotals:function(){var a,c=0,b=this.points,d=b.length,e,f=this.options.ignoreHiddenPoint;for(a=0;a<d;a++)e=b[a],c+=f&&!e.visible?0:e.isNull?0:e.y;this.total=c;for(a=0;a<d;a++)e=b[a],e.percentage=0<c&&(e.visible||!f)?e.y/c*100:0,e.total=c},generatePoints:function(){d.prototype.generatePoints.call(this);this.updateTotals()},translate:function(a){this.generatePoints();
var c=0,b=this.options,g=b.slicedOffset,e=g+(b.borderWidth||0),d,f,k,l=n(b.startAngle,b.endAngle),q=this.startAngleRad=l.start,l=(this.endAngleRad=l.end)-q,r=this.points,t,u=b.dataLabels.distance,b=b.ignoreHiddenPoint,z,H=r.length,A;a||(this.center=a=this.getCenter());this.getX=function(b,c,e){k=Math.asin(Math.min((b-a[1])/(a[2]/2+e.labelDistance),1));return a[0]+(c?-1:1)*Math.cos(k)*(a[2]/2+e.labelDistance)};for(z=0;z<H;z++){A=r[z];A.labelDistance=m(A.options.dataLabels&&A.options.dataLabels.distance,
u);this.maxLabelDistance=Math.max(this.maxLabelDistance||0,A.labelDistance);d=q+c*l;if(!b||A.visible)c+=A.percentage/100;f=q+c*l;A.shapeType="arc";A.shapeArgs={x:a[0],y:a[1],r:a[2]/2,innerR:a[3]/2,start:Math.round(1E3*d)/1E3,end:Math.round(1E3*f)/1E3};k=(f+d)/2;k>1.5*Math.PI?k-=2*Math.PI:k<-Math.PI/2&&(k+=2*Math.PI);A.slicedTranslation={translateX:Math.round(Math.cos(k)*g),translateY:Math.round(Math.sin(k)*g)};f=Math.cos(k)*a[2]/2;t=Math.sin(k)*a[2]/2;A.tooltipPos=[a[0]+.7*f,a[1]+.7*t];A.half=k<-Math.PI/
2||k>Math.PI/2?1:0;A.angle=k;d=Math.min(e,A.labelDistance/5);A.labelPos=[a[0]+f+Math.cos(k)*A.labelDistance,a[1]+t+Math.sin(k)*A.labelDistance,a[0]+f+Math.cos(k)*d,a[1]+t+Math.sin(k)*d,a[0]+f,a[1]+t,0>A.labelDistance?"center":A.half?"right":"left",k]}},drawGraph:null,drawPoints:function(){var a=this,c=a.chart.renderer,b,d,e;r(a.points,function(g){d=g.graphic;g.isNull?d&&(g.graphic=d.destroy()):(e=g.shapeArgs,b=g.getTranslate(),d?d.setRadialReference(a.center).animate(l(e,b)):g.graphic=d=c[g.shapeType](e).setRadialReference(a.center).attr(b).add(a.group),
d.attr({visibility:g.visible?"inherit":"hidden"}),d.addClass(g.getClassName()))})},searchPoint:u,sortByAngle:function(a,c){a.sort(function(a,g){return void 0!==a.angle&&(g.angle-a.angle)*c})},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,getCenter:C.getCenter,getSymbol:u},{init:function(){q.prototype.init.apply(this,arguments);var a=this,c;a.name=m(a.name,"Slice");c=function(b){a.slice("select"===b.type)};z(a,"select",c);z(a,"unselect",c);return a},isValid:function(){return a.isNumber(this.y,
!0)&&0<=this.y},setVisible:function(a,c){var b=this,d=b.series,e=d.chart,g=d.options.ignoreHiddenPoint;c=m(c,g);a!==b.visible&&(b.visible=b.options.visible=a=void 0===a?!b.visible:a,d.options.data[t(b,d.data)]=b.options,r(["graphic","dataLabel","connector","shadowGroup"],function(c){if(b[c])b[c][a?"show":"hide"](!0)}),b.legendItem&&e.legend.colorizeItem(b,a),a||"hover"!==b.state||b.setState(""),g&&(d.isDirty=!0),c&&e.redraw())},slice:function(a,c,b){var d=this.series;k(b,d.chart);m(c,!0);this.sliced=
this.options.sliced=B(a)?a:!this.sliced;d.options.data[t(this,d.data)]=this.options;this.graphic.animate(this.getTranslate())},getTranslate:function(){return this.sliced?this.slicedTranslation:{translateX:0,translateY:0}},haloPath:function(a){var c=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(c.x,c.y,c.r+a,c.r+a,{innerR:this.shapeArgs.r-1,start:c.start,end:c.end})}})})(I);(function(a){var z=a.addEvent,C=a.arrayMax,B=a.defined,r=a.each,l=a.extend,n=a.format,
t=a.map,u=a.merge,m=a.noop,q=a.pick,d=a.relativeLength,f=a.Series,k=a.seriesTypes,g=a.some,c=a.stableSort,b=a.isArray,h=a.splat;a.distribute=function(b,d,f){function e(a,b){return a.target-b.target}var h,k=!0,m=b,n=[],l;l=0;var w=m.reducedLen||d;for(h=b.length;h--;)l+=b[h].size;if(l>w){c(b,function(a,b){return(b.rank||0)-(a.rank||0)});for(l=h=0;l<=w;)l+=b[h].size,h++;n=b.splice(h-1,b.length)}c(b,e);for(b=t(b,function(a){return{size:a.size,targets:[a.target],align:q(a.align,.5)}});k;){for(h=b.length;h--;)k=
b[h],l=(Math.min.apply(0,k.targets)+Math.max.apply(0,k.targets))/2,k.pos=Math.min(Math.max(0,l-k.size*k.align),d-k.size);h=b.length;for(k=!1;h--;)0<h&&b[h-1].pos+b[h-1].size>b[h].pos&&(b[h-1].size+=b[h].size,b[h-1].targets=b[h-1].targets.concat(b[h].targets),b[h-1].align=.5,b[h-1].pos+b[h-1].size>d&&(b[h-1].pos=d-b[h-1].size),b.splice(h,1),k=!0)}m.push.apply(m,n);h=0;g(b,function(b){var c=0;if(g(b.targets,function(){m[h].pos=b.pos+c;if(Math.abs(m[h].pos-m[h].target)>f)return r(m.slice(0,h+1),function(a){delete a.pos}),
m.reducedLen=(m.reducedLen||d)-.1*d,m.reducedLen>.1*d&&a.distribute(m,d,f),!0;c+=m[h].size;h++}))return!0});c(m,e)};f.prototype.drawDataLabels=function(){function c(a,b){var c=b.filter;return c?(b=c.operator,a=a[c.property],c=c.value,"\x3e"===b&&a>c||"\x3c"===b&&a<c||"\x3e\x3d"===b&&a>=c||"\x3c\x3d"===b&&a<=c||"\x3d\x3d"===b&&a==c||"\x3d\x3d\x3d"===b&&a===c?!0:!1):!0}function d(a,c){var e=[],d;if(b(a)&&!b(c))e=t(a,function(a){return u(a,c)});else if(b(c)&&!b(a))e=t(c,function(b){return u(a,b)});else if(b(a)||
b(c))for(d=Math.max(a.length,c.length);d--;)e[d]=u(a[d],c[d]);else e=u(a,c);return e}var g=this,f=g.chart,k=g.options,m=k.dataLabels,l=g.points,G,C=g.hasRendered||0,F,H=q(m.defer,!!k.animation),A=f.renderer,m=d(d(f.options.plotOptions&&f.options.plotOptions.series&&f.options.plotOptions.series.dataLabels,f.options.plotOptions&&f.options.plotOptions[g.type]&&f.options.plotOptions[g.type].dataLabels),m);if(b(m)||m.enabled||g._hasPointLabels)F=g.plotGroup("dataLabelsGroup","data-labels",H&&!C?"hidden":
"visible",m.zIndex||6),H&&(F.attr({opacity:+C}),C||z(g,"afterAnimate",function(){g.visible&&F.show(!0);F[k.animation?"animate":"attr"]({opacity:1},{duration:200})})),r(l,function(b){G=h(d(m,b.dlOptions||b.options&&b.options.dataLabels));r(G,function(e,d){var h=e.enabled&&!b.isNull&&c(b,e),k,p,m,l=b.dataLabels?b.dataLabels[d]:b.dataLabel,q=b.connectors?b.connectors[d]:b.connector,w=!l;h&&(k=b.getLabelConfig(),p=e[b.formatPrefix+"Format"]||e.format,k=B(p)?n(p,k,f.time):(e[b.formatPrefix+"Formatter"]||
e.formatter).call(k,e),p=e.rotation,m={r:e.borderRadius||0,rotation:p,padding:e.padding,zIndex:1},a.objectEach(m,function(a,b){void 0===a&&delete m[b]}));!l||h&&B(k)?h&&B(k)&&(l?m.text=k:(b.dataLabels=b.dataLabels||[],l=b.dataLabels[d]=p?A.text(k,0,-9999).addClass("highcharts-data-label"):A.label(k,0,-9999,e.shape,null,null,e.useHTML,null,"data-label"),d||(b.dataLabel=l),l.addClass(" highcharts-data-label-color-"+b.colorIndex+" "+(e.className||"")+(e.useHTML?" highcharts-tracker":""))),l.options=
e,l.attr(m),l.added||l.add(F),g.alignDataLabel(b,l,e,null,w)):(b.dataLabel=b.dataLabel.destroy(),b.dataLabels&&(1===b.dataLabels.length?delete b.dataLabels:delete b.dataLabels[d]),d||delete b.dataLabel,q&&(b.connector=b.connector.destroy(),b.connectors&&(1===b.connectors.length?delete b.connectors:delete b.connectors[d])))})});a.fireEvent(this,"afterDrawDataLabels")};f.prototype.alignDataLabel=function(a,b,c,d,g){var e=this.chart,f=e.inverted,h=q(a.dlBox&&a.dlBox.centerX,a.plotX,-9999),k=q(a.plotY,
-9999),m=b.getBBox(),n,w=c.rotation,v=c.align,r=this.visible&&(a.series.forceDL||e.isInsidePlot(h,Math.round(k),f)||d&&e.isInsidePlot(h,f?d.x+1:d.y+d.height-1,f)),p="justify"===q(c.overflow,"justify");if(r&&(n=e.renderer.fontMetrics(void 0,b).b,d=l({x:f?this.yAxis.len-k:h,y:Math.round(f?this.xAxis.len-h:k),width:0,height:0},d),l(c,{width:m.width,height:m.height}),w?(p=!1,h=e.renderer.rotCorr(n,w),h={x:d.x+c.x+d.width/2+h.x,y:d.y+c.y+{top:0,middle:.5,bottom:1}[c.verticalAlign]*d.height},b[g?"attr":
"animate"](h).attr({align:v}),k=(w+720)%360,k=180<k&&360>k,"left"===v?h.y-=k?m.height:0:"center"===v?(h.x-=m.width/2,h.y-=m.height/2):"right"===v&&(h.x-=m.width,h.y-=k?0:m.height),b.placed=!0,b.alignAttr=h):(b.align(c,null,d),h=b.alignAttr),p&&0<=d.height?a.isLabelJustified=this.justifyDataLabel(b,c,h,m,d,g):q(c.crop,!0)&&(r=e.isInsidePlot(h.x,h.y)&&e.isInsidePlot(h.x+m.width,h.y+m.height)),c.shape&&!w))b[g?"attr":"animate"]({anchorX:f?e.plotWidth-a.plotY:a.plotX,anchorY:f?e.plotHeight-a.plotX:a.plotY});
r||(b.attr({y:-9999}),b.placed=!1)};f.prototype.justifyDataLabel=function(a,b,c,d,g,f){var e=this.chart,h=b.align,k=b.verticalAlign,m,l,n=a.box?0:a.padding||0;m=c.x+n;0>m&&("right"===h?b.align="left":b.x=-m,l=!0);m=c.x+d.width-n;m>e.plotWidth&&("left"===h?b.align="right":b.x=e.plotWidth-m,l=!0);m=c.y+n;0>m&&("bottom"===k?b.verticalAlign="top":b.y=-m,l=!0);m=c.y+d.height-n;m>e.plotHeight&&("top"===k?b.verticalAlign="bottom":b.y=e.plotHeight-m,l=!0);l&&(a.placed=!f,a.align(b,null,g));return l};k.pie&&
(k.pie.prototype.drawDataLabels=function(){var b=this,c=b.data,d,g=b.chart,h=b.options.dataLabels,k=q(h.connectorPadding,10),m=q(h.connectorWidth,1),l=g.plotWidth,n=g.plotHeight,t=Math.round(g.chartWidth/3),u,A=b.center,y=A[2]/2,z=A[1],p,L,O,P,Q=[[],[]],I,N,V,X,S=[0,0,0,0];b.visible&&(h.enabled||b._hasPointLabels)&&(r(c,function(a){a.dataLabel&&a.visible&&a.dataLabel.shortened&&(a.dataLabel.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),a.dataLabel.shortened=!1)}),f.prototype.drawDataLabels.apply(b),
r(c,function(a){a.dataLabel&&(a.visible?(Q[a.half].push(a),a.dataLabel._pos=null,a.dataLabel.getBBox().width>t&&(a.dataLabel.css({width:.7*t}),a.dataLabel.shortened=!0)):(a.dataLabel=a.dataLabel.destroy(),a.dataLabels&&1===a.dataLabels.length&&delete a.dataLabels))}),r(Q,function(c,e){var f,m,w=c.length,v=[],t;if(w)for(b.sortByAngle(c,e-.5),0<b.maxLabelDistance&&(f=Math.max(0,z-y-b.maxLabelDistance),m=Math.min(z+y+b.maxLabelDistance,g.plotHeight),r(c,function(a){0<a.labelDistance&&a.dataLabel&&(a.top=
Math.max(0,z-y-a.labelDistance),a.bottom=Math.min(z+y+a.labelDistance,g.plotHeight),t=a.dataLabel.getBBox().height||21,a.distributeBox={target:a.labelPos[1]-a.top+t/2,size:t,rank:a.y},v.push(a.distributeBox))}),f=m+t-f,a.distribute(v,f,f/5)),X=0;X<w;X++)d=c[X],O=d.labelPos,p=d.dataLabel,V=!1===d.visible?"hidden":"inherit",N=f=O[1],v&&B(d.distributeBox)&&(void 0===d.distributeBox.pos?V="hidden":(P=d.distributeBox.size,N=d.top+d.distributeBox.pos)),delete d.positionIndex,I=h.justify?A[0]+(e?-1:1)*(y+
d.labelDistance):b.getX(N<d.top+2||N>d.bottom-2?f:N,e,d),p._attr={visibility:V,align:O[6]},p._pos={x:I+h.x+({left:k,right:-k}[O[6]]||0),y:N+h.y-10},O.x=I,O.y=N,q(h.crop,!0)&&(L=p.getBBox().width,f=null,I-L<k&&1===e?(f=Math.round(L-I+k),S[3]=Math.max(f,S[3])):I+L>l-k&&0===e&&(f=Math.round(I+L-l+k),S[1]=Math.max(f,S[1])),0>N-P/2?S[0]=Math.max(Math.round(-N+P/2),S[0]):N+P/2>n&&(S[2]=Math.max(Math.round(N+P/2-n),S[2])),p.sideOverflow=f)}),0===C(S)||this.verifyDataLabelOverflow(S))&&(this.placeDataLabels(),
m&&r(this.points,function(a){var c;u=a.connector;if((p=a.dataLabel)&&p._pos&&a.visible&&0<a.labelDistance){V=p._attr.visibility;if(c=!u)a.connector=u=g.renderer.path().addClass("highcharts-data-label-connector  highcharts-color-"+a.colorIndex+(a.className?" "+a.className:"")).add(b.dataLabelsGroup);u[c?"attr":"animate"]({d:b.connectorPath(a.labelPos)});u.attr("visibility",V)}else u&&(a.connector=u.destroy())}))},k.pie.prototype.connectorPath=function(a){var b=a.x,c=a.y;return q(this.options.dataLabels.softConnector,
!0)?["M",b+("left"===a[6]?5:-5),c,"C",b,c,2*a[2]-a[4],2*a[3]-a[5],a[2],a[3],"L",a[4],a[5]]:["M",b+("left"===a[6]?5:-5),c,"L",a[2],a[3],"L",a[4],a[5]]},k.pie.prototype.placeDataLabels=function(){r(this.points,function(a){var b=a.dataLabel;b&&a.visible&&((a=b._pos)?(b.sideOverflow&&(b._attr.width=b.getBBox().width-b.sideOverflow,b.css({width:b._attr.width+"px",textOverflow:(this.options.dataLabels.style||{}).textOverflow||"ellipsis"}),b.shortened=!0),b.attr(b._attr),b[b.moved?"animate":"attr"](a),b.moved=
!0):b&&b.attr({y:-9999}))},this)},k.pie.prototype.alignDataLabel=m,k.pie.prototype.verifyDataLabelOverflow=function(a){var b=this.center,c=this.options,e=c.center,g=c.minSize||80,f,h=null!==c.size;h||(null!==e[0]?f=Math.max(b[2]-Math.max(a[1],a[3]),g):(f=Math.max(b[2]-a[1]-a[3],g),b[0]+=(a[3]-a[1])/2),null!==e[1]?f=Math.max(Math.min(f,b[2]-Math.max(a[0],a[2])),g):(f=Math.max(Math.min(f,b[2]-a[0]-a[2]),g),b[1]+=(a[0]-a[2])/2),f<b[2]?(b[2]=f,b[3]=Math.min(d(c.innerSize||0,f),f),this.translate(b),this.drawDataLabels&&
this.drawDataLabels()):h=!0);return h});k.column&&(k.column.prototype.alignDataLabel=function(a,b,c,d,g){var e=this.chart.inverted,h=a.series,k=a.dlBox||a.shapeArgs,m=q(a.below,a.plotY>q(this.translatedThreshold,h.yAxis.len)),l=q(c.inside,!!this.options.stacking);k&&(d=u(k),0>d.y&&(d.height+=d.y,d.y=0),k=d.y+d.height-h.yAxis.len,0<k&&(d.height-=k),e&&(d={x:h.yAxis.len-d.y-d.height,y:h.xAxis.len-d.x-d.width,width:d.height,height:d.width}),l||(e?(d.x+=m?0:d.width,d.width=0):(d.y+=m?d.height:0,d.height=
0)));c.align=q(c.align,!e||l?"center":m?"right":"left");c.verticalAlign=q(c.verticalAlign,e||l?"middle":m?"top":"bottom");f.prototype.alignDataLabel.call(this,a,b,c,d,g);a.isLabelJustified&&a.contrastColor&&b.css({color:a.contrastColor})})})(I);(function(a){var z=a.Chart,C=a.each,B=a.isArray,r=a.objectEach,l=a.pick;a=a.addEvent;a(z,"render",function(){var a=[];C(this.labelCollectors||[],function(l){a=a.concat(l())});C(this.yAxis||[],function(l){l.options.stackLabels&&!l.options.stackLabels.allowOverlap&&
r(l.stacks,function(l){r(l,function(m){a.push(m.label)})})});C(this.series||[],function(n){var r=n.options.dataLabels;n.visible&&(!1!==r.enabled||n._hasPointLabels)&&C(n.points,function(m){if(m.visible){var n=B(m.dataLabels)?m.dataLabels:m.dataLabel?[m.dataLabel]:[];C(n,function(d){var f=d.options;d.labelrank=l(f.labelrank,m.labelrank,m.shapeArgs&&m.shapeArgs.height);f.allowOverlap||a.push(d)})}})});this.hideOverlappingLabels(a)});z.prototype.hideOverlappingLabels=function(a){var l=a.length,n=this.renderer,
m,q,d,f,k,g,c=function(a,c,d,g,f,k,m,l){return!(f>a+d||f+m<a||k>c+g||k+l<c)};d=function(a){var b,c,d,g=a.box?0:a.padding||0;d=0;if(a&&(!a.alignAttr||a.placed))return b=a.alignAttr||{x:a.attr("x"),y:a.attr("y")},c=a.parentGroup,a.width||(d=a.getBBox(),a.width=d.width,a.height=d.height,d=n.fontMetrics(null,a.element).h),{x:b.x+(c.translateX||0)+g,y:b.y+(c.translateY||0)+g-d,width:a.width-2*g,height:a.height-2*g}};for(q=0;q<l;q++)if(m=a[q])m.oldOpacity=m.opacity,m.newOpacity=1,m.absoluteBox=d(m);a.sort(function(a,
c){return(c.labelrank||0)-(a.labelrank||0)});for(q=0;q<l;q++)for(g=(d=a[q])&&d.absoluteBox,m=q+1;m<l;++m)if(k=(f=a[m])&&f.absoluteBox,g&&k&&d!==f&&0!==d.newOpacity&&0!==f.newOpacity&&(k=c(g.x,g.y,g.width,g.height,k.x,k.y,k.width,k.height)))(d.labelrank<f.labelrank?d:f).newOpacity=0;C(a,function(a){var b,c;a&&(c=a.newOpacity,a.oldOpacity!==c&&(a.alignAttr&&a.placed?(c?a.show(!0):b=function(){a.hide()},a.alignAttr.opacity=c,a[a.isOld?"animate":"attr"](a.alignAttr,null,b)):a.attr({opacity:c})),a.isOld=
!0)})}})(I);(function(a){var z=a.addEvent,C=a.Chart,B=a.createElement,r=a.css,l=a.defaultOptions,n=a.defaultPlotOptions,t=a.each,u=a.extend,m=a.fireEvent,q=a.hasTouch,d=a.inArray,f=a.isObject,k=a.Legend,g=a.merge,c=a.pick,b=a.Point,h=a.Series,e=a.seriesTypes,v;v=a.TrackerMixin={drawTrackerPoint:function(){var a=this,b=a.chart.pointer,c=function(a){var c=b.getPointFromEvent(a);void 0!==c&&(b.isDirectTouch=!0,c.onMouseOver(a))};t(a.points,function(a){a.graphic&&(a.graphic.element.point=a);a.dataLabel&&
(a.dataLabel.div?a.dataLabel.div.point=a:a.dataLabel.element.point=a)});a._hasTracking||(t(a.trackerGroups,function(d){if(a[d]&&(a[d].addClass("highcharts-tracker").on("mouseover",c).on("mouseout",function(a){b.onTrackerMouseOut(a)}),q))a[d].on("touchstart",c)}),a._hasTracking=!0);m(this,"afterDrawTracker")},drawTrackerGraph:function(){var a=this,b=a.options.trackByArea,c=[].concat(b?a.areaPath:a.graphPath),d=c.length,e=a.chart,g=e.pointer,f=e.renderer,h=e.options.tooltip.snap,k=a.tracker,l,n=function(){if(e.hoverSeries!==
a)a.onMouseOver()};if(d&&!b)for(l=d+1;l--;)"M"===c[l]&&c.splice(l+1,0,c[l+1]-h,c[l+2],"L"),(l&&"M"===c[l]||l===d)&&c.splice(l,0,"L",c[l-2]+h,c[l-1]);k?k.attr({d:c}):a.graph&&(a.tracker=f.path(c).attr({visibility:a.visible?"visible":"hidden",zIndex:2}).addClass(b?"highcharts-tracker-area":"highcharts-tracker-line").add(a.group),t([a.tracker,a.markerGroup],function(a){a.addClass("highcharts-tracker").on("mouseover",n).on("mouseout",function(a){g.onTrackerMouseOut(a)});if(q)a.on("touchstart",n)}));m(this,
"afterDrawTracker")}};e.column&&(e.column.prototype.drawTracker=v.drawTrackerPoint);e.pie&&(e.pie.prototype.drawTracker=v.drawTrackerPoint);e.scatter&&(e.scatter.prototype.drawTracker=v.drawTrackerPoint);u(k.prototype,{setItemEvents:function(a,c,d){var e=this.chart.renderer.boxWrapper,g="highcharts-legend-"+(a instanceof b?"point":"series")+"-active";(d?c:a.legendGroup).on("mouseover",function(){a.setState("hover");e.addClass(g)}).on("mouseout",function(){e.removeClass(g);a.setState()}).on("click",
function(b){var c=function(){a.setVisible&&a.setVisible()};e.removeClass(g);b={browserEvent:b};a.firePointEvent?a.firePointEvent("legendItemClick",b,c):m(a,"legendItemClick",b,c)})},createCheckboxForItem:function(a){a.checkbox=B("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:a.selected,defaultChecked:a.selected},this.options.itemCheckboxStyle,this.chart.container);z(a.checkbox,"click",function(b){m(a.series||a,"checkboxClick",{checked:b.target.checked,item:a},function(){a.select()})})}});
u(C.prototype,{showResetZoom:function(){function a(){b.zoomOut()}var b=this,c=l.lang,d=b.options.chart.resetZoomButton,e=d.theme,g=e.states,f="chart"===d.relativeTo?null:"plotBox";m(this,"beforeShowResetZoom",null,function(){b.resetZoomButton=b.renderer.button(c.resetZoom,null,null,a,e,g&&g.hover).attr({align:d.position.align,title:c.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(d.position,!1,f)})},zoomOut:function(){m(this,"selection",{resetSelection:!0},this.zoom)},zoom:function(a){var b,
d=this.pointer,e=!1,g;!a||a.resetSelection?(t(this.axes,function(a){b=a.zoom()}),d.initiated=!1):t(a.xAxis.concat(a.yAxis),function(a){var c=a.axis;d[c.isXAxis?"zoomX":"zoomY"]&&(b=c.zoom(a.min,a.max),c.displayBtn&&(e=!0))});g=this.resetZoomButton;e&&!g?this.showResetZoom():!e&&f(g)&&(this.resetZoomButton=g.destroy());b&&this.redraw(c(this.options.chart.animation,a&&a.animation,100>this.pointCount))},pan:function(a,b){var c=this,d=c.hoverPoints,e;d&&t(d,function(a){a.setState()});t("xy"===b?[1,0]:
[1],function(b){b=c[b?"xAxis":"yAxis"][0];var d=b.horiz,g=a[d?"chartX":"chartY"],d=d?"mouseDownX":"mouseDownY",f=c[d],h=(b.pointRange||0)/2,k=b.reversed&&!c.inverted||!b.reversed&&c.inverted?-1:1,m=b.getExtremes(),p=b.toValue(f-g,!0)+h*k,k=b.toValue(f+b.len-g,!0)-h*k,l=k<p,f=l?k:p,p=l?p:k,k=Math.min(m.dataMin,h?m.min:b.toValue(b.toPixels(m.min)-b.minPixelPadding)),h=Math.max(m.dataMax,h?m.max:b.toValue(b.toPixels(m.max)+b.minPixelPadding)),l=k-f;0<l&&(p+=l,f=k);l=p-h;0<l&&(p=h,f-=l);b.series.length&&
f!==m.min&&p!==m.max&&(b.setExtremes(f,p,!1,!1,{trigger:"pan"}),e=!0);c[d]=g});e&&c.redraw(!1);r(c.container,{cursor:"move"})}});u(b.prototype,{select:function(a,b){var e=this,g=e.series,f=g.chart;a=c(a,!e.selected);e.firePointEvent(a?"select":"unselect",{accumulate:b},function(){e.selected=e.options.selected=a;g.options.data[d(e,g.data)]=e.options;e.setState(a&&"select");b||t(f.getSelectedPoints(),function(a){a.selected&&a!==e&&(a.selected=a.options.selected=!1,g.options.data[d(a,g.data)]=a.options,
a.setState(""),a.firePointEvent("unselect"))})})},onMouseOver:function(a){var b=this.series.chart,c=b.pointer;a=a?c.normalize(a):c.getChartCoordinatesFromPoint(this,b.inverted);c.runPointActions(a,this)},onMouseOut:function(){var a=this.series.chart;this.firePointEvent("mouseOut");t(a.hoverPoints||[],function(a){a.setState()});a.hoverPoints=a.hoverPoint=null},importEvents:function(){if(!this.hasImportedEvents){var b=this,c=g(b.series.options.point,b.options).events;b.events=c;a.objectEach(c,function(a,
c){z(b,c,a)});this.hasImportedEvents=!0}},setState:function(a,b){var d=Math.floor(this.plotX),e=this.plotY,g=this.series,f=g.options.states[a||"normal"]||{},h=n[g.type].marker&&g.options.marker,k=h&&!1===h.enabled,l=h&&h.states&&h.states[a||"normal"]||{},q=!1===l.enabled,r=g.stateMarkerGraphic,w=this.marker||{},p=g.chart,v=g.halo,t,u=h&&g.markerAttribs;a=a||"";if(!(a===this.state&&!b||this.selected&&"select"!==a||!1===f.enabled||a&&(q||k&&!1===l.enabled)||a&&w.states&&w.states[a]&&!1===w.states[a].enabled)){u&&
(t=g.markerAttribs(this,a));if(this.graphic)this.state&&this.graphic.removeClass("highcharts-point-"+this.state),a&&this.graphic.addClass("highcharts-point-"+a),t&&this.graphic.animate(t,c(p.options.chart.animation,l.animation,h.animation)),r&&r.hide();else{if(a&&l)if(h=w.symbol||g.symbol,r&&r.currentSymbol!==h&&(r=r.destroy()),r)r[b?"animate":"attr"]({x:t.x,y:t.y});else h&&(g.stateMarkerGraphic=r=p.renderer.symbol(h,t.x,t.y,t.width,t.height).add(g.markerGroup),r.currentSymbol=h);r&&(r[a&&p.isInsidePlot(d,
e,p.inverted)?"show":"hide"](),r.element.point=this)}(d=f.halo)&&d.size?(v||(g.halo=v=p.renderer.path().add((this.graphic||r).parentGroup)),v.show()[b?"animate":"attr"]({d:this.haloPath(d.size)}),v.attr({"class":"highcharts-halo highcharts-color-"+c(this.colorIndex,g.colorIndex)+(this.className?" "+this.className:""),zIndex:-1}),v.point=this):v&&v.point&&v.point.haloPath&&v.animate({d:v.point.haloPath(0)},null,v.hide);this.state=a;m(this,"afterSetState")}},haloPath:function(a){return this.series.chart.renderer.symbols.circle(Math.floor(this.plotX)-
a,this.plotY-a,2*a,2*a)}});u(h.prototype,{onMouseOver:function(){var a=this.chart,b=a.hoverSeries;if(b&&b!==this)b.onMouseOut();this.options.events.mouseOver&&m(this,"mouseOver");this.setState("hover");a.hoverSeries=this},onMouseOut:function(){var a=this.options,b=this.chart,c=b.tooltip,d=b.hoverPoint;b.hoverSeries=null;if(d)d.onMouseOut();this&&a.events.mouseOut&&m(this,"mouseOut");!c||this.stickyTracking||c.shared&&!this.noSharedTooltip||c.hide();this.setState()},setState:function(a){var b=this;
a=a||"";b.state!==a&&(t([b.group,b.markerGroup,b.dataLabelsGroup],function(c){c&&(b.state&&c.removeClass("highcharts-series-"+b.state),a&&c.addClass("highcharts-series-"+a))}),b.state=a)},setVisible:function(a,b){var c=this,d=c.chart,e=c.legendItem,g,f=d.options.chart.ignoreHiddenSeries,h=c.visible;g=(c.visible=a=c.options.visible=c.userOptions.visible=void 0===a?!h:a)?"show":"hide";t(["group","dataLabelsGroup","markerGroup","tracker","tt"],function(a){if(c[a])c[a][g]()});if(d.hoverSeries===c||(d.hoverPoint&&
d.hoverPoint.series)===c)c.onMouseOut();e&&d.legend.colorizeItem(c,a);c.isDirty=!0;c.options.stacking&&t(d.series,function(a){a.options.stacking&&a.visible&&(a.isDirty=!0)});t(c.linkedSeries,function(b){b.setVisible(a,!1)});f&&(d.isDirtyBox=!0);m(c,g);!1!==b&&d.redraw()},show:function(){this.setVisible(!0)},hide:function(){this.setVisible(!1)},select:function(a){this.selected=a=void 0===a?!this.selected:a;this.checkbox&&(this.checkbox.checked=a);m(this,a?"select":"unselect")},drawTracker:v.drawTrackerGraph})})(I);
(function(a){var z=a.Chart,C=a.each,B=a.inArray,r=a.isArray,l=a.isObject,n=a.pick,t=a.splat;z.prototype.setResponsive=function(l){var m=this.options.responsive,n=[],d=this.currentResponsive;m&&m.rules&&C(m.rules,function(d){void 0===d._id&&(d._id=a.uniqueKey());this.matchResponsiveRule(d,n,l)},this);var f=a.merge.apply(0,a.map(n,function(d){return a.find(m.rules,function(a){return a._id===d}).chartOptions})),n=n.toString()||void 0;n!==(d&&d.ruleIds)&&(d&&this.update(d.undoOptions,l),n?(this.currentResponsive=
{ruleIds:n,mergedOptions:f,undoOptions:this.currentOptions(f)},this.update(f,l)):this.currentResponsive=void 0)};z.prototype.matchResponsiveRule=function(a,m){var l=a.condition;(l.callback||function(){return this.chartWidth<=n(l.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=n(l.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=n(l.minWidth,0)&&this.chartHeight>=n(l.minHeight,0)}).call(this)&&m.push(a._id)};z.prototype.currentOptions=function(n){function m(d,f,k,g){var c;a.objectEach(d,function(a,d){if(!g&&
-1<B(d,["series","xAxis","yAxis"]))for(a=t(a),k[d]=[],c=0;c<a.length;c++)f[d][c]&&(k[d][c]={},m(a[c],f[d][c],k[d][c],g+1));else l(a)?(k[d]=r(a)?[]:{},m(a,f[d]||{},k[d],g+1)):k[d]=f[d]||null})}var q={};m(n,this.options,q,0);return q}})(I);(function(a){var z=a.addEvent,C=a.PlotLineOrBand,B=a.merge,r={currentDateIndicator:!0,color:"#ccd6eb",width:2,label:{format:"%a, %b %d %Y, %H:%M",formatter:void 0,rotation:0,style:{fontSize:"10px"}}};z(a.Axis,"afterSetOptions",function(){var a=this.options,n=a.currentDateIndicator;
n&&("object"===typeof n?(n.label&&n.label.format&&(n.label.formatter=void 0),n=B(r,n)):n=B(r),n.value=new Date,a.plotLines||(a.plotLines=[]),a.plotLines.push(n))});z(C,"render",function(){var l=this.options,n,r;l.currentDateIndicator&&l.label&&(n=l.label.format,r=l.label.formatter,l.value=new Date,l.label.text="function"===typeof r?r(this):a.dateFormat(n,new Date),this.label&&this.label.attr({text:l.label.text}))})})(I);(function(a){var z=function(a){return Array.prototype.slice.call(a,1)},C=a.dateFormat,
B=a.defined,r=a.each,l=a.isArray,n=a.isNumber,t=function(d){return a.isObject(d,!0)},u=a.merge,m=a.pick,q=a.wrap,d=a.Axis,f=a.Tick,k={top:0,right:1,bottom:2,left:3,0:"top",1:"right",2:"bottom",3:"left"};d.prototype.isNavigatorAxis=function(){return/highcharts-navigator-[xy]axis/.test(this.options.className)};d.prototype.isOuterAxis=function(){var a=this,c=-1,b=!0;r(a.chart.axes,function(d,e){d.side!==a.side||d.isNavigatorAxis()||(d===a?c=e:0<=c&&e>c&&(b=!1))});return b};d.prototype.getMaxLabelDimensions=
function(a,c){var b={width:0,height:0};r(c,function(c){c=a[c];var d;t(c)&&(d=t(c.label)?c.label:{},c=d.getBBox?d.getBBox().height:0,d=n(d.textPxLength)?d.textPxLength:0,b.height=Math.max(c,b.height),b.width=Math.max(d,b.width))});return b};a.dateFormats={W:function(a){a=new Date(a);var c;a.setHours(0,0,0,0);a.setDate(a.getDate()-(a.getDay()||7));c=new Date(a.getFullYear(),0,1);return Math.ceil(((a-c)/864E5+1)/7)},E:function(a){return C("%a",a,!0).charAt(0)}};q(d.prototype,"autoLabelAlign",function(a){return this.chart.isStock?
"left":a.apply(this,z(arguments))});q(f.prototype,"getLabelPosition",function(a,c,b,d,e,f,m,q){var g=this.axis,h=g.reversed,r=g.chart,v=g.options,w=v&&t(v.grid)?v.grid:{},v=f.align,u=k[g.side],B=g.tickPositions,A=this.pos-m,y=n(B[q+1])?B[q+1]-m:g.max+m,K=g.tickSize("tick",!0),B=l(K)?K[0]:0,K=K&&K[1]/2,p;!0===w.enabled?("top"===u?(w=g.top+g.offset,p=w-B):"bottom"===u?(p=r.chartHeight-g.bottom+g.offset,w=p+B):(w=g.top+g.len-g.translate(h?y:A),p=g.top+g.len-g.translate(h?A:y)),"right"===u?(u=r.chartWidth-
g.right+g.offset,h=u+B):"left"===u?(h=g.left+g.offset,u=h-B):(u=Math.round(g.left+g.translate(h?y:A))-K,h=Math.round(g.left+g.translate(h?A:y))-K),this.slotWidth=h-u,h={x:"left"===v?u:"right"===v?h:u+(h-u)/2,y:p+(w-p)/2},r=r.renderer.fontMetrics(f.style.fontSize,d.element),v=d.getBBox().height,f.useHTML?h.y+=r.b+-(v/2):(v=Math.round(v/r.h),h.y+=(r.b-(r.h-r.f))/2+-((v-1)*r.h/2)),h.x+=g.horiz&&f.x||0):h=a.apply(this,z(arguments));return h});q(d.prototype,"tickSize",function(a){var c=this.maxLabelDimensions,
b=this.options,d=b&&t(b.grid)?b.grid:{},b=a.apply(this,z(arguments));!0===d.enabled&&(d=2*Math.abs(this.defaultLeftAxisOptions.labels.x),c=d+(this.horiz?c.height:c.width),l(b)?b[0]=c:b=[c]);return b});q(d.prototype,"getTitlePosition",function(a){var c=this.options;if(!0===(c&&t(c.grid)?c.grid:{}).enabled){var b=this.axisTitle,d=b&&b.getBBox().width,e=this.horiz,g=this.left,f=this.top,l=this.width,n=this.height,q=c.title,c=this.opposite,r=this.offset,u=this.tickSize()||[0],B=q.x||0,C=q.y||0,H=m(q.margin,
e?5:10),b=this.chart.renderer.fontMetrics(q.style&&q.style.fontSize,b).f,u=(e?f+n:g)+u[0]/2*(c?-1:1)*(e?1:-1)+(this.side===k.bottom?b:0);return{x:e?g-d/2-H+B:u+(c?l:0)+r+B,y:e?u-(c?n:0)+(c?b:-b)/2+r+C:f-H+C}}return a.apply(this,z(arguments))});q(d.prototype,"unsquish",function(a){var c=this.options;return!0===(c&&t(c.grid)?c.grid:{}).enabled&&this.categories?this.tickInterval:a.apply(this,z(arguments))});a.addEvent(d,"afterSetOptions",function(d){var c=this.options;d=d.userOptions;var b,g=c&&t(c.grid)?
c.grid:{};!0===g.enabled&&(b=u(!0,{className:"highcharts-grid-axis "+(d.className||""),dateTimeLabelFormats:{hour:{list:["%H:%M","%H"]},day:{list:["%A, %e. %B","%a, %e. %b","%E"]},week:{list:["Week %W","W%W"]},month:{list:["%B","%b","%o"]}},grid:{borderWidth:1},labels:{padding:2,style:{fontSize:"13px"}},title:{text:null,reserveSpace:!1,rotation:0},units:[["millisecond",[1,10,100]],["second",[1,10]],["minute",[1,5,15]],["hour",[1,6]],["day",[1]],["week",[1]],["month",[1]],["year",null]]},d),"xAxis"===
this.coll&&(B(d.linkedTo)&&!B(d.tickPixelInterval)&&(b.tickPixelInterval=350),B(d.tickPixelInterval)||!B(d.linkedTo)||B(d.tickPositioner)||B(d.tickInterval)||(b.tickPositioner=function(c,d){var e=this.linkedParent&&this.linkedParent.tickPositions&&this.linkedParent.tickPositions.info;if(e){var g,f,h,k,m=b.units;for(k=0;k<m.length;k++)if(m[k][0]===e.unitName){g=k;break}if(m[g][1])return m[g+1]&&(h=m[g+1][0],f=(m[g+1][1]||[1])[0]),e=a.timeUnits[h],this.tickInterval=e*f,this.getTimeTicks({unitRange:e,
count:f,unitName:h},c,d,this.options.startOfWeek)}})),u(!0,this.options,b),this.horiz&&(c.minPadding=m(d.minPadding,0),c.maxPadding=m(d.maxPadding,0)),n(c.grid.borderWidth)&&(c.tickWidth=c.lineWidth=g.borderWidth))});q(d.prototype,"setAxisTranslation",function(a){var c=this.options,b=c&&t(c.grid)?c.grid:{},d=this.tickPositions&&this.tickPositions.info,e=this.userOptions.labels||{};this.horiz&&(!0===b.enabled&&r(this.series,function(a){a.options.pointRange=0}),d&&(!1===c.dateTimeLabelFormats[d.unitName].range||
1<d.count)&&!B(e.align)&&(c.labels.align="left",B(e.x)||(c.labels.x=3)));a.apply(this,z(arguments))});q(d.prototype,"trimTicks",function(a){var c=this.options,b=c&&t(c.grid)?c.grid:{},d=this.categories,e=this.tickPositions,g=e[0],f=e[e.length-1],k=this.linkedParent&&this.linkedParent.min||this.min,m=this.linkedParent&&this.linkedParent.max||this.max,l=this.tickInterval,n=g>k,q=f<m,g=g<k&&g+l>k,f=f>m&&f-l<m;!0!==b.enabled||d||!this.horiz&&!this.isLinked||(!n&&!g||c.startOnTick||(e[0]=k),!q&&!f||c.endOnTick||
(e[e.length-1]=m));a.apply(this,z(arguments))});q(d.prototype,"render",function(a){var c=this.options,b=c&&t(c.grid)?c.grid:{},d,e,g,f=this.chart.renderer,m=this.horiz;if(!0===b.enabled){if(b=2*Math.abs(this.defaultLeftAxisOptions.labels.x),this.maxLabelDimensions=this.getMaxLabelDimensions(this.ticks,this.tickPositions),b=this.maxLabelDimensions.width+b,c=c.lineWidth,this.rightWall&&this.rightWall.destroy(),a.apply(this),a=this.axisGroup.getBBox(),this.isOuterAxis()&&this.axisLine&&(m&&(b=a.height-
1),c)){a=this.getLinePath(c);e=a.indexOf("M")+1;g=a.indexOf("L")+1;c=a.indexOf("M")+2;d=a.indexOf("L")+2;if(this.side===k.top||this.side===k.left)b=-b;m?(a[c]+=b,a[d]+=b):(a[e]+=b,a[g]+=b);this.axisLineExtra?this.axisLineExtra.animate({d:a}):this.axisLineExtra=f.path(a).attr({zIndex:7}).addClass("highcharts-axis-line").add(this.axisGroup);this.axisLine[this.showAxis?"show":"hide"](!0)}}else a.apply(this)});q(d.prototype,"init",function(g,c,b){function f(a){var b=a.options,c=25/11,d=a.chart.renderer.fontMetrics(b.labels.style.fontSize);
b.labels||(b.labels={});b.labels.align=m(b.labels.align,"center");a.categories||(b.showLastLabel=!1);a.horiz&&(b.tickLength=e.cellHeight||d.h*c);a.labelRotation=0;b.labels.rotation=0}var e=b&&t(b.grid)?b.grid:{},k,n,r;if(e.enabled)if(B(e.borderColor)&&(b.tickColor=b.lineColor=e.borderColor),l(e.columns))for(n=0,r=e.columns.length;r--;)k=u(b,e.columns[r],{type:"category"}),delete k.grid.columns,k=new d(c,k),k.isColumn=!0,k.columnIndex=n,q(k,"labelFormatter",function(b){var c=this.axis,d=c.tickPositions,
e=this.value,g=e===d[0],d=e===d[d.length-1],f=a.find(c.series[0].options.data,function(a){return a[c.isXAxis?"x":"y"]===e});this.isFirst=g;this.isLast=d;this.point=f;return b.call(this)}),n++;else g.apply(this,z(arguments)),f(this);else g.apply(this,z(arguments))})})(I);(function(a){var z=a.Chart,C=a.each,B=a.pick;a.addEvent(a.Axis,"afterSetOptions",function(){this.horiz||!a.isNumber(this.options.staticScale)||this.chart.options.chart.height||(this.staticScale=this.options.staticScale)});z.prototype.adjustHeight=
function(){"adjustHeight"!==this.redrawTrigger&&(C(this.axes||[],function(r){var l=r.chart,n=!!l.initiatedScale&&l.options.animation,t=r.options.staticScale,u;r.staticScale&&a.defined(r.min)&&(u=B(r.unitLength,r.max+r.tickInterval-r.min)*t,u=Math.max(u,t),t=u-l.plotHeight,1<=Math.abs(t)&&(l.plotHeight=u,l.redrawTrigger="adjustHeight",l.setSize(void 0,l.chartHeight+t,n)),C(r.series,function(a){(a=a.sharedClipKey&&l[a.sharedClipKey])&&a.attr({height:l.plotHeight})}))}),this.initiatedScale=!0);this.redrawTrigger=
null};a.addEvent(z,"render",z.prototype.adjustHeight)})(I);var W=function(a){var z=a.each,C=a.extend,B=a.isNumber,r=a.keys,l=a.map,n=a.pick,t=a.reduce,u=function(m,d){var f=t(m,function(a,d){var c=n(d.parent,"");void 0===a[c]&&(a[c]=[]);a[c].push(d);return a},{});m=r(f);z(m,function(k,g){var c=f[k];""!==k&&-1===a.inArray(k,d)&&(z(c,function(a){g[""].push(a)}),delete g[k])});return f},m=function(a,d,f,k,g,c){var b=0,h=0,e=c&&c.after,q=c&&c.before;d={data:k,depth:f-1,id:a,level:f,parent:d};var r,t;
"function"===typeof q&&q(d,c);q=l(g[a]||[],function(d){var e=m(d.id,a,f+1,d,g,c),k=d.start;d=!0===d.milestone?k:d.end;r=!B(r)||k<r?k:r;t=!B(t)||d>t?d:t;b=b+1+e.descendants;h=Math.max(e.height+1,h);return e});k&&(k.start=n(k.start,r),k.end=n(k.end,t));C(d,{children:q,descendants:b,height:h});"function"===typeof e&&e(d,c);return d};return{getListOfParents:u,getNode:m,getTree:function(a,d){var f=l(a,function(a){return a.id});a=u(a,f);return m("",null,1,null,a,d)}}}(I),Y=function(a){var z=a.each,C=a.extend,
B=a.isArray,r=a.isObject,l=a.isNumber,n=a.merge,t=a.pick,u=a.reduce;return{getColor:function(a,l){var d=l.mapOptionsToLevel,f=l.parentColorIndex,k=l.series,g=l.colors,c=k.points,b,h;a&&(c=c[a.i],d=d[a.level]||{},(a=c&&d.colorByPoint)&&(b=c.index%(g?g.length:k.chart.options.chart.colorCount)),h=t(c&&c.options.colorIndex,d&&d.colorIndex,b,f,l.colorIndex));return{color:void 0,colorIndex:h}},getLevelOptions:function(a){var m=null,d,f,k,g;if(r(a))for(m={},k=l(a.from)?a.from:1,g=a.levels,f={},d=r(a.defaults)?
a.defaults:{},B(g)&&(f=u(g,function(a,b){var c,e;r(b)&&l(b.level)&&(e=n({},b),c="boolean"===typeof e.levelIsConstant?e.levelIsConstant:d.levelIsConstant,delete e.levelIsConstant,delete e.level,b=b.level+(c?0:k-1),r(a[b])?C(a[b],e):a[b]=e);return a},{})),g=l(a.to)?a.to:1,a=0;a<=g;a++)m[a]=n({},d,r(f[a])?f[a]:{});return m},setTreeValues:function q(a,f){var d=f.before,g=f.idRoot,c=f.mapIdToNode[g],b=f.points[a.i],h=b&&b.options||{},e=0,l=[];C(a,{levelDynamic:a.level-(("boolean"===typeof f.levelIsConstant?
f.levelIsConstant:1)?0:c.level),name:t(b&&b.name,""),visible:g===a.id||("boolean"===typeof f.visible?f.visible:!1)});"function"===typeof d&&(a=d(a,f));z(a.children,function(b,c){var d=C({},f);C(d,{index:c,siblings:a.children.length,visible:a.visible});b=q(b,d);l.push(b);b.visible&&(e+=b.val)});a.visible=0<e||a.visible;d=t(h.value,e);C(a,{children:l,childrenTotal:e,isLeaf:a.visible&&!e,val:d});return a},updateRootId:function(a){var d;r(a)&&(d=r(a.options)?a.options:{},d=t(a.rootNode,d.rootId,""),r(a.userOptions)&&
(a.userOptions.rootId=d),a.rootNode=d);return d}}}(I);(function(a){function z(){return Array.prototype.slice.call(arguments,1)}function C(a){a.apply(this);this.drawBreaks(this.xAxis,["x"]);this.drawBreaks(this.yAxis,r(this.pointArrayMap,["y"]))}var B=a.addEvent,r=a.pick,l=a.wrap,n=a.each,t=a.extend,u=a.isArray,m=a.fireEvent,q=a.Axis,d=a.Series;t(q.prototype,{isInBreak:function(a,d){var g=a.repeat||Infinity,c=a.from,b=a.to-a.from;d=d>=c?(d-c)%g:g-(c-d)%g;return a.inclusive?d<=b:d<b&&0!==d},isInAnyBreak:function(a,
d){var g=this.options.breaks,c=g&&g.length,b,f,e;if(c){for(;c--;)this.isInBreak(g[c],a)&&(b=!0,f||(f=r(g[c].showPoints,this.isXAxis?!1:!0)));e=b&&d?b&&!f:b}return e}});B(q,"afterInit",function(){"function"===typeof this.setBreaks&&this.setBreaks(this.options.breaks,!1)});B(q,"afterSetTickPositions",function(){if(this.isBroken){var a=this.tickPositions,d=this.tickPositions.info,g=[],c;for(c=0;c<a.length;c++)this.isInAnyBreak(a[c])||g.push(a[c]);this.tickPositions=g;this.tickPositions.info=d}});B(q,
"afterSetOptions",function(){this.isBroken&&(this.options.ordinal=!1)});q.prototype.setBreaks=function(a,d){function g(a){var c=a,d,e;for(e=0;e<b.breakArray.length;e++)if(d=b.breakArray[e],d.to<=a)c-=d.len;else if(d.from>=a)break;else if(b.isInBreak(d,a)){c-=a-d.from;break}return c}function c(a){var c,d;for(d=0;d<b.breakArray.length&&!(c=b.breakArray[d],c.from>=a);d++)c.to<a?a+=c.len:b.isInBreak(c,a)&&(a+=c.len);return a}var b=this,f=u(a)&&!!a.length;b.isDirty=b.isBroken!==f;b.isBroken=f;b.options.breaks=
b.userOptions.breaks=a;b.forceRedraw=!0;f||b.val2lin!==g||(delete b.val2lin,delete b.lin2val);f&&(b.userOptions.ordinal=!1,b.val2lin=g,b.lin2val=c,b.setExtremes=function(a,b,c,d,g){if(this.isBroken){for(;this.isInAnyBreak(a);)a-=this.closestPointRange;for(;this.isInAnyBreak(b);)b-=this.closestPointRange}q.prototype.setExtremes.call(this,a,b,c,d,g)},b.setAxisTranslation=function(a){q.prototype.setAxisTranslation.call(this,a);this.unitLength=null;if(this.isBroken){a=b.options.breaks;var c=[],d=[],e=
0,g,f,h=b.userMin||b.min,k=b.userMax||b.max,l=r(b.pointRangePadding,0),t,u;n(a,function(a){f=a.repeat||Infinity;b.isInBreak(a,h)&&(h+=a.to%f-h%f);b.isInBreak(a,k)&&(k-=k%f-a.from%f)});n(a,function(a){t=a.from;for(f=a.repeat||Infinity;t-f>h;)t-=f;for(;t<h;)t+=f;for(u=t;u<k;u+=f)c.push({value:u,move:"in"}),c.push({value:u+(a.to-a.from),move:"out",size:a.breakSize})});c.sort(function(a,b){return a.value===b.value?("in"===a.move?0:1)-("in"===b.move?0:1):a.value-b.value});g=0;t=h;n(c,function(a){g+="in"===
a.move?1:-1;1===g&&"in"===a.move&&(t=a.value);0===g&&(d.push({from:t,to:a.value,len:a.value-t-(a.size||0)}),e+=a.value-t-(a.size||0))});b.breakArray=d;b.unitLength=k-h-e+l;m(b,"afterBreaks");b.staticScale?b.transA=b.staticScale:b.unitLength&&(b.transA*=(k-b.min+l)/b.unitLength);l&&(b.minPixelPadding=b.transA*b.minPointOffset);b.min=h;b.max=k}});r(d,!0)&&this.chart.redraw()};l(d.prototype,"generatePoints",function(a){a.apply(this,z(arguments));var d=this.xAxis,g=this.yAxis,c=this.points,b,f=c.length,
e=this.options.connectNulls,m;if(d&&g&&(d.options.breaks||g.options.breaks))for(;f--;)b=c[f],m=null===b.y&&!1===e,m||!d.isInAnyBreak(b.x,!0)&&!g.isInAnyBreak(b.y,!0)||(c.splice(f,1),this.data[f]&&this.data[f].destroyElements())});a.Series.prototype.drawBreaks=function(a,d){var g=this,c=g.points,b,f,e,k;a&&n(d,function(d){b=a.breakArray||[];f=a.isXAxis?a.min:r(g.options.threshold,a.min);n(c,function(c){k=r(c["stack"+d.toUpperCase()],c[d]);n(b,function(b){e=!1;if(f<b.from&&k>b.to||f>b.from&&k<b.from)e=
"pointBreak";else if(f<b.from&&k>b.from&&k<b.to||f>b.from&&k>b.to&&k<b.from)e="pointInBreak";e&&m(a,e,{point:c,brk:b})})})})};a.Series.prototype.gappedPath=function(){var d=this.currentDataGrouping,k=d&&d.totalRange,d=this.options.gapSize,g=this.points.slice(),c=g.length-1,b=this.yAxis;if(d&&0<c)for("value"!==this.options.gapUnit&&(d*=this.closestPointRange),k&&k>d&&(d=k);c--;)g[c+1].x-g[c].x>d&&(k=(g[c].x+g[c+1].x)/2,g.splice(c+1,0,{isNull:!0,x:k}),this.options.stacking&&(k=b.stacks[this.stackKey][k]=
new a.StackItem(b,b.options.stackLabels,!1,k,this.stack),k.total=0));return this.getGraphPath(g)};l(a.seriesTypes.column.prototype,"drawPoints",C);l(a.Series.prototype,"drawPoints",C)})(I);(function(a,z,C){var B=function(a){return Array.prototype.slice.call(a,1)},r=a.defined,l=a.each,n=a.extend,t=a.find,u=a.fireEvent,m=C.getLevelOptions,q=a.map,d=a.merge,f=a.inArray,k=a.isNumber,g=function(b){return a.isObject(b,!0)},c=a.isString,b=a.keys,h=a.pick,e=a.reduce,v=a.wrap;C=a.Axis;var w=a.Tick,J=function(a,
b){var c=!1;l(a,function(a,d,e){c||(c=b(a,d,e))});return c},D=function(a,b){var c,d;for(c in b)b.hasOwnProperty(c)&&(d=b[c],v(a,c,d))},E=function(a,b){var c=a.collapseStart;a=a.collapseEnd;a>=b&&(c-=.5);return{from:c,to:a,showPoints:!1}},x=function(a){return e(b(a.mapOfPosToGridNode),function(b,c){c=+c;a.min<=c&&a.max>=c&&!a.isInAnyBreak(c)&&b.push(c);return b},[])},G=function(a,b){var c=a.options.breaks||[],d=E(b,a.max);return J(c,function(a){return a.from===d.from&&a.to===d.to})},I=function(a,b){var c=
a.options.breaks||[];a=E(b,a.max);c.push(a);return c},F=function(a,b){var c=a.options.breaks||[],d=E(b,a.max);return e(c,function(a,b){b.to===d.to&&b.from===d.from||a.push(b);return a},[])},H=function(b,c){var d=b.labelIcon,e=!d,g=c.renderer,f=c.xy,h=c.options,k=h.width,m=h.height,l=f.x-k/2-h.padding,f=f.y-m/2,n=c.collapsed?90:180,q=c.show&&a.isNumber(f);e&&(b.labelIcon=d=g.path(g.symbols[h.type](h.x,h.y,k,m)).addClass("highcharts-label-icon").add(c.group));q||d.attr({y:-9999});d[e?"attr":"animate"]({translateX:l,
translateY:f,rotation:n})},A=function(a,b,d){var e=[],f=[],h={},k={},m=-1,p="boolean"===typeof b?b:!1;a=z.getTree(a,{after:function(a){a=k[a.pos];var b=0,c=0;l(a.children,function(a){c+=a.descendants+1;b=Math.max(a.height+1,b)});a.descendants=c;a.height=b;a.collapsed&&f.push(a)},before:function(a){var b=g(a.data)?a.data:{},d=c(b.name)?b.name:"",f=h[a.parent],f=g(f)?k[f.pos]:null,l=function(a){return a.name===d},n;p&&g(f)&&(n=t(f.children,l))?(l=n.pos,n.nodes.push(a)):l=m++;k[l]||(k[l]=n={depth:f?
f.depth+1:0,name:d,nodes:[a],children:[],pos:l},-1!==l&&e.push(d),g(f)&&f.children.push(n));c(a.id)&&(h[a.id]=a);!0===b.collapsed&&(n.collapsed=!0);a.pos=l}});k=function(a,b){var c=function(a,d,e){var f=d+(-1===d?0:b-1),h=(f-d)/2,k=d+h;l(a.nodes,function(a){var b=a.data;g(b)&&(b.y=d+b.seriesIndex,delete b.seriesIndex);a.pos=k});e[k]=a;a.pos=k;a.tickmarkOffset=h+.5;a.collapseStart=f+.5;l(a.children,function(a){c(a,f+1,e);f=a.collapseEnd-.5});a.collapseEnd=f+.5;return e};return c(a["-1"],-1,{})}(k,
d);return{categories:e,mapOfIdToNode:h,mapOfPosToGridNode:k,collapsedNodes:f,tree:a}};D(C.prototype,{init:function(b,c,e){var g=this,f,h="treegrid"===e.type;h&&(e=d({grid:{enabled:!0},labels:{align:"left",levels:[{level:void 0},{level:1,style:{fontWeight:"bold"}}],symbol:{type:"triangle",x:-5,y:-5,height:10,width:10,padding:5}},uniqueNames:!1},e,{reversed:!0,grid:{columns:void 0}}));b.apply(g,[c,e]);h&&(a.addEvent(g.chart,"beforeRender",function(){var b=g.options&&g.options.labels;g.updateYNames();
l(g.series,function(a){a.yData=q(a.options.data,function(a){return a.y})});g.mapOptionsToLevel=m({defaults:b,from:1,levels:b.levels,to:g.tree.height});f=a.addEvent(g,"foundExtremes",function(){l(g.collapsedNodes,function(a){a=I(g,a);g.setBreaks(a,!1)});f()})}),g.hasNames=!0,g.options.showLastLabel=!0)},getMaxLabelDimensions:function(a){var b=this.options,c=b&&b.labels,b=c&&k(c.indentation)?b.labels.indentation:0,c=a.apply(this,B(arguments)),d;"treegrid"===this.options.type&&(d=this.mapOfPosToGridNode[-1].height,
c.width+=b*(d-1));return c},generateTick:function(a,b){var c=g(this.mapOptionsToLevel)?this.mapOptionsToLevel:{},d=this.ticks,e=d[b],f,h;"treegrid"===this.options.type?(h=this.mapOfPosToGridNode[b],(c=c[h.depth])&&(f={labels:c}),e?(e.parameters.category=h.name,e.options=f,e.addLabel()):d[b]=new w(this,b,null,void 0,{category:h.name,tickmarkOffset:h.tickmarkOffset,options:f})):a.apply(this,B(arguments))},setTickInterval:function(a){var b=this.options;"treegrid"===b.type?(this.min=h(this.userMin,b.min,
this.dataMin),this.max=h(this.userMax,b.max,this.dataMax),u(this,"foundExtremes"),this.setAxisTranslation(!0),this.tickmarkOffset=.5,this.tickInterval=1,this.tickPositions=x(this)):a.apply(this,B(arguments))}});D(w.prototype,{getLabelPosition:function(a,b,c,d,e,f,m,l,n){var p=h(this.options&&this.options.labels,f);f=this.pos;var q=this.axis,r="treegrid"===q.options.type;a=a.apply(this,[b,c,d,e,p,m,l,n]);r&&(b=p&&g(p.symbol)?p.symbol:{},p=p&&k(p.indentation)?p.indentation:0,f=(f=(q=q.mapOfPosToGridNode)&&
q[f])&&f.depth||1,a.x+=b.width+2*b.padding+(f-1)*p);return a},renderLabel:function(b){var c=this,d=c.pos,e=c.axis,k=c.label,m=e.mapOfPosToGridNode,n=e.options,q=h(c.options&&c.options.labels,n&&n.labels),t=q&&g(q.symbol)?q.symbol:{},v=(m=m&&m[d])&&m.depth,n="treegrid"===n.type,w=!(!k||!k.element),d=-1<f(d,e.tickPositions);n&&m&&w&&k.addClass("highcharts-treegrid-node-level-"+v);b.apply(c,B(arguments));n&&m&&w&&0<m.descendants&&(e=G(e,m),H(c,{collapsed:e,group:k.parentGroup,options:t,renderer:k.renderer,
show:d,xy:k.xy}),t="highcharts-treegrid-node-"+(e?"expanded":"collapsed"),k.addClass("highcharts-treegrid-node-"+(e?"collapsed":"expanded")).removeClass(t),l([k,c.labelIcon],function(b){b.attachedTreeGridEvents||(a.addEvent(b.element,"mouseover",function(){k.addClass("highcharts-treegrid-node-active")}),a.addEvent(b.element,"mouseout",function(){var a=k;r(q.style);a.removeClass("highcharts-treegrid-node-active")}),a.addEvent(b.element,"click",function(){c.toggleCollapse()}),b.attachedTreeGridEvents=
!0)}))}});n(w.prototype,{collapse:function(a){var b=this.axis,c=I(b,b.mapOfPosToGridNode[this.pos]);b.setBreaks(c,h(a,!0))},expand:function(a){var b=this.axis,c=F(b,b.mapOfPosToGridNode[this.pos]);b.setBreaks(c,h(a,!0))},toggleCollapse:function(a){var b=this.axis,c;c=b.mapOfPosToGridNode[this.pos];c=G(b,c)?F(b,c):I(b,c);b.setBreaks(c,h(a,!0))}});C.prototype.updateYNames=function(){var a=this.options,b=a.uniqueNames,c=!this.isXAxis,d=this.series,f=0;"treegrid"===a.type&&c&&(a=e(d,function(a,c){c.visible&&
(l(c.options.data,function(b){g(b)&&(b.seriesIndex=f,a.push(b))}),!0===b&&f++);return a},[]),a=A(a,b,!0===b?f:1),this.categories=a.categories,this.mapOfPosToGridNode=a.mapOfPosToGridNode,this.collapsedNodes=a.collapsedNodes,this.hasNames=!0,this.tree=a.tree)};C.prototype.utils={getNode:z.getNode}})(I,W,Y);W=function(a){function z(a,l,d){d=d||0;var f=a.length-1;l-=1e-7;for(var k,g;d<=f;)if(k=f+d>>1,g=l-a[k].xMin,0<g)d=k+1;else if(0>g)f=k-1;else return k;return 0<d?d-1:0}function C(a,l){for(var d=z(a,
l.x+1)+1;d--;){var f;if(f=a[d].xMax>=l.x)f=a[d],f=l.x<=f.xMax&&l.x>=f.xMin&&l.y<=f.yMax&&l.y>=f.yMin;if(f)return d}return-1}function B(a){var m=[];if(a.length){m.push("M",a[0].start.x,a[0].start.y);for(var d=0;d<a.length;++d)m.push("L",a[d].end.x,a[d].end.y)}return m}function r(a,q){a.yMin=n(a.yMin,q.yMin);a.yMax=l(a.yMax,q.yMax);a.xMin=n(a.xMin,q.xMin);a.xMax=l(a.xMax,q.xMax)}var l=Math.min,n=Math.max,t=Math.abs,u=a.pick;return{straight:function(a,l){return{path:["M",a.x,a.y,"L",l.x,l.y],obstacles:[{start:a,
end:l}]}},simpleConnect:a.extend(function(a,l,d){function f(a,b,c,d,e){a={x:a.x,y:a.y};a[b]=c[d||b]+(e||0);return a}function k(a,b,c){var d=t(b[c]-a[c+"Min"])>t(b[c]-a[c+"Max"]);return f(b,c,a,c+(d?"Max":"Min"),d?1:-1)}var g=[],c,b=u(d.startDirectionX,t(l.x-a.x)>t(l.y-a.y))?"x":"y",h=d.chartObstacles,e=C(h,a);d=C(h,l);var m;-1<d?(c=h[d],d=k(c,l,b),c={start:d,end:l},m=d):m=l;-1<e&&(h=h[e],d=k(h,a,b),g.push({start:a,end:d}),d[b]>a[b]===d[b]>m[b]&&(b="y"===b?"x":"y",l=a[b]<l[b],g.push({start:d,end:f(d,
b,h,b+(l?"Max":"Min"),l?1:-1)}),b="y"===b?"x":"y"));a=g.length?g[g.length-1].end:a;d=f(a,b,m);g.push({start:a,end:d});b=f(d,"y"===b?"x":"y",m);g.push({start:d,end:b});g.push(c);return{path:B(g),obstacles:g}},{requiresObstacles:!0}),fastAvoid:a.extend(function(a,q,d){function f(a,b,c){var d,e,g,f,h,k=a.x<b.x?1:-1;a.x<b.x?(d=a,e=b):(d=b,e=a);a.y<b.y?(f=a,g=b):(f=b,g=a);for(h=0>k?l(z(F,e.x),F.length-1):0;F[h]&&(0<k&&F[h].xMin<=e.x||0>k&&F[h].xMax>=d.x);){if(F[h].xMin<=e.x&&F[h].xMax>=d.x&&F[h].yMin<=
g.y&&F[h].yMax>=f.y)return c?{y:a.y,x:a.x<b.x?F[h].xMin-1:F[h].xMax+1,obstacle:F[h]}:{x:a.x,y:a.y<b.y?F[h].yMin-1:F[h].yMax+1,obstacle:F[h]};h+=k}return b}function k(a,b,c,d,e){var g=e.soft,h=e.hard,k=d?"x":"y",l={x:b.x,y:b.y},m={x:b.x,y:b.y};e=a[k+"Max"]>=g[k+"Max"];var g=a[k+"Min"]<=g[k+"Min"],n=a[k+"Max"]>=h[k+"Max"],h=a[k+"Min"]<=h[k+"Min"],p=t(a[k+"Min"]-b[k]),q=t(a[k+"Max"]-b[k]);c=10>t(p-q)?b[k]<c[k]:q<p;m[k]=a[k+"Min"];l[k]=a[k+"Max"];a=f(b,m,d)[k]!==m[k];b=f(b,l,d)[k]!==l[k];c=a?b?c:!0:b?
!1:c;c=g?e?c:!0:e?!1:c;return h?n?c:!0:n?!1:c}function g(a,b,c){if(a.x===b.x&&a.y===b.y)return[];var e=c?"x":"y",h,m,q,t,v=d.obstacleOptions.margin;h={soft:{xMin:E,xMax:x,yMin:G,yMax:I},hard:d.hardBounds};m=C(F,a);-1<m?(m=F[m],h=k(m,a,b,c,h),r(m,d.hardBounds),t=c?{y:a.y,x:m[h?"xMax":"xMin"]+(h?1:-1)}:{x:a.x,y:m[h?"yMax":"yMin"]+(h?1:-1)},q=C(F,t),-1<q&&(q=F[q],r(q,d.hardBounds),t[e]=h?n(m[e+"Max"]-v+1,(q[e+"Min"]+m[e+"Max"])/2):l(m[e+"Min"]+v-1,(q[e+"Max"]+m[e+"Min"])/2),a.x===t.x&&a.y===t.y?(J&&
(t[e]=h?n(m[e+"Max"],q[e+"Max"])+1:l(m[e+"Min"],q[e+"Min"])-1),J=!J):J=!1),a=[{start:a,end:t}]):(e=f(a,{x:c?b.x:a.x,y:c?a.y:b.y},c),a=[{start:a,end:{x:e.x,y:e.y}}],e[c?"x":"y"]!==b[c?"x":"y"]&&(h=k(e.obstacle,e,b,!c,h),r(e.obstacle,d.hardBounds),h={x:c?e.x:e.obstacle[h?"xMax":"xMin"]+(h?1:-1),y:c?e.obstacle[h?"yMax":"yMin"]+(h?1:-1):e.y},c=!c,a=a.concat(g({x:e.x,y:e.y},h,c))));return a=a.concat(g(a[a.length-1].end,b,!c))}function c(a,b,c){var e=l(a.xMax-b.x,b.x-a.xMin)<l(a.yMax-b.y,b.y-a.yMin);c=
k(a,b,c,e,{soft:d.hardBounds,hard:d.hardBounds});return e?{y:b.y,x:a[c?"xMax":"xMin"]+(c?1:-1)}:{x:b.x,y:a[c?"yMax":"yMin"]+(c?1:-1)}}var b=u(d.startDirectionX,t(q.x-a.x)>t(q.y-a.y)),h=b?"x":"y",e,m,w=[],J=!1,D=d.obstacleMetrics,E=l(a.x,q.x)-D.maxWidth-10,x=n(a.x,q.x)+D.maxWidth+10,G=l(a.y,q.y)-D.maxHeight-10,I=n(a.y,q.y)+D.maxHeight+10,F=d.chartObstacles;e=z(F,E);D=z(F,x);F=F.slice(e,D+1);-1<(D=C(F,q))&&(m=c(F[D],q,a),w.push({end:q,start:m}),q=m);for(;-1<(D=C(F,q));)e=0>q[h]-a[h],m={x:q.x,y:q.y},
m[h]=F[D][e?h+"Max":h+"Min"]+(e?1:-1),w.push({end:q,start:m}),q=m;a=g(a,q,b);a=a.concat(w.reverse());return{path:B(a),obstacles:a}},{requiresObstacles:!0})}}(I);(function(a){a.SVGRenderer.prototype.symbols.arrow=function(a,C,B,r){return["M",a,C+r/2,"L",a+B,C,"L",a,C+r/2,"L",a+B,C+r]};a.SVGRenderer.prototype.symbols["arrow-half"]=function(z,C,B,r){return a.SVGRenderer.prototype.symbols.arrow(z,C,B/2,r)};a.SVGRenderer.prototype.symbols["triangle-left"]=function(a,C,B,r){return["M",a+B,C,"L",a,C+r/2,
"L",a+B,C+r,"Z"]};a.SVGRenderer.prototype.symbols["arrow-filled"]=a.SVGRenderer.prototype.symbols["triangle-left"];a.SVGRenderer.prototype.symbols["triangle-left-half"]=function(z,C,B,r){return a.SVGRenderer.prototype.symbols["triangle-left"](z,C,B/2,r)};a.SVGRenderer.prototype.symbols["arrow-filled-half"]=a.SVGRenderer.prototype.symbols["triangle-left-half"]})(I);(function(a,z){function C(a){var b=a.shapeArgs;return b?{xMin:b.x,xMax:b.x+b.width,yMin:b.y,yMax:b.y+b.height}:(b=a.graphic&&a.graphic.getBBox())?
{xMin:a.plotX-b.width/2,xMax:a.plotX+b.width/2,yMin:a.plotY-b.height/2,yMax:a.plotY+b.height/2}:null}function B(a){for(var b=a.length,c=0,d,m,l=[],n=function(a,b,c){c=f(c,10);var d=a.yMax+c>b.yMin-c&&a.yMin-c<b.yMax+c,e=a.xMax+c>b.xMin-c&&a.xMin-c<b.xMax+c,h=d?a.xMin>b.xMax?a.xMin-b.xMax:b.xMin-a.xMax:Infinity,k=e?a.yMin>b.yMax?a.yMin-b.yMax:b.yMin-a.yMax:Infinity;return e&&d?c?n(a,b,Math.floor(c/2)):Infinity:g(h,k)};c<b;++c)for(d=c+1;d<b;++d)m=n(a[c],a[d]),80>m&&l.push(m);l.push(80);return k(Math.floor(l.sort(function(a,
b){return a-b})[Math.floor(l.length/10)]/2-1),1)}function r(a,b,d){this.init(a,b,d)}function l(a){this.init(a)}var n=a.defined,t=a.deg2rad,u=a.extend,m=a.each,q=a.addEvent,d=a.merge,f=a.pick,k=Math.max,g=Math.min;u(a.defaultOptions,{pathfinder:{type:"straight",lineWidth:1,marker:{enabled:!1,align:"center",verticalAlign:"middle",inside:!1,lineWidth:1},startMarker:{symbol:"diamond"},endMarker:{symbol:"arrow-filled"}}});r.prototype={init:function(a,b,d){this.fromPoint=a;this.toPoint=b;this.options=d;
this.chart=a.series.chart;this.pathfinder=this.chart.pathfinder},renderPath:function(a,b,d){var c=this.chart,g=c.pathfinder,f=!c.options.chart.forExport&&!1!==d,h=this.graphics&&this.graphics.path;g.group||(g.group=c.renderer.g().addClass("highcharts-pathfinder-group").attr({zIndex:-1}).add(c.seriesGroup));g.group.translate(c.plotLeft,c.plotTop);h&&h.renderer||(h=c.renderer.path().add(g.group));h.attr(b);h[f?"animate":"attr"]({d:a},d);this.graphics=this.graphics||{};this.graphics.path=h},addMarker:function(a,
b,d){var c=this.fromPoint.series.chart,g=c.pathfinder,c=c.renderer,f="start"===a?this.fromPoint:this.toPoint,h=f.getPathfinderAnchorPoint(b),k;b.enabled&&(d="start"===a?{x:d[4],y:d[5]}:{x:d[d.length-5],y:d[d.length-4]},d=f.getRadiansToVector(d,h),f=f.getMarkerVector(d,b.radius,h),h=-d/t,b.width&&b.height?(d=b.width,k=b.height):d=k=2*b.radius,this.graphics=this.graphics||{},f={x:f.x-d/2,y:f.y-k/2,width:d,height:k,rotation:h,rotationOriginX:f.x,rotationOriginY:f.y},this.graphics[a]?this.graphics[a].animate(f):
this.graphics[a]=c.symbol(b.symbol).addClass("highcharts-point-connecting-path-"+a+"-marker").attr(f).add(g.group))},getPath:function(c){var b=this.pathfinder,g=this.chart,e=b.algorithms[c.type],f=b.chartObstacles;if("function"!==typeof e)a.error('"'+c.type+'" is not a Pathfinder algorithm.');else return e.requiresObstacles&&!f&&(f=b.chartObstacles=b.getChartObstacles(c),g.options.pathfinder.algorithmMargin=c.algorithmMargin,b.chartObstacleMetrics=b.getObstacleMetrics(f)),e(this.fromPoint.getPathfinderAnchorPoint(c.startMarker),
this.toPoint.getPathfinderAnchorPoint(c.endMarker),d({chartObstacles:f,lineObstacles:b.lineObstacles||[],obstacleMetrics:b.chartObstacleMetrics,hardBounds:{xMin:0,xMax:g.plotWidth,yMin:0,yMax:g.plotHeight},obstacleOptions:{margin:c.algorithmMargin},startDirectionX:b.getAlgorithmStartDirection(c.startMarker)},c))},render:function(){var a=this.fromPoint,b=a.series,f=b.chart,e=f.pathfinder,m,f=d(f.options.pathfinder,b.options.pathfinder,a.options.pathfinder,this.options),l={};l.class="highcharts-point-connecting-path highcharts-color-"+
a.colorIndex;f=d(l,f);n(f.marker.radius)||(f.marker.radius=g(k(Math.ceil((f.algorithmMargin||8)/2)-1,1),5));a=this.getPath(f);m=a.path;a.obstacles&&(e.lineObstacles=e.lineObstacles||[],e.lineObstacles=e.lineObstacles.concat(a.obstacles));this.renderPath(m,l,b.options.animation);this.addMarker("start",d(f.marker,f.startMarker),m);this.addMarker("end",d(f.marker,f.endMarker),m)},destroy:function(){this.graphics&&(a.objectEach(this.graphics,function(a){a.destroy()}),delete this.graphics)}};l.prototype=
{algorithms:z,init:function(a){this.chart=a;this.connections=[];q(a,"redraw",function(){this.pathfinder.update()})},update:function(c){var b=this.chart,d=this,e=d.connections;d.connections=[];m(b.series,function(c){c.visible&&m(c.points,function(c){var e,g=c.options&&c.options.connect&&a.splat(c.options.connect);c.visible&&!1!==c.isInside&&g&&m(g,function(g){e=b.get("string"===typeof g?g:g.to);e instanceof a.Point&&e.series.visible&&e.visible&&!1!==e.isInside&&d.connections.push(new r(c,e,"string"===
typeof g?{}:g))})})});for(var g=0,f,k,l=e.length,n=d.connections.length;g<l;++g){k=!1;for(f=0;f<n;++f)if(e[g].fromPoint===d.connections[f].fromPoint&&e[g].toPoint===d.connections[f].toPoint){d.connections[f].graphics=e[g].graphics;k=!0;break}k||e[g].destroy()}delete this.chartObstacles;delete this.lineObstacles;d.renderConnections(c)},renderConnections:function(a){a?m(this.chart.series,function(a){var b=function(){var b=a.chart.pathfinder;m(b&&b.connections||[],function(b){b.fromPoint&&b.fromPoint.series===
a&&b.render()});a.pathfinderRemoveRenderEvent&&(a.pathfinderRemoveRenderEvent(),delete a.pathfinderRemoveRenderEvent)};!1===a.options.animation?b():a.pathfinderRemoveRenderEvent=q(a,"afterAnimate",b)}):m(this.connections,function(a){a.render()})},getChartObstacles:function(a){for(var b=[],c=this.chart.series,d=f(a.algorithmMargin,0),g,k=0,l=c.length;k<l;++k)if(c[k].visible)for(var q=0,r=c[k].points.length,t;q<r;++q)t=c[k].points[q],t.visible&&(t=C(t))&&b.push({xMin:t.xMin-d,xMax:t.xMax+d,yMin:t.yMin-
d,yMax:t.yMax+d});b=b.sort(function(a,b){return a.xMin-b.xMin});n(a.algorithmMargin)||(g=a.algorithmMargin=B(b),m(b,function(a){a.xMin-=g;a.xMax+=g;a.yMin-=g;a.yMax+=g}));return b},getObstacleMetrics:function(a){for(var b=0,c=0,d,g,f=a.length;f--;)d=a[f].xMax-a[f].xMin,g=a[f].yMax-a[f].yMin,b<d&&(b=d),c<g&&(c=g);return{maxHeight:c,maxWidth:b}},getAlgorithmStartDirection:function(a){var b="top"!==a.verticalAlign&&"bottom"!==a.verticalAlign;return"left"!==a.align&&"right"!==a.align?b?void 0:!1:b?!0:
void 0}};a.Connection=r;a.Pathfinder=l;u(a.Point.prototype,{getPathfinderAnchorPoint:function(a){var b=C(this),c,d;switch(a.align){case "right":c="xMax";break;case "left":c="xMin"}switch(a.verticalAlign){case "top":d="yMin";break;case "bottom":d="yMax"}return{x:c?b[c]:(b.xMin+b.xMax)/2,y:d?b[d]:(b.yMin+b.yMax)/2}},getRadiansToVector:function(a,b){n(b)||(b=C(this),b={x:(b.xMin+b.xMax)/2,y:(b.yMin+b.yMax)/2});return Math.atan2(b.y-a.y,a.x-b.x)},getMarkerVector:function(a,b,d){for(var c=2*Math.PI,g=
C(this),f=g.xMax-g.xMin,k=g.yMax-g.yMin,h=Math.atan2(k,f),m=!1,f=f/2,l=k/2,n=g.xMin+f,g=g.yMin+l,q=n,r=g,t={},u=1,y=1;a<-Math.PI;)a+=c;for(;a>Math.PI;)a-=c;c=Math.tan(a);a>-h&&a<=h?(y=-1,m=!0):a>h&&a<=Math.PI-h?y=-1:a>Math.PI-h||a<=-(Math.PI-h)?(u=-1,m=!0):u=-1;m?(q+=u*f,r+=y*f*c):(q+=k/(2*c)*u,r+=y*l);d.x!==n&&(q=d.x);d.y!==g&&(r=d.y);t.x=q+b*Math.cos(a);t.y=r-b*Math.sin(a);return t}});a.Chart.prototype.callbacks.push(function(a){!1!==a.options.pathfinder.enabled&&(this.pathfinder=new l(this),this.pathfinder.update(!0))})})(I,
W);(function(a){var z=a.addEvent,C=a.defined,B=a.seriesTypes.column,r=a.each,l=a.isNumber,n=a.isObject,t=a.merge,u=a.pick,m=a.seriesType,q=a.Axis,d=a.Point,f=a.Series;m("xrange","column",{colorByPoint:!0,dataLabels:{verticalAlign:"middle",inside:!0,formatter:function(){var a=this.point.partialFill;n(a)&&(a=a.amount);C(a)||(a=0);return 100*a+"%"}},tooltip:{headerFormat:'\x3cspan style\x3d"font-size: 0.85em"\x3e{point.x} - {point.x2}\x3c/span\x3e\x3cbr/\x3e',pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cb\x3e{point.yCategory}\x3c/b\x3e\x3cbr/\x3e'},
borderRadius:3,pointRange:0},{type:"xrange",parallelArrays:["x","x2","y"],requireSorting:!1,animate:a.seriesTypes.line.prototype.animate,cropShoulder:1,getExtremesFromAll:!0,autoIncrement:a.noop,getColumnMetrics:function(){function a(){r(c.series,function(a){var b=a.xAxis;a.xAxis=a.yAxis;a.yAxis=b})}var d,c=this.chart;a();d=B.prototype.getColumnMetrics.call(this);a();return d},cropData:function(a,d,c,b){d=f.prototype.cropData.call(this,this.x2Data,d,c,b);d.xData=a.slice(d.start,d.end);return d},translatePoint:function(a){var d=
this.xAxis,c=this.yAxis,b=this.columnMetrics,f=this.options,e=f.minPointLength||0,k=a.plotX,m=u(a.x2,a.x+(a.len||0)),q=d.translate(m,0,0,0,1),m=Math.abs(q-k),r=this.chart.inverted,z=u(f.borderWidth,1)%2/2,x=b.offset,B=Math.round(b.width);e&&(e-=m,0>e&&(e=0),k-=e/2,q+=e/2);k=Math.max(k,-10);q=Math.min(Math.max(q,-10),d.len+10);C(a.options.pointWidth)&&(x-=(Math.ceil(a.options.pointWidth)-B)/2,B=Math.ceil(a.options.pointWidth));f.pointPlacement&&l(a.plotY)&&c.categories&&(a.plotY=c.translate(a.y,0,
1,0,1,f.pointPlacement));a.shapeArgs={x:Math.floor(Math.min(k,q))+z,y:Math.floor(a.plotY+x)+z,width:Math.round(Math.abs(q-k)),height:B,r:this.options.borderRadius};f=a.shapeArgs.x;e=f+a.shapeArgs.width;0>f||e>d.len?(f=Math.min(d.len,Math.max(0,f)),e=Math.max(0,Math.min(e,d.len)),d=e-f,a.dlBox=t(a.shapeArgs,{x:f,width:e-f,centerX:d?d/2:null})):a.dlBox=null;a.tooltipPos[0]+=r?0:m/2;a.tooltipPos[1]-=r?-m/2:b.width/2;if(d=a.partialFill)n(d)&&(d=d.amount),l(d)||(d=0),b=a.shapeArgs,a.partShapeArgs={x:b.x,
y:b.y,width:b.width,height:b.height,r:this.options.borderRadius},a.clipRectArgs={x:b.x,y:b.y,width:Math.max(Math.round(m*d+(a.plotX-k)),0),height:b.height};c.categories&&(a.category=c.categories[a.y])},translate:function(){B.prototype.translate.apply(this,arguments);r(this.points,function(a){this.translatePoint(a)},this)},drawPoint:function(a,d){var c=this.chart.renderer,b=a.graphic,f=a.shapeType,e=a.shapeArgs,g=a.partShapeArgs,k=a.clipRectArgs;if(a.isNull)b&&(a.graphic=b.destroy());else{if(b)a.graphicOriginal[d](t(e));
else a.graphic=b=c.g("point").addClass(a.getClassName()).add(a.group||this.group),a.graphicOriginal=c[f](e).addClass(a.getClassName()).addClass("highcharts-partfill-original").add(b);g&&(a.graphicOverlay?(a.graphicOverlay[d](t(g)),a.clipRect.animate(t(k))):(a.clipRect=c.clipRect(k.x,k.y,k.width,k.height),a.graphicOverlay=c[f](g).addClass("highcharts-partfill-overlay").add(b).clip(a.clipRect)))}},drawPoints:function(){var a=this,d=a.getAnimationVerb();r(a.points,function(c){a.drawPoint(c,d)})},getAnimationVerb:function(){return this.chart.pointCount<
(this.options.animationLimit||250)?"animate":"attr"}},{applyOptions:function(){var a,f=d.prototype.applyOptions.apply(this,arguments);a=f.series;if(a.options.colorByPoint&&!f.options.color){var c=a.options.colors||a.chart.options.colors;a=f.y%(c?c.length:a.chart.options.chart.colorCount);f.options.colorIndex||(f.colorIndex=a)}return f},init:function(){d.prototype.init.apply(this,arguments);this.y||(this.y=0);return this},setState:function(){d.prototype.setState.apply(this,arguments);this.series.drawPoint(this,
this.series.getAnimationVerb())},getLabelConfig:function(){var a=d.prototype.getLabelConfig.call(this),f=this.series.yAxis.categories;a.x2=this.x2;a.yCategory=this.yCategory=f&&f[this.y];return a},tooltipDateKeys:["x","x2"],isValid:function(){return"number"===typeof this.x&&"number"===typeof this.x2}});z(q,"afterGetSeriesExtremes",function(){var a=this.series,d,c;this.isXAxis&&(d=u(this.dataMax,-Number.MAX_VALUE),r(a,function(a){a.x2Data&&r(a.x2Data,function(a){a>d&&(d=a,c=!0)})}),c&&(this.dataMax=
d))})})(I);(function(a){var z=a.dateFormat,C=a.isObject,B=a.isNumber,r=a.merge,l=a.pick,n=a.seriesType,t=a.stop,u=a.seriesTypes.xrange;n("gantt","xrange",{grouping:!1,dataLabels:{enabled:!0,formatter:function(){var a=this.point.partialFill;C(a)&&(a=a.amount);if(B(a)&&0<a)return 100*a+"%"}},tooltip:{headerFormat:'\x3cspan style\x3d"color:{point.color};text-align:right"\x3e{series.name}\x3c/span\x3e\x3cbr/\x3e',pointFormat:null,pointFormatter:function(){var m=this.series,l=m.chart.tooltip,d=m.xAxis,
f=d.options.dateTimeLabelFormats,k=d.options.startOfWeek,g=m.tooltipOptions,c=g.xDateFormat,b=this.end?this.end-this.start:0,m=this.options.milestone,d="\x3cb\x3e"+(this.name||this.category)+"\x3c/b\x3e";if(g.pointFormat)return this.tooltipFormatter(g.pointFormat);c||(c=a.splat(l.getDateFormat(b,this.start,k,f))[0]);l=z(c,this.start);f=z(c,this.end);d+="\x3cbr/\x3e";return m?d+('\x3cspan style\x3d"font-size: 0.8em"\x3eDate '+l+"\x3c/span\x3e\x3cbr/\x3e"):d+('\x3cspan style\x3d"font-size: 0.8em"\x3eStart: '+
l+"\x3c/span\x3e\x3cbr/\x3e")+('\x3cspan style\x3d"font-size: 0.8em"\x3eEnd: '+f+"\x3c/span\x3e\x3cbr/\x3e")}},pathfinder:{type:"simpleConnect",animation:{reversed:!0},startMarker:{enabled:!0,symbol:"arrow-filled",radius:4,fill:"#fa0",align:"left"},endMarker:{enabled:!1,align:"right"}}},{keyboardMoveVertical:!1,translatePoint:function(a){var m,d;u.prototype.translatePoint.call(this,a);a.options.milestone&&(m=a.shapeArgs,d=m.height,a.shapeArgs={x:m.x-d/2,y:m.y,width:d,height:d})},drawPoint:function(a,
l){var d=this.chart.renderer,f=a.shapeArgs,k=a.plotY,g=a.graphic;a.options.milestone?B(k)&&null!==a.y?(f=d.symbols.diamond(f.x,f.y,f.width,f.height),g?(t(g),g[l]({d:f})):a.graphic=d.path(f).addClass(a.getClassName(),!0).add(a.group||this.group)):g&&(a.graphic=g.destroy()):u.prototype.drawPoint.call(this,a,l)},setData:a.Series.prototype.setData,setGanttPointAliases:function(a){function m(d,f){void 0!==f&&(a[d]=f)}m("x",l(a.start,a.x));m("x2",l(a.end,a.x2));m("partialFill",l(a.completed,a.partialFill));
m("connect",l(a.dependency,a.connect))}},r(u.prototype.pointClass.prototype,{applyOptions:function(a,l){var d=this.series;a=r(a);d.setGanttPointAliases(a);return a=u.prototype.pointClass.prototype.applyOptions.call(this,a,l)}}))})(I);(function(a){var z=a.each,C=a.map,B=a.merge,r=a.splat,l=a.Chart;a.ganttChart=function(n,t,u){var m="string"===typeof n||n.nodeName,q=t.series,d=a.getOptions(),f;t=arguments[m?1:0];a.isArray(t.xAxis)||(t.xAxis=[t.xAxis||{},{}]);t.xAxis=C(t.xAxis,function(a,g){1===g&&(f=
0);return B(d.xAxis,{grid:{enabled:!0},opposite:!0,linkedTo:f},a,{type:"datetime"})});t.yAxis=C(r(t.yAxis||{}),function(a){return B(d.yAxis,{grid:{enabled:!0},staticScale:50,reversed:!0,type:a.categories?a.type:"treegrid"},a)});t.series=null;t=B({chart:{type:"gantt"},title:{text:null},legend:{enabled:!1}},t);t.series=q;z(t.series,function(d){z(d.data,function(d){a.seriesTypes.gantt.prototype.setGanttPointAliases(d)})});return m?new l(n,t,u):new l(t,t)}})(I);return I});
//# sourceMappingURL=highcharts-gantt.js.map
