/* Highmaps JS v5.0.14 (2017-07-28) (c) 2011-2016 Torstein Honsi License: www.highcharts.com/license */ (function(I,S){"object"===typeof module&&module.exports?module.exports=I.document?S(I):S:I.Highcharts=S(I)})("undefined"!==typeof window?window:this,function(I){I=function(){var a=window,z=a.document,B=a.navigator&&a.navigator.userAgent||"",C=z&&z.createElementNS&&!!z.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,A=/(edge|msie|trident)/i.test(B)&&!window.opera,e=!C,d=/Firefox/.test(B),q=d&&4>parseInt(B.split("Firefox/")[1],10);return a.Highcharts?a.Highcharts.error(16,!0):{product:"Highmaps", version:"5.0.14",deg2rad:2*Math.PI/360,doc:z,hasBidiBug:q,hasTouch:z&&void 0!==z.documentElement.ontouchstart,isMS:A,isWebKit:/AppleWebKit/.test(B),isFirefox:d,isTouchDevice:/(Mobile|Android|Windows Phone)/.test(B),SVG_NS:"http://www.w3.org/2000/svg",chartCount:0,seriesTypes:{},symbolSizes:{},svg:C,vml:e,win:a,marginNames:["plotTop","marginRight","marginBottom","plotLeft"],noop:function(){},charts:[]}}();(function(a){var z=[],B=a.charts,C=a.doc,A=a.win;a.error=function(e,d){e=a.isNumber(e)?"Highcharts error #"+ e+": www.highcharts.com/errors/"+e:e;if(d)throw Error(e);A.console&&console.log(e)};a.Fx=function(a,d,q){this.options=d;this.elem=a;this.prop=q};a.Fx.prototype={dSetter:function(){var a=this.paths[0],d=this.paths[1],q=[],t=this.now,u=a.length,n;if(1===t)q=this.toD;else if(u===d.length&&1>t)for(;u--;)n=parseFloat(a[u]),q[u]=isNaN(n)?a[u]:t*parseFloat(d[u]-n)+n;else q=d;this.elem.attr("d",q,null,!0)},update:function(){var a=this.elem,d=this.prop,q=this.now,t=this.options.step;if(this[d+"Setter"])this[d+ "Setter"]();else a.attr?a.element&&a.attr(d,q,null,!0):a.style[d]=q+this.unit;t&&t.call(a,q,this)},run:function(a,d,q){var e=this,u=function(a){return u.stopped?!1:e.step(a)},n;this.startTime=+new Date;this.start=a;this.end=d;this.unit=q;this.now=this.start;this.pos=0;u.elem=this.elem;u.prop=this.prop;u()&&1===z.push(u)&&(u.timerId=setInterval(function(){for(n=0;n=h+this.startTime?(this.now=this.end,this.pos=1,this.update(),q=r[this.prop]=!0,a.objectEach(r,function(a){!0!==a&&(q=!1)}),q&&n&&n.call(u),e=!1):(this.pos=t.easing((d-this.startTime)/h),this.now=this.start+(this.end-this.start)*this.pos,this.update(),e=!0);return e},initPath:function(e,d,q){function t(a){var f,b;for(l=a.length;l--;)f="M"===a[l]||"L"===a[l],b=/[a-zA-Z]/.test(a[l+3]),f&&b&&a.splice(l+1,0,a[l+1],a[l+2],a[l+1],a[l+2])} function u(a,f){for(;a.lengthn?"AM":"PM",P:12>n?"am":"pm",S:l(u.getSeconds()),L:l(Math.round(d%1E3),3)},a.dateFormats);a.objectEach(t,function(a,b){for(;-1!==e.indexOf("%"+b);)e=e.replace("%"+b,"function"===typeof a?a(d):a)});return q?e.substr(0, 1).toUpperCase()+e.substr(1):e};a.formatSingle=function(e,d){var q=/\.([0-9])/,t=a.defaultOptions.lang;/f$/.test(e)?(q=(q=e.match(q))?q[1]:-1,null!==d&&(d=a.numberFormat(d,q,t.decimalPoint,-1=q&&(d=[1/q])));for(t=0;t=e||!u&&n<=(d[t]+(d[t+1]||d[t]))/2);t++);return h=a.correctFloat(h*q,-Math.round(Math.log(.001)/Math.LN10))};a.stableSort= function(a,d){var e=a.length,t,u;for(u=0;ue&&(e=a[d]);return e};a.destroyObjectProperties=function(e,d){a.objectEach(e,function(a,t){a&&a!==d&&a.destroy&&a.destroy();delete e[t]})};a.discardElement=function(e){var d=a.garbageBin;d||(d=a.createElement("div")); e&&d.appendChild(e);d.innerHTML=""};a.correctFloat=function(a,d){return parseFloat(a.toPrecision(d||14))};a.setAnimation=function(e,d){d.renderer.globalAnimation=a.pick(e,d.options.chart.animation,!0)};a.animObject=function(e){return a.isObject(e)?a.merge(e):{duration:e?500:0}};a.timeUnits={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5,month:24192E5,year:314496E5};a.numberFormat=function(e,d,q,t){e=+e||0;d=+d;var u=a.defaultOptions.lang,n=(e.toString().split(".")[1]||"").split("e")[0].length, h,r,m=e.toString().split("e");-1===d?d=Math.min(n,20):a.isNumber(d)||(d=2);r=(Math.abs(m[1]?m[0]:e)+Math.pow(10,-Math.max(d,n)-1)).toFixed(d);n=String(a.pInt(r));h=3e?"-":"")+(h?n.substr(0,h)+t:"");e+=n.substr(h).replace(/(\d{3})(?=\d)/g,"$1"+t);d&&(e+=q+r.slice(-d));m[1]&&(e+="e"+m[1]);return e};Math.easeInOutSine=function(a){return-.5*(Math.cos(Math.PI*a)-1)};a.getStyle=function(e,d,q){if("width"===d)return Math.min(e.offsetWidth, e.scrollWidth)-a.getStyle(e,"padding-left")-a.getStyle(e,"padding-right");if("height"===d)return Math.min(e.offsetHeight,e.scrollHeight)-a.getStyle(e,"padding-top")-a.getStyle(e,"padding-bottom");if(e=A.getComputedStyle(e,void 0))e=e.getPropertyValue(d),a.pick(q,!0)&&(e=a.pInt(e));return e};a.inArray=function(a,d){return d.indexOf?d.indexOf(a):[].indexOf.call(d,a)};a.grep=function(a,d){return[].filter.call(a,d)};a.find=function(a,d){return[].find.call(a,d)};a.map=function(a,d){for(var e=[],t=0,u= a.length;t>16,(d&65280)>> 8,d&255,1]:4===e&&(t=[(d&3840)>>4|(d&3840)>>8,(d&240)>>4|d&240,(d&15)<<4|d&15,1])),!t)for(u=this.parsers.length;u--&&!t;)n=this.parsers[u],(e=n.regex.exec(d))&&(t=n.parse(e));this.rgba=t||[]},get:function(a){var d=this.input,e=this.rgba,u;this.stops?(u=A(d),u.stops=[].concat(u.stops),z(this.stops,function(d,h){u.stops[h]=[u.stops[h][0],d.get(a)]})):u=e&&B(e[0])?"rgb"===a||!a&&1===e[3]?"rgb("+e[0]+","+e[1]+","+e[2]+")":"a"===a?e[3]:"rgba("+e.join(",")+")":d;return u},brighten:function(a){var d,t=this.rgba; if(this.stops)z(this.stops,function(d){d.brighten(a)});else if(B(a)&&0!==a)for(d=0;3>d;d++)t[d]+=e(255*a),0>t[d]&&(t[d]=0),255x.width)x={width:0,height:0}}else x= this.htmlGetBBox();f.isSVG&&(a=x.width,f=x.height,l&&"11px"===l.fontSize&&17===Math.round(f)&&(x.height=f=14),k&&(x.width=Math.abs(f*Math.sin(w))+Math.abs(a*Math.cos(w)),x.height=Math.abs(f*Math.cos(w))+Math.abs(a*Math.sin(w))));if(H&&0]*>/g,"")))},textSetter:function(a){a!==this.textStr&&(delete this.bBox,this.textStr=a,this.added&&this.renderer.buildText(this))},fillSetter:function(a,k,f){"string"===typeof a?f.setAttribute(k,a):a&&this.colorGradient(a,k,f)},visibilitySetter:function(a,k,f){"inherit"===a?f.removeAttribute(k):this[k]!==a&&f.setAttribute(k,a);this[k]=a},zIndexSetter:function(a,f){var x=this.renderer,w=this.parentGroup,b=(w||x).element||x.box,g,c=this.element,l;g=this.added;var v;n(a)&&(c.zIndex= a,a=+a,this[f]===a&&(g=!1),this[f]=a);if(g){(a=this.zIndex)&&w&&(w.handleZ=!0);f=b.childNodes;for(v=0;va||!n(a)&&n(g)||0>a&&!n(g)&&b!==x.box)&&(b.insertBefore(c,w),l=!0);l||b.appendChild(c)}return l},_defaultSetter:function(a,k,f){f.setAttribute(k,a)}});z.prototype.yGetter=z.prototype.xGetter;z.prototype.translateXSetter=z.prototype.translateYSetter=z.prototype.rotationSetter=z.prototype.verticalAlignSetter=z.prototype.scaleXSetter=z.prototype.scaleYSetter= function(a,k){this[k]=a;this.doTransform=!0};z.prototype["stroke-widthSetter"]=z.prototype.strokeSetter=function(a,k,f){this[k]=a;this.stroke&&this["stroke-width"]?(z.prototype.fillSetter.call(this,this.stroke,"stroke",f),f.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0):"stroke-width"===k&&0===a&&this.hasStroke&&(f.removeAttribute("stroke"),this.hasStroke=!1)};B=a.SVGRenderer=function(){this.init.apply(this,arguments)};g(B.prototype,{Element:z,SVG_NS:R,init:function(a,k,w,b, g,c){var x;b=this.createElement("svg").attr({version:"1.1","class":"highcharts-root"}).css(this.getStyle(b));x=b.element;a.appendChild(x);-1===a.innerHTML.indexOf("xmlns")&&e(x,"xmlns",this.SVG_NS);this.isSVG=!0;this.box=x;this.boxWrapper=b;this.alignedObjects=[];this.url=(f||M)&&m.getElementsByTagName("base").length?P.location.href.replace(/#.*?$/,"").replace(/<[^>]*>/g,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(m.createTextNode("Created with Highmaps 5.0.14")); this.defs=this.createElement("defs").add();this.allowHTML=c;this.forExport=g;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(k,w,!1);var l;f&&a.getBoundingClientRect&&(k=function(){t(a,{left:0,top:0});l=a.getBoundingClientRect();t(a,{left:Math.ceil(l.left)-l.left+"px",top:Math.ceil(l.top)-l.top+"px"})},k(),this.unSubPixelFix=C(P,"resize",k))},getStyle:function(a){return this.style=g({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();r(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:L,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 f=a.getBBox(!0).width;!K&&this.forExport&&(f=this.measureSpanWidth(k.firstChild.data,a.styles));return f},applyEllipsis:function(a,k,f,w){var x=a.rotation,b=f,g,c=0,l=f.length,v=function(a){k.removeChild(k.firstChild);a&&k.appendChild(m.createTextNode(a))},h;a.rotation=0;b=this.getSpanWidth(a,k);if(h=b>w){for(;c<=l;)g=Math.ceil((c+l)/2),b=f.substring(0,g)+"\u2026",v(b),b=this.getSpanWidth(a,k),c===l?c=l+1:b>w?l=g-1:c=g;0===l&&v("")}a.rotation= x;return h},buildText:function(a){var f=a.element,w=this,b=w.forExport,x=J(a.textStr,"").toString(),g=-1!==x.indexOf("\x3c"),l=f.childNodes,v,h,D,H,d=e(f,"x"),y=a.styles,n=a.textWidth,F=y&&y.lineHeight,r=y&&y.textOutline,L=y&&"ellipsis"===y.textOverflow,E=y&&"nowrap"===y.whiteSpace,N=y&&y.fontSize,u,G,q=l.length,y=n&&!a.added&&this.box,M=function(a){var x;x=/(px|em)$/.test(a&&a.style.fontSize)?a.style.fontSize:N||w.style.fontSize||12;return F?k(F):w.fontMetrics(x,a.getAttribute("style")?a:f).h};u= [x,L,E,F,r,N,n].join();if(u!==a.textCache){for(a.textCache=u;q--;)f.removeChild(l[q]);g||r||L||n||-1!==x.indexOf(" ")?(v=/<.*class="([^"]+)".*>/,h=/<.*style="([^"]+)".*>/,D=/<.*href="([^"]+)".*>/,y&&y.appendChild(f),x=g?x.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):[x],x=p(x,function(a){return""!==a}),c(x,function(k, x){var g,l=0;k=k.replace(/^\s+|\s+$/g,"").replace(//g,"\x3c/span\x3e|||");g=k.split("|||");c(g,function(k){if(""!==k||1===g.length){var c={},p=m.createElementNS(w.SVG_NS,"tspan"),y,F;v.test(k)&&(y=k.match(v)[1],e(p,"class",y));h.test(k)&&(F=k.match(h)[1].replace(/(;| |^)color([ :])/,"$1fill$2"),e(p,"style",F));D.test(k)&&!b&&(e(p,"onclick",'location.href\x3d"'+k.match(D)[1]+'"'),t(p,{cursor:"pointer"}));k=(k.replace(/<(.|\n)*?>/g,"")||" ").replace(/</g,"\x3c").replace(/>/g, "\x3e");if(" "!==k){p.appendChild(m.createTextNode(k));l?c.dx=0:x&&null!==d&&(c.x=d);e(p,c);f.appendChild(p);!l&&G&&(!K&&b&&t(p,{display:"block"}),e(p,"dy",M(p)));if(n){c=k.replace(/([^\^])-/g,"$1- ").split(" ");y=1n,void 0===H&&(H=k),k&&1!==c.length?(p.removeChild(p.firstChild),r.unshift(c.pop())):(c=r,r=[],c.length&&!E&&(p=m.createElementNS(R, "tspan"),e(p,{dy:Q,x:d}),F&&e(p,"style",F),f.appendChild(p)),N>n&&(n=N)),c.length&&p.appendChild(m.createTextNode(c.join(" ").replace(/- /g,"-")));a.rotation=u}l++}}});G=G||f.childNodes.length}),H&&a.attr("title",a.textStr),y&&y.removeChild(f),r&&a.applyTextOutline&&a.applyTextOutline(r)):f.appendChild(m.createTextNode(x.replace(/</g,"\x3c").replace(/>/g,"\x3e")))}},getContrast:function(a){a=q(a).rgba;return 510Math.abs(b.end-b.start-2*Math.PI));var x=Math.cos(c),p=Math.sin(c),h=Math.cos(v),v=Math.sin(v);b=.001>b.end-c-Math.PI?0:1;g=["M",a+g*x,k+l*p,"A",g,l,0,b,1,a+g*h,k+l*v];n(f)&&g.push(w?"M":"L",a+f*h,k+f*v,"A",f,f,0,b,0,a+f*x,k+f*p);g.push(w?"":"Z");return g},callout:function(a,k,f,w,b){var c=Math.min(b&&b.r||0,f,w),g=c+6,l=b&&b.anchorX;b=b&&b.anchorY;var v;v=["M",a+c,k,"L",a+f-c,k,"C",a+f,k,a+f,k,a+f,k+c,"L",a+f,k+w-c,"C",a+f,k+w,a+f,k+w,a+f-c,k+w,"L",a+c,k+w,"C",a,k+w,a,k+w,a,k+w-c,"L",a,k+c, "C",a,k,a,k,a+c,k];l&&l>f?b>k+g&&bl?b>k+g&&bw&&l>a+g&&lb&&l>a+g&&la?a+3:Math.round(1.2*a);return{h:f,b:Math.round(.8*f),f:a}},rotCorr:function(a,k,f){var w=a;k&&f&&(w=Math.max(w*Math.cos(k*h),4));return{x:-a/3*Math.sin(k*h),y:w}},label:function(k,f,b,l,p,h,D,H,K){var x=this,d=x.g("button"!==K&&"label"),m=d.text=x.text("",0,0,D).attr({zIndex:1}),y,e,F=0,r=3, L=0,E,N,t,u,G,J={},R,q,M=/^url\((.*?)\)$/.test(l),Q=M,U,T,O,P;K&&d.addClass("highcharts-"+K);Q=M;U=function(){return(R||0)%2/2};T=function(){var a=m.element.style,k={};e=(void 0===E||void 0===N||G)&&n(m.textStr)&&m.getBBox();d.width=(E||e.width||0)+2*r+L;d.height=(N||e.height||0)+2*r;q=r+x.fontMetrics(a&&a.fontSize,m).b;Q&&(y||(d.box=y=x.symbols[l]||M?x.symbol(l):x.rect(),y.addClass(("button"===K?"":"highcharts-label-box")+(K?" highcharts-"+K+"-box":"")),y.add(d),a=U(),k.x=a,k.y=(H?-q:0)+a),k.width= Math.round(d.width),k.height=Math.round(d.height),y.attr(g(k,J)),J={})};O=function(){var a=L+r,k;k=H?0:q;n(E)&&e&&("center"===G||"right"===G)&&(a+={center:.5,right:1}[G]*(E-e.width));if(a!==m.x||k!==m.y)m.attr("x",a),void 0!==k&&m.attr("y",k);m.x=a;m.y=k};P=function(a,k){y?y.attr(a,k):J[a]=k};d.onAdd=function(){m.add(d);d.attr({text:k||0===k?k:"",x:f,y:b});y&&n(p)&&d.attr({anchorX:p,anchorY:h})};d.widthSetter=function(k){E=a.isNumber(k)?k:null};d.heightSetter=function(a){N=a};d["text-alignSetter"]= function(a){G=a};d.paddingSetter=function(a){n(a)&&a!==r&&(r=d.padding=a,O())};d.paddingLeftSetter=function(a){n(a)&&a!==L&&(L=a,O())};d.alignSetter=function(a){a={left:0,center:.5,right:1}[a];a!==F&&(F=a,e&&d.attr({x:t}))};d.textSetter=function(a){void 0!==a&&m.textSetter(a);T();O()};d["stroke-widthSetter"]=function(a,k){a&&(Q=!0);R=this["stroke-width"]=a;P(k,a)};d.strokeSetter=d.fillSetter=d.rSetter=function(a,k){"r"!==k&&("fill"===k&&a&&(Q=!0),d[k]=a);P(k,a)};d.anchorXSetter=function(a,k){p=d.anchorX= a;P(k,Math.round(a)-U()-t)};d.anchorYSetter=function(a,k){h=d.anchorY=a;P(k,a-u)};d.xSetter=function(a){d.x=a;F&&(a-=F*((E||e.width)+2*r));t=Math.round(a);d.attr("translateX",t)};d.ySetter=function(a){u=d.y=Math.round(a);d.attr("translateY",u)};var A=d.css;return g(d,{css:function(a){if(a){var k={};a=v(a);c(d.textProps,function(f){void 0!==a[f]&&(k[f]=a[f],delete a[f])});m.css(k)}return A.call(d,a)},getBBox:function(){return{width:e.width+2*r,height:e.height+2*r,x:e.x-r,y:e.y-r}},shadow:function(a){a&& (T(),y&&y.shadow(a));return d},destroy:function(){w(d.element,"mouseenter");w(d.element,"mouseleave");m&&(m=m.destroy());y&&(y=y.destroy());z.prototype.destroy.call(d);d=x=T=O=P=null}})}});a.Renderer=B})(I);(function(a){var z=a.attr,B=a.createElement,C=a.css,A=a.defined,e=a.each,d=a.extend,q=a.isFirefox,t=a.isMS,u=a.isWebKit,n=a.pInt,h=a.SVGRenderer,r=a.win,m=a.wrap;d(a.SVGElement.prototype,{htmlCss:function(a){var c=this.element;if(c=a&&"SPAN"===c.tagName&&a.width)delete a.width,this.textWidth=c, this.updateTransform();a&&"ellipsis"===a.textOverflow&&(a.whiteSpace="nowrap",a.overflow="hidden");this.styles=d(this.styles,a);C(this.element,a);return this},htmlGetBBox:function(){var a=this.element;"text"===a.nodeName&&(a.style.position="absolute");return{x:a.offsetLeft,y:a.offsetTop,width:a.offsetWidth,height:a.offsetHeight}},htmlUpdateTransform:function(){if(this.added){var a=this.renderer,g=this.element,b=this.translateX||0,p=this.translateY||0,l=this.x||0,h=this.y||0,d=this.textAlign||"left", f={left:0,center:.5,right:1}[d],H=this.styles;C(g,{marginLeft:b,marginTop:p});this.shadows&&e(this.shadows,function(a){C(a,{marginLeft:b+1,marginTop:p+1})});this.inverted&&e(g.childNodes,function(f){a.invertChild(f,g)});if("SPAN"===g.tagName){var D=this.rotation,m=n(this.textWidth),r=H&&H.whiteSpace,v=[D,d,g.innerHTML,this.textWidth,this.textAlign].join();v!==this.cTT&&(H=a.fontMetrics(g.style.fontSize).b,A(D)&&this.setSpanRotation(D,f,H),C(g,{width:"",whiteSpace:r||"nowrap"}),g.offsetWidth>m&&/[ \-]/.test(g.textContent|| g.innerText)&&C(g,{width:m+"px",display:"block",whiteSpace:r||"normal"}),this.getSpanCorrection(g.offsetWidth,H,f,D,d));C(g,{left:l+(this.xCorr||0)+"px",top:h+(this.yCorr||0)+"px"});u&&(H=g.offsetHeight);this.cTT=v}}else this.alignOnAdd=!0},setSpanRotation:function(a,g,b){var c={},l=t?"-ms-transform":u?"-webkit-transform":q?"MozTransform":r.opera?"-o-transform":"";c[l]=c.transform="rotate("+a+"deg)";c[l+(q?"Origin":"-origin")]=c.transformOrigin=100*g+"% "+b+"px";C(this.element,c)},getSpanCorrection:function(a, g,b){this.xCorr=-a*b;this.yCorr=-g}});d(h.prototype,{html:function(a,g,b){var c=this.createElement("span"),l=c.element,h=c.renderer,r=h.isSVG,f=function(a,f){e(["opacity","visibility"],function(b){m(a,b+"Setter",function(a,b,c,g){a.call(this,b,c,g);f[c]=b})})};c.textSetter=function(a){a!==l.innerHTML&&delete this.bBox;l.innerHTML=this.textStr=a;c.htmlUpdateTransform()};r&&f(c,c.element.style);c.xSetter=c.ySetter=c.alignSetter=c.rotationSetter=function(a,f){"align"===f&&(f="textAlign");c[f]=a;c.htmlUpdateTransform()}; c.attr({text:a,x:Math.round(g),y:Math.round(b)}).css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize,position:"absolute"});l.style.whiteSpace="nowrap";c.css=c.htmlCss;r&&(c.add=function(a){var b,g=h.box.parentNode,p=[];if(this.parentGroup=a){if(b=a.div,!b){for(;a;)p.push(a),a=a.parentGroup;e(p.reverse(),function(a){var l,v=z(a.element,"class");v&&(v={className:v});b=a.div=a.div||B("div",v,{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||g);l=b.style;d(a,{classSetter:function(a){this.element.setAttribute("class",a);b.className=a},on:function(){p[0].div&&c.on.apply({element:p[0].div},arguments);return a},translateXSetter:function(f,k){l.left=f+"px";a[k]=f;a.doTransform=!0},translateYSetter:function(f,k){l.top=f+"px";a[k]=f;a.doTransform=!0}});f(a,l)})}}else b=g;b.appendChild(l);c.added=!0;c.alignOnAdd&&c.htmlUpdateTransform();return c});return c}})})(I);(function(a){var z, B,C=a.createElement,A=a.css,e=a.defined,d=a.deg2rad,q=a.discardElement,t=a.doc,u=a.each,n=a.erase,h=a.extend;z=a.extendClass;var r=a.isArray,m=a.isNumber,c=a.isObject,g=a.merge;B=a.noop;var b=a.pick,p=a.pInt,l=a.SVGElement,E=a.SVGRenderer,G=a.win;a.svg||(B={docMode8:t&&8===t.documentMode,init:function(a,b){var f=["\x3c",b,' filled\x3d"f" stroked\x3d"f"'],c=["position: ","absolute",";"],g="div"===b;("shape"===b||g)&&c.push("left:0;top:0;width:1px;height:1px;");c.push("visibility: ",g?"hidden":"visible"); f.push(' style\x3d"',c.join(""),'"/\x3e');b&&(f=g||"span"===b||"img"===b?f.join(""):a.prepVML(f),this.element=C(f));this.renderer=a},add:function(a){var f=this.renderer,b=this.element,c=f.box,g=a&&a.inverted,c=a?a.element||a:c;a&&(this.parentGroup=a);g&&f.invertChild(b,c);c.appendChild(b);this.added=!0;this.alignOnAdd&&!this.deferUpdateTransform&&this.updateTransform();if(this.onAdd)this.onAdd();this.className&&this.attr("class",this.className);return this},updateTransform:l.prototype.htmlUpdateTransform, setSpanRotation:function(){var a=this.rotation,b=Math.cos(a*d),c=Math.sin(a*d);A(this.element,{filter:a?["progid:DXImageTransform.Microsoft.Matrix(M11\x3d",b,", M12\x3d",-c,", M21\x3d",c,", M22\x3d",b,", sizingMethod\x3d'auto expand')"].join(""):"none"})},getSpanCorrection:function(a,c,g,l,h){var f=l?Math.cos(l*d):1,p=l?Math.sin(l*d):0,D=b(this.elemHeight,this.element.offsetHeight),m;this.xCorr=0>f&&-a;this.yCorr=0>p&&-D;m=0>f*p;this.xCorr+=p*c*(m?1-g:g);this.yCorr-=f*c*(l?m?g:1-g:1);h&&"left"!== h&&(this.xCorr-=a*g*(0>f?-1:1),l&&(this.yCorr-=D*g*(0>p?-1:1)),A(this.element,{textAlign:h}))},pathToVML:function(a){for(var f=a.length,b=[];f--;)m(a[f])?b[f]=Math.round(10*a[f])-5:"Z"===a[f]?b[f]="x":(b[f]=a[f],!a.isArc||"wa"!==a[f]&&"at"!==a[f]||(b[f+5]===b[f+7]&&(b[f+7]+=a[f+7]>a[f+5]?1:-1),b[f+6]===b[f+8]&&(b[f+8]+=a[f+8]>a[f+6]?1:-1)));return b.join(" ")||"x"},clip:function(a){var f=this,b;a?(b=a.members,n(b,f),b.push(f),f.destroyClip=function(){n(b,f)},a=a.getCSS(f)):(f.destroyClip&&f.destroyClip(), a={clip:f.docMode8?"inherit":"rect(auto)"});return f.css(a)},css:l.prototype.htmlCss,safeRemoveChild:function(a){a.parentNode&&q(a)},destroy:function(){this.destroyClip&&this.destroyClip();return l.prototype.destroy.apply(this)},on:function(a,b){this.element["on"+a]=function(){var a=G.event;a.target=a.srcElement;b(a)};return this},cutOffPath:function(a,b){var f;a=a.split(/[ ,]/);f=a.length;if(9===f||11===f)a[f-4]=a[f-2]=p(a[f-2])-10*b;return a.join(" ")},shadow:function(a,c,g){var f=[],l,v=this.element, h=this.renderer,d,m=v.style,k,w=v.path,D,K,e,r;w&&"string"!==typeof w.value&&(w="x");K=w;if(a){e=b(a.width,3);r=(a.opacity||.15)/e;for(l=1;3>=l;l++)D=2*e+1-2*l,g&&(K=this.cutOffPath(w.value,D+.5)),k=['\x3cshape isShadow\x3d"true" strokeweight\x3d"',D,'" filled\x3d"false" path\x3d"',K,'" coordsize\x3d"10 10" style\x3d"',v.style.cssText,'" /\x3e'],d=C(h.prepVML(k),null,{left:p(m.left)+b(a.offsetX,1),top:p(m.top)+b(a.offsetY,1)}),g&&(d.cutOff=D+1),k=['\x3cstroke color\x3d"',a.color||"#000000",'" opacity\x3d"', r*l,'"/\x3e'],C(h.prepVML(k),null,null,d),c?c.element.appendChild(d):v.parentNode.insertBefore(d,v),f.push(d);this.shadows=f}return this},updateShadows:B,setAttr:function(a,b){this.docMode8?this.element[a]=b:this.element.setAttribute(a,b)},classSetter:function(a){(this.added?this.element:this).className=a},dashstyleSetter:function(a,b,c){(c.getElementsByTagName("stroke")[0]||C(this.renderer.prepVML(["\x3cstroke/\x3e"]),null,null,c))[b]=a||"solid";this[b]=a},dSetter:function(a,b,c){var f=this.shadows; a=a||[];this.d=a.join&&a.join(" ");c.path=a=this.pathToVML(a);if(f)for(c=f.length;c--;)f[c].path=f[c].cutOff?this.cutOffPath(a,f[c].cutOff):a;this.setAttr(b,a)},fillSetter:function(a,b,c){var f=c.nodeName;"SPAN"===f?c.style.color=a:"IMG"!==f&&(c.filled="none"!==a,this.setAttr("fillcolor",this.renderer.color(a,c,b,this)))},"fill-opacitySetter":function(a,b,c){C(this.renderer.prepVML(["\x3c",b.split("-")[0],' opacity\x3d"',a,'"/\x3e']),null,null,c)},opacitySetter:B,rotationSetter:function(a,b,c){c= c.style;this[b]=c[b]=a;c.left=-Math.round(Math.sin(a*d)+1)+"px";c.top=Math.round(Math.cos(a*d))+"px"},strokeSetter:function(a,b,c){this.setAttr("strokecolor",this.renderer.color(a,c,b,this))},"stroke-widthSetter":function(a,b,c){c.stroked=!!a;this[b]=a;m(a)&&(a+="px");this.setAttr("strokeweight",a)},titleSetter:function(a,b){this.setAttr(b,a)},visibilitySetter:function(a,b,c){"inherit"===a&&(a="visible");this.shadows&&u(this.shadows,function(f){f.style[b]=a});"DIV"===c.nodeName&&(a="hidden"===a?"-999em": 0,this.docMode8||(c.style[b]=a?"visible":"hidden"),b="top");c.style[b]=a},xSetter:function(a,b,c){this[b]=a;"x"===b?b="left":"y"===b&&(b="top");this.updateClipping?(this[b]=a,this.updateClipping()):c.style[b]=a},zIndexSetter:function(a,b,c){c.style[b]=a}},B["stroke-opacitySetter"]=B["fill-opacitySetter"],a.VMLElement=B=z(l,B),B.prototype.ySetter=B.prototype.widthSetter=B.prototype.heightSetter=B.prototype.xSetter,B={Element:B,isIE8:-1E[0]&&b.push([1,E[1]]);u(b,function(k,b){h.test(k[1])?(v=a.color(k[1]),w=v.get("rgb"),m=v.get("a")):(w=k[1],m=1);t.push(100*k[0]+"% "+w);b?(r=m,x=w):(D=m,n=w)});if("fill"===g)if("gradient"===d)g=K.x1||K[0]||0,b=K.y1||K[1]||0,e=K.x2||K[2]||0,K=K.y2||K[3]||0,y='angle\x3d"'+(90-180*Math.atan((K-b)/(e-g))/Math.PI)+'"',H();else{var k=K.r,G=2*k,q=2*k,A=K.cx,z=K.cy,B=c.radialReference,I,k=function(){B&&(I=l.getBBox(),A+=(B[0]- I.x)/I.width-.5,z+=(B[1]-I.y)/I.height-.5,G*=B[2]/I.width,q*=B[2]/I.height);y='src\x3d"'+a.getOptions().global.VMLRadialGradientURL+'" size\x3d"'+G+","+q+'" origin\x3d"0.5,0.5" position\x3d"'+A+","+z+'" color2\x3d"'+n+'" ';H()};l.added?k():l.onAdd=k;k=x}else k=w}else h.test(b)&&"IMG"!==c.tagName?(v=a.color(b),l[g+"-opacitySetter"](v.get("a"),g,c),k=v.get("rgb")):(k=c.getElementsByTagName(g),k.length&&(k[0].opacity=1,k[0].type="solid"),k=b);return k},prepVML:function(a){var b=this.isIE8;a=a.join(""); b?(a=a.replace("/\x3e",' xmlns\x3d"urn:schemas-microsoft-com:vml" /\x3e'),a=-1===a.indexOf('style\x3d"')?a.replace("/\x3e",' style\x3d"display:inline-block;behavior:url(/content/file/);" /\x3e'):a.replace('style\x3d"','style\x3d"display:inline-block;behavior:url(/content/file/);')):a=a.replace("\x3c","\x3chcv:");return a},text:E.prototype.html,path:function(a){var b={coordsize:"10 10"};r(a)?b.d=a:c(a)&&h(b,a);return this.createElement("shape").attr(b)},circle:function(a,b,g){var f=this.symbol("circle"); c(a)&&(g=a.r,b=a.y,a=a.x);f.isCircle=!0;f.r=g;return f.attr({x:a,y:b})},g:function(a){var b;a&&(b={className:"highcharts-"+a,"class":"highcharts-"+a});return this.createElement("div").attr(b)},image:function(a,b,c,g,l){var f=this.createElement("img").attr({src:a});1g&&n-b*pr&&(f=Math.round((h-n)/Math.cos(g*q)));else if(h=n+(1-b)*p,n-b*pr&&(E=r-a.x+E*b,t=-1),E=Math.min(l,E),EE||e.autoRotation&&(c.styles||{}).width)f= E;f&&(H.width=f,(e.options.labels.style||{}).textOverflow||(H.textOverflow="ellipsis"),c.css(H))},getPosition:function(a,d,e,h){var r=this.axis,m=r.chart,c=h&&m.oldChartHeight||m.chartHeight;return{x:a?r.translate(d+e,null,null,h)+r.transB:r.left+r.offset+(r.opposite?(h&&m.oldChartWidth||m.chartWidth)-r.right-r.left:0),y:a?c-r.bottom+r.offset-(r.opposite?r.height:0):c-r.translate(d+e,null,null,h)-r.transB}},getLabelPosition:function(a,d,e,h,r,m,c,g){var b=this.axis,p=b.transA,l=b.reversed,n=b.staggerLines, t=b.tickRotCorr||{x:0,y:0},f=r.y;B(f)||(f=0===b.side?e.rotation?-8:-e.getBBox().height:2===b.side?t.y+8:Math.cos(e.rotation*q)*(t.y-e.getBBox(!1,0).height/2));a=a+r.x+t.x-(m&&h?m*p*(l?-1:1):0);d=d+f-(m&&!h?m*p*(l?1:-1):0);n&&(e=c/(g||1)%n,b.opposite&&(e=n-e-1),d+=b.labelOffset/n*e);return{x:a,y:Math.round(d)}},getMarkPath:function(a,d,e,h,r,m){return m.crispLine(["M",a,d,"L",a+(r?0:-e),d+(r?e:0)],h)},renderGridLine:function(a,d,e){var h=this.axis,r=h.options,m=this.gridLine,c={},g=this.pos,b=this.type, p=h.tickmarkOffset,l=h.chart.renderer,n=b?b+"Grid":"grid",t=r[n+"LineWidth"],f=r[n+"LineColor"],r=r[n+"LineDashStyle"];m||(c.stroke=f,c["stroke-width"]=t,r&&(c.dashstyle=r),b||(c.zIndex=1),a&&(c.opacity=0),this.gridLine=m=l.path().attr(c).addClass("highcharts-"+(b?b+"-":"")+"grid-line").add(h.gridGroup));if(!a&&m&&(a=h.getPlotLinePath(g+p,m.strokeWidth()*e,a,!0)))m[this.isNew?"attr":"animate"]({d:a,opacity:d})},renderMark:function(a,e,n){var h=this.axis,r=h.options,m=h.chart.renderer,c=this.type, g=c?c+"Tick":"tick",b=h.tickSize(g),p=this.mark,l=!p,E=a.x;a=a.y;var t=d(r[g+"Width"],!c&&h.isXAxis?1:0),r=r[g+"Color"];b&&(h.opposite&&(b[0]=-b[0]),l&&(this.mark=p=m.path().addClass("highcharts-"+(c?c+"-":"")+"tick").add(h.axisGroup),p.attr({stroke:r,"stroke-width":t})),p[l?"attr":"animate"]({d:this.getMarkPath(E,a,b[0],p.strokeWidth()*n,h.horiz,m),opacity:e}))},renderLabel:function(a,e,n,h){var r=this.axis,m=r.horiz,c=r.options,g=this.label,b=c.labels,p=b.step,l=r.tickmarkOffset,E=!0,G=a.x;a=a.y; g&&A(G)&&(g.xy=a=this.getLabelPosition(G,a,g,m,b,l,h,p),this.isFirst&&!this.isLast&&!d(c.showFirstLabel,1)||this.isLast&&!this.isFirst&&!d(c.showLastLabel,1)?E=!1:!m||r.isRadial||b.step||b.rotation||e||0===n||this.handleOverflow(a),p&&h%p&&(E=!1),E&&A(a.y)?(a.opacity=n,g[this.isNewLabel?"attr":"animate"](a),this.isNewLabel=!1):(g.attr("y",-9999),this.isNewLabel=!0),this.isNew=!1)},render:function(a,e,n){var h=this.axis,r=h.horiz,m=this.getPosition(r,this.pos,h.tickmarkOffset,e),c=m.x,g=m.y,h=r&&c=== h.pos+h.len||!r&&g===h.pos?-1:1;n=d(n,1);this.isActive=!0;this.renderGridLine(e,n,h);this.renderMark(m,n,h);this.renderLabel(m,e,n,a)},destroy:function(){C(this,this.axis)}}})(I);var S=function(a){var z=a.addEvent,B=a.animObject,C=a.arrayMax,A=a.arrayMin,e=a.color,d=a.correctFloat,q=a.defaultOptions,t=a.defined,u=a.deg2rad,n=a.destroyObjectProperties,h=a.each,r=a.extend,m=a.fireEvent,c=a.format,g=a.getMagnitude,b=a.grep,p=a.inArray,l=a.isArray,E=a.isNumber,G=a.isString,f=a.merge,H=a.normalizeTickInterval, D=a.objectEach,y=a.pick,M=a.removeEvent,v=a.splat,L=a.syncTimeout,F=a.Tick,J=function(){this.init.apply(this,arguments)};a.extend(J.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},minPadding:.01,maxPadding:.01,minorTickLength:2,minorTickPosition:"outside",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,c=this;c.chart=a;c.horiz= a.inverted&&!c.isZAxis?!k:k;c.isXAxis=k;c.coll=c.coll||(k?"xAxis":"yAxis");c.opposite=b.opposite;c.side=b.side||(c.horiz?c.opposite?0:2:c.opposite?1:3);c.setOptions(b);var w=this.options,f=w.type;c.labelFormatter=w.labels.formatter||c.defaultLabelFormatter;c.userOptions=b;c.minPixelPadding=0;c.reversed=w.reversed;c.visible=!1!==w.visible;c.zoomEnabled=!1!==w.zoomEnabled;c.hasNames="category"===f||!0===w.categories;c.categories=w.categories||c.hasNames;c.names=c.names||[];c.plotLinesAndBandsGroups= {};c.isLog="logarithmic"===f;c.isDatetimeAxis="datetime"===f;c.positiveValuesOnly=c.isLog&&!c.allowNegativeLog;c.isLinked=t(w.linkedTo);c.ticks={};c.labelEdge=[];c.minorTicks={};c.plotLinesAndBands=[];c.alternateBands={};c.len=0;c.minRange=c.userMinRange=w.minRange||w.maxZoom;c.range=w.range;c.offset=w.offset||0;c.stacks={};c.oldStacks={};c.stacksTouched=0;c.max=null;c.min=null;c.crosshair=y(w.crosshair,v(a.options.tooltip.crosshairs)[k?0:1],!1);b=c.options.events;-1===p(c,a.axes)&&(k?a.axes.splice(a.xAxis.length, 0,c):a.axes.push(c),a[c.coll].push(c));c.series=c.series||[];a.inverted&&!c.isZAxis&&k&&void 0===c.reversed&&(c.reversed=!0);D(b,function(a,k){z(c,k,a)});c.lin2log=w.linearToLogConverter||c.lin2log;c.isLog&&(c.val2lin=c.log2lin,c.lin2val=c.lin2log)},setOptions:function(a){this.options=f(this.defaultOptions,"yAxis"===this.coll&&this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],f(q[this.coll],a))}, defaultLabelFormatter:function(){var k=this.axis,b=this.value,f=k.categories,g=this.dateTimeLabelFormat,l=q.lang,v=l.numericSymbols,l=l.numericSymbolMagnitude||1E3,h=v&&v.length,p,d=k.options.labels.format,k=k.isLog?Math.abs(b):k.tickInterval;if(d)p=c(d,this);else if(f)p=b;else if(g)p=a.dateFormat(g,b);else if(h&&1E3<=k)for(;h--&&void 0===p;)f=Math.pow(l,h+1),k>=f&&0===10*b%f&&null!==v[h]&&0!==b&&(p=a.numberFormat(b/f,-1)+v[h]);void 0===p&&(p=1E4<=Math.abs(b)?a.numberFormat(b,-1):a.numberFormat(b, -1,void 0,""));return p},getSeriesExtremes:function(){var a=this,c=a.chart;a.hasVisibleSeries=!1;a.dataMin=a.dataMax=a.threshold=null;a.softThreshold=!a.isXAxis;a.buildStacks&&a.buildStacks();h(a.series,function(k){if(k.visible||!c.options.chart.ignoreHiddenSeries){var f=k.options,w=f.threshold,g;a.hasVisibleSeries=!0;a.positiveValuesOnly&&0>=w&&(w=null);if(a.isXAxis)f=k.xData,f.length&&(k=A(f),E(k)||k instanceof Date||(f=b(f,function(a){return E(a)}),k=A(f)),a.dataMin=Math.min(y(a.dataMin,f[0]), k),a.dataMax=Math.max(y(a.dataMax,f[0]),C(f)));else if(k.getExtremes(),g=k.dataMax,k=k.dataMin,t(k)&&t(g)&&(a.dataMin=Math.min(y(a.dataMin,k),k),a.dataMax=Math.max(y(a.dataMax,g),g)),t(w)&&(a.threshold=w),!f.softThreshold||a.positiveValuesOnly)a.softThreshold=!1}})},translate:function(a,b,c,f,g,l){var k=this.linkedParent||this,w=1,v=0,h=f?k.oldTransA:k.transA;f=f?k.oldMin:k.min;var p=k.minPixelPadding;g=(k.isOrdinal||k.isBroken||k.isLog&&g)&&k.lin2val;h||(h=k.transA);c&&(w*=-1,v=k.len);k.reversed&& (w*=-1,v-=w*(k.sector||k.len));b?(a=(a*w+v-p)/h+f,g&&(a=k.lin2val(a))):(g&&(a=k.val2lin(a)),a=w*(a-f)*h+v+w*p+(E(l)?h*l: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,f,g){var k=this.chart,w=this.left,l=this.top,v,h,p=c&&k.oldChartHeight||k.chartHeight,d=c&&k.oldChartWidth||k.chartWidth,e;v=this.transB;var m=function(a,k,b){if(a< k||a>b)f?a=Math.min(Math.max(k,a),b):e=!0;return a};g=y(g,this.translate(a,null,null,c));a=c=Math.round(g+v);v=h=Math.round(p-g-v);E(g)?this.horiz?(v=l,h=p-this.bottom,a=c=m(a,w,w+this.width)):(a=w,c=d-this.right,v=h=m(v,l,l+this.height)):e=!0;return e&&!f?null:k.renderer.crispLine(["M",a,v,"L",c,h],b||1)},getLinearTickPositions:function(a,b,c){var k,f=d(Math.floor(b/a)*a);c=d(Math.ceil(c/a)*a);var w=[];if(this.single)return[b];for(b=f;b<=c;){w.push(b);b=d(b+a);if(b===k)break;k=b}return w},getMinorTickPositions:function(){var a= this,b=a.options,c=a.tickPositions,f=a.minorTickInterval,g=[],l=a.pointRangePadding||0,v=a.min-l,l=a.max+l,p=l-v;if(p&&p/f=this.minRange,m=this.minRange,f=(m-c+b)/2,f=[b-f,y(a.min,b-f)],g&&(f[2]=this.isLog?this.log2lin(this.dataMin):this.dataMin),b=C(f),c=[b+m,y(a.max,b+m)], g&&(c[2]=this.isLog?this.log2lin(this.dataMax):this.dataMax),c=A(c),c-b=u?(J=u,D=0):b.dataMax<=u&&(M=u,n=0)),b.min=y(A,J,b.dataMin),b.max=y(z,M,b.dataMax));l&&(b.positiveValuesOnly&&!k&&0>=Math.min(b.min,y(b.dataMin,b.min))&&a.error(10,1),b.min=d(v(b.min),15),b.max=d(v(b.max),15));b.range&&t(b.max)&&(b.userMin=b.min=A=Math.max(b.dataMin,b.minFromRange()),b.userMax=z=b.max,b.range=null);m(b,"foundExtremes");b.beforePadding&& b.beforePadding();b.adjustForMinRange();!(G||b.axisPointRange||b.usePercentage||r)&&t(b.min)&&t(b.max)&&(v=b.max-b.min)&&(!t(A)&&D&&(b.min-=v*D),!t(z)&&n&&(b.max+=v*n));E(f.softMin)&&(b.min=Math.min(b.min,f.softMin));E(f.softMax)&&(b.max=Math.max(b.max,f.softMax));E(f.floor)&&(b.min=Math.max(b.min,f.floor));E(f.ceiling)&&(b.max=Math.min(b.max,f.ceiling));q&&t(b.dataMin)&&(u=u||0,!t(A)&&b.min=u?b.min=u:!t(z)&&b.max>u&&b.dataMax<=u&&(b.max=u));b.tickInterval=b.min===b.max||void 0===b.min|| void 0===b.max?1:r&&!F&&L===b.linkedParent.options.tickPixelInterval?F=b.linkedParent.tickInterval:y(F,this.tickAmount?(b.max-b.min)/Math.max(this.tickAmount-1,1):void 0,G?1:(b.max-b.min)*L/Math.max(b.len,L));e&&!k&&h(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&&!F&&(b.tickInterval=Math.max(b.pointRange, b.tickInterval));k=y(f.minTickInterval,b.isDatetimeAxis&&b.closestPointRange);!F&&b.tickIntervalb.tickInterval&&1E3b.max)),!!this.tickAmount));this.tickAmount||(b.tickInterval=b.unsquish());this.setTickPositions()},setTickPositions:function(){var a=this.options,b,c=a.tickPositions,f=a.tickPositioner,g=a.startOnTick,l=a.endOnTick;this.tickmarkOffset=this.categories&& "between"===a.tickmarkPlacement&&1===this.tickInterval?.5:0;this.minorTickInterval="auto"===a.minorTickInterval&&this.tickInterval?this.tickInterval/5:a.minorTickInterval;this.single=this.min===this.max&&t(this.min)&&!this.tickAmount&&(parseInt(this.min,10)===this.min||!1!==a.allowDecimals);this.tickPositions=b=c&&c.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()]),this.tickPositions=b,f&&(f=f.apply(this,[this.min,this.max])))&&(this.tickPositions=b=f);this.paddedTicks=b.slice(0);this.trimTicks(b,g,l);this.isLinked||(this.single&&2>b.length&&(this.min-=.5,this.max+=.5),c||f||this.adjustTickAmount())},trimTicks:function(a,b,c){var k=a[0],f=a[a.length-1],g=this.minPointOffset||0;if(!this.isLinked){if(b&& -Infinity!==k)this.min=k;else for(;this.min-g>a[0];)a.shift();if(c)this.max=f;else for(;this.max+gb&&(this.finalTickAmt=b,b=5);this.tickAmount=b},adjustTickAmount:function(){var a=this.tickInterval,b=this.tickPositions,c=this.tickAmount,f=this.finalTickAmt,g=b&&b.length;if(gc&&(this.tickInterval*=2,this.setTickPositions()); if(t(f)){for(a=c=b.length;a--;)(3===f&&1===a%2||2>=f&&0f&&(a=f)),t(c)&&(bf&&(b=f))),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,f=c.offsets||[0,0,0,0],g=this.horiz,l=this.width=Math.round(a.relativeLength(y(c.width,b.plotWidth-f[3]+f[1]),b.plotWidth)),v=this.height=Math.round(a.relativeLength(y(c.height,b.plotHeight- f[0]+f[2]),b.plotHeight)),h=this.top=Math.round(a.relativeLength(y(c.top,b.plotTop+f[0]),b.plotHeight,b.plotTop)),c=this.left=Math.round(a.relativeLength(y(c.left,b.plotLeft+f[3]),b.plotWidth,b.plotLeft));this.bottom=b.chartHeight-v-h;this.right=b.chartWidth-l-c;this.len=Math.max(g?l:v,0);this.pos=g?c:h},getExtremes:function(){var a=this.isLog,b=this.lin2log;return{min:a?d(b(this.min)):this.min,max:a?d(b(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}, getThreshold:function(a){var b=this.isLog,c=this.lin2log,k=b?c(this.min):this.min,b=b?c(this.max):this.max;null===a?a=k:k>a?a=k:ba?"right":195a?"left":"center"},tickSize:function(a){var b=this.options,c=b[a+"Length"],k=y(b[a+"Width"],"tick"===a&&this.isXAxis?1:0);if(k&&c)return"inside"===b[a+"Position"]&&(c=-c),[c,k]},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,f=c,g=this.len/(((this.categories?1:0)+this.max-this.min)/c),l,v=a.rotation,p=this.labelMetrics(),d,e=Number.MAX_VALUE,m,r=function(a){a/=g||1;a=1=a)d=r(Math.abs(p.h/Math.sin(u*a))),b=d+Math.abs(a/360),b(c.step||0)&&!c.rotation&&(this.staggerLines||1)*this.len/f||!b&&(g&&g-a.spacing[3]||.33*a.chartWidth)},renderUnsquish:function(){var a=this.chart,b=a.renderer,c= this.tickPositions,g=this.ticks,l=this.options.labels,v=this.horiz,p=this.getSlotWidth(),d=Math.max(1,Math.round(p-2*(l.padding||5))),e={},m=this.labelMetrics(),r=l.style&&l.style.textOverflow,n,D=0,y,E;G(l.rotation)||(e.rotation=l.rotation||0);h(c,function(a){(a=g[a])&&a.labelLength>D&&(D=a.labelLength)});this.maxLabelLength=D;if(this.autoRotation)D>d&&D>m.h?e.rotation=this.labelRotation:this.labelRotation=0;else if(p&&(n={width:d+"px"},!r))for(n.textOverflow="clip",y=c.length;!v&&y--;)if(E=c[y], d=g[E].label)d.styles&&"ellipsis"===d.styles.textOverflow?d.css({textOverflow:"clip"}):g[E].labelLength>p&&d.css({width:p+"px"}),d.getBBox().height>this.len/c.length-(m.h-m.f)&&(d.specCss={textOverflow:"ellipsis"});e.rotation&&(n={width:(D>.5*a.chartHeight?.33*a.chartHeight:a.chartHeight)+"px"},r||(n.textOverflow="ellipsis"));if(this.labelAlign=l.align||this.autoLabelAlign(this.labelRotation))e.align=this.labelAlign;h(c,function(a){var b=(a=g[a])&&a.label;b&&(b.attr(e),n&&b.css(f(n,b.specCss)),delete b.specCss, a.rotation=e.rotation)});this.tickRotCorr=b.rotCorr(m.b,this.labelRotation||0,0!==this.side)},hasData:function(){return this.hasVisibleSeries||t(this.min)&&t(this.max)&&!!this.tickPositions},addTitle:function(a){var b=this.chart.renderer,c=this.horiz,k=this.opposite,f=this.options.title,g;this.axisTitle||((g=f.textAlign)||(g=(c?{low:"left",middle:"center",high:"right"}:{low:k?"right":"left",middle:"center",high:k?"left":"right"})[f.align]),this.axisTitle=b.text(f.text,0,0,f.useHTML).attr({zIndex:7, rotation:f.rotation||0,align:g}).addClass("highcharts-axis-title").css(f.style).add(this.axisGroup),this.axisTitle.isNew=!0);f.style.width||this.isRadial||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,f=a.options,g=a.tickPositions,l=a.ticks,v=a.horiz,p=a.side,d=b.inverted&&!a.isZAxis?[1,0,3,2][p]:p,e,m,r=0,n,E=0,F=f.title,L=f.labels, G=0,u=b.axisOffset,b=b.clipOffset,H=[-1,1,1,-1][p],q=f.className,J=a.axisParent,M=this.tickSize("tick");e=a.hasData();a.showAxis=m=e||y(f.showEmpty,!0);a.staggerLines=a.horiz&&L.staggerLines;a.axisGroup||(a.gridGroup=c.g("grid").attr({zIndex:f.gridZIndex||1}).addClass("highcharts-"+this.coll.toLowerCase()+"-grid "+(q||"")).add(J),a.axisGroup=c.g("axis").attr({zIndex:f.zIndex||2}).addClass("highcharts-"+this.coll.toLowerCase()+" "+(q||"")).add(J),a.labelGroup=c.g("axis-labels").attr({zIndex:L.zIndex|| 7}).addClass("highcharts-"+a.coll.toLowerCase()+"-labels "+(q||"")).add(J));e||a.isLinked?(h(g,function(b,c){a.generateTick(b,c)}),a.renderUnsquish(),!1===L.reserveSpace||0!==p&&2!==p&&{1:"left",3:"right"}[p]!==a.labelAlign&&"center"!==a.labelAlign||h(g,function(a){G=Math.max(l[a].getLabelSize(),G)}),a.staggerLines&&(G*=a.staggerLines,a.labelOffset=G*(a.opposite?-1:1))):D(l,function(a,b){a.destroy();delete l[b]});F&&F.text&&!1!==F.enabled&&(a.addTitle(m),m&&!1!==F.reserveSpace&&(a.titleOffset=r=a.axisTitle.getBBox()[v? "height":"width"],n=F.offset,E=t(n)?0:y(F.margin,v?5:10)));a.renderLine();a.offset=H*y(f.offset,u[p]);a.tickRotCorr=a.tickRotCorr||{x:0,y:0};c=0===p?-a.labelMetrics().h:2===p?a.tickRotCorr.y:0;E=Math.abs(G)+E;G&&(E=E-c+H*(v?y(L.y,a.tickRotCorr.y+8*H):L.x));a.axisTitleMargin=y(n,E);u[p]=Math.max(u[p],a.axisTitleMargin+r+H*a.offset,E,e&&g.length&&M?M[0]+H*a.offset:0);g=2*Math.floor(a.axisLine.strokeWidth()/2);0=this.min&&a<=this.max)f[a]||(f[a]=new F(this,a)),k&&f[a].isNew&&f[a].render(b,!0,.1),f[a].render(b)},render:function(){var b=this,c=b.chart,f=b.options,g=b.isLog,l=b.lin2log,v=b.isLinked,p=b.tickPositions,d=b.axisTitle,e=b.ticks,m=b.minorTicks,r=b.alternateBands,n= f.stackLabels,y=f.alternateGridColor,G=b.tickmarkOffset,u=b.axisLine,H=b.showAxis,t=B(c.renderer.globalAnimation),q,J;b.labelEdge.length=0;b.overlap=!1;h([e,m,r],function(a){D(a,function(a){a.isActive=!1})});if(b.hasData()||v)b.minorTickInterval&&!b.categories&&h(b.getMinorTickPositions(),function(a){b.renderMinorTick(a)}),p.length&&(h(p,function(a,c){b.renderTick(a,c)}),G&&(0===b.min||b.single)&&(e[-1]||(e[-1]=new F(b,-1,null,!0)),e[-1].render(-1))),y&&h(p,function(f,k){J=void 0!==p[k+1]?p[k+1]+ G:b.max-G;0===k%2&&fq&&(!u||l<=t)&&void 0!==l&&c.push(l),l>t&&(E=!0),l=p;else q=r(q),t=r(t),a=d[u?"minorTickInterval":"tickInterval"],a=e("auto"===a?null:a,this._minorAutoInterval,d.tickPixelInterval/ (u?5:1)*(t-q)/((u?h/this.tickPositions.length:h)||1)),a=A(a,null,B(a)),c=C(this.getLinearTickPositions(a,q,t),m),u||(this._minorAutoInterval=a/5);u||(this.tickInterval=a);return c};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 B=a.arrayMax,C=a.arrayMin,A=a.defined,e=a.destroyObjectProperties,d=a.each,q=a.erase,t=a.merge,u=a.pick;a.PlotLineOrBand=function(a,h){this.axis=a;h&&(this.options=h,this.id=h.id)}; a.PlotLineOrBand.prototype={render:function(){var d=this,h=d.axis,e=h.horiz,m=d.options,c=m.label,g=d.label,b=m.to,p=m.from,l=m.value,E=A(p)&&A(b),G=A(l),f=d.svgElem,H=!f,D=[],y=m.color,q=u(m.zIndex,0),v=m.events,D={"class":"highcharts-plot-"+(E?"band ":"line ")+(m.className||"")},L={},F=h.chart.renderer,J=E?"bands":"lines",k=h.log2lin;h.isLog&&(p=k(p),b=k(b),l=k(l));G?(D={stroke:y,"stroke-width":m.width},m.dashStyle&&(D.dashstyle=m.dashStyle)):E&&(y&&(D.fill=y),m.borderWidth&&(D.stroke=m.borderColor, D["stroke-width"]=m.borderWidth));L.zIndex=q;J+="-"+q;(y=h.plotLinesAndBandsGroups[J])||(h.plotLinesAndBandsGroups[J]=y=F.g("plot-"+J).attr(L).add());H&&(d.svgElem=f=F.path().attr(D).add(y));if(G)D=h.getPlotLinePath(l,f.strokeWidth());else if(E)D=h.getPlotBandPath(p,b,m);else return;H&&D&&D.length?(f.attr({d:D}),v&&a.objectEach(v,function(a,b){f.on(b,function(a){v[b].apply(d,[a])})})):f&&(D?(f.show(),f.animate({d:D})):(f.hide(),g&&(d.label=g=g.destroy())));c&&A(c.text)&&D&&D.length&&0this.max&&h>this.max;e&&d?(a&&(e.flat=e.toString()===d.toString(),g=0),e.push(c&&d[4]===e[4]?d[4]+g:d[4],c||d[5]!==e[5]?d[5]:d[5]+g,c&&d[1]===e[1]?d[1]+ g:d[1],c||d[2]!==e[2]?d[2]:d[2]+g)):e=null;return e},addPlotBand:function(a){return this.addPlotBandOrLine(a,"plotBands")},addPlotLine:function(a){return this.addPlotBandOrLine(a,"plotLines")},addPlotBandOrLine:function(d,h){var e=(new a.PlotLineOrBand(this,d)).render(),m=this.userOptions;e&&(h&&(m[h]=m[h]||[],m[h].push(d)),this.plotLinesAndBands.push(e));return e},removePlotBandOrLine:function(a){for(var h=this.plotLinesAndBands,e=this.options,m=this.userOptions,c=h.length;c--;)h[c].id===a&&h[c].destroy(); d([e.plotLines||[],m.plotLines||[],e.plotBands||[],m.plotBands||[]],function(g){for(c=g.length;c--;)g[c].id===a&&q(g,g[c])})},removePlotBand:function(a){this.removePlotBandOrLine(a)},removePlotLine:function(a){this.removePlotBandOrLine(a)}})})(I,S);(function(a){var z=a.dateFormat,B=a.each,C=a.extend,A=a.format,e=a.isNumber,d=a.map,q=a.merge,t=a.pick,u=a.splat,n=a.syncTimeout,h=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},cleanSplit:function(a){B(this.chart.series,function(d){var c=d&&d.tt;c&&(!c.isActive||a?d.tt=c.destroy():c.isActive=!1)})},getLabel:function(){var a=this.chart.renderer,d=this.options;this.label||(this.split?this.label=a.g("tooltip"):(this.label=a.label("",0,0,d.shape||"callout",null,null,d.useHTML,null,"tooltip").attr({padding:d.padding,r:d.borderRadius}),this.label.attr({fill:d.backgroundColor, "stroke-width":d.borderWidth}).css(d.style).shadow(d.shadow)),this.label.attr({zIndex:8}).add());return this.label},update:function(a){this.destroy();q(!0,this.chart.options.tooltip.userOptions,a);this.init(this.chart,q(!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());clearTimeout(this.hideTimer);clearTimeout(this.tooltipTimeout)},move:function(a,d,c,g){var b=this,p=b.now,l=!1!==b.options.animation&& !b.isHidden&&(1e-l?e:e-l);else if(h)p[a]=Math.max(v,g+l+f>c?g:g+l);else return!1},y=function(a, c,f,g){var k;gc-b?k=!1:p[a]=gc-f/2?c-f-2:g-f/2;return k},r=function(a){var b=e;e=f;f=b;h=a},v=function(){!1!==D.apply(0,e)?!1!==y.apply(0,f)||h||(r(!0),v()):h?p.x=p.y=0:(r(!0),v())};(g.inverted||1v&&(l=!1);a=(d.series&&d.series.yAxis&&d.series.yAxis.pos)+(d.plotY||0);a-=b.plotTop;g.push({target:d.isHeader?b.plotHeight+r:a,rank:d.isHeader?1:0,size:p.tt.getBBox().height+1,point:d,x:v,tt:D})}});this.cleanSplit();a.distribute(g,b.plotHeight+r);B(g,function(a){var c=a.point,f=c.series;a.tt.attr({visibility:void 0===a.pos?"hidden": "inherit",x:l||c.isHeader?a.x:c.plotX+b.plotLeft+t(m.distance,16),y:a.pos+b.plotTop,anchorX:c.isHeader?c.plotX+b.plotLeft:c.plotX+f.xAxis.pos,anchorY:c.isHeader?a.pos+b.plotTop-15:c.plotY+f.yAxis.pos})})},updatePosition:function(a){var d=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+d.plotLeft,a.plotY+d.plotTop)},getDateFormat:function(a,d,c,g){var b=z("%m-%d %H:%M:%S.%L",d),e,l,m={millisecond:15, second:12,minute:9,hour:6,day:3},n="millisecond";for(l in h){if(a===h.week&&+z("%w",d)===c&&"00:00:00.000"===b.substr(6)){l="week";break}if(h[l]>a){l=n;break}if(m[l]&&b.substr(m[l])!=="01-01 00:00:00.000".substr(m[l]))break;"week"!==l&&(n=l)}l&&(e=g[l]);return e},getXDateFormat:function(a,d,c){d=d.dateTimeLabelFormats;var g=c&&c.closestPointRange;return(g?this.getDateFormat(g,a.x,c.options.startOfWeek,d):d.day)||d.year},tooltipFooterHeaderFormatter:function(a,d){var c=d?"footer":"header";d=a.series; var g=d.tooltipOptions,b=g.xDateFormat,h=d.xAxis,l=h&&"datetime"===h.options.type&&e(a.key),c=g[c+"Format"];l&&!b&&(b=this.getXDateFormat(a,g,h));l&&b&&(c=c.replace("{point.key}","{point.key:"+b+"}"));return A(c,{point:a,series:d})},bodyFormatter:function(a){return d(a,function(a){var c=a.series.tooltipOptions;return(c.pointFormatter||a.point.tooltipFormatter).call(a.point,c.pointFormat)})}}})(I);(function(a){var z=a.addEvent,B=a.attr,C=a.charts,A=a.color,e=a.css,d=a.defined,q=a.each,t=a.extend,u= a.find,n=a.fireEvent,h=a.isObject,r=a.offset,m=a.pick,c=a.removeEvent,g=a.splat,b=a.Tooltip,p=a.win;a.Pointer=function(a,b){this.init(a,b)};a.Pointer.prototype={init:function(a,c){this.options=c;this.chart=a;this.runChartClick=c.chart.events&&!!c.chart.events.click;this.pinchDown=[];this.lastValidTouch={};b&&(a.tooltip=new b(a,c.tooltip),this.followTouchMove=m(c.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,b){var c,f;a=a||p.event;a.target||(a.target=a.srcElement);f=a.touches?a.touches.length?a.touches.item(0):a.changedTouches[0]:a;b||(this.chartPosition=b=r(this.chart.container));void 0===f.pageX?(c=Math.max(a.x,a.clientX-b.left),b=a.y):(c=f.pageX-b.left,b=f.pageY-b.top);return t(a,{chartX:Math.round(c),chartY:Math.round(b)})}, getCoordinates:function(a){var b={xAxis:[],yAxis:[]};q(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,b,c){var f;q(a,function(a){var g=!(a.noSharedTooltip&&b)&&0>a.options.findNearestPointBy.indexOf("y");a=a.searchPoint(c,g);if((g=h(a,!0))&&!(g=!h(f,!0)))var g=f.distX-a.distX,l=f.dist-a.dist,d=(a.series.group&&a.series.group.zIndex)-(f.series.group&&f.series.group.zIndex),g=0<(0!==g&&b? g:0!==l?l:0!==d?d:f.series.index>a.series.index?-1:1);g&&(f=a)});return f},getPointFromEvent:function(a){a=a.target;for(var b;a&&!b;)b=a.point,a=a.parentNode;return b},getChartCoordinatesFromPoint:function(a,b){var c=a.series,f=c.xAxis,c=c.yAxis;if(f&&c)return b?{chartX:f.len+f.pos-a.clientX,chartY:c.len+c.pos-a.plotY}:{chartX:a.clientX+f.pos,chartY:a.plotY+c.pos}},getHoverData:function(b,c,g,f,d,e){var l,p=[];f=!(!f||!b);var v=c&&!c.stickyTracking?[c]:a.grep(g,function(a){return a.visible&&!(!d&& a.directTouch)&&m(a.options.enableMouseTracking,!0)&&a.stickyTracking});c=(l=f?b:this.findNearestKDPoint(v,d,e))&&l.series;l&&(d&&!c.noSharedTooltip?(v=a.grep(g,function(a){return a.visible&&!(!d&&a.directTouch)&&m(a.options.enableMouseTracking,!0)&&!a.noSharedTooltip}),q(v,function(a){a=u(a.points,function(a){return a.x===l.x});h(a)&&!a.isNull&&p.push(a)})):p.push(l));return{hoverPoint:l,hoverSeries:c,hoverPoints:p}},runPointActions:function(b,c){var g=this.chart,f=g.tooltip,l=f?f.shared:!1,d=c|| g.hoverPoint,h=d&&d.series||g.hoverSeries,h=this.getHoverData(d,h,g.series,!!c||h&&h.directTouch&&this.isDirectTouch,l,b),e,d=h.hoverPoint;e=h.hoverPoints;c=(h=h.hoverSeries)&&h.tooltipOptions.followPointer;l=l&&h&&!h.noSharedTooltip;if(d&&(d!==g.hoverPoint||f&&f.isHidden)){q(g.hoverPoints||[],function(b){-1===a.inArray(b,e)&&b.setState()});q(e||[],function(a){a.setState("hover")});if(g.hoverSeries!==h)h.onMouseOver();g.hoverPoint&&g.hoverPoint.firePointEvent("mouseOut");d.firePointEvent("mouseOver"); g.hoverPoints=e;g.hoverPoint=d;f&&f.refresh(l?e:d,b)}else c&&f&&!f.isHidden&&(d=f.getAnchor([{}],b),f.updatePosition({plotX:d[0],plotY:d[1]}));this.unDocMouseMove||(this.unDocMouseMove=z(g.container.ownerDocument,"mousemove",function(b){var c=C[a.hoverChartIndex];if(c)c.pointer.onDocumentMouseMove(b)}));q(g.axes,function(c){var f=m(c.crosshair.snap,!0),g=f?a.find(e,function(a){return a.series[c.coll]===c}):void 0;g||!f?c.drawCrosshair(b,g):c.hideCrosshair()})},reset:function(a,b){var c=this.chart, f=c.hoverSeries,l=c.hoverPoint,d=c.hoverPoints,h=c.tooltip,e=h&&h.shared?d:l;a&&e&&q(g(e),function(b){b.series.isCartesian&&void 0===b.plotX&&(a=!1)});if(a)h&&e&&(h.refresh(e),l&&(l.setState(l.state,!0),q(c.axes,function(a){a.crosshair&&a.drawCrosshair(null,l)})));else{if(l)l.onMouseOut();d&&q(d,function(a){a.setState()});if(f)f.onMouseOut();h&&h.hide(b);this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove());q(c.axes,function(a){a.hideCrosshair()});this.hoverX=c.hoverPoints=c.hoverPoint= null}},scaleGroups:function(a,b){var c=this.chart,f;q(c.series,function(g){f=a||g.getPlotBox();g.xAxis&&g.xAxis.zoomEnabled&&g.group&&(g.group.attr(f),g.markerGroup&&(g.markerGroup.attr(f),g.markerGroup.clip(b?c.clipRect:null)),g.dataLabelsGroup&&g.dataLabelsGroup.attr(f))});c.clipRect.attr(b||c.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,g=a.chartY,l=this.zoomHor,d=this.zoomVert,h=b.plotLeft,v=b.plotTop,e=b.plotWidth,p=b.plotHeight,m,k=this.selectionMarker,w=this.mouseDownX,n=this.mouseDownY,r=c.panKey&&a[c.panKey+"Key"];k&&k.touch||(fh+e&&(f=h+e),gv+p&&(g=v+p),this.hasDragged=Math.sqrt(Math.pow(w-f,2)+Math.pow(n-g,2)),10M.max&&(d=M.max-f,w=!0);w?(F-=.8*(F-m[b][0]),v||(k-=.8*(k-m[b][1])),e()):m[b]=[F,k];y||(r[b]=q-t,r[u]=f);r=y?1/D:D;h[u]=f;h[b]=d;n[y?a?"scaleY":"scaleX":"scale"+p]=D;n["translate"+p]=r*t+(F-r*L)},pinch:function(a){var t=this,u=t.chart,n=t.pinchDown,h=a.touches, r=h.length,m=t.lastValidTouch,c=t.hasZoom,g=t.selectionMarker,b={},p=1===r&&(t.inClass(a.target,"highcharts-tracker")&&u.runTrackerClick||t.runChartClick),l={};1b-6&&f(v||c.spacingBox.width-2*n-d.x)&&(this.itemX=n,this.itemY+=F+this.lastLineHeight+L,this.lastLineHeight=0);this.maxItemWidth=Math.max(this.maxItemWidth,f);this.lastItemY=F+this.itemY+L;this.lastLineHeight=Math.max(b,this.lastLineHeight);a._legendItemPos=[this.itemX,this.itemY];l?this.itemX+=f:(this.itemY+=F+b+L,this.lastLineHeight=b);this.offsetWidth=v||Math.max((l?this.itemX-n-(a.checkbox?0:r):f)+n,this.offsetWidth)},getAllItems:function(){var a=[];e(this.chart.series, function(c){var b=c&&c.options;c&&u(b.showInLegend,A(b.linkedTo)?!1:void 0,!0)&&(a=a.concat(c.legendItems||("point"===b.legendType?c.data:c)))});return a},adjustMargins:function(a,g){var b=this.chart,c=this.options,d=c.align.charAt(0)+c.verticalAlign.charAt(0)+c.layout.charAt(0);c.floating||e([/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/],function(h,l){h.test(d)&&!A(a[l])&&(b[q[l]]=Math.max(b[q[l]],b.legend[(l+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][l]*c[l%2?"x":"y"]+u(c.margin, 12)+g[l]))})},render:function(){var a=this,g=a.chart,b=g.renderer,d=a.group,l,m,n,f,r=a.box,u=a.options,y=a.padding;a.itemX=y;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();l=a.getAllItems();h(l,function(a,b){return(a.options&&a.options.legendIndex||0)-(b.options&&b.options.legendIndex||0)});u.reversed&&l.reverse();a.allItems=l;a.display=m= !!l.length;a.lastLineHeight=0;e(l,function(b){a.renderItem(b)});n=(u.width||a.offsetWidth)+y;f=a.lastItemY+a.lastLineHeight+a.titleHeight;f=a.handleOverflow(f);f+=y;r||(a.box=r=b.rect().addClass("highcharts-legend-box").attr({r:u.borderRadius}).add(d),r.isNew=!0);r.attr({stroke:u.borderColor,"stroke-width":u.borderWidth||0,fill:u.backgroundColor||"none"}).shadow(u.shadow);0b&&!1!==t.enabled?(this.clipHeight=f=Math.max(b-20-this.titleHeight-n,0),this.currentPage=u(this.currentPage,1),this.fullHeight=a,e(J,function(a,b){var c=a._legendItemPos[1];a=Math.round(a.legendItem.getBBox().height);var g=L.length;if(!g||c-L[g-1]>f&&(F||c)!==L[g-1])L.push(F|| c),g++;b===J.length-1&&c+a-L[g-1]>f&&L.push(c);c!==F&&(F=c)}),r||(r=c.clipRect=d.clipRect(0,n,9999,0),c.contentGroup.clip(r)),k(f),v||(this.nav=v=d.g().attr({zIndex:1}).add(this.group),this.up=d.symbol("triangle",0,0,q,q).on("click",function(){c.scroll(-1,y)}).add(v),this.pager=d.text("",15,10).addClass("highcharts-legend-navigation").css(t.style).add(v),this.down=d.symbol("triangle-down",0,0,q,q).on("click",function(){c.scroll(1,y)}).add(v)),c.scroll(0),a=b):v&&(k(),this.nav=v.destroy(),this.scrollGroup.attr({translateY:1}), this.clipHeight=0);return a},scroll:function(a,g){var b=this.pages,c=b.length;a=this.currentPage+a;var d=this.clipHeight,h=this.options.navigation,e=this.pager,f=this.padding;a>c&&(a=c);0b&&(h=typeof a[0],"string"===h?d.name=a[0]:"number"=== h&&(d.x=a[0]),e++);l=c.value;)c=d[++e];c&&c.color&&!this.options.color&&(this.color=c.color);return c},destroy:function(){var a=this.series.chart,d=a.hoverPoints,e;a.pointCount--;d&&(this.setState(),A(d,this),d.length||(a.hoverPoints=null));if(this===a.hoverPoint)this.onMouseOut();if(this.graphic||this.dataLabel)n(this),this.destroyElements();this.legendItem&&a.legend.destroyItem(this); for(e in this)this[e]=null},destroyElements:function(){for(var a=["graphic","dataLabel","dataLabelUpper","connector","shadowGroup"],d,e=6;e--;)d=a[e],this[d]&&(this[d]=this[d].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 h=this.series,e=h.tooltipOptions,c=u(e.valueDecimals,""), g=e.valuePrefix||"",b=e.valueSuffix||"";B(h.pointArrayMap||["y"],function(d){d="{point."+d;if(g||b)a=a.replace(d+"}",g+d+"}"+b);a=a.replace(d+"}",d+":,."+c+"f}")});return d(a,{point:this,series:this.series})},firePointEvent:function(a,d,m){var c=this,g=this.series.options;(g.point.events[a]||c.options&&c.options.events&&c.options.events[a])&&this.importEvents();"click"===a&&g.allowPointSelect&&(m=function(a){c.select&&c.select(null,a.ctrlKey||a.metaKey||a.shiftKey)});e(this,a,d,m)},visible:!0}})(I); (function(a){var z=a.addEvent,B=a.animObject,C=a.arrayMax,A=a.arrayMin,e=a.correctFloat,d=a.Date,q=a.defaultOptions,t=a.defaultPlotOptions,u=a.defined,n=a.each,h=a.erase,r=a.extend,m=a.fireEvent,c=a.grep,g=a.isArray,b=a.isNumber,p=a.isString,l=a.merge,E=a.objectEach,G=a.pick,f=a.removeEvent,H=a.splat,D=a.SVGElement,y=a.syncTimeout,M=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,f,k=a.series,g;c.chart=a;c.options=b=c.setOptions(b);c.linkedSeries=[];c.bindAxes();r(c,{name:b.name,state:"",visible:!1!==b.visible,selected:!0===b.selected});f=b.events;E(f,function(a,b){z(c,b,a)});if(f&& f.click||b.point&&b.point.events&&b.point.events.click||b.allowPointSelect)a.runTrackerClick=!0;c.getColor();c.getSymbol();n(c.parallelArrays,function(a){c[a+"Data"]=[]});c.setData(b.data,!1);c.isCartesian&&(a.hasCartesianSeries=!0);k.length&&(g=k[k.length-1]);c._i=G(g&&g._i,-1)+1;a.orderSeries(this.insert(k))},insert:function(a){var c=this.options.index,f;if(b(c)){for(f=a.length;f--;)if(c>=G(a[f].options.index,a[f]._i)){a.splice(f+1,0,this);break}-1===f&&a.unshift(this);f+=1}else a.push(this);return G(f, a.length-1)},bindAxes:function(){var b=this,c=b.options,f=b.chart,g;n(b.axisTypes||[],function(k){n(f[k],function(a){g=a.options;if(c[k]===g.index||void 0!==c[k]&&c[k]===g.id||void 0===c[k]&&0===g.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 f=a.series,g=arguments,k=b(c)?function(b){var g="y"===b&&f.toYData?f.toYData(a):a[b];f[b+"Data"][c]=g}:function(a){Array.prototype[c].apply(f[a+"Data"],Array.prototype.slice.call(g, 2))};n(f.parallelArrays,k)},autoIncrement:function(){var a=this.options,b=this.xIncrement,c,f=a.pointIntervalUnit,b=G(b,a.pointStart,0);this.pointInterval=c=G(this.pointInterval,a.pointInterval,1);f&&(a=new d(b),"day"===f?a=+a[d.hcSetDate](a[d.hcGetDate]()+c):"month"===f?a=+a[d.hcSetMonth](a[d.hcGetMonth]()+c):"year"===f&&(a=+a[d.hcSetFullYear](a[d.hcGetFullYear]()+c)),c=a-b);this.xIncrement=b+c;return b},setOptions:function(a){var b=this.chart,c=b.options,f=c.plotOptions,g=(b.userOptions||{}).plotOptions|| {},d=f[this.type];this.userOptions=a;b=l(d,f.series,a);this.tooltipOptions=l(q.tooltip,q.plotOptions.series&&q.plotOptions.series.tooltip,q.plotOptions[this.type].tooltip,c.tooltip.userOptions,f.series&&f.series.tooltip,f[this.type].tooltip,a.tooltip);this.stickyTracking=G(a.stickyTracking,g[this.type]&&g[this.type].stickyTracking,g.series&&g.series.stickyTracking,this.tooltipOptions.shared&&!this.noSharedTooltip?!0:b.stickyTracking);null===d.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&&u(a[a.length-1].value)&&a.push({color:this.color,fillColor:this.fillColor});return b},getCyclic:function(a,b,c){var f,g=this.chart,d=this.userOptions,h=a+"Index",e=a+"Counter",l=c?c.length:G(g.options.chart[a+"Count"],g[a+"Count"]);b||(f=G(d[h],d["_"+h]),u(f)||(g.series.length|| (g[e]=0),d["_"+h]=f=g[e]%l,g[e]+=1),c&&(b=c[f]));void 0!==f&&(this[h]=f);this[a]=b},getColor:function(){this.options.colorByPoint?this.options.color=null:this.getCyclic("color",this.options.color||t[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,f,d,h){var k=this,e=k.points,l=e&&e.length||0,v,m=k.options,r=k.chart,y=null,u=k.xAxis, t=m.turboThreshold,D=this.xData,F=this.yData,q=(v=k.pointArrayMap)&&v.length;c=c||[];v=c.length;f=G(f,!0);if(!1!==h&&v&&l===v&&!k.cropped&&!k.hasGroupedData&&k.visible)n(c,function(a,b){e[b].update&&a!==m.data[b]&&e[b].update(a,!1,null,!1)});else{k.xIncrement=null;k.colorCounter=0;n(this.parallelArrays,function(a){k[a+"Data"].length=0});if(t&&v>t){for(d=0;null===y&&dv||this.forceCrop))if(c[g-1]u)c=[],f=[];else if(c[0]u)d=this.cropData(this.xData,this.yData,r,u),c=d.xData,f=d.yData,d=d.start,h=!0;for(v=c.length|| 1;--v;)g=y?p(c[v])-p(c[v-1]):c[v]-c[v-1],0g&&this.requireSorting&&a.error(15);this.cropped=h;this.cropStart=d;this.processedXData=c;this.processedYData=f;this.closestPointRange=e},cropData:function(a,b,c,f){var g=a.length,d=0,e=g,h=G(this.cropShoulder,1),l;for(l=0;l=c){d=Math.max(0,l-h);break}for(c=l;cf){e=c+h;break}return{xData:a.slice(d,e),yData:b.slice(d,e),start:d,end:e}},generatePoints:function(){var a=this.options,b=a.data,c=this.data, f,g=this.processedXData,d=this.processedYData,e=this.pointClass,h=g.length,l=this.cropStart||0,p,m=this.hasGroupedData,a=a.keys,n,r=[],y;c||m||(c=[],c.length=b.length,c=this.data=c);a&&m&&(this.options.keys=!1);for(y=0;y=h&&(f[n]||p)<=l,v&&p)if(v=m.length)for(;v--;)null!==m[v]&&(k[e++]=m[v]);else k[e++]=m;this.dataMin= A(k);this.dataMax=C(k)},translate:function(){this.processedXData||this.processData();this.generatePoints();var a=this.options,c=a.stacking,f=this.xAxis,g=f.categories,d=this.yAxis,h=this.points,l=h.length,p=!!this.modifyValue,m=a.pointPlacement,n="between"===m||b(m),y=a.threshold,r=a.startFromThreshold?y:0,t,D,q,H,E=Number.MAX_VALUE;"between"===m&&(m=.5);b(m)&&(m*=G(a.pointRange||f.pointRange));for(a=0;a=z&&(M.isNull=!0);M.plotX=t=e(Math.min(Math.max(-1E5,f.translate(A,0,0,0,1,m,"flags"===this.type)),1E5));c&&this.visible&&!M.isNull&&B&&B[A]&&(H=this.getStackIndicator(H,A,this.index),C=B[A],z=C.points[H.key],D=z[0],z=z[1],D===r&&H.key===B[A].base&&(D=G(y,d.min)),d.positiveValuesOnly&&0>=D&&(D=null),M.total=M.stackTotal=C.total,M.percentage=C.total&&M.y/C.total*100,M.stackY=z,C.setOffset(this.pointXOffset||0,this.barW||0));M.yBottom=u(D)?d.translate(D,0,1,0,1): null;p&&(z=this.modifyValue(z,M));M.plotY=D="number"===typeof z&&Infinity!==z?Math.min(Math.max(-1E5,d.translate(z,0,1,0,1)),1E5):void 0;M.isInside=void 0!==D&&0<=D&&D<=d.len&&0<=t&&t<=f.len;M.clientX=n?e(f.translate(A,0,0,0,1,m)):t;M.negative=M.y<(y||0);M.category=g&&void 0!==g[M.x]?g[M.x]:M.x;M.isNull||(void 0!==q&&(E=Math.min(E,Math.abs(t-q))),q=t);M.zone=this.zones.length&&M.getZone()}this.closestPointRangePx=E},getValidPoints:function(a,b){var f=this.chart;return c(a||this.points||[],function(a){return b&& !f.isInsidePlot(a.plotX,a.plotY,f.inverted)?!1:!a.isNull})},setClip:function(a){var b=this.chart,c=this.options,f=b.renderer,g=b.inverted,d=this.clipBox,h=d||b.clipBox,e=this.sharedClipKey||["_sharedClip",a&&a.duration,a&&a.easing,h.height,c.xAxis,c.yAxis].join(),l=b[e],v=b[e+"m"];l||(a&&(h.width=0,b[e+"m"]=v=f.clipRect(-99,g?-b.plotLeft:-b.plotTop,99,g?b.chartWidth:b.chartHeight)),b[e]=l=f.clipRect(h),l.count={length:0});a&&!l.count[this.index]&&(l.count[this.index]=!0,l.count.length+=1);!1!==c.clip&& (this.group.clip(a||d?l:b.clipRect),this.markerGroup.clip(v),this.sharedClipKey=e);a||(l.count[this.index]&&(delete l.count[this.index],--l.count.length),0===l.count.length&&e&&b[e]&&(d||(b[e]=b[e].destroy()),b[e+"m"]&&(b[e+"m"]=b[e+"m"].destroy())))},animate:function(a){var b=this.chart,c=B(this.options.animation),f;a?this.setClip(c):(f=this.sharedClipKey,(a=b[f])&&a.animate({width:b.plotSizeX},c),b[f+"m"]&&b[f+"m"].animate({width:b.plotSizeX+99},c),this.animate=null)},afterAnimate:function(){this.setClip(); m(this,"afterAnimate");this.finishedAnimating=!0},drawPoints:function(){var a=this.points,c=this.chart,f,g,d,e,h=this.options.marker,l,p,m,n,y=this[this.specialGroup]||this.markerGroup,r=G(h.enabled,this.xAxis.isRadial?!0:null,this.closestPointRangePx>=2*h.radius);if(!1!==h.enabled||this._hasPointMarkers)for(g=0;gg&&b.shadow));k&&(k.startX=c.xMap,k.isArea=c.isArea)})},applyZones:function(){var a= this,b=this.chart,c=b.renderer,f=this.zones,g,d,e=this.clips||[],h,l=this.graph,p=this.area,m=Math.max(b.chartWidth,b.chartHeight),y=this[(this.zoneAxis||"y")+"Axis"],r,u,t=b.inverted,D,q,H,E,M=!1;f.length&&(l||p)&&y&&void 0!==y.min&&(u=y.reversed,D=y.horiz,l&&l.hide(),p&&p.hide(),r=y.getExtremes(),n(f,function(f,k){g=u?D?b.plotWidth:0:D?0:y.toPixels(r.min);g=Math.min(Math.max(G(d,g),0),m);d=Math.min(Math.max(Math.round(y.toPixels(G(f.value,r.max),!0)),0),m);M&&(g=d=y.toPixels(r.max));q=Math.abs(g- d);H=Math.min(g,d);E=Math.max(g,d);y.isXAxis?(h={x:t?E:H,y:0,width:q,height:m},D||(h.x=b.plotHeight-h.x)):(h={x:0,y:t?E:H,width:m,height:q},D&&(h.y=b.plotWidth-h.y));t&&c.isVML&&(h=y.isXAxis?{x:0,y:u?H:E,height:h.width,width:b.chartWidth}:{x:h.y-b.plotLeft-b.spacingBox.x,y:0,width:h.height,height:b.chartHeight});e[k]?e[k].animate(h):(e[k]=c.clipRect(h),l&&a["zone-graph-"+k].clip(e[k]),p&&a["zone-area-"+k].clip(e[k]));M=f.value>r.max}),this.clips=e)},invertGroups:function(a){function b(){n(["group", "markerGroup"],function(b){c[b]&&(f.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,f=c.chart,g;c.xAxis&&(g=z(f,"resize",b),z(c,"destroy",g),b(a),c.invertGroups=b)},plotGroup:function(a,b,c,f,g){var d=this[a],k=!d;k&&(this[a]=d=this.chart.renderer.g().attr({zIndex:f||.1}).add(g));d.addClass("highcharts-"+b+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series highcharts-color-"+this.colorIndex+ " "+(this.options.className||""),!0);d.attr({visibility:c})[k?"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,f=a.options,g=!!a.animate&&b.renderer.isSVG&&B(f.animation).duration,d=a.visible?"inherit":"hidden",e=f.zIndex,h=a.hasRendered,l=b.seriesGroup,p=b.inverted;c=a.plotGroup("group", "series",d,e,l);a.markerGroup=a.plotGroup("markerGroup","markers",d,e,l);g&&a.animate(!0);c.inverted=a.isCartesian?p:!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(p);!1===f.clip||a.sharedClipKey||h||c.clip(b.clipRect);g&&a.animate();h||(a.animationTimeout=y(function(){a.afterAnimate()},g));a.isDirty=!1;a.hasRendered=!0},redraw:function(){var a=this.chart, b=this.isDirty||this.isDirtyData,c=this.group,f=this.xAxis,g=this.yAxis;c&&(a.inverted&&c.attr({width:a.plotWidth,height:a.plotHeight}),c.animate({translateX:G(f&&f.left,a.plotLeft),translateY:G(g&&g.top,a.plotTop)}));this.translate();this.render();b&&delete this.kdTree},kdAxisArray:["clientX","plotY"],searchPoint:function(a,b){var c=this.xAxis,f=this.yAxis,g=this.chart.inverted;return this.searchKDTree({clientX:g?c.len-a.chartY+c.pos:a.chartX-c.pos,plotY:g?f.len-a.chartX+f.pos:a.chartY-f.pos},b)}, buildKDTree:function(){function a(c,f,g){var d,k;if(k=c&&c.length)return d=b.kdAxisArray[f%g],c.sort(function(a,b){return a[d]-b[d]}),k=Math.floor(k/2),{point:c[k],left:a(c.slice(0,k),f+1,g),right:a(c.slice(k+1),f+1,g)}}this.buildingKdTree=!0;var b=this,c=-1p?"left":"right";n=0>p?"right":"left";b[m]&&(m=c(a,b[m],k+1,h),v=m[e]r;)v--;this.updateParallelArrays(l,"splice",v,0,0);this.updateParallelArrays(l,v);k&&l.name&&(k[r]=l.name); h.splice(v,0,a);m&&(this.data.splice(v,0,null),this.processData());"point"===g.legendType&&this.generatePoints();c&&(d[0]&&d[0].remove?d[0].remove(!1):(d.shift(),this.updateParallelArrays(l,"shift"),h.shift()));this.isDirtyData=this.isDirty=!0;b&&e.redraw(f)},removePoint:function(a,b,c){var g=this,d=g.data,e=d[a],h=g.points,k=g.chart,l=function(){h&&h.length===d.length&&h.splice(a,1);d.splice(a,1);g.options.data.splice(a,1);g.updateParallelArrays(e||{series:g},"splice",a,1);e&&e.destroy();g.isDirty= !0;g.isDirtyData=!0;b&&k.redraw()};f(c,k);b=p(b,!0);e?e.firePointEvent("remove",null,l):l()},remove:function(a,b,c){function f(){g.destroy();d.isDirtyLegend=d.isDirtyBox=!0;d.linkSeries();p(a,!0)&&d.redraw(b)}var g=this,d=g.chart;!1!==c?n(g,"remove",null,f):f()},update:function(a,b){var c=this,f=c.chart,d=c.userOptions,e=c.oldType||c.type,h=a.type||d.type||f.options.chart.type,k=G[e].prototype,l,m=["group","markerGroup","dataLabelsGroup","navigatorSeries","baseSeries"],n=c.finishedAnimating&&{animation:!1}; if(Object.keys&&"data"===Object.keys(a).toString())return this.setData(a.data,b);if(h&&h!==e||void 0!==a.zIndex)m.length=0;q(m,function(a){m[a]=c[a];delete c[a]});a=g(d,n,{index:c.index,pointStart:c.xData[0]},{data:c.options.data},a);c.remove(!1,null,!1);for(l in k)c[l]=void 0;u(c,G[h||e].prototype);q(m,function(a){c[a]=m[a]});c.init(f,a);c.oldType=e;f.linkSeries();p(b,!0)&&f.redraw(!1)}});u(C.prototype,{update:function(a,b){var c=this.chart;a=c.options[this.coll][this.options.index]=g(this.userOptions, a);this.destroy(!0);this.init(c,u(a,{events:void 0}));c.isDirtyBox=!0;p(b,!0)&&c.redraw()},remove:function(a){for(var b=this.chart,f=this.coll,g=this.series,d=g.length;d--;)g[d]&&g[d].remove(!1);t(b.axes,this);t(b[f],this);c(b.options[f])?b.options[f].splice(this.options.index,1):delete b.options[f];q(b[f],function(a,b){a.options.index=b});this.destroy();b.isDirtyBox=!0;p(a,!0)&&b.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.animObject,B=a.color,C=a.each,A=a.extend,e=a.isNumber,d=a.merge,q=a.pick,t=a.Series,u=a.seriesType,n=a.svg;u("column","line",{borderRadius:0,crisp:!0,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{halo:!1,brightness:.1,shadow:!1},select:{color:"#cccccc",borderColor:"#000000",shadow:!1}},dataLabels:{align:null,verticalAlign:null,y:null},softThreshold:!1,startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0, borderColor:"#ffffff"},{cropShoulder:0,directTouch:!0,trackerGroups:["group","dataLabelsGroup"],negStacks:!0,init:function(){t.prototype.init.apply(this,arguments);var a=this,d=a.chart;d.hasRendered&&C(d.series,function(d){d.type===a.type&&(d.isDirty=!0)})},getColumnMetrics:function(){var a=this,d=a.options,e=a.xAxis,c=a.yAxis,g=e.reversed,b,p={},l=0;!1===d.grouping?l=1:C(a.chart.series,function(f){var d=f.options,g=f.yAxis,e;f.type!==a.type||!f.visible&&a.chart.options.chart.ignoreHiddenSeries|| c.len!==g.len||c.pos!==g.pos||(d.stacking?(b=f.stackKey,void 0===p[b]&&(p[b]=l++),e=p[b]):!1!==d.grouping&&(e=l++),f.columnIndex=e)});var n=Math.min(Math.abs(e.transA)*(e.ordinalSlope||d.pointRange||e.closestPointRange||e.tickInterval||1),e.len),u=n*d.groupPadding,f=(n-2*u)/(l||1),d=Math.min(d.maxPointWidth||e.len,q(d.pointWidth,f*(1-2*d.pointPadding)));a.columnMetrics={width:d,offset:(f-d)/2+(u+((a.columnIndex||0)+(g?1:0))*f-n/2)*(g?-1:1)};return a.columnMetrics},crispCol:function(a,d,e,c){var g= this.chart,b=this.borderWidth,h=-(b%2?.5:0),b=b%2?.5:1;g.inverted&&g.renderer.isVML&&(b+=1);this.options.crisp&&(e=Math.round(a+e)+h,a=Math.round(a)+h,e-=a);c=Math.round(d+c)+b;h=.5>=Math.abs(d)&&.5a.closestPointRange*a.xAxis.transA,c=a.borderWidth=q(e.borderWidth,c?0:1),g=a.yAxis,b=a.translatedThreshold=g.getThreshold(e.threshold),p=q(e.minPointLength,5), l=a.getColumnMetrics(),n=l.width,u=a.barW=Math.max(n,1+2*c),f=a.pointXOffset=l.offset;d.inverted&&(b-=.5);e.pointPadding&&(u=Math.ceil(u));t.prototype.translate.apply(a);C(a.points,function(c){var e=q(c.yBottom,b),l=999+Math.abs(e),l=Math.min(Math.max(-l,c.plotY),g.len+l),h=c.plotX+f,m=u,r=Math.min(l,e),t,H=Math.max(l,e)-r;Math.abs(H)p?e-p:b-(t?p:0));c.barX=h;c.pointWidth=n;c.tooltipPos=d.inverted?[g.len+g.pos-d.plotLeft- l,a.xAxis.len-h-m/2,H]:[h+m/2,l+g.pos-d.plotTop,H];c.shapeType="rect";c.shapeArgs=a.crispCol.apply(a,c.isNull?[h,b,m,0]:[h,r,m,H])})},getSymbol:a.noop,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,drawGraph:function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")},pointAttribs:function(a,e){var h=this.options,c,g=this.pointAttrToOptions||{};c=g.stroke||"borderColor";var b=g["stroke-width"]||"borderWidth",p=a&&a.color||this.color,l=a[c]||h[c]||this.color||p,n=a[b]|| h[b]||this[b]||0,g=h.dashStyle;a&&this.zones.length&&(p=a.getZone(),p=a.options.color||p&&p.color||this.color);e&&(a=d(h.states[e],a.options.states&&a.options.states[e]||{}),e=a.brightness,p=a.color||void 0!==e&&B(p).brighten(a.brightness).get()||p,l=a[c]||l,n=a[b]||n,g=a.dashStyle||g);c={fill:p,stroke:l,"stroke-width":n};g&&(c.dashstyle=g);return c},drawPoints:function(){var a=this,n=this.chart,m=a.options,c=n.renderer,g=m.animationLimit||250,b;C(a.points,function(h){var l=h.graphic;if(e(h.plotY)&& null!==h.y){b=h.shapeArgs;if(l)l[n.pointCountb){c(a,function(a,b){return(b.rank||0)-(a.rank||0)});for(m=g=0;m<=b;)m+=a[g].size,g++;f=a.splice(g-1,a.length)}c(a,d);for(a=q(a,function(a){return{size:a.size,targets:[a.target]}});e;){for(g=a.length;g--;)e=a[g],m=(Math.min.apply(0,e.targets)+Math.max.apply(0,e.targets))/2,e.pos=Math.min(Math.max(0,m-e.size/2),b-e.size);g=a.length;for(e=!1;g--;)0a[g].pos&& (a[g-1].size+=a[g].size,a[g-1].targets=a[g-1].targets.concat(a[g].targets),a[g-1].pos+a[g-1].size>b&&(a[g-1].pos=b-a[g-1].size),a.splice(g,1),e=!0)}g=0;A(a,function(a){var b=0;A(a.targets,function(){h[g].pos=a.pos+b;b+=h[g].size;g++})});h.push.apply(h,f);c(h,d)};r.prototype.drawDataLabels=function(){var c=this,b=c.options,e=b.dataLabels,l=c.points,h,m,f=c.hasRendered||0,u,r,y=n(e.defer,!!b.animation),q=c.chart.renderer;if(e.enabled||c._hasPointLabels)c.dlProcessOptions&&c.dlProcessOptions(e),r=c.plotGroup("dataLabelsGroup", "data-labels",y&&!f?"hidden":"visible",e.zIndex||6),y&&(r.attr({opacity:+f}),f||z(c,"afterAnimate",function(){c.visible&&r.show(!0);r[b.animation?"animate":"attr"]({opacity:1},{duration:200})})),m=e,A(l,function(f){var g,l=f.dataLabel,p,k,v=f.connector,y=!l,D;h=f.dlOptions||f.options&&f.options.dataLabels;if(g=n(h&&h.enabled,m.enabled)&&null!==f.y)e=t(m,h),p=f.getLabelConfig(),u=e.format?d(e.format,p):e.formatter.call(p,e),D=e.style,p=e.rotation,D.color=n(e.color,D.color,c.color,"#000000"),"contrast"=== D.color&&(f.contrastColor=q.getContrast(f.color||c.color),D.color=e.inside||0>n(f.labelDistance,e.distance)||b.stacking?f.contrastColor:"#000000"),b.cursor&&(D.cursor=b.cursor),k={fill:e.backgroundColor,stroke:e.borderColor,"stroke-width":e.borderWidth,r:e.borderRadius||0,rotation:p,padding:e.padding,zIndex:1},a.objectEach(k,function(a,b){void 0===a&&delete k[b]});!l||g&&C(u)?g&&C(u)&&(l?k.text=u:(l=f.dataLabel=q[p?"text":"label"](u,0,-9999,e.shape,null,null,e.useHTML,null,"data-label"),l.addClass("highcharts-data-label-color-"+ f.colorIndex+" "+(e.className||"")+(e.useHTML?"highcharts-tracker":""))),l.attr(k),l.css(D).shadow(e.shadow),l.added||l.add(r),c.alignDataLabel(f,l,e,null,y)):(f.dataLabel=l=l.destroy(),v&&(f.connector=v.destroy()))})};r.prototype.alignDataLabel=function(a,b,c,d,h){var g=this.chart,f=g.inverted,l=n(a.plotX,-9999),p=n(a.plotY,-9999),m=b.getBBox(),u,v=c.rotation,r=c.align,t=this.visible&&(a.series.forceDL||g.isInsidePlot(l,Math.round(p),f)||d&&g.isInsidePlot(l,f?d.x+1:d.y+d.height-1,f)),q="justify"=== n(c.overflow,"justify");if(t&&(u=c.style.fontSize,u=g.renderer.fontMetrics(u,b).b,d=e({x:f?this.yAxis.len-p:l,y:Math.round(f?this.xAxis.len-l:p),width:0,height:0},d),e(c,{width:m.width,height:m.height}),v?(q=!1,l=g.renderer.rotCorr(u,v),l={x:d.x+c.x+d.width/2+l.x,y:d.y+c.y+{top:0,middle:.5,bottom:1}[c.verticalAlign]*d.height},b[h?"attr":"animate"](l).attr({align:r}),p=(v+720)%360,p=180p,"left"===r?l.y-=p?m.height:0:"center"===r?(l.x-=m.width/2,l.y-=m.height/2):"right"===r&&(l.x-=m.width,l.y-= p?0:m.height)):(b.align(c,null,d),l=b.alignAttr),q?a.isLabelJustified=this.justifyDataLabel(b,c,l,m,d,h):n(c.crop,!0)&&(t=g.isInsidePlot(l.x,l.y)&&g.isInsidePlot(l.x+m.width,l.y+m.height)),c.shape&&!v))b[h?"attr":"animate"]({anchorX:f?g.plotWidth-a.plotY:a.plotX,anchorY:f?g.plotHeight-a.plotX:a.plotY});t||(b.attr({y:-9999}),b.placed=!1)};r.prototype.justifyDataLabel=function(a,b,c,d,e,h){var f=this.chart,g=b.align,l=b.verticalAlign,p,m,n=a.box?0:a.padding||0;p=c.x+n;0>p&&("right"===g?b.align="left": b.x=-p,m=!0);p=c.x+d.width-n;p>f.plotWidth&&("left"===g?b.align="right":b.x=f.plotWidth-p,m=!0);p=c.y+n;0>p&&("bottom"===l?b.verticalAlign="top":b.y=-p,m=!0);p=c.y+d.height-n;p>f.plotHeight&&("top"===l?b.verticalAlign="bottom":b.y=f.plotHeight-p,m=!0);m&&(a.placed=!h,a.align(b,null,e));return m};m.pie&&(m.pie.prototype.drawDataLabels=function(){var c=this,b=c.data,d,e=c.chart,h=c.options.dataLabels,m=n(h.connectorPadding,10),f=n(h.connectorWidth,1),u=e.plotWidth,t=e.plotHeight,q,z=c.center,v=z[2]/ 2,L=z[1],F,J,k,w,N=[[],[]],K,I,O,P,x=[0,0,0,0];c.visible&&(h.enabled||c._hasPointLabels)&&(A(b,function(a){a.dataLabel&&a.visible&&a.dataLabel.shortened&&(a.dataLabel.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),a.dataLabel.shortened=!1)}),r.prototype.drawDataLabels.apply(c),A(b,function(a){a.dataLabel&&a.visible&&(N[a.half].push(a),a.dataLabel._pos=null)}),A(N,function(b,f){var g,l,p=b.length,r=[],q;if(p)for(c.sortByAngle(b,f-.5),0d.bottom-2?g:I,f,d),F._attr={visibility:O,align:k[6]},F._pos={x:K+h.x+({left:m,right:-m}[k[6]]||0),y:I+h.y-10},k.x=K,k.y=I,n(h.crop,!0)&&(J=F.getBBox().width,g=null,K-Ju-m&&(g=Math.round(K+J-u+m),x[1]=Math.max(g,x[1])),0>I-w/2?x[0]=Math.max(Math.round(-I+w/2),x[0]):I+w/2>t&&(x[2]=Math.max(Math.round(I+w/2-t),x[2])),F.sideOverflow=g)}),0===B(x)||this.verifyDataLabelOverflow(x))&& (this.placeDataLabels(),f&&A(this.points,function(a){var b;q=a.connector;if((F=a.dataLabel)&&F._pos&&a.visible&&0n(this.translatedThreshold,f.yAxis.len)),m=n(c.inside,!!this.options.stacking);h&&(d=t(h),0>d.y&&(d.height+=d.y,d.y=0),h=d.y+d.height-f.yAxis.len,0 a+c||d+eb+f||g+hthis.pointCount))},pan:function(a,b){var c=this,f=c.hoverPoints,d;f&&q(f,function(a){a.setState()});q("xy"===b?[1,0]:[1],function(b){b=c[b?"xAxis":"yAxis"][0];var f=b.horiz,g=a[f?"chartX": "chartY"],f=f?"mouseDownX":"mouseDownY",e=c[f],k=(b.pointRange||0)/2,h=b.getExtremes(),l=b.toValue(e-g,!0)+k,k=b.toValue(e+b.len-g,!0)-k,m=k=d(n.minWidth,0)&&this.chartHeight>=d(n.minHeight,0)}).call(this)&&e.push(a._id)};z.prototype.currentOptions=function(d){function u(d,n,m,c){var g;a.objectEach(d,function(a,h){if(!c&&-1a?this:e,d=(a.max-a.min)*a.transA,a.pixelPadding=a.len-d,a.minPixelPadding=a.pixelPadding/2,d=a.fixTo)){d=d[1]-a.toValue(d[0],!0);d*=a.transA;if(Math.abs(d)>a.minPixelPadding||a.min===a.dataMin&&a.max===a.dataMax)d=0; a.minPixelPadding-=d}});a(z.prototype,"render",function(a){a.call(this);this.fixTo=null})})(I);(function(a){var z=a.Axis,B=a.Chart,C=a.color,A,e=a.each,d=a.extend,q=a.isNumber,t=a.Legend,u=a.LegendSymbolMixin,n=a.noop,h=a.merge,r=a.pick,m=a.wrap;A=a.ColorAxis=function(){this.init.apply(this,arguments)};d(A.prototype,z.prototype);d(A.prototype,{defaultColorAxisOptions:{lineWidth:0,minPadding:0,maxPadding:0,gridLineWidth:1,tickPixelInterval:72,startOnTick:!0,endOnTick:!0,offset:0,marker:{animation:{duration:50}, width:.01,color:"#999999"},labels:{overflow:"justify",rotation:0},minColor:"#e6ebf5",maxColor:"#003399",tickLength:5,showInLegend:!0},keepProps:["legendGroup","legendItemHeight","legendItemWidth","legendItem","legendSymbol"].concat(z.prototype.keepProps),init:function(a,d){var b="vertical"!==a.options.legend.layout,c;this.coll="colorAxis";c=h(this.defaultColorAxisOptions,{side:b?2:1,reversed:!b},d,{opposite:!b,showEmpty:!1,title:null});z.prototype.init.call(this,a,c);d.dataClasses&&this.initDataClasses(d); this.initStops();this.horiz=b;this.zoomEnabled=!1;this.defaultLegendLength=200},initDataClasses:function(a){var c=this.chart,b,d=0,l=c.options.chart.colorCount,m=this.options,n=a.dataClasses.length;this.dataClasses=b=[];this.legendItems=[];e(a.dataClasses,function(a,g){a=h(a);b.push(a);a.color||("category"===m.dataClassColor?(g=c.options.colors,l=g.length,a.color=g[d],a.colorIndex=d,d++,d===l&&(d=0)):a.color=C(m.minColor).tweenTo(C(m.maxColor),2>n?.5:g/(n-1)))})},setTickPositions:function(){if(!this.dataClasses)return z.prototype.setTickPositions.call(this)}, initStops:function(){this.stops=this.options.stops||[[0,this.options.minColor],[1,this.options.maxColor]];e(this.stops,function(a){a.color=C(a[1])})},setOptions:function(a){z.prototype.setOptions.call(this,a);this.options.crosshair=this.options.marker},setAxisSize:function(){var a=this.legendSymbol,d=this.chart,b=d.options.legend||{},e,h;a?(this.left=b=a.attr("x"),this.top=e=a.attr("y"),this.width=h=a.attr("width"),this.height=a=a.attr("height"),this.right=d.chartWidth-b-h,this.bottom=d.chartHeight- e-a,this.len=this.horiz?h:a,this.pos=this.horiz?b:e):this.len=(this.horiz?b.symbolWidth:b.symbolHeight)||this.defaultLegendLength},normalizedValue:function(a){this.isLog&&(a=this.val2lin(a));return 1-(this.max-a)/(this.max-this.min||1)},toColor:function(a,d){var b=this.stops,c,e,g=this.dataClasses,h,f;if(g)for(f=g.length;f--;){if(h=g[f],c=h.from,b=h.to,(void 0===c||a>=c)&&(void 0===b||a<=b)){e=h.color;d&&(d.dataClass=f,d.colorIndex=h.colorIndex);break}}else{a=this.normalizedValue(a);for(f=b.length;f--&& !(a>b[f][0]););c=b[f]||b[f+1];b=b[f+1]||c;a=1-(b[0]-a)/(b[0]-c[0]||1);e=c.color.tweenTo(b.color,a)}return e},getOffset:function(){var a=this.legendGroup,d=this.chart.axisOffset[this.side];a&&(this.axisParent=a,z.prototype.getOffset.call(this),this.added||(this.added=!0,this.labelLeft=0,this.labelRight=this.width),this.chart.axisOffset[this.side]=d)},setLegendColor:function(){var a,d=this.reversed;a=d?1:0;d=d?0:1;a=this.horiz?[a,0,d,0]:[0,d,0,a];this.legendColor={linearGradient:{x1:a[0],y1:a[1],x2:a[2], y2:a[3]},stops:this.stops}},drawLegendSymbol:function(a,d){var b=a.padding,c=a.options,e=this.horiz,g=r(c.symbolWidth,e?this.defaultLegendLength:12),h=r(c.symbolHeight,e?12:this.defaultLegendLength),f=r(c.labelPadding,e?16:30),c=r(c.itemDistance,10);this.setLegendColor();d.legendSymbol=this.chart.renderer.rect(0,a.baseline-11,g,h).attr({zIndex:1}).add(d.legendGroup);this.legendItemWidth=g+b+(e?c:f);this.legendItemHeight=h+b+(e?f:0)},setState:n,visible:!0,setVisible:n,getSeriesExtremes:function(){var a= this.series,d=a.length;this.dataMin=Infinity;for(this.dataMax=-Infinity;d--;)void 0!==a[d].valueMin&&(this.dataMin=Math.min(this.dataMin,a[d].valueMin),this.dataMax=Math.max(this.dataMax,a[d].valueMax))},drawCrosshair:function(a,d){var b=d&&d.plotX,c=d&&d.plotY,e,g=this.pos,h=this.len;d&&(e=this.toPixels(d[d.series.colorKey]),eg+h&&(e=g+h+2),d.plotX=e,d.plotY=this.len-e,z.prototype.drawCrosshair.call(this,a,d),d.plotX=b,d.plotY=c,this.cross&&(this.cross.addClass("highcharts-coloraxis-marker").add(this.legendGroup), this.cross.attr({fill:this.crosshair.color})))},getPlotLinePath:function(a,d,b,e,h){return q(h)?this.horiz?["M",h-4,this.top-6,"L",h+4,this.top-6,h,this.top,"Z"]:["M",this.left,h,"L",this.left-6,h+6,this.left-6,h-6,"Z"]:z.prototype.getPlotLinePath.call(this,a,d,b,e)},update:function(a,d){var b=this.chart,c=b.legend;e(this.series,function(a){a.isDirtyData=!0});a.dataClasses&&c.allItems&&(e(c.allItems,function(a){a.isDataClass&&a.legendGroup&&a.legendGroup.destroy()}),b.isDirtyLegend=!0);b.options[this.coll]= h(this.userOptions,a);z.prototype.update.call(this,a,d);this.legendItem&&(this.setLegendColor(),c.colorizeItem(this,!0))},remove:function(){this.legendItem&&this.chart.legend.destroyItem(this);z.prototype.remove.call(this)},getDataClassLegendSymbols:function(){var c=this,g=this.chart,b=this.legendItems,h=g.options.legend,l=h.valueDecimals,m=h.valueSuffix||"",r;b.length||e(this.dataClasses,function(f,h){var p=!0,t=f.from,q=f.to;r="";void 0===t?r="\x3c ":void 0===q&&(r="\x3e ");void 0!==t&&(r+=a.numberFormat(t, l)+m);void 0!==t&&void 0!==q&&(r+=" - ");void 0!==q&&(r+=a.numberFormat(q,l)+m);b.push(d({chart:g,name:r,options:{},drawLegendSymbol:u.drawRectangle,visible:!0,setState:n,isDataClass:!0,setVisible:function(){p=this.visible=!p;e(c.series,function(a){e(a.points,function(a){a.dataClass===h&&a.setVisible(p)})});g.legend.colorizeItem(this,p)}},f))});return b},name:""});e(["fill","stroke"],function(c){a.Fx.prototype[c+"Setter"]=function(){this.elem.attr(c,C(this.start).tweenTo(C(this.end),this.pos),null, !0)}});m(B.prototype,"getAxes",function(a){var c=this.options.colorAxis;a.call(this);this.colorAxis=[];c&&new A(this,c)});m(t.prototype,"getAllItems",function(a){var c=[],b=this.chart.colorAxis[0];b&&b.options&&(b.options.showInLegend&&(b.options.dataClasses?c=c.concat(b.getDataClassLegendSymbols()):c.push(b)),e(b.series,function(a){a.options.showInLegend=!1}));return c.concat(a.call(this))});m(t.prototype,"colorizeItem",function(a,d,b){a.call(this,d,b);b&&d.legendColor&&d.legendSymbol.attr({fill:d.legendColor})}); m(t.prototype,"update",function(a){a.apply(this,[].slice.call(arguments,1));this.chart.colorAxis[0]&&this.chart.colorAxis[0].update({},arguments[2])})})(I);(function(a){var z=a.defined,B=a.each,C=a.noop,A=a.seriesTypes;a.colorPointMixin={isValid:function(){return null!==this.value},setVisible:function(a){var d=this,e=a?"show":"hide";B(["graphic","dataLabel"],function(a){if(d[a])d[a][e]()})},setState:function(e){a.Point.prototype.setState.call(this,e);this.graphic&&this.graphic.attr({zIndex:"hover"=== e?1:0})}};a.colorSeriesMixin={pointArrayMap:["value"],axisTypes:["xAxis","yAxis","colorAxis"],optionalAxis:"colorAxis",trackerGroups:["group","markerGroup","dataLabelsGroup"],getSymbol:C,parallelArrays:["x","y","value"],colorKey:"value",pointAttribs:A.column.prototype.pointAttribs,translateColors:function(){var a=this,d=this.options.nullColor,q=this.colorAxis,t=this.colorKey;B(this.data,function(e){var n=e[t];if(n=e.options.color||(e.isNull?d:q&&void 0!==n?q.toColor(n,e):e.color||a.color))e.color= n})},colorAttribs:function(a){var d={};z(a.color)&&(d[this.colorProp||"fill"]=a.color);return d}}})(I);(function(a){function z(a){a&&(a.preventDefault&&a.preventDefault(),a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)}function B(a){this.init(a)}var C=a.addEvent,A=a.Chart,e=a.doc,d=a.each,q=a.extend,t=a.merge,u=a.pick,n=a.wrap;B.prototype.init=function(a){this.chart=a;a.mapNavButtons=[]};B.prototype.update=function(d){var e=this.chart,h=e.options.mapNavigation,c,g,b,n,l,A=function(a){this.handler.call(e, a);z(a)},B=e.mapNavButtons;d&&(h=e.options.mapNavigation=t(e.options.mapNavigation,d));for(;B.length;)B.pop().destroy();u(h.enableButtons,h.enabled)&&!e.renderer.forExport&&a.objectEach(h.buttons,function(a,d){c=t(h.buttonOptions,a);g=c.theme;g.style=t(c.theme.style,c.style);n=(b=g.states)&&b.hover;l=b&&b.select;a=e.renderer.button(c.text,0,0,A,g,n,l,0,"zoomIn"===d?"topbutton":"bottombutton").addClass("highcharts-map-navigation").attr({width:c.width,height:c.height,title:e.options.lang[d],padding:c.padding, zIndex:5}).add();a.handler=c.onclick;a.align(q(c,{width:a.width,height:2*a.height}),null,c.alignTo);C(a.element,"dblclick",z);B.push(a)});this.updateEvents(h)};B.prototype.updateEvents=function(a){var d=this.chart;u(a.enableDoubleClickZoom,a.enabled)||a.enableDoubleClickZoomTo?this.unbindDblClick=this.unbindDblClick||C(d.container,"dblclick",function(a){d.pointer.onContainerDblClick(a)}):this.unbindDblClick&&(this.unbindDblClick=this.unbindDblClick());u(a.enableMouseWheelZoom,a.enabled)?this.unbindMouseWheel= this.unbindMouseWheel||C(d.container,void 0===e.onmousewheel?"DOMMouseScroll":"mousewheel",function(a){d.pointer.onContainerMouseWheel(a);z(a);return!1}):this.unbindMouseWheel&&(this.unbindMouseWheel=this.unbindMouseWheel())};q(A.prototype,{fitToBox:function(a,e){d([["x","width"],["y","height"]],function(d){var c=d[0];d=d[1];a[c]+a[d]>e[c]+e[d]&&(a[d]>e[d]?(a[d]=e[d],a[c]=e[c]):a[c]=e[c]+e[d]-a[d]);a[d]>e[d]&&(a[d]=e[d]);a[c]=b.dataMax-b.dataMin&&l.y<=h.dataMin&&l.height>=h.dataMax-h.dataMin;c&&(b.fixTo=[c-b.pos,d]);g&&(h.fixTo=[g-h.pos,e]);void 0===a||m?(b.setExtremes(void 0,void 0,!1),h.setExtremes(void 0,void 0,!1)):(b.setExtremes(l.x, l.x+l.width,!1),h.setExtremes(l.y,l.y+l.height,!1));this.redraw()}});n(A.prototype,"render",function(a){this.mapNavigation=new B(this);this.mapNavigation.update();a.call(this)})})(I);(function(a){var z=a.extend,B=a.pick,C=a.Pointer;a=a.wrap;z(C.prototype,{onContainerDblClick:function(a){var e=this.chart;a=this.normalize(a);e.options.mapNavigation.enableDoubleClickZoomTo?e.pointer.inClass(a.target,"highcharts-tracker")&&e.hoverPoint&&e.hoverPoint.zoomTo():e.isInsidePlot(a.chartX-e.plotLeft,a.chartY- e.plotTop)&&e.mapZoom(.5,e.xAxis[0].toValue(a.chartX),e.yAxis[0].toValue(a.chartY),a.chartX,a.chartY)},onContainerMouseWheel:function(a){var e=this.chart,d;a=this.normalize(a);d=a.detail||-(a.wheelDelta/120);e.isInsidePlot(a.chartX-e.plotLeft,a.chartY-e.plotTop)&&e.mapZoom(Math.pow(e.options.mapNavigation.mouseWheelSensitivity,d),e.xAxis[0].toValue(a.chartX),e.yAxis[0].toValue(a.chartY),a.chartX,a.chartY)}});a(C.prototype,"zoomOption",function(a){var e=this.chart.options.mapNavigation;B(e.enableTouchZoom, e.enabled)&&(this.chart.options.chart.pinchType="xy");a.apply(this,[].slice.call(arguments,1))});a(C.prototype,"pinchTranslate",function(a,e,d,q,t,u,n){a.call(this,e,d,q,t,u,n);"map"===this.chart.options.chart.type&&this.hasZoom&&(a=q.scaleX>q.scaleY,this.pinchTranslateDirection(!a,e,d,q,t,u,n,a?q.scaleX:q.scaleY))})})(I);(function(a){var z=a.colorPointMixin,B=a.each,C=a.extend,A=a.isNumber,e=a.map,d=a.merge,q=a.noop,t=a.pick,u=a.isArray,n=a.Point,h=a.Series,r=a.seriesType,m=a.seriesTypes,c=a.splat, g=void 0!==a.doc.documentElement.style.vectorEffect;r("map","scatter",{allAreas:!0,animation:!1,nullColor:"#f7f7f7",borderColor:"#cccccc",borderWidth:1,marker:null,stickyTracking:!1,joinBy:"hc-key",dataLabels:{formatter:function(){return this.point.value},inside:!0,verticalAlign:"middle",crop:!1,overflow:!1,padding:0},turboThreshold:0,tooltip:{followPointer:!0,pointFormat:"{point.name}: {point.value}\x3cbr/\x3e"},states:{normal:{animation:!0},hover:{brightness:.2,halo:null},select:{color:"#cccccc"}}}, d(a.colorSeriesMixin,{type:"map",getExtremesFromAll:!0,useMapGeometry:!0,forceDL:!0,searchPoint:q,directTouch:!0,preserveAspectRatio:!0,pointArrayMap:["value"],getBox:function(b){var c=Number.MAX_VALUE,d=-c,e=c,g=-c,f=c,h=c,m=this.xAxis,n=this.yAxis,u;B(b||[],function(b){if(b.path){"string"===typeof b.path&&(b.path=a.splitPath(b.path));var l=b.path||[],m=l.length,n=!1,k=-c,p=c,r=-c,q=c,v=b.properties;if(!b._foundBox){for(;m--;)A(l[m])&&(n?(k=Math.max(k,l[m]),p=Math.min(p,l[m])):(r=Math.max(r,l[m]), q=Math.min(q,l[m])),n=!n);b._midX=p+(k-p)*t(b.middleX,v&&v["hc-middle-x"],.5);b._midY=q+(r-q)*t(b.middleY,v&&v["hc-middle-y"],.5);b._maxX=k;b._minX=p;b._maxY=r;b._minY=q;b.labelrank=t(b.labelrank,(k-p)*(r-q));b._foundBox=!0}d=Math.max(d,b._maxX);e=Math.min(e,b._minX);g=Math.max(g,b._maxY);f=Math.min(f,b._minY);h=Math.min(b._maxX-b._minX,b._maxY-b._minY,h);u=!0}});u&&(this.minY=Math.min(f,t(this.minY,c)),this.maxY=Math.max(g,t(this.maxY,-c)),this.minX=Math.min(e,t(this.minX,c)),this.maxX=Math.max(d, t(this.maxX,-c)),m&&void 0===m.options.minRange&&(m.minRange=Math.min(5*h,(this.maxX-this.minX)/5,m.minRange||c)),n&&void 0===n.options.minRange&&(n.minRange=Math.min(5*h,(this.maxY-this.minY)/5,n.minRange||c)))},getExtremes:function(){h.prototype.getExtremes.call(this,this.valueData);this.chart.hasRendered&&this.isDirtyData&&this.getBox(this.options.data);this.valueMin=this.dataMin;this.valueMax=this.dataMax;this.dataMin=this.minY;this.dataMax=this.maxY},translatePath:function(a){var b=!1,c=this.xAxis, d=this.yAxis,e=c.min,f=c.transA,c=c.minPixelPadding,g=d.min,h=d.transA,d=d.minPixelPadding,m,n=[];if(a)for(m=a.length;m--;)A(a[m])?(n[m]=b?(a[m]-e)*f+c:(a[m]-g)*h+d,b=!b):n[m]=a[m];return n},setData:function(b,g,l,m){var n=this.options,f=this.chart.options.chart,p=f&&f.map,r=n.mapData,q=n.joinBy,t=null===q,v=n.keys||this.pointArrayMap,z=[],C={},E=this.chart.mapTransforms;!r&&p&&(r="string"===typeof p?a.maps[p]:p);t&&(q="_i");q=this.joinBy=c(q);q[1]||(q[1]=q[0]);b&&B(b,function(a,c){var d=0;if(A(a))b[c]= {value:a};else if(u(a)){b[c]={};!n.keys&&a.length>v.length&&"string"===typeof a[0]&&(b[c]["hc-key"]=a[0],++d);for(var f=0;fn&&.99u&&(u=n=1,r=Math.round(r), q=Math.round(q)),z=this.transformGroup,h.renderer.globalAnimation?(C=z.attr("translateX"),A=z.attr("translateY"),k=z.attr("scaleX"),w=z.attr("scaleY"),z.attr({animator:0}).animate({animator:1},{step:function(a,b){z.attr({translateX:C+(r-C)*b.pos,translateY:A+(q-A)*b.pos,scaleX:k+(n-k)*b.pos,scaleY:w+(u-w)*b.pos})}})):z.attr({translateX:r,translateY:q,scaleX:n,scaleY:u}));g||a.group.element.setAttribute("stroke-width",a.options[a.pointAttrToOptions&&a.pointAttrToOptions["stroke-width"]||"borderWidth"]/ (n||1));this.drawMapDataLabels()},drawMapDataLabels:function(){h.prototype.drawDataLabels.call(this);this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)},render:function(){var a=this,c=h.prototype.render;a.chart.renderer.isVML&&3E3=this.minPxSize/2?(b.marker=a.extend(b.marker,{radius:h,width:2*h,height:2*h}),b.dlBox={x:b.plotX-h,y:b.plotY-h,width:2*h,height:2*h}):b.shapeArgs=b.plotY=b.dlBox=void 0},alignDataLabel:m.column.prototype.alignDataLabel,buildKDTree:q,applyZones:q},{haloPath:function(a){return n.prototype.haloPath.call(this,0===a?0:(this.marker?this.marker.radius||0:0)+a)},ttBelow:!1});C.prototype.beforePadding= function(){var a=this,g=this.len,b=this.chart,h=0,l=g,n=this.isXAxis,m=n?"xData":"yData",f=this.min,r={},q=Math.min(b.plotWidth,b.plotHeight),y=Number.MAX_VALUE,A=-Number.MAX_VALUE,v=this.max-f,C=g/v,F=[];e(this.series,function(c){var d=c.options;!c.bubblePadding||!c.visible&&b.options.chart.ignoreHiddenSeries||(a.allowZoomOutside=!0,F.push(c),n&&(e(["minSize","maxSize"],function(a){var b=d[a],c=/%$/.test(b),b=u(b);r[a]=c?q*b/100:b}),c.minPxSize=r.minSize,c.maxPxSize=Math.max(r.maxSize,r.minSize), c=c.zData,c.length&&(y=t(d.zMin,Math.min(y,Math.max(B(c),!1===d.displayNegative?d.zThreshold:-Number.MAX_VALUE))),A=t(d.zMax,Math.max(A,z(c))))))});e(F,function(b){var c=b[m],e=c.length,g;n&&b.getRadii(y,A,b.minPxSize,b.maxPxSize);if(0b,m=d[e][1]>b,n!==m&&g<(d[e][0]-d[a][0])* (b-d[a][1])/(d[e][1]-d[a][1])+d[a][0]&&(c=!c);return c}var B=a.Chart,C=a.each,A=a.extend,e=a.format,d=a.merge,q=a.win,t=a.wrap;B.prototype.transformFromLatLon=function(d,e){if(void 0===q.proj4)return a.error(21),{x:0,y:null};d=q.proj4(e.crs,[d.lon,d.lat]);var h=e.cosAngle||e.rotation&&Math.cos(e.rotation),n=e.sinAngle||e.rotation&&Math.sin(e.rotation);d=e.rotation?[d[0]*h+d[1]*n,-d[0]*n+d[1]*h]:d;return{x:((d[0]-(e.xoffset||0))*(e.scale||1)+(e.xpan||0))*(e.jsonres||1)+(e.jsonmarginX||0),y:(((e.yoffset|| 0)-d[1])*(e.scale||1)+(e.ypan||0))*(e.jsonres||1)-(e.jsonmarginY||0)}};B.prototype.transformToLatLon=function(d,e){if(void 0===q.proj4)a.error(21);else{d={x:((d.x-(e.jsonmarginX||0))/(e.jsonres||1)-(e.xpan||0))/(e.scale||1)+(e.xoffset||0),y:((-d.y-(e.jsonmarginY||0))/(e.jsonres||1)+(e.ypan||0))/(e.scale||1)+(e.yoffset||0)};var h=e.cosAngle||e.rotation&&Math.cos(e.rotation),n=e.sinAngle||e.rotation&&Math.sin(e.rotation);e=q.proj4(e.crs,"WGS84",e.rotation?{x:d.x*h+d.y*-n,y:d.x*n+d.y*h}:d);return{lat:e.y, lon:e.x}}};B.prototype.fromPointToLatLon=function(d){var e=this.mapTransforms,h;if(e){for(h in e)if(e.hasOwnProperty(h)&&e[h].hitZone&&z({x:d.x,y:-d.y},e[h].hitZone.coordinates[0]))return this.transformToLatLon(d,e[h]);return this.transformToLatLon(d,e["default"])}a.error(22)};B.prototype.fromLatLonToPoint=function(d){var e=this.mapTransforms,h,r;if(!e)return a.error(22),{x:0,y:null};for(h in e)if(e.hasOwnProperty(h)&&e[h].hitZone&&(r=this.transformFromLatLon(d,e[h]),z({x:r.x,y:-r.y},e[h].hitZone.coordinates[0])))return r; return this.transformFromLatLon(d,e["default"])};a.geojson=function(a,d,h){var n=[],m=[],c=function(a){var b,c=a.length;m.push("M");for(b=0;b