/* Highcharts JS v6.0.3 (2017-11-14) (c) 2009-2016 Torstein Honsi License: www.highcharts.com/license */ (function(S,N){"object"===typeof module&&module.exports?module.exports=S.document?N(S):N:S.Highcharts=N(S)})("undefined"!==typeof window?window:this,function(S){var N=function(){var a="undefined"===typeof S?window:S,D=a.document,B=a.navigator&&a.navigator.userAgent||"",G=D&&D.createElementNS&&!!D.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,p=/(edge|msie|trident)/i.test(B)&&!a.opera,g=/Firefox/.test(B),l=g&&4>parseInt(B.split("Firefox/")[1],10);return a.Highcharts?a.Highcharts.error(16, !0):{product:"Highcharts",version:"6.0.3",deg2rad:2*Math.PI/360,doc:D,hasBidiBug:l,hasTouch:D&&void 0!==D.documentElement.ontouchstart,isMS:p,isWebKit:/AppleWebKit/.test(B),isFirefox:g,isTouchDevice:/(Mobile|Android|Windows Phone)/.test(B),SVG_NS:"http://www.w3.org/2000/svg",chartCount:0,seriesTypes:{},symbolSizes:{},svg:G,win:a,marginNames:["plotTop","marginRight","marginBottom","plotLeft"],noop:function(){},charts:[]}}();(function(a){a.timers=[];var D=a.charts,B=a.doc,G=a.win;a.error=function(p, g){p=a.isNumber(p)?"Highcharts error #"+p+": www.highcharts.com/errors/"+p:p;if(g)throw Error(p);G.console&&console.log(p)};a.Fx=function(a,g,l){this.options=g;this.elem=a;this.prop=l};a.Fx.prototype={dSetter:function(){var a=this.paths[0],g=this.paths[1],l=[],r=this.now,n=a.length,w;if(1===r)l=this.toD;else if(n===g.length&&1>r)for(;n--;)w=parseFloat(a[n]),l[n]=isNaN(w)?g[n]:r*parseFloat(g[n]-w)+w;else l=g;this.elem.attr("d",l,null,!0)},update:function(){var a=this.elem,g=this.prop,l=this.now,r= this.options.step;if(this[g+"Setter"])this[g+"Setter"]();else a.attr?a.element&&a.attr(g,l,null,!0):a.style[g]=l+this.unit;r&&r.call(a,l,this)},run:function(p,g,l){var r=this,n=r.options,w=function(a){return w.stopped?!1:r.step(a)},v=G.requestAnimationFrame||function(a){setTimeout(a,13)},e=function(){a.timers=a.grep(a.timers,function(a){return a()});a.timers.length&&v(e)};p===g?(delete n.curAnim[this.prop],n.complete&&0===a.keys(n.curAnim).length&&n.complete()):(this.startTime=+new Date,this.start= p,this.end=g,this.unit=l,this.now=this.start,this.pos=0,w.elem=this.elem,w.prop=this.prop,w()&&1===a.timers.push(w)&&v(e))},step:function(p){var g=+new Date,l,r=this.options,n=this.elem,w=r.complete,v=r.duration,e=r.curAnim;n.attr&&!n.element?p=!1:p||g>=v+this.startTime?(this.now=this.end,this.pos=1,this.update(),l=e[this.prop]=!0,a.objectEach(e,function(a){!0!==a&&(l=!1)}),l&&w&&w.call(n),p=!1):(this.pos=r.easing((g-this.startTime)/v),this.now=this.start+(this.end-this.start)*this.pos,this.update(), p=!0);return p},initPath:function(p,g,l){function r(a){var b,f;for(d=a.length;d--;)b="M"===a[d]||"L"===a[d],f=/[a-zA-Z]/.test(a[d+3]),b&&f&&a.splice(d+1,0,a[d+1],a[d+2],a[d+1],a[d+2])}function n(a,b){for(;a.lengthw?"AM": "PM",P:12>w?"am":"pm",S:d(n.getSeconds()),L:d(Math.round(g%1E3),3)},a.dateFormats);a.objectEach(r,function(a,b){for(;-1!==p.indexOf("%"+b);)p=p.replace("%"+b,"function"===typeof a?a(g):a)});return l?p.substr(0,1).toUpperCase()+p.substr(1):p};a.formatSingle=function(p,g){var l=/\.([0-9])/,r=a.defaultOptions.lang;/f$/.test(p)?(l=(l=p.match(l))?l[1]:-1,null!==g&&(g=a.numberFormat(g,l,r.decimalPoint,-1=l&&(g=[1/l])));for(r=0;r=p||!n&&w<=(g[r]+(g[r+1]||g[r]))/2);r++);return v=a.correctFloat(v*l,-Math.round(Math.log(.001)/Math.LN10))};a.stableSort=function(a,g){var l=a.length,r,n;for(n=0;nl&&(l=a[g]);return l};a.destroyObjectProperties=function(p,g){a.objectEach(p,function(a,r){a&&a!==g&&a.destroy&&a.destroy();delete p[r]})};a.discardElement=function(p){var g=a.garbageBin;g||(g=a.createElement("div"));p&&g.appendChild(p);g.innerHTML=""};a.correctFloat=function(a,g){return parseFloat(a.toPrecision(g||14))};a.setAnimation=function(p,g){g.renderer.globalAnimation=a.pick(p,g.options.chart.animation,!0)};a.animObject=function(p){return a.isObject(p)?a.merge(p): {duration:p?500:0}};a.timeUnits={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5,month:24192E5,year:314496E5};a.numberFormat=function(p,g,l,r){p=+p||0;g=+g;var n=a.defaultOptions.lang,w=(p.toString().split(".")[1]||"").split("e")[0].length,v,e,h=p.toString().split("e");-1===g?g=Math.min(w,20):a.isNumber(g)||(g=2);e=(Math.abs(h[1]?h[0]:p)+Math.pow(10,-Math.max(g,w)-1)).toFixed(g);w=String(a.pInt(e));v=3p?"-":"")+(v?w.substr(0,v)+r:"");p+=w.substr(v).replace(/(\d{3})(?=\d)/g,"$1"+r);g&&(p+=l+e.slice(-g));h[1]&&(p+="e"+h[1]);return p};Math.easeInOutSine=function(a){return-.5*(Math.cos(Math.PI*a)-1)};a.getStyle=function(p,g,l){if("width"===g)return Math.min(p.offsetWidth,p.scrollWidth)-a.getStyle(p,"padding-left")-a.getStyle(p,"padding-right");if("height"===g)return Math.min(p.offsetHeight,p.scrollHeight)-a.getStyle(p,"padding-top")-a.getStyle(p,"padding-bottom");G.getComputedStyle||a.error(27, !0);if(p=G.getComputedStyle(p,void 0))p=p.getPropertyValue(g),a.pick(l,"opacity"!==g)&&(p=a.pInt(p));return p};a.inArray=function(p,g){return(a.indexOfPolyfill||Array.prototype.indexOf).call(g,p)};a.grep=function(p,g){return(a.filterPolyfill||Array.prototype.filter).call(p,g)};a.find=Array.prototype.find?function(a,g){return a.find(g)}:function(a,g){var l,r=a.length;for(l=0;l>16,(l&65280)>>8,l&255,1]:4===g&&(n=[(l&3840)>>4|(l&3840)>>8,(l&240)>>4|l&240,(l&15)<<4|l&15,1])),!n)for(w=this.parsers.length;w--&&!n;)v=this.parsers[w],(g=v.regex.exec(l))&&(n=v.parse(g));this.rgba=n||[]},get:function(a){var l=this.input,n=this.rgba,g;this.stops?(g=p(l),g.stops=[].concat(g.stops), D(this.stops,function(n,e){g.stops[e]=[g.stops[e][0],n.get(a)]})):g=n&&B(n[0])?"rgb"===a||!a&&1===n[3]?"rgb("+n[0]+","+n[1]+","+n[2]+")":"a"===a?n[3]:"rgba("+n.join(",")+")":l;return g},brighten:function(a){var l,n=this.rgba;if(this.stops)D(this.stops,function(n){n.brighten(a)});else if(B(a)&&0!==a)for(l=0;3>l;l++)n[l]+=g(255*a),0>n[l]&&(n[l]=0),255z.width)z={width:0,height:0}}else z=this.htmlGetBBox();b.isSVG&&(a=z.width,b=z.height,q&&"11px"===q.fontSize&&17===Math.round(b)&&(z.height=b=14),k&&(z.width=Math.abs(b*Math.sin(u))+Math.abs(a*Math.cos(u)),z.height=Math.abs(b*Math.cos(u))+Math.abs(a*Math.sin(u)))); if(A&&0]*>/g,"")))},textSetter:function(a){a!==this.textStr&&(delete this.bBox,this.textStr=a,this.added&&this.renderer.buildText(this))},fillSetter:function(a,k,b){"string"===typeof a?b.setAttribute(k,a):a&&this.colorGradient(a, k,b)},visibilitySetter:function(a,k,b){"inherit"===a?b.removeAttribute(k):this[k]!==a&&b.setAttribute(k,a);this[k]=a},zIndexSetter:function(a,b){var u=this.renderer,z=this.parentGroup,f=(z||u).element||u.box,d,c=this.element,q,e,u=f===u.box;d=this.added;var y;v(a)&&(c.zIndex=a,a=+a,this[b]===a&&(d=!1),this[b]=a);if(d){(a=this.zIndex)&&z&&(z.handleZ=!0);b=f.childNodes;for(y=b.length-1;0<=y&&!q;y--)if(z=b[y],d=z.zIndex,e=!v(d),z!==c)if(0>a&&e&&!u&&!y)f.insertBefore(c,b[y]),q=!0;else if(k(d)<=a||e&& (!v(a)||0<=a))f.insertBefore(c,b[y+1]||null),q=!0;q||(f.insertBefore(c,b[u?3:0]||null),q=!0)}return q},_defaultSetter:function(a,k,b){b.setAttribute(k,a)}});D.prototype.yGetter=D.prototype.xGetter;D.prototype.translateXSetter=D.prototype.translateYSetter=D.prototype.rotationSetter=D.prototype.verticalAlignSetter=D.prototype.rotationOriginXSetter=D.prototype.rotationOriginYSetter=D.prototype.scaleXSetter=D.prototype.scaleYSetter=D.prototype.matrixSetter=function(a,k){this[k]=a;this.doTransform=!0}; D.prototype["stroke-widthSetter"]=D.prototype.strokeSetter=function(a,k,b){this[k]=a;this.stroke&&this["stroke-width"]?(D.prototype.fillSetter.call(this,this.stroke,"stroke",b),b.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0):"stroke-width"===k&&0===a&&this.hasStroke&&(b.removeAttribute("stroke"),this.hasStroke=!1)};B=a.SVGRenderer=function(){this.init.apply(this,arguments)};f(B.prototype,{Element:D,SVG_NS:P,init:function(a,k,b,u,f,d){var z;u=this.createElement("svg").attr({version:"1.1", "class":"highcharts-root"}).css(this.getStyle(u));z=u.element;a.appendChild(z);g(a,"dir","ltr");-1===a.innerHTML.indexOf("xmlns")&&g(z,"xmlns",this.SVG_NS);this.isSVG=!0;this.box=z;this.boxWrapper=u;this.alignedObjects=[];this.url=(t||L)&&m.getElementsByTagName("base").length?Q.location.href.replace(/#.*?$/,"").replace(/<[^>]*>/g,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(m.createTextNode("Created with Highcharts 6.0.3"));this.defs= this.createElement("defs").add();this.allowHTML=d;this.forExport=f;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(k,b,!1);var c;t&&a.getBoundingClientRect&&(k=function(){n(a,{left:0,top:0});c=a.getBoundingClientRect();n(a,{left:Math.ceil(c.left)-c.left+"px",top:Math.ceil(c.top)-c.top+"px"})},k(),this.unSubPixelFix=G(Q,"resize",k))},getStyle:function(a){return this.style=f({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif',fontSize:"12px"}, a)},setStyle:function(a){this.boxWrapper.css(this.getStyle(a))},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var a=this.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();h(this.gradients||{});this.gradients=null;a&&(this.defs=a.destroy());this.unSubPixelFix&&this.unSubPixelFix();return this.alignedObjects=null},createElement:function(a){var k=new this.Element;k.init(this,a);return k},draw:A,getRadialAttr:function(a,k){return{cx:a[0]-a[2]/2+k.cx*a[2],cy:a[1]- a[2]/2+k.cy*a[2],r:k.r*a[2]}},getSpanWidth:function(a,k){var b=a.getBBox(!0).width;!M&&this.forExport&&(b=this.measureSpanWidth(k.firstChild.data,a.styles));return b},applyEllipsis:function(a,k,b,u){var f=a.rotation,z=b,d,c=0,q=b.length,e=function(a){k.removeChild(k.firstChild);a&&k.appendChild(m.createTextNode(a))},y;a.rotation=0;z=this.getSpanWidth(a,k);if(y=z>u){for(;c<=q;)d=Math.ceil((c+q)/2),z=b.substring(0,d)+"\u2026",e(z),z=this.getSpanWidth(a,k),c===q?c=q+1:z>u?q=d-1:c=d;0===q&&e("")}a.rotation= f;return y},escapes:{"\x26":"\x26amp;","\x3c":"\x26lt;","\x3e":"\x26gt;","'":"\x26#39;",'"':"\x26quot"},buildText:function(a){var b=a.element,u=this,f=u.forExport,z=F(a.textStr,"").toString(),q=-1!==z.indexOf("\x3c"),e=b.childNodes,y,h,A,I,x=g(b,"x"),t=a.styles,H=a.textWidth,l=t&&t.lineHeight,C=t&&t.textOutline,v=t&&"ellipsis"===t.textOverflow,R=t&&"nowrap"===t.whiteSpace,w=t&&t.fontSize,Q,J,r=e.length,t=H&&!a.added&&this.box,K=function(a){var f;f=/(px|em)$/.test(a&&a.style.fontSize)?a.style.fontSize: w||u.style.fontSize||12;return l?k(l):u.fontMetrics(f,a.getAttribute("style")?a:b).h},p=function(a){E(u.escapes,function(k,b){a=a.replace(new RegExp(k,"g"),b)});return a};Q=[z,v,R,l,C,w,H].join();if(Q!==a.textCache){for(a.textCache=Q;r--;)b.removeChild(e[r]);q||C||v||H||-1!==z.indexOf(" ")?(y=/<.*class="([^"]+)".*>/,h=/<.*style="([^"]+)".*>/,A=/<.*href="([^"]+)".*>/,t&&t.appendChild(b),z=q?z.replace(/<(b|strong)>/g,'\x3cspan style\x3d"font-weight:bold"\x3e').replace(/<(i|em)>/g,'\x3cspan style\x3d"font-style:italic"\x3e').replace(//g,"\x3c/span\x3e").split(//g):[z],z=d(z,function(a){return""!==a}),c(z,function(k,z){var d,q=0;k=k.replace(/^\s+|\s+$/g,"").replace(//g,"\x3c/span\x3e|||");d=k.split("|||");c(d,function(k){if(""!==k||1===d.length){var c={},e=m.createElementNS(u.SVG_NS,"tspan"),t,E;y.test(k)&&(t=k.match(y)[1],g(e,"class",t));h.test(k)&&(E=k.match(h)[1].replace(/(;| |^)color([ :])/,"$1fill$2"),g(e,"style",E));A.test(k)&&!f&&(g(e, "onclick",'location.href\x3d"'+k.match(A)[1]+'"'),g(e,"class","highcharts-anchor"),n(e,{cursor:"pointer"}));k=p(k.replace(/<[a-zA-Z\/](.|\n)*?>/g,"")||" ");if(" "!==k){e.appendChild(m.createTextNode(k));q?c.dx=0:z&&null!==x&&(c.x=x);g(e,c);b.appendChild(e);!q&&J&&(!M&&f&&n(e,{display:"block"}),g(e,"dy",K(e)));if(H){c=k.replace(/([^\^])-/g,"$1- ").split(" ");t=1H,void 0===I&&(I=k),k&&1!==c.length?(e.removeChild(e.firstChild),O.unshift(c.pop())):(c=O,O=[],c.length&&!R&&(e=m.createElementNS(P,"tspan"),g(e,{dy:C,x:x}),E&&g(e,"style",E),b.appendChild(e)),l>H&&(H=l)),c.length&&e.appendChild(m.createTextNode(c.join(" ").replace(/- /g,"-")));a.rotation=F}q++}}});J=J||b.childNodes.length}),I&&a.attr("title",a.textStr),t&&t.removeChild(b),C&&a.applyTextOutline&&a.applyTextOutline(C)):b.appendChild(m.createTextNode(p(z)))}},getContrast:function(a){a= r(a).rgba;return 510Math.abs(d.end-d.start-2*Math.PI));var z=Math.cos(f),y=Math.sin(f),h=Math.cos(e),e=Math.sin(e);d=.001>d.end-f-Math.PI?0:1;c=["M",a+c*z,k+q*y,"A",c,q,0,d,1,a+c*h,k+q*e];v(b)&&c.push(u?"M":"L",a+b*h,k+b*e,"A",b,b,0,d,0,a+b*z,k+b*y);c.push(u?"":"Z");return c},callout:function(a,k,b,u,d){var f=Math.min(d&&d.r||0,b,u),c=f+6,q=d&&d.anchorX;d=d&&d.anchorY;var e;e=["M",a+f,k,"L",a+b-f,k,"C",a+b,k,a+b,k,a+b,k+f,"L",a+b,k+u- f,"C",a+b,k+u,a+b,k+u,a+b-f,k+u,"L",a+f,k+u,"C",a,k+u,a,k+u,a,k+u-f,"L",a,k+f,"C",a,k,a,k,a+f,k];q&&q>b?d>k+c&&dq?d>k+c&&du&&q>a+c&&qd&&q>a+c&&qa?a+3:Math.round(1.2*a);return{h:b,b:Math.round(.8*b),f:a}},rotCorr:function(a,k,b){var u=a;k&&b&&(u=Math.max(u*Math.cos(k*e),4));return{x:-a/3*Math.sin(k*e),y:u}},label:function(k,b,d,e,y,h,m,A,M){var z=this,I=z.g("button"!==M&&"label"),x=I.text=z.text("",0,0,m).attr({zIndex:1}), t,E,H=0,n=3,l=0,g,C,R,F,w,Q={},P,J,r=/^url\((.*?)\)$/.test(e),K=r,p,O,L,T;M&&I.addClass("highcharts-"+M);K=r;p=function(){return(P||0)%2/2};O=function(){var a=x.element.style,k={};E=(void 0===g||void 0===C||w)&&v(x.textStr)&&x.getBBox();I.width=(g||E.width||0)+2*n+l;I.height=(C||E.height||0)+2*n;J=n+z.fontMetrics(a&&a.fontSize,x).b;K&&(t||(I.box=t=z.symbols[e]||r?z.symbol(e):z.rect(),t.addClass(("button"===M?"":"highcharts-label-box")+(M?" highcharts-"+M+"-box":"")),t.add(I),a=p(),k.x=a,k.y=(A?-J: 0)+a),k.width=Math.round(I.width),k.height=Math.round(I.height),t.attr(f(k,Q)),Q={})};L=function(){var a=l+n,k;k=A?0:J;v(g)&&E&&("center"===w||"right"===w)&&(a+={center:.5,right:1}[w]*(g-E.width));if(a!==x.x||k!==x.y)x.attr("x",a),void 0!==k&&x.attr("y",k);x.x=a;x.y=k};T=function(a,k){t?t.attr(a,k):Q[a]=k};I.onAdd=function(){x.add(I);I.attr({text:k||0===k?k:"",x:b,y:d});t&&v(y)&&I.attr({anchorX:y,anchorY:h})};I.widthSetter=function(k){g=a.isNumber(k)?k:null};I.heightSetter=function(a){C=a};I["text-alignSetter"]= function(a){w=a};I.paddingSetter=function(a){v(a)&&a!==n&&(n=I.padding=a,L())};I.paddingLeftSetter=function(a){v(a)&&a!==l&&(l=a,L())};I.alignSetter=function(a){a={left:0,center:.5,right:1}[a];a!==H&&(H=a,E&&I.attr({x:R}))};I.textSetter=function(a){void 0!==a&&x.textSetter(a);O();L()};I["stroke-widthSetter"]=function(a,k){a&&(K=!0);P=this["stroke-width"]=a;T(k,a)};I.strokeSetter=I.fillSetter=I.rSetter=function(a,k){"r"!==k&&("fill"===k&&a&&(K=!0),I[k]=a);T(k,a)};I.anchorXSetter=function(a,k){y=I.anchorX= a;T(k,Math.round(a)-p()-R)};I.anchorYSetter=function(a,k){h=I.anchorY=a;T(k,a-F)};I.xSetter=function(a){I.x=a;H&&(a-=H*((g||E.width)+2*n));R=Math.round(a);I.attr("translateX",R)};I.ySetter=function(a){F=I.y=Math.round(a);I.attr("translateY",F)};var U=I.css;return f(I,{css:function(a){if(a){var k={};a=q(a);c(I.textProps,function(b){void 0!==a[b]&&(k[b]=a[b],delete a[b])});x.css(k)}return U.call(I,a)},getBBox:function(){return{width:E.width+2*n,height:E.height+2*n,x:E.x-n,y:E.y-n}},shadow:function(a){a&& (O(),t&&t.shadow(a));return I},destroy:function(){u(I.element,"mouseenter");u(I.element,"mouseleave");x&&(x=x.destroy());t&&(t=t.destroy());D.prototype.destroy.call(I);I=z=O=L=T=null}})}});a.Renderer=B})(N);(function(a){var D=a.attr,B=a.createElement,G=a.css,p=a.defined,g=a.each,l=a.extend,r=a.isFirefox,n=a.isMS,w=a.isWebKit,v=a.pick,e=a.pInt,h=a.SVGRenderer,m=a.win,c=a.wrap;l(a.SVGElement.prototype,{htmlCss:function(a){var b=this.element;if(b=a&&"SPAN"===b.tagName&&a.width)delete a.width,this.textWidth= b,this.updateTransform();a&&"ellipsis"===a.textOverflow&&(a.whiteSpace="nowrap",a.overflow="hidden");this.styles=l(this.styles,a);G(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,d=this.translateX||0,c=this.translateY||0,h=this.x||0,m=this.y||0,t=this.textAlign||"left",n={left:0,center:.5,right:1}[t],x=this.styles; G(b,{marginLeft:d,marginTop:c});this.shadows&&g(this.shadows,function(a){G(a,{marginLeft:d+1,marginTop:c+1})});this.inverted&&g(b.childNodes,function(d){a.invertChild(d,b)});if("SPAN"===b.tagName){var l=this.rotation,v=e(this.textWidth),q=x&&x.whiteSpace,A=[l,t,b.innerHTML,this.textWidth,this.textAlign].join();A!==this.cTT&&(x=a.fontMetrics(b.style.fontSize).b,p(l)&&this.setSpanRotation(l,n,x),G(b,{width:"",whiteSpace:q||"nowrap"}),b.offsetWidth>v&&/[ \-]/.test(b.textContent||b.innerText)&&G(b,{width:v+ "px",display:"block",whiteSpace:q||"normal"}),this.getSpanCorrection(b.offsetWidth,x,n,l,t));G(b,{left:h+(this.xCorr||0)+"px",top:m+(this.yCorr||0)+"px"});w&&(x=b.offsetHeight);this.cTT=A}}else this.alignOnAdd=!0},setSpanRotation:function(a,b,d){var c={},f=this.renderer.getTransformKey();c[f]=c.transform="rotate("+a+"deg)";c[f+(r?"Origin":"-origin")]=c.transformOrigin=100*b+"% "+d+"px";G(this.element,c)},getSpanCorrection:function(a,b,d){this.xCorr=-a*d;this.yCorr=-b}});l(h.prototype,{getTransformKey:function(){return n&& !/Edge/.test(m.navigator.userAgent)?"-ms-transform":w?"-webkit-transform":r?"MozTransform":m.opera?"-o-transform":""},html:function(a,b,d){var f=this.createElement("span"),e=f.element,h=f.renderer,m=h.isSVG,w=function(a,b){g(["opacity","visibility"],function(d){c(a,d+"Setter",function(a,d,f,c){a.call(this,d,f,c);b[f]=d})})};f.textSetter=function(a){a!==e.innerHTML&&delete this.bBox;this.textStr=a;e.innerHTML=v(a,"");f.htmlUpdateTransform()};m&&w(f,f.element.style);f.xSetter=f.ySetter=f.alignSetter= f.rotationSetter=function(a,b){"align"===b&&(b="textAlign");f[b]=a;f.htmlUpdateTransform()};f.attr({text:a,x:Math.round(b),y:Math.round(d)}).css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize,position:"absolute"});e.style.whiteSpace="nowrap";f.css=f.htmlCss;m&&(f.add=function(a){var b,d=h.box.parentNode,c=[];if(this.parentGroup=a){if(b=a.div,!b){for(;a;)c.push(a),a=a.parentGroup;g(c.reverse(),function(a){function e(k,b){a[b]=k;n?q[h.getTransformKey()]="translate("+(a.x||a.translateX)+ "px,"+(a.y||a.translateY)+"px)":"translateX"===b?q.left=k+"px":q.top=k+"px";a.doTransform=!0}var q,k=D(a.element,"class");k&&(k={className:k});b=a.div=a.div||B("div",k,{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||d);q=b.style;l(a,{classSetter:function(a){this.element.setAttribute("class",a);b.className=a},on:function(){c[0].div&&f.on.apply({element:c[0].div},arguments);return a},translateXSetter:e, translateYSetter:e});w(a,q)})}}else b=d;b.appendChild(e);f.added=!0;f.alignOnAdd&&f.htmlUpdateTransform();return f});return f}})})(N);(function(a){function D(){var n=a.defaultOptions.global,l=r.moment;if(n.timezone){if(l)return function(a){return-l.tz(a,n.timezone).utcOffset()};a.error(25)}return n.useUTC&&n.getTimezoneOffset}function B(){var n=a.defaultOptions.global,g,v=n.useUTC,e=v?"getUTC":"get",h=v?"setUTC":"set",m="Minutes Hours Day Date Month FullYear".split(" "),c=m.concat(["Milliseconds", "Seconds"]);a.Date=g=n.Date||r.Date;g.hcTimezoneOffset=v&&n.timezoneOffset;g.hcGetTimezoneOffset=D();g.hcMakeTime=function(a,b,d,c,e,h){var f;v?(f=g.UTC.apply(0,arguments),f+=p(f)):f=(new g(a,b,l(d,1),l(c,0),l(e,0),l(h,0))).getTime();return f};for(n=0;nf&&n-b*dh&&(t=Math.round((e-n)/Math.cos(f*r)));else if(e=n+(1-b)*d,n-b*dh&&(H=h-a.x+H*b,J=-1),H=Math.min(y,H),HH||g.autoRotation&&(c.styles||{}).width)t=H;t&&(p.width=t,(g.options.labels.style||{}).textOverflow||(p.textOverflow="ellipsis"),c.css(p))},getPosition:function(a,g,l,e){var h=this.axis,m=h.chart,c=e&&m.oldChartHeight||m.chartHeight;return{x:a?h.translate(g+l,null,null,e)+h.transB:h.left+h.offset+(h.opposite?(e&&m.oldChartWidth||m.chartWidth)-h.right-h.left:0),y:a?c-h.bottom+h.offset-(h.opposite? h.height:0):c-h.translate(g+l,null,null,e)-h.transB}},getLabelPosition:function(a,g,l,e,h,m,c,f){var b=this.axis,d=b.transA,y=b.reversed,n=b.staggerLines,v=b.tickRotCorr||{x:0,y:0},t=h.y;B(t)||(t=0===b.side?l.rotation?-8:-l.getBBox().height:2===b.side?v.y+8:Math.cos(l.rotation*r)*(v.y-l.getBBox(!1,0).height/2));a=a+h.x+v.x-(m&&e?m*d*(y?-1:1):0);g=g+t-(m&&!e?m*d*(y?1:-1):0);n&&(l=c/(f||1)%n,b.opposite&&(l=n-l-1),g+=b.labelOffset/n*l);return{x:a,y:Math.round(g)}},getMarkPath:function(a,g,l,e,h,m){return m.crispLine(["M", a,g,"L",a+(h?0:-l),g+(h?l:0)],e)},renderGridLine:function(a,g,l){var e=this.axis,h=e.options,m=this.gridLine,c={},f=this.pos,b=this.type,d=e.tickmarkOffset,y=e.chart.renderer,n=b?b+"Grid":"grid",v=h[n+"LineWidth"],t=h[n+"LineColor"],h=h[n+"LineDashStyle"];m||(c.stroke=t,c["stroke-width"]=v,h&&(c.dashstyle=h),b||(c.zIndex=1),a&&(c.opacity=0),this.gridLine=m=y.path().attr(c).addClass("highcharts-"+(b?b+"-":"")+"grid-line").add(e.gridGroup));if(!a&&m&&(a=e.getPlotLinePath(f+d,m.strokeWidth()*l,a,!0)))m[this.isNew? "attr":"animate"]({d:a,opacity:g})},renderMark:function(a,g,v){var e=this.axis,h=e.options,m=e.chart.renderer,c=this.type,f=c?c+"Tick":"tick",b=e.tickSize(f),d=this.mark,y=!d,n=a.x;a=a.y;var r=l(h[f+"Width"],!c&&e.isXAxis?1:0),h=h[f+"Color"];b&&(e.opposite&&(b[0]=-b[0]),y&&(this.mark=d=m.path().addClass("highcharts-"+(c?c+"-":"")+"tick").add(e.axisGroup),d.attr({stroke:h,"stroke-width":r})),d[y?"attr":"animate"]({d:this.getMarkPath(n,a,b[0],d.strokeWidth()*v,e.horiz,m),opacity:g}))},renderLabel:function(a, g,v,e){var h=this.axis,m=h.horiz,c=h.options,f=this.label,b=c.labels,d=b.step,y=h.tickmarkOffset,H=!0,n=a.x;a=a.y;f&&p(n)&&(f.xy=a=this.getLabelPosition(n,a,f,m,b,y,e,d),this.isFirst&&!this.isLast&&!l(c.showFirstLabel,1)||this.isLast&&!this.isFirst&&!l(c.showLastLabel,1)?H=!1:!m||h.isRadial||b.step||b.rotation||g||0===v||this.handleOverflow(a),d&&e%d&&(H=!1),H&&p(a.y)?(a.opacity=v,f[this.isNewLabel?"attr":"animate"](a),this.isNewLabel=!1):(f.attr("y",-9999),this.isNewLabel=!0))},render:function(a, g,v){var e=this.axis,h=e.horiz,m=this.getPosition(h,this.pos,e.tickmarkOffset,g),c=m.x,f=m.y,e=h&&c===e.pos+e.len||!h&&f===e.pos?-1:1;v=l(v,1);this.isActive=!0;this.renderGridLine(g,v,e);this.renderMark(m,v,e);this.renderLabel(m,g,v,a);this.isNew=!1},destroy:function(){G(this,this.axis)}}})(N);var V=function(a){var D=a.addEvent,B=a.animObject,G=a.arrayMax,p=a.arrayMin,g=a.color,l=a.correctFloat,r=a.defaultOptions,n=a.defined,w=a.deg2rad,v=a.destroyObjectProperties,e=a.each,h=a.extend,m=a.fireEvent, c=a.format,f=a.getMagnitude,b=a.grep,d=a.inArray,y=a.isArray,H=a.isNumber,J=a.isString,t=a.merge,K=a.normalizeTickInterval,x=a.objectEach,C=a.pick,L=a.removeEvent,q=a.splat,A=a.syncTimeout,E=a.Tick,F=function(){this.init.apply(this,arguments)};a.extend(F.prototype,{defaultOptions:{dateTimeLabelFormats:{millisecond:"%H:%M:%S.%L",second:"%H:%M:%S",minute:"%H:%M",hour:"%H:%M",day:"%e. %b",week:"%e. %b",month:"%b '%y",year:"%Y"},endOnTick:!1,labels:{enabled:!0,style:{color:"#666666",cursor:"default", fontSize:"11px"},x:0},maxPadding:.01,minorTickLength:2,minorTickPosition:"outside",minPadding:.01,startOfWeek:1,startOnTick:!1,tickLength:10,tickmarkPlacement:"between",tickPixelInterval:100,tickPosition:"outside",title:{align:"middle",style:{color:"#666666"}},type:"linear",minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#ccd6eb",lineWidth:1,gridLineColor:"#e6e6e6",tickColor:"#ccd6eb"},defaultYAxisOptions:{endOnTick:!0,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8}, maxPadding:.05,minPadding:.05,startOnTick:!0,title:{rotation:270,text:"Values"},stackLabels:{allowOverlap:!1,enabled:!1,formatter:function(){return a.numberFormat(this.total,-1)},style:{fontSize:"11px",fontWeight:"bold",color:"#000000",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},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,b){var k=b.isX,u=this;u.chart=a;u.horiz=a.inverted&&!u.isZAxis?!k:k;u.isXAxis=k;u.coll=u.coll||(k?"xAxis":"yAxis");u.opposite=b.opposite;u.side=b.side||(u.horiz?u.opposite?0:2:u.opposite?1:3);u.setOptions(b);var f=this.options,c=f.type;u.labelFormatter=f.labels.formatter||u.defaultLabelFormatter;u.userOptions=b;u.minPixelPadding=0;u.reversed=f.reversed;u.visible=!1!==f.visible;u.zoomEnabled=!1!==f.zoomEnabled;u.hasNames="category"===c||!0===f.categories;u.categories= f.categories||u.hasNames;u.names=u.names||[];u.plotLinesAndBandsGroups={};u.isLog="logarithmic"===c;u.isDatetimeAxis="datetime"===c;u.positiveValuesOnly=u.isLog&&!u.allowNegativeLog;u.isLinked=n(f.linkedTo);u.ticks={};u.labelEdge=[];u.minorTicks={};u.plotLinesAndBands=[];u.alternateBands={};u.len=0;u.minRange=u.userMinRange=f.minRange||f.maxZoom;u.range=f.range;u.offset=f.offset||0;u.stacks={};u.oldStacks={};u.stacksTouched=0;u.max=null;u.min=null;u.crosshair=C(f.crosshair,q(a.options.tooltip.crosshairs)[k? 0:1],!1);b=u.options.events;-1===d(u,a.axes)&&(k?a.axes.splice(a.xAxis.length,0,u):a.axes.push(u),a[u.coll].push(u));u.series=u.series||[];a.inverted&&!u.isZAxis&&k&&void 0===u.reversed&&(u.reversed=!0);x(b,function(a,k){D(u,k,a)});u.lin2log=f.linearToLogConverter||u.lin2log;u.isLog&&(u.val2lin=u.log2lin,u.lin2val=u.lin2log)},setOptions:function(a){this.options=t(this.defaultOptions,"yAxis"===this.coll&&this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions, this.defaultLeftAxisOptions][this.side],t(r[this.coll],a))},defaultLabelFormatter:function(){var k=this.axis,b=this.value,d=k.categories,f=this.dateTimeLabelFormat,e=r.lang,q=e.numericSymbols,e=e.numericSymbolMagnitude||1E3,h=q&&q.length,m,y=k.options.labels.format,k=k.isLog?Math.abs(b):k.tickInterval;if(y)m=c(y,this);else if(d)m=b;else if(f)m=a.dateFormat(f,b);else if(h&&1E3<=k)for(;h--&&void 0===m;)d=Math.pow(e,h+1),k>=d&&0===10*b%d&&null!==q[h]&&0!==b&&(m=a.numberFormat(b/d,-1)+q[h]);void 0=== m&&(m=1E4<=Math.abs(b)?a.numberFormat(b,-1):a.numberFormat(b,-1,void 0,""));return m},getSeriesExtremes:function(){var a=this,u=a.chart;a.hasVisibleSeries=!1;a.dataMin=a.dataMax=a.threshold=null;a.softThreshold=!a.isXAxis;a.buildStacks&&a.buildStacks();e(a.series,function(k){if(k.visible||!u.options.chart.ignoreHiddenSeries){var d=k.options,f=d.threshold,c;a.hasVisibleSeries=!0;a.positiveValuesOnly&&0>=f&&(f=null);if(a.isXAxis)d=k.xData,d.length&&(k=p(d),c=G(d),H(k)||k instanceof Date||(d=b(d,H), k=p(d)),a.dataMin=Math.min(C(a.dataMin,d[0],k),k),a.dataMax=Math.max(C(a.dataMax,d[0],c),c));else if(k.getExtremes(),c=k.dataMax,k=k.dataMin,n(k)&&n(c)&&(a.dataMin=Math.min(C(a.dataMin,k),k),a.dataMax=Math.max(C(a.dataMax,c),c)),n(f)&&(a.threshold=f),!d.softThreshold||a.positiveValuesOnly)a.softThreshold=!1}})},translate:function(a,b,d,f,c,e){var k=this.linkedParent||this,u=1,q=0,h=f?k.oldTransA:k.transA;f=f?k.oldMin:k.min;var m=k.minPixelPadding;c=(k.isOrdinal||k.isBroken||k.isLog&&c)&&k.lin2val; h||(h=k.transA);d&&(u*=-1,q=k.len);k.reversed&&(u*=-1,q-=u*(k.sector||k.len));b?(a=(a*u+q-m)/h+f,c&&(a=k.lin2val(a))):(c&&(a=k.val2lin(a)),a=H(f)?u*(a-f)*h+q+u*m+(H(e)?h*e: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,d,f,c){var k=this.chart,u=this.left,q=this.top,e,h,m=d&&k.oldChartHeight||k.chartHeight,y=d&&k.oldChartWidth|| k.chartWidth,A;e=this.transB;var t=function(a,k,b){if(ab)f?a=Math.min(Math.max(k,a),b):A=!0;return a};c=C(c,this.translate(a,null,null,d));a=d=Math.round(c+e);e=h=Math.round(m-c-e);H(c)?this.horiz?(e=q,h=m-this.bottom,a=d=t(a,u,u+this.width)):(a=u,d=y-this.right,e=h=t(e,q,q+this.height)):(A=!0,f=!1);return A&&!f?null:k.renderer.crispLine(["M",a,e,"L",d,h],b||1)},getLinearTickPositions:function(a,b,d){var k,u=l(Math.floor(b/a)*a);d=l(Math.ceil(d/a)*a);var f=[],c;l(u+a)===u&&(c=20);if(this.single)return[b]; for(b=u;b<=d;){f.push(b);b=l(b+a,c);if(b===k)break;k=b}return f},getMinorTickInterval:function(){var a=this.options;return!0===a.minorTicks?C(a.minorTickInterval,"auto"):!1===a.minorTicks?null:a.minorTickInterval},getMinorTickPositions:function(){var a=this,b=a.options,d=a.tickPositions,f=a.minorTickInterval,c=[],q=a.pointRangePadding||0,h=a.min-q,q=a.max+q,m=q-h;if(m&&m/f=this.minRange,t=this.minRange,f=(t-d+b)/2,f=[b-f,C(a.min,b-f)],c&&(f[2]=this.isLog?this.log2lin(this.dataMin):this.dataMin),b=G(f),d=[b+t,C(a.max,b+t)],c&&(d[2]=this.isLog?this.log2lin(this.dataMax):this.dataMax),d=p(d),d-b=r?(p=r,g=0):b.dataMax<=r&&(w=r,x=0)),b.min= C(L,p,b.dataMin),b.max=C(B,w,b.dataMax));q&&(b.positiveValuesOnly&&!k&&0>=Math.min(b.min,C(b.dataMin,b.min))&&a.error(10,1),b.min=l(h(b.min),15),b.max=l(h(b.max),15));b.range&&n(b.max)&&(b.userMin=b.min=L=Math.max(b.dataMin,b.minFromRange()),b.userMax=B=b.max,b.range=null);m(b,"foundExtremes");b.beforePadding&&b.beforePadding();b.adjustForMinRange();!(F||b.axisPointRange||b.usePercentage||t)&&n(b.min)&&n(b.max)&&(h=b.max-b.min)&&(!n(L)&&g&&(b.min-=h*g),!n(B)&&x&&(b.max+=h*x));H(c.softMin)&&(b.min= Math.min(b.min,c.softMin));H(c.softMax)&&(b.max=Math.max(b.max,c.softMax));H(c.floor)&&(b.min=Math.max(b.min,c.floor));H(c.ceiling)&&(b.max=Math.min(b.max,c.ceiling));J&&n(b.dataMin)&&(r=r||0,!n(L)&&b.min=r?b.min=r:!n(B)&&b.max>r&&b.dataMax<=r&&(b.max=r));b.tickInterval=b.min===b.max||void 0===b.min||void 0===b.max?1:t&&!E&&v===b.linkedParent.options.tickPixelInterval?E=b.linkedParent.tickInterval:C(E,this.tickAmount?(b.max-b.min)/Math.max(this.tickAmount-1,1):void 0,F?1:(b.max-b.min)* v/Math.max(b.len,v));A&&!k&&e(b.series,function(a){a.processData(b.min!==b.oldMin||b.max!==b.oldMax)});b.setAxisTranslation(!0);b.beforeSetTickPositions&&b.beforeSetTickPositions();b.postProcessTickInterval&&(b.tickInterval=b.postProcessTickInterval(b.tickInterval));b.pointRange&&!E&&(b.tickInterval=Math.max(b.pointRange,b.tickInterval));k=C(c.minTickInterval,b.isDatetimeAxis&&b.closestPointRange);!E&&b.tickIntervalb.tickInterval&&1E3b.max)),!!this.tickAmount));this.tickAmount||(b.tickInterval=b.unsquish());this.setTickPositions()},setTickPositions:function(){var a=this.options,b,d=a.tickPositions;b=this.getMinorTickInterval();var c=a.tickPositioner,f=a.startOnTick,q=a.endOnTick;this.tickmarkOffset=this.categories&&"between"===a.tickmarkPlacement&&1===this.tickInterval?.5:0;this.minorTickInterval="auto"===b&&this.tickInterval?this.tickInterval/5:b;this.single= this.min===this.max&&n(this.min)&&!this.tickAmount&&(parseInt(this.min,10)===this.min||!1!==a.allowDecimals);this.tickPositions=b=d&&d.slice();!b&&(b=this.isDatetimeAxis?this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval,a.units),this.min,this.max,a.startOfWeek,this.ordinalPositions,this.closestPointRange,!0):this.isLog?this.getLogTickPositions(this.tickInterval,this.min,this.max):this.getLinearTickPositions(this.tickInterval,this.min,this.max),b.length>this.len&&(b=[b[0],b.pop()], b[0]===b[1]&&(b.length=1)),this.tickPositions=b,c&&(c=c.apply(this,[this.min,this.max])))&&(this.tickPositions=b=c);this.paddedTicks=b.slice(0);this.trimTicks(b,f,q);this.isLinked||(this.single&&2>b.length&&(this.min-=.5,this.max+=.5),d||c||this.adjustTickAmount())},trimTicks:function(a,b,d){var k=a[0],c=a[a.length-1],f=this.minPointOffset||0;if(!this.isLinked){if(b&&-Infinity!==k)this.min=k;else for(;this.min-f>a[0];)a.shift();if(d)this.max=c;else for(;this.max+fb&&(this.finalTickAmt=b,b=5);this.tickAmount=b},adjustTickAmount:function(){var a=this.tickInterval,b=this.tickPositions,d=this.tickAmount,c=this.finalTickAmt,f=b&&b.length;if(fd&&(this.tickInterval*=2,this.setTickPositions());if(n(c)){for(a=d=b.length;a--;)(3===c&&1===a%2||2>=c&&0c&&(a=c)), n(d)&&(bc&&(b=c))),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,d=this.options,c=d.offsets||[0,0,0,0],f=this.horiz,q=this.width=Math.round(a.relativeLength(C(d.width,b.plotWidth-c[3]+c[1]),b.plotWidth)),e=this.height=Math.round(a.relativeLength(C(d.height,b.plotHeight-c[0]+c[2]),b.plotHeight)),h=this.top=Math.round(a.relativeLength(C(d.top,b.plotTop+c[0]),b.plotHeight,b.plotTop)),d=this.left=Math.round(a.relativeLength(C(d.left, b.plotLeft+c[3]),b.plotWidth,b.plotLeft));this.bottom=b.chartHeight-e-h;this.right=b.chartWidth-q-d;this.len=Math.max(f?q:e,0);this.pos=f?d:h},getExtremes:function(){var a=this.isLog,b=this.lin2log;return{min:a?l(b(this.min)):this.min,max:a?l(b(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},getThreshold:function(a){var b=this.isLog,k=this.lin2log,d=b?k(this.min):this.min,b=b?k(this.max):this.max;null===a?a=d:d>a?a=d:ba?"right":195a?"left":"center"},tickSize:function(a){var b=this.options,k=b[a+"Length"],d=C(b[a+"Width"],"tick"===a&&this.isXAxis?1:0);if(d&&k)return"inside"===b[a+"Position"]&&(k=-k),[k,d]},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,d=this.tickInterval,c=d,f=this.len/(((this.categories?1:0)+this.max-this.min)/d),q,h=a.rotation,m=this.labelMetrics(),y,A=Number.MAX_VALUE,t,x=function(a){a/=f||1;a=1=a)y=x(Math.abs(m.h/Math.sin(w*a))),b=y+Math.abs(a/360),b(d.step||0)&&!d.rotation&&(this.staggerLines||1)*this.len/c||!b&&(d.style&&parseInt(d.style.width,10)||f&&f-a.spacing[3]||.33*a.chartWidth)},renderUnsquish:function(){var a=this.chart,b=a.renderer,d=this.tickPositions,c=this.ticks,f=this.options.labels,q=this.horiz,h=this.getSlotWidth(),m=Math.max(1,Math.round(h-2*(f.padding|| 5))),y={},A=this.labelMetrics(),x=f.style&&f.style.textOverflow,g,E=0,l,n;J(f.rotation)||(y.rotation=f.rotation||0);e(d,function(a){(a=c[a])&&a.labelLength>E&&(E=a.labelLength)});this.maxLabelLength=E;if(this.autoRotation)E>m&&E>A.h?y.rotation=this.labelRotation:this.labelRotation=0;else if(h&&(g={width:m+"px"},!x))for(g.textOverflow="clip",l=d.length;!q&&l--;)if(n=d[l],m=c[n].label)m.styles&&"ellipsis"===m.styles.textOverflow?m.css({textOverflow:"clip"}):c[n].labelLength>h&&m.css({width:h+"px"}), m.getBBox().height>this.len/d.length-(A.h-A.f)&&(m.specCss={textOverflow:"ellipsis"});y.rotation&&(g={width:(E>.5*a.chartHeight?.33*a.chartHeight:a.chartHeight)+"px"},x||(g.textOverflow="ellipsis"));if(this.labelAlign=f.align||this.autoLabelAlign(this.labelRotation))y.align=this.labelAlign;e(d,function(a){var b=(a=c[a])&&a.label;b&&(b.attr(y),g&&b.css(t(g,b.specCss)),delete b.specCss,a.rotation=y.rotation)});this.tickRotCorr=b.rotCorr(A.b,this.labelRotation||0,0!==this.side)},hasData:function(){return this.hasVisibleSeries|| n(this.min)&&n(this.max)&&this.tickPositions&&0=this.min&&a<=this.max)k[a]||(k[a]=new E(this,a)),c&&k[a].isNew&&k[a].render(b,!0,.1),k[a].render(b)},render:function(){var b=this,d=b.chart,c=b.options,f=b.isLog,q=b.lin2log,h=b.isLinked,m=b.tickPositions,y=b.axisTitle,t=b.ticks,g=b.minorTicks,l=b.alternateBands,n=c.stackLabels,C=c.alternateGridColor,v=b.tickmarkOffset,F=b.axisLine,r=b.showAxis,J=B(d.renderer.globalAnimation), p,w;b.labelEdge.length=0;b.overlap=!1;e([t,g,l],function(a){x(a,function(a){a.isActive=!1})});if(b.hasData()||h)b.minorTickInterval&&!b.categories&&e(b.getMinorTickPositions(),function(a){b.renderMinorTick(a)}),m.length&&(e(m,function(a,d){b.renderTick(a,d)}),v&&(0===b.min||b.single)&&(t[-1]||(t[-1]=new E(b,-1,null,!0)),t[-1].render(-1))),C&&e(m,function(c,k){w=void 0!==m[k+1]?m[k+1]+v:b.max-v;0===k%2&&c=h.second?0:C*Math.floor(t.getMilliseconds()/C));if(x>=h.second)t[B.hcSetSeconds](x>=h.minute?0:C*Math.floor(t.getSeconds()/C));if(x>=h.minute)t[B.hcSetMinutes](x>=h.hour?0:C*Math.floor(t[B.hcGetMinutes]()/C));if(x>=h.hour)t[B.hcSetHours](x>=h.day?0:C*Math.floor(t[B.hcGetHours]()/C));if(x>=h.day)t[B.hcSetDate](x>=h.month? 1:C*Math.floor(t[B.hcGetDate]()/C));x>=h.month&&(t[B.hcSetMonth](x>=h.year?0:C*Math.floor(t[B.hcGetMonth]()/C)),v=t[B.hcGetFullYear]());if(x>=h.year)t[B.hcSetFullYear](v-v%C);if(x===h.week)t[B.hcSetDate](t[B.hcGetDate]()-t[B.hcGetDay]()+e(b,1));v=t[B.hcGetFullYear]();b=t[B.hcGetMonth]();var A=t[B.hcGetDate](),E=t[B.hcGetHours]();if(B.hcTimezoneOffset||B.hcGetTimezoneOffset)q=(!n||!!B.hcGetTimezoneOffset)&&(f-c>4*h.month||w(c)!==w(f)),t=t.getTime(),L=w(t),t=new B(t+L);n=t.getTime();for(c=1;nd.length&&l(d,function(a){0===a%18E5&&"000000000"===G("%H%M%S%L",a)&&(m[a]="day")})}d.info=r(a,{higherRanks:m,totalRange:x*C});return d};D.prototype.normalizeTimeTickInterval=function(a,c){var f=c||[["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]];c=f[f.length-1];var b=h[c[0]],d=c[1],e;for(e=0;er&&(!w||y<=n)&&void 0!==y&&c.push(y),y>n&&(H=!0),y=d;else r=h(r),n=h(n),a=w?this.getMinorTickInterval():l.tickInterval,a=g("auto"===a?null:a,this._minorAutoInterval,l.tickPixelInterval/(w?5:1)*(n-r)/((w?e/this.tickPositions.length: e)||1)),a=p(a,null,B(a)),c=G(this.getLinearTickPositions(a,r,n),m),w||(this._minorAutoInterval=a/5);w||(this.tickInterval=a);return c};D.prototype.log2lin=function(a){return Math.log(a)/Math.LN10};D.prototype.lin2log=function(a){return Math.pow(10,a)}})(N);(function(a,D){var B=a.arrayMax,G=a.arrayMin,p=a.defined,g=a.destroyObjectProperties,l=a.each,r=a.erase,n=a.merge,w=a.pick;a.PlotLineOrBand=function(a,e){this.axis=a;e&&(this.options=e,this.id=e.id)};a.PlotLineOrBand.prototype={render:function(){var g= this,e=g.axis,h=e.horiz,m=g.options,c=m.label,f=g.label,b=m.to,d=m.from,y=m.value,l=p(d)&&p(b),r=p(y),t=g.svgElem,K=!t,x=[],C=m.color,L=w(m.zIndex,0),q=m.events,x={"class":"highcharts-plot-"+(l?"band ":"line ")+(m.className||"")},A={},E=e.chart.renderer,F=l?"bands":"lines",k=e.log2lin;e.isLog&&(d=k(d),b=k(b),y=k(y));r?(x={stroke:C,"stroke-width":m.width},m.dashStyle&&(x.dashstyle=m.dashStyle)):l&&(C&&(x.fill=C),m.borderWidth&&(x.stroke=m.borderColor,x["stroke-width"]=m.borderWidth));A.zIndex=L;F+= "-"+L;(C=e.plotLinesAndBandsGroups[F])||(e.plotLinesAndBandsGroups[F]=C=E.g("plot-"+F).attr(A).add());K&&(g.svgElem=t=E.path().attr(x).add(C));if(r)x=e.getPlotLinePath(y,t.strokeWidth());else if(l)x=e.getPlotBandPath(d,b,m);else return;K&&x&&x.length?(t.attr({d:x}),q&&a.objectEach(q,function(a,b){t.on(b,function(a){q[b].apply(g,[a])})})):t&&(x?(t.show(),t.animate({d:x})):(t.hide(),f&&(g.label=f=f.destroy())));c&&p(c.text)&&x&&x.length&&0this.max&&e>this.max;if(m&&h)for(a&&(d=m.toString()===h.toString(),b=0),a=0;a u-h?u:u-h);else if(y)d[a]=Math.max(e,k+h+f>c?k:k+h);else return!1},C=function(a,c,f,k){var e;kc-b?e=!1:d[a]=kc-f/2?c-f-2:k-f/2;return e},r=function(a){var b=g;g=t;t=b;m=a},q=function(){!1!==x.apply(0,g)?!1!==C.apply(0,t)||m||(r(!0),q()):m?d.x=d.y=0:(r(!0),q())};(f.inverted||1q&&(h=!1);a=(e.series&&e.series.yAxis&&e.series.yAxis.pos)+(e.plotY||0);a-=b.plotTop;f.push({target:e.isHeader?b.plotHeight+l:a,rank:e.isHeader?1:0,size:y.tt.getBBox().height+1,point:e,x:q,tt:x})}});this.cleanSplit();a.distribute(f, b.plotHeight+l);B(f,function(a){var d=a.point,c=d.series;a.tt.attr({visibility:void 0===a.pos?"hidden":"inherit",x:h||d.isHeader?a.x:d.plotX+b.plotLeft+n(g.distance,16),y:a.pos+b.plotTop,anchorX:d.isHeader?d.plotX+b.plotLeft:d.plotX+c.xAxis.pos,anchorY:d.isHeader?a.pos+b.plotTop-15:d.plotY+c.yAxis.pos})})},updatePosition:function(a){var e=this.chart,c=this.getLabel(),c=(this.options.positioner||this.getPosition).call(this,c.width,c.height,a);this.move(Math.round(c.x),Math.round(c.y||0),a.plotX+e.plotLeft, a.plotY+e.plotTop)},getDateFormat:function(a,m,c,f){var b=D("%m-%d %H:%M:%S.%L",m),d,h,g={millisecond:15,second:12,minute:9,hour:6,day:3},l="millisecond";for(h in e){if(a===e.week&&+D("%w",m)===c&&"00:00:00.000"===b.substr(6)){h="week";break}if(e[h]>a){h=l;break}if(g[h]&&b.substr(g[h])!=="01-01 00:00:00.000".substr(g[h]))break;"week"!==h&&(l=h)}h&&(d=f[h]);return d},getXDateFormat:function(a,e,c){e=e.dateTimeLabelFormats;var f=c&&c.closestPointRange;return(f?this.getDateFormat(f,a.x,c.options.startOfWeek, e):e.day)||e.year},tooltipFooterHeaderFormatter:function(a,e){e=e?"footer":"header";var c=a.series,f=c.tooltipOptions,b=f.xDateFormat,d=c.xAxis,h=d&&"datetime"===d.options.type&&g(a.key),m=f[e+"Format"];h&&!b&&(b=this.getXDateFormat(a,f,d));h&&b&&B(a.point&&a.point.tooltipDateKeys||["key"],function(a){m=m.replace("{point."+a+"}","{point."+a+":"+b+"}")});return p(m,{point:a,series:c})},bodyFormatter:function(a){return l(a,function(a){var c=a.series.tooltipOptions;return(c[(a.point.formatPrefix||"point")+ "Formatter"]||a.point.tooltipFormatter).call(a.point,c[(a.point.formatPrefix||"point")+"Format"])})}}})(N);(function(a){var D=a.addEvent,B=a.attr,G=a.charts,p=a.color,g=a.css,l=a.defined,r=a.each,n=a.extend,w=a.find,v=a.fireEvent,e=a.isObject,h=a.offset,m=a.pick,c=a.splat,f=a.Tooltip;a.Pointer=function(a,d){this.init(a,d)};a.Pointer.prototype={init:function(a,d){this.options=d;this.chart=a;this.runChartClick=d.chart.events&&!!d.chart.events.click;this.pinchDown=[];this.lastValidTouch={};f&&(a.tooltip= new f(a,d.tooltip),this.followTouchMove=m(d.tooltip.followTouchMove,!0));this.setDOMEvents()},zoomOption:function(a){var b=this.chart,c=b.options.chart,f=c.zoomType||"",b=b.inverted;/touch/.test(a.type)&&(f=m(c.pinchType,f));this.zoomX=a=/x/.test(f);this.zoomY=f=/y/.test(f);this.zoomHor=a&&!b||f&&b;this.zoomVert=f&&!b||a&&b;this.hasZoom=a||f},normalize:function(a,d){var b;b=a.touches?a.touches.length?a.touches.item(0):a.changedTouches[0]:a;d||(this.chartPosition=d=h(this.chart.container));return n(a, {chartX:Math.round(b.pageX-d.left),chartY:Math.round(b.pageY-d.top)})},getCoordinates:function(a){var b={xAxis:[],yAxis:[]};r(this.chart.axes,function(d){b[d.isXAxis?"xAxis":"yAxis"].push({axis:d,value:d.toValue(a[d.horiz?"chartX":"chartY"])})});return b},findNearestKDPoint:function(a,d,c){var b;r(a,function(a){var f=!(a.noSharedTooltip&&d)&&0>a.options.findNearestPointBy.indexOf("y");a=a.searchPoint(c,f);if((f=e(a,!0))&&!(f=!e(b,!0)))var f=b.distX-a.distX,h=b.dist-a.dist,m=(a.series.group&&a.series.group.zIndex)- (b.series.group&&b.series.group.zIndex),f=0<(0!==f&&d?f:0!==h?h:0!==m?m:b.series.index>a.series.index?-1:1);f&&(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,d){var b=a.series,c=b.xAxis,b=b.yAxis,f=m(a.clientX,a.plotX);if(c&&b)return d?{chartX:c.len+c.pos-f,chartY:b.len+b.pos-a.plotY}:{chartX:f+c.pos,chartY:a.plotY+b.pos}},getHoverData:function(b,c,f,h,g,t,l){var d,y=[],n=l&&l.isBoosting;h=!(!h|| !b);l=c&&!c.stickyTracking?[c]:a.grep(f,function(a){return a.visible&&!(!g&&a.directTouch)&&m(a.options.enableMouseTracking,!0)&&a.stickyTracking});c=(d=h?b:this.findNearestKDPoint(l,g,t))&&d.series;d&&(g&&!c.noSharedTooltip?(l=a.grep(f,function(a){return a.visible&&!(!g&&a.directTouch)&&m(a.options.enableMouseTracking,!0)&&!a.noSharedTooltip}),r(l,function(a){var b=w(a.points,function(a){return a.x===d.x&&!a.isNull});e(b)&&(n&&(b=a.getPoint(b)),y.push(b))})):y.push(d));return{hoverPoint:d,hoverSeries:c, hoverPoints:y}},runPointActions:function(b,c){var d=this.chart,f=d.tooltip&&d.tooltip.options.enabled?d.tooltip:void 0,e=f?f.shared:!1,h=c||d.hoverPoint,g=h&&h.series||d.hoverSeries,g=this.getHoverData(h,g,d.series,!!c||g&&g.directTouch&&this.isDirectTouch,e,b,{isBoosting:d.isBoosting}),l,h=g.hoverPoint;l=g.hoverPoints;c=(g=g.hoverSeries)&&g.tooltipOptions.followPointer;e=e&&g&&!g.noSharedTooltip;if(h&&(h!==d.hoverPoint||f&&f.isHidden)){r(d.hoverPoints||[],function(b){-1===a.inArray(b,l)&&b.setState()}); r(l||[],function(a){a.setState("hover")});if(d.hoverSeries!==g)g.onMouseOver();d.hoverPoint&&d.hoverPoint.firePointEvent("mouseOut");if(!h.series)return;h.firePointEvent("mouseOver");d.hoverPoints=l;d.hoverPoint=h;f&&f.refresh(e?l:h,b)}else c&&f&&!f.isHidden&&(h=f.getAnchor([{}],b),f.updatePosition({plotX:h[0],plotY:h[1]}));this.unDocMouseMove||(this.unDocMouseMove=D(d.container.ownerDocument,"mousemove",function(b){var c=G[a.hoverChartIndex];if(c)c.pointer.onDocumentMouseMove(b)}));r(d.axes,function(c){var d= m(c.crosshair.snap,!0),f=d?a.find(l,function(a){return a.series[c.coll]===c}):void 0;f||!d?c.drawCrosshair(b,f):c.hideCrosshair()})},reset:function(a,d){var b=this.chart,f=b.hoverSeries,e=b.hoverPoint,h=b.hoverPoints,g=b.tooltip,m=g&&g.shared?h:e;a&&m&&r(c(m),function(b){b.series.isCartesian&&void 0===b.plotX&&(a=!1)});if(a)g&&m&&(g.refresh(m),e&&(e.setState(e.state,!0),r(b.axes,function(a){a.crosshair&&a.drawCrosshair(null,e)})));else{if(e)e.onMouseOut();h&&r(h,function(a){a.setState()});if(f)f.onMouseOut(); g&&g.hide(d);this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove());r(b.axes,function(a){a.hideCrosshair()});this.hoverX=b.hoverPoints=b.hoverPoint=null}},scaleGroups:function(a,c){var b=this.chart,d;r(b.series,function(f){d=a||f.getPlotBox();f.xAxis&&f.xAxis.zoomEnabled&&f.group&&(f.group.attr(d),f.markerGroup&&(f.markerGroup.attr(d),f.markerGroup.clip(c?b.clipRect:null)),f.dataLabelsGroup&&f.dataLabelsGroup.attr(d))});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,f=a.chartX,e=a.chartY,h=this.zoomHor,g=this.zoomVert,m=b.plotLeft,l=b.plotTop,n=b.plotWidth,q=b.plotHeight,A,E=this.selectionMarker,F=this.mouseDownX,k=this.mouseDownY,u=c.panKey&&a[c.panKey+"Key"];E&&E.touch||(fm+n&&(f=m+n),el+q&&(e=l+q),this.hasDragged=Math.sqrt(Math.pow(F-f,2)+Math.pow(k-e,2)),10w.max&&(g=w.max-t,u=!0);u?(E-=.8*(E-m[b][0]),q||(k-=.8*(k-m[b][1])),l()):m[b]=[E,k];C||(h[b]=v-r,h[n]=t);h=C?1/x:x;e[n]=t;e[b]=g;p[C?a?"scaleY":"scaleX":"scale"+d]=x;p["translate"+d]=h*r+(E-h*A)},pinch:function(a){var n=this,r=n.chart,v=n.pinchDown,e=a.touches,h=e.length,m=n.lastValidTouch,c=n.hasZoom,f=n.selectionMarker,b={},d=1===h&&(n.inClass(a.target,"highcharts-tracker")&&r.runTrackerClick||n.runChartClick),y={};1f-6&&h(q||c.spacingBox.width-2*x-d.x)&&(this.itemX=x,this.itemY+=E+this.lastLineHeight+A,this.lastLineHeight=0);this.maxItemWidth= Math.max(this.maxItemWidth,m);this.lastItemY=E+this.itemY+A;this.lastLineHeight=Math.max(b,this.lastLineHeight);a._legendItemPos=[this.itemX,this.itemY];e?this.itemX+=m:(this.itemY+=E+b+A,this.lastLineHeight=b);this.offsetWidth=q||Math.max((e?this.itemX-x-(a.checkbox?0:C):m)+x,this.offsetWidth)},getAllItems:function(){var a=[];g(this.chart.series,function(c){var b=c&&c.options;c&&w(b.showInLegend,p(b.linkedTo)?!1:void 0,!0)&&(a=a.concat(c.legendItems||("point"===b.legendType?c.data:c)))});return a}, adjustMargins:function(a,f){var b=this.chart,c=this.options,e=c.align.charAt(0)+c.verticalAlign.charAt(0)+c.layout.charAt(0);c.floating||g([/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/],function(d,h){d.test(e)&&!p(a[h])&&(b[r[h]]=Math.max(b[r[h]],b.legend[(h+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][h]*c[h%2?"x":"y"]+w(c.margin,12)+f[h]))})},render:function(){var a=this,f=a.chart,b=f.renderer,d=a.group,h,m,l,t,p=a.box,x=a.options,r=a.padding;a.itemX=r;a.itemY=a.initialItemY;a.offsetWidth= 0;a.lastItemY=0;d||(a.group=d=b.g("legend").attr({zIndex:7}).add(),a.contentGroup=b.g().attr({zIndex:1}).add(d),a.scrollGroup=b.g().add(a.contentGroup));a.renderTitle();h=a.getAllItems();e(h,function(a,b){return(a.options&&a.options.legendIndex||0)-(b.options&&b.options.legendIndex||0)});x.reversed&&h.reverse();a.allItems=h;a.display=m=!!h.length;a.lastLineHeight=0;g(h,function(b){a.renderItem(b)});l=(x.width||a.offsetWidth)+r;t=a.lastItemY+a.lastLineHeight+a.titleHeight;t=a.handleOverflow(t);t+= r;p||(a.box=p=b.rect().addClass("highcharts-legend-box").attr({r:x.borderRadius}).add(d),p.isNew=!0);p.attr({stroke:x.borderColor,"stroke-width":x.borderWidth||0,fill:x.backgroundColor||"none"}).shadow(x.shadow);0b&&!1!==x.enabled?(this.clipHeight=l=Math.max(b-20-this.titleHeight-m,0),this.currentPage=w(this.currentPage,1),this.fullHeight=a,g(F,function(a,b){var c=a._legendItemPos[1];a=Math.round(a.legendItem.getBBox().height);var d=A.length;if(!d||c-A[d-1]>l&&(E||c)!==A[d-1])A.push(E||c),d++;b===F.length-1&&c+a-A[d-1]>l&&A.push(c);c!==E&&(E=c)}),n||(n=c.clipRect=d.clipRect(0,m,9999,0),c.contentGroup.clip(n)),k(l),q||(this.nav= q=d.g().attr({zIndex:1}).add(this.group),this.up=d.symbol("triangle",0,0,r,r).on("click",function(){c.scroll(-1,p)}).add(q),this.pager=d.text("",15,10).addClass("highcharts-legend-navigation").css(x.style).add(q),this.down=d.symbol("triangle-down",0,0,r,r).on("click",function(){c.scroll(1,p)}).add(q)),c.scroll(0),a=b):q&&(k(),this.nav=q.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0);return a},scroll:function(a,f){var b=this.pages,c=b.length;a=this.currentPage+a;var e=this.clipHeight, h=this.options.navigation,g=this.pager,m=this.padding;a>c&&(a=c);0b&&(g=typeof a[0],"string"===g?e.name=a[0]:"number"===g&&(e.x=a[0]),d++);l=c.value;)c=h[++g];c&&c.color&&!this.options.color&&(this.color=c.color);return c},destroy:function(){var a=this.series.chart,h=a.hoverPoints,g;a.pointCount--;h&&(this.setState(),p(h,this),h.length||(a.hoverPoints=null));if(this===a.hoverPoint)this.onMouseOut();if(this.graphic||this.dataLabel)v(this),this.destroyElements();this.legendItem&&a.legend.destroyItem(this);for(g in this)this[g]=null},destroyElements:function(){for(var a=["graphic","dataLabel", "dataLabelUpper","connector","shadowGroup"],h,g=6;g--;)h=a[g],this[h]&&(this[h]=this[h].destroy())},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 e=this.series,g=e.tooltipOptions,c=w(g.valueDecimals,""),f=g.valuePrefix||"",b=g.valueSuffix||"";B(e.pointArrayMap||["y"],function(d){d="{point."+ d;if(f||b)a=a.replace(d+"}",f+d+"}"+b);a=a.replace(d+"}",d+":,."+c+"f}")});return l(a,{point:this,series:this.series})},firePointEvent:function(a,h,m){var c=this,f=this.series.options;(f.point.events[a]||c.options&&c.options.events&&c.options.events[a])&&this.importEvents();"click"===a&&f.allowPointSelect&&(m=function(a){c.select&&c.select(null,a.ctrlKey||a.metaKey||a.shiftKey)});g(this,a,h,m)},visible:!0}})(N);(function(a){var D=a.addEvent,B=a.animObject,G=a.arrayMax,p=a.arrayMin,g=a.correctFloat, l=a.Date,r=a.defaultOptions,n=a.defaultPlotOptions,w=a.defined,v=a.each,e=a.erase,h=a.extend,m=a.fireEvent,c=a.grep,f=a.isArray,b=a.isNumber,d=a.isString,y=a.merge,H=a.objectEach,J=a.pick,t=a.removeEvent,K=a.splat,x=a.SVGElement,C=a.syncTimeout,L=a.win;a.Series=a.seriesType("line",null,{lineWidth:2,allowPointSelect:!1,showCheckbox:!1,animation:{duration:1E3},events:{},marker:{lineWidth:0,lineColor:"#ffffff",radius:4,states:{hover:{animation:{duration:50},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc", lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{align:"center",formatter:function(){return null===this.y?"":a.numberFormat(this.y,-1)},style:{fontSize:"11px",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0,padding:5},cropThreshold:300,pointRange:0,softThreshold:!0,states:{hover:{animation:{duration:50},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{marker:{}}},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,d,k=a.series,f;c.chart=a;c.options=b=c.setOptions(b);c.linkedSeries=[];c.bindAxes();h(c,{name:b.name,state:"",visible:!1!==b.visible,selected:!0===b.selected});d=b.events;H(d,function(a,b){D(c,b,a)});if(d&&d.click||b.point&&b.point.events&&b.point.events.click||b.allowPointSelect)a.runTrackerClick=!0;c.getColor(); c.getSymbol();v(c.parallelArrays,function(a){c[a+"Data"]=[]});c.setData(b.data,!1);c.isCartesian&&(a.hasCartesianSeries=!0);k.length&&(f=k[k.length-1]);c._i=J(f&&f._i,-1)+1;a.orderSeries(this.insert(k))},insert:function(a){var c=this.options.index,d;if(b(c)){for(d=a.length;d--;)if(c>=J(a[d].options.index,a[d]._i)){a.splice(d+1,0,this);break}-1===d&&a.unshift(this);d+=1}else a.push(this);return J(d,a.length-1)},bindAxes:function(){var b=this,c=b.options,d=b.chart,f;v(b.axisTypes||[],function(k){v(d[k], function(a){f=a.options;if(c[k]===f.index||void 0!==c[k]&&c[k]===f.id||void 0===c[k]&&0===f.index)b.insert(a.series),b[k]=a,a.isDirty=!0});b[k]||b.optionalAxis===k||a.error(18,!0)})},updateParallelArrays:function(a,c){var d=a.series,f=arguments,k=b(c)?function(b){var f="y"===b&&d.toYData?d.toYData(a):a[b];d[b+"Data"][c]=f}:function(a){Array.prototype[c].apply(d[a+"Data"],Array.prototype.slice.call(f,2))};v(d.parallelArrays,k)},autoIncrement:function(){var a=this.options,b=this.xIncrement,c,d=a.pointIntervalUnit, b=J(b,a.pointStart,0);this.pointInterval=c=J(this.pointInterval,a.pointInterval,1);d&&(a=new l(b),"day"===d?a=+a[l.hcSetDate](a[l.hcGetDate]()+c):"month"===d?a=+a[l.hcSetMonth](a[l.hcGetMonth]()+c):"year"===d&&(a=+a[l.hcSetFullYear](a[l.hcGetFullYear]()+c)),c=a-b);this.xIncrement=b+c;return b},setOptions:function(a){var b=this.chart,c=b.options,d=c.plotOptions,f=(b.userOptions||{}).plotOptions||{},e=d[this.type];this.userOptions=a;b=y(e,d.series,a);this.tooltipOptions=y(r.tooltip,r.plotOptions.series&& r.plotOptions.series.tooltip,r.plotOptions[this.type].tooltip,c.tooltip.userOptions,d.series&&d.series.tooltip,d[this.type].tooltip,a.tooltip);this.stickyTracking=J(a.stickyTracking,f[this.type]&&f[this.type].stickyTracking,f.series&&f.series.stickyTracking,this.tooltipOptions.shared&&!this.noSharedTooltip?!0:b.stickyTracking);null===e.marker&&delete b.marker;this.zoneAxis=b.zoneAxis;a=this.zones=(b.zones||[]).slice();!b.negativeColor&&!b.negativeFillColor||b.zones||a.push({value:b[this.zoneAxis+ "Threshold"]||b.threshold||0,className:"highcharts-negative",color:b.negativeColor,fillColor:b.negativeFillColor});a.length&&w(a[a.length-1].value)&&a.push({color:this.color,fillColor:this.fillColor});return b},getCyclic:function(a,b,c){var d,f=this.chart,e=this.userOptions,h=a+"Index",q=a+"Counter",g=c?c.length:J(f.options.chart[a+"Count"],f[a+"Count"]);b||(d=J(e[h],e["_"+h]),w(d)||(f.series.length||(f[q]=0),e["_"+h]=d=f[q]%g,f[q]+=1),c&&(b=c[d]));void 0!==d&&(this[h]=d);this[a]=b},getColor:function(){this.options.colorByPoint? this.options.color=null:this.getCyclic("color",this.options.color||n[this.type].color,this.chart.options.colors)},getSymbol:function(){this.getCyclic("symbol",this.options.marker.symbol,this.chart.options.symbols)},drawLegendSymbol:a.LegendSymbolMixin.drawLineMarker,setData:function(c,e,h,g){var k=this,q=k.points,m=q&&q.length||0,l,t=k.options,A=k.chart,n=null,x=k.xAxis,E=t.turboThreshold,y=this.xData,p=this.yData,r=(l=k.pointArrayMap)&&l.length;c=c||[];l=c.length;e=J(e,!0);if(!1!==g&&l&&m===l&&!k.cropped&& !k.hasGroupedData&&k.visible)v(c,function(a,b){q[b].update&&a!==t.data[b]&&q[b].update(a,!1,null,!1)});else{k.xIncrement=null;k.colorCounter=0;v(this.parallelArrays,function(a){k[a+"Data"].length=0});if(E&&l>E){for(h=0;null===n&&hg||this.forceCrop))if(c[f-1]p)c=[],d=[];else if(c[0]p)k=this.cropData(this.xData,this.yData,y,p),c=k.xData,d=k.yData,k=k.start,e=!0;for(g=c.length||1;--g;)f=t?l(c[g])-l(c[g-1]):c[g]-c[g-1],0f&&x&&(a.error(15),x=!1);this.cropped=e;this.cropStart=k; this.processedXData=c;this.processedYData=d;this.closestPointRange=h},cropData:function(a,b,c,d){var f=a.length,e=0,h=f,g=J(this.cropShoulder,1),q;for(q=0;q=c){e=Math.max(0,q-g);break}for(c=q;cd){h=c+g;break}return{xData:a.slice(e,h),yData:b.slice(e,h),start:e,end:h}},generatePoints:function(){var a=this.options,b=a.data,c=this.data,d,f=this.processedXData,e=this.processedYData,h=this.pointClass,g=f.length,l=this.cropStart||0,m,n=this.hasGroupedData,a=a.keys,t,x=[],y; c||n||(c=[],c.length=b.length,c=this.data=c);a&&n&&(this.options.keys=!1);for(y=0;y=g&&(d[t-1]||m)<=q,l&&m)if(l=n.length)for(;l--;)null!==n[l]&&(k[h++]=n[l]);else k[h++]=n;this.dataMin=p(k);this.dataMax=G(k)},translate:function(){this.processedXData||this.processData();this.generatePoints();var a=this.options,c=a.stacking, d=this.xAxis,f=d.categories,k=this.yAxis,e=this.points,h=e.length,l=!!this.modifyValue,m=a.pointPlacement,n="between"===m||b(m),t=a.threshold,x=a.startFromThreshold?t:0,y,p,r,C,v=Number.MAX_VALUE;"between"===m&&(m=.5);b(m)&&(m*=J(a.pointRange||d.pointRange));for(a=0;a=L&&(K.isNull=!0);K.plotX=y=g(Math.min(Math.max(-1E5,d.translate(H,0,0,0,1,m,"flags"===this.type)), 1E5));c&&this.visible&&!K.isNull&&B&&B[H]&&(C=this.getStackIndicator(C,H,this.index),D=B[H],L=D.points[C.key],p=L[0],L=L[1],p===x&&C.key===B[H].base&&(p=J(t,k.min)),k.positiveValuesOnly&&0>=p&&(p=null),K.total=K.stackTotal=D.total,K.percentage=D.total&&K.y/D.total*100,K.stackY=L,D.setOffset(this.pointXOffset||0,this.barW||0));K.yBottom=w(p)?k.translate(p,0,1,0,1):null;l&&(L=this.modifyValue(L,K));K.plotY=p="number"===typeof L&&Infinity!==L?Math.min(Math.max(-1E5,k.translate(L,0,1,0,1)),1E5):void 0; K.isInside=void 0!==p&&0<=p&&p<=k.len&&0<=y&&y<=d.len;K.clientX=n?g(d.translate(H,0,0,0,1,m)):y;K.negative=K.y<(t||0);K.category=f&&void 0!==f[K.x]?f[K.x]:K.x;K.isNull||(void 0!==r&&(v=Math.min(v,Math.abs(y-r))),r=y);K.zone=this.zones.length&&K.getZone()}this.closestPointRangePx=v},getValidPoints:function(a,b){var d=this.chart;return c(a||this.points||[],function(a){return b&&!d.isInsidePlot(a.plotX,a.plotY,d.inverted)?!1:!a.isNull})},setClip:function(a){var b=this.chart,c=this.options,d=b.renderer, f=b.inverted,e=this.clipBox,h=e||b.clipBox,g=this.sharedClipKey||["_sharedClip",a&&a.duration,a&&a.easing,h.height,c.xAxis,c.yAxis].join(),q=b[g],m=b[g+"m"];q||(a&&(h.width=0,f&&(h.x=b.plotSizeX),b[g+"m"]=m=d.clipRect(f?b.plotSizeX+99:-99,f?-b.plotLeft:-b.plotTop,99,f?b.chartWidth:b.chartHeight)),b[g]=q=d.clipRect(h),q.count={length:0});a&&!q.count[this.index]&&(q.count[this.index]=!0,q.count.length+=1);!1!==c.clip&&(this.group.clip(a||e?q:b.clipRect),this.markerGroup.clip(m),this.sharedClipKey=g); a||(q.count[this.index]&&(delete q.count[this.index],--q.count.length),0===q.count.length&&g&&b[g]&&(e||(b[g]=b[g].destroy()),b[g+"m"]&&(b[g+"m"]=b[g+"m"].destroy())))},animate:function(a){var b=this.chart,c=B(this.options.animation),d;a?this.setClip(c):(d=this.sharedClipKey,(a=b[d])&&a.animate({width:b.plotSizeX,x:0},c),b[d+"m"]&&b[d+"m"].animate({width:b.plotSizeX+99,x:0},c),this.animate=null)},afterAnimate:function(){this.setClip();m(this,"afterAnimate");this.finishedAnimating=!0},drawPoints:function(){var a= this.points,b=this.chart,c,d,f,e,h=this.options.marker,g,m,l,n=this[this.specialGroup]||this.markerGroup,t,x=J(h.enabled,this.xAxis.isRadial?!0:null,this.closestPointRangePx>=2*h.radius);if(!1!==h.enabled||this._hasPointMarkers)for(c=0;cf&&b.shadow));k&&(k.startX=c.xMap,k.isArea=c.isArea)})},applyZones:function(){var a=this,b=this.chart,c=b.renderer,d=this.zones,f,e,h=this.clips||[],g,l=this.graph,m=this.area,t=Math.max(b.chartWidth, b.chartHeight),n=this[(this.zoneAxis||"y")+"Axis"],x,y,p=b.inverted,r,C,w,K,L=!1;d.length&&(l||m)&&n&&void 0!==n.min&&(y=n.reversed,r=n.horiz,l&&l.hide(),m&&m.hide(),x=n.getExtremes(),v(d,function(d,k){f=y?r?b.plotWidth:0:r?0:n.toPixels(x.min);f=Math.min(Math.max(J(e,f),0),t);e=Math.min(Math.max(Math.round(n.toPixels(J(d.value,x.max),!0)),0),t);L&&(f=e=n.toPixels(x.max));C=Math.abs(f-e);w=Math.min(f,e);K=Math.max(f,e);n.isXAxis?(g={x:p?K:w,y:0,width:C,height:t},r||(g.x=b.plotHeight-g.x)):(g={x:0, y:p?K:w,width:t,height:C},r&&(g.y=b.plotWidth-g.y));p&&c.isVML&&(g=n.isXAxis?{x:0,y:y?w:K,height:g.width,width:b.chartWidth}:{x:g.y-b.plotLeft-b.spacingBox.x,y:0,width:g.height,height:b.chartHeight});h[k]?h[k].animate(g):(h[k]=c.clipRect(g),l&&a["zone-graph-"+k].clip(h[k]),m&&a["zone-area-"+k].clip(h[k]));L=d.value>x.max}),this.clips=h)},invertGroups:function(a){function b(){v(["group","markerGroup"],function(b){c[b]&&(d.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,d=c.chart,f;c.xAxis&&(f=D(d,"resize",b),D(c,"destroy",f),b(a),c.invertGroups=b)},plotGroup:function(a,b,c,d,f){var e=this[a],k=!e;k&&(this[a]=e=this.chart.renderer.g().attr({zIndex:d||.1}).add(f));e.addClass("highcharts-"+b+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(w(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(e.hasClass("highcharts-tracker")?" highcharts-tracker": ""),!0);e.attr({visibility:c})[k?"attr":"animate"](this.getPlotBox());return e},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,d=a.options,f=!!a.animate&&b.renderer.isSVG&&B(d.animation).duration,e=a.visible?"inherit":"hidden",h=d.zIndex,g=a.hasRendered,l=b.seriesGroup,m=b.inverted;c=a.plotGroup("group","series",e,h,l);a.markerGroup= a.plotGroup("markerGroup","markers",e,h,l);f&&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===d.clip||a.sharedClipKey||g||c.clip(b.clipRect);f&&a.animate();g||(a.animationTimeout=C(function(){a.afterAnimate()},f));a.isDirty=!1;a.hasRendered=!0},redraw:function(){var a=this.chart,b=this.isDirty||this.isDirtyData, c=this.group,d=this.xAxis,f=this.yAxis;c&&(a.inverted&&c.attr({width:a.plotWidth,height:a.plotHeight}),c.animate({translateX:J(d&&d.left,a.plotLeft),translateY:J(f&&f.top,a.plotTop)}));this.translate();this.render();b&&delete this.kdTree},kdAxisArray:["clientX","plotY"],searchPoint:function(a,b){var c=this.xAxis,d=this.yAxis,f=this.chart.inverted;return this.searchKDTree({clientX:f?c.len-a.chartY+c.pos:a.chartX-c.pos,plotY:f?d.len-a.chartX+d.pos:a.chartY-d.pos},b)},buildKDTree:function(){function a(c, d,f){var e,k;if(k=c&&c.length)return e=b.kdAxisArray[d%f],c.sort(function(a,b){return a[e]-b[e]}),k=Math.floor(k/2),{point:c[k],left:a(c.slice(0,k),d+1,f),right:a(c.slice(k+1),d+1,f)}}this.buildingKdTree=!0;var b=this,c=-1m?"left":"right";n=0>m?"right":"left";b[q]&&(q=c(a,b[q],k+1,g),t=q[h]x;)q--;this.updateParallelArrays(m,"splice",q,0,0);this.updateParallelArrays(m,q);k&&m.name&&(k[x]=m.name);l.splice(q,0,a);t&&(this.data.splice(q,0,null),this.processData());"point"===e.legendType&&this.generatePoints();c&&(h[0]&&h[0].remove?h[0].remove(!1):(h.shift(),this.updateParallelArrays(m,"shift"),l.shift()));this.isDirtyData=this.isDirty=!0;b&&g.redraw(f)},removePoint:function(a,b,c){var f=this,e=f.data,h=e[a],g=f.points,k=f.chart,l=function(){g&&g.length===e.length&& g.splice(a,1);e.splice(a,1);f.options.data.splice(a,1);f.updateParallelArrays(h||{series:f},"splice",a,1);h&&h.destroy();f.isDirty=!0;f.isDirtyData=!0;b&&k.redraw()};t(c,k);b=d(b,!0);h?h.firePointEvent("remove",null,l):l()},remove:function(a,b,c){function f(){e.destroy();h.isDirtyLegend=h.isDirtyBox=!0;h.linkSeries();d(a,!0)&&h.redraw(b)}var e=this,h=e.chart;!1!==c?v(e,"remove",null,f):f()},update:function(a,b){var c=this,e=c.chart,h=c.userOptions,g=c.oldType||c.type,l=a.type||h.type||e.options.chart.type, k=J[g].prototype,m,t=["group","markerGroup","dataLabelsGroup"],n=["navigatorSeries","baseSeries"],y=c.finishedAnimating&&{animation:!1};if(Object.keys&&"data"===Object.keys(a).toString())return this.setData(a.data,b);if(l&&l!==g||void 0!==a.zIndex)t.length=0;n=t.concat(n);r(n,function(a){n[a]=c[a];delete c[a]});a=f(h,y,{index:c.index,pointStart:c.xData[0]},{data:c.options.data},a);c.remove(!1,null,!1);for(m in k)c[m]=void 0;w(c,J[l||g].prototype);r(n,function(a){c[a]=n[a]});c.init(e,a);c.oldType= g;e.linkSeries();d(b,!0)&&e.redraw(!1)}});w(G.prototype,{update:function(a,b){var c=this.chart;a=c.options[this.coll][this.options.index]=f(this.userOptions,a);this.destroy(!0);this.init(c,w(a,{events:void 0}));c.isDirtyBox=!0;d(b,!0)&&c.redraw()},remove:function(a){for(var b=this.chart,f=this.coll,e=this.series,h=e.length;h--;)e[h]&&e[h].remove(!1);n(b.axes,this);n(b[f],this);c(b.options[f])?b.options[f].splice(this.options.index,1):delete b.options[f];r(b[f],function(a,b){a.options.index=b});this.destroy(); b.isDirtyBox=!0;d(a,!0)&&b.redraw()},setTitle:function(a,b){this.update({title:a},b)},setCategories:function(a,b){this.update({categories:a},b)}})})(N);(function(a){var D=a.color,B=a.each,G=a.map,p=a.pick,g=a.Series,l=a.seriesType;l("area","line",{softThreshold:!1,threshold:0},{singleStacks:!1,getStackPoints:function(g){var l=[],r=[],v=this.xAxis,e=this.yAxis,h=e.stacks[this.stackKey],m={},c=this.index,f=e.series,b=f.length,d,y=p(e.options.reversedStacks,!0)?1:-1,H;g=g||this.points;if(this.options.stacking){for(H= 0;Ha&&w>l?(w=Math.max(a,l),e=2*l-w):wp&&e>l?(e=Math.max(p,l),w=2*l-e):e=Math.abs(g)&&.5a.closestPointRange* a.xAxis.transA,c=a.borderWidth=r(l.borderWidth,c?0:1),f=a.yAxis,b=l.threshold,d=a.translatedThreshold=f.getThreshold(b),p=r(l.minPointLength,5),v=a.getColumnMetrics(),w=v.width,t=a.barW=Math.max(w,1+2*c),K=a.pointXOffset=v.offset;g.inverted&&(d-=.5);l.pointPadding&&(t=Math.ceil(t));n.prototype.translate.apply(a);G(a.points,function(c){var e=r(c.yBottom,d),h=999+Math.abs(e),h=Math.min(Math.max(-h,c.plotY),f.len+h),l=c.plotX+K,m=t,n=Math.min(h,e),y,k=Math.max(h,e)-n;p&&Math.abs(k)p?e-p:d-(y?p:0));c.barX=l;c.pointWidth=w;c.tooltipPos=g.inverted?[f.len+f.pos-g.plotLeft-h,a.xAxis.len-l-m/2,k]:[l+m/2,h+f.pos-g.plotTop,k];c.shapeType="rect";c.shapeArgs=a.crispCol.apply(a,c.isNull?[l,d,m,0]:[l,n,m,k])})},getSymbol:a.noop,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,drawGraph:function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")},pointAttribs:function(a, g){var e=this.options,c,f=this.pointAttrToOptions||{};c=f.stroke||"borderColor";var b=f["stroke-width"]||"borderWidth",d=a&&a.color||this.color,h=a&&a[c]||e[c]||this.color||d,n=a&&a[b]||e[b]||this[b]||0,f=e.dashStyle;a&&this.zones.length&&(d=a.getZone(),d=a.options.color||d&&d.color||this.color);g&&(a=l(e.states[g],a.options.states&&a.options.states[g]||{}),g=a.brightness,d=a.color||void 0!==g&&B(d).brighten(a.brightness).get()||d,h=a[c]||h,n=a[b]||n,f=a.dashStyle||f);c={fill:d,stroke:h,"stroke-width":n}; f&&(c.dashstyle=f);return c},drawPoints:function(){var a=this,h=this.chart,m=a.options,c=h.renderer,f=m.animationLimit||250,b;G(a.points,function(d){var e=d.graphic;if(g(d.plotY)&&null!==d.y){b=d.shapeArgs;if(e)e[h.pointCounte;++e)h=w[e],a=2>e||2===e&&/%$/.test(h),w[e]=p(h,[n,l,v,w[2]][e])+(a?r:0);w[3]>w[2]&&(w[3]=w[2]);return w},getStartAndEndRadians:function(a,l){a=B(a)?a:0;l=B(l)&&l>a&&360>l-a?l:a+360;return{start:D*(a+-90),end:D*(l+-90)}}}})(N);(function(a){var D=a.addEvent,B=a.CenteredSeriesMixin,G=a.defined,p=a.each,g=a.extend,l=B.getStartAndEndRadians,r=a.inArray,n=a.noop,w=a.pick,v=a.Point,e=a.Series,h=a.seriesType,m=a.setAnimation;h("pie","line",{center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{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},borderColor:"#ffffff",borderWidth:1,states:{hover:{brightness:.1,shadow:!1}}},{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,d=c.startAngleRad;a||(p(b,function(a){var b=a.graphic,f=a.shapeArgs;b&&(b.attr({r:a.startR||c.center[3]/2,start:d,end:d}),b.animate({r:f.r,start:f.start,end:f.end},c.options.animation))}),c.animate=null)},updateTotals:function(){var a,f=0,b=this.points,d=b.length,e,g=this.options.ignoreHiddenPoint;for(a=0;a1.5*Math.PI?m-=2*Math.PI:m<-Math.PI/2&&(m+=2*Math.PI);F.slicedTranslation={translateX:Math.round(Math.cos(m)*d),translateY:Math.round(Math.sin(m)*d)};h=Math.cos(m)*a[2]/ 2;v=Math.sin(m)*a[2]/2;F.tooltipPos=[a[0]+.7*h,a[1]+.7*v];F.half=m<-Math.PI/2||m>Math.PI/2?1:0;F.angle=m;g=Math.min(e,F.labelDistance/5);F.labelPos=[a[0]+h+Math.cos(m)*F.labelDistance,a[1]+v+Math.sin(m)*F.labelDistance,a[0]+h+Math.cos(m)*g,a[1]+v+Math.sin(m)*g,a[0]+h,a[1]+v,0>F.labelDistance?"center":F.half?"right":"left",m]}},drawGraph:null,drawPoints:function(){var a=this,f=a.chart.renderer,b,d,e,h,l=a.options.shadow;l&&!a.shadowGroup&&(a.shadowGroup=f.g("shadow").add(a.group));p(a.points,function(c){d= c.graphic;if(c.isNull)d&&(c.graphic=d.destroy());else{h=c.shapeArgs;b=c.getTranslate();var m=c.shadowGroup;l&&!m&&(m=c.shadowGroup=f.g("shadow").add(a.shadowGroup));m&&m.attr(b);e=a.pointAttribs(c,c.selected&&"select");d?d.setRadialReference(a.center).attr(e).animate(g(h,b)):(c.graphic=d=f[c.shapeType](h).setRadialReference(a.center).attr(b).add(a.group),c.visible||d.attr({visibility:"hidden"}),d.attr(e).attr({"stroke-linejoin":"round"}).shadow(l,m));d.addClass(c.getClassName())}})},searchPoint:n, sortByAngle:function(a,f){a.sort(function(a,c){return void 0!==a.angle&&(c.angle-a.angle)*f})},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,getCenter:B.getCenter,getSymbol:n},{init:function(){v.prototype.init.apply(this,arguments);var a=this,f;a.name=w(a.name,"Slice");f=function(b){a.slice("select"===b.type)};D(a,"select",f);D(a,"unselect",f);return a},isValid:function(){return a.isNumber(this.y,!0)&&0<=this.y},setVisible:function(a,f){var b=this,c=b.series,e=c.chart,g=c.options.ignoreHiddenPoint; f=w(f,g);a!==b.visible&&(b.visible=b.options.visible=a=void 0===a?!b.visible:a,c.options.data[r(b,c.data)]=b.options,p(["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&&(c.isDirty=!0),f&&e.redraw())},slice:function(a,f,b){var c=this.series;m(b,c.chart);w(f,!0);this.sliced=this.options.sliced=G(a)?a:!this.sliced;c.options.data[r(this,c.data)]=this.options;this.graphic.animate(this.getTranslate()); this.shadowGroup&&this.shadowGroup.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,start:c.start,end:c.end})}})})(N);(function(a){var D=a.addEvent,B=a.arrayMax,G=a.defined,p=a.each,g=a.extend,l=a.format,r=a.map,n=a.merge,w=a.noop,v=a.pick,e=a.relativeLength,h=a.Series, m=a.seriesTypes,c=a.stableSort;a.distribute=function(a,b){function d(a,b){return a.target-b.target}var f,e=!0,g=a,h=[],l;l=0;for(f=a.length;f--;)l+=a[f].size;if(l>b){c(a,function(a,b){return(b.rank||0)-(a.rank||0)});for(l=f=0;l<=b;)l+=a[f].size,f++;h=a.splice(f-1,a.length)}c(a,d);for(a=r(a,function(a){return{size:a.size,targets:[a.target],align:v(a.align,.5)}});e;){for(f=a.length;f--;)e=a[f],l=(Math.min.apply(0,e.targets)+Math.max.apply(0,e.targets))/2,e.pos=Math.min(Math.max(0,l-e.size*e.align), b-e.size);f=a.length;for(e=!1;f--;)0a[f].pos&&(a[f-1].size+=a[f].size,a[f-1].targets=a[f-1].targets.concat(a[f].targets),a[f-1].align=.5,a[f-1].pos+a[f-1].size>b&&(a[f-1].pos=b-a[f-1].size),a.splice(f,1),e=!0)}f=0;p(a,function(a){var b=0;p(a.targets,function(){g[f].pos=a.pos+b;b+=g[f].size;f++})});g.push.apply(g,h);c(g,d)};h.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}var b=this,d=b.options,e=d.dataLabels,g=b.points,h,m,r=b.hasRendered||0,x,w,B=v(e.defer,!!d.animation),q=b.chart.renderer;if(e.enabled||b._hasPointLabels)b.dlProcessOptions&&b.dlProcessOptions(e),w=b.plotGroup("dataLabelsGroup","data-labels",B&&!r?"hidden":"visible",e.zIndex||6),B&&(w.attr({opacity:+r}),r||D(b,"afterAnimate",function(){b.visible&&w.show(!0);w[d.animation?"animate":"attr"]({opacity:1}, {duration:200})})),m=e,p(g,function(f){var g,t=f.dataLabel,k,p,r=f.connector,y=!t,C;h=f.dlOptions||f.options&&f.options.dataLabels;(g=v(h&&h.enabled,m.enabled)&&!f.isNull)&&(g=!0===c(f,h||e));g&&(e=n(m,h),k=f.getLabelConfig(),C=e[f.formatPrefix+"Format"]||e.format,x=G(C)?l(C,k):(e[f.formatPrefix+"Formatter"]||e.formatter).call(k,e),C=e.style,k=e.rotation,C.color=v(e.color,C.color,b.color,"#000000"),"contrast"===C.color&&(f.contrastColor=q.getContrast(f.color||b.color),C.color=e.inside||0>v(f.labelDistance, e.distance)||d.stacking?f.contrastColor:"#000000"),d.cursor&&(C.cursor=d.cursor),p={fill:e.backgroundColor,stroke:e.borderColor,"stroke-width":e.borderWidth,r:e.borderRadius||0,rotation:k,padding:e.padding,zIndex:1},a.objectEach(p,function(a,b){void 0===a&&delete p[b]}));!t||g&&G(x)?g&&G(x)&&(t?p.text=x:(t=f.dataLabel=q[k?"text":"label"](x,0,-9999,e.shape,null,null,e.useHTML,null,"data-label"),t.addClass("highcharts-data-label-color-"+f.colorIndex+" "+(e.className||"")+(e.useHTML?"highcharts-tracker": ""))),t.attr(p),t.css(C).shadow(e.shadow),t.added||t.add(w),b.alignDataLabel(f,t,e,null,y)):(f.dataLabel=t=t.destroy(),r&&(f.connector=r.destroy()))})};h.prototype.alignDataLabel=function(a,b,c,e,h){var d=this.chart,f=d.inverted,l=v(a.dlBox&&a.dlBox.centerX,a.plotX,-9999),m=v(a.plotY,-9999),n=b.getBBox(),p,q=c.rotation,r=c.align,w=this.visible&&(a.series.forceDL||d.isInsidePlot(l,Math.round(m),f)||e&&d.isInsidePlot(l,f?e.x+1:e.y+e.height-1,f)),y="justify"===v(c.overflow,"justify");if(w&&(p=c.style.fontSize, p=d.renderer.fontMetrics(p,b).b,e=g({x:f?this.yAxis.len-m:l,y:Math.round(f?this.xAxis.len-l:m),width:0,height:0},e),g(c,{width:n.width,height:n.height}),q?(y=!1,l=d.renderer.rotCorr(p,q),l={x:e.x+c.x+e.width/2+l.x,y:e.y+c.y+{top:0,middle:.5,bottom:1}[c.verticalAlign]*e.height},b[h?"attr":"animate"](l).attr({align:r}),m=(q+720)%360,m=180m,"left"===r?l.y-=m?n.height:0:"center"===r?(l.x-=n.width/2,l.y-=n.height/2):"right"===r&&(l.x-=n.width,l.y-=m?0:n.height)):(b.align(c,null,e),l=b.alignAttr), y?a.isLabelJustified=this.justifyDataLabel(b,c,l,n,e,h):v(c.crop,!0)&&(w=d.isInsidePlot(l.x,l.y)&&d.isInsidePlot(l.x+n.width,l.y+n.height)),c.shape&&!q))b[h?"attr":"animate"]({anchorX:f?d.plotWidth-a.plotY:a.plotX,anchorY:f?d.plotHeight-a.plotX:a.plotY});w||(b.attr({y:-9999}),b.placed=!1)};h.prototype.justifyDataLabel=function(a,b,c,e,g,h){var d=this.chart,f=b.align,l=b.verticalAlign,m,n,q=a.box?0:a.padding||0;m=c.x+q;0>m&&("right"===f?b.align="left":b.x=-m,n=!0);m=c.x+e.width-q;m>d.plotWidth&&("left"=== f?b.align="right":b.x=d.plotWidth-m,n=!0);m=c.y+q;0>m&&("bottom"===l?b.verticalAlign="top":b.y=-m,n=!0);m=c.y+e.height-q;m>d.plotHeight&&("top"===l?b.verticalAlign="bottom":b.y=d.plotHeight-m,n=!0);n&&(a.placed=!h,a.align(b,null,g));return n};m.pie&&(m.pie.prototype.drawDataLabels=function(){var c=this,b=c.data,d,e=c.chart,g=c.options.dataLabels,l=v(g.connectorPadding,10),m=v(g.connectorWidth,1),n=e.plotWidth,r=e.plotHeight,w,D=c.center,q=D[2]/2,A=D[1],E,F,k,u,N=[[],[]],M,P,I,Q,z=[0,0,0,0];c.visible&& (g.enabled||c._hasPointLabels)&&(p(b,function(a){a.dataLabel&&a.visible&&a.dataLabel.shortened&&(a.dataLabel.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),a.dataLabel.shortened=!1)}),h.prototype.drawDataLabels.apply(c),p(b,function(a){a.dataLabel&&a.visible&&(N[a.half].push(a),a.dataLabel._pos=null)}),p(N,function(b,f){var h,m,t=b.length,x=[],w;if(t)for(c.sortByAngle(b,f-.5),0d.bottom-2?h:P,f,d),E._attr={visibility:I,align:k[6]},E._pos={x:M+g.x+({left:l,right:-l}[k[6]]||0),y:P+g.y-10},k.x=M,k.y=P,v(g.crop,!0)&&(F=E.getBBox().width,h=null,M-Fn-l&&(h=Math.round(M+F-n+l),z[1]=Math.max(h,z[1])),0>P-u/2?z[0]=Math.max(Math.round(-P+u/2),z[0]):P+u/2>r&&(z[2]=Math.max(Math.round(P+u/2-r),z[2])),E.sideOverflow=h)}),0===B(z)||this.verifyDataLabelOverflow(z))&&(this.placeDataLabels(), m&&p(this.points,function(a){var b;w=a.connector;if((E=a.dataLabel)&&E._pos&&a.visible&&0v(this.translatedThreshold,f.yAxis.len)),p=v(c.inside,!!this.options.stacking);l&&(e=n(l),0>e.y&&(e.height+=e.y,e.y=0),l=e.y+e.height-f.yAxis.len,0a+c||e+hb+f||g+lthis.pointCount))},pan:function(a,b){var c=this,d=c.hoverPoints,f;d&&r(d,function(a){a.setState()});r("xy"===b?[1,0]:[1],function(b){b=c[b?"xAxis":"yAxis"][0];var d=b.horiz,e=a[d?"chartX": "chartY"],d=d?"mouseDownX":"mouseDownY",g=c[d],k=(b.pointRange||0)/2,h=b.getExtremes(),l=b.toValue(g-e,!0)+k,k=b.toValue(g+b.len-e,!0)-k,m=k=l(n.minWidth,0)&&this.chartHeight>=l(n.minHeight,0)}).call(this)&&g.push(a._id)};D.prototype.currentOptions=function(l){function n(e,h,l,c){var f;a.objectEach(e,function(a,d){if(!c&&-1