f?"left":"right",h=0>f?"right":"left",e[c]&&(c=n(t,e[c],s+1,l),p=c[a]s;)a--;this.updateParallelArrays(r,"splice",a,0,0),this.updateParallelArrays(r,a),h&&r.name&&(h[s]=r.name),d.splice(a,0,t),o&&(this.data.splice(a,0,null),this.processData()),"point"===l.legendType&&this.generatePoints(),n&&(u[0]&&u[0].remove?u[0].remove(!1):(u.shift(),this.updateParallelArrays(r,"shift"),d.shift())),this.isDirtyData=this.isDirty=!0,e&&c.redraw(i)},removePoint:function(t,e,n){var i=this,r=i.data,o=r[t],a=i.points,s=i.chart,l=function(){a&&a.length===r.length&&a.splice(t,1),r.splice(t,1),i.options.data.splice(t,1),i.updateParallelArrays(o||{series:i},"splice",t,1),o&&o.destroy(),i.isDirty=!0,i.isDirtyData=!0,e&&s.redraw()};w(n,s),e=v(e,!0),o?o.firePointEvent("remove",null,l):l()},remove:function(t,e,n){function i(){r.destroy(),o.isDirtyLegend=o.isDirtyBox=!0,o.linkSeries(),v(t,!0)&&o.redraw(e)}var r=this,o=r.chart;!1!==n?c(r,"remove",null,i):i()},update:function(t,e){var n,i=this,r=i.chart,o=i.userOptions,a=i.oldType||i.type,l=t.type||o.type||r.options.chart.type,c=x[a].prototype,h=["group","markerGroup","dataLabelsGroup"];if(Object.keys&&"data"===Object.keys(t).toString())return this.setData(t.data,e);(l&&l!==a||void 0!==t.zIndex)&&(h.length=0),s(h,function(t){h[t]=i[t],delete i[t]}),t=g(o,{animation:!1,index:i.index,pointStart:i.xData[0]},{data:i.options.data},t),i.remove(!1,null,!1);for(n in c)i[n]=void 0;u(i,x[l||a].prototype),s(h,function(t){i[t]=h[t]}),i.init(r,t),i.oldType=a,r.linkSeries(),v(e,!0)&&r.redraw(!1)}}),u(i.prototype,{update:function(t,e){var n=this.chart;t=n.options[this.coll][this.options.index]=g(this.userOptions,t),this.destroy(!0),this.init(n,u(t,{events:void 0})),n.isDirtyBox=!0,v(e,!0)&&n.redraw()},remove:function(t){for(var e=this.chart,n=this.coll,i=this.series,r=i.length;r--;)i[r]&&i[r].remove(!1);l(e.axes,this),l(e[n],this),p(e.options[n])?e.options[n].splice(this.options.index,1):delete e.options[n],s(e[n],function(t,e){t.options.index=e}),this.destroy(),e.isDirtyBox=!0,v(t,!0)&&e.redraw()},setTitle:function(t,e){this.update({title:t},e)},setCategories:function(t,e){this.update({categories:t},e)}})}(t),function(t){var e=t.color,n=t.each,i=t.map,r=t.pick,o=t.Series,a=t.seriesType;a("area","line",{softThreshold:!1,threshold:0},{singleStacks:!1,getStackPoints:function(){var e,o,a=[],s=[],l=this.xAxis,u=this.yAxis,c=u.stacks[this.stackKey],h={},d=this.points,f=this.index,p=u.series,g=p.length,m=r(u.options.reversedStacks,!0)?1:-1;if(this.options.stacking){for(o=0;ot&&l>o?(l=Math.max(t,o),c=2*o-l):li&&c>o?(c=Math.max(i,o),l=2*o-c):c=Math.abs(e)&&.5t.closestPointRange*t.xAxis.transA,r=t.borderWidth=s(n.borderWidth,r?0:1),o=t.yAxis,a=t.translatedThreshold=o.getThreshold(n.threshold),u=s(n.minPointLength,5),c=t.getColumnMetrics(),h=c.width,d=t.barW=Math.max(h,1+2*r),f=t.pointXOffset=c.offset;e.inverted&&(a-=.5),n.pointPadding&&(d=Math.ceil(d)),l.prototype.translate.apply(t),i(t.points,function(n){var i,r=s(n.yBottom,a),l=999+Math.abs(r),l=Math.min(Math.max(-l,n.plotY),o.len+l),c=n.plotX+f,p=d,g=Math.min(l,r),m=Math.max(l,r)-g;Math.abs(m)u?r-u:a-(i?u:0)),n.barX=c,n.pointWidth=h,n.tooltipPos=e.inverted?[o.len+o.pos-e.plotLeft-l,t.xAxis.len-c-p/2,m]:[c+p/2,l+o.pos-e.plotTop,m],n.shapeType="rect",n.shapeArgs=t.crispCol.apply(t,n.isNull?[c,a,p,0]:[c,g,p,m])})},getSymbol:t.noop,drawLegendSymbol:t.LegendSymbolMixin.drawRectangle,drawGraph:function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")},pointAttribs:function(t,e){var i,r=this.options,o=this.pointAttrToOptions||{};i=o.stroke||"borderColor";var s=o["stroke-width"]||"borderWidth",l=t&&t.color||this.color,u=t[i]||r[i]||this.color||l,c=t[s]||r[s]||this[s]||0,o=r.dashStyle;return t&&this.zones.length&&(l=t.getZone(),l=t.options.color||l&&l.color||this.color),e&&(t=a(r.states[e],t.options.states&&t.options.states[e]||{}),e=t.brightness,l=t.color||void 0!==e&&n(l).brighten(t.brightness).get()||l,u=t[i]||u,c=t[s]||c,o=t.dashStyle||o),i={fill:l,stroke:u,"stroke-width":c},r.borderRadius&&(i.r=r.borderRadius),o&&(i.dashstyle=o),i},drawPoints:function(){var t,e=this,n=this.chart,r=e.options,s=n.renderer,l=r.animationLimit||250;i(e.points,function(i){var u=i.graphic;o(i.plotY)&&null!==i.y?(t=i.shapeArgs,u?u[n.pointCount● {series.name}
',pointFormat:"x: {point.x}
y: {point.y}
"}},{sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"],takeOrdinalPosition:!1,drawGraph:function(){this.options.lineWidth&&e.prototype.drawGraph.call(this)}})}(t),function(t){var e=t.pick,n=t.relativeLength;t.CenteredSeriesMixin={getCenter:function(){var t,i,r=this.options,o=this.chart,a=2*(r.slicedOffset||0),s=o.plotWidth-2*a,o=o.plotHeight-2*a,l=r.center,l=[e(l[0],"50%"),e(l[1],"50%"),r.size||"100%",r.innerSize||0],u=Math.min(s,o);for(t=0;4>t;++t)i=l[t],r=2>t||2===t&&/%$/.test(i),l[t]=n(i,[s,o,u,l[2]][t])+(r?a:0);return l[3]>l[2]&&(l[3]=l[2]),l}}}(t),function(t){var e=t.addEvent,n=t.defined,i=t.each,r=t.extend,o=t.inArray,a=t.noop,s=t.pick,l=t.Point,u=t.Series,c=t.seriesType,h=t.setAnimation;c("pie","line",{center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},x:0},ignoreHiddenPoint:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,states:{hover:{brightness:.1,shadow:!1}}},{isCartesian:!1,requireSorting:!1,directTouch:!0,noSharedTooltip:!0,trackerGroups:["group","dataLabelsGroup"],axisTypes:[],pointAttribs:t.seriesTypes.column.prototype.pointAttribs,animate:function(t){var e=this,n=e.points,r=e.startAngleRad;t||(i(n,function(t){var n=t.graphic,i=t.shapeArgs;n&&(n.attr({r:t.startR||e.center[3]/2,start:r,end:r}),n.animate({r:i.r,start:i.start,end:i.end},e.options.animation))}),e.animate=null)},updateTotals:function(){var t,e,n=0,i=this.points,r=i.length,o=this.options.ignoreHiddenPoint;for(t=0;t1.5*Math.PI?i-=2*Math.PI:i<-Math.PI/2&&(i+=2*Math.PI),a.slicedTranslation={translateX:Math.round(Math.cos(i)*c),translateY:Math.round(Math.sin(i)*c)},n=Math.cos(i)*t[2]/2,r=Math.sin(i)*t[2]/2,a.tooltipPos=[t[0]+.7*n,t[1]+.7*r],a.half=i<-Math.PI/2||i>Math.PI/2?1:0,a.angle=i,e=Math.min(h,a.labelDistance/5),a.labelPos=[t[0]+n+Math.cos(i)*a.labelDistance,t[1]+r+Math.sin(i)*a.labelDistance,t[0]+n+Math.cos(i)*e,t[1]+r+Math.sin(i)*e,t[0]+n,t[1]+r,0>a.labelDistance?"center":a.half?"right":"left",i]},drawGraph:null,drawPoints:function(){var t,e,n,o,a=this,s=a.chart.renderer,l=a.options.shadow;l&&!a.shadowGroup&&(a.shadowGroup=s.g("shadow").add(a.group)),i(a.points,function(i){if(!i.isNull){e=i.graphic,o=i.shapeArgs,t=i.getTranslate();var u=i.shadowGroup;l&&!u&&(u=i.shadowGroup=s.g("shadow").add(a.shadowGroup)),u&&u.attr(t),n=a.pointAttribs(i,i.selected&&"select"),e?e.setRadialReference(a.center).attr(n).animate(r(o,t)):(i.graphic=e=s[i.shapeType](o).setRadialReference(a.center).attr(t).add(a.group),i.visible||e.attr({visibility:"hidden"}),e.attr(n).attr({"stroke-linejoin":"round"}).shadow(l,u)),e.addClass(i.getClassName())}})},searchPoint:a,sortByAngle:function(t,e){t.sort(function(t,n){return void 0!==t.angle&&(n.angle-t.angle)*e})},drawLegendSymbol:t.LegendSymbolMixin.drawRectangle,getCenter:t.CenteredSeriesMixin.getCenter,getSymbol:a},{init:function(){l.prototype.init.apply(this,arguments);var t,n=this;return n.name=s(n.name,"Slice"),t=function(t){n.slice("select"===t.type)},e(n,"select",t),e(n,"unselect",t),n},isValid:function(){return t.isNumber(this.y,!0)&&0<=this.y},setVisible:function(t,e){var n=this,r=n.series,a=r.chart,l=r.options.ignoreHiddenPoint;e=s(e,l),t!==n.visible&&(n.visible=n.options.visible=t=void 0===t?!n.visible:t,r.options.data[o(n,r.data)]=n.options,i(["graphic","dataLabel","connector","shadowGroup"],function(e){n[e]&&n[e][t?"show":"hide"](!0)}),n.legendItem&&a.legend.colorizeItem(n,t),t||"hover"!==n.state||n.setState(""),l&&(r.isDirty=!0),e&&a.redraw())},slice:function(t,e,i){var r=this.series;h(i,r.chart),s(e,!0),this.sliced=this.options.sliced=n(t)?t:!this.sliced,r.options.data[o(this,r.data)]=this.options,this.graphic.animate(this.getTranslate()),this.shadowGroup&&this.shadowGroup.animate(this.getTranslate())},getTranslate:function(){return this.sliced?this.slicedTranslation:{translateX:0,translateY:0}},haloPath:function(t){var e=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(e.x,e.y,e.r+t,e.r+t,{innerR:this.shapeArgs.r,start:e.start,end:e.end})}})}(t),function(t){var e=t.addEvent,n=t.arrayMax,i=t.defined,r=t.each,o=t.extend,a=t.format,s=t.map,l=t.merge,u=t.noop,c=t.pick,h=t.relativeLength,d=t.Series,f=t.seriesTypes,p=t.stableSort;t.distribute=function(t,e){function n(t,e){return t.target-e.target}var i,o,a=!0,l=t,u=[];for(o=0,i=t.length;i--;)o+=t[i].size;if(o>e){for(p(t,function(t,e){return(e.rank||0)-(t.rank||0)}),o=i=0;o<=e;)o+=t[i].size,i++;u=t.splice(i-1,t.length)}for(p(t,n),t=s(t,function(t){return{size:t.size,targets:[t.target]}});a;){for(i=t.length;i--;)a=t[i],o=(Math.min.apply(0,a.targets)+Math.max.apply(0,a.targets))/2,a.pos=Math.min(Math.max(0,o-a.size/2),e-a.size);for(i=t.length,a=!1;i--;)0t[i].pos&&(t[i-1].size+=t[i].size,t[i-1].targets=t[i-1].targets.concat(t[i].targets),t[i-1].pos+t[i-1].size>e&&(t[i-1].pos=e-t[i-1].size),t.splice(i,1),a=!0)}i=0,r(t,function(t){var e=0;r(t.targets,function(){l[i].pos=t.pos+e,e+=l[i].size,i++})}),l.push.apply(l,u),p(l,n)},d.prototype.drawDataLabels=function(){var n,o,s,u,h=this,d=h.options,f=d.dataLabels,p=h.points,g=h.hasRendered||0,m=c(f.defer,!!d.animation),v=h.chart.renderer;(f.enabled||h._hasPointLabels)&&(h.dlProcessOptions&&h.dlProcessOptions(f),u=h.plotGroup("dataLabelsGroup","data-labels",m&&!g?"hidden":"visible",f.zIndex||6),m&&(u.attr({opacity:+g}),g||e(h,"afterAnimate",function(){h.visible&&u.show(!0),u[d.animation?"animate":"attr"]({opacity:1},{duration:200})})),o=f,r(p,function(e){var r,p,g,m,y=e.dataLabel,b=e.connector,x=!y;n=e.dlOptions||e.options&&e.options.dataLabels,(r=c(n&&n.enabled,o.enabled)&&null!==e.y)&&(f=l(o,n),p=e.getLabelConfig(),s=f.format?a(f.format,p):f.formatter.call(p,f),m=f.style,p=f.rotation,m.color=c(f.color,m.color,h.color,"#000000"),"contrast"===m.color&&(e.contrastColor=v.getContrast(e.color||h.color),m.color=f.inside||0>c(e.labelDistance,f.distance)||d.stacking?e.contrastColor:"#000000"),d.cursor&&(m.cursor=d.cursor),g={fill:f.backgroundColor,stroke:f.borderColor,"stroke-width":f.borderWidth,r:f.borderRadius||0,rotation:p,padding:f.padding,zIndex:1},t.objectEach(g,function(t,e){void 0===t&&delete g[e]})),!y||r&&i(s)?r&&i(s)&&(y?g.text=s:(y=e.dataLabel=v[p?"text":"label"](s,0,-9999,f.shape,null,null,f.useHTML,null,"data-label"),y.addClass("highcharts-data-label-color-"+e.colorIndex+" "+(f.className||"")+(f.useHTML?"highcharts-tracker":""))),y.attr(g),y.css(m).shadow(f.shadow),y.added||y.add(u),h.alignDataLabel(e,y,f,null,x)):(e.dataLabel=y=y.destroy(),b&&(e.connector=b.destroy()))}))},d.prototype.alignDataLabel=function(t,e,n,i,r){var a,s=this.chart,l=s.inverted,u=c(t.plotX,-9999),h=c(t.plotY,-9999),d=e.getBBox(),f=n.rotation,p=n.align,g=this.visible&&(t.series.forceDL||s.isInsidePlot(u,Math.round(h),l)||i&&s.isInsidePlot(u,l?i.x+1:i.y+i.height-1,l)),m="justify"===c(n.overflow,"justify");g&&(a=n.style.fontSize,a=s.renderer.fontMetrics(a,e).b,i=o({x:l?s.plotWidth-h:u,y:Math.round(l?s.plotHeight-u:h),width:0,height:0},i),o(n,{width:d.width,height:d.height}),f?(m=!1,u=s.renderer.rotCorr(a,f),u={x:i.x+n.x+i.width/2+u.x,y:i.y+n.y+{top:0,middle:.5,bottom:1}[n.verticalAlign]*i.height},e[r?"attr":"animate"](u).attr({align:p}),h=(f+720)%360,h=180h,"left"===p?u.y-=h?d.height:0:"center"===p?(u.x-=d.width/2,u.y-=d.height/2):"right"===p&&(u.x-=d.width,u.y-=h?0:d.height)):(e.align(n,null,i),u=e.alignAttr),m?t.isLabelJustified=this.justifyDataLabel(e,n,u,d,i,r):c(n.crop,!0)&&(g=s.isInsidePlot(u.x,u.y)&&s.isInsidePlot(u.x+d.width,u.y+d.height)),n.shape&&!f)&&e[r?"attr":"animate"]({anchorX:l?s.plotWidth-t.plotY:t.plotX,anchorY:l?s.plotHeight-t.plotX:t.plotY}),g||(e.attr({y:-9999}),e.placed=!1)},d.prototype.justifyDataLabel=function(t,e,n,i,r,o){var a,s,l=this.chart,u=e.align,c=e.verticalAlign,h=t.box?0:t.padding||0;return a=n.x+h,0>a&&("right"===u?e.align="left":e.x=-a,s=!0),a=n.x+i.width-h,a>l.plotWidth&&("left"===u?e.align="right":e.x=l.plotWidth-a,s=!0),a=n.y+h,0>a&&("bottom"===c?e.verticalAlign="top":e.y=-a,s=!0),a=n.y+i.height-h,a>l.plotHeight&&("top"===c?e.verticalAlign="bottom":e.y=l.plotHeight-a,s=!0),s&&(t.placed=!o,t.align(e,null,r)),s},f.pie&&(f.pie.prototype.drawDataLabels=function(){var e,o,a,s,l,u,h,f,p,g,m=this,v=m.data,y=m.chart,b=m.options.dataLabels,x=c(b.connectorPadding,10),w=c(b.connectorWidth,1),S=y.plotWidth,_=y.plotHeight,C=m.center,M=C[2]/2,k=C[1],T=[[],[]],D=[0,0,0,0];m.visible&&(b.enabled||m._hasPointLabels)&&(r(v,function(t){t.dataLabel&&t.visible&&t.dataLabel.shortened&&(t.dataLabel.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),t.dataLabel.shortened=!1)}),d.prototype.drawDataLabels.apply(m),r(v,function(t){t.dataLabel&&t.visible&&(T[t.half].push(t),t.dataLabel._pos=null)}),r(T,function(n,o){var c,d,v,w=n.length,T=[];if(w)for(m.sortByAngle(n,o-.5),0e.bottom-2?c:f,o,e),a._attr={visibility:p,align:l[6]},a._pos={x:h+b.x+({left:x,right:-x}[l[6]]||0),y:f+b.y-10},l.x=h,l.y=f,s=a.getBBox().width,c=null,h-sS-x&&(c=Math.round(h+s-S+x),D[1]=Math.max(c,D[1])),0>f-u/2?D[0]=Math.max(Math.round(-f+u/2),D[0]):f+u/2>_&&(D[2]=Math.max(Math.round(f+u/2-_),D[2])),a.sideOverflow=c}),0===n(D)||this.verifyDataLabelOverflow(D))&&(this.placeDataLabels(),w&&r(this.points,function(t){var e;o=t.connector,(a=t.dataLabel)&&a._pos&&t.visible&&0c(this.translatedThreshold,a.yAxis.len)),h=c(n.inside,!!this.options.stacking);s&&(i=l(s),0>i.y&&(i.height+=i.y,i.y=0),s=i.y+i.height-a.yAxis.len,0t+n||r+ae+i||o+sthis.pointCount))},pan:function(t,e){var n,i=this,r=i.hoverPoints;r&&l(r,function(t){t.setState()}),l("xy"===e?[1,0]:[1],function(e){e=i[e?"xAxis":"yAxis"][0];var r,o=e.horiz,a=t[o?"chartX":"chartY"],o=o?"mouseDownX":"mouseDownY",s=i[o],l=(e.pointRange||0)/2,u=e.getExtremes(),c=e.toValue(s-a,!0)+l,l=e.toValue(s+e.len-a,!0)-l,h=l=a(n.minWidth,0)&&this.chartHeight>=a(n.minHeight,0)}).call(this)&&e.push(t._id)},e.prototype.currentOptions=function(e){function n(e,a,l,u){var c;t.objectEach(e,function(t,h){if(!u&&-1>1,c=23===e?E(2,-24)-E(2,-77):0,h=0,d=t<0||0===t&&1/t<0?1:0;for(t=A(t),t!=t||t===T?(r=t!=t?1:0,i=l):(i=P(O(t)/L),t*(o=E(2,-i))<1&&(i--,o*=2),t+=i+u>=1?c/o:c*E(2,1-u),t*o>=2&&(i++,o/=2),i+u>=l?(r=0,i=l):i+u>=1?(r=(t*o-1)*E(2,e),i+=u):(r=t*E(2,u-1)*E(2,e),i=0));e>=8;a[h++]=255&r,r/=256,e-=8);for(i=i<0;a[h++]=255&i,i/=256,s-=8);return a[--h]|=128*d,a},B=function(t,e,n){var i,r=8*n-e-1,o=(1<>1,s=r-7,l=n-1,u=t[l--],c=127&u;for(u>>=7;s>0;c=256*c+t[l],l--,s-=8);for(i=c&(1<<-s)-1,c>>=-s,s+=e;s>0;i=256*i+t[l],l--,s-=8);if(0===c)c=1-a;else{if(c===o)return i?NaN:u?-T:T;i+=E(2,e),c-=a}return(u?-1:1)*i*E(2,c-e)},W=function(t){return t[3]<<24|t[2]<<16|t[1]<<8|t[0]},$=function(t){return[255&t]},U=function(t){return[255&t,t>>8&255]},q=function(t){return[255&t,t>>8&255,t>>16&255,t>>24&255]},Y=function(t){return z(t,52,8)},G=function(t){return z(t,23,4)},X=function(t,e,n){g(t[x],e,{get:function(){return this[n]}})},V=function(t,e,n,i){var r=+n,o=d(r);if(r!=o||o<0||o+e>t[R])throw k(S);var a=t[F]._b,s=o+t[H],l=a.slice(s,s+e);return i?l:l.reverse()},Z=function(t,e,n,i,r,o){var a=+n,s=d(a);if(a!=s||s<0||s+e>t[R])throw k(S);for(var l=t[F]._b,u=s+t[H],c=i(+r),h=0;het;)(J=tt[et++])in _||l(_,J,D[J]);a||(Q.constructor=_)}var nt=new C(new _(2)),it=C[x].setInt8;nt.setInt8(0,2147483648),nt.setInt8(1,2147483649),!nt.getInt8(0)&&nt.getInt8(1)||u(C[x],{setInt8:function(t,e){it.call(this,t,e<<24>>24)},setUint8:function(t,e){it.call(this,t,e<<24>>24)}},!0)}else _=function(t){var e=K(this,t);this._b=m.call(Array(e),0),this[R]=e},C=function(t,e,i){h(this,C,b),h(t,_,b);var r=t[R],o=d(e);if(o<0||o>r)throw k("Wrong offset!");if(i=i===n?r-o:f(i),o+i>r)throw k(w);this[F]=t,this[H]=o,this[R]=i},o&&(X(_,I,"_l"),X(C,N,"_b"),X(C,I,"_l"),X(C,j,"_o")),u(C[x],{getInt8:function(t){return V(this,1,t)[0]<<24>>24},getUint8:function(t){return V(this,1,t)[0]},getInt16:function(t){var e=V(this,2,t,arguments[1]);return(e[1]<<8|e[0])<<16>>16},getUint16:function(t){var e=V(this,2,t,arguments[1]);return e[1]<<8|e[0]},getInt32:function(t){return W(V(this,4,t,arguments[1]))},getUint32:function(t){return W(V(this,4,t,arguments[1]))>>>0},getFloat32:function(t){return B(V(this,4,t,arguments[1]),23,4)},getFloat64:function(t){return B(V(this,8,t,arguments[1]),52,8)},setInt8:function(t,e){Z(this,1,t,$,e)},setUint8:function(t,e){Z(this,1,t,$,e)},setInt16:function(t,e){Z(this,2,t,U,e,arguments[2])},setUint16:function(t,e){Z(this,2,t,U,e,arguments[2])},setInt32:function(t,e){Z(this,4,t,q,e,arguments[2])},setUint32:function(t,e){Z(this,4,t,q,e,arguments[2])},setFloat32:function(t,e){Z(this,4,t,G,e,arguments[2])},setFloat64:function(t,e){Z(this,8,t,Y,e,arguments[2])}});v(_,y),v(C,b),l(C[x],s.VIEW,!0),e[y]=_,e[b]=C},function(t,e,n){var i=n(6);i(i.G+i.W+i.F*!n(232).ABV,{DataView:n(233).DataView})},function(t,e,n){n(236)("Int8",1,function(t){return function(e,n,i){return t(this,e,n,i)}})},function(t,e,i){if(i(4)){var r=i(26),o=i(2),a=i(5),s=i(6),l=i(232),u=i(233),c=i(18),h=i(197),d=i(15),f=i(8),p=i(202),g=i(36),m=i(35),v=i(37),y=i(14),b=i(3),x=i(69),w=i(73),S=i(11),_=i(56),C=i(154),M=i(44),k=i(57),T=i(48).f,D=i(156),A=i(17),E=i(23),P=i(164),O=i(34),L=i(199),N=i(183),I=i(135),j=i(157),F=i(186),R=i(180),H=i(177),z=i(9),B=i(49),W=z.f,$=B.f,U=o.RangeError,q=o.TypeError,Y=o.Uint8Array,G="ArrayBuffer",X="Shared"+G,V="BYTES_PER_ELEMENT",Z="prototype",K=Array[Z],J=u.ArrayBuffer,Q=u.DataView,tt=P(0),et=P(2),nt=P(3),it=P(4),rt=P(5),ot=P(6),at=O(!0),st=O(!1),lt=N.values,ut=N.keys,ct=N.entries,ht=K.lastIndexOf,dt=K.reduce,ft=K.reduceRight,pt=K.join,gt=K.sort,mt=K.slice,vt=K.toString,yt=K.toLocaleString,bt=E("iterator"),xt=E("toStringTag"),wt=A("typed_constructor"),St=A("def_constructor"),_t=l.CONSTR,Ct=l.TYPED,Mt=l.VIEW,kt="Wrong length!",Tt=P(1,function(t,e){return Lt(L(t,t[St]),e)}),Dt=a(function(){return 1===new Y(new Uint16Array([1]).buffer)[0]}),At=!!Y&&!!Y[Z].set&&a(function(){new Y(1).set({})}),Et=function(t,e){if(t===n)throw q(kt);var i=+t,r=m(t);if(e&&!x(i,r))throw U(kt);return r},Pt=function(t,e){var n=g(t);if(n<0||n%e)throw U("Wrong offset!");return n},Ot=function(t){if(S(t)&&Ct in t)return t;throw q(t+" is not a typed array!")},Lt=function(t,e){if(!(S(t)&&wt in t))throw q("It is not a typed array constructor!");return new t(e)},Nt=function(t,e){return It(L(t,t[St]),e)},It=function(t,e){for(var n=0,i=e.length,r=Lt(t,i);i>n;)r[n]=e[n++];return r},jt=function(t,e,n){W(t,e,{get:function(){return this._d[n]}})},Ft=function(t){var e,i,r,o,a,s,l=_(t),u=arguments.length,h=u>1?arguments[1]:n,d=h!==n,f=D(l);if(f!=n&&!C(f)){for(s=f.call(l),r=[],e=0;!(a=s.next()).done;e++)r.push(a.value);l=r}for(d&&u>2&&(h=c(h,arguments[2],2)),e=0,i=m(l.length),o=Lt(this,i);i>e;e++)o[e]=d?h(l[e],e):l[e];return o},Rt=function(){for(var t=0,e=arguments.length,n=Lt(this,e);e>t;)n[t]=arguments[t++];return n},Ht=!!Y&&a(function(){yt.call(new Y(1))}),zt=function(){return yt.apply(Ht?mt.call(Ot(this)):Ot(this),arguments)},Bt={copyWithin:function(t,e){return H.call(Ot(this),t,e,arguments.length>2?arguments[2]:n)},every:function(t){return it(Ot(this),t,arguments.length>1?arguments[1]:n)},fill:function(t){return R.apply(Ot(this),arguments)},filter:function(t){return Nt(this,et(Ot(this),t,arguments.length>1?arguments[1]:n))},find:function(t){return rt(Ot(this),t,arguments.length>1?arguments[1]:n)},findIndex:function(t){return ot(Ot(this),t,arguments.length>1?arguments[1]:n)},forEach:function(t){tt(Ot(this),t,arguments.length>1?arguments[1]:n)},indexOf:function(t){return st(Ot(this),t,arguments.length>1?arguments[1]:n)},includes:function(t){return at(Ot(this),t,arguments.length>1?arguments[1]:n)},join:function(t){return pt.apply(Ot(this),arguments)},lastIndexOf:function(t){return ht.apply(Ot(this),arguments)},map:function(t){return Tt(Ot(this),t,arguments.length>1?arguments[1]:n)},reduce:function(t){return dt.apply(Ot(this),arguments)},reduceRight:function(t){return ft.apply(Ot(this),arguments)},reverse:function(){for(var t,e=this,n=Ot(e).length,i=Math.floor(n/2),r=0;r1?arguments[1]:n)},sort:function(t){return gt.call(Ot(this),t)},subarray:function(t,e){var i=Ot(this),r=i.length,o=v(t,r);return new(L(i,i[St]))(i.buffer,i.byteOffset+o*i.BYTES_PER_ELEMENT,m((e===n?r:v(e,r))-o))}},Wt=function(t,e){return Nt(this,mt.call(Ot(this),t,e))},$t=function(t){Ot(this);var e=Pt(arguments[1],1),n=this.length,i=_(t),r=m(i.length),o=0;if(r+e>n)throw U(kt);for(;o255?255:255&i),r.v[g](n*e+r.o,i,Dt)},E=function(t,e){W(t,e,{get:function(){return D(this,e)},set:function(t){return A(this,e,t)},enumerable:!0})};x?(v=i(function(t,i,r,o){h(t,v,c,"_d");var a,s,l,u,d=0,p=0;if(S(i)){if(!(i instanceof J||(u=w(i))==G||u==X))return Ct in i?It(v,i):Ft.call(v,i);a=i,p=Pt(r,e);var g=i.byteLength;if(o===n){if(g%e)throw U(kt);if(s=g-p,s<0)throw U(kt)}else if(s=m(o)*e,s+p>g)throw U(kt);l=s/e}else l=Et(i,!0),s=l*e,a=new J(s);for(f(t,"_d",{b:a,o:p,l:s,e:l,v:new Q(a)});d1?arguments[1]:n)}}),i(178)("includes")},function(t,e,n){var i=n(6),r=n(125)(!0);i(i.P,"String",{at:function(t){return r(this,t)}})},function(t,e,i){var r=i(6),o=i(248);r(r.P,"String",{padStart:function(t){return o(this,t,arguments.length>1?arguments[1]:n,!0)}})},function(t,e,i){var r=i(35),o=i(85),a=i(33);t.exports=function(t,e,i,s){var l=String(a(t)),u=l.length,c=i===n?" ":String(i),h=r(e);if(h<=u||""==c)return l;var d=h-u,f=o.call(c,Math.ceil(d/c.length));return f.length>d&&(f=f.slice(0,d)),s?f+l:l+f}},function(t,e,i){var r=i(6),o=i(248);r(r.P,"String",{padEnd:function(t){return o(this,t,arguments.length>1?arguments[1]:n,!1)}})},function(t,e,n){n(81)("trimLeft",function(t){return function(){return t(this,1)}},"trimStart")},function(t,e,n){n(81)("trimRight",function(t){return function(){return t(this,2)}},"trimEnd")},function(t,e,n){var i=n(6),r=n(33),o=n(35),a=n(128),s=n(188),l=RegExp.prototype,u=function(t,e){this._r=t,this._s=e};n(136)(u,"RegExp String",function(){var t=this._r.exec(this._s);return{value:t,done:null===t}}),i(i.P,"String",{matchAll:function(t){if(r(this),!a(t))throw TypeError(t+" is not a regexp!");var e=String(this),n="flags"in l?String(t.flags):s.call(t),i=new RegExp(t.source,~n.indexOf("g")?n:"g"+n);return i.lastIndex=o(t.lastIndex),new u(i,e)}})},function(t,e,n){n(25)("asyncIterator")},function(t,e,n){n(25)("observable")},function(t,e,n){var i=n(6),r=n(221),o=n(30),a=n(49),s=n(155);i(i.S,"Object",{getOwnPropertyDescriptors:function(t){for(var e,n=o(t),i=a.f,l=r(n),u={},c=0;l.length>c;)s(u,e=l[c++],i(n,e));return u}})},function(t,e,n){var i=n(6),r=n(257)(!1);i(i.S,"Object",{values:function(t){return r(t)}})},function(t,e,n){var i=n(28),r=n(30),o=n(42).f;t.exports=function(t){return function(e){for(var n,a=r(e),s=i(a),l=s.length,u=0,c=[];l>u;)o.call(a,n=s[u++])&&c.push(t?[n,a[n]]:a[n]);return c}}},function(t,e,n){var i=n(6),r=n(257)(!0);i(i.S,"Object",{entries:function(t){return r(t)}})},function(t,e,n){var i=n(6),r=n(56),o=n(19),a=n(9);n(4)&&i(i.P+n(260),"Object",{__defineGetter__:function(t,e){a.f(r(this),t,{get:o(e),enumerable:!0,configurable:!0})}})},function(t,e,n){t.exports=n(26)||!n(5)(function(){var t=Math.random();__defineSetter__.call(null,t,function(){}),delete n(2)[t]})},function(t,e,n){var i=n(6),r=n(56),o=n(19),a=n(9);n(4)&&i(i.P+n(260),"Object",{__defineSetter__:function(t,e){a.f(r(this),t,{set:o(e),enumerable:!0,configurable:!0})}})},function(t,e,n){var i=n(6),r=n(56),o=n(14),a=n(57),s=n(49).f;n(4)&&i(i.P+n(260),"Object",{__lookupGetter__:function(t){var e,n=r(this),i=o(t,!0);do if(e=s(n,i))return e.get;while(n=a(n))}})},function(t,e,n){var i=n(6),r=n(56),o=n(14),a=n(57),s=n(49).f;n(4)&&i(i.P+n(260),"Object",{__lookupSetter__:function(t){var e,n=r(this),i=o(t,!0);do if(e=s(n,i))return e.set;while(n=a(n))}})},function(t,e,n){var i=n(6);i(i.P+i.R,"Map",{toJSON:n(265)("Map")})},function(t,e,n){var i=n(73),r=n(266);t.exports=function(t){return function(){if(i(this)!=t)throw TypeError(t+"#toJSON isn't generic");return r(this)}}},function(t,e,n){var i=n(198);t.exports=function(t,e){var n=[];return i(t,!1,n.push,n,e),n}},function(t,e,n){var i=n(6);i(i.P+i.R,"Set",{toJSON:n(265)("Set")})},function(t,e,n){var i=n(6);i(i.S,"System",{global:n(2)})},function(t,e,n){var i=n(6),r=n(32);i(i.S,"Error",{isError:function(t){return"Error"===r(t)}})},function(t,e,n){var i=n(6);i(i.S,"Math",{iaddh:function(t,e,n,i){var r=t>>>0,o=e>>>0,a=n>>>0;return o+(i>>>0)+((r&a|(r|a)&~(r+a>>>0))>>>31)|0}})},function(t,e,n){var i=n(6);i(i.S,"Math",{isubh:function(t,e,n,i){var r=t>>>0,o=e>>>0,a=n>>>0;return o-(i>>>0)-((~r&a|~(r^a)&r-a>>>0)>>>31)|0}})},function(t,e,n){var i=n(6);i(i.S,"Math",{imulh:function(t,e){var n=65535,i=+t,r=+e,o=i&n,a=r&n,s=i>>16,l=r>>16,u=(s*a>>>0)+(o*a>>>16);return s*l+(u>>16)+((o*l>>>0)+(u&n)>>16)}})},function(t,e,n){var i=n(6);i(i.S,"Math",{umulh:function(t,e){var n=65535,i=+t,r=+e,o=i&n,a=r&n,s=i>>>16,l=r>>>16,u=(s*a>>>0)+(o*a>>>16);return s*l+(u>>>16)+((o*l>>>0)+(u&n)>>>16)}})},function(t,e,n){var i=n(275),r=n(10),o=i.key,a=i.set;i.exp({defineMetadata:function(t,e,n,i){a(t,e,r(n),o(i))}})},function(t,e,i){var r=i(203),o=i(6),a=i(21)("metadata"),s=a.store||(a.store=new(i(207))),l=function(t,e,i){var o=s.get(t);if(!o){if(!i)return n;s.set(t,o=new r)}var a=o.get(e);if(!a){if(!i)return n;o.set(e,a=new r)}return a},u=function(t,e,i){var r=l(e,i,!1);return r!==n&&r.has(t)},c=function(t,e,i){var r=l(e,i,!1);return r===n?n:r.get(t)},h=function(t,e,n,i){l(n,i,!0).set(t,e)},d=function(t,e){var n=l(t,e,!1),i=[];return n&&n.forEach(function(t,e){i.push(e)}),i},f=function(t){return t===n||"symbol"==typeof t?t:String(t)},p=function(t){o(o.S,"Reflect",t)};t.exports={store:s,map:l,has:u,get:c,set:h,keys:d,key:f,exp:p}},function(t,e,i){var r=i(275),o=i(10),a=r.key,s=r.map,l=r.store;r.exp({deleteMetadata:function(t,e){var i=arguments.length<3?n:a(arguments[2]),r=s(o(e),i,!1);if(r===n||!r.delete(t))return!1;if(r.size)return!0;var u=l.get(e);return u.delete(i),!!u.size||l.delete(e)}})},function(t,e,i){var r=i(275),o=i(10),a=i(57),s=r.has,l=r.get,u=r.key,c=function(t,e,i){var r=s(t,e,i);if(r)return l(t,e,i);var o=a(e);return null!==o?c(t,o,i):n};r.exp({getMetadata:function(t,e){return c(t,o(e),arguments.length<3?n:u(arguments[2]))}})},function(t,e,i){var r=i(206),o=i(266),a=i(275),s=i(10),l=i(57),u=a.keys,c=a.key,h=function(t,e){var n=u(t,e),i=l(t);if(null===i)return n;var a=h(i,e);return a.length?n.length?o(new r(n.concat(a))):a:n};a.exp({getMetadataKeys:function(t){return h(s(t),arguments.length<2?n:c(arguments[1]))}})},function(t,e,i){var r=i(275),o=i(10),a=r.get,s=r.key;r.exp({getOwnMetadata:function(t,e){return a(t,o(e),arguments.length<3?n:s(arguments[2]))}})},function(t,e,i){var r=i(275),o=i(10),a=r.keys,s=r.key;r.exp({getOwnMetadataKeys:function(t){return a(o(t),arguments.length<2?n:s(arguments[1]))}})},function(t,e,i){var r=i(275),o=i(10),a=i(57),s=r.has,l=r.key,u=function(t,e,n){var i=s(t,e,n);if(i)return!0;var r=a(e);return null!==r&&u(t,r,n)};r.exp({hasMetadata:function(t,e){return u(t,o(e),arguments.length<3?n:l(arguments[2]))}})},function(t,e,i){var r=i(275),o=i(10),a=r.has,s=r.key;r.exp({hasOwnMetadata:function(t,e){return a(t,o(e),arguments.length<3?n:s(arguments[2]))}})},function(t,e,i){var r=i(275),o=i(10),a=i(19),s=r.key,l=r.set;r.exp({metadata:function(t,e){return function(i,r){l(t,e,(r!==n?o:a)(i),s(r))}}})},function(t,e,n){var i=n(6),r=n(201)(),o=n(2).process,a="process"==n(32)(o);i(i.G,{asap:function(t){var e=a&&o.domain;r(e?e.bind(t):t)}})},function(t,e,i){var r=i(6),o=i(2),a=i(7),s=i(201)(),l=i(23)("observable"),u=i(19),c=i(10),h=i(197),d=i(202),f=i(8),p=i(198),g=p.RETURN,m=function(t){return null==t?n:u(t)},v=function(t){var e=t._c;e&&(t._c=n,e())},y=function(t){return t._o===n},b=function(t){y(t)||(t._o=n,v(t))},x=function(t,e){c(t),this._c=n,this._o=t,t=new w(this);try{var i=e(t),r=i;null!=i&&("function"==typeof i.unsubscribe?i=function(){r.unsubscribe()}:u(i),this._c=i)}catch(e){return void t.error(e)}y(this)&&v(this)};x.prototype=d({},{unsubscribe:function(){b(this)}});var w=function(t){this._s=t};w.prototype=d({},{next:function(t){var e=this._s;if(!y(e)){var n=e._o;try{var i=m(n.next);if(i)return i.call(n,t)}catch(t){try{b(e)}finally{throw t}}}},error:function(t){var e=this._s;if(y(e))throw t;var i=e._o;e._o=n;try{var r=m(i.error);if(!r)throw t;t=r.call(i,t)}catch(t){try{v(e)}finally{throw t}}return v(e),t},complete:function(t){var e=this._s;if(!y(e)){var i=e._o;e._o=n;try{var r=m(i.complete);t=r?r.call(i,t):n}catch(t){try{v(e)}finally{throw t}}return v(e),t}}});var S=function(t){h(this,S,"Observable","_f")._f=u(t)};d(S.prototype,{subscribe:function(t){return new x(t,this._f)},forEach:function(t){var e=this;return new(a.Promise||o.Promise)(function(n,i){u(t);var r=e.subscribe({next:function(e){try{return t(e)}catch(t){i(t),r.unsubscribe()}},error:i,complete:n})})}}),d(S,{from:function(t){var e="function"==typeof this?this:S,n=m(c(t)[l]);if(n){var i=c(n.call(t));return i.constructor===e?i:new e(function(t){return i.subscribe(t)})}return new e(function(e){var n=!1;return s(function(){if(!n){try{if(p(t,!1,function(t){if(e.next(t),n)return g})===g)return}catch(t){if(n)throw t;return void e.error(t)}e.complete()}}),function(){n=!0}})},of:function(){for(var t=0,e=arguments.length,n=Array(e);ta;)(n[a]=arguments[a++])===s&&(l=!0);return function(){var i,o=this,a=arguments.length,u=0,c=0;if(!l&&!a)return r(t,n,o);if(i=n.slice(),l)for(;e>u;u++)i[u]===s&&(i[u]=arguments[c++]);for(;a>c;)i.push(arguments[c++]);return r(t,i,o)}}},function(t,e,n){t.exports=n(2)},function(t,e,i){function r(t){var e=p(null);return t!=n&&(w(t)?x(t,!0,function(t,n){e[t]=n}):f(e,t)),e}function o(t,e,n){b(e);var i,r,o=M(t),a=m(o),s=a.length,l=0;if(arguments.length<3){if(!s)throw TypeError("Reduce of empty object with no initial value");i=o[a[l++]]}else i=Object(n);for(;s>l;)T(o,r=a[l++])&&(i=e(i,o[r],r,t));return i}function a(t,e){return(e==e?y(t,e):A(t,function(t){return t!=t}))!==n}function s(t,e){if(T(t,e))return t[e]}function l(t,e,n){return k&&e in Object?v.f(t,e,d(0,n)):t[e]=n,t}function u(t){return C(t)&&g(t)===r.prototype}var c=i(18),h=i(6),d=i(15),f=i(67),p=i(44),g=i(57),m=i(28),v=i(9),y=i(27),b=i(19),x=i(198),w=i(292),S=i(136),_=i(184),C=i(11),M=i(30),k=i(4),T=i(3),D=function(t){var e=1==t,i=4==t;return function(o,a,s){var l,u,h,d=c(a,s,3),f=M(o),p=e||7==t||2==t?new("function"==typeof this?this:r):n;for(l in f)if(T(f,l)&&(u=f[l],h=d(u,l,o),t))if(e)p[l]=h;else if(h)switch(t){case 2:p[l]=u;break;case 3:return!0;case 5:return u;case 6:return l;case 7:p[h[0]]=h[1]}else if(i)return!1;return 3==t||i?i:p}},A=D(6),E=function(t){return function(e){return new P(e,t)}},P=function(t,e){this._t=M(t),this._a=m(t),this._i=0,this._k=e};S(P,"Dict",function(){var t,e=this,i=e._t,r=e._a,o=e._k;do if(e._i>=r.length)return e._t=n,_(1);while(!T(i,t=r[e._i++]));return"keys"==o?_(0,t):"values"==o?_(0,i[t]):_(0,[t,i[t]])}),r.prototype=null,h(h.G+h.F,{Dict:r}),h(h.S,"Dict",{keys:E("keys"),values:E("values"),entries:E("entries"),forEach:D(0),map:D(1),filter:D(2),some:D(3),every:D(4),find:D(5),findKey:A,mapPairs:D(7),reduce:o,keyOf:y,includes:a,has:T,get:s,set:l,isDict:u})},function(t,e,i){var r=i(73),o=i(23)("iterator"),a=i(135);t.exports=i(7).isIterable=function(t){var e=Object(t);return e[o]!==n||"@@iterator"in e||a.hasOwnProperty(r(e))}},function(t,e,n){var i=n(10),r=n(156);t.exports=n(7).getIterator=function(t){var e=r(t);if("function"!=typeof e)throw TypeError(t+" is not iterable!");return i(e.call(t))}},function(t,e,n){var i=n(2),r=n(7),o=n(6),a=n(289);o(o.G+o.F,{delay:function(t){return new(r.Promise||i.Promise)(function(e){setTimeout(a.call(e,!0),t)})}})},function(t,e,n){var i=n(290),r=n(6);n(7)._=i._=i._||{},r(r.P+r.F,"Function",{part:n(289)})},function(t,e,n){var i=n(6);i(i.S+i.F,"Object",{isObject:n(11)})},function(t,e,n){var i=n(6);i(i.S+i.F,"Object",{classof:n(73)})},function(t,e,n){var i=n(6),r=n(299);i(i.S+i.F,"Object",{define:r})},function(t,e,n){var i=n(9),r=n(49),o=n(221),a=n(30);t.exports=function(t,e){for(var n,s=o(a(e)),l=s.length,u=0;l>u;)i.f(t,n=s[u++],r.f(e,n));return t}},function(t,e,n){var i=n(6),r=n(299),o=n(44);i(i.S+i.F,"Object",{make:function(t,e){return r(o(t),e)}})},function(t,e,i){i(134)(Number,"Number",function(t){this._l=+t,this._i=0},function(){var t=this._i++,e=!(t"']/g,{"&":"&","<":"<",">":">",'"':""","'":"'"});i(i.P+i.F,"String",{escapeHTML:function(){return r(this)}})},function(t,e,n){var i=n(6),r=n(303)(/&(?:amp|lt|gt|quot|apos);/g,{"&":"&","<":"<",">":">",""":'"',"'":"'"});i(i.P+i.F,"String",{unescapeHTML:function(){return r(this)}})}]),"undefined"!=typeof module&&module.exports?module.exports=t:"function"==typeof define&&define.amd?define(function(){return t}):e.core=t}(1,1),function(t,e){"object"==typeof module&&module.exports?module.exports=t.document?e(t):e:t.Highcharts=e(t)}("undefined"!=typeof window?window:this,function(t){t=function(){var t=window,e=t.document,n=t.navigator&&t.navigator.userAgent||"",i=e&&e.createElementNS&&!!e.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,r=/(edge|msie|trident)/i.test(n)&&!window.opera,o=!i,a=/Firefox/.test(n),s=a&&4>parseInt(n.split("Firefox/")[1],10);return t.Highcharts?t.Highcharts.error(16,!0):{product:"Highcharts",version:"5.0.14",deg2rad:2*Math.PI/360,doc:e,hasBidiBug:s,hasTouch:e&&void 0!==e.documentElement.ontouchstart,isMS:r,isWebKit:/AppleWebKit/.test(n),isFirefox:a,isTouchDevice:/(Mobile|Android|Windows Phone)/.test(n),SVG_NS:"http://www.w3.org/2000/svg",chartCount:0,seriesTypes:{},symbolSizes:{},svg:i,vml:o,win:t,marginNames:["plotTop","marginRight","marginBottom","plotLeft"],noop:function(){},charts:[]}}(),function(t){var e=[],n=t.charts,i=t.doc,r=t.win;t.error=function(e,n){if(e=t.isNumber(e)?"Highcharts error #"+e+": www.highcharts.com/errors/"+e:e,n)throw Error(e);r.console&&console.log(e)},t.Fx=function(t,e,n){this.options=e,this.elem=t,this.prop=n},t.Fx.prototype={dSetter:function(){var t,e=this.paths[0],n=this.paths[1],i=[],r=this.now,o=e.length;if(1===r)i=this.toD;else if(o===n.length&&1>r)for(;o--;)t=parseFloat(e[o]),i[o]=isNaN(t)?e[o]:r*parseFloat(n[o]-t)+t;else i=n;this.elem.attr("d",i,null,!0)},update:function(){var t=this.elem,e=this.prop,n=this.now,i=this.options.step;this[e+"Setter"]?this[e+"Setter"]():t.attr?t.element&&t.attr(e,n,null,!0):t.style[e]=n+this.unit,i&&i.call(t,n,this)},run:function(t,n,i){var r,o=this,a=function(t){return!a.stopped&&o.step(t)};this.startTime=+new Date,this.start=t,this.end=n,this.unit=i,this.now=this.start,this.pos=0,a.elem=this.elem,a.prop=this.prop,a()&&1===e.push(a)&&(a.timerId=setInterval(function(){for(r=0;r=s+this.startTime?(this.now=this.end,this.pos=1,this.update(),n=l[this.prop]=!0,t.objectEach(l,function(t){!0!==t&&(n=!1)}),n&&a&&a.call(o),e=!1):(this.pos=r.easing((i-this.startTime)/s),this.now=this.start+(this.end-this.start)*this.pos,this.update(),e=!0),e},initPath:function(e,n,i){function r(t){var e,n;for(c=t.length;c--;)e="M"===t[c]||"L"===t[c],n=/[a-zA-Z]/.test(t[c+3]),e&&n&&t.splice(c+1,0,t[c+1],t[c+2],t[c+1],t[c+2])}function o(t,e){for(;t.lengtha?"AM":"PM",P:12>a?"am":"pm",S:p(o.getSeconds()),L:p(Math.round(n%1e3),3)},t.dateFormats);return t.objectEach(r,function(t,i){for(;-1!==e.indexOf("%"+i);)e=e.replace("%"+i,"function"==typeof t?t(n):t)}),i?e.substr(0,1).toUpperCase()+e.substr(1):e},t.formatSingle=function(e,n){var i=/\.([0-9])/,r=t.defaultOptions.lang;return/f$/.test(e)?(i=(i=e.match(i))?i[1]:-1,null!==n&&(n=t.numberFormat(n,i,r.decimalPoint,-1=i&&(n=[1/i]))),r=0;r=e||!o&&a<=(n[r]+(n[r+1]||n[r]))/2));r++);return s=t.correctFloat(s*i,-Math.round(Math.log(.001)/Math.LN10))},t.stableSort=function(t,e){var n,i,r=t.length;for(i=0;in&&(n=t[e]);return n},t.destroyObjectProperties=function(e,n){t.objectEach(e,function(t,i){t&&t!==n&&t.destroy&&t.destroy(),delete e[i]})},t.discardElement=function(e){var n=t.garbageBin;n||(n=t.createElement("div")),e&&n.appendChild(e),n.innerHTML=""},t.correctFloat=function(t,e){return parseFloat(t.toPrecision(e||14))},t.setAnimation=function(e,n){n.renderer.globalAnimation=t.pick(e,n.options.chart.animation,!0)},t.animObject=function(e){return t.isObject(e)?t.merge(e):{duration:e?500:0}},t.timeUnits={millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},t.numberFormat=function(e,n,i,r){e=+e||0,n=+n;var o,a,s=t.defaultOptions.lang,l=(e.toString().split(".")[1]||"").split("e")[0].length,u=e.toString().split("e");return-1===n?n=Math.min(l,20):t.isNumber(n)||(n=2),a=(Math.abs(u[1]?u[0]:e)+Math.pow(10,-Math.max(n,l)-1)).toFixed(n),l=String(t.pInt(a)),o=3e?"-":"")+(o?l.substr(0,o)+r:""),e+=l.substr(o).replace(/(\d{3})(?=\d)/g,"$1"+r),n&&(e+=i+a.slice(-n)),u[1]&&(e+="e"+u[1]),e},Math.easeInOutSine=function(t){return-.5*(Math.cos(Math.PI*t)-1)},t.getStyle=function(e,n,i){return"width"===n?Math.min(e.offsetWidth,e.scrollWidth)-t.getStyle(e,"padding-left")-t.getStyle(e,"padding-right"):"height"===n?Math.min(e.offsetHeight,e.scrollHeight)-t.getStyle(e,"padding-top")-t.getStyle(e,"padding-bottom"):((e=r.getComputedStyle(e,void 0))&&(e=e.getPropertyValue(n),t.pick(i,!0)&&(e=t.pInt(e))),e)},t.inArray=function(t,e){return e.indexOf?e.indexOf(t):[].indexOf.call(e,t)},t.grep=function(t,e){return[].filter.call(t,e)},t.find=function(t,e){return[].find.call(t,e)},t.map=function(t,e){for(var n=[],i=0,r=t.length;i>16,(65280&e)>>8,255&e,1]:4===n&&(r=[(3840&e)>>4|(3840&e)>>8,(240&e)>>4|240&e,(15&e)<<4|15&e,1])),!r)for(o=this.parsers.length;o--&&!r;)a=this.parsers[o],(n=a.regex.exec(e))&&(r=a.parse(n));this.rgba=r||[]},get:function(t){var i,o=this.input,a=this.rgba;return this.stops?(i=r(o),i.stops=[].concat(i.stops),e(this.stops,function(e,n){i.stops[n]=[i.stops[n][0],e.get(t)]})):i=a&&n(a[0])?"rgb"===t||!t&&1===a[3]?"rgb("+a[0]+","+a[1]+","+a[2]+")":"a"===t?a[3]:"rgba("+a.join(",")+")":o,i},brighten:function(t){var i,r=this.rgba;if(this.stops)e(this.stops,function(e){e.brighten(t)});else if(n(t)&&0!==t)for(i=0;3>i;i++)r[i]+=o(255*t),0>r[i]&&(r[i]=0),255n.width)&&(n={width:0,height:0})}else n=this.htmlGetBBox();if(s.isSVG&&(t=n.width,s=n.height,u&&"11px"===u.fontSize&&17===Math.round(s)&&(n.height=s=14),e&&(n.width=Math.abs(s*Math.sin(i))+Math.abs(t*Math.cos(i)),n.height=Math.abs(s*Math.cos(i))+Math.abs(t*Math.sin(i)))),a&&0]*>/g,"")))},textSetter:function(t){t!==this.textStr&&(delete this.bBox,this.textStr=t,this.added&&this.renderer.buildText(this))},fillSetter:function(t,e,n){"string"==typeof t?n.setAttribute(e,t):t&&this.colorGradient(t,e,n)},visibilitySetter:function(t,e,n){"inherit"===t?n.removeAttribute(e):this[e]!==t&&n.setAttribute(e,t),this[e]=t},zIndexSetter:function(t,e){var n,i,r=this.renderer,o=this.parentGroup,a=(o||r).element||r.box,s=this.element;n=this.added;var l;if(c(t)&&(s.zIndex=t,t=+t,this[e]===t&&(n=!1),this[e]=t),n){for((t=this.zIndex)&&o&&(o.handleZ=!0),e=a.childNodes,l=0;lt||!c(t)&&c(n)||0>t&&!c(n)&&a!==r.box)&&(a.insertBefore(s,o),i=!0);i||a.appendChild(s)}return i},_defaultSetter:function(t,e,n){n.setAttribute(e,t)}}),e.prototype.yGetter=e.prototype.xGetter,e.prototype.translateXSetter=e.prototype.translateYSetter=e.prototype.rotationSetter=e.prototype.verticalAlignSetter=e.prototype.scaleXSetter=e.prototype.scaleYSetter=function(t,e){this[e]=t,this.doTransform=!0},e.prototype["stroke-widthSetter"]=e.prototype.strokeSetter=function(t,n,i){this[n]=t,this.stroke&&this["stroke-width"]?(e.prototype.fillSetter.call(this,this.stroke,"stroke",i),i.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0):"stroke-width"===n&&0===t&&this.hasStroke&&(i.removeAttribute("stroke"),this.hasStroke=!1)},n=t.SVGRenderer=function(){this.init.apply(this,arguments)},g(n.prototype,{Element:e,SVG_NS:N,init:function(t,e,n,r,a,s){var u;r=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}).css(this.getStyle(r)),u=r.element,t.appendChild(u),-1===t.innerHTML.indexOf("xmlns")&&o(u,"xmlns",this.SVG_NS),this.isSVG=!0,this.box=u,this.boxWrapper=r,this.alignedObjects=[],this.url=(w||M)&&f.getElementsByTagName("base").length?j.location.href.replace(/#.*?$/,"").replace(/<[^>]*>/g,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"",this.createElement("desc").add().element.appendChild(f.createTextNode("Created with Highcharts 5.0.14")),this.defs=this.createElement("defs").add(),this.allowHTML=s,this.forExport=a,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.setSize(e,n,!1);var c;w&&t.getBoundingClientRect&&(e=function(){l(t,{left:0,top:0}),c=t.getBoundingClientRect(),l(t,{left:Math.ceil(c.left)-c.left+"px",top:Math.ceil(c.top)-c.top+"px"})},e(),this.unSubPixelFix=i(j,"resize",e))},getStyle:function(t){return this.style=g({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif',fontSize:"12px"},t)},setStyle:function(t){this.boxWrapper.css(this.getStyle(t))},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var t=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),d(this.gradients||{}),this.gradients=null,t&&(this.defs=t.destroy()),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null},createElement:function(t){var e=new this.Element;return e.init(this,t),e},draw:T,getRadialAttr:function(t,e){return{cx:t[0]-t[2]/2+e.cx*t[2],cy:t[1]-t[2]/2+e.cy*t[2],r:e.r*t[2]}},getSpanWidth:function(t,e){var n=t.getBBox(!0).width;return!L&&this.forExport&&(n=this.measureSpanWidth(e.firstChild.data,t.styles)),n},applyEllipsis:function(t,e,n,i){var r,o,a=t.rotation,s=n,l=0,u=n.length,c=function(t){e.removeChild(e.firstChild),t&&e.appendChild(f.createTextNode(t))};if(t.rotation=0,s=this.getSpanWidth(t,e),o=s>i){for(;l<=u;)r=Math.ceil((l+u)/2),s=n.substring(0,r)+"…",c(s),s=this.getSpanWidth(t,e),l===u?l=u+1:s>i?u=r-1:l=r;0===u&&c("")}return t.rotation=a,o},buildText:function(t){var e,n,i,r,a,s,u=t.element,c=this,h=c.forExport,d=A(t.textStr,"").toString(),g=-1!==d.indexOf("<"),m=u.childNodes,y=o(u,"x"),b=t.styles,x=t.textWidth,w=b&&b.lineHeight,S=b&&b.textOutline,_=b&&"ellipsis"===b.textOverflow,C=b&&"nowrap"===b.whiteSpace,M=b&&b.fontSize,k=m.length,b=x&&!t.added&&this.box,T=function(t){var e;return e=/(px|em)$/.test(t&&t.style.fontSize)?t.style.fontSize:M||c.style.fontSize||12,w?E(w):c.fontMetrics(e,t.getAttribute("style")?t:u).h};if(a=[d,_,C,w,S,M,x].join(),a!==t.textCache){for(t.textCache=a;k--;)u.removeChild(m[k]);g||S||_||x||-1!==d.indexOf(" ")?(e=/<.*class="([^"]+)".*>/,n=/<.*style="([^"]+)".*>/,i=/<.*href="([^"]+)".*>/,b&&b.appendChild(u),d=g?d.replace(/<(b|strong)>/g,'').replace(/<(i|em)>/g,'').replace(//g,"").split(//g):[d],d=v(d,function(t){return""!==t}),p(d,function(a,d){var g,m=0;a=a.replace(/^\s+|\s+$/g,"").replace(//g,"|||"),g=a.split("|||"),p(g,function(a){if(""!==a||1===g.length){var p,v,b={},w=f.createElementNS(c.SVG_NS,"tspan");if(e.test(a)&&(p=a.match(e)[1],o(w,"class",p)),n.test(a)&&(v=a.match(n)[1].replace(/(;| |^)color([ :])/,"$1fill$2"),o(w,"style",v)),i.test(a)&&!h&&(o(w,"onclick",'location.href="'+a.match(i)[1]+'"'),l(w,{cursor:"pointer"})),a=(a.replace(/<(.|\n)*?>/g,"")||" ").replace(/</g,"<").replace(/>/g,">")," "!==a){if(w.appendChild(f.createTextNode(a)),m?b.dx=0:d&&null!==y&&(b.x=y),o(w,b),u.appendChild(w),!m&&s&&(!L&&h&&l(w,{display:"block"}),o(w,"dy",T(w))),x){b=a.replace(/([^\^])-/g,"$1- ").split(" "),p=1x,void 0===r&&(r=a),a&&1!==b.length?(w.removeChild(w.firstChild),M.unshift(b.pop())):(b=M,M=[],b.length&&!C&&(w=f.createElementNS(N,"tspan"),o(w,{dy:k,x:y}),v&&o(w,"style",v),u.appendChild(w)),S>x&&(x=S)),b.length&&w.appendChild(f.createTextNode(b.join(" ").replace(/- /g,"-")));t.rotation=D}m++}}}),s=s||u.childNodes.length}),r&&t.attr("title",t.textStr),b&&b.removeChild(u),S&&t.applyTextOutline&&t.applyTextOutline(S)):u.appendChild(f.createTextNode(d.replace(/</g,"<").replace(/>/g,">")))}},getContrast:function(t){return t=s(t).rgba,510Math.abs(r.end-r.start-2*Math.PI));var u=Math.cos(o),h=Math.sin(o),d=Math.cos(l),l=Math.sin(l);return r=.001>r.end-o-Math.PI?0:1,a=["M",t+a*u,e+s*h,"A",a,s,0,r,1,t+a*d,e+s*l],c(n)&&a.push(i?"M":"L",t+n*d,e+n*l,"A",n,n,0,r,0,t+n*u,e+n*h),a.push(i?"":"Z"),a},callout:function(t,e,n,i,r){var o=Math.min(r&&r.r||0,n,i),a=o+6,s=r&&r.anchorX;r=r&&r.anchorY;var l;return l=["M",t+o,e,"L",t+n-o,e,"C",t+n,e,t+n,e,t+n,e+o,"L",t+n,e+i-o,"C",t+n,e+i,t+n,e+i,t+n-o,e+i,"L",t+o,e+i,"C",t,e+i,t,e+i,t,e+i-o,"L",t,e+o,"C",t,e,t,e,t+o,e],s&&s>n?r>e+a&&rs?r>e+a&&ri&&s>t+a&&sr&&s>t+a&&st?t+3:Math.round(1.2*t),{h:e,b:Math.round(.8*e),f:t}},rotCorr:function(t,e,n){var i=t;return e&&n&&(i=Math.max(i*Math.cos(e*h),4)),{x:-t/3*Math.sin(e*h),y:i}},label:function(n,i,r,o,a,s,l,u,h){var d,f,m,v,y,b,x,w,S,_,C,M,T,D=this,A=D.g("button"!==h&&"label"),E=A.text=D.text("",0,0,l).attr({zIndex:1}),O=0,L=3,N=0,I={},j=/^url\((.*?)\)$/.test(o),F=j;h&&A.addClass("highcharts-"+h),F=j,_=function(){return(w||0)%2/2},C=function(){var t=E.element.style,e={};f=(void 0===m||void 0===v||x)&&c(E.textStr)&&E.getBBox(),A.width=(m||f.width||0)+2*L+N,A.height=(v||f.height||0)+2*L,S=L+D.fontMetrics(t&&t.fontSize,E).b,F&&(d||(A.box=d=D.symbols[o]||j?D.symbol(o):D.rect(),d.addClass(("button"===h?"":"highcharts-label-box")+(h?" highcharts-"+h+"-box":"")),d.add(A),t=_(),e.x=t,e.y=(u?-S:0)+t),e.width=Math.round(A.width),e.height=Math.round(A.height),d.attr(g(e,I)),I={})},M=function(){var t,e=N+L;t=u?0:S,c(m)&&f&&("center"===x||"right"===x)&&(e+={center:.5,right:1}[x]*(m-f.width)),e===E.x&&t===E.y||(E.attr("x",e),void 0!==t&&E.attr("y",t)),E.x=e,E.y=t},T=function(t,e){d?d.attr(t,e):I[t]=e},A.onAdd=function(){E.add(A),A.attr({text:n||0===n?n:"",x:i,y:r}),d&&c(a)&&A.attr({
+anchorX:a,anchorY:s})},A.widthSetter=function(e){m=t.isNumber(e)?e:null},A.heightSetter=function(t){v=t},A["text-alignSetter"]=function(t){x=t},A.paddingSetter=function(t){c(t)&&t!==L&&(L=A.padding=t,M())},A.paddingLeftSetter=function(t){c(t)&&t!==N&&(N=t,M())},A.alignSetter=function(t){t={left:0,center:.5,right:1}[t],t!==O&&(O=t,f&&A.attr({x:y}))},A.textSetter=function(t){void 0!==t&&E.textSetter(t),C(),M()},A["stroke-widthSetter"]=function(t,e){t&&(F=!0),w=this["stroke-width"]=t,T(e,t)},A.strokeSetter=A.fillSetter=A.rSetter=function(t,e){"r"!==e&&("fill"===e&&t&&(F=!0),A[e]=t),T(e,t)},A.anchorXSetter=function(t,e){a=A.anchorX=t,T(e,Math.round(t)-_()-y)},A.anchorYSetter=function(t,e){s=A.anchorY=t,T(e,t-b)},A.xSetter=function(t){A.x=t,O&&(t-=O*((m||f.width)+2*L)),y=Math.round(t),A.attr("translateX",y)},A.ySetter=function(t){b=A.y=Math.round(t),A.attr("translateY",b)};var R=A.css;return g(A,{css:function(t){if(t){var e={};t=k(t),p(A.textProps,function(n){void 0!==t[n]&&(e[n]=t[n],delete t[n])}),E.css(e)}return R.call(A,t)},getBBox:function(){return{width:f.width+2*L,height:f.height+2*L,x:f.x-L,y:f.y-L}},shadow:function(t){return t&&(C(),d&&d.shadow(t)),A},destroy:function(){P(A.element,"mouseenter"),P(A.element,"mouseleave"),E&&(E=E.destroy()),d&&(d=d.destroy()),e.prototype.destroy.call(A),A=D=C=M=T=null}})}}),t.Renderer=n}(t),function(t){var e=t.attr,n=t.createElement,i=t.css,r=t.defined,o=t.each,a=t.extend,s=t.isFirefox,l=t.isMS,u=t.isWebKit,c=t.pInt,h=t.SVGRenderer,d=t.win,f=t.wrap;a(t.SVGElement.prototype,{htmlCss:function(t){var e=this.element;return(e=t&&"SPAN"===e.tagName&&t.width)&&(delete t.width,this.textWidth=e,this.updateTransform()),t&&"ellipsis"===t.textOverflow&&(t.whiteSpace="nowrap",t.overflow="hidden"),this.styles=a(this.styles,t),i(this.element,t),this},htmlGetBBox:function(){var t=this.element;return"text"===t.nodeName&&(t.style.position="absolute"),{x:t.offsetLeft,y:t.offsetTop,width:t.offsetWidth,height:t.offsetHeight}},htmlUpdateTransform:function(){if(this.added){var t=this.renderer,e=this.element,n=this.translateX||0,a=this.translateY||0,s=this.x||0,l=this.y||0,h=this.textAlign||"left",d={left:0,center:.5,right:1}[h],f=this.styles;if(i(e,{marginLeft:n,marginTop:a}),this.shadows&&o(this.shadows,function(t){i(t,{marginLeft:n+1,marginTop:a+1})}),this.inverted&&o(e.childNodes,function(n){t.invertChild(n,e)}),"SPAN"===e.tagName){var p=this.rotation,g=c(this.textWidth),m=f&&f.whiteSpace,v=[p,h,e.innerHTML,this.textWidth,this.textAlign].join();v!==this.cTT&&(f=t.fontMetrics(e.style.fontSize).b,r(p)&&this.setSpanRotation(p,d,f),i(e,{width:"",whiteSpace:m||"nowrap"}),e.offsetWidth>g&&/[ \-]/.test(e.textContent||e.innerText)&&i(e,{width:g+"px",display:"block",whiteSpace:m||"normal"}),this.getSpanCorrection(e.offsetWidth,f,d,p,h)),i(e,{left:s+(this.xCorr||0)+"px",top:l+(this.yCorr||0)+"px"}),u&&(f=e.offsetHeight),this.cTT=v}}else this.alignOnAdd=!0},setSpanRotation:function(t,e,n){var r={},o=l?"-ms-transform":u?"-webkit-transform":s?"MozTransform":d.opera?"-o-transform":"";r[o]=r.transform="rotate("+t+"deg)",r[o+(s?"Origin":"-origin")]=r.transformOrigin=100*e+"% "+n+"px",i(this.element,r)},getSpanCorrection:function(t,e,n){this.xCorr=-t*n,this.yCorr=-e}}),a(h.prototype,{html:function(t,i,r){var s=this.createElement("span"),l=s.element,u=s.renderer,c=u.isSVG,h=function(t,e){o(["opacity","visibility"],function(n){f(t,n+"Setter",function(t,n,i,r){t.call(this,n,i,r),e[i]=n})})};return s.textSetter=function(t){t!==l.innerHTML&&delete this.bBox,l.innerHTML=this.textStr=t,s.htmlUpdateTransform()},c&&h(s,s.element.style),s.xSetter=s.ySetter=s.alignSetter=s.rotationSetter=function(t,e){"align"===e&&(e="textAlign"),s[e]=t,s.htmlUpdateTransform()},s.attr({text:t,x:Math.round(i),y:Math.round(r)}).css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize,position:"absolute"}),l.style.whiteSpace="nowrap",s.css=s.htmlCss,c&&(s.add=function(t){var i,r=u.box.parentNode,c=[];if(this.parentGroup=t){if(i=t.div,!i){for(;t;)c.push(t),t=t.parentGroup;o(c.reverse(),function(t){var o,l=e(t.element,"class");l&&(l={className:l}),i=t.div=t.div||n("div",l,{position:"absolute",left:(t.translateX||0)+"px",top:(t.translateY||0)+"px",display:t.display,opacity:t.opacity,pointerEvents:t.styles&&t.styles.pointerEvents},i||r),o=i.style,a(t,{classSetter:function(t){this.element.setAttribute("class",t),i.className=t},on:function(){return c[0].div&&s.on.apply({element:c[0].div},arguments),t},translateXSetter:function(e,n){o.left=e+"px",t[n]=e,t.doTransform=!0},translateYSetter:function(e,n){o.top=e+"px",t[n]=e,t.doTransform=!0}}),h(t,o)})}}else i=r;return i.appendChild(l),s.added=!0,s.alignOnAdd&&s.htmlUpdateTransform(),s}),s}})}(t),function(t){var e,n,i=t.createElement,r=t.css,o=t.defined,a=t.deg2rad,s=t.discardElement,l=t.doc,u=t.each,c=t.erase,h=t.extend;e=t.extendClass;var d=t.isArray,f=t.isNumber,p=t.isObject,g=t.merge;n=t.noop;var m=t.pick,v=t.pInt,y=t.SVGElement,b=t.SVGRenderer,x=t.win;t.svg||(n={docMode8:l&&8===l.documentMode,init:function(t,e){var n=["<",e,' filled="f" stroked="f"'],r=["position: ","absolute",";"],o="div"===e;("shape"===e||o)&&r.push("left:0;top:0;width:1px;height:1px;"),r.push("visibility: ",o?"hidden":"visible"),n.push(' style="',r.join(""),'"/>'),e&&(n=o||"span"===e||"img"===e?n.join(""):t.prepVML(n),this.element=i(n)),this.renderer=t},add:function(t){var e=this.renderer,n=this.element,i=e.box,r=t&&t.inverted,i=t?t.element||t:i;return t&&(this.parentGroup=t),r&&e.invertChild(n,i),i.appendChild(n),this.added=!0,this.alignOnAdd&&!this.deferUpdateTransform&&this.updateTransform(),this.onAdd&&this.onAdd(),this.className&&this.attr("class",this.className),this},updateTransform:y.prototype.htmlUpdateTransform,setSpanRotation:function(){var t=this.rotation,e=Math.cos(t*a),n=Math.sin(t*a);r(this.element,{filter:t?["progid:DXImageTransform.Microsoft.Matrix(M11=",e,", M12=",-n,", M21=",n,", M22=",e,", sizingMethod='auto expand')"].join(""):"none"})},getSpanCorrection:function(t,e,n,i,o){var s,l=i?Math.cos(i*a):1,u=i?Math.sin(i*a):0,c=m(this.elemHeight,this.element.offsetHeight);this.xCorr=0>l&&-t,this.yCorr=0>u&&-c,s=0>l*u,this.xCorr+=u*e*(s?1-n:n),this.yCorr-=l*e*(i?s?n:1-n:1),o&&"left"!==o&&(this.xCorr-=t*n*(0>l?-1:1),i&&(this.yCorr-=c*n*(0>u?-1:1)),r(this.element,{textAlign:o}))},pathToVML:function(t){for(var e=t.length,n=[];e--;)f(t[e])?n[e]=Math.round(10*t[e])-5:"Z"===t[e]?n[e]="x":(n[e]=t[e],!t.isArc||"wa"!==t[e]&&"at"!==t[e]||(n[e+5]===n[e+7]&&(n[e+7]+=t[e+7]>t[e+5]?1:-1),n[e+6]===n[e+8]&&(n[e+8]+=t[e+8]>t[e+6]?1:-1)));return n.join(" ")||"x"},clip:function(t){var e,n=this;return t?(e=t.members,c(e,n),e.push(n),n.destroyClip=function(){c(e,n)},t=t.getCSS(n)):(n.destroyClip&&n.destroyClip(),t={clip:n.docMode8?"inherit":"rect(auto)"}),n.css(t)},css:y.prototype.htmlCss,safeRemoveChild:function(t){t.parentNode&&s(t)},destroy:function(){return this.destroyClip&&this.destroyClip(),y.prototype.destroy.apply(this)},on:function(t,e){return this.element["on"+t]=function(){var t=x.event;t.target=t.srcElement,e(t)},this},cutOffPath:function(t,e){var n;return t=t.split(/[ ,]/),n=t.length,9!==n&&11!==n||(t[n-4]=t[n-2]=v(t[n-2])-10*e),t.join(" ")},shadow:function(t,e,n){var r,o,a,s,l,u,c,h=[],d=this.element,f=this.renderer,p=d.style,g=d.path;if(g&&"string"!=typeof g.value&&(g="x"),l=g,t){for(u=m(t.width,3),c=(t.opacity||.15)/u,r=1;3>=r;r++)s=2*u+1-2*r,n&&(l=this.cutOffPath(g.value,s+.5)),a=[''],o=i(f.prepVML(a),null,{left:v(p.left)+m(t.offsetX,1),top:v(p.top)+m(t.offsetY,1)}),n&&(o.cutOff=s+1),a=[''],i(f.prepVML(a),null,null,o),e?e.element.appendChild(o):d.parentNode.insertBefore(o,d),h.push(o);this.shadows=h}return this},updateShadows:n,setAttr:function(t,e){this.docMode8?this.element[t]=e:this.element.setAttribute(t,e)},classSetter:function(t){(this.added?this.element:this).className=t},dashstyleSetter:function(t,e,n){(n.getElementsByTagName("stroke")[0]||i(this.renderer.prepVML([""]),null,null,n))[e]=t||"solid",this[e]=t},dSetter:function(t,e,n){var i=this.shadows;if(t=t||[],this.d=t.join&&t.join(" "),n.path=t=this.pathToVML(t),i)for(n=i.length;n--;)i[n].path=i[n].cutOff?this.cutOffPath(t,i[n].cutOff):t;this.setAttr(e,t)},fillSetter:function(t,e,n){var i=n.nodeName;"SPAN"===i?n.style.color=t:"IMG"!==i&&(n.filled="none"!==t,this.setAttr("fillcolor",this.renderer.color(t,n,e,this)))},"fill-opacitySetter":function(t,e,n){i(this.renderer.prepVML(["<",e.split("-")[0],' opacity="',t,'"/>']),null,null,n)},opacitySetter:n,rotationSetter:function(t,e,n){n=n.style,this[e]=n[e]=t,n.left=-Math.round(Math.sin(t*a)+1)+"px",n.top=Math.round(Math.cos(t*a))+"px"},strokeSetter:function(t,e,n){this.setAttr("strokecolor",this.renderer.color(t,n,e,this))},"stroke-widthSetter":function(t,e,n){n.stroked=!!t,this[e]=t,f(t)&&(t+="px"),this.setAttr("strokeweight",t)},titleSetter:function(t,e){this.setAttr(e,t)},visibilitySetter:function(t,e,n){"inherit"===t&&(t="visible"),this.shadows&&u(this.shadows,function(n){n.style[e]=t}),"DIV"===n.nodeName&&(t="hidden"===t?"-999em":0,this.docMode8||(n.style[e]=t?"visible":"hidden"),e="top"),n.style[e]=t},xSetter:function(t,e,n){this[e]=t,"x"===e?e="left":"y"===e&&(e="top"),this.updateClipping?(this[e]=t,this.updateClipping()):n.style[e]=t},zIndexSetter:function(t,e,n){n.style[e]=t}},n["stroke-opacitySetter"]=n["fill-opacitySetter"],t.VMLElement=n=e(y,n),n.prototype.ySetter=n.prototype.widthSetter=n.prototype.heightSetter=n.prototype.xSetter,n={Element:n,isIE8:-1'],i(c.prepVML(s),null,null,n)};if(g=e[0],S=e[e.length-1],0S[0]&&e.push([1,S[1]]),u(e,function(e,n){h.test(e[1])?(a=t.color(e[1]),f=a.get("rgb"),p=a.get("a")):(f=e[1],p=1),_.push(100*e[0]+"% "+f),n?(v=p,y=f):(m=p,b=f)}),"fill"===r)if("gradient"===l)r=x.x1||x[0]||0,e=x.y1||x[1]||0,g=x.x2||x[2]||0,x=x.y2||x[3]||0,w='angle="'+(90-180*Math.atan((x-e)/(g-r))/Math.PI)+'"',C();else{var M,d=x.r,k=2*d,T=2*d,D=x.cx,A=x.cy,E=n.radialReference,d=function(){E&&(M=o.getBBox(),D+=(E[0]-M.x)/M.width-.5,A+=(E[1]-M.y)/M.height-.5,k*=E[2]/M.width,T*=E[2]/M.height),w='src="'+t.getOptions().global.VMLRadialGradientURL+'" size="'+k+","+T+'" origin="0.5,0.5" position="'+D+","+A+'" color2="'+b+'" ',C()};o.added?d():o.onAdd=d,d=y}else d=f}else h.test(e)&&"IMG"!==n.tagName?(a=t.color(e),o[r+"-opacitySetter"](a.get("a"),r,n),d=a.get("rgb")):(d=n.getElementsByTagName(r),d.length&&(d[0].opacity=1,d[0].type="solid"),d=e);return d},prepVML:function(t){var e=this.isIE8;return t=t.join(""),e?(t=t.replace("/>",' xmlns="urn:schemas-microsoft-com:vml" />'),t=-1===t.indexOf('style="')?t.replace("/>",' style="display:inline-block;behavior:url(#default#VML);" />'):t.replace('style="','style="display:inline-block;behavior:url(#default#VML);')):t=t.replace("<","{point.key}
',pointFormat:'● {series.name}: {point.y}
',shadow:!0,style:{color:"#333333",cursor:"default",fontSize:"12px",pointerEvents:"none",whiteSpace:"nowrap"}},credits:{enabled:!0,href:"http://www.highcharts.com",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"9px"},text:"Highcharts.com"}},t.setOptions=function(e){return t.defaultOptions=a(!0,t.defaultOptions,e),n(),t.defaultOptions},t.getOptions=function(){return t.defaultOptions},t.defaultPlotOptions=t.defaultOptions.plotOptions,n()}(t),function(t){var e=t.correctFloat,n=t.defined,i=t.destroyObjectProperties,r=t.isNumber,o=t.merge,a=t.pick,s=t.deg2rad;t.Tick=function(t,e,n,i){this.axis=t,this.pos=e,this.type=n||"",this.isNewLabel=this.isNew=!0,n||i||this.addLabel()},t.Tick.prototype={addLabel:function(){var t,i=this.axis,r=i.options,s=i.chart,l=i.categories,u=i.names,c=this.pos,h=r.labels,d=i.tickPositions,f=c===d[0],p=c===d[d.length-1],u=l?a(l[c],u[c],c):c,l=this.label,d=d.info;i.isDatetimeAxis&&d&&(t=r.dateTimeLabelFormats[d.higherRanks[c]||d.unitName]),this.isFirst=f,this.isLast=p,r=i.labelFormatter.call({axis:i,chart:s,isFirst:f,isLast:p,dateTimeLabelFormat:t,value:i.isLog?e(i.lin2log(u)):u,pos:c}),n(l)?l&&l.attr({text:r}):(this.labelLength=(this.label=l=n(r)&&h.enabled?s.renderer.text(r,0,0,h.useHTML).css(o(h.style)).add(i.labelGroup):null)&&l.getBBox().width,this.rotation=0)},getLabelSize:function(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0},handleOverflow:function(t){var e,n=this.axis,i=t.x,r=n.chart.chartWidth,o=n.chart.spacing,l=a(n.labelLeft,Math.min(n.pos,o[3])),o=a(n.labelRight,Math.max(n.pos+n.len,r-o[1])),u=this.label,c=this.rotation,h={left:0,center:.5,right:1}[n.labelAlign],d=u.getBBox().width,f=n.getSlotWidth(),p=f,g=1,m={};c?0>c&&i-h*do&&(e=Math.round((r-i)/Math.cos(c*s))):(r=i+(1-h)*d,i-h*do&&(p=o-t.x+p*h,g=-1),p=Math.min(f,p),pp||n.autoRotation&&(u.styles||{}).width)&&(e=p)),e&&(m.width=e,(n.options.labels.style||{}).textOverflow||(m.textOverflow="ellipsis"),u.css(m))},getPosition:function(t,e,n,i){var r=this.axis,o=r.chart,a=i&&o.oldChartHeight||o.chartHeight;return{x:t?r.translate(e+n,null,null,i)+r.transB:r.left+r.offset+(r.opposite?(i&&o.oldChartWidth||o.chartWidth)-r.right-r.left:0),y:t?a-r.bottom+r.offset-(r.opposite?r.height:0):a-r.translate(e+n,null,null,i)-r.transB}},getLabelPosition:function(t,e,i,r,o,a,l,u){var c=this.axis,h=c.transA,d=c.reversed,f=c.staggerLines,p=c.tickRotCorr||{x:0,y:0},g=o.y;return n(g)||(g=0===c.side?i.rotation?-8:-i.getBBox().height:2===c.side?p.y+8:Math.cos(i.rotation*s)*(p.y-i.getBBox(!1,0).height/2)),t=t+o.x+p.x-(a&&r?a*h*(d?-1:1):0),e=e+g-(a&&!r?a*h*(d?1:-1):0),f&&(i=l/(u||1)%f,c.opposite&&(i=f-i-1),e+=c.labelOffset/f*i),{x:t,y:Math.round(e)}},getMarkPath:function(t,e,n,i,r,o){return o.crispLine(["M",t,e,"L",t+(r?0:-n),e+(r?n:0)],i)},renderGridLine:function(t,e,n){var i=this.axis,r=i.options,o=this.gridLine,a={},s=this.pos,l=this.type,u=i.tickmarkOffset,c=i.chart.renderer,h=l?l+"Grid":"grid",d=r[h+"LineWidth"],f=r[h+"LineColor"],r=r[h+"LineDashStyle"];o||(a.stroke=f,a["stroke-width"]=d,r&&(a.dashstyle=r),l||(a.zIndex=1),t&&(a.opacity=0),this.gridLine=o=c.path().attr(a).addClass("highcharts-"+(l?l+"-":"")+"grid-line").add(i.gridGroup)),!t&&o&&(t=i.getPlotLinePath(s+u,o.strokeWidth()*n,t,!0))&&o[this.isNew?"attr":"animate"]({d:t,opacity:e})},renderMark:function(t,e,n){var i=this.axis,r=i.options,o=i.chart.renderer,s=this.type,l=s?s+"Tick":"tick",u=i.tickSize(l),c=this.mark,h=!c,d=t.x;t=t.y;var f=a(r[l+"Width"],!s&&i.isXAxis?1:0),r=r[l+"Color"];u&&(i.opposite&&(u[0]=-u[0]),h&&(this.mark=c=o.path().addClass("highcharts-"+(s?s+"-":"")+"tick").add(i.axisGroup),c.attr({stroke:r,"stroke-width":f})),c[h?"attr":"animate"]({d:this.getMarkPath(d,t,u[0],c.strokeWidth()*n,i.horiz,o),opacity:e}))},renderLabel:function(t,e,n,i){var o=this.axis,s=o.horiz,l=o.options,u=this.label,c=l.labels,h=c.step,d=o.tickmarkOffset,f=!0,p=t.x;t=t.y,u&&r(p)&&(u.xy=t=this.getLabelPosition(p,t,u,s,c,d,i,h),this.isFirst&&!this.isLast&&!a(l.showFirstLabel,1)||this.isLast&&!this.isFirst&&!a(l.showLastLabel,1)?f=!1:!s||o.isRadial||c.step||c.rotation||e||0===n||this.handleOverflow(t),h&&i%h&&(f=!1),f&&r(t.y)?(t.opacity=n,u[this.isNewLabel?"attr":"animate"](t),this.isNewLabel=!1):(u.attr("y",-9999),this.isNewLabel=!0),this.isNew=!1)},render:function(t,e,n){var i=this.axis,r=i.horiz,o=this.getPosition(r,this.pos,i.tickmarkOffset,e),s=o.x,l=o.y,i=r&&s===i.pos+i.len||!r&&l===i.pos?-1:1;n=a(n,1),this.isActive=!0,this.renderGridLine(e,n,i),this.renderMark(o,n,i),this.renderLabel(o,e,n,t)},destroy:function(){i(this,this.axis)}}}(t);var e=function(t){var e=t.addEvent,n=t.animObject,i=t.arrayMax,r=t.arrayMin,o=t.color,a=t.correctFloat,s=t.defaultOptions,l=t.defined,u=t.deg2rad,c=t.destroyObjectProperties,h=t.each,d=t.extend,f=t.fireEvent,p=t.format,g=t.getMagnitude,m=t.grep,v=t.inArray,y=t.isArray,b=t.isNumber,x=t.isString,w=t.merge,S=t.normalizeTickInterval,_=t.objectEach,C=t.pick,M=t.removeEvent,k=t.splat,T=t.syncTimeout,D=t.Tick,A=function(){this.init.apply(this,arguments)};return t.extend(A.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 t.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(t,n){var i=n.isX,r=this;r.chart=t,r.horiz=t.inverted&&!r.isZAxis?!i:i,r.isXAxis=i,r.coll=r.coll||(i?"xAxis":"yAxis"),r.opposite=n.opposite,r.side=n.side||(r.horiz?r.opposite?0:2:r.opposite?1:3),r.setOptions(n);var o=this.options,a=o.type;r.labelFormatter=o.labels.formatter||r.defaultLabelFormatter,r.userOptions=n,r.minPixelPadding=0,r.reversed=o.reversed,r.visible=!1!==o.visible,r.zoomEnabled=!1!==o.zoomEnabled,r.hasNames="category"===a||!0===o.categories,r.categories=o.categories||r.hasNames,r.names=r.names||[],r.plotLinesAndBandsGroups={},r.isLog="logarithmic"===a,r.isDatetimeAxis="datetime"===a,r.positiveValuesOnly=r.isLog&&!r.allowNegativeLog,r.isLinked=l(o.linkedTo),r.ticks={},r.labelEdge=[],r.minorTicks={},r.plotLinesAndBands=[],r.alternateBands={},r.len=0,r.minRange=r.userMinRange=o.minRange||o.maxZoom,r.range=o.range,r.offset=o.offset||0,r.stacks={},r.oldStacks={},r.stacksTouched=0,r.max=null,r.min=null,r.crosshair=C(o.crosshair,k(t.options.tooltip.crosshairs)[i?0:1],!1),n=r.options.events,-1===v(r,t.axes)&&(i?t.axes.splice(t.xAxis.length,0,r):t.axes.push(r),t[r.coll].push(r)),r.series=r.series||[],t.inverted&&!r.isZAxis&&i&&void 0===r.reversed&&(r.reversed=!0),_(n,function(t,n){e(r,n,t)}),r.lin2log=o.linearToLogConverter||r.lin2log,r.isLog&&(r.val2lin=r.log2lin,r.lin2val=r.lin2log)},setOptions:function(t){this.options=w(this.defaultOptions,"yAxis"===this.coll&&this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],w(s[this.coll],t))},defaultLabelFormatter:function(){var e,n=this.axis,i=this.value,r=n.categories,o=this.dateTimeLabelFormat,a=s.lang,l=a.numericSymbols,a=a.numericSymbolMagnitude||1e3,u=l&&l.length,c=n.options.labels.format,n=n.isLog?Math.abs(i):n.tickInterval;if(c)e=p(c,this);else if(r)e=i;else if(o)e=t.dateFormat(o,i);else if(u&&1e3<=n)for(;u--&&void 0===e;)r=Math.pow(a,u+1),n>=r&&0===10*i%r&&null!==l[u]&&0!==i&&(e=t.numberFormat(i/r,-1)+l[u]);return void 0===e&&(e=1e4<=Math.abs(i)?t.numberFormat(i,-1):t.numberFormat(i,-1,void 0,"")),e},getSeriesExtremes:function(){var t=this,e=t.chart;t.hasVisibleSeries=!1,t.dataMin=t.dataMax=t.threshold=null,t.softThreshold=!t.isXAxis,t.buildStacks&&t.buildStacks(),h(t.series,function(n){if(n.visible||!e.options.chart.ignoreHiddenSeries){var o,a=n.options,s=a.threshold;t.hasVisibleSeries=!0,t.positiveValuesOnly&&0>=s&&(s=null),t.isXAxis?(a=n.xData,a.length&&(n=r(a),b(n)||n instanceof Date||(a=m(a,function(t){return b(t)}),n=r(a)),t.dataMin=Math.min(C(t.dataMin,a[0]),n),t.dataMax=Math.max(C(t.dataMax,a[0]),i(a)))):(n.getExtremes(),o=n.dataMax,n=n.dataMin,l(n)&&l(o)&&(t.dataMin=Math.min(C(t.dataMin,n),n),t.dataMax=Math.max(C(t.dataMax,o),o)),l(s)&&(t.threshold=s),(!a.softThreshold||t.positiveValuesOnly)&&(t.softThreshold=!1))}})},translate:function(t,e,n,i,r,o){var a=this.linkedParent||this,s=1,l=0,u=i?a.oldTransA:a.transA;i=i?a.oldMin:a.min;var c=a.minPixelPadding;return r=(a.isOrdinal||a.isBroken||a.isLog&&r)&&a.lin2val,u||(u=a.transA),n&&(s*=-1,l=a.len),a.reversed&&(s*=-1,l-=s*(a.sector||a.len)),e?(t=(t*s+l-c)/u+i,r&&(t=a.lin2val(t))):(r&&(t=a.val2lin(t)),t=s*(t-i)*u+l+s*c+(b(o)?u*o:0)),t},toPixels:function(t,e){return this.translate(t,!1,!this.horiz,null,!0)+(e?0:this.pos)},toValue:function(t,e){return this.translate(t-(e?0:this.pos),!0,!this.horiz,null,!0)},getPlotLinePath:function(t,e,n,i,r){var o,a,s,l=this.chart,u=this.left,c=this.top,h=n&&l.oldChartHeight||l.chartHeight,d=n&&l.oldChartWidth||l.chartWidth;o=this.transB;var f=function(t,e,n){return(tn)&&(i?t=Math.min(Math.max(e,t),n):s=!0),t};return r=C(r,this.translate(t,null,null,n)),t=n=Math.round(r+o),o=a=Math.round(h-r-o),b(r)?this.horiz?(o=c,a=h-this.bottom,t=n=f(t,u,u+this.width)):(t=u,n=d-this.right,o=a=f(o,c,c+this.height)):s=!0,s&&!i?null:l.renderer.crispLine(["M",t,o,"L",n,a],e||1)},getLinearTickPositions:function(t,e,n){var i,r=a(Math.floor(e/t)*t);n=a(Math.ceil(n/t)*t);var o=[];if(this.single)return[e];for(e=r;e<=n&&(o.push(e),e=a(e+t),e!==i);)i=e;return o},getMinorTickPositions:function(){var t=this,e=t.options,n=t.tickPositions,i=t.minorTickInterval,r=[],o=t.pointRangePadding||0,a=t.min-o,o=t.max+o,s=o-a;if(s&&s/i=this.minRange,c=this.minRange,t=(c-p+f)/2,t=[f-t,C(d.min,f-t)],e&&(t[2]=this.isLog?this.log2lin(this.dataMin):this.dataMin),f=i(t),p=[f+c,C(d.max,f+c)],e&&(p[2]=this.isLog?this.log2lin(this.dataMax):this.dataMax),p=r(p),p-f=T?(n=T,w=0):s.dataMax<=T&&(i=T,x=0)),s.min=C(r,n,s.dataMin),s.max=C(o,i,s.dataMax)),d&&(s.positiveValuesOnly&&!e&&0>=Math.min(s.min,C(s.dataMin,s.min))&&t.error(10,1),s.min=a(p(s.min),15),s.max=a(p(s.max),15)),s.range&&l(s.max)&&(s.userMin=s.min=r=Math.max(s.dataMin,s.minFromRange()),s.userMax=o=s.max,s.range=null),f(s,"foundExtremes"),s.beforePadding&&s.beforePadding(),s.adjustForMinRange(),!(k||s.axisPointRange||s.usePercentage||y)&&l(s.min)&&l(s.max)&&(p=s.max-s.min)&&(!l(r)&&w&&(s.min-=p*w),!l(o)&&x&&(s.max+=p*x)),b(c.softMin)&&(s.min=Math.min(s.min,c.softMin)),b(c.softMax)&&(s.max=Math.max(s.max,c.softMax)),b(c.floor)&&(s.min=Math.max(s.min,c.floor)),b(c.ceiling)&&(s.max=Math.min(s.max,c.ceiling)),D&&l(s.dataMin)&&(T=T||0,
+!l(r)&&s.min=T?s.min=T:!l(o)&&s.max>T&&s.dataMax<=T&&(s.max=T)),s.tickInterval=s.min===s.max||void 0===s.min||void 0===s.max?1:y&&!_&&M===s.linkedParent.options.tickPixelInterval?_=s.linkedParent.tickInterval:C(_,this.tickAmount?(s.max-s.min)/Math.max(this.tickAmount-1,1):void 0,k?1:(s.max-s.min)*M/Math.max(s.len,M)),v&&!e&&h(s.series,function(t){t.processData(s.min!==s.oldMin||s.max!==s.oldMax)}),s.setAxisTranslation(!0),s.beforeSetTickPositions&&s.beforeSetTickPositions(),s.postProcessTickInterval&&(s.tickInterval=s.postProcessTickInterval(s.tickInterval)),s.pointRange&&!_&&(s.tickInterval=Math.max(s.pointRange,s.tickInterval)),e=C(c.minTickInterval,s.isDatetimeAxis&&s.closestPointRange),!_&&s.tickIntervals.tickInterval&&1e3s.max)),!!this.tickAmount)),this.tickAmount||(s.tickInterval=s.unsquish()),this.setTickPositions()},setTickPositions:function(){var t,e=this.options,n=e.tickPositions,i=e.tickPositioner,r=e.startOnTick,o=e.endOnTick;this.tickmarkOffset=this.categories&&"between"===e.tickmarkPlacement&&1===this.tickInterval?.5:0,this.minorTickInterval="auto"===e.minorTickInterval&&this.tickInterval?this.tickInterval/5:e.minorTickInterval,this.single=this.min===this.max&&l(this.min)&&!this.tickAmount&&(parseInt(this.min,10)===this.min||!1!==e.allowDecimals),this.tickPositions=t=n&&n.slice(),!t&&(t=this.isDatetimeAxis?this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval,e.units),this.min,this.max,e.startOfWeek,this.ordinalPositions,this.closestPointRange,!0):this.isLog?this.getLogTickPositions(this.tickInterval,this.min,this.max):this.getLinearTickPositions(this.tickInterval,this.min,this.max),t.length>this.len&&(t=[t[0],t.pop()]),this.tickPositions=t,i&&(i=i.apply(this,[this.min,this.max])))&&(this.tickPositions=t=i),this.paddedTicks=t.slice(0),this.trimTicks(t,r,o),this.isLinked||(this.single&&2>t.length&&(this.min-=.5,this.max+=.5),n||i||this.adjustTickAmount())},trimTicks:function(t,e,n){var i=t[0],r=t[t.length-1],o=this.minPointOffset||0;if(!this.isLinked){if(e&&-(1/0)!==i)this.min=i;else for(;this.min-o>t[0];)t.shift();if(n)this.max=r;else for(;this.max+oe&&(this.finalTickAmt=e,e=5),this.tickAmount=e},adjustTickAmount:function(){var t=this.tickInterval,e=this.tickPositions,n=this.tickAmount,i=this.finalTickAmt,r=e&&e.length;if(rn&&(this.tickInterval*=2,this.setTickPositions());if(l(i)){for(t=n=e.length;t--;)(3===i&&1===t%2||2>=i&&0r&&(t=r)),l(i)&&(er&&(e=r))),this.displayBtn=void 0!==t||void 0!==e,this.setExtremes(t,e,!1,void 0,{trigger:"zoom"})),!0},setAxisSize:function(){var e=this.chart,n=this.options,i=n.offsets||[0,0,0,0],r=this.horiz,o=this.width=Math.round(t.relativeLength(C(n.width,e.plotWidth-i[3]+i[1]),e.plotWidth)),a=this.height=Math.round(t.relativeLength(C(n.height,e.plotHeight-i[0]+i[2]),e.plotHeight)),s=this.top=Math.round(t.relativeLength(C(n.top,e.plotTop+i[0]),e.plotHeight,e.plotTop)),n=this.left=Math.round(t.relativeLength(C(n.left,e.plotLeft+i[3]),e.plotWidth,e.plotLeft));this.bottom=e.chartHeight-a-s,this.right=e.chartWidth-o-n,this.len=Math.max(r?o:a,0),this.pos=r?n:s},getExtremes:function(){var t=this.isLog,e=this.lin2log;return{min:t?a(e(this.min)):this.min,max:t?a(e(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},getThreshold:function(t){var e=this.isLog,n=this.lin2log,i=e?n(this.min):this.min,e=e?n(this.max):this.max;return null===t?t=i:i>t?t=i:et?"right":195t?"left":"center"},tickSize:function(t){var e=this.options,n=e[t+"Length"],i=C(e[t+"Width"],"tick"===t&&this.isXAxis?1:0);if(i&&n)return"inside"===e[t+"Position"]&&(n=-n),[n,i]},labelMetrics:function(){var t=this.tickPositions&&this.tickPositions[0]||0;return this.chart.renderer.fontMetrics(this.options.labels.style&&this.options.labels.style.fontSize,this.ticks[t]&&this.ticks[t].label)},unsquish:function(){var t,e,n,i=this.options.labels,r=this.horiz,o=this.tickInterval,a=o,s=this.len/(((this.categories?1:0)+this.max-this.min)/o),c=i.rotation,d=this.labelMetrics(),f=Number.MAX_VALUE,p=function(t){return t/=s||1,t=1=n)&&(e=p(Math.abs(d.h/Math.sin(u*n))),i=e+Math.abs(n/360),i(n.step||0)&&!n.rotation&&(this.staggerLines||1)*this.len/i||!e&&(r&&r-t.spacing[3]||.33*t.chartWidth)},renderUnsquish:function(){var t,e,n,i=this.chart,r=i.renderer,o=this.tickPositions,a=this.ticks,s=this.options.labels,l=this.horiz,u=this.getSlotWidth(),c=Math.max(1,Math.round(u-2*(s.padding||5))),d={},f=this.labelMetrics(),p=s.style&&s.style.textOverflow,g=0;if(x(s.rotation)||(d.rotation=s.rotation||0),h(o,function(t){(t=a[t])&&t.labelLength>g&&(g=t.labelLength)}),this.maxLabelLength=g,this.autoRotation)g>c&&g>f.h?d.rotation=this.labelRotation:this.labelRotation=0;else if(u&&(t={width:c+"px"},!p))for(t.textOverflow="clip",e=o.length;!l&&e--;)n=o[e],(c=a[n].label)&&(c.styles&&"ellipsis"===c.styles.textOverflow?c.css({textOverflow:"clip"}):a[n].labelLength>u&&c.css({width:u+"px"}),c.getBBox().height>this.len/o.length-(f.h-f.f)&&(c.specCss={textOverflow:"ellipsis"}));d.rotation&&(t={width:(g>.5*i.chartHeight?.33*i.chartHeight:i.chartHeight)+"px"},p||(t.textOverflow="ellipsis")),(this.labelAlign=s.align||this.autoLabelAlign(this.labelRotation))&&(d.align=this.labelAlign),h(o,function(e){var n=(e=a[e])&&e.label;n&&(n.attr(d),t&&n.css(w(t,n.specCss)),delete n.specCss,e.rotation=d.rotation)}),this.tickRotCorr=r.rotCorr(f.b,this.labelRotation||0,0!==this.side)},hasData:function(){return this.hasVisibleSeries||l(this.min)&&l(this.max)&&!!this.tickPositions},addTitle:function(t){var e,n=this.chart.renderer,i=this.horiz,r=this.opposite,o=this.options.title;this.axisTitle||((e=o.textAlign)||(e=(i?{low:"left",middle:"center",high:"right"}:{low:r?"right":"left",middle:"center",high:r?"left":"right"})[o.align]),this.axisTitle=n.text(o.text,0,0,o.useHTML).attr({zIndex:7,rotation:o.rotation||0,align:e}).addClass("highcharts-axis-title").css(o.style).add(this.axisGroup),this.axisTitle.isNew=!0),o.style.width||this.isRadial||this.axisTitle.css({width:this.len}),this.axisTitle[t?"show":"hide"](!0)},generateTick:function(t){var e=this.ticks;e[t]?e[t].addLabel():e[t]=new D(this,t)},getOffset:function(){var t,e,n,i=this,r=i.chart,o=r.renderer,a=i.options,s=i.tickPositions,u=i.ticks,c=i.horiz,d=i.side,f=r.inverted&&!i.isZAxis?[1,0,3,2][d]:d,p=0,g=0,m=a.title,v=a.labels,y=0,b=r.axisOffset,r=r.clipOffset,x=[-1,1,1,-1][d],w=a.className,S=i.axisParent,M=this.tickSize("tick");t=i.hasData(),i.showAxis=e=t||C(a.showEmpty,!0),i.staggerLines=i.horiz&&v.staggerLines,i.axisGroup||(i.gridGroup=o.g("grid").attr({zIndex:a.gridZIndex||1}).addClass("highcharts-"+this.coll.toLowerCase()+"-grid "+(w||"")).add(S),i.axisGroup=o.g("axis").attr({zIndex:a.zIndex||2}).addClass("highcharts-"+this.coll.toLowerCase()+" "+(w||"")).add(S),i.labelGroup=o.g("axis-labels").attr({zIndex:v.zIndex||7}).addClass("highcharts-"+i.coll.toLowerCase()+"-labels "+(w||"")).add(S)),t||i.isLinked?(h(s,function(t,e){i.generateTick(t,e)}),i.renderUnsquish(),!1===v.reserveSpace||0!==d&&2!==d&&{1:"left",3:"right"}[d]!==i.labelAlign&&"center"!==i.labelAlign||h(s,function(t){y=Math.max(u[t].getLabelSize(),y)}),i.staggerLines&&(y*=i.staggerLines,i.labelOffset=y*(i.opposite?-1:1))):_(u,function(t,e){t.destroy(),delete u[e]}),m&&m.text&&!1!==m.enabled&&(i.addTitle(e),e&&!1!==m.reserveSpace&&(i.titleOffset=p=i.axisTitle.getBBox()[c?"height":"width"],n=m.offset,g=l(n)?0:C(m.margin,c?5:10))),i.renderLine(),i.offset=x*C(a.offset,b[d]),i.tickRotCorr=i.tickRotCorr||{x:0,y:0},o=0===d?-i.labelMetrics().h:2===d?i.tickRotCorr.y:0,g=Math.abs(y)+g,y&&(g=g-o+x*(c?C(v.y,i.tickRotCorr.y+8*x):v.x)),i.axisTitleMargin=C(n,g),b[d]=Math.max(b[d],i.axisTitleMargin+p+x*i.offset,g,t&&s.length&&M?M[0]+x*i.offset:0),s=2*Math.floor(i.axisLine.strokeWidth()/2),0=this.min&&t<=this.max)&&(i[t]||(i[t]=new D(this,t)),r&&i[t].isNew&&i[t].render(e,!0,.1),i[t].render(e))},render:function(){var e,i,r=this,o=r.chart,a=r.options,s=r.isLog,l=r.lin2log,u=r.isLinked,c=r.tickPositions,d=r.axisTitle,f=r.ticks,p=r.minorTicks,g=r.alternateBands,m=a.stackLabels,v=a.alternateGridColor,y=r.tickmarkOffset,x=r.axisLine,w=r.showAxis,S=n(o.renderer.globalAnimation);r.labelEdge.length=0,r.overlap=!1,h([f,p,g],function(t){_(t,function(t){t.isActive=!1})}),(r.hasData()||u)&&(r.minorTickInterval&&!r.categories&&h(r.getMinorTickPositions(),function(t){r.renderMinorTick(t)}),c.length&&(h(c,function(t,e){r.renderTick(t,e)}),y&&(0===r.min||r.single)&&(f[-1]||(f[-1]=new D(r,(-1),null,(!0))),f[-1].render(-1))),v&&h(c,function(n,a){i=void 0!==c[a+1]?c[a+1]+y:r.max-y,0===a%2&&n=d.second?0:S*Math.floor(b.getMilliseconds()/S)),w>=d.second&&b[n.hcSetSeconds](w>=d.minute?0:S*Math.floor(b.getSeconds()/S)),w>=d.minute&&b[n.hcSetMinutes](w>=d.hour?0:S*Math.floor(b[n.hcGetMinutes]()/S)),w>=d.hour&&b[n.hcSetHours](w>=d.day?0:S*Math.floor(b[n.hcGetHours]()/S)),w>=d.day&&b[n.hcSetDate](w>=d.month?1:S*Math.floor(b[n.hcGetDate]()/S)),w>=d.month&&(b[n.hcSetMonth](w>=d.year?0:S*Math.floor(b[n.hcGetMonth]()/S)),f=b[n.hcGetFullYear]()),w>=d.year&&b[n.hcSetFullYear](f-f%S),w===d.week&&b[n.hcSetDate](b[n.hcGetDate]()-b[n.hcGetDay]()+h(c,1)),f=b[n.hcGetFullYear](),c=b[n.hcGetMonth]();var _=b[n.hcGetDate](),C=b[n.hcGetHours]();for((n.hcTimezoneOffset||n.hcGetTimezoneOffset)&&(g=(!y||!!n.hcGetTimezoneOffset)&&(l-e>4*d.month||u(e)!==u(l)),b=b.getTime(),p=u(b),b=new n(b+p)),y=b.getTime(),e=1;ym.length&&a(m,function(t){0===t%18e5&&"000000000"===i("%H%M%S%L",t)&&(v[t]="day")})}return m.info=s(t,{higherRanks:v,totalRange:w*S}),m},e.prototype.normalizeTimeTickInterval=function(t,e){var n=e||[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2]],["week",[1,2]],["month",[1,2,3,4,6]],["year",null]];e=n[n.length-1];var i,r=d[e[0]],o=e[1];for(i=0;ie&&(!s||m<=a)&&void 0!==m&&d.push(m),m>a&&(v=!0),m=g;else e=c(e),a=c(a),t=l[s?"minorTickInterval":"tickInterval"],t=o("auto"===t?null:t,this._minorAutoInterval,l.tickPixelInterval/(s?5:1)*(a-e)/((s?u/this.tickPositions.length:u)||1)),t=r(t,null,n(t)),d=i(this.getLinearTickPositions(t,e,a),h),s||(this._minorAutoInterval=t/5);return s||(this.tickInterval=t),d},e.prototype.log2lin=function(t){return Math.log(t)/Math.LN10},e.prototype.lin2log=function(t){return Math.pow(10,t)}}(t),function(t,e){var n=t.arrayMax,i=t.arrayMin,r=t.defined,o=t.destroyObjectProperties,a=t.each,s=t.erase,l=t.merge,u=t.pick;t.PlotLineOrBand=function(t,e){this.axis=t,e&&(this.options=e,this.id=e.id)},t.PlotLineOrBand.prototype={render:function(){var e=this,n=e.axis,i=n.horiz,o=e.options,a=o.label,s=e.label,c=o.to,h=o.from,d=o.value,f=r(h)&&r(c),p=r(d),g=e.svgElem,m=!g,v=[],y=o.color,b=u(o.zIndex,0),x=o.events,v={class:"highcharts-plot-"+(f?"band ":"line ")+(o.className||"")},w={},S=n.chart.renderer,_=f?"bands":"lines",C=n.log2lin;if(n.isLog&&(h=C(h),c=C(c),d=C(d)),p?(v={stroke:y,"stroke-width":o.width},o.dashStyle&&(v.dashstyle=o.dashStyle)):f&&(y&&(v.fill=y),o.borderWidth&&(v.stroke=o.borderColor,v["stroke-width"]=o.borderWidth)),w.zIndex=b,_+="-"+b,(y=n.plotLinesAndBandsGroups[_])||(n.plotLinesAndBandsGroups[_]=y=S.g("plot-"+_).attr(w).add()),m&&(e.svgElem=g=S.path().attr(v).add(y)),p)v=n.getPlotLinePath(d,g.strokeWidth());else{if(!f)return;v=n.getPlotBandPath(h,c,o)}return m&&v&&v.length?(g.attr({d:v}),x&&t.objectEach(x,function(t,n){g.on(n,function(t){x[n].apply(e,[t])})})):g&&(v?(g.show(),g.animate({d:v})):(g.hide(),s&&(e.label=s=s.destroy()))),a&&r(a.text)&&v&&v.length&&0this.max&&e>this.max,i&&n?(t&&(i.flat=i.toString()===n.toString(),o=0),i.push(r&&n[4]===i[4]?n[4]+o:n[4],r||n[5]!==i[5]?n[5]:n[5]+o,r&&n[1]===i[1]?n[1]+o:n[1],r||n[2]!==i[2]?n[2]:n[2]+o)):i=null,i},addPlotBand:function(t){return this.addPlotBandOrLine(t,"plotBands")},addPlotLine:function(t){return this.addPlotBandOrLine(t,"plotLines")},addPlotBandOrLine:function(e,n){var i=new t.PlotLineOrBand(this,e).render(),r=this.userOptions;return i&&(n&&(r[n]=r[n]||[],r[n].push(e)),this.plotLinesAndBands.push(i)),i},removePlotBandOrLine:function(t){for(var e=this.plotLinesAndBands,n=this.options,i=this.userOptions,r=e.length;r--;)e[r].id===t&&e[r].destroy();a([n.plotLines||[],i.plotLines||[],n.plotBands||[],i.plotBands||[]],function(e){for(r=e.length;r--;)e[r].id===t&&s(e,e[r])})},removePlotBand:function(t){this.removePlotBandOrLine(t)},removePlotLine:function(t){this.removePlotBandOrLine(t)}})}(t,e),function(t){var e=t.dateFormat,n=t.each,i=t.extend,r=t.format,o=t.isNumber,a=t.map,s=t.merge,l=t.pick,u=t.splat,c=t.syncTimeout,h=t.timeUnits;t.Tooltip=function(){this.init.apply(this,arguments)},t.Tooltip.prototype={init:function(t,e){this.chart=t,this.options=e,this.crosshairs=[],this.now={x:0,y:0},this.isHidden=!0,this.split=e.split&&!t.inverted,this.shared=e.shared||this.split},cleanSplit:function(t){n(this.chart.series,function(e){var n=e&&e.tt;n&&(!n.isActive||t?e.tt=n.destroy():n.isActive=!1)})},getLabel:function(){var t=this.chart.renderer,e=this.options;return this.label||(this.split?this.label=t.g("tooltip"):(this.label=t.label("",0,0,e.shape||"callout",null,null,e.useHTML,null,"tooltip").attr({padding:e.padding,r:e.borderRadius}),this.label.attr({fill:e.backgroundColor,"stroke-width":e.borderWidth}).css(e.style).shadow(e.shadow)),this.label.attr({zIndex:8}).add()),this.label},update:function(t){this.destroy(),s(!0,this.chart.options.tooltip.userOptions,t),this.init(this.chart,s(!0,this.options,t))},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(t,e,n,r){var o=this,a=o.now,s=!1!==o.options.animation&&!o.isHidden&&(1d-s?d:d-s);else{if(!c)return!1;a[t]=Math.max(r,i+s+n>e?i:i+s)}},f=function(t,e,n,i){var r;return ie-o?r=!1:a[t]=ie-n/2?e-n-2:i-n/2,r},p=function(t){var e=u;u=c,c=e,i=t},g=function(){!1!==d.apply(0,u)?!1!==f.apply(0,c)||i||(p(!0),g()):i?a.x=a.y=0:(p(!0),g())};return(r.inverted||1p&&(u=!1),t=(e.series&&e.series.yAxis&&e.series.yAxis.pos)+(e.plotY||0),t-=a.plotTop,o.push({target:e.isHeader?a.plotHeight+h:t,rank:e.isHeader?1:0,size:n.tt.getBBox().height+1,point:e,x:p,tt:f})}}),this.cleanSplit(),t.distribute(o,a.plotHeight+h),n(o,function(t){var e=t.point,n=e.series;t.tt.attr({visibility:void 0===t.pos?"hidden":"inherit",x:u||e.isHeader?t.x:e.plotX+a.plotLeft+l(c.distance,16),y:t.pos+a.plotTop,anchorX:e.isHeader?e.plotX+a.plotLeft:e.plotX+n.xAxis.pos,anchorY:e.isHeader?t.pos+a.plotTop-15:e.plotY+n.yAxis.pos})})},updatePosition:function(t){var e=this.chart,n=this.getLabel(),n=(this.options.positioner||this.getPosition).call(this,n.width,n.height,t);this.move(Math.round(n.x),Math.round(n.y||0),t.plotX+e.plotLeft,t.plotY+e.plotTop)},getDateFormat:function(t,n,i,r){var o,a,s=e("%m-%d %H:%M:%S.%L",n),l={millisecond:15,second:12,minute:9,hour:6,day:3},u="millisecond";for(a in h){if(t===h.week&&+e("%w",n)===i&&"00:00:00.000"===s.substr(6)){a="week";break}if(h[a]>t){a=u;break}if(l[a]&&s.substr(l[a])!=="01-01 00:00:00.000".substr(l[a]))break;"week"!==a&&(u=a)}return a&&(o=r[a]),o},getXDateFormat:function(t,e,n){e=e.dateTimeLabelFormats;var i=n&&n.closestPointRange;return(i?this.getDateFormat(i,t.x,n.options.startOfWeek,e):e.day)||e.year},tooltipFooterHeaderFormatter:function(t,e){var n=e?"footer":"header";e=t.series;var i=e.tooltipOptions,a=i.xDateFormat,s=e.xAxis,l=s&&"datetime"===s.options.type&&o(t.key),n=i[n+"Format"];return l&&!a&&(a=this.getXDateFormat(t,i,s)),l&&a&&(n=n.replace("{point.key}","{point.key:"+a+"}")),r(n,{point:t,series:e})},bodyFormatter:function(t){return a(t,function(t){var e=t.series.tooltipOptions;return(e.pointFormatter||t.point.tooltipFormatter).call(t.point,e.pointFormat)})}}}(t),function(t){var e=t.addEvent,n=t.attr,i=t.charts,r=t.color,o=t.css,a=t.defined,s=t.each,l=t.extend,u=t.find,c=t.fireEvent,h=t.isObject,d=t.offset,f=t.pick,p=t.removeEvent,g=t.splat,m=t.Tooltip,v=t.win;t.Pointer=function(t,e){this.init(t,e)},t.Pointer.prototype={init:function(t,e){this.options=e,this.chart=t,this.runChartClick=e.chart.events&&!!e.chart.events.click,this.pinchDown=[],this.lastValidTouch={},m&&(t.tooltip=new m(t,e.tooltip),this.followTouchMove=f(e.tooltip.followTouchMove,!0)),this.setDOMEvents()},zoomOption:function(t){var e=this.chart,n=e.options.chart,i=n.zoomType||"",e=e.inverted;/touch/.test(t.type)&&(i=f(n.pinchType,i)),this.zoomX=t=/x/.test(i),this.zoomY=i=/y/.test(i),this.zoomHor=t&&!e||i&&e,this.zoomVert=i&&!e||t&&e,this.hasZoom=t||i},normalize:function(t,e){var n,i;return t=t||v.event,t.target||(t.target=t.srcElement),i=t.touches?t.touches.length?t.touches.item(0):t.changedTouches[0]:t,e||(this.chartPosition=e=d(this.chart.container)),void 0===i.pageX?(n=Math.max(t.x,t.clientX-e.left),e=t.y):(n=i.pageX-e.left,e=i.pageY-e.top),l(t,{chartX:Math.round(n),chartY:Math.round(e)})},getCoordinates:function(t){var e={xAxis:[],yAxis:[]};return s(this.chart.axes,function(n){e[n.isXAxis?"xAxis":"yAxis"].push({axis:n,value:n.toValue(t[n.horiz?"chartX":"chartY"])})}),e},findNearestKDPoint:function(t,e,n){var i;return s(t,function(t){var r=!(t.noSharedTooltip&&e)&&0>t.options.findNearestPointBy.indexOf("y");if(t=t.searchPoint(n,r),(r=h(t,!0))&&!(r=!h(i,!0)))var r=i.distX-t.distX,o=i.dist-t.dist,a=(t.series.group&&t.series.group.zIndex)-(i.series.group&&i.series.group.zIndex),r=0<(0!==r&&e?r:0!==o?o:0!==a?a:i.series.index>t.series.index?-1:1);r&&(i=t)}),i},getPointFromEvent:function(t){t=t.target;for(var e;t&&!e;)e=t.point,t=t.parentNode;return e},getChartCoordinatesFromPoint:function(t,e){var n=t.series,i=n.xAxis,n=n.yAxis;if(i&&n)return e?{chartX:i.len+i.pos-t.clientX,chartY:n.len+n.pos-t.plotY}:{chartX:t.clientX+i.pos,chartY:t.plotY+n.pos}},getHoverData:function(e,n,i,r,o,a){var l,c=[];r=!(!r||!e);var d=n&&!n.stickyTracking?[n]:t.grep(i,function(t){return t.visible&&!(!o&&t.directTouch)&&f(t.options.enableMouseTracking,!0)&&t.stickyTracking});return n=(l=r?e:this.findNearestKDPoint(d,o,a))&&l.series,l&&(o&&!n.noSharedTooltip?(d=t.grep(i,function(t){return t.visible&&!(!o&&t.directTouch)&&f(t.options.enableMouseTracking,!0)&&!t.noSharedTooltip}),s(d,function(t){t=u(t.points,function(t){return t.x===l.x}),h(t)&&!t.isNull&&c.push(t)})):c.push(l)),{hoverPoint:l,hoverSeries:n,hoverPoints:c}},runPointActions:function(n,r){var o,a=this.chart,l=a.tooltip,u=!!l&&l.shared,c=r||a.hoverPoint,h=c&&c.series||a.hoverSeries,h=this.getHoverData(c,h,a.series,!!r||h&&h.directTouch&&this.isDirectTouch,u,n),c=h.hoverPoint;o=h.hoverPoints,r=(h=h.hoverSeries)&&h.tooltipOptions.followPointer,u=u&&h&&!h.noSharedTooltip,c&&(c!==a.hoverPoint||l&&l.isHidden)?(s(a.hoverPoints||[],function(e){-1===t.inArray(e,o)&&e.setState()}),s(o||[],function(t){t.setState("hover")}),a.hoverSeries!==h&&h.onMouseOver(),a.hoverPoint&&a.hoverPoint.firePointEvent("mouseOut"),c.firePointEvent("mouseOver"),a.hoverPoints=o,a.hoverPoint=c,l&&l.refresh(u?o:c,n)):r&&l&&!l.isHidden&&(c=l.getAnchor([{}],n),l.updatePosition({plotX:c[0],plotY:c[1]})),this.unDocMouseMove||(this.unDocMouseMove=e(a.container.ownerDocument,"mousemove",function(e){var n=i[t.hoverChartIndex];n&&n.pointer.onDocumentMouseMove(e)})),s(a.axes,function(e){var i=f(e.crosshair.snap,!0),r=i?t.find(o,function(t){return t.series[e.coll]===e}):void 0;r||!i?e.drawCrosshair(n,r):e.hideCrosshair()})},reset:function(t,e){var n=this.chart,i=n.hoverSeries,r=n.hoverPoint,o=n.hoverPoints,a=n.tooltip,l=a&&a.shared?o:r;t&&l&&s(g(l),function(e){e.series.isCartesian&&void 0===e.plotX&&(t=!1)}),t?a&&l&&(a.refresh(l),r&&(r.setState(r.state,!0),s(n.axes,function(t){t.crosshair&&t.drawCrosshair(null,r)}))):(r&&r.onMouseOut(),o&&s(o,function(t){t.setState()}),i&&i.onMouseOut(),a&&a.hide(e),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),s(n.axes,function(t){t.hideCrosshair()}),this.hoverX=n.hoverPoints=n.hoverPoint=null)},scaleGroups:function(t,e){var n,i=this.chart;s(i.series,function(r){n=t||r.getPlotBox(),r.xAxis&&r.xAxis.zoomEnabled&&r.group&&(r.group.attr(n),r.markerGroup&&(r.markerGroup.attr(n),r.markerGroup.clip(e?i.clipRect:null)),r.dataLabelsGroup&&r.dataLabelsGroup.attr(n))}),i.clipRect.attr(e||i.clipBox)},dragStart:function(t){var e=this.chart;e.mouseIsDown=t.type,e.cancelClick=!1,e.mouseDownX=this.mouseDownX=t.chartX,
+e.mouseDownY=this.mouseDownY=t.chartY},drag:function(t){var e,n=this.chart,i=n.options.chart,o=t.chartX,a=t.chartY,s=this.zoomHor,l=this.zoomVert,u=n.plotLeft,c=n.plotTop,h=n.plotWidth,d=n.plotHeight,f=this.selectionMarker,p=this.mouseDownX,g=this.mouseDownY,m=i.panKey&&t[i.panKey+"Key"];f&&f.touch||(ou+h&&(o=u+h),ac+d&&(a=c+d),this.hasDragged=Math.sqrt(Math.pow(p-o,2)+Math.pow(g-a,2)),10b.max&&(e=b.max-l,c=!0),c?(S-=.8*(S-a[d][0]),x||(C-=.8*(C-a[d][1])),n()):a[d]=[S,C],y||(o[d]=u-m,o[g]=l),o=y?1/v:v,r[g]=l,r[d]=e,i[y?t?"scaleY":"scaleX":"scale"+f]=v,i["translate"+f]=o*m+(S-o*w)},pinch:function(t){var e=this,s=e.chart,l=e.pinchDown,u=t.touches,c=u.length,h=e.lastValidTouch,d=e.hasZoom,f=e.selectionMarker,p={},g=1===c&&(e.inClass(t.target,"highcharts-tracker")&&s.runTrackerClick||e.runChartClick),m={};1e-6&&s(p||e.spacingBox.width-2*h-i.x)&&(this.itemX=h,this.itemY+=m+this.lastLineHeight+g,this.lastLineHeight=0),this.maxItemWidth=Math.max(this.maxItemWidth,s),this.lastItemY=m+this.itemY+g,this.lastLineHeight=Math.max(n,this.lastLineHeight),t._legendItemPos=[this.itemX,this.itemY],r?this.itemX+=s:(this.itemY+=m+n+g,this.lastLineHeight=n),this.offsetWidth=p||Math.max((r?this.itemX-h-(t.checkbox?0:d):s)+h,this.offsetWidth)},getAllItems:function(){var t=[];return o(this.chart.series,function(e){var n=e&&e.options;e&&u(n.showInLegend,!r(n.linkedTo)&&void 0,!0)&&(t=t.concat(e.legendItems||("point"===n.legendType?e.data:e)))}),t},adjustMargins:function(t,e){var n=this.chart,i=this.options,a=i.align.charAt(0)+i.verticalAlign.charAt(0)+i.layout.charAt(0);i.floating||o([/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/],function(o,l){o.test(a)&&!r(t[l])&&(n[s[l]]=Math.max(n[s[l]],n.legend[(l+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][l]*i[l%2?"x":"y"]+u(i.margin,12)+e[l]))})},render:function(){var t,e,n,i,r=this,a=r.chart,s=a.renderer,u=r.group,c=r.box,d=r.options,f=r.padding;r.itemX=f,r.itemY=r.initialItemY,r.offsetWidth=0,r.lastItemY=0,u||(r.group=u=s.g("legend").attr({zIndex:7}).add(),r.contentGroup=s.g().attr({zIndex:1}).add(u),r.scrollGroup=s.g().add(r.contentGroup)),r.renderTitle(),t=r.getAllItems(),h(t,function(t,e){return(t.options&&t.options.legendIndex||0)-(e.options&&e.options.legendIndex||0)}),d.reversed&&t.reverse(),r.allItems=t,r.display=e=!!t.length,r.lastLineHeight=0,o(t,function(t){r.renderItem(t)}),n=(d.width||r.offsetWidth)+f,i=r.lastItemY+r.lastLineHeight+r.titleHeight,i=r.handleOverflow(i),i+=f,c||(r.box=c=s.rect().addClass("highcharts-legend-box").attr({r:d.borderRadius}).add(u),c.isNew=!0),c.attr({stroke:d.borderColor,"stroke-width":d.borderWidth||0,fill:d.backgroundColor||"none"}).shadow(d.shadow),0r&&!1!==d.enabled?(this.clipHeight=e=Math.max(r-20-this.titleHeight-c,0),this.currentPage=u(this.currentPage,1),this.fullHeight=t,o(v,function(t,i){var r=t._legendItemPos[1];t=Math.round(t.legendItem.getBBox().height);var o=m.length;(!o||r-m[o-1]>e&&(n||r)!==m[o-1])&&(m.push(n||r),o++),i===v.length-1&&r+t-m[o-1]>e&&m.push(r),r!==n&&(n=r)}),h||(h=i.clipRect=a.clipRect(0,c,9999,0),i.contentGroup.clip(h)),y(e),g||(this.nav=g=a.g().attr({zIndex:1}).add(this.group),this.up=a.symbol("triangle",0,0,p,p).on("click",function(){i.scroll(-1,f)}).add(g),this.pager=a.text("",15,10).addClass("highcharts-legend-navigation").css(d.style).add(g),this.down=a.symbol("triangle-down",0,0,p,p).on("click",function(){i.scroll(1,f)}).add(g)),i.scroll(0),t=r):g&&(y(),this.nav=g.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),t},scroll:function(t,e){var n=this.pages,i=n.length;t=this.currentPage+t;var r=this.clipHeight,o=this.options.navigation,a=this.pager,s=this.padding;t>i&&(t=i),0o&&(n=typeof t[0],"string"===n?e.name=t[0]:"number"===n&&(e.x=t[0]),a++);u=t.value;)t=n[++i];return t&&t.color&&!this.options.color&&(this.color=t.color),t},destroy:function(){var t,e=this.series.chart,n=e.hoverPoints;e.pointCount--,n&&(this.setState(),r(n,this),n.length||(e.hoverPoints=null)),this===e.hoverPoint&&this.onMouseOut(),(this.graphic||this.dataLabel)&&(c(this),this.destroyElements()),this.legendItem&&e.legend.destroyItem(this);for(t in this)this[t]=null},destroyElements:function(){for(var t,e=["graphic","dataLabel","dataLabelUpper","connector","shadowGroup"],n=6;n--;)t=e[n],this[t]&&(this[t]=this[t].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(t){var e=this.series,i=e.tooltipOptions,r=u(i.valueDecimals,""),o=i.valuePrefix||"",s=i.valueSuffix||"";return n(e.pointArrayMap||["y"],function(e){e="{point."+e,(o||s)&&(t=t.replace(e+"}",o+e+"}"+s)),t=t.replace(e+"}",e+":,."+r+"f}")}),a(t,{point:this,series:this.series})},firePointEvent:function(t,e,n){var i=this,r=this.series.options;(r.point.events[t]||i.options&&i.options.events&&i.options.events[t])&&this.importEvents(),"click"===t&&r.allowPointSelect&&(n=function(t){i.select&&i.select(null,t.ctrlKey||t.metaKey||t.shiftKey)}),o(this,t,e,n)},visible:!0}}(t),function(t){var e=t.addEvent,n=t.animObject,i=t.arrayMax,r=t.arrayMin,o=t.correctFloat,a=t.Date,s=t.defaultOptions,l=t.defaultPlotOptions,u=t.defined,c=t.each,h=t.erase,d=t.extend,f=t.fireEvent,p=t.grep,g=t.isArray,m=t.isNumber,v=t.isString,y=t.merge,b=t.objectEach,x=t.pick,w=t.removeEvent,S=t.splat,_=t.SVGElement,C=t.syncTimeout,M=t.win;t.Series=t.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?"":t.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:t.Point,sorted:!0,requireSorting:!0,directTouch:!1,axisTypes:["xAxis","yAxis"],colorCounter:0,parallelArrays:["x","y"],coll:"series",init:function(t,n){var i,r,o=this,a=t.series;o.chart=t,o.options=n=o.setOptions(n),o.linkedSeries=[],o.bindAxes(),d(o,{name:n.name,state:"",visible:!1!==n.visible,selected:!0===n.selected}),i=n.events,b(i,function(t,n){e(o,n,t)}),(i&&i.click||n.point&&n.point.events&&n.point.events.click||n.allowPointSelect)&&(t.runTrackerClick=!0),o.getColor(),o.getSymbol(),c(o.parallelArrays,function(t){o[t+"Data"]=[]}),o.setData(n.data,!1),o.isCartesian&&(t.hasCartesianSeries=!0),a.length&&(r=a[a.length-1]),o._i=x(r&&r._i,-1)+1,t.orderSeries(this.insert(a))},insert:function(t){var e,n=this.options.index;if(m(n)){for(e=t.length;e--;)if(n>=x(t[e].options.index,t[e]._i)){t.splice(e+1,0,this);break}-1===e&&t.unshift(this),e+=1}else t.push(this);return x(e,t.length-1)},bindAxes:function(){var e,n=this,i=n.options,r=n.chart;c(n.axisTypes||[],function(o){c(r[o],function(t){e=t.options,(i[o]===e.index||void 0!==i[o]&&i[o]===e.id||void 0===i[o]&&0===e.index)&&(n.insert(t.series),n[o]=t,t.isDirty=!0)}),n[o]||n.optionalAxis===o||t.error(18,!0)})},updateParallelArrays:function(t,e){var n=t.series,i=arguments,r=m(e)?function(i){var r="y"===i&&n.toYData?n.toYData(t):t[i];n[i+"Data"][e]=r}:function(t){Array.prototype[e].apply(n[t+"Data"],Array.prototype.slice.call(i,2))};c(n.parallelArrays,r)},autoIncrement:function(){var t,e=this.options,n=this.xIncrement,i=e.pointIntervalUnit,n=x(n,e.pointStart,0);return this.pointInterval=t=x(this.pointInterval,e.pointInterval,1),i&&(e=new a(n),"day"===i?e=+e[a.hcSetDate](e[a.hcGetDate]()+t):"month"===i?e=+e[a.hcSetMonth](e[a.hcGetMonth]()+t):"year"===i&&(e=+e[a.hcSetFullYear](e[a.hcGetFullYear]()+t)),t=e-n),this.xIncrement=n+t,n},setOptions:function(t){var e=this.chart,n=e.options,i=n.plotOptions,r=(e.userOptions||{}).plotOptions||{},o=i[this.type];return this.userOptions=t,e=y(o,i.series,t),this.tooltipOptions=y(s.tooltip,s.plotOptions.series&&s.plotOptions.series.tooltip,s.plotOptions[this.type].tooltip,n.tooltip.userOptions,i.series&&i.series.tooltip,i[this.type].tooltip,t.tooltip),this.stickyTracking=x(t.stickyTracking,r[this.type]&&r[this.type].stickyTracking,r.series&&r.series.stickyTracking,!(!this.tooltipOptions.shared||this.noSharedTooltip)||e.stickyTracking),null===o.marker&&delete e.marker,this.zoneAxis=e.zoneAxis,t=this.zones=(e.zones||[]).slice(),!e.negativeColor&&!e.negativeFillColor||e.zones||t.push({value:e[this.zoneAxis+"Threshold"]||e.threshold||0,className:"highcharts-negative",color:e.negativeColor,fillColor:e.negativeFillColor}),t.length&&u(t[t.length-1].value)&&t.push({color:this.color,fillColor:this.fillColor}),e},getCyclic:function(t,e,n){var i,r=this.chart,o=this.userOptions,a=t+"Index",s=t+"Counter",l=n?n.length:x(r.options.chart[t+"Count"],r[t+"Count"]);e||(i=x(o[a],o["_"+a]),u(i)||(r.series.length||(r[s]=0),o["_"+a]=i=r[s]%l,r[s]+=1),n&&(e=n[i])),void 0!==i&&(this[a]=i),this[t]=e},getColor:function(){this.options.colorByPoint?this.options.color=null:this.getCyclic("color",this.options.color||l[this.type].color,this.chart.options.colors)},getSymbol:function(){this.getCyclic("symbol",this.options.marker.symbol,this.chart.options.symbols)},drawLegendSymbol:t.LegendSymbolMixin.drawLineMarker,setData:function(e,n,i,r){var o,a=this,s=a.points,l=s&&s.length||0,u=a.options,h=a.chart,d=null,f=a.xAxis,p=u.turboThreshold,y=this.xData,b=this.yData,w=(o=a.pointArrayMap)&&o.length;if(e=e||[],o=e.length,n=x(n,!0),!1!==r&&o&&l===o&&!a.cropped&&!a.hasGroupedData&&a.visible)c(e,function(t,e){s[e].update&&t!==u.data[e]&&s[e].update(t,!1,null,!1)});else{if(a.xIncrement=null,a.colorCounter=0,c(this.parallelArrays,function(t){a[t+"Data"].length=0}),p&&o>p){for(i=0;null===d&&il||this.forceCrop)&&(i[o-1]d?(i=[],r=[]):(i[0]d)&&(n=this.cropData(this.xData,this.yData,h,d),i=n.xData,r=n.yData,n=n.start,a=!0)),l=i.length||1;--l;)o=g?c(i[l])-c(i[l-1]):i[l]-i[l-1],0o&&this.requireSorting&&t.error(15);this.cropped=a,this.cropStart=n,this.processedXData=i,this.processedYData=r,this.closestPointRange=s},cropData:function(t,e,n,i){var r,o=t.length,a=0,s=o,l=x(this.cropShoulder,1);for(r=0;r=n){a=Math.max(0,r-l);break}for(n=r;ni){s=n+l;break}return{xData:t.slice(a,s),yData:e.slice(a,s),start:a,end:s}},generatePoints:function(){var t,e,n,i,r=this.options,o=r.data,a=this.data,s=this.processedXData,l=this.processedYData,u=this.pointClass,c=s.length,h=this.cropStart||0,d=this.hasGroupedData,r=r.keys,f=[];for(a||d||(a=[],a.length=o.length,a=this.data=a),r&&d&&(this.options.keys=!1),i=0;i=d&&(o[h]||u)<=f,l&&u)if(l=c.length)for(;l--;)null!==c[l]&&(a[s++]=c[l]);else a[s++]=c;this.dataMin=r(a),this.dataMax=i(a)},translate:function(){this.processedXData||this.processData(),this.generatePoints();var t,e,n,i,r=this.options,a=r.stacking,s=this.xAxis,l=s.categories,c=this.yAxis,h=this.points,d=h.length,f=!!this.modifyValue,p=r.pointPlacement,g="between"===p||m(p),v=r.threshold,y=r.startFromThreshold?v:0,b=Number.MAX_VALUE;for("between"===p&&(p=.5),m(p)&&(p*=x(r.pointRange||s.pointRange)),r=0;r=_&&(w.isNull=!0),w.plotX=t=o(Math.min(Math.max(-1e5,s.translate(S,0,0,0,1,p,"flags"===this.type)),1e5)),a&&this.visible&&!w.isNull&&M&&M[S]&&(i=this.getStackIndicator(i,S,this.index),C=M[S],_=C.points[i.key],e=_[0],_=_[1],e===y&&i.key===M[S].base&&(e=x(v,c.min)),c.positiveValuesOnly&&0>=e&&(e=null),w.total=w.stackTotal=C.total,w.percentage=C.total&&w.y/C.total*100,w.stackY=_,C.setOffset(this.pointXOffset||0,this.barW||0)),w.yBottom=u(e)?c.translate(e,0,1,0,1):null,f&&(_=this.modifyValue(_,w)),w.plotY=e="number"==typeof _&&1/0!==_?Math.min(Math.max(-1e5,c.translate(_,0,1,0,1)),1e5):void 0,w.isInside=void 0!==e&&0<=e&&e<=c.len&&0<=t&&t<=s.len,w.clientX=g?o(s.translate(S,0,0,0,1,p)):t,w.negative=w.y<(v||0),w.category=l&&void 0!==l[w.x]?l[w.x]:w.x,w.isNull||(void 0!==n&&(b=Math.min(b,Math.abs(t-n))),n=t),w.zone=this.zones.length&&w.getZone()}this.closestPointRangePx=b},getValidPoints:function(t,e){var n=this.chart;return p(t||this.points||[],function(t){return!(e&&!n.isInsidePlot(t.plotX,t.plotY,n.inverted))&&!t.isNull})},setClip:function(t){var e=this.chart,n=this.options,i=e.renderer,r=e.inverted,o=this.clipBox,a=o||e.clipBox,s=this.sharedClipKey||["_sharedClip",t&&t.duration,t&&t.easing,a.height,n.xAxis,n.yAxis].join(),l=e[s],u=e[s+"m"];l||(t&&(a.width=0,e[s+"m"]=u=i.clipRect(-99,r?-e.plotLeft:-e.plotTop,99,r?e.chartWidth:e.chartHeight)),e[s]=l=i.clipRect(a),l.count={length:0}),t&&!l.count[this.index]&&(l.count[this.index]=!0,l.count.length+=1),!1!==n.clip&&(this.group.clip(t||o?l:e.clipRect),this.markerGroup.clip(u),this.sharedClipKey=s),t||(l.count[this.index]&&(delete l.count[this.index],--l.count.length),0===l.count.length&&s&&e[s]&&(o||(e[s]=e[s].destroy()),e[s+"m"]&&(e[s+"m"]=e[s+"m"].destroy())))},animate:function(t){var e,i=this.chart,r=n(this.options.animation);t?this.setClip(r):(e=this.sharedClipKey,(t=i[e])&&t.animate({width:i.plotSizeX},r),i[e+"m"]&&i[e+"m"].animate({width:i.plotSizeX+99},r),this.animate=null)},afterAnimate:function(){this.setClip(),f(this,"afterAnimate"),this.finishedAnimating=!0},drawPoints:function(){var t,e,n,i,r,o,a,s,l=this.points,u=this.chart,c=this.options.marker,h=this[this.specialGroup]||this.markerGroup,d=x(c.enabled,!!this.xAxis.isRadial||null,this.closestPointRangePx>=2*c.radius);if(!1!==c.enabled||this._hasPointMarkers)for(e=0;er&&e.shadow)),a&&(a.startX=n.xMap,a.isArea=n.isArea)})},applyZones:function(){var t,e,n,i,r,o,a,s,l,u=this,h=this.chart,d=h.renderer,f=this.zones,p=this.clips||[],g=this.graph,m=this.area,v=Math.max(h.chartWidth,h.chartHeight),y=this[(this.zoneAxis||"y")+"Axis"],b=h.inverted,w=!1;f.length&&(g||m)&&y&&void 0!==y.min&&(r=y.reversed,o=y.horiz,g&&g.hide(),m&&m.hide(),i=y.getExtremes(),c(f,function(c,f){t=r?o?h.plotWidth:0:o?0:y.toPixels(i.min),t=Math.min(Math.max(x(e,t),0),v),e=Math.min(Math.max(Math.round(y.toPixels(x(c.value,i.max),!0)),0),v),w&&(t=e=y.toPixels(i.max)),a=Math.abs(t-e),s=Math.min(t,e),l=Math.max(t,e),y.isXAxis?(n={x:b?l:s,y:0,width:a,height:v},o||(n.x=h.plotHeight-n.x)):(n={x:0,y:b?l:s,width:v,height:a},o&&(n.y=h.plotWidth-n.y)),b&&d.isVML&&(n=y.isXAxis?{x:0,y:r?s:l,height:n.width,width:h.chartWidth}:{x:n.y-h.plotLeft-h.spacingBox.x,y:0,width:n.height,height:h.chartHeight}),p[f]?p[f].animate(n):(p[f]=d.clipRect(n),g&&u["zone-graph-"+f].clip(p[f]),m&&u["zone-area-"+f].clip(p[f])),w=c.value>i.max}),this.clips=p)},invertGroups:function(t){function n(){c(["group","markerGroup"],function(e){r[e]&&(o.renderer.isVML&&r[e].attr({width:r.yAxis.len,height:r.xAxis.len}),r[e].width=r.yAxis.len,r[e].height=r.xAxis.len,r[e].invert(t))})}var i,r=this,o=r.chart;r.xAxis&&(i=e(o,"resize",n),e(r,"destroy",i),n(t),r.invertGroups=n)},plotGroup:function(t,e,n,i,r){var o=this[t],a=!o;return a&&(this[t]=o=this.chart.renderer.g().attr({zIndex:i||.1}).add(r)),o.addClass("highcharts-"+e+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series highcharts-color-"+this.colorIndex+" "+(this.options.className||""),!0),o.attr({visibility:n})[a?"attr":"animate"](this.getPlotBox()),o},getPlotBox:function(){var t=this.chart,e=this.xAxis,n=this.yAxis;return t.inverted&&(e=n,n=this.xAxis),{translateX:e?e.left:t.plotLeft,translateY:n?n.top:t.plotTop,scaleX:1,scaleY:1}},render:function(){var t,e=this,i=e.chart,r=e.options,o=!!e.animate&&i.renderer.isSVG&&n(r.animation).duration,a=e.visible?"inherit":"hidden",s=r.zIndex,l=e.hasRendered,u=i.seriesGroup,c=i.inverted;t=e.plotGroup("group","series",a,s,u),e.markerGroup=e.plotGroup("markerGroup","markers",a,s,u),o&&e.animate(!0),t.inverted=!!e.isCartesian&&c,e.drawGraph&&(e.drawGraph(),e.applyZones()),e.drawDataLabels&&e.drawDataLabels(),e.visible&&e.drawPoints(),e.drawTracker&&!1!==e.options.enableMouseTracking&&e.drawTracker(),e.invertGroups(c),!1===r.clip||e.sharedClipKey||l||t.clip(i.clipRect),o&&e.animate(),l||(e.animationTimeout=C(function(){e.afterAnimate()},o)),e.isDirty=!1,e.hasRendered=!0},redraw:function(){var t=this.chart,e=this.isDirty||this.isDirtyData,n=this.group,i=this.xAxis,r=this.yAxis;n&&(t.inverted&&n.attr({width:t.plotWidth,height:t.plotHeight}),n.animate({translateX:x(i&&i.left,t.plotLeft),translateY:x(r&&r.top,t.plotTop)})),this.translate(),this.render(),e&&delete this.kdTree},kdAxisArray:["clientX","plotY"],searchPoint:function(t,e){var n=this.xAxis,i=this.yAxis,r=this.chart.inverted;return this.searchKDTree({clientX:r?n.len-t.chartY+n.pos:t.chartX-n.pos,plotY:r?i.len-t.chartX+i.pos:t.chartY-i.pos},e)},buildKDTree:function(){function t(n,i,r){var o,a;if(a=n&&n.length)return o=e.kdAxisArray[i%r],n.sort(function(t,e){return t[o]-e[o]}),a=Math.floor(a/2),{point:n[a],left:t(n.slice(0,a),i+1,r),right:t(n.slice(a+1),i+1,r)}}this.buildingKdTree=!0;var e=this,n=-1f?"left":"right",h=0>f?"right":"left",e[c]&&(c=n(t,e[c],s+1,l),p=c[a]s;)a--;this.updateParallelArrays(r,"splice",a,0,0),this.updateParallelArrays(r,a),h&&r.name&&(h[s]=r.name),d.splice(a,0,t),o&&(this.data.splice(a,0,null),this.processData()),"point"===l.legendType&&this.generatePoints(),n&&(u[0]&&u[0].remove?u[0].remove(!1):(u.shift(),this.updateParallelArrays(r,"shift"),d.shift())),this.isDirtyData=this.isDirty=!0,e&&c.redraw(i)},removePoint:function(t,e,n){var i=this,r=i.data,o=r[t],a=i.points,s=i.chart,l=function(){a&&a.length===r.length&&a.splice(t,1),r.splice(t,1),i.options.data.splice(t,1),i.updateParallelArrays(o||{series:i},"splice",t,1),o&&o.destroy(),i.isDirty=!0,i.isDirtyData=!0,e&&s.redraw()};w(n,s),e=v(e,!0),o?o.firePointEvent("remove",null,l):l()},remove:function(t,e,n){function i(){r.destroy(),o.isDirtyLegend=o.isDirtyBox=!0,o.linkSeries(),v(t,!0)&&o.redraw(e)}var r=this,o=r.chart;!1!==n?c(r,"remove",null,i):i()},update:function(t,e){var n,i=this,r=i.chart,o=i.userOptions,a=i.oldType||i.type,l=t.type||o.type||r.options.chart.type,c=x[a].prototype,h=["group","markerGroup","dataLabelsGroup","navigatorSeries","baseSeries"],d=i.finishedAnimating&&{animation:!1};if(Object.keys&&"data"===Object.keys(t).toString())return this.setData(t.data,e);(l&&l!==a||void 0!==t.zIndex)&&(h.length=0),s(h,function(t){h[t]=i[t],delete i[t]}),t=g(o,d,{index:i.index,pointStart:i.xData[0]},{data:i.options.data},t),i.remove(!1,null,!1);for(n in c)i[n]=void 0;u(i,x[l||a].prototype),s(h,function(t){i[t]=h[t]}),i.init(r,t),i.oldType=a,r.linkSeries(),v(e,!0)&&r.redraw(!1)}}),u(i.prototype,{update:function(t,e){var n=this.chart;t=n.options[this.coll][this.options.index]=g(this.userOptions,t),this.destroy(!0),this.init(n,u(t,{events:void 0})),n.isDirtyBox=!0,v(e,!0)&&n.redraw()},remove:function(t){for(var e=this.chart,n=this.coll,i=this.series,r=i.length;r--;)i[r]&&i[r].remove(!1);l(e.axes,this),l(e[n],this),p(e.options[n])?e.options[n].splice(this.options.index,1):delete e.options[n],s(e[n],function(t,e){t.options.index=e}),this.destroy(),e.isDirtyBox=!0,v(t,!0)&&e.redraw()},setTitle:function(t,e){this.update({title:t},e)},setCategories:function(t,e){this.update({categories:t},e)}})}(t),function(t){var e=t.color,n=t.each,i=t.map,r=t.pick,o=t.Series,a=t.seriesType;a("area","line",{softThreshold:!1,threshold:0},{singleStacks:!1,getStackPoints:function(e){var o,a,s=[],l=[],u=this.xAxis,c=this.yAxis,h=c.stacks[this.stackKey],d={},f=this.index,p=c.series,g=p.length,m=r(c.options.reversedStacks,!0)?1:-1;
+if(e=e||this.points,this.options.stacking){for(a=0;at&&l>o?(l=Math.max(t,o),c=2*o-l):li&&c>o?(c=Math.max(i,o),l=2*o-c):c=Math.abs(e)&&.5t.closestPointRange*t.xAxis.transA,r=t.borderWidth=s(n.borderWidth,r?0:1),o=t.yAxis,a=t.translatedThreshold=o.getThreshold(n.threshold),u=s(n.minPointLength,5),c=t.getColumnMetrics(),h=c.width,d=t.barW=Math.max(h,1+2*r),f=t.pointXOffset=c.offset;e.inverted&&(a-=.5),n.pointPadding&&(d=Math.ceil(d)),l.prototype.translate.apply(t),i(t.points,function(n){var i,r=s(n.yBottom,a),l=999+Math.abs(r),l=Math.min(Math.max(-l,n.plotY),o.len+l),c=n.plotX+f,p=d,g=Math.min(l,r),m=Math.max(l,r)-g;Math.abs(m)u?r-u:a-(i?u:0)),n.barX=c,n.pointWidth=h,n.tooltipPos=e.inverted?[o.len+o.pos-e.plotLeft-l,t.xAxis.len-c-p/2,m]:[c+p/2,l+o.pos-e.plotTop,m],n.shapeType="rect",n.shapeArgs=t.crispCol.apply(t,n.isNull?[c,a,p,0]:[c,g,p,m])})},getSymbol:t.noop,drawLegendSymbol:t.LegendSymbolMixin.drawRectangle,drawGraph:function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")},pointAttribs:function(t,e){var i,r=this.options,o=this.pointAttrToOptions||{};i=o.stroke||"borderColor";var s=o["stroke-width"]||"borderWidth",l=t&&t.color||this.color,u=t[i]||r[i]||this.color||l,c=t[s]||r[s]||this[s]||0,o=r.dashStyle;return t&&this.zones.length&&(l=t.getZone(),l=t.options.color||l&&l.color||this.color),e&&(t=a(r.states[e],t.options.states&&t.options.states[e]||{}),e=t.brightness,l=t.color||void 0!==e&&n(l).brighten(t.brightness).get()||l,u=t[i]||u,c=t[s]||c,o=t.dashStyle||o),i={fill:l,stroke:u,"stroke-width":c},o&&(i.dashstyle=o),i},drawPoints:function(){var t,e=this,n=this.chart,r=e.options,s=n.renderer,l=r.animationLimit||250;i(e.points,function(i){var u=i.graphic;o(i.plotY)&&null!==i.y?(t=i.shapeArgs,u?u[n.pointCount● {series.name}
',pointFormat:"x: {point.x}
y: {point.y}
"}},{sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"],takeOrdinalPosition:!1,drawGraph:function(){this.options.lineWidth&&e.prototype.drawGraph.call(this)}})}(t),function(t){var e=t.pick,n=t.relativeLength;t.CenteredSeriesMixin={getCenter:function(){var t,i,r=this.options,o=this.chart,a=2*(r.slicedOffset||0),s=o.plotWidth-2*a,o=o.plotHeight-2*a,l=r.center,l=[e(l[0],"50%"),e(l[1],"50%"),r.size||"100%",r.innerSize||0],u=Math.min(s,o);for(t=0;4>t;++t)i=l[t],r=2>t||2===t&&/%$/.test(i),l[t]=n(i,[s,o,u,l[2]][t])+(r?a:0);return l[3]>l[2]&&(l[3]=l[2]),l}}}(t),function(t){var e=t.addEvent,n=t.defined,i=t.each,r=t.extend,o=t.inArray,a=t.noop,s=t.pick,l=t.Point,u=t.Series,c=t.seriesType,h=t.setAnimation;c("pie","line",{center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},x:0},ignoreHiddenPoint:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,states:{hover:{brightness:.1,shadow:!1}}},{isCartesian:!1,requireSorting:!1,directTouch:!0,noSharedTooltip:!0,trackerGroups:["group","dataLabelsGroup"],axisTypes:[],pointAttribs:t.seriesTypes.column.prototype.pointAttribs,animate:function(t){var e=this,n=e.points,r=e.startAngleRad;t||(i(n,function(t){var n=t.graphic,i=t.shapeArgs;n&&(n.attr({r:t.startR||e.center[3]/2,start:r,end:r}),n.animate({r:i.r,start:i.start,end:i.end},e.options.animation))}),e.animate=null)},updateTotals:function(){var t,e,n=0,i=this.points,r=i.length,o=this.options.ignoreHiddenPoint;for(t=0;t1.5*Math.PI?i-=2*Math.PI:i<-Math.PI/2&&(i+=2*Math.PI),a.slicedTranslation={translateX:Math.round(Math.cos(i)*c),translateY:Math.round(Math.sin(i)*c)},n=Math.cos(i)*t[2]/2,r=Math.sin(i)*t[2]/2,a.tooltipPos=[t[0]+.7*n,t[1]+.7*r],a.half=i<-Math.PI/2||i>Math.PI/2?1:0,a.angle=i,e=Math.min(h,a.labelDistance/5),a.labelPos=[t[0]+n+Math.cos(i)*a.labelDistance,t[1]+r+Math.sin(i)*a.labelDistance,t[0]+n+Math.cos(i)*e,t[1]+r+Math.sin(i)*e,t[0]+n,t[1]+r,0>a.labelDistance?"center":a.half?"right":"left",i]},drawGraph:null,drawPoints:function(){var t,e,n,o,a=this,s=a.chart.renderer,l=a.options.shadow;l&&!a.shadowGroup&&(a.shadowGroup=s.g("shadow").add(a.group)),i(a.points,function(i){if(!i.isNull){e=i.graphic,o=i.shapeArgs,t=i.getTranslate();var u=i.shadowGroup;l&&!u&&(u=i.shadowGroup=s.g("shadow").add(a.shadowGroup)),u&&u.attr(t),n=a.pointAttribs(i,i.selected&&"select"),e?e.setRadialReference(a.center).attr(n).animate(r(o,t)):(i.graphic=e=s[i.shapeType](o).setRadialReference(a.center).attr(t).add(a.group),i.visible||e.attr({visibility:"hidden"}),e.attr(n).attr({"stroke-linejoin":"round"}).shadow(l,u)),e.addClass(i.getClassName())}})},searchPoint:a,sortByAngle:function(t,e){t.sort(function(t,n){return void 0!==t.angle&&(n.angle-t.angle)*e})},drawLegendSymbol:t.LegendSymbolMixin.drawRectangle,getCenter:t.CenteredSeriesMixin.getCenter,getSymbol:a},{init:function(){l.prototype.init.apply(this,arguments);var t,n=this;return n.name=s(n.name,"Slice"),t=function(t){n.slice("select"===t.type)},e(n,"select",t),e(n,"unselect",t),n},isValid:function(){return t.isNumber(this.y,!0)&&0<=this.y},setVisible:function(t,e){var n=this,r=n.series,a=r.chart,l=r.options.ignoreHiddenPoint;e=s(e,l),t!==n.visible&&(n.visible=n.options.visible=t=void 0===t?!n.visible:t,r.options.data[o(n,r.data)]=n.options,i(["graphic","dataLabel","connector","shadowGroup"],function(e){n[e]&&n[e][t?"show":"hide"](!0)}),n.legendItem&&a.legend.colorizeItem(n,t),t||"hover"!==n.state||n.setState(""),l&&(r.isDirty=!0),e&&a.redraw())},slice:function(t,e,i){var r=this.series;h(i,r.chart),s(e,!0),this.sliced=this.options.sliced=n(t)?t:!this.sliced,r.options.data[o(this,r.data)]=this.options,this.graphic.animate(this.getTranslate()),this.shadowGroup&&this.shadowGroup.animate(this.getTranslate())},getTranslate:function(){return this.sliced?this.slicedTranslation:{translateX:0,translateY:0}},haloPath:function(t){var e=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(e.x,e.y,e.r+t,e.r+t,{innerR:this.shapeArgs.r,start:e.start,end:e.end})}})}(t),function(t){var e=t.addEvent,n=t.arrayMax,i=t.defined,r=t.each,o=t.extend,a=t.format,s=t.map,l=t.merge,u=t.noop,c=t.pick,h=t.relativeLength,d=t.Series,f=t.seriesTypes,p=t.stableSort;t.distribute=function(t,e){function n(t,e){return t.target-e.target}var i,o,a=!0,l=t,u=[];for(o=0,i=t.length;i--;)o+=t[i].size;if(o>e){for(p(t,function(t,e){return(e.rank||0)-(t.rank||0)}),o=i=0;o<=e;)o+=t[i].size,i++;u=t.splice(i-1,t.length)}for(p(t,n),t=s(t,function(t){return{size:t.size,targets:[t.target]}});a;){for(i=t.length;i--;)a=t[i],o=(Math.min.apply(0,a.targets)+Math.max.apply(0,a.targets))/2,a.pos=Math.min(Math.max(0,o-a.size/2),e-a.size);for(i=t.length,a=!1;i--;)0t[i].pos&&(t[i-1].size+=t[i].size,t[i-1].targets=t[i-1].targets.concat(t[i].targets),t[i-1].pos+t[i-1].size>e&&(t[i-1].pos=e-t[i-1].size),t.splice(i,1),a=!0)}i=0,r(t,function(t){var e=0;r(t.targets,function(){l[i].pos=t.pos+e,e+=l[i].size,i++})}),l.push.apply(l,u),p(l,n)},d.prototype.drawDataLabels=function(){var n,o,s,u,h=this,d=h.options,f=d.dataLabels,p=h.points,g=h.hasRendered||0,m=c(f.defer,!!d.animation),v=h.chart.renderer;(f.enabled||h._hasPointLabels)&&(h.dlProcessOptions&&h.dlProcessOptions(f),u=h.plotGroup("dataLabelsGroup","data-labels",m&&!g?"hidden":"visible",f.zIndex||6),m&&(u.attr({opacity:+g}),g||e(h,"afterAnimate",function(){h.visible&&u.show(!0),u[d.animation?"animate":"attr"]({opacity:1},{duration:200})})),o=f,r(p,function(e){var r,p,g,m,y=e.dataLabel,b=e.connector,x=!y;n=e.dlOptions||e.options&&e.options.dataLabels,(r=c(n&&n.enabled,o.enabled)&&null!==e.y)&&(f=l(o,n),p=e.getLabelConfig(),s=f.format?a(f.format,p):f.formatter.call(p,f),m=f.style,p=f.rotation,m.color=c(f.color,m.color,h.color,"#000000"),"contrast"===m.color&&(e.contrastColor=v.getContrast(e.color||h.color),m.color=f.inside||0>c(e.labelDistance,f.distance)||d.stacking?e.contrastColor:"#000000"),d.cursor&&(m.cursor=d.cursor),g={fill:f.backgroundColor,stroke:f.borderColor,"stroke-width":f.borderWidth,r:f.borderRadius||0,rotation:p,padding:f.padding,zIndex:1},t.objectEach(g,function(t,e){void 0===t&&delete g[e]})),!y||r&&i(s)?r&&i(s)&&(y?g.text=s:(y=e.dataLabel=v[p?"text":"label"](s,0,-9999,f.shape,null,null,f.useHTML,null,"data-label"),y.addClass("highcharts-data-label-color-"+e.colorIndex+" "+(f.className||"")+(f.useHTML?"highcharts-tracker":""))),y.attr(g),y.css(m).shadow(f.shadow),y.added||y.add(u),h.alignDataLabel(e,y,f,null,x)):(e.dataLabel=y=y.destroy(),b&&(e.connector=b.destroy()))}))},d.prototype.alignDataLabel=function(t,e,n,i,r){var a,s=this.chart,l=s.inverted,u=c(t.plotX,-9999),h=c(t.plotY,-9999),d=e.getBBox(),f=n.rotation,p=n.align,g=this.visible&&(t.series.forceDL||s.isInsidePlot(u,Math.round(h),l)||i&&s.isInsidePlot(u,l?i.x+1:i.y+i.height-1,l)),m="justify"===c(n.overflow,"justify");g&&(a=n.style.fontSize,a=s.renderer.fontMetrics(a,e).b,i=o({x:l?this.yAxis.len-h:u,y:Math.round(l?this.xAxis.len-u:h),width:0,height:0},i),o(n,{width:d.width,height:d.height}),f?(m=!1,u=s.renderer.rotCorr(a,f),u={x:i.x+n.x+i.width/2+u.x,y:i.y+n.y+{top:0,middle:.5,bottom:1}[n.verticalAlign]*i.height},e[r?"attr":"animate"](u).attr({align:p}),h=(f+720)%360,h=180h,"left"===p?u.y-=h?d.height:0:"center"===p?(u.x-=d.width/2,u.y-=d.height/2):"right"===p&&(u.x-=d.width,u.y-=h?0:d.height)):(e.align(n,null,i),u=e.alignAttr),m?t.isLabelJustified=this.justifyDataLabel(e,n,u,d,i,r):c(n.crop,!0)&&(g=s.isInsidePlot(u.x,u.y)&&s.isInsidePlot(u.x+d.width,u.y+d.height)),n.shape&&!f)&&e[r?"attr":"animate"]({anchorX:l?s.plotWidth-t.plotY:t.plotX,anchorY:l?s.plotHeight-t.plotX:t.plotY}),g||(e.attr({y:-9999}),e.placed=!1)},d.prototype.justifyDataLabel=function(t,e,n,i,r,o){var a,s,l=this.chart,u=e.align,c=e.verticalAlign,h=t.box?0:t.padding||0;return a=n.x+h,0>a&&("right"===u?e.align="left":e.x=-a,s=!0),a=n.x+i.width-h,a>l.plotWidth&&("left"===u?e.align="right":e.x=l.plotWidth-a,s=!0),a=n.y+h,0>a&&("bottom"===c?e.verticalAlign="top":e.y=-a,s=!0),a=n.y+i.height-h,a>l.plotHeight&&("top"===c?e.verticalAlign="bottom":e.y=l.plotHeight-a,s=!0),s&&(t.placed=!o,t.align(e,null,r)),s},f.pie&&(f.pie.prototype.drawDataLabels=function(){var e,o,a,s,l,u,h,f,p,g,m=this,v=m.data,y=m.chart,b=m.options.dataLabels,x=c(b.connectorPadding,10),w=c(b.connectorWidth,1),S=y.plotWidth,_=y.plotHeight,C=m.center,M=C[2]/2,k=C[1],T=[[],[]],D=[0,0,0,0];m.visible&&(b.enabled||m._hasPointLabels)&&(r(v,function(t){t.dataLabel&&t.visible&&t.dataLabel.shortened&&(t.dataLabel.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),t.dataLabel.shortened=!1)}),d.prototype.drawDataLabels.apply(m),r(v,function(t){t.dataLabel&&t.visible&&(T[t.half].push(t),t.dataLabel._pos=null)}),r(T,function(n,o){var d,v,w,T=n.length,A=[];if(T)for(m.sortByAngle(n,o-.5),0e.bottom-2?d:f,o,e),a._attr={visibility:p,align:l[6]},a._pos={x:h+b.x+({left:x,right:-x}[l[6]]||0),y:f+b.y-10},l.x=h,l.y=f,c(b.crop,!0)&&(s=a.getBBox().width,d=null,h-sS-x&&(d=Math.round(h+s-S+x),D[1]=Math.max(d,D[1])),0>f-u/2?D[0]=Math.max(Math.round(-f+u/2),D[0]):f+u/2>_&&(D[2]=Math.max(Math.round(f+u/2-_),D[2])),a.sideOverflow=d)}),0===n(D)||this.verifyDataLabelOverflow(D))&&(this.placeDataLabels(),w&&r(this.points,function(t){var e;o=t.connector,(a=t.dataLabel)&&a._pos&&t.visible&&0c(this.translatedThreshold,a.yAxis.len)),h=c(n.inside,!!this.options.stacking);s&&(i=l(s),0>i.y&&(i.height+=i.y,i.y=0),s=i.y+i.height-a.yAxis.len,0t+n||r+ae+i||o+sthis.pointCount))},pan:function(t,e){var n,i=this,r=i.hoverPoints;r&&l(r,function(t){t.setState()}),l("xy"===e?[1,0]:[1],function(e){e=i[e?"xAxis":"yAxis"][0];var r,o=e.horiz,a=t[o?"chartX":"chartY"],o=o?"mouseDownX":"mouseDownY",s=i[o],l=(e.pointRange||0)/2,u=e.getExtremes(),c=e.toValue(s-a,!0)+l,l=e.toValue(s+e.len-a,!0)-l,h=l=a(n.minWidth,0)&&this.chartHeight>=a(n.minHeight,0)}).call(this)&&e.push(t._id)},e.prototype.currentOptions=function(e){function n(e,a,l,u){var c;t.objectEach(e,function(t,h){if(!u&&-1" + result.status + ""
- resultsTable.row(i).data(rowData).draw(false)
+ resultsTable.row(i).data(rowData)
if (row.child.isShown()) {
row.child(renderTimeline(row.data()))
}
@@ -573,6 +574,7 @@ function poll() {
}
})
})
+ resultsTable.draw(false)
/* Update the map information */
updateMap(campaign.results)
$("#refresh_message").hide()
@@ -646,7 +648,7 @@ function load() {
escapeHtml(result.email) || "",
escapeHtml(result.position) || "",
"" + result.status + ""
- ]).draw()
+ ])
email_series_data[result.status]++;
// Backfill status values
var step = progressListing.indexOf(result.status)
@@ -654,6 +656,7 @@ function load() {
email_series_data[progressListing[i]]++
}
})
+ resultsTable.draw();
// Setup the individual timelines
$('#resultsTable tbody').on('click', 'td.details-control', function () {
var tr = $(this).closest('tr');