/*
 Highcharts JS v7.0.1 (2018-12-19)

 (c) 2009-2018 Torstein Honsi

 License: www.highcharts.com/license
*/
(function(y){"object"===typeof module&&module.exports?module.exports=y:"function"===typeof define&&define.amd?define(function(){return y}):y("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(y){(function(a){function v(a,d){this.init(a,d)}var w=a.CenteredSeriesMixin,e=a.extend,m=a.merge,u=a.splat;e(v.prototype,{coll:"pane",init:function(a,d){this.chart=d;this.background=[];d.pane.push(this);this.setOptions(a)},setOptions:function(a){this.options=m(this.defaultOptions,this.chart.angular?
{background:{}}:void 0,a)},render:function(){var a=this.options,d=this.options.background,c=this.chart.renderer;this.group||(this.group=c.g("pane-group").attr({zIndex:a.zIndex||0}).add());this.updateCenter();if(d)for(d=u(d),a=Math.max(d.length,this.background.length||0),c=0;c<a;c++)d[c]&&this.axis?this.renderBackground(m(this.defaultBackgroundOptions,d[c]),c):this.background[c]&&(this.background[c]=this.background[c].destroy(),this.background.splice(c,1))},renderBackground:function(a,d){var c="animate",
n={"class":"highcharts-pane "+(a.className||"")};this.chart.styledMode||e(n,{fill:a.backgroundColor,stroke:a.borderColor,"stroke-width":a.borderWidth});this.background[d]||(this.background[d]=this.chart.renderer.path().add(this.group),c="attr");this.background[d][c]({d:this.axis.getPlotBandPath(a.from,a.to,a)}).attr(n)},defaultOptions:{center:["50%","50%"],size:"85%",startAngle:0},defaultBackgroundOptions:{shape:"circle",borderWidth:1,borderColor:"#cccccc",backgroundColor:{linearGradient:{x1:0,y1:0,
x2:0,y2:1},stops:[[0,"#ffffff"],[1,"#e6e6e6"]]},from:-Number.MAX_VALUE,innerRadius:0,to:Number.MAX_VALUE,outerRadius:"105%"},updateCenter:function(a){this.center=(a||this.axis||{}).center=w.getCenter.call(this)},update:function(a,d){m(!0,this.options,a);this.setOptions(this.options);this.render();this.chart.axes.forEach(function(c){c.pane===this&&(c.pane=null,c.update({},d))},this)}});a.Pane=v})(y);(function(a){var v=a.addEvent,w=a.Axis,e=a.extend,m=a.merge,u=a.noop,q=a.pick,d=a.pInt,c=a.Tick,n=a.wrap,
b=a.correctFloat,l,k,h=w.prototype,f=c.prototype;a.radialAxisExtended||(a.radialAxisExtended=!0,l={getOffset:u,redraw:function(){this.isDirty=!1},render:function(){this.isDirty=!1},setScale:u,setCategories:u,setTitle:u},k={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,style:{textOverflow:"none"}},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=m(this.defaultOptions,this.defaultRadialOptions,b);b.plotBands||(b.plotBands=[]);a.fireEvent(this,"afterSetOptions")},getOffset:function(){h.getOffset.call(this);this.chart.axisOffset[this.side]=0},
getLinePath:function(b,c){b=this.center;var g=this.chart,p=q(c,b[2]/2-this.offset);this.isCircular||void 0!==c?(c=this.chart.renderer.symbols.arc(this.left+b[0],this.top+b[1],p,p,{start:this.startAngleRad,end:this.endAngleRad,open:!0,innerR:0}),c.xBounds=[this.left+b[0]],c.yBounds=[this.top+b[1]-p]):(c=this.postTranslate(this.angleRad,p),c=["M",b[0]+g.plotLeft,b[1]+g.plotTop,"L",c.x,c.y]);return c},setAxisTranslation:function(){h.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===q(this.userMax,this.options.max)&&b(this.endAngleRad-this.startAngleRad)===b(2*Math.PI))this.max+=this.categories&&1||this.pointRange||this.closestPointRange||0},setAxisSize:function(){h.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]*q(this.sector,1)/2)},getPosition:function(b,c){return this.postTranslate(this.isCircular?this.translate(b):this.angleRad,q(this.isCircular?c:this.translate(b),this.center[2]/2)-this.offset)},postTranslate:function(b,c){var g=this.chart,p=this.center;b=this.startAngleRad+b;return{x:g.plotLeft+p[0]+Math.cos(b)*c,y:g.plotTop+p[1]+Math.sin(b)*c}},getPlotBandPath:function(b,c,g){var p=this.center,
n=this.startAngleRad,l=p[2]/2,a=[q(g.outerRadius,"100%"),g.innerRadius,q(g.thickness,10)],t=Math.min(this.offset,0),h=/%$/,k,f=this.isCircular;"polygon"===this.options.gridLineInterpolation?p=this.getPlotLinePath(b).concat(this.getPlotLinePath(c,!0)):(b=Math.max(b,this.min),c=Math.min(c,this.max),f||(a[0]=this.translate(b),a[1]=this.translate(c)),a=a.map(function(g){h.test(g)&&(g=d(g,10)*l/100);return g}),"circle"!==g.shape&&f?(b=n+this.translate(b),c=n+this.translate(c)):(b=-Math.PI/2,c=1.5*Math.PI,
k=!0),a[0]-=t,a[2]-=t,p=this.chart.renderer.symbols.arc(this.left+p[0],this.top+p[1],a[0],a[0],{start:Math.min(b,c),end:Math.max(b,c),innerR:q(a[1],a[0]-a[2]),open:k}));return p},getPlotLinePath:function(b,c){var g=this,p=g.center,n=g.chart,d=g.getPosition(b),a,l,t;g.isCircular?t=["M",p[0]+n.plotLeft,p[1]+n.plotTop,"L",d.x,d.y]:"circle"===g.options.gridLineInterpolation?(b=g.translate(b),t=g.getLinePath(0,b)):(n.xAxis.forEach(function(b){b.pane===g.pane&&(a=b)}),t=[],b=g.translate(b),p=a.tickPositions,
a.autoConnect&&(p=p.concat([p[0]])),c&&(p=[].concat(p).reverse()),p.forEach(function(g,c){l=a.getPosition(g,b);t.push(c?"L":"M",l.x,l.y)}));return t},getTitlePosition:function(){var b=this.center,c=this.chart,g=this.options.title;return{x:c.plotLeft+b[0]+(g.x||0),y:c.plotTop+b[1]-{high:.5,middle:.25,low:0}[g.align]*b[2]+(g.y||0)}}},v(w,"init",function(b){var c=this.chart,g=c.angular,p=c.polar,n=this.isXAxis,d=g&&n,a,h=c.options;b=b.userOptions.pane||0;b=this.pane=c.pane&&c.pane[b];if(g){if(e(this,
d?l:k),a=!n)this.defaultRadialOptions=this.defaultRadialGaugeOptions}else p&&(e(this,k),this.defaultRadialOptions=(a=n)?this.defaultRadialXOptions:m(this.defaultYAxisOptions,this.defaultRadialYOptions));g||p?(this.isRadial=!0,c.inverted=!1,h.chart.zoomType=null):this.isRadial=!1;b&&a&&(b.axis=this);this.isCircular=a}),v(w,"afterInit",function(){var b=this.chart,c=this.options,g=this.pane,p=g&&g.options;b.angular&&this.isXAxis||!g||!b.angular&&!b.polar||(this.angleRad=(c.angle||0)*Math.PI/180,this.startAngleRad=
(p.startAngle-90)*Math.PI/180,this.endAngleRad=(q(p.endAngle,p.startAngle+360)-90)*Math.PI/180,this.offset=c.offset||0)}),n(h,"autoLabelAlign",function(b){if(!this.isRadial)return b.apply(this,[].slice.call(arguments,1))}),v(c,"afterGetPosition",function(b){this.axis.getPosition&&e(b.pos,this.axis.getPosition(this.pos))}),v(c,"afterGetLabelPosition",function(b){var c=this.axis,g=this.label,p=c.options.labels,n=p.y,d,a=20,l=p.align,h=(c.translate(this.pos)+c.startAngleRad+Math.PI/2)/Math.PI*180%360;
c.isRadial&&(d=c.getPosition(this.pos,c.center[2]/2+q(p.distance,-25)),"auto"===p.rotation?g.attr({rotation:h}):null===n&&(n=c.chart.renderer.fontMetrics(g.styles&&g.styles.fontSize).b-g.getBBox().height/2),null===l&&(c.isCircular?(this.label.getBBox().width>c.len*c.tickInterval/(c.max-c.min)&&(a=0),l=h>a&&h<180-a?"left":h>180+a&&h<360-a?"right":"center"):l="center",g.attr({align:l})),b.pos.x=d.x+p.x,b.pos.y=d.y+n)}),n(f,"getMarkPath",function(b,c,g,p,n,d,a){var l=this.axis;l.isRadial?(b=l.getPosition(this.pos,
l.center[2]/2+p),c=["M",c,g,"L",b.x,b.y]):c=b.call(this,c,g,p,n,d,a);return c}))})(y);(function(a){var v=a.pick,w=a.extend,e=a.isArray,m=a.defined,u=a.seriesType,q=a.seriesTypes,d=a.Series.prototype,c=a.Point.prototype;u("arearange","area",{lineWidth:1,threshold:null,tooltip:{pointFormat:'\x3cspan style\x3d"color:{series.color}"\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}},{pointArrayMap:["low","high"],toYData:function(c){return[c.low,c.high]},pointValKey:"low",deferTranslatePolar:!0,highToXY:function(c){var b=this.chart,n=this.xAxis.postTranslate(c.rectPlotX,this.yAxis.len-c.plotHigh);c.plotHighX=n.x-b.plotLeft;c.plotHigh=n.y-b.plotTop;c.plotLowX=c.plotX},translate:function(){var c=this,b=c.yAxis,d=!!c.modifyValue;q.area.prototype.translate.apply(c);c.points.forEach(function(a){var n=a.low,l=a.high,k=a.plotY;null===l||null===n?(a.isNull=
!0,a.plotY=null):(a.plotLow=k,a.plotHigh=b.translate(d?c.modifyValue(l,a):l,0,1,0,1),d&&(a.yBottom=a.plotHigh))});this.chart.polar&&this.points.forEach(function(b){c.highToXY(b);b.tooltipPos=[(b.plotHighX+b.plotLowX)/2,(b.plotHigh+b.plotLow)/2]})},getGraphPath:function(c){var b=[],a=[],d,n=q.area.prototype.getGraphPath,f,r,t;t=this.options;var g=this.chart.polar&&!1!==t.connectEnds,p=t.connectNulls,x=t.step;c=c||this.points;for(d=c.length;d--;)f=c[d],f.isNull||g||p||c[d+1]&&!c[d+1].isNull||a.push({plotX:f.plotX,
plotY:f.plotY,doCurve:!1}),r={polarPlotY:f.polarPlotY,rectPlotX:f.rectPlotX,yBottom:f.yBottom,plotX:v(f.plotHighX,f.plotX),plotY:f.plotHigh,isNull:f.isNull},a.push(r),b.push(r),f.isNull||g||p||c[d-1]&&!c[d-1].isNull||a.push({plotX:f.plotX,plotY:f.plotY,doCurve:!1});c=n.call(this,c);x&&(!0===x&&(x="left"),t.step={left:"right",center:"center",right:"left"}[x]);b=n.call(this,b);a=n.call(this,a);t.step=x;t=[].concat(c,b);this.chart.polar||"M"!==a[0]||(a[0]="L");this.graphPath=t;this.areaPath=c.concat(a);
t.isArea=!0;t.xMap=c.xMap;this.areaPath.xMap=c.xMap;return t},drawDataLabels:function(){var c=this.points,b=c.length,a,k=[],h=this.options.dataLabels,f,r,t=this.chart.inverted,g,p;e(h)?1<h.length?(g=h[0],p=h[1]):(g=h[0],p={enabled:!1}):(g=w({},h),g.x=h.xHigh,g.y=h.yHigh,p=w({},h),p.x=h.xLow,p.y=h.yLow);if(g.enabled||this._hasPointLabels){for(a=b;a--;)if(f=c[a])r=g.inside?f.plotHigh<f.plotLow:f.plotHigh>f.plotLow,f.y=f.high,f._plotY=f.plotY,f.plotY=f.plotHigh,k[a]=f.dataLabel,f.dataLabel=f.dataLabelUpper,
f.below=r,t?g.align||(g.align=r?"right":"left"):g.verticalAlign||(g.verticalAlign=r?"top":"bottom");this.options.dataLabels=g;d.drawDataLabels&&d.drawDataLabels.apply(this,arguments);for(a=b;a--;)if(f=c[a])f.dataLabelUpper=f.dataLabel,f.dataLabel=k[a],delete f.dataLabels,f.y=f.low,f.plotY=f._plotY}if(p.enabled||this._hasPointLabels){for(a=b;a--;)if(f=c[a])r=p.inside?f.plotHigh<f.plotLow:f.plotHigh>f.plotLow,f.below=!r,t?p.align||(p.align=r?"left":"right"):p.verticalAlign||(p.verticalAlign=r?"bottom":
"top");this.options.dataLabels=p;d.drawDataLabels&&d.drawDataLabels.apply(this,arguments)}if(g.enabled)for(a=b;a--;)if(f=c[a])f.dataLabels=[f.dataLabel,f.dataLabelUpper].filter(function(b){return!!b});this.options.dataLabels=h},alignDataLabel:function(){q.column.prototype.alignDataLabel.apply(this,arguments)},drawPoints:function(){var c=this.points.length,b,l;d.drawPoints.apply(this,arguments);for(l=0;l<c;)b=this.points[l],b.origProps={plotY:b.plotY,plotX:b.plotX,isInside:b.isInside,negative:b.negative,
zone:b.zone,y:b.y},b.lowerGraphic=b.graphic,b.graphic=b.upperGraphic,b.plotY=b.plotHigh,m(b.plotHighX)&&(b.plotX=b.plotHighX),b.y=b.high,b.negative=b.high<(this.options.threshold||0),b.zone=this.zones.length&&b.getZone(),this.chart.polar||(b.isInside=b.isTopInside=void 0!==b.plotY&&0<=b.plotY&&b.plotY<=this.yAxis.len&&0<=b.plotX&&b.plotX<=this.xAxis.len),l++;d.drawPoints.apply(this,arguments);for(l=0;l<c;)b=this.points[l],b.upperGraphic=b.graphic,b.graphic=b.lowerGraphic,a.extend(b,b.origProps),delete b.origProps,
l++},setStackedPoints:a.noop},{setState:function(){var a=this.state,b=this.series,d=b.chart.polar;m(this.plotHigh)||(this.plotHigh=b.yAxis.toPixels(this.high,!0));m(this.plotLow)||(this.plotLow=this.plotY=b.yAxis.toPixels(this.low,!0));b.stateMarkerGraphic&&(b.lowerStateMarkerGraphic=b.stateMarkerGraphic,b.stateMarkerGraphic=b.upperStateMarkerGraphic);this.graphic=this.upperGraphic;this.plotY=this.plotHigh;d&&(this.plotX=this.plotHighX);c.setState.apply(this,arguments);this.state=a;this.plotY=this.plotLow;
this.graphic=this.lowerGraphic;d&&(this.plotX=this.plotLowX);b.stateMarkerGraphic&&(b.upperStateMarkerGraphic=b.stateMarkerGraphic,b.stateMarkerGraphic=b.lowerStateMarkerGraphic,b.lowerStateMarkerGraphic=void 0);c.setState.apply(this,arguments)},haloPath:function(){var a=this.series.chart.polar,b=[];this.plotY=this.plotLow;a&&(this.plotX=this.plotLowX);this.isInside&&(b=c.haloPath.apply(this,arguments));this.plotY=this.plotHigh;a&&(this.plotX=this.plotHighX);this.isTopInside&&(b=b.concat(c.haloPath.apply(this,
arguments)));return b},destroyElements:function(){["lowerGraphic","upperGraphic"].forEach(function(c){this[c]&&(this[c]=this[c].destroy())},this);this.graphic=null;return c.destroyElements.apply(this,arguments)}})})(y);(function(a){var v=a.seriesType;v("areasplinerange","arearange",null,{getPointSpline:a.seriesTypes.spline.prototype.getPointSpline})})(y);(function(a){var v=a.defaultPlotOptions,w=a.merge,e=a.noop,m=a.pick,u=a.seriesType,q=a.seriesTypes.column.prototype;u("columnrange","arearange",
w(v.column,v.arearange,{pointRange:null,marker:null,states:{hover:{halo:!1}}}),{translate:function(){var a=this,c=a.yAxis,n=a.xAxis,b=n.startAngleRad,l,k=a.chart,h=a.xAxis.isRadial,f=Math.max(k.chartWidth,k.chartHeight)+999,r;q.translate.apply(a);a.points.forEach(function(d){var g=d.shapeArgs,p=a.options.minPointLength,x,t;d.plotHigh=r=Math.min(Math.max(-f,c.translate(d.high,0,1,0,1)),f);d.plotLow=Math.min(Math.max(-f,d.plotY),f);t=r;x=m(d.rectPlotY,d.plotY)-r;Math.abs(x)<p?(p-=x,x+=p,t-=p/2):0>x&&
(x*=-1,t-=x);h?(l=d.barX+b,d.shapeType="path",d.shapeArgs={d:a.polarArc(t+x,t,l,l+d.pointWidth)}):(g.height=x,g.y=t,d.tooltipPos=k.inverted?[c.len+c.pos-k.plotLeft-t-x/2,n.len+n.pos-k.plotTop-g.x-g.width/2,x]:[n.left-k.plotLeft+g.x+g.width/2,c.pos-k.plotTop+t+x/2,x])})},directTouch:!0,trackerGroups:["group","dataLabelsGroup"],drawGraph:e,getSymbol:e,crispCol:function(){return q.crispCol.apply(this,arguments)},drawPoints:function(){return q.drawPoints.apply(this,arguments)},drawTracker:function(){return q.drawTracker.apply(this,
arguments)},getColumnMetrics:function(){return q.getColumnMetrics.apply(this,arguments)},pointAttribs:function(){return q.pointAttribs.apply(this,arguments)},animate:function(){return q.animate.apply(this,arguments)},polarArc:function(){return q.polarArc.apply(this,arguments)},translate3dPoints:function(){return q.translate3dPoints.apply(this,arguments)},translate3dShapes:function(){return q.translate3dShapes.apply(this,arguments)}},{setState:q.pointClass.prototype.setState})})(y);(function(a){var v=
a.pick,w=a.seriesType,e=a.seriesTypes.column.prototype;w("columnpyramid","column",{},{translate:function(){var a=this,u=a.chart,q=a.options,d=a.dense=2>a.closestPointRange*a.xAxis.transA,d=a.borderWidth=v(q.borderWidth,d?0:1),c=a.yAxis,n=q.threshold,b=a.translatedThreshold=c.getThreshold(n),l=v(q.minPointLength,5),k=a.getColumnMetrics(),h=k.width,f=a.barW=Math.max(h,1+2*d),r=a.pointXOffset=k.offset;u.inverted&&(b-=.5);q.pointPadding&&(f=Math.ceil(f));e.translate.apply(a);a.points.forEach(function(d){var g=
v(d.yBottom,b),p=999+Math.abs(g),k=Math.min(Math.max(-p,d.plotY),c.len+p),p=d.plotX+r,t=f/2,e=Math.min(k,g),g=Math.max(k,g)-e,m,z,A,w,C,D;d.barX=p;d.pointWidth=h;d.tooltipPos=u.inverted?[c.len+c.pos-u.plotLeft-k,a.xAxis.len-p-t,g]:[p+t,k+c.pos-u.plotTop,g];k=n+(d.total||d.y);"percent"===q.stacking&&(k=n+(0>d.y)?-100:100);k=c.toPixels(k,!0);m=u.plotHeight-k-(u.plotHeight-b);z=t*(e-k)/m;A=t*(e+g-k)/m;m=p-z+t;z=p+z+t;w=p+A+t;A=p-A+t;C=e-l;D=e+g;0>d.y&&(C=e,D=e+g+l);u.inverted&&(w=u.plotWidth-e,m=k-(u.plotWidth-
b),z=t*(k-w)/m,A=t*(k-(w-g))/m,m=p+t+z,z=m-2*z,w=p-A+t,A=p+A+t,C=e,D=e+g-l,0>d.y&&(D=e+g+l));d.shapeType="path";d.shapeArgs={x:m,y:C,width:z-m,height:g,d:["M",m,C,"L",z,C,w,D,A,D,"Z"]}})}})})(y);(function(a){var v=a.isNumber,w=a.merge,e=a.pick,m=a.pInt,u=a.Series,q=a.seriesType,d=a.TrackerMixin;q("gauge","line",{dataLabels:{enabled:!0,defer:!1,y:15,borderRadius:3,crop:!1,verticalAlign:"top",zIndex:2,borderWidth:1,borderColor:"#cccccc"},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,b=c.center;this.generatePoints();this.points.forEach(function(d){var n=w(a.dial,d.dial),h=m(e(n.radius,80))*b[2]/200,f=m(e(n.baseLength,70))*h/100,l=m(e(n.rearLength,10))*h/100,t=n.baseWidth||3,g=n.topWidth||1,p=a.overshoot,x=c.startAngleRad+c.translate(d.y,null,null,null,!0);v(p)?(p=p/180*Math.PI,x=Math.max(c.startAngleRad-p,Math.min(c.endAngleRad+
p,x))):!1===a.wrap&&(x=Math.max(c.startAngleRad,Math.min(c.endAngleRad,x)));x=180*x/Math.PI;d.shapeType="path";d.shapeArgs={d:n.path||["M",-l,-t/2,"L",f,-t/2,h,-g/2,h,g/2,f,t/2,-l,t/2,"z"],translateX:b[0],translateY:b[1],rotation:x};d.plotX=b[0];d.plotY=b[1]})},drawPoints:function(){var c=this,a=c.chart,b=c.yAxis.center,d=c.pivot,k=c.options,h=k.pivot,f=a.renderer;c.points.forEach(function(b){var d=b.graphic,g=b.shapeArgs,p=g.d,n=w(k.dial,b.dial);d?(d.animate(g),g.d=p):(b.graphic=f[b.shapeType](g).attr({rotation:g.rotation,
zIndex:1}).addClass("highcharts-dial").add(c.group),a.styledMode||b.graphic.attr({stroke:n.borderColor||"none","stroke-width":n.borderWidth||0,fill:n.backgroundColor||"#000000"}))});d?d.animate({translateX:b[0],translateY:b[1]}):(c.pivot=f.circle(0,0,e(h.radius,5)).attr({zIndex:2}).addClass("highcharts-pivot").translate(b[0],b[1]).add(c.group),a.styledMode||c.pivot.attr({"stroke-width":h.borderWidth||0,stroke:h.borderColor||"#cccccc",fill:h.backgroundColor||"#000000"}))},animate:function(c){var a=
this;c||(a.points.forEach(function(b){var c=b.graphic;c&&(c.attr({rotation:180*a.yAxis.startAngleRad/Math.PI}),c.animate({rotation:b.shapeArgs.rotation},a.options.animation))}),a.animate=null)},render:function(){this.group=this.plotGroup("group","series",this.visible?"visible":"hidden",this.options.zIndex,this.chart.seriesGroup);u.prototype.render.call(this);this.group.clip(this.chart.clipRect)},setData:function(c,a){u.prototype.setData.call(this,c,!1);this.processData();this.generatePoints();e(a,
!0)&&this.chart.redraw()},drawTracker:d&&d.drawTrackerPoint},{setState:function(c){this.state=c}})})(y);(function(a){var v=a.noop,w=a.pick,e=a.seriesType,m=a.seriesTypes;e("boxplot","column",{threshold:null,tooltip:{pointFormat:'\x3cspan style\x3d"color:{point.color}"\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%",fillColor:"#ffffff",lineWidth:1,medianWidth:2,whiskerWidth:2},{pointArrayMap:["low","q1","median","q3","high"],toYData:function(a){return[a.low,a.q1,a.median,a.q3,a.high]},pointValKey:"high",pointAttribs:function(){return{}},drawDataLabels:v,translate:function(){var a=this.yAxis,e=this.pointArrayMap;m.column.prototype.translate.apply(this);this.points.forEach(function(d){e.forEach(function(c){null!==d[c]&&(d[c+"Plot"]=a.translate(d[c],0,1,0,1))})})},drawPoints:function(){var a=
this,e=a.options,d=a.chart,c=d.renderer,n,b,l,k,h,f,m=0,t,g,p,x,E=!1!==a.doQuartiles,F,B=a.options.whiskerLength;a.points.forEach(function(r){var q=r.graphic,u=q?"animate":"attr",z=r.shapeArgs,v={},H={},J={},y={},G=r.color||a.color;void 0!==r.plotY&&(t=z.width,g=Math.floor(z.x),p=g+t,x=Math.round(t/2),n=Math.floor(E?r.q1Plot:r.lowPlot),b=Math.floor(E?r.q3Plot:r.lowPlot),l=Math.floor(r.highPlot),k=Math.floor(r.lowPlot),q||(r.graphic=q=c.g("point").add(a.group),r.stem=c.path().addClass("highcharts-boxplot-stem").add(q),
B&&(r.whiskers=c.path().addClass("highcharts-boxplot-whisker").add(q)),E&&(r.box=c.path(void 0).addClass("highcharts-boxplot-box").add(q)),r.medianShape=c.path(void 0).addClass("highcharts-boxplot-median").add(q)),d.styledMode||(H.stroke=r.stemColor||e.stemColor||G,H["stroke-width"]=w(r.stemWidth,e.stemWidth,e.lineWidth),H.dashstyle=r.stemDashStyle||e.stemDashStyle,r.stem.attr(H),B&&(J.stroke=r.whiskerColor||e.whiskerColor||G,J["stroke-width"]=w(r.whiskerWidth,e.whiskerWidth,e.lineWidth),r.whiskers.attr(J)),
E&&(v.fill=r.fillColor||e.fillColor||G,v.stroke=e.lineColor||G,v["stroke-width"]=e.lineWidth||0,r.box.attr(v)),y.stroke=r.medianColor||e.medianColor||G,y["stroke-width"]=w(r.medianWidth,e.medianWidth,e.lineWidth),r.medianShape.attr(y)),f=r.stem.strokeWidth()%2/2,m=g+x+f,r.stem[u]({d:["M",m,b,"L",m,l,"M",m,n,"L",m,k]}),E&&(f=r.box.strokeWidth()%2/2,n=Math.floor(n)+f,b=Math.floor(b)+f,g+=f,p+=f,r.box[u]({d:["M",g,b,"L",g,n,"L",p,n,"L",p,b,"L",g,b,"z"]})),B&&(f=r.whiskers.strokeWidth()%2/2,l+=f,k+=f,
F=/%$/.test(B)?x*parseFloat(B)/100:B/2,r.whiskers[u]({d:["M",m-F,l,"L",m+F,l,"M",m-F,k,"L",m+F,k]})),h=Math.round(r.medianPlot),f=r.medianShape.strokeWidth()%2/2,h+=f,r.medianShape[u]({d:["M",g,h,"L",p,h]}))})},setStackedPoints:v})})(y);(function(a){var v=a.noop,w=a.seriesType,e=a.seriesTypes;w("errorbar","boxplot",{color:"#000000",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:e.arearange?function(){var a=this.pointValKey;e.arearange.prototype.drawDataLabels.call(this);this.data.forEach(function(e){e.y=e[a]})}:v,getColumnMetrics:function(){return this.linkedParent&&this.linkedParent.columnMetrics||e.column.prototype.getColumnMetrics.call(this)}})})(y);(function(a){var v=a.correctFloat,w=a.isNumber,e=a.pick,m=a.Point,
u=a.Series,q=a.seriesType,d=a.seriesTypes;q("waterfall","column",{dataLabels:{inside:!0},lineWidth:1,lineColor:"#333333",dashStyle:"Dot",borderColor:"#333333",states:{hover:{lineWidthPlus:0}}},{pointValKey:"y",showLine:!0,generatePoints:function(){var c=this.options.threshold,a,b,l,k;d.column.prototype.generatePoints.apply(this);l=0;for(b=this.points.length;l<b;l++)a=this.points[l],k=this.processedYData[l],a.isSum?a.y=v(k):a.isIntermediateSum&&(a.y=v(k-c),c=k)},translate:function(){var c=this.options,
a=this.yAxis,b,l,k,h,f,r,t,g,p,m,q=e(c.minPointLength,5),u=q/2,B=c.threshold,z=c.stacking,v;d.column.prototype.translate.apply(this);g=p=B;l=this.points;b=0;for(c=l.length;b<c;b++)k=l[b],t=this.processedYData[b],h=k.shapeArgs,f=z&&a.stacks[(this.negStacks&&t<B?"-":"")+this.stackKey],v=this.getStackIndicator(v,k.x,this.index),m=e(f&&f[k.x].points[v.key],[0,t]),r=Math.max(g,g+k.y)+m[0],h.y=a.translate(r,0,1,0,1),k.isSum?(h.y=a.translate(m[1],0,1,0,1),h.height=Math.min(a.translate(m[0],0,1,0,1),a.len)-
h.y):k.isIntermediateSum?(h.y=a.translate(m[1],0,1,0,1),h.height=Math.min(a.translate(p,0,1,0,1),a.len)-h.y,p=m[1]):(h.height=0<t?a.translate(g,0,1,0,1)-h.y:a.translate(g,0,1,0,1)-a.translate(g-t,0,1,0,1),g+=f&&f[k.x]?f[k.x].total:t,k.below=g<e(B,0)),0>h.height&&(h.y+=h.height,h.height*=-1),k.plotY=h.y=Math.round(h.y)-this.borderWidth%2/2,h.height=Math.max(Math.round(h.height),.001),k.yBottom=h.y+h.height,h.height<=q&&!k.isNull?(h.height=q,h.y-=u,k.plotY=h.y,k.minPointLengthOffset=0>k.y?-u:u):(k.isNull&&
(h.width=0),k.minPointLengthOffset=0),h=k.plotY+(k.negative?h.height:0),this.chart.inverted?k.tooltipPos[0]=a.len-h:k.tooltipPos[1]=h},processData:function(a){var c=this.yData,b=this.options.data,d,k=c.length,h,f,r,e,g,p;f=h=r=e=this.options.threshold||0;for(p=0;p<k;p++)g=c[p],d=b&&b[p]?b[p]:{},"sum"===g||d.isSum?c[p]=v(f):"intermediateSum"===g||d.isIntermediateSum?c[p]=v(h):(f+=g,h+=g),r=Math.min(f,r),e=Math.max(f,e);u.prototype.processData.call(this,a);this.options.stacking||(this.dataMin=r,this.dataMax=
e)},toYData:function(a){return a.isSum?0===a.x?null:"sum":a.isIntermediateSum?0===a.x?null:"intermediateSum":a.y},pointAttribs:function(a,n){var b=this.options.upColor;b&&!a.options.color&&(a.color=0<a.y?b:null);a=d.column.prototype.pointAttribs.call(this,a,n);delete a.dashstyle;return a},getGraphPath:function(){return["M",0,0]},getCrispPath:function(){var a=this.data,d=a.length,b=this.graph.strokeWidth()+this.borderWidth,b=Math.round(b)%2/2,l=this.xAxis.reversed,k=this.yAxis.reversed,h=[],f,r,e;
for(e=1;e<d;e++){r=a[e].shapeArgs;f=a[e-1].shapeArgs;r=["M",f.x+(l?0:f.width),f.y+a[e-1].minPointLengthOffset+b,"L",r.x+(l?f.width:0),f.y+a[e-1].minPointLengthOffset+b];if(0>a[e-1].y&&!k||0<a[e-1].y&&k)r[2]+=f.height,r[5]+=f.height;h=h.concat(r)}return h},drawGraph:function(){u.prototype.drawGraph.call(this);this.graph.attr({d:this.getCrispPath()})},setStackedPoints:function(){var a=this.options,d,b;u.prototype.setStackedPoints.apply(this,arguments);d=this.stackedYData?this.stackedYData.length:0;
for(b=1;b<d;b++)a.data[b].isSum||a.data[b].isIntermediateSum||(this.stackedYData[b]+=this.stackedYData[b-1])},getExtremes:function(){if(this.options.stacking)return u.prototype.getExtremes.apply(this,arguments)}},{getClassName:function(){var a=m.prototype.getClassName.call(this);this.isSum?a+=" highcharts-sum":this.isIntermediateSum&&(a+=" highcharts-intermediate-sum");return a},isValid:function(){return w(this.y,!0)||this.isSum||this.isIntermediateSum}})})(y);(function(a){var v=a.Series,w=a.seriesType,
e=a.seriesTypes;w("polygon","scatter",{marker:{enabled:!1,states:{hover:{enabled:!1}}},stickyTracking:!1,tooltip:{followPointer:!0,pointFormat:""},trackByArea:!0},{type:"polygon",getGraphPath:function(){for(var a=v.prototype.getGraphPath.call(this),e=a.length+1;e--;)(e===a.length||"M"===a[e])&&0<e&&a.splice(e,0,"z");return this.areaPath=a},drawGraph:function(){this.options.fillColor=this.color;e.area.prototype.drawGraph.call(this)},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,drawTracker:v.prototype.drawTracker,
setStackedPoints:a.noop})})(y);(function(a){var v=a.Series,w=a.Legend,e=a.Chart,m=a.addEvent,u=a.wrap,q=a.color,d=a.isNumber,c=a.numberFormat,n=a.objectEach,b=a.merge,l=a.noop,k=a.pick,h=a.stableSort,f=a.setOptions,r=a.arrayMin,t=a.arrayMax;f({legend:{bubbleLegend:{borderColor:void 0,borderWidth:2,className:void 0,color:void 0,connectorClassName:void 0,connectorColor:void 0,connectorDistance:60,connectorWidth:1,enabled:!1,labels:{className:void 0,allowOverlap:!1,format:"",formatter:void 0,align:"right",
style:{fontSize:10,color:void 0},x:0,y:0},maxSize:60,minSize:10,legendIndex:0,ranges:{value:void 0,borderColor:void 0,color:void 0,connectorColor:void 0},sizeBy:"area",sizeByAbsoluteValue:!1,zIndex:1,zThreshold:0}}});a.BubbleLegend=function(a,b){this.init(a,b)};a.BubbleLegend.prototype={init:function(a,b){this.options=a;this.visible=!0;this.chart=b.chart;this.legend=b},setState:l,addToLegend:function(a){a.splice(this.options.legendIndex,0,this)},drawLegendSymbol:function(a){var b=this.chart,c=this.options,
g=k(a.options.itemDistance,20),f,e=c.ranges;f=c.connectorDistance;this.fontMetrics=b.renderer.fontMetrics(c.labels.style.fontSize.toString()+"px");e&&e.length&&d(e[0].value)?(h(e,function(a,b){return b.value-a.value}),this.ranges=e,this.setOptions(),this.render(),b=this.getMaxLabelSize(),e=this.ranges[0].radius,a=2*e,f=f-e+b.width,f=0<f?f:0,this.maxLabel=b,this.movementX="left"===c.labels.align?f:0,this.legendItemWidth=a+f+g,this.legendItemHeight=a+this.fontMetrics.h/2):a.options.bubbleLegend.autoRanges=
!0},setOptions:function(){var a=this,c=a.ranges,d=a.options,h=a.chart.series[d.seriesIndex],f=a.legend.baseline,e={"z-index":d.zIndex,"stroke-width":d.borderWidth},l={"z-index":d.zIndex,"stroke-width":d.connectorWidth},n=a.getLabelStyles(),r=h.options.marker.fillOpacity,m=a.chart.styledMode;c.forEach(function(g,p){m||(e.stroke=k(g.borderColor,d.borderColor,h.color),e.fill=k(g.color,d.color,1!==r?q(h.color).setOpacity(r).get("rgba"):h.color),l.stroke=k(g.connectorColor,d.connectorColor,h.color));c[p].radius=
a.getRangeRadius(g.value);c[p]=b(c[p],{center:c[0].radius-c[p].radius+f});m||b(!0,c[p],{bubbleStyle:b(!1,e),connectorStyle:b(!1,l),labelStyle:n})})},getLabelStyles:function(){var a=this.options,c={},d="left"===a.labels.align,h=this.legend.options.rtl;n(a.labels.style,function(a,b){"color"!==b&&"fontSize"!==b&&"z-index"!==b&&(c[b]=a)});return b(!1,c,{"font-size":a.labels.style.fontSize,fill:k(a.labels.style.color,"#000000"),"z-index":a.zIndex,align:h||d?"right":"left"})},getRangeRadius:function(a){var b=
this.options;return this.chart.series[this.options.seriesIndex].getRadius.call(this,b.ranges[b.ranges.length-1].value,b.ranges[0].value,b.minSize,b.maxSize,a)},render:function(){var a=this,b=a.chart.renderer,c=a.options.zThreshold;a.symbols||(a.symbols={connectors:[],bubbleItems:[],labels:[]});a.legendSymbol=b.g("bubble-legend");a.legendItem=b.g("bubble-legend-item");a.legendSymbol.translateX=0;a.legendSymbol.translateY=0;a.ranges.forEach(function(b){b.value>=c&&a.renderRange(b)});a.legendSymbol.add(a.legendItem);
a.legendItem.add(a.legendGroup);a.hideOverlappingLabels()},renderRange:function(a){var b=this.options,c=b.labels,d=this.chart.renderer,g=this.symbols,h=g.labels,f=a.center,e=Math.abs(a.radius),k=b.connectorDistance,l=c.align,r=c.style.fontSize,k=this.legend.options.rtl||"left"===l?-k:k,c=b.connectorWidth,n=this.ranges[0].radius,m=f-e-b.borderWidth/2+c/2,t,r=r/2-(this.fontMetrics.h-r)/2,q=d.styledMode;"center"===l&&(k=0,b.connectorDistance=0,a.labelStyle.align="center");l=m+b.labels.y;t=n+k+b.labels.x;
g.bubbleItems.push(d.circle(n,f+((m%1?1:.5)-(c%2?0:.5)),e).attr(q?{}:a.bubbleStyle).addClass((q?"highcharts-color-"+this.options.seriesIndex+" ":"")+"highcharts-bubble-legend-symbol "+(b.className||"")).add(this.legendSymbol));g.connectors.push(d.path(d.crispLine(["M",n,m,"L",n+k,m],b.connectorWidth)).attr(q?{}:a.connectorStyle).addClass((q?"highcharts-color-"+this.options.seriesIndex+" ":"")+"highcharts-bubble-legend-connectors "+(b.connectorClassName||"")).add(this.legendSymbol));a=d.text(this.formatLabel(a),
t,l+r).attr(q?{}:a.labelStyle).addClass("highcharts-bubble-legend-labels "+(b.labels.className||"")).add(this.legendSymbol);h.push(a);a.placed=!0;a.alignAttr={x:t,y:l+r}},getMaxLabelSize:function(){var a,b;this.symbols.labels.forEach(function(c){b=c.getBBox(!0);a=a?b.width>a.width?b:a:b});return a||{}},formatLabel:function(b){var d=this.options,g=d.labels.formatter;return(d=d.labels.format)?a.format(d,b):g?g.call(b):c(b.value,1)},hideOverlappingLabels:function(){var a=this.chart,b=this.symbols;!this.options.labels.allowOverlap&&
b&&(a.hideOverlappingLabels(b.labels),b.labels.forEach(function(a,c){a.newOpacity?a.newOpacity!==a.oldOpacity&&b.connectors[c].show():b.connectors[c].hide()}))},getRanges:function(){var a=this.legend.bubbleLegend,c,h=a.options.ranges,f,e=Number.MAX_VALUE,l=-Number.MAX_VALUE;a.chart.series.forEach(function(a){a.isBubble&&!a.ignoreSeries&&(f=a.zData.filter(d),f.length&&(e=k(a.options.zMin,Math.min(e,Math.max(r(f),!1===a.options.displayNegative?a.options.zThreshold:-Number.MAX_VALUE))),l=k(a.options.zMax,
Math.max(l,t(f)))))});c=e===l?[{value:l}]:[{value:e},{value:(e+l)/2},{value:l,autoRanges:!0}];h.length&&h[0].radius&&c.reverse();c.forEach(function(a,d){h&&h[d]&&(c[d]=b(!1,h[d],a))});return c},predictBubbleSizes:function(){var a=this.chart,b=this.fontMetrics,c=a.legend.options,d="horizontal"===c.layout,h=d?a.legend.lastLineHeight:0,f=a.plotSizeX,e=a.plotSizeY,l=a.series[this.options.seriesIndex],a=Math.ceil(l.minPxSize),k=Math.ceil(l.maxPxSize),l=l.options.maxSize,r=Math.min(e,f);if(c.floating||
!/%$/.test(l))b=k;else if(l=parseFloat(l),b=(r+h-b.h/2)*l/100/(l/100+1),d&&e-b>=f||!d&&f-b>=e)b=k;return[a,Math.ceil(b)]},updateRanges:function(a,b){var c=this.legend.options.bubbleLegend;c.minSize=a;c.maxSize=b;c.ranges=this.getRanges()},correctSizes:function(){var a=this.legend,b=this.chart.series[this.options.seriesIndex];1<Math.abs(Math.ceil(b.maxPxSize)-this.options.maxSize)&&(this.updateRanges(this.options.minSize,b.maxPxSize),a.render())}};m(a.Legend,"afterGetAllItems",function(b){var c=this.bubbleLegend,
d=this.options,g=d.bubbleLegend,h=this.chart.getVisibleBubbleSeriesIndex();c&&c.ranges&&c.ranges.length&&(g.ranges.length&&(g.autoRanges=g.ranges[0].autoRanges?!0:!1),this.destroyItem(c));0<=h&&d.enabled&&g.enabled&&(g.seriesIndex=h,this.bubbleLegend=new a.BubbleLegend(g,this),this.bubbleLegend.addToLegend(b.allItems))});e.prototype.getVisibleBubbleSeriesIndex=function(){for(var a=this.series,b=0;b<a.length;){if(a[b]&&a[b].isBubble&&a[b].visible&&a[b].zData.length)return b;b++}return-1};w.prototype.getLinesHeights=
function(){var a=this.allItems,b=[],c,d=a.length,h,f=0;for(h=0;h<d;h++)if(a[h].legendItemHeight&&(a[h].itemHeight=a[h].legendItemHeight),a[h]===a[d-1]||a[h+1]&&a[h]._legendItemPos[1]!==a[h+1]._legendItemPos[1]){b.push({height:0});c=b[b.length-1];for(f;f<=h;f++)a[f].itemHeight>c.height&&(c.height=a[f].itemHeight);c.step=h}return b};w.prototype.retranslateItems=function(a){var b,c,d,h=this.options.rtl,f=0;this.allItems.forEach(function(g,e){b=g.legendGroup.translateX;c=g._legendItemPos[1];if((d=g.movementX)||
h&&g.ranges)d=h?b-g.options.maxSize/2:b+d,g.legendGroup.attr({translateX:d});e>a[f].step&&f++;g.legendGroup.attr({translateY:Math.round(c+a[f].height/2)});g._legendItemPos[1]=c+a[f].height/2})};m(v,"legendItemClick",function(){var a=this.chart,b=this.visible,c=this.chart.legend;c&&c.bubbleLegend&&(this.visible=!b,this.ignoreSeries=b,a=0<=a.getVisibleBubbleSeriesIndex(),c.bubbleLegend.visible!==a&&(c.update({bubbleLegend:{enabled:a}}),c.bubbleLegend.visible=a),this.visible=b)});u(e.prototype,"drawChartBox",
function(a,b,c){var d=this.legend,h=0<=this.getVisibleBubbleSeriesIndex(),f;d&&d.options.enabled&&d.bubbleLegend&&d.options.bubbleLegend.autoRanges&&h?(f=d.bubbleLegend.options,h=d.bubbleLegend.predictBubbleSizes(),d.bubbleLegend.updateRanges(h[0],h[1]),f.placed||(d.group.placed=!1,d.allItems.forEach(function(a){a.legendGroup.translateY=null})),d.render(),this.getMargins(),this.axes.forEach(function(a){a.render();f.placed||(a.setScale(),a.updateNames(),n(a.ticks,function(a){a.isNew=!0;a.isNewLabel=
!0}))}),f.placed=!0,this.getMargins(),a.call(this,b,c),d.bubbleLegend.correctSizes(),d.retranslateItems(d.getLinesHeights())):(a.call(this,b,c),d&&d.options.enabled&&d.bubbleLegend&&(d.render(),d.retranslateItems(d.getLinesHeights())))})})(y);(function(a){var v=a.arrayMax,w=a.arrayMin,e=a.Axis,m=a.color,u=a.isNumber,q=a.noop,d=a.pick,c=a.pInt,n=a.Point,b=a.Series,l=a.seriesType,k=a.seriesTypes;l("bubble","scatter",{dataLabels:{formatter:function(){return this.point.z},inside:!0,verticalAlign:"middle"},
animationLimit:250,marker:{lineColor:null,lineWidth:1,fillOpacity:.5,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,isBubble:!0,pointAttribs:function(a,
c){var d=this.options.marker.fillOpacity;a=b.prototype.pointAttribs.call(this,a,c);1!==d&&(a.fill=m(a.fill).setOpacity(d).get("rgba"));return a},getRadii:function(a,b,c){var d,h=this.zData,f=c.minPxSize,e=c.maxPxSize,l=[],k;d=0;for(c=h.length;d<c;d++)k=h[d],l.push(this.getRadius(a,b,f,e,k));this.radii=l},getRadius:function(a,b,c,d,e){var h=this.options,f="width"!==h.sizeBy,g=h.zThreshold,l=b-a;h.sizeByAbsoluteValue&&null!==e&&(e=Math.abs(e-g),l=Math.max(b-g,Math.abs(a-g)),a=0);u(e)?e<a?c=c/2-1:(a=
0<l?(e-a)/l:.5,f&&0<=a&&(a=Math.sqrt(a)),c=Math.ceil(c+a*(d-c))/2):c=null;return c},animate:function(a){!a&&this.points.length<this.options.animationLimit&&(this.points.forEach(function(a){var b=a.graphic,c;b&&b.width&&(c={x:b.x,y:b.y,width:b.width,height:b.height},b.attr({x:a.plotX,y:a.plotY,width:1,height:1}),b.animate(c,this.options.animation))},this),this.animate=null)},translate:function(){var b,c=this.data,d,e,g=this.radii;k.scatter.prototype.translate.call(this);for(b=c.length;b--;)d=c[b],
e=g?g[b]:0,u(e)&&e>=this.minPxSize/2?(d.marker=a.extend(d.marker,{radius:e,width:2*e,height:2*e}),d.dlBox={x:d.plotX-e,y:d.plotY-e,width:2*e,height:2*e}):d.shapeArgs=d.plotY=d.dlBox=void 0},alignDataLabel:k.column.prototype.alignDataLabel,buildKDTree:q,applyZones:q},{haloPath:function(a){return n.prototype.haloPath.call(this,0===a?0:(this.marker?this.marker.radius||0:0)+a)},ttBelow:!1});e.prototype.beforePadding=function(){var b=this,e=this.len,l=this.chart,k=0,g=e,n=this.isXAxis,m=n?"xData":"yData",
q=this.min,y={},B=Math.min(l.plotWidth,l.plotHeight),z=Number.MAX_VALUE,A=-Number.MAX_VALUE,I=this.max-q,C=e/I,D=[];this.series.forEach(function(e){var f=e.options;!e.bubblePadding||!e.visible&&l.options.chart.ignoreHiddenSeries||(b.allowZoomOutside=!0,D.push(e),n&&(["minSize","maxSize"].forEach(function(a){var b=f[a],d=/%$/.test(b),b=c(b);y[a]=d?B*b/100:b}),e.minPxSize=y.minSize,e.maxPxSize=Math.max(y.maxSize,y.minSize),e=e.zData.filter(a.isNumber),e.length&&(z=d(f.zMin,Math.min(z,Math.max(w(e),
!1===f.displayNegative?f.zThreshold:-Number.MAX_VALUE))),A=d(f.zMax,Math.max(A,v(e))))))});D.forEach(function(a){var c=a[m],d=c.length,e;n&&a.getRadii(z,A,a);if(0<I)for(;d--;)u(c[d])&&b.dataMin<=c[d]&&c[d]<=b.dataMax&&(e=a.radii[d],k=Math.min((c[d]-q)*C-e,k),g=Math.max((c[d]-q)*C+e,g))});D.length&&0<I&&!this.isLog&&(g-=e,C*=(e+Math.max(0,k)-Math.min(g,e))/e,[["min","userMin",k],["max","userMax",g]].forEach(function(a){void 0===d(b.options[a[0]],b[a[1]])&&(b[a[0]]+=a[2]/C)}))}})(y);(function(a){var v=
a.seriesType,w=a.defined;v("packedbubble","bubble",{minSize:"10%",maxSize:"100%",sizeBy:"radius",zoneAxis:"y",tooltip:{pointFormat:"Value: {point.value}"}},{pointArrayMap:["value"],pointValKey:"value",isCartesian:!1,axisTypes:[],accumulateAllPoints:function(a){var e=a.chart,u=[],q,d;for(q=0;q<e.series.length;q++)if(a=e.series[q],a.visible||!e.options.chart.ignoreHiddenSeries)for(d=0;d<a.yData.length;d++)u.push([null,null,a.yData[d],a.index,d]);return u},translate:function(){var e,m=this.chart,u=this.data,
q=this.index,d,c,n;this.processedXData=this.xData;this.generatePoints();w(m.allDataPoints)||(m.allDataPoints=this.accumulateAllPoints(this),this.getPointRadius());e=this.placeBubbles(m.allDataPoints);for(n=0;n<e.length;n++)e[n][3]===q&&(d=u[e[n][4]],c=e[n][2],d.plotX=e[n][0]-m.plotLeft+m.diffX,d.plotY=e[n][1]-m.plotTop+m.diffY,d.marker=a.extend(d.marker,{radius:c,width:2*c,height:2*c}))},checkOverlap:function(a,m){var e=a[0]-m[0],q=a[1]-m[1];return-.001>Math.sqrt(e*e+q*q)-Math.abs(a[2]+m[2])},positionBubble:function(a,
m,u){var e=Math.sqrt,d=Math.asin,c=Math.acos,n=Math.pow,b=Math.abs,e=e(n(a[0]-m[0],2)+n(a[1]-m[1],2)),c=c((n(e,2)+n(u[2]+m[2],2)-n(u[2]+a[2],2))/(2*(u[2]+m[2])*e)),d=d(b(a[0]-m[0])/e);a=(0>a[1]-m[1]?0:Math.PI)+c+d*(0>(a[0]-m[0])*(a[1]-m[1])?1:-1);return[m[0]+(m[2]+u[2])*Math.sin(a),m[1]-(m[2]+u[2])*Math.cos(a),u[2],u[3],u[4]]},placeBubbles:function(a){var e=this.checkOverlap,u=this.positionBubble,q=[],d=1,c=0,n=0,b,l;b=a.sort(function(a,b){return b[2]-a[2]});if(!b.length)return[];if(2>b.length)return[0,
0,b[0][0],b[0][1],b[0][2]];q.push([[0,0,b[0][2],b[0][3],b[0][4]]]);q.push([[0,0-b[1][2]-b[0][2],b[1][2],b[1][3],b[1][4]]]);for(l=2;l<b.length;l++)b[l][2]=b[l][2]||1,a=u(q[d][c],q[d-1][n],b[l]),e(a,q[d][0])?(q.push([]),n=0,q[d+1].push(u(q[d][c],q[d][0],b[l])),d++,c=0):1<d&&q[d-1][n+1]&&e(a,q[d-1][n+1])?(n++,q[d].push(u(q[d][c],q[d-1][n],b[l])),c++):(c++,q[d].push(a));this.chart.stages=q;this.chart.rawPositions=[].concat.apply([],q);this.resizeRadius();return this.chart.rawPositions},resizeRadius:function(){var a=
this.chart,m=a.rawPositions,u=Math.min,q=Math.max,d=a.plotLeft,c=a.plotTop,n=a.plotHeight,b=a.plotWidth,l,k,h,f,r,t;l=h=Number.POSITIVE_INFINITY;k=f=Number.NEGATIVE_INFINITY;for(t=0;t<m.length;t++)r=m[t][2],l=u(l,m[t][0]-r),k=q(k,m[t][0]+r),h=u(h,m[t][1]-r),f=q(f,m[t][1]+r);t=[k-l,f-h];u=u.apply([],[(b-d)/t[0],(n-c)/t[1]]);if(1e-10<Math.abs(u-1)){for(t=0;t<m.length;t++)m[t][2]*=u;this.placeBubbles(m)}else a.diffY=n/2+c-h-(f-h)/2,a.diffX=b/2+d-l-(k-l)/2},getPointRadius:function(){var a=this,m=a.chart,
u=a.options,q=Math.min(m.plotWidth,m.plotHeight),d={},c=[],n=m.allDataPoints,b,l,k,h;["minSize","maxSize"].forEach(function(a){var b=parseInt(u[a],10),c=/%$/.test(b);d[a]=c?q*b/100:b});m.minRadius=b=d.minSize;m.maxRadius=l=d.maxSize;(n||[]).forEach(function(d,e){k=d[2];h=a.getRadius(b,l,b,l,k);0===k&&(h=null);n[e][2]=h;c.push(h)});this.radii=c},alignDataLabel:a.Series.prototype.alignDataLabel});a.addEvent(a.seriesTypes.packedbubble,"updatedData",function(){var a=this;this.chart.series.forEach(function(e){e.type===
a.type&&(e.isDirty=!0)})});a.addEvent(a.Chart,"beforeRedraw",function(){this.allDataPoints&&delete this.allDataPoints})})(y);(function(a){var v=a.pick,w=a.Series,e=a.seriesTypes,m=a.wrap,u=w.prototype,q=a.Pointer.prototype;a.polarExtended||(a.polarExtended=!0,u.searchPointByAngle=function(a){var c=this.chart,d=this.xAxis.pane.center;return this.searchKDTree({clientX:180+-180/Math.PI*Math.atan2(a.chartX-d[0]-c.plotLeft,a.chartY-d[1]-c.plotTop)})},u.getConnectors=function(a,c,e,b){var d,k,h,f,n,m,g,
p;k=b?1:0;d=0<=c&&c<=a.length-1?c:0>c?a.length-1+c:0;c=0>d-1?a.length-(1+k):d-1;k=d+1>a.length-1?k:d+1;h=a[c];k=a[k];f=h.plotX;h=h.plotY;n=k.plotX;m=k.plotY;k=a[d].plotX;d=a[d].plotY;f=(1.5*k+f)/2.5;h=(1.5*d+h)/2.5;n=(1.5*k+n)/2.5;g=(1.5*d+m)/2.5;m=Math.sqrt(Math.pow(f-k,2)+Math.pow(h-d,2));p=Math.sqrt(Math.pow(n-k,2)+Math.pow(g-d,2));f=Math.atan2(h-d,f-k);g=Math.PI/2+(f+Math.atan2(g-d,n-k))/2;Math.abs(f-g)>Math.PI/2&&(g-=Math.PI);f=k+Math.cos(g)*m;h=d+Math.sin(g)*m;n=k+Math.cos(Math.PI+g)*p;g=d+
Math.sin(Math.PI+g)*p;k={rightContX:n,rightContY:g,leftContX:f,leftContY:h,plotX:k,plotY:d};e&&(k.prevPointCont=this.getConnectors(a,c,!1,b));return k},m(u,"buildKDTree",function(a){this.chart.polar&&(this.kdByAngle?this.searchPoint=this.searchPointByAngle:this.options.findNearestPointBy="xy");a.apply(this)}),u.toXY=function(a){var c,d=this.chart,b=a.plotX;c=a.plotY;a.rectPlotX=b;a.rectPlotY=c;c=this.xAxis.postTranslate(a.plotX,this.yAxis.len-c);a.plotX=a.polarPlotX=c.x-d.plotLeft;a.plotY=a.polarPlotY=
c.y-d.plotTop;this.kdByAngle?(d=(b/Math.PI*180+this.xAxis.pane.options.startAngle)%360,0>d&&(d+=360),a.clientX=d):a.clientX=a.plotX},e.spline&&(m(e.spline.prototype,"getPointSpline",function(a,c,e,b){this.chart.polar?b?(a=this.getConnectors(c,b,!0,this.connectEnds),a=["C",a.prevPointCont.rightContX,a.prevPointCont.rightContY,a.leftContX,a.leftContY,a.plotX,a.plotY]):a=["M",e.plotX,e.plotY]:a=a.call(this,c,e,b);return a}),e.areasplinerange&&(e.areasplinerange.prototype.getPointSpline=e.spline.prototype.getPointSpline)),
a.addEvent(w,"afterTranslate",function(){var d=this.chart,c,e;if(d.polar){this.kdByAngle=d.tooltip&&d.tooltip.shared;if(!this.preventPostTranslate)for(c=this.points,e=c.length;e--;)this.toXY(c[e]);this.hasClipCircleSetter||(this.hasClipCircleSetter=!!a.addEvent(this,"afterRender",function(){var b;d.polar&&(b=this.yAxis.center,this.group.clip(d.renderer.clipCircle(b[0],b[1],b[2]/2)),this.setClip=a.noop)}))}},{order:2}),m(u,"getGraphPath",function(a,c){var d=this,b,e,k;if(this.chart.polar){c=c||this.points;
for(b=0;b<c.length;b++)if(!c[b].isNull){e=b;break}!1!==this.options.connectEnds&&void 0!==e&&(this.connectEnds=!0,c.splice(c.length,0,c[e]),k=!0);c.forEach(function(a){void 0===a.polarPlotY&&d.toXY(a)})}b=a.apply(this,[].slice.call(arguments,1));k&&c.pop();return b}),w=function(a,c){var d=this.chart,b=this.options.animation,e=this.group,k=this.markerGroup,h=this.xAxis.center,f=d.plotLeft,m=d.plotTop;d.polar?d.renderer.isSVG&&(!0===b&&(b={}),c?(a={translateX:h[0]+f,translateY:h[1]+m,scaleX:.001,scaleY:.001},
e.attr(a),k&&k.attr(a)):(a={translateX:f,translateY:m,scaleX:1,scaleY:1},e.animate(a,b),k&&k.animate(a,b),this.animate=null)):a.call(this,c)},m(u,"animate",w),e.column&&(e=e.column.prototype,e.polarArc=function(a,c,e,b){var d=this.xAxis.center,k=this.yAxis.len;return this.chart.renderer.symbols.arc(d[0],d[1],k-c,null,{start:e,end:b,innerR:k-v(a,k)})},m(e,"animate",w),m(e,"translate",function(a){var c=this.xAxis,d=c.startAngleRad,b,e,k;this.preventPostTranslate=!0;a.call(this);if(c.isRadial)for(b=
this.points,k=b.length;k--;)e=b[k],a=e.barX+d,e.shapeType="path",e.shapeArgs={d:this.polarArc(e.yBottom,e.plotY,a,a+e.pointWidth)},this.toXY(e),e.tooltipPos=[e.plotX,e.plotY],e.ttBelow=e.plotY>c.center[1]}),m(e,"alignDataLabel",function(a,c,e,b,l,k){this.chart.polar?(a=c.rectPlotX/Math.PI*180,null===b.align&&(b.align=20<a&&160>a?"left":200<a&&340>a?"right":"center"),null===b.verticalAlign&&(b.verticalAlign=45>a||315<a?"bottom":135<a&&225>a?"top":"middle"),u.alignDataLabel.call(this,c,e,b,l,k)):a.call(this,
c,e,b,l,k)})),m(q,"getCoordinates",function(a,c){var d=this.chart,b={xAxis:[],yAxis:[]};d.polar?d.axes.forEach(function(a){var e=a.isXAxis,h=a.center,f=c.chartX-h[0]-d.plotLeft,h=c.chartY-h[1]-d.plotTop;b[e?"xAxis":"yAxis"].push({axis:a,value:a.translate(e?Math.PI-Math.atan2(f,h):Math.sqrt(Math.pow(f,2)+Math.pow(h,2)),!0)})}):b=a.call(this,c);return b}),a.SVGRenderer.prototype.clipCircle=function(d,c,e){var b=a.uniqueKey(),l=this.createElement("clipPath").attr({id:b}).add(this.defs);d=this.circle(d,
c,e).add(l);d.id=b;d.clipPath=l;return d},a.addEvent(a.Chart,"getAxes",function(){this.pane||(this.pane=[]);a.splat(this.options.pane).forEach(function(d){new a.Pane(d,this)},this)}),a.addEvent(a.Chart,"afterDrawChartBox",function(){this.pane.forEach(function(a){a.render()})}),m(a.Chart.prototype,"get",function(d,c){return a.find(this.pane,function(a){return a.options.id===c})||d.call(this,c)}))})(y)});
//# sourceMappingURL=highcharts-more.js.map
