/*
 Highcharts JS v5.0.11 (2017-05-04)

 (c) 2009-2016 Torstein Honsi

 License: www.highcharts.com/license
*/
(function(w){"object"===typeof module&&module.exports?module.exports=w:w(Highcharts)})(function(w){(function(a){function n(a,c){this.init(a,c)}var r=a.CenteredSeriesMixin,u=a.each,h=a.extend,f=a.merge,m=a.splat;h(n.prototype,{coll:"pane",init:function(a,c){this.chart=c;this.background=[];c.pane.push(this);this.setOptions(a)},setOptions:function(a){this.options=f(this.defaultOptions,this.chart.angular?{background:{}}:void 0,a)},render:function(){var a=this.options,c=this.options.background,e=this.chart.renderer;
this.group||(this.group=e.g("pane-group").attr({zIndex:a.zIndex||0}).add());this.updateCenter();if(c)for(c=m(c),a=Math.max(c.length,this.background.length||0),e=0;e<a;e++)c[e]&&this.axis?this.renderBackground(f(this.defaultBackgroundOptions,c[e]),e):this.background[e]&&(this.background[e]=this.background[e].destroy(),this.background.splice(e,1))},renderBackground:function(a,c){var e="animate";this.background[c]||(this.background[c]=this.chart.renderer.path().add(this.group),e="attr");this.background[c][e]({d:this.axis.getPlotBandPath(a.from,
a.to,a)}).attr({"class":"highcharts-pane "+(a.className||"")})},defaultOptions:{center:["50%","50%"],size:"85%",startAngle:0},defaultBackgroundOptions:{shape:"circle",from:-Number.MAX_VALUE,innerRadius:0,to:Number.MAX_VALUE,outerRadius:"105%"},updateCenter:function(a){this.center=(a||this.axis||{}).center=r.getCenter.call(this)},update:function(a,c){f(!0,this.options,a);this.setOptions(this.options);this.render();u(this.chart.axes,function(e){e.pane===this&&(e.pane=null,e.update({},c))},this)}});
a.Pane=n})(w);(function(a){var n=a.each,r=a.extend,u=a.map,h=a.merge,f=a.noop,m=a.pick,q=a.pInt,c=a.wrap,e,g,l=a.Axis.prototype;a=a.Tick.prototype;e={getOffset:f,redraw:function(){this.isDirty=!1},render:function(){this.isDirty=!1},setScale:f,setCategories:f,setTitle:f};g={defaultRadialGaugeOptions:{labels:{align:"center",x:0,y:null},minorGridLineWidth:0,minorTickInterval:"auto",minorTickLength:10,minorTickPosition:"inside",minorTickWidth:1,tickLength:10,tickPosition:"inside",tickWidth:2,title:{rotation:0},
zIndex:2},defaultRadialXOptions:{gridLineWidth:1,labels:{align:null,distance:15,x:0,y:null},maxPadding:0,minPadding:0,showLastLabel:!1,tickLength:0},defaultRadialYOptions:{gridLineInterpolation:"circle",labels:{align:"right",x:-3,y:-2},showLastLabel:!1,title:{x:4,text:null,rotation:90}},setOptions:function(b){b=this.options=h(this.defaultOptions,this.defaultRadialOptions,b);b.plotBands||(b.plotBands=[])},getOffset:function(){l.getOffset.call(this);this.chart.axisOffset[this.side]=0},getLinePath:function(b,
d){b=this.center;var c=this.chart,e=m(d,b[2]/2-this.offset);this.isCircular||void 0!==d?d=this.chart.renderer.symbols.arc(this.left+b[0],this.top+b[1],e,e,{start:this.startAngleRad,end:this.endAngleRad,open:!0,innerR:0}):(d=this.postTranslate(this.angleRad,e),d=["M",b[0]+c.plotLeft,b[1]+c.plotTop,"L",d.x,d.y]);return d},setAxisTranslation:function(){l.setAxisTranslation.call(this);this.center&&(this.transA=this.isCircular?(this.endAngleRad-this.startAngleRad)/(this.max-this.min||1):this.center[2]/
2/(this.max-this.min||1),this.minPixelPadding=this.isXAxis?this.transA*this.minPointOffset:0)},beforeSetTickPositions:function(){if(this.autoConnect=this.isCircular&&void 0===m(this.userMax,this.options.max)&&this.endAngleRad-this.startAngleRad===2*Math.PI)this.max+=this.categories&&1||this.pointRange||this.closestPointRange||0},setAxisSize:function(){l.setAxisSize.call(this);this.isRadial&&(this.pane.updateCenter(this),this.isCircular&&(this.sector=this.endAngleRad-this.startAngleRad),this.len=this.width=
this.height=this.center[2]*m(this.sector,1)/2)},getPosition:function(b,d){return this.postTranslate(this.isCircular?this.translate(b):this.angleRad,m(this.isCircular?d:this.translate(b),this.center[2]/2)-this.offset)},postTranslate:function(b,d){var c=this.chart,e=this.center;b=this.startAngleRad+b;return{x:c.plotLeft+e[0]+Math.cos(b)*d,y:c.plotTop+e[1]+Math.sin(b)*d}},getPlotBandPath:function(b,d,c){var e=this.center,p=this.startAngleRad,a=e[2]/2,g=[m(c.outerRadius,"100%"),c.innerRadius,m(c.thickness,
10)],l=Math.min(this.offset,0),f=/%$/,x,h=this.isCircular;"polygon"===this.options.gridLineInterpolation?e=this.getPlotLinePath(b).concat(this.getPlotLinePath(d,!0)):(b=Math.max(b,this.min),d=Math.min(d,this.max),h||(g[0]=this.translate(b),g[1]=this.translate(d)),g=u(g,function(b){f.test(b)&&(b=q(b,10)*a/100);return b}),"circle"!==c.shape&&h?(b=p+this.translate(b),d=p+this.translate(d)):(b=-Math.PI/2,d=1.5*Math.PI,x=!0),g[0]-=l,g[2]-=l,e=this.chart.renderer.symbols.arc(this.left+e[0],this.top+e[1],
g[0],g[0],{start:Math.min(b,d),end:Math.max(b,d),innerR:m(g[1],g[0]-g[2]),open:x}));return e},getPlotLinePath:function(b,c){var e=this,d=e.center,g=e.chart,a=e.getPosition(b),l,q,f;e.isCircular?f=["M",d[0]+g.plotLeft,d[1]+g.plotTop,"L",a.x,a.y]:"circle"===e.options.gridLineInterpolation?(b=e.translate(b))&&(f=e.getLinePath(0,b)):(n(g.xAxis,function(b){b.pane===e.pane&&(l=b)}),f=[],b=e.translate(b),d=l.tickPositions,l.autoConnect&&(d=d.concat([d[0]])),c&&(d=[].concat(d).reverse()),n(d,function(e,d){q=
l.getPosition(e,b);f.push(d?"L":"M",q.x,q.y)}));return f},getTitlePosition:function(){var b=this.center,e=this.chart,c=this.options.title;return{x:e.plotLeft+b[0]+(c.x||0),y:e.plotTop+b[1]-{high:.5,middle:.25,low:0}[c.align]*b[2]+(c.y||0)}}};c(l,"init",function(b,c,a){var d=c.angular,k=c.polar,p=a.isX,l=d&&p,f,q=c.options,x=this.pane=c.pane[a.pane||0],n=x.options;if(d){if(r(this,l?e:g),f=!p)this.defaultRadialOptions=this.defaultRadialGaugeOptions}else k&&(r(this,g),this.defaultRadialOptions=(f=p)?
this.defaultRadialXOptions:h(this.defaultYAxisOptions,this.defaultRadialYOptions));d||k?(this.isRadial=!0,c.inverted=!1,q.chart.zoomType=null):this.isRadial=!1;f&&(x.axis=this);b.call(this,c,a);l||!d&&!k||(b=this.options,this.angleRad=(b.angle||0)*Math.PI/180,this.startAngleRad=(n.startAngle-90)*Math.PI/180,this.endAngleRad=(m(n.endAngle,n.startAngle+360)-90)*Math.PI/180,this.offset=b.offset||0,this.isCircular=f)});c(l,"autoLabelAlign",function(b){if(!this.isRadial)return b.apply(this,[].slice.call(arguments,
1))});c(a,"getPosition",function(b,c,e,g,a){var d=this.axis;return d.getPosition?d.getPosition(e):b.call(this,c,e,g,a)});c(a,"getLabelPosition",function(b,c,e,g,a,l,f,q,h){var d=this.axis,p=l.y,k=20,v=l.align,t=(d.translate(this.pos)+d.startAngleRad+Math.PI/2)/Math.PI*180%360;d.isRadial?(b=d.getPosition(this.pos,d.center[2]/2+m(l.distance,-25)),"auto"===l.rotation?g.attr({rotation:t}):null===p&&(p=d.chart.renderer.fontMetrics(g.styles.fontSize).b-g.getBBox().height/2),null===v&&(d.isCircular?(this.label.getBBox().width>
d.len*d.tickInterval/(d.max-d.min)&&(k=0),v=t>k&&t<180-k?"left":t>180+k&&t<360-k?"right":"center"):v="center",g.attr({align:v})),b.x+=l.x,b.y+=p):b=b.call(this,c,e,g,a,l,f,q,h);return b});c(a,"getMarkPath",function(b,c,e,g,a,l,f){var d=this.axis;d.isRadial?(b=d.getPosition(this.pos,d.center[2]/2+g),c=["M",c,e,"L",b.x,b.y]):c=b.call(this,c,e,g,a,l,f);return c})})(w);(function(a){var n=a.each,r=a.noop,u=a.pick,h=a.Series,f=a.seriesType,m=a.seriesTypes;f("arearange","area",{marker:null,threshold:null,
tooltip:{pointFormat:'\x3cspan class\x3d"highcharts-color-{series.colorIndex}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cb\x3e{point.low}\x3c/b\x3e - \x3cb\x3e{point.high}\x3c/b\x3e\x3cbr/\x3e'},trackByArea:!0,dataLabels:{align:null,verticalAlign:null,xLow:0,xHigh:0,yLow:0,yHigh:0},states:{hover:{halo:!1}}},{pointArrayMap:["low","high"],dataLabelCollections:["dataLabel","dataLabelUpper"],toYData:function(a){return[a.low,a.high]},pointValKey:"low",deferTranslatePolar:!0,highToXY:function(a){var c=
this.chart,e=this.xAxis.postTranslate(a.rectPlotX,this.yAxis.len-a.plotHigh);a.plotHighX=e.x-c.plotLeft;a.plotHigh=e.y-c.plotTop},translate:function(){var a=this,c=a.yAxis,e=!!a.modifyValue;m.area.prototype.translate.apply(a);n(a.points,function(g){var l=g.low,b=g.high,d=g.plotY;null===b||null===l?g.isNull=!0:(g.plotLow=d,g.plotHigh=c.translate(e?a.modifyValue(b,g):b,0,1,0,1),e&&(g.yBottom=g.plotHigh))});this.chart.polar&&n(this.points,function(c){a.highToXY(c)})},getGraphPath:function(a){var c=[],
e=[],g,l=m.area.prototype.getGraphPath,b,d,p;p=this.options;var v=this.chart.polar&&!1!==p.connectEnds,k=p.step;a=a||this.points;for(g=a.length;g--;)b=a[g],b.isNull||v||a[g+1]&&!a[g+1].isNull||e.push({plotX:b.plotX,plotY:b.plotY,doCurve:!1}),d={polarPlotY:b.polarPlotY,rectPlotX:b.rectPlotX,yBottom:b.yBottom,plotX:u(b.plotHighX,b.plotX),plotY:b.plotHigh,isNull:b.isNull},e.push(d),c.push(d),b.isNull||v||a[g-1]&&!a[g-1].isNull||e.push({plotX:b.plotX,plotY:b.plotY,doCurve:!1});a=l.call(this,a);k&&(!0===
k&&(k="left"),p.step={left:"right",center:"center",right:"left"}[k]);c=l.call(this,c);e=l.call(this,e);p.step=k;p=[].concat(a,c);this.chart.polar||"M"!==e[0]||(e[0]="L");this.graphPath=p;this.areaPath=this.areaPath.concat(a,e);p.isArea=!0;p.xMap=a.xMap;this.areaPath.xMap=a.xMap;return p},drawDataLabels:function(){var a=this.data,c=a.length,e,g=[],l=h.prototype,b=this.options.dataLabels,d=b.align,p=b.verticalAlign,v=b.inside,k,f,t=this.chart.inverted;if(b.enabled||this._hasPointLabels){for(e=c;e--;)if(k=
a[e])f=v?k.plotHigh<k.plotLow:k.plotHigh>k.plotLow,k.y=k.high,k._plotY=k.plotY,k.plotY=k.plotHigh,g[e]=k.dataLabel,k.dataLabel=k.dataLabelUpper,k.below=f,t?d||(b.align=f?"right":"left"):p||(b.verticalAlign=f?"top":"bottom"),b.x=b.xHigh,b.y=b.yHigh;l.drawDataLabels&&l.drawDataLabels.apply(this,arguments);for(e=c;e--;)if(k=a[e])f=v?k.plotHigh<k.plotLow:k.plotHigh>k.plotLow,k.dataLabelUpper=k.dataLabel,k.dataLabel=g[e],k.y=k.low,k.plotY=k._plotY,k.below=!f,t?d||(b.align=f?"left":"right"):p||(b.verticalAlign=
f?"bottom":"top"),b.x=b.xLow,b.y=b.yLow;l.drawDataLabels&&l.drawDataLabels.apply(this,arguments)}b.align=d;b.verticalAlign=p},alignDataLabel:function(){m.column.prototype.alignDataLabel.apply(this,arguments)},setStackedPoints:r,getSymbol:r,drawPoints:r})})(w);(function(a){var n=a.seriesType;n("areasplinerange","arearange",null,{getPointSpline:a.seriesTypes.spline.prototype.getPointSpline})})(w);(function(a){var n=a.defaultPlotOptions,r=a.each,u=a.merge,h=a.noop,f=a.pick,m=a.seriesType,q=a.seriesTypes.column.prototype;
m("columnrange","arearange",u(n.column,n.arearange,{lineWidth:1,pointRange:null}),{translate:function(){var c=this,e=c.yAxis,a=c.xAxis,l=a.startAngleRad,b,d=c.chart,p=c.xAxis.isRadial,v;q.translate.apply(c);r(c.points,function(g){var k=g.shapeArgs,t=c.options.minPointLength,h,m;g.plotHigh=v=e.translate(g.high,0,1,0,1);g.plotLow=g.plotY;m=v;h=f(g.rectPlotY,g.plotY)-v;Math.abs(h)<t?(t-=h,h+=t,m-=t/2):0>h&&(h*=-1,m-=h);p?(b=g.barX+l,g.shapeType="path",g.shapeArgs={d:c.polarArc(m+h,m,b,b+g.pointWidth)}):
(k.height=h,k.y=m,g.tooltipPos=d.inverted?[e.len+e.pos-d.plotLeft-m-h/2,a.len+a.pos-d.plotTop-k.x-k.width/2,h]:[a.left-d.plotLeft+k.x+k.width/2,e.pos-d.plotTop+m+h/2,h])})},directTouch:!0,trackerGroups:["group","dataLabelsGroup"],drawGraph:h,crispCol:q.crispCol,drawPoints:q.drawPoints,drawTracker:q.drawTracker,getColumnMetrics:q.getColumnMetrics,animate:function(){return q.animate.apply(this,arguments)},polarArc:function(){return q.polarArc.apply(this,arguments)},pointAttribs:q.pointAttribs})})(w);
(function(a){var n=a.each,r=a.isNumber,u=a.merge,h=a.pick,f=a.pInt,m=a.Series,q=a.seriesType,c=a.TrackerMixin;q("gauge","line",{dataLabels:{enabled:!0,defer:!1,y:15,borderRadius:3,crop:!1,verticalAlign:"top",zIndex:2},dial:{},pivot:{},tooltip:{headerFormat:""},showInLegend:!1},{angular:!0,directTouch:!0,drawGraph:a.noop,fixedBox:!0,forceDL:!0,noSharedTooltip:!0,trackerGroups:["group","dataLabelsGroup"],translate:function(){var c=this.yAxis,a=this.options,l=c.center;this.generatePoints();n(this.points,
function(b){var d=u(a.dial,b.dial),e=f(h(d.radius,80))*l[2]/200,g=f(h(d.baseLength,70))*e/100,k=f(h(d.rearLength,10))*e/100,m=d.baseWidth||3,t=d.topWidth||1,n=a.overshoot,q=c.startAngleRad+c.translate(b.y,null,null,null,!0);r(n)?(n=n/180*Math.PI,q=Math.max(c.startAngleRad-n,Math.min(c.endAngleRad+n,q))):!1===a.wrap&&(q=Math.max(c.startAngleRad,Math.min(c.endAngleRad,q)));q=180*q/Math.PI;b.shapeType="path";b.shapeArgs={d:d.path||["M",-k,-m/2,"L",g,-m/2,e,-t/2,e,t/2,g,m/2,-k,m/2,"z"],translateX:l[0],
translateY:l[1],rotation:q};b.plotX=l[0];b.plotY=l[1]})},drawPoints:function(){var c=this,a=c.yAxis.center,l=c.pivot,b=c.options,d=b.pivot,p=c.chart.renderer;n(c.points,function(d){var e=d.graphic,a=d.shapeArgs,g=a.d;u(b.dial,d.dial);e?(e.animate(a),a.d=g):d.graphic=p[d.shapeType](a).attr({rotation:a.rotation,zIndex:1}).addClass("highcharts-dial").add(c.group)});l?l.animate({translateX:a[0],translateY:a[1]}):c.pivot=p.circle(0,0,h(d.radius,5)).attr({zIndex:2}).addClass("highcharts-pivot").translate(a[0],
a[1]).add(c.group)},animate:function(c){var e=this;c||(n(e.points,function(c){var b=c.graphic;b&&(b.attr({rotation:180*e.yAxis.startAngleRad/Math.PI}),b.animate({rotation:c.shapeArgs.rotation},e.options.animation))}),e.animate=null)},render:function(){this.group=this.plotGroup("group","series",this.visible?"visible":"hidden",this.options.zIndex,this.chart.seriesGroup);m.prototype.render.call(this);this.group.clip(this.chart.clipRect)},setData:function(c,a){m.prototype.setData.call(this,c,!1);this.processData();
this.generatePoints();h(a,!0)&&this.chart.redraw()},drawTracker:c&&c.drawTrackerPoint},{setState:function(c){this.state=c}})})(w);(function(a){var n=a.each,r=a.noop,u=a.seriesType,h=a.seriesTypes;u("boxplot","column",{threshold:null,tooltip:{pointFormat:'\x3cspan class\x3d"highcharts-color-{point.colorIndex}"\x3e\u25cf\x3c/span\x3e \x3cb\x3e {series.name}\x3c/b\x3e\x3cbr/\x3eMaximum: {point.high}\x3cbr/\x3eUpper quartile: {point.q3}\x3cbr/\x3eMedian: {point.median}\x3cbr/\x3eLower quartile: {point.q1}\x3cbr/\x3eMinimum: {point.low}\x3cbr/\x3e'},
whiskerLength:"50%"},{pointArrayMap:["low","q1","median","q3","high"],toYData:function(a){return[a.low,a.q1,a.median,a.q3,a.high]},pointValKey:"high",drawDataLabels:r,translate:function(){var a=this.yAxis,m=this.pointArrayMap;h.column.prototype.translate.apply(this);n(this.points,function(f){n(m,function(c){null!==f[c]&&(f[c+"Plot"]=a.translate(f[c],0,1,0,1))})})},drawPoints:function(){var a=this,h=a.chart.renderer,q,c,e,g,l,b,d=0,p,v,k,C,t=!1!==a.doQuartiles,r,u=a.options.whiskerLength;n(a.points,
function(f){var m=f.graphic,n=m?"animate":"attr",E=f.shapeArgs;void 0!==f.plotY&&(p=E.width,v=Math.floor(E.x),k=v+p,C=Math.round(p/2),q=Math.floor(t?f.q1Plot:f.lowPlot),c=Math.floor(t?f.q3Plot:f.lowPlot),e=Math.floor(f.highPlot),g=Math.floor(f.lowPlot),m||(f.graphic=m=h.g("point").add(a.group),f.stem=h.path().addClass("highcharts-boxplot-stem").add(m),u&&(f.whiskers=h.path().addClass("highcharts-boxplot-whisker").add(m)),t&&(f.box=h.path(void 0).addClass("highcharts-boxplot-box").add(m)),f.medianShape=
h.path(void 0).addClass("highcharts-boxplot-median").add(m)),b=f.stem.strokeWidth()%2/2,d=v+C+b,f.stem[n]({d:["M",d,c,"L",d,e,"M",d,q,"L",d,g]}),t&&(b=f.box.strokeWidth()%2/2,q=Math.floor(q)+b,c=Math.floor(c)+b,v+=b,k+=b,f.box[n]({d:["M",v,c,"L",v,q,"L",k,q,"L",k,c,"L",v,c,"z"]})),u&&(b=f.whiskers.strokeWidth()%2/2,e+=b,g+=b,r=/%$/.test(u)?C*parseFloat(u)/100:u/2,f.whiskers[n]({d:["M",d-r,e,"L",d+r,e,"M",d-r,g,"L",d+r,g]})),l=Math.round(f.medianPlot),b=f.medianShape.strokeWidth()%2/2,l+=b,f.medianShape[n]({d:["M",
v,l,"L",k,l]}))})},setStackedPoints:r})})(w);(function(a){var n=a.each,r=a.noop,u=a.seriesType,h=a.seriesTypes;u("errorbar","boxplot",{grouping:!1,linkedTo:":previous",tooltip:{pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cb\x3e{point.low}\x3c/b\x3e - \x3cb\x3e{point.high}\x3c/b\x3e\x3cbr/\x3e'},whiskerWidth:null},{type:"errorbar",pointArrayMap:["low","high"],toYData:function(a){return[a.low,a.high]},pointValKey:"high",doQuartiles:!1,drawDataLabels:h.arearange?
function(){var a=this.pointValKey;h.arearange.prototype.drawDataLabels.call(this);n(this.data,function(f){f.y=f[a]})}:r,getColumnMetrics:function(){return this.linkedParent&&this.linkedParent.columnMetrics||h.column.prototype.getColumnMetrics.call(this)}})})(w);(function(a){var n=a.correctFloat,r=a.isNumber,u=a.pick,h=a.Point,f=a.Series,m=a.seriesType,q=a.seriesTypes;m("waterfall","column",{dataLabels:{inside:!0}},{pointValKey:"y",translate:function(){var c=this.options,a=this.yAxis,g,l,b,d,p,f,k,
h,t,m,r=u(c.minPointLength,5),w=r/2,z=c.threshold,A=c.stacking,y;q.column.prototype.translate.apply(this);h=t=z;l=this.points;g=0;for(c=l.length;g<c;g++)b=l[g],k=this.processedYData[g],d=b.shapeArgs,p=A&&a.stacks[(this.negStacks&&k<z?"-":"")+this.stackKey],y=this.getStackIndicator(y,b.x,this.index),m=p?p[b.x].points[y.key]:[0,k],b.isSum?b.y=n(k):b.isIntermediateSum&&(b.y=n(k-t)),f=Math.max(h,h+b.y)+m[0],d.y=a.translate(f,0,1,0,1),b.isSum?(d.y=a.translate(m[1],0,1,0,1),d.height=Math.min(a.translate(m[0],
0,1,0,1),a.len)-d.y):b.isIntermediateSum?(d.y=a.translate(m[1],0,1,0,1),d.height=Math.min(a.translate(t,0,1,0,1),a.len)-d.y,t=m[1]):(d.height=0<k?a.translate(h,0,1,0,1)-d.y:a.translate(h,0,1,0,1)-a.translate(h-k,0,1,0,1),h+=p&&p[b.x]?p[b.x].total:k),0>d.height&&(d.y+=d.height,d.height*=-1),b.plotY=d.y=Math.round(d.y)-this.borderWidth%2/2,d.height=Math.max(Math.round(d.height),.001),b.yBottom=d.y+d.height,d.height<=r&&!b.isNull?(d.height=r,d.y-=w,b.plotY=d.y,b.minPointLengthOffset=0>b.y?-w:w):b.minPointLengthOffset=
0,d=b.plotY+(b.negative?d.height:0),this.chart.inverted?b.tooltipPos[0]=a.len-d:b.tooltipPos[1]=d},processData:function(c){var a=this.yData,g=this.options.data,l,b=a.length,d,p,v,k,h,t;p=d=v=k=this.options.threshold||0;for(t=0;t<b;t++)h=a[t],l=g&&g[t]?g[t]:{},"sum"===h||l.isSum?a[t]=n(p):"intermediateSum"===h||l.isIntermediateSum?a[t]=n(d):(p+=h,d+=h),v=Math.min(p,v),k=Math.max(p,k);f.prototype.processData.call(this,c);this.options.stacking||(this.dataMin=v,this.dataMax=k)},toYData:function(c){return c.isSum?
0===c.x?null:"sum":c.isIntermediateSum?0===c.x?null:"intermediateSum":c.y},getGraphPath:function(){return["M",0,0]},getCrispPath:function(){var c=this.data,a=c.length,g=this.graph.strokeWidth()+this.borderWidth,g=Math.round(g)%2/2,l=this.yAxis.reversed,b=[],d,f,h;for(h=1;h<a;h++){f=c[h].shapeArgs;d=c[h-1].shapeArgs;f=["M",d.x+d.width,d.y+c[h-1].minPointLengthOffset+g,"L",f.x,d.y+c[h-1].minPointLengthOffset+g];if(0>c[h-1].y&&!l||0<c[h-1].y&&l)f[2]+=d.height,f[5]+=d.height;b=b.concat(f)}return b},drawGraph:function(){f.prototype.drawGraph.call(this);
this.graph.attr({d:this.getCrispPath()})},setStackedPoints:function(){var c=this.options,a,g;f.prototype.setStackedPoints.apply(this,arguments);a=this.stackedYData?this.stackedYData.length:0;for(g=1;g<a;g++)c.data[g].isSum||c.data[g].isIntermediateSum||(this.stackedYData[g]+=this.stackedYData[g-1])},getExtremes:function(){if(this.options.stacking)return f.prototype.getExtremes.apply(this,arguments)}},{getClassName:function(){var c=h.prototype.getClassName.call(this);this.isSum?c+=" highcharts-sum":
this.isIntermediateSum&&(c+=" highcharts-intermediate-sum");return c},isValid:function(){return r(this.y,!0)||this.isSum||this.isIntermediateSum}})})(w);(function(a){var n=a.Series,r=a.seriesType,u=a.seriesTypes;r("polygon","scatter",{marker:{enabled:!1,states:{hover:{enabled:!1}}},stickyTracking:!1,tooltip:{followPointer:!0,pointFormat:""},trackByArea:!0},{type:"polygon",getGraphPath:function(){for(var a=n.prototype.getGraphPath.call(this),f=a.length+1;f--;)(f===a.length||"M"===a[f])&&0<f&&a.splice(f,
0,"z");return this.areaPath=a},drawGraph:function(){u.area.prototype.drawGraph.call(this)},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,drawTracker:n.prototype.drawTracker,setStackedPoints:a.noop})})(w);(function(a){var n=a.arrayMax,r=a.arrayMin,u=a.Axis,h=a.each,f=a.isNumber,m=a.noop,q=a.pick,c=a.pInt,e=a.Point,g=a.seriesType,l=a.seriesTypes;g("bubble","scatter",{dataLabels:{formatter:function(){return this.point.z},inside:!0,verticalAlign:"middle"},marker:{radius:null,states:{hover:{radiusPlus:0}},
symbol:"circle"},minSize:8,maxSize:"20%",softThreshold:!1,states:{hover:{halo:{size:5}}},tooltip:{pointFormat:"({point.x}, {point.y}), Size: {point.z}"},turboThreshold:0,zThreshold:0,zoneAxis:"z"},{pointArrayMap:["y","z"],parallelArrays:["x","y","z"],trackerGroups:["group","dataLabelsGroup"],specialGroup:"group",bubblePadding:!0,zoneAxis:"z",directTouch:!0,getRadii:function(b,a,c,e){var d,g,f,l=this.zData,h=[],p=this.options,v="width"!==p.sizeBy,m=p.zThreshold,n=a-b;g=0;for(d=l.length;g<d;g++)f=l[g],
p.sizeByAbsoluteValue&&null!==f&&(f=Math.abs(f-m),a=Math.max(a-m,Math.abs(b-m)),b=0),null===f?f=null:f<b?f=c/2-1:(f=0<n?(f-b)/n:.5,v&&0<=f&&(f=Math.sqrt(f)),f=Math.ceil(c+f*(e-c))/2),h.push(f);this.radii=h},animate:function(b){var a=this.options.animation;b||(h(this.points,function(b){var c=b.graphic,d;c&&c.width&&(d={x:c.x,y:c.y,width:c.width,height:c.height},c.attr({x:b.plotX,y:b.plotY,width:1,height:1}),c.animate(d,a))}),this.animate=null)},translate:function(){var b,c=this.data,e,g,k=this.radii;
l.scatter.prototype.translate.call(this);for(b=c.length;b--;)e=c[b],g=k?k[b]:0,f(g)&&g>=this.minPxSize/2?(e.marker=a.extend(e.marker,{radius:g,width:2*g,height:2*g}),e.dlBox={x:e.plotX-g,y:e.plotY-g,width:2*g,height:2*g}):e.shapeArgs=e.plotY=e.dlBox=void 0},alignDataLabel:l.column.prototype.alignDataLabel,buildKDTree:m,applyZones:m},{haloPath:function(c){return e.prototype.haloPath.call(this,0===c?0:(this.marker?this.marker.radius||0:0)+c)},ttBelow:!1});u.prototype.beforePadding=function(){var b=
this,a=this.len,e=this.chart,g=0,l=a,m=this.isXAxis,t=m?"xData":"yData",u=this.min,w={},x=Math.min(e.plotWidth,e.plotHeight),z=Number.MAX_VALUE,A=-Number.MAX_VALUE,y=this.max-u,B=a/y,D=[];h(this.series,function(a){var d=a.options;!a.bubblePadding||!a.visible&&e.options.chart.ignoreHiddenSeries||(b.allowZoomOutside=!0,D.push(a),m&&(h(["minSize","maxSize"],function(a){var b=d[a],e=/%$/.test(b),b=c(b);w[a]=e?x*b/100:b}),a.minPxSize=w.minSize,a.maxPxSize=Math.max(w.maxSize,w.minSize),a=a.zData,a.length&&
(z=q(d.zMin,Math.min(z,Math.max(r(a),!1===d.displayNegative?d.zThreshold:-Number.MAX_VALUE))),A=q(d.zMax,Math.max(A,n(a))))))});h(D,function(a){var c=a[t],d=c.length,e;m&&a.getRadii(z,A,a.minPxSize,a.maxPxSize);if(0<y)for(;d--;)f(c[d])&&b.dataMin<=c[d]&&c[d]<=b.dataMax&&(e=a.radii[d],g=Math.min((c[d]-u)*B-e,g),l=Math.max((c[d]-u)*B+e,l))});D.length&&0<y&&!this.isLog&&(l-=a,B*=(a+g-l)/a,h([["min","userMin",g],["max","userMax",l]],function(a){void 0===q(b.options[a[0]],b[a[1]])&&(b[a[0]]+=a[2]/B)}))}})(w);
(function(a){function n(a,e){var c=this.chart,f=this.options.animation,b=this.group,d=this.markerGroup,h=this.xAxis.center,m=c.plotLeft,k=c.plotTop;c.polar?c.renderer.isSVG&&(!0===f&&(f={}),e?(a={translateX:h[0]+m,translateY:h[1]+k,scaleX:.001,scaleY:.001},b.attr(a),d&&d.attr(a)):(a={translateX:m,translateY:k,scaleX:1,scaleY:1},b.animate(a,f),d&&d.animate(a,f),this.animate=null)):a.call(this,e)}var r=a.each,u=a.pick,h=a.seriesTypes,f=a.wrap,m=a.Series.prototype,q=a.Pointer.prototype;m.searchPointByAngle=
function(a){var c=this.chart,g=this.xAxis.pane.center;return this.searchKDTree({clientX:180+-180/Math.PI*Math.atan2(a.chartX-g[0]-c.plotLeft,a.chartY-g[1]-c.plotTop)})};m.getConnectors=function(a,e,g,f){var b,c,l,h,k,m,n,q;c=f?1:0;b=0<=e&&e<=a.length-1?e:0>e?a.length-1+e:0;e=0>b-1?a.length-(1+c):b-1;c=b+1>a.length-1?c:b+1;l=a[e];c=a[c];h=l.plotX;l=l.plotY;k=c.plotX;m=c.plotY;c=a[b].plotX;b=a[b].plotY;h=(1.5*c+h)/2.5;l=(1.5*b+l)/2.5;k=(1.5*c+k)/2.5;n=(1.5*b+m)/2.5;m=Math.sqrt(Math.pow(h-c,2)+Math.pow(l-
b,2));q=Math.sqrt(Math.pow(k-c,2)+Math.pow(n-b,2));h=Math.atan2(l-b,h-c);n=Math.PI/2+(h+Math.atan2(n-b,k-c))/2;Math.abs(h-n)>Math.PI/2&&(n-=Math.PI);h=c+Math.cos(n)*m;l=b+Math.sin(n)*m;k=c+Math.cos(Math.PI+n)*q;n=b+Math.sin(Math.PI+n)*q;c={rightContX:k,rightContY:n,leftContX:h,leftContY:l,plotX:c,plotY:b};g&&(c.prevPointCont=this.getConnectors(a,e,!1,f));return c};f(m,"buildKDTree",function(a){this.chart.polar&&(this.kdByAngle?this.searchPoint=this.searchPointByAngle:this.options.findNearestPointBy=
"xy");a.apply(this)});m.toXY=function(a){var c,g=this.chart,f=a.plotX;c=a.plotY;a.rectPlotX=f;a.rectPlotY=c;c=this.xAxis.postTranslate(a.plotX,this.yAxis.len-c);a.plotX=a.polarPlotX=c.x-g.plotLeft;a.plotY=a.polarPlotY=c.y-g.plotTop;this.kdByAngle?(g=(f/Math.PI*180+this.xAxis.pane.options.startAngle)%360,0>g&&(g+=360),a.clientX=g):a.clientX=a.plotX};h.spline&&(f(h.spline.prototype,"getPointSpline",function(a,e,g,f){this.chart.polar?f?(a=this.getConnectors(e,f,!0,this.connectEnds),a=["C",a.prevPointCont.rightContX,
a.prevPointCont.rightContY,a.leftContX,a.leftContY,a.plotX,a.plotY]):a=["M",g.plotX,g.plotY]:a=a.call(this,e,g,f);return a}),h.areasplinerange&&(h.areasplinerange.prototype.getPointSpline=h.spline.prototype.getPointSpline));f(m,"translate",function(a){var c=this.chart;a.call(this);if(c.polar&&(this.kdByAngle=c.tooltip&&c.tooltip.shared,!this.preventPostTranslate))for(a=this.points,c=a.length;c--;)this.toXY(a[c])});f(m,"getGraphPath",function(a,e){var c=this,f,b,d;if(this.chart.polar){e=e||this.points;
for(f=0;f<e.length;f++)if(!e[f].isNull){b=f;break}!1!==this.options.connectEnds&&void 0!==b&&(this.connectEnds=!0,e.splice(e.length,0,e[b]),d=!0);r(e,function(a){void 0===a.polarPlotY&&c.toXY(a)})}f=a.apply(this,[].slice.call(arguments,1));d&&e.pop();return f});f(m,"animate",n);h.column&&(h=h.column.prototype,h.polarArc=function(a,e,g,f){var b=this.xAxis.center,c=this.yAxis.len;return this.chart.renderer.symbols.arc(b[0],b[1],c-e,null,{start:g,end:f,innerR:c-u(a,c)})},f(h,"animate",n),f(h,"translate",
function(a){var c=this.xAxis,f=c.startAngleRad,h,b,d;this.preventPostTranslate=!0;a.call(this);if(c.isRadial)for(h=this.points,d=h.length;d--;)b=h[d],a=b.barX+f,b.shapeType="path",b.shapeArgs={d:this.polarArc(b.yBottom,b.plotY,a,a+b.pointWidth)},this.toXY(b),b.tooltipPos=[b.plotX,b.plotY],b.ttBelow=b.plotY>c.center[1]}),f(h,"alignDataLabel",function(a,e,f,h,b,d){this.chart.polar?(a=e.rectPlotX/Math.PI*180,null===h.align&&(h.align=20<a&&160>a?"left":200<a&&340>a?"right":"center"),null===h.verticalAlign&&
(h.verticalAlign=45>a||315<a?"bottom":135<a&&225>a?"top":"middle"),m.alignDataLabel.call(this,e,f,h,b,d)):a.call(this,e,f,h,b,d)}));f(q,"getCoordinates",function(a,e){var c=this.chart,f={xAxis:[],yAxis:[]};c.polar?r(c.axes,function(a){var b=a.isXAxis,g=a.center,h=e.chartX-g[0]-c.plotLeft,g=e.chartY-g[1]-c.plotTop;f[b?"xAxis":"yAxis"].push({axis:a,value:a.translate(b?Math.PI-Math.atan2(h,g):Math.sqrt(Math.pow(h,2)+Math.pow(g,2)),!0)})}):f=a.call(this,e);return f});f(a.Chart.prototype,"getAxes",function(c){this.pane||
(this.pane=[]);r(a.splat(this.options.pane),function(c){new a.Pane(c,this)},this);c.call(this)});f(a.Chart.prototype,"drawChartBox",function(a){a.call(this);r(this.pane,function(a){a.render()})});f(a.Chart.prototype,"get",function(c,e){return a.find(this.pane,function(a){return a.options.id===e})||c.call(this,e)})})(w)});
