z?g-z:I-(f<=I?z:0));c.barX=h;c.pointWidth=q;c.shapeType="rect";c.shapeArgs=f=b.renderer.Element.prototype.crisp.call(0,e,h,i,t,j);e%2&&(f.y-=1,f.height+=1);c.trackerArgs=V(j)<3&&w(c.shapeArgs,{height:6,y:i-3})})},
+getSymbol:lb,drawLegendSymbol:H.prototype.drawLegendSymbol,drawGraph:lb,drawPoints:function(){var a=this,b=a.options,c=a.chart.renderer,d;n(a.points,function(e){var f=e.plotY,g=e.graphic;if(f!==r&&!isNaN(f)&&e.y!==null)d=e.shapeArgs,g?(nb(g),g.animate(w(d))):e.graphic=c[e.shapeType](d).attr(e.pointAttr[e.selected?"select":""]).add(a.group).shadow(b.shadow,null,b.stacking&&!b.borderRadius);else if(g)e.graphic=g.destroy()})},drawTracker:function(){var a=this,b=a.chart,c=b.renderer,d,e,f=+new Date,g=
+a.options,h=g.cursor,i=h&&{cursor:h},j=a.isCartesian&&a.plotGroup("trackerGroup",null,"visible",g.zIndex||1,b.trackerGroup),k,l,m;n(a.points,function(h){e=h.tracker;d=h.trackerArgs||h.shapeArgs;l=h.plotY;m=!a.isCartesian||l!==r&&!isNaN(l);delete d.strokeWidth;if(h.y!==null&&m)e?e.attr(d):h.tracker=c[h.shapeType](d).attr({isTracker:f,fill:Eb,visibility:a.visible?"visible":"hidden"}).on(ba?"touchstart":"mouseover",function(c){k=c.relatedTarget||c.fromElement;if(b.hoverSeries!==a&&G(k,"isTracker")!==
+f)a.onMouseOver();h.onMouseOver()}).on("mouseout",function(b){if(!g.stickyTracking&&(k=b.relatedTarget||b.toElement,G(k,"isTracker")!==f))a.onMouseOut()}).css(i).add(h.group||j)})},alignDataLabel:function(a,b,c,d,e){var f=this.chart,g=f.inverted,h=a.below||a.plotY>(this.translatedThreshold||f.plotSizeY),i=this.options.stacking||c.inside;if(a.shapeArgs&&(d=w(a.shapeArgs),g&&(d={x:f.plotWidth-d.y-d.height,y:f.plotHeight-d.x-d.width,width:d.height,height:d.width}),!i))g?(d.x+=h?0:d.width,d.width=0):
+(d.y+=h?d.height:0,d.height=0);c.align=p(c.align,!g||i?"center":h?"right":"left");c.verticalAlign=p(c.verticalAlign,g||i?"middle":h?"top":"bottom");W.prototype.alignDataLabel.call(this,a,b,c,d,e)},animate:function(a){var b=this,c=b.points,d=b.options;if(!a)n(c,function(a){var c=a.graphic,a=a.shapeArgs,g=b.yAxis,h=d.threshold;c&&(c.attr({height:0,y:v(h)?g.getThreshold(h):g.translate(g.getExtremes().min,0,1,0,1)}),c.animate({height:a.height,y:a.y},d.animation))}),b.animate=null},remove:function(){var a=
+this,b=a.chart;b.hasRendered&&n(b.series,function(b){if(b.type===a.type)b.isDirty=!0});W.prototype.remove.apply(a,arguments)}});R.column=ea;Q.bar=w(Q.column);La=aa(ea,{type:"bar",inverted:!0});R.bar=La;Q.scatter=w(N,{lineWidth:0,states:{hover:{lineWidth:0}},tooltip:{headerFormat:'{series.name}
',pointFormat:"x: {point.x}
y: {point.y}
"}});La=aa(W,{type:"scatter",sorted:!1,translate:function(){var a=this;W.prototype.translate.apply(a);
+n(a.points,function(b){b.shapeType="circle";b.shapeArgs={x:b.plotX,y:b.plotY,r:a.chart.options.tooltip.snap}})},drawTracker:function(){for(var a=this,b=a.options.cursor,b=b&&{cursor:b},c=a.points,d=c.length,e;d--;)if(e=c[d].graphic)e.element._i=d;a._hasTracking?a._hasTracking=!0:a.markerGroup.attr({isTracker:!0}).on(ba?"touchstart":"mouseover",function(b){a.onMouseOver();if(b.target._i!==r)c[b.target._i].onMouseOver()}).on("mouseout",function(){if(!a.options.stickyTracking)a.onMouseOut()}).css(b)}});
+R.scatter=La;Q.pie=w(N,{borderColor:"#FFFFFF",borderWidth:1,center:["50%","50%"],colorByPoint:!0,dataLabels:{distance:30,enabled:!0,formatter:function(){return this.point.name}},legendType:"point",marker:null,size:"75%",showInLegend:!1,slicedOffset:10,states:{hover:{brightness:0.1,shadow:!1}}});N={type:"pie",isCartesian:!1,pointClass:aa(xa,{init:function(){xa.prototype.init.apply(this,arguments);var a=this,b;u(a,{visible:a.visible!==!1,name:p(a.name,"Slice")});b=function(){a.slice()};D(a,"select",
+b);D(a,"unselect",b);return a},setVisible:function(a){var b=this.series,c=b.chart,d=this.tracker,e=this.dataLabel,f=this.connector,g=this.shadowGroup,h;h=(this.visible=a=a===r?!this.visible:a)?"show":"hide";this.group[h]();if(d)d[h]();if(e)e[h]();if(f)f[h]();if(g)g[h]();this.legendItem&&c.legend.colorizeItem(this,a);if(!b.isDirty&&b.options.ignoreHiddenPoint)b.isDirty=!0,c.redraw()},slice:function(a,b,c){var d=this.series.chart,e=this.slicedTranslation;Fa(c,d);p(b,!0);a=this.sliced=v(a)?a:!this.sliced;
+a={translateX:a?e[0]:d.plotLeft,translateY:a?e[1]:d.plotTop};this.group.animate(a);this.shadowGroup&&this.shadowGroup.animate(a)}}),pointAttrToOptions:{stroke:"borderColor","stroke-width":"borderWidth",fill:"color"},getColor:function(){this.initialColor=this.chart.counters.color},animate:function(){var a=this;n(a.points,function(b){var c=b.graphic,b=b.shapeArgs,d=-Ia/2;c&&(c.attr({r:0,start:d,end:d}),c.animate({r:b.r,start:b.start,end:b.end},a.options.animation))});a.animate=null},setData:function(a,
+b){W.prototype.setData.call(this,a,!1);this.processData();this.generatePoints();p(b,!0)&&this.chart.redraw()},getCenter:function(){var a=this.options,b=this.chart,c=b.plotWidth,d=b.plotHeight,a=a.center.concat([a.size,a.innerSize||0]),e=K(c,d),f;return Ja(a,function(a,b){return(f=/%$/.test(a))?[c,d,e,e][b]*F(a)/100:a})},translate:function(){this.generatePoints();var a=0,b=-0.25,c=this.options,d=c.slicedOffset,e=d+c.borderWidth,f,g=this.chart,h,i,j,k=this.points,l=2*Ia,m=c.dataLabels.distance,o=c.ignoreHiddenPoint,
+n,p=k.length,q;this.center=f=this.getCenter();this.getX=function(a,b){j=M.asin((a-f[1])/(f[2]/2+m));return f[0]+(b?-1:1)*da(j)*(f[2]/2+m)};for(n=0;n0,s=[[],[]],y,q,r,t,v=2,z;if(d.enabled||this._hasPointLabels){W.prototype.drawDataLabels.apply(this);n(a,function(a){a.dataLabel&&s[a.labelPos[7]0){for(z=m-l-j;z<=m+l+j;z+=a)A.push(z);r=A.length;
+if(u>r){h=[].concat(x);h.sort(t);for(z=u;z--;)h[z].rank=z;for(z=u;z--;)x[z].rank>=r&&x.splice(z,1);u=x.length}for(z=0;z0){if(q=B.pop(),w=q.i,q=q.y,y>q&&A[w+1]!==null||y=c[1]||p===i;)if(j=c.shift(),k=d.apply(0,m),k!==r&&(g.push(j),h.push(k)),m[0]=[],m[1]=[],m[2]=[],m[3]=[],p===i)break;if(p===i)break;if(o){j=this.cropStart+p;j=e&&e[j]||this.pointClass.prototype.applyOptions.apply({series:this},[f[j]]);var q;for(k=0;kg/i||j&&c.forced){e=!0;this.points=null;a=h.getExtremes();j=a.min;k=a.max;a=h.getGroupIntervalFactor&&h.getGroupIntervalFactor(j,k,d)||1;g=i*(k-j)/g*a;h=(h.getNonLinearTimeTicks||db)(Gb(g,c.units||Xb),j,k,null,d,this.closestPointRange);f=T.groupData.apply(this,[d,f,h,c.approximation]);d=f[0];f=f[1];if(c.smoothed){a=d.length-1;for(d[a]=k;a--&&a>0;)d[a]+=g/2;d[0]=j}this.currentDataGrouping=h.info;if(b.pointRange===null)this.pointRange=
+h.info.totalRange;this.closestPointRange=h.info.totalRange;this.processedXData=d;this.processedYData=f}else this.currentDataGrouping=null,this.pointRange=l;this.hasGroupedData=e}};T.destroyGroupedData=function(){var a=this.groupedData;n(a||[],function(b,c){b&&(a[c]=b.destroy?b.destroy():null)});this.groupedData=null};T.generatePoints=function(){fc.apply(this);this.destroyGroupedData();this.groupedData=this.hasGroupedData?this.points:null};T.tooltipHeaderFormatter=function(a){var b=this.tooltipOptions,
+c=this.options.dataGrouping,d=b.xDateFormat,e,f=this.xAxis,g,h;if(f&&f.options.type==="datetime"&&c&&za(a)){g=this.currentDataGrouping;c=c.dateTimeLabelFormats;if(g)f=c[g.unitName],g.count===1?d=f[0]:(d=f[1],e=f[2]);else if(!d)for(h in C)if(C[h]>=f.closestPointRange){d=c[h][0];break}d=va(d,a);e&&(d+=va(e,a+g.totalRange-1));a=b.headerFormat.replace("{point.key}",d)}else a=hc.apply(this,[a]);return a};T.destroy=function(){for(var a=this.groupedData||[],b=a.length;b--;)a[b]&&a[b].destroy();gc.apply(this)};
+rb(T,"setOptions",function(a,b){var c=a.call(this,b),d=this.type,e=this.chart.options.plotOptions;if(Wb[d]){if(!Q[d].dataGrouping)Q[d].dataGrouping=w(ic,Wb[d]);c.dataGrouping=w(Q[d].dataGrouping,e.series&&e.series.dataGrouping,e[d].dataGrouping,b.dataGrouping)}return c});Q.ohlc=w(Q.column,{lineWidth:1,tooltip:{pointFormat:'{series.name}
Open: {point.open}
High: {point.high}
Low: {point.low}
Close: {point.close}
'},states:{hover:{lineWidth:3}},
+threshold:null});N=aa(xa,{applyOptions:function(a){var b=this.series,c=b.pointArrayMap,d=0,e=0,f=c.length;if(typeof a==="object"&&typeof a.length!=="number")u(this,a),this.options=a;else if(a.length){if(a.length>f){if(typeof a[0]==="string")this.name=a[0];else if(typeof a[0]==="number")this.x=a[0];d++}for(;e',
+this.name||a.name,"