/*
 Highcharts JS v6.1.1 (2018-06-27)

 3D features for Highcharts JS

 @license: www.highcharts.com/license
*/
(function(B){"object"===typeof module&&module.exports?module.exports=B:B(Highcharts)})(function(B){(function(b){var z=b.deg2rad,y=b.pick;b.perspective3D=function(b,v,m){v=0<m&&m<Number.POSITIVE_INFINITY?m/(b.z+v.z+m):1;return{x:b.x*v,y:b.y*v}};b.perspective=function(r,v,m){var x=v.options.chart.options3d,l=m?v.inverted:!1,w={x:v.plotWidth/2,y:v.plotHeight/2,z:x.depth/2,vd:y(x.depth,1)*y(x.viewDistance,0)},t=v.scale3d||1,q=z*x.beta*(l?-1:1),x=z*x.alpha*(l?-1:1),h=Math.cos(x),a=Math.cos(-q),f=Math.sin(x),
g=Math.sin(-q);m||(w.x+=v.plotLeft,w.y+=v.plotTop);return b.map(r,function(k){var q;q=(l?k.y:k.x)-w.x;var d=(l?k.x:k.y)-w.y;k=(k.z||0)-w.z;q={x:a*q-g*k,y:-f*g*q+h*d-a*f*k,z:h*g*q+f*d+h*a*k};d=b.perspective3D(q,w,w.vd);d.x=d.x*t+w.x;d.y=d.y*t+w.y;d.z=q.z*t+w.z;return{x:l?d.y:d.x,y:l?d.x:d.y,z:d.z}})};b.pointCameraDistance=function(b,v){var m=v.options.chart.options3d,x=v.plotWidth/2;v=v.plotHeight/2;m=y(m.depth,1)*y(m.viewDistance,0)+m.depth;return Math.sqrt(Math.pow(x-b.plotX,2)+Math.pow(v-b.plotY,
2)+Math.pow(m-b.plotZ,2))};b.shapeArea=function(b){var v=0,m,x;for(m=0;m<b.length;m++)x=(m+1)%b.length,v+=b[m].x*b[x].y-b[x].x*b[m].y;return v/2};b.shapeArea3d=function(r,v,m){return b.shapeArea(b.perspective(r,v,m))}})(B);(function(b){function z(a,d,c,C,b,D,f,g){var A=[],u=D-b;return D>b&&D-b>Math.PI/2+.0001?(A=A.concat(z(a,d,c,C,b,b+Math.PI/2,f,g)),A=A.concat(z(a,d,c,C,b+Math.PI/2,D,f,g))):D<b&&b-D>Math.PI/2+.0001?(A=A.concat(z(a,d,c,C,b,b-Math.PI/2,f,g)),A=A.concat(z(a,d,c,C,b-Math.PI/2,D,f,g))):
["C",a+c*Math.cos(b)-c*e*u*Math.sin(b)+f,d+C*Math.sin(b)+C*e*u*Math.cos(b)+g,a+c*Math.cos(D)+c*e*u*Math.sin(D)+f,d+C*Math.sin(D)-C*e*u*Math.cos(D)+g,a+c*Math.cos(D)+f,d+C*Math.sin(D)+g]}var y=Math.cos,r=Math.PI,v=Math.sin,m=b.animObject,x=b.charts,l=b.color,w=b.defined,t=b.deg2rad,q=b.each,h=b.extend,a=b.inArray,f=b.map,g=b.merge,k=b.perspective,p=b.pick,d=b.SVGElement,c=b.SVGRenderer,n=b.wrap,e=4*(Math.sqrt(2)-1)/3/(r/2);n(c.prototype,"init",function(a){a.apply(this,[].slice.call(arguments,1));q([{name:"darker",
slope:.6},{name:"brighter",slope:1.4}],function(a){this.definition({tagName:"filter",id:"highcharts-"+a.name,children:[{tagName:"feComponentTransfer",children:[{tagName:"feFuncR",type:"linear",slope:a.slope},{tagName:"feFuncG",type:"linear",slope:a.slope},{tagName:"feFuncB",type:"linear",slope:a.slope}]}]})},this)});c.prototype.toLinePath=function(a,d){var c=[];q(a,function(a){c.push("L",a.x,a.y)});a.length&&(c[0]="M",d&&c.push("Z"));return c};c.prototype.toLineSegments=function(a){var d=[],c=!0;
q(a,function(a){d.push(c?"M":"L",a.x,a.y);c=!c});return d};c.prototype.face3d=function(a){var d=this,c=this.createElement("path");c.vertexes=[];c.insidePlotArea=!1;c.enabled=!0;n(c,"attr",function(a,c){if("object"===typeof c&&(w(c.enabled)||w(c.vertexes)||w(c.insidePlotArea))){this.enabled=p(c.enabled,this.enabled);this.vertexes=p(c.vertexes,this.vertexes);this.insidePlotArea=p(c.insidePlotArea,this.insidePlotArea);delete c.enabled;delete c.vertexes;delete c.insidePlotArea;var A=k(this.vertexes,x[d.chartIndex],
this.insidePlotArea),C=d.toLinePath(A,!0),A=b.shapeArea(A),A=this.enabled&&0<A?"visible":"hidden";c.d=C;c.visibility=A}return a.apply(this,[].slice.call(arguments,1))});n(c,"animate",function(a,c){if("object"===typeof c&&(w(c.enabled)||w(c.vertexes)||w(c.insidePlotArea))){this.enabled=p(c.enabled,this.enabled);this.vertexes=p(c.vertexes,this.vertexes);this.insidePlotArea=p(c.insidePlotArea,this.insidePlotArea);delete c.enabled;delete c.vertexes;delete c.insidePlotArea;var A=k(this.vertexes,x[d.chartIndex],
this.insidePlotArea),C=d.toLinePath(A,!0),A=b.shapeArea(A),A=this.enabled&&0<A?"visible":"hidden";c.d=C;this.attr("visibility",A)}return a.apply(this,[].slice.call(arguments,1))});return c.attr(a)};c.prototype.polyhedron=function(a){var c=this,d=this.g(),b=d.destroy;d.faces=[];d.destroy=function(){for(var a=0;a<d.faces.length;a++)d.faces[a].destroy();return b.call(this)};n(d,"attr",function(a,b,C,A,e){if("object"===typeof b&&w(b.faces)){for(;d.faces.length>b.faces.length;)d.faces.pop().destroy();
for(;d.faces.length<b.faces.length;)d.faces.push(c.face3d().add(d));for(var f=0;f<b.faces.length;f++)d.faces[f].attr(b.faces[f],null,A,e);delete b.faces}return a.apply(this,[].slice.call(arguments,1))});n(d,"animate",function(a,b,C,A){if(b&&b.faces){for(;d.faces.length>b.faces.length;)d.faces.pop().destroy();for(;d.faces.length<b.faces.length;)d.faces.push(c.face3d().add(d));for(var e=0;e<b.faces.length;e++)d.faces[e].animate(b.faces[e],C,A);delete b.faces}return a.apply(this,[].slice.call(arguments,
1))});return d.attr(a)};c.prototype.cuboid=function(a){var c=this.g(),b=c.destroy;a=this.cuboidPath(a);c.front=this.path(a[0]).attr({"class":"highcharts-3d-front"}).add(c);c.top=this.path(a[1]).attr({"class":"highcharts-3d-top"}).add(c);c.side=this.path(a[2]).attr({"class":"highcharts-3d-side"}).add(c);c.fillSetter=function(a){this.front.attr({fill:a});this.top.attr({fill:l(a).brighten(.1).get()});this.side.attr({fill:l(a).brighten(-.1).get()});this.color=a;c.fill=a;return this};c.opacitySetter=function(a){this.front.attr({opacity:a});
this.top.attr({opacity:a});this.side.attr({opacity:a});return this};c.attr=function(a,c,b,A){if("string"===typeof a&&"undefined"!==typeof c){var e=a;a={};a[e]=c}if(a.shapeArgs||w(a.x))a=this.renderer.cuboidPath(a.shapeArgs||a),this.front.attr({d:a[0]}),this.top.attr({d:a[1]}),this.side.attr({d:a[2]});else return d.prototype.attr.call(this,a,void 0,b,A);return this};c.animate=function(a,c,b){w(a.x)&&w(a.y)?(a=this.renderer.cuboidPath(a),this.front.animate({d:a[0]},c,b),this.top.animate({d:a[1]},c,
b),this.side.animate({d:a[2]},c,b),this.attr({zIndex:-a[3]})):a.opacity?(this.front.animate(a,c,b),this.top.animate(a,c,b),this.side.animate(a,c,b)):d.prototype.animate.call(this,a,c,b);return this};c.destroy=function(){this.front.destroy();this.top.destroy();this.side.destroy();return b.call(this)};c.attr({zIndex:-a[3]});return c};b.SVGRenderer.prototype.cuboidPath=function(a){function c(a){return l[a]}var d=a.x,e=a.y,g=a.z,q=a.height,h=a.width,u=a.depth,n=x[this.chartIndex],p,G,v=n.options.chart.options3d.alpha,
m=0,l=[{x:d,y:e,z:g},{x:d+h,y:e,z:g},{x:d+h,y:e+q,z:g},{x:d,y:e+q,z:g},{x:d,y:e+q,z:g+u},{x:d+h,y:e+q,z:g+u},{x:d+h,y:e,z:g+u},{x:d,y:e,z:g+u}],l=k(l,n,a.insidePlotArea);G=function(a,d){var e=[[],-1];a=f(a,c);d=f(d,c);0>b.shapeArea(a)?e=[a,0]:0>b.shapeArea(d)&&(e=[d,1]);return e};p=G([3,2,1,0],[7,6,5,4]);a=p[0];h=p[1];p=G([1,6,7,0],[4,5,2,3]);q=p[0];u=p[1];p=G([1,2,5,6],[0,7,4,3]);G=p[0];p=p[1];1===p?m+=1E4*(1E3-d):p||(m+=1E4*d);m+=10*(!u||0<=v&&180>=v||360>v&&357.5<v?n.plotHeight-e:10+e);1===h?m+=
100*g:h||(m+=100*(1E3-g));m=-Math.round(m);return[this.toLinePath(a,!0),this.toLinePath(q,!0),this.toLinePath(G,!0),m]};b.SVGRenderer.prototype.arc3d=function(c){function b(c){var d=!1,e={};c=g(c);for(var b in c)-1!==a(b,k)&&(e[b]=c[b],delete c[b],d=!0);return d?e:!1}var e=this.g(),f=e.renderer,k="x y r innerR start end".split(" ");c=g(c);c.alpha*=t;c.beta*=t;e.top=f.path();e.side1=f.path();e.side2=f.path();e.inn=f.path();e.out=f.path();e.onAdd=function(){var a=e.parentGroup,c=e.attr("class");e.top.add(e);
q(["out","inn","side1","side2"],function(d){e[d].attr({"class":c+" highcharts-3d-side"}).add(a)})};q(["addClass","removeClass"],function(a){e[a]=function(){var c=arguments;q(["top","out","inn","side1","side2"],function(d){e[d][a].apply(e[d],c)})}});e.setPaths=function(a){var c=e.renderer.arc3dPath(a),d=100*c.zTop;e.attribs=a;e.top.attr({d:c.top,zIndex:c.zTop});e.inn.attr({d:c.inn,zIndex:c.zInn});e.out.attr({d:c.out,zIndex:c.zOut});e.side1.attr({d:c.side1,zIndex:c.zSide1});e.side2.attr({d:c.side2,
zIndex:c.zSide2});e.zIndex=d;e.attr({zIndex:d});a.center&&(e.top.setRadialReference(a.center),delete a.center)};e.setPaths(c);e.fillSetter=function(a){var c=l(a).brighten(-.1).get();this.fill=a;this.side1.attr({fill:c});this.side2.attr({fill:c});this.inn.attr({fill:c});this.out.attr({fill:c});this.top.attr({fill:a});return this};q(["opacity","translateX","translateY","visibility"],function(a){e[a+"Setter"]=function(a,c){e[c]=a;q(["out","inn","side1","side2","top"],function(d){e[d].attr(c,a)})}});
n(e,"attr",function(a,c){var d;"object"===typeof c&&(d=b(c))&&(h(e.attribs,d),e.setPaths(e.attribs));return a.apply(this,[].slice.call(arguments,1))});n(e,"animate",function(a,c,d,f){var q,h=this.attribs,k;delete c.center;delete c.z;delete c.depth;delete c.alpha;delete c.beta;k=m(p(d,this.renderer.globalAnimation));k.duration&&(q=b(c),c.dummy=e.dummy++,q&&(k.step=function(a,c){function d(a){return h[a]+(p(q[a],h[a])-h[a])*c.pos}"dummy"===c.prop&&c.elem.setPaths(g(h,{x:d("x"),y:d("y"),r:d("r"),innerR:d("innerR"),
start:d("start"),end:d("end")}))}),d=k);return a.call(this,c,d,f)});e.dummy=0;e.destroy=function(){this.top.destroy();this.out.destroy();this.inn.destroy();this.side1.destroy();this.side2.destroy();d.prototype.destroy.call(this)};e.hide=function(){this.top.hide();this.out.hide();this.inn.hide();this.side1.hide();this.side2.hide()};e.show=function(){this.top.show();this.out.show();this.inn.show();this.side1.show();this.side2.show()};return e};c.prototype.arc3dPath=function(a){function c(a){a%=2*Math.PI;
a>Math.PI&&(a=2*Math.PI-a);return a}var d=a.x,e=a.y,b=a.start,f=a.end-.00001,g=a.r,q=a.innerR,h=a.depth,k=a.alpha,n=a.beta,p=Math.cos(b),u=Math.sin(b);a=Math.cos(f);var m=Math.sin(f),l=g*Math.cos(n),g=g*Math.cos(k),x=q*Math.cos(n),w=q*Math.cos(k),q=h*Math.sin(n),t=h*Math.sin(k),h=["M",d+l*p,e+g*u],h=h.concat(z(d,e,l,g,b,f,0,0)),h=h.concat(["L",d+x*a,e+w*m]),h=h.concat(z(d,e,x,w,f,b,0,0)),h=h.concat(["Z"]),B=0<n?Math.PI/2:0,n=0<k?0:Math.PI/2,B=b>-B?b:f>-B?-B:b,E=f<r-n?f:b<r-n?r-n:f,F=2*r-n,k=["M",
d+l*y(B),e+g*v(B)],k=k.concat(z(d,e,l,g,B,E,0,0));f>F&&b<F?(k=k.concat(["L",d+l*y(E)+q,e+g*v(E)+t]),k=k.concat(z(d,e,l,g,E,F,q,t)),k=k.concat(["L",d+l*y(F),e+g*v(F)]),k=k.concat(z(d,e,l,g,F,f,0,0)),k=k.concat(["L",d+l*y(f)+q,e+g*v(f)+t]),k=k.concat(z(d,e,l,g,f,F,q,t)),k=k.concat(["L",d+l*y(F),e+g*v(F)]),k=k.concat(z(d,e,l,g,F,E,0,0))):f>r-n&&b<r-n&&(k=k.concat(["L",d+l*Math.cos(E)+q,e+g*Math.sin(E)+t]),k=k.concat(z(d,e,l,g,E,f,q,t)),k=k.concat(["L",d+l*Math.cos(f),e+g*Math.sin(f)]),k=k.concat(z(d,
e,l,g,f,E,0,0)));k=k.concat(["L",d+l*Math.cos(E)+q,e+g*Math.sin(E)+t]);k=k.concat(z(d,e,l,g,E,B,q,t));k=k.concat(["Z"]);n=["M",d+x*p,e+w*u];n=n.concat(z(d,e,x,w,b,f,0,0));n=n.concat(["L",d+x*Math.cos(f)+q,e+w*Math.sin(f)+t]);n=n.concat(z(d,e,x,w,f,b,q,t));n=n.concat(["Z"]);p=["M",d+l*p,e+g*u,"L",d+l*p+q,e+g*u+t,"L",d+x*p+q,e+w*u+t,"L",d+x*p,e+w*u,"Z"];d=["M",d+l*a,e+g*m,"L",d+l*a+q,e+g*m+t,"L",d+x*a+q,e+w*m+t,"L",d+x*a,e+w*m,"Z"];m=Math.atan2(t,-q);e=Math.abs(f+m);a=Math.abs(b+m);b=Math.abs((b+f)/
2+m);e=c(e);a=c(a);b=c(b);b*=1E5;f=1E5*a;e*=1E5;return{top:h,zTop:1E5*Math.PI+1,out:k,zOut:Math.max(b,f,e),inn:n,zInn:Math.max(b,f,e),side1:p,zSide1:.99*e,side2:d,zSide2:.99*f}}})(B);(function(b){function z(b,h){var a=b.plotLeft,f=b.plotWidth+a,g=b.plotTop,k=b.plotHeight+g,q=a+b.plotWidth/2,d=g+b.plotHeight/2,c=Number.MAX_VALUE,n=-Number.MAX_VALUE,e=Number.MAX_VALUE,u=-Number.MAX_VALUE,l,m=1;l=[{x:a,y:g,z:0},{x:a,y:g,z:h}];v([0,1],function(a){l.push({x:f,y:l[a].y,z:l[a].z})});v([0,1,2,3],function(a){l.push({x:l[a].x,
y:k,z:l[a].z})});l=x(l,b,!1);v(l,function(a){c=Math.min(c,a.x);n=Math.max(n,a.x);e=Math.min(e,a.y);u=Math.max(u,a.y)});a>c&&(m=Math.min(m,1-Math.abs((a+q)/(c+q))%1));f<n&&(m=Math.min(m,(f-q)/(n-q)));g>e&&(m=0>e?Math.min(m,(g+d)/(-e+g+d)):Math.min(m,1-(g+d)/(e+d)%1));k<u&&(m=Math.min(m,Math.abs((k-d)/(u-d))));return m}var y=b.addEvent,r=b.Chart,v=b.each,m=b.merge,x=b.perspective,l=b.pick,w=b.wrap;r.prototype.is3d=function(){return this.options.chart.options3d&&this.options.chart.options3d.enabled};
r.prototype.propsRequireDirtyBox.push("chart.options3d");r.prototype.propsRequireUpdateSeries.push("chart.options3d");y(r,"afterInit",function(){var b=this.options;this.is3d()&&v(b.series,function(q){"scatter"===(q.type||b.chart.type||b.chart.defaultSeriesType)&&(q.type="scatter3d")})});y(r,"addSeries",function(b){this.is3d()&&"scatter"===b.options.type&&(b.options.type="scatter3d")});b.wrap(b.Chart.prototype,"isInsidePlot",function(b){return this.is3d()||b.apply(this,[].slice.call(arguments,1))});
var t=b.getOptions();m(!0,t,{chart:{options3d:{enabled:!1,alpha:0,beta:0,depth:100,fitToPlot:!0,viewDistance:25,axisLabelPosition:"default",frame:{visible:"default",size:1,bottom:{},top:{},left:{},right:{},back:{},front:{}}}}});y(r,"afterGetContainer",function(){this.renderer.definition({tagName:"style",textContent:".highcharts-3d-top{filter: url(#highcharts-brighter)}\n.highcharts-3d-side{filter: url(#highcharts-darker)}\n"})});w(r.prototype,"setClassName",function(b){b.apply(this,[].slice.call(arguments,
1));this.is3d()&&(this.container.className+=" highcharts-3d-chart")});y(b.Chart,"afterSetChartSize",function(){var b=this.options.chart.options3d;if(this.is3d()){var h=this.inverted,a=this.clipBox,f=this.margin;a[h?"y":"x"]=-(f[3]||0);a[h?"x":"y"]=-(f[0]||0);a[h?"height":"width"]=this.chartWidth+(f[3]||0)+(f[1]||0);a[h?"width":"height"]=this.chartHeight+(f[0]||0)+(f[2]||0);this.scale3d=1;!0===b.fitToPlot&&(this.scale3d=z(this,b.depth));this.frame3d=this.get3dFrame()}});y(r,"beforeRedraw",function(){this.is3d()&&
(this.isDirtyBox=!0)});y(r,"beforeRender",function(){this.is3d()&&(this.frame3d=this.get3dFrame())});w(r.prototype,"renderSeries",function(b){var h=this.series.length;if(this.is3d())for(;h--;)b=this.series[h],b.translate(),b.render();else b.call(this)});y(r,"afterDrawChartBox",function(){if(this.is3d()){var q=this.renderer,h=this.options.chart.options3d,a=this.get3dFrame(),f=this.plotLeft,g=this.plotLeft+this.plotWidth,k=this.plotTop,p=this.plotTop+this.plotHeight,h=h.depth,d=f-(a.left.visible?a.left.size:
0),c=g+(a.right.visible?a.right.size:0),n=k-(a.top.visible?a.top.size:0),e=p+(a.bottom.visible?a.bottom.size:0),u=0-(a.front.visible?a.front.size:0),l=h+(a.back.visible?a.back.size:0),m=this.hasRendered?"animate":"attr";this.frame3d=a;this.frameShapes||(this.frameShapes={bottom:q.polyhedron().add(),top:q.polyhedron().add(),left:q.polyhedron().add(),right:q.polyhedron().add(),back:q.polyhedron().add(),front:q.polyhedron().add()});this.frameShapes.bottom[m]({"class":"highcharts-3d-frame highcharts-3d-frame-bottom",
zIndex:a.bottom.frontFacing?-1E3:1E3,faces:[{fill:b.color(a.bottom.color).brighten(.1).get(),vertexes:[{x:d,y:e,z:u},{x:c,y:e,z:u},{x:c,y:e,z:l},{x:d,y:e,z:l}],enabled:a.bottom.visible},{fill:b.color(a.bottom.color).brighten(.1).get(),vertexes:[{x:f,y:p,z:h},{x:g,y:p,z:h},{x:g,y:p,z:0},{x:f,y:p,z:0}],enabled:a.bottom.visible},{fill:b.color(a.bottom.color).brighten(-.1).get(),vertexes:[{x:d,y:e,z:u},{x:d,y:e,z:l},{x:f,y:p,z:h},{x:f,y:p,z:0}],enabled:a.bottom.visible&&!a.left.visible},{fill:b.color(a.bottom.color).brighten(-.1).get(),
vertexes:[{x:c,y:e,z:l},{x:c,y:e,z:u},{x:g,y:p,z:0},{x:g,y:p,z:h}],enabled:a.bottom.visible&&!a.right.visible},{fill:b.color(a.bottom.color).get(),vertexes:[{x:c,y:e,z:u},{x:d,y:e,z:u},{x:f,y:p,z:0},{x:g,y:p,z:0}],enabled:a.bottom.visible&&!a.front.visible},{fill:b.color(a.bottom.color).get(),vertexes:[{x:d,y:e,z:l},{x:c,y:e,z:l},{x:g,y:p,z:h},{x:f,y:p,z:h}],enabled:a.bottom.visible&&!a.back.visible}]});this.frameShapes.top[m]({"class":"highcharts-3d-frame highcharts-3d-frame-top",zIndex:a.top.frontFacing?
-1E3:1E3,faces:[{fill:b.color(a.top.color).brighten(.1).get(),vertexes:[{x:d,y:n,z:l},{x:c,y:n,z:l},{x:c,y:n,z:u},{x:d,y:n,z:u}],enabled:a.top.visible},{fill:b.color(a.top.color).brighten(.1).get(),vertexes:[{x:f,y:k,z:0},{x:g,y:k,z:0},{x:g,y:k,z:h},{x:f,y:k,z:h}],enabled:a.top.visible},{fill:b.color(a.top.color).brighten(-.1).get(),vertexes:[{x:d,y:n,z:l},{x:d,y:n,z:u},{x:f,y:k,z:0},{x:f,y:k,z:h}],enabled:a.top.visible&&!a.left.visible},{fill:b.color(a.top.color).brighten(-.1).get(),vertexes:[{x:c,
y:n,z:u},{x:c,y:n,z:l},{x:g,y:k,z:h},{x:g,y:k,z:0}],enabled:a.top.visible&&!a.right.visible},{fill:b.color(a.top.color).get(),vertexes:[{x:d,y:n,z:u},{x:c,y:n,z:u},{x:g,y:k,z:0},{x:f,y:k,z:0}],enabled:a.top.visible&&!a.front.visible},{fill:b.color(a.top.color).get(),vertexes:[{x:c,y:n,z:l},{x:d,y:n,z:l},{x:f,y:k,z:h},{x:g,y:k,z:h}],enabled:a.top.visible&&!a.back.visible}]});this.frameShapes.left[m]({"class":"highcharts-3d-frame highcharts-3d-frame-left",zIndex:a.left.frontFacing?-1E3:1E3,faces:[{fill:b.color(a.left.color).brighten(.1).get(),
vertexes:[{x:d,y:e,z:u},{x:f,y:p,z:0},{x:f,y:p,z:h},{x:d,y:e,z:l}],enabled:a.left.visible&&!a.bottom.visible},{fill:b.color(a.left.color).brighten(.1).get(),vertexes:[{x:d,y:n,z:l},{x:f,y:k,z:h},{x:f,y:k,z:0},{x:d,y:n,z:u}],enabled:a.left.visible&&!a.top.visible},{fill:b.color(a.left.color).brighten(-.1).get(),vertexes:[{x:d,y:e,z:l},{x:d,y:n,z:l},{x:d,y:n,z:u},{x:d,y:e,z:u}],enabled:a.left.visible},{fill:b.color(a.left.color).brighten(-.1).get(),vertexes:[{x:f,y:k,z:h},{x:f,y:p,z:h},{x:f,y:p,z:0},
{x:f,y:k,z:0}],enabled:a.left.visible},{fill:b.color(a.left.color).get(),vertexes:[{x:d,y:e,z:u},{x:d,y:n,z:u},{x:f,y:k,z:0},{x:f,y:p,z:0}],enabled:a.left.visible&&!a.front.visible},{fill:b.color(a.left.color).get(),vertexes:[{x:d,y:n,z:l},{x:d,y:e,z:l},{x:f,y:p,z:h},{x:f,y:k,z:h}],enabled:a.left.visible&&!a.back.visible}]});this.frameShapes.right[m]({"class":"highcharts-3d-frame highcharts-3d-frame-right",zIndex:a.right.frontFacing?-1E3:1E3,faces:[{fill:b.color(a.right.color).brighten(.1).get(),
vertexes:[{x:c,y:e,z:l},{x:g,y:p,z:h},{x:g,y:p,z:0},{x:c,y:e,z:u}],enabled:a.right.visible&&!a.bottom.visible},{fill:b.color(a.right.color).brighten(.1).get(),vertexes:[{x:c,y:n,z:u},{x:g,y:k,z:0},{x:g,y:k,z:h},{x:c,y:n,z:l}],enabled:a.right.visible&&!a.top.visible},{fill:b.color(a.right.color).brighten(-.1).get(),vertexes:[{x:g,y:k,z:0},{x:g,y:p,z:0},{x:g,y:p,z:h},{x:g,y:k,z:h}],enabled:a.right.visible},{fill:b.color(a.right.color).brighten(-.1).get(),vertexes:[{x:c,y:e,z:u},{x:c,y:n,z:u},{x:c,y:n,
z:l},{x:c,y:e,z:l}],enabled:a.right.visible},{fill:b.color(a.right.color).get(),vertexes:[{x:c,y:n,z:u},{x:c,y:e,z:u},{x:g,y:p,z:0},{x:g,y:k,z:0}],enabled:a.right.visible&&!a.front.visible},{fill:b.color(a.right.color).get(),vertexes:[{x:c,y:e,z:l},{x:c,y:n,z:l},{x:g,y:k,z:h},{x:g,y:p,z:h}],enabled:a.right.visible&&!a.back.visible}]});this.frameShapes.back[m]({"class":"highcharts-3d-frame highcharts-3d-frame-back",zIndex:a.back.frontFacing?-1E3:1E3,faces:[{fill:b.color(a.back.color).brighten(.1).get(),
vertexes:[{x:c,y:e,z:l},{x:d,y:e,z:l},{x:f,y:p,z:h},{x:g,y:p,z:h}],enabled:a.back.visible&&!a.bottom.visible},{fill:b.color(a.back.color).brighten(.1).get(),vertexes:[{x:d,y:n,z:l},{x:c,y:n,z:l},{x:g,y:k,z:h},{x:f,y:k,z:h}],enabled:a.back.visible&&!a.top.visible},{fill:b.color(a.back.color).brighten(-.1).get(),vertexes:[{x:d,y:e,z:l},{x:d,y:n,z:l},{x:f,y:k,z:h},{x:f,y:p,z:h}],enabled:a.back.visible&&!a.left.visible},{fill:b.color(a.back.color).brighten(-.1).get(),vertexes:[{x:c,y:n,z:l},{x:c,y:e,
z:l},{x:g,y:p,z:h},{x:g,y:k,z:h}],enabled:a.back.visible&&!a.right.visible},{fill:b.color(a.back.color).get(),vertexes:[{x:f,y:k,z:h},{x:g,y:k,z:h},{x:g,y:p,z:h},{x:f,y:p,z:h}],enabled:a.back.visible},{fill:b.color(a.back.color).get(),vertexes:[{x:d,y:e,z:l},{x:c,y:e,z:l},{x:c,y:n,z:l},{x:d,y:n,z:l}],enabled:a.back.visible}]});this.frameShapes.front[m]({"class":"highcharts-3d-frame highcharts-3d-frame-front",zIndex:a.front.frontFacing?-1E3:1E3,faces:[{fill:b.color(a.front.color).brighten(.1).get(),
vertexes:[{x:d,y:e,z:u},{x:c,y:e,z:u},{x:g,y:p,z:0},{x:f,y:p,z:0}],enabled:a.front.visible&&!a.bottom.visible},{fill:b.color(a.front.color).brighten(.1).get(),vertexes:[{x:c,y:n,z:u},{x:d,y:n,z:u},{x:f,y:k,z:0},{x:g,y:k,z:0}],enabled:a.front.visible&&!a.top.visible},{fill:b.color(a.front.color).brighten(-.1).get(),vertexes:[{x:d,y:n,z:u},{x:d,y:e,z:u},{x:f,y:p,z:0},{x:f,y:k,z:0}],enabled:a.front.visible&&!a.left.visible},{fill:b.color(a.front.color).brighten(-.1).get(),vertexes:[{x:c,y:e,z:u},{x:c,
y:n,z:u},{x:g,y:k,z:0},{x:g,y:p,z:0}],enabled:a.front.visible&&!a.right.visible},{fill:b.color(a.front.color).get(),vertexes:[{x:g,y:k,z:0},{x:f,y:k,z:0},{x:f,y:p,z:0},{x:g,y:p,z:0}],enabled:a.front.visible},{fill:b.color(a.front.color).get(),vertexes:[{x:c,y:e,z:u},{x:d,y:e,z:u},{x:d,y:n,z:u},{x:c,y:n,z:u}],enabled:a.front.visible}]})}});r.prototype.retrieveStacks=function(b){var h=this.series,a={},f,g=1;v(this.series,function(k){f=l(k.options.stack,b?0:h.length-1-k.index);a[f]?a[f].series.push(k):
(a[f]={series:[k],position:g},g++)});a.totalStacks=g+1;return a};r.prototype.get3dFrame=function(){var q=this,h=q.options.chart.options3d,a=h.frame,f=q.plotLeft,g=q.plotLeft+q.plotWidth,k=q.plotTop,p=q.plotTop+q.plotHeight,d=h.depth,c=function(a){a=b.shapeArea3d(a,q);return.5<a?1:-.5>a?-1:0},n=c([{x:f,y:p,z:d},{x:g,y:p,z:d},{x:g,y:p,z:0},{x:f,y:p,z:0}]),e=c([{x:f,y:k,z:0},{x:g,y:k,z:0},{x:g,y:k,z:d},{x:f,y:k,z:d}]),u=c([{x:f,y:k,z:0},{x:f,y:k,z:d},{x:f,y:p,z:d},{x:f,y:p,z:0}]),m=c([{x:g,y:k,z:d},
{x:g,y:k,z:0},{x:g,y:p,z:0},{x:g,y:p,z:d}]),w=c([{x:f,y:p,z:0},{x:g,y:p,z:0},{x:g,y:k,z:0},{x:f,y:k,z:0}]),c=c([{x:f,y:k,z:d},{x:g,y:k,z:d},{x:g,y:p,z:d},{x:f,y:p,z:d}]),t=!1,r=!1,y=!1,z=!1;v([].concat(q.xAxis,q.yAxis,q.zAxis),function(a){a&&(a.horiz?a.opposite?r=!0:t=!0:a.opposite?z=!0:y=!0)});var B=function(a,c,d){for(var b=["size","color","visible"],e={},f=0;f<b.length;f++)for(var g=b[f],k=0;k<a.length;k++)if("object"===typeof a[k]){var n=a[k][g];if(void 0!==n&&null!==n){e[g]=n;break}}a=d;!0===
e.visible||!1===e.visible?a=e.visible:"auto"===e.visible&&(a=0<c);return{size:l(e.size,1),color:l(e.color,"none"),frontFacing:0<c,visible:a}},a={bottom:B([a.bottom,a.top,a],n,t),top:B([a.top,a.bottom,a],e,r),left:B([a.left,a.right,a.side,a],u,y),right:B([a.right,a.left,a.side,a],m,z),back:B([a.back,a.front,a],c,!0),front:B([a.front,a.back,a],w,!1)};"auto"===h.axisLabelPosition?(m=function(a,c){return a.visible!==c.visible||a.visible&&c.visible&&a.frontFacing!==c.frontFacing},h=[],m(a.left,a.front)&&
h.push({y:(k+p)/2,x:f,z:0,xDir:{x:1,y:0,z:0}}),m(a.left,a.back)&&h.push({y:(k+p)/2,x:f,z:d,xDir:{x:0,y:0,z:-1}}),m(a.right,a.front)&&h.push({y:(k+p)/2,x:g,z:0,xDir:{x:0,y:0,z:1}}),m(a.right,a.back)&&h.push({y:(k+p)/2,x:g,z:d,xDir:{x:-1,y:0,z:0}}),n=[],m(a.bottom,a.front)&&n.push({x:(f+g)/2,y:p,z:0,xDir:{x:1,y:0,z:0}}),m(a.bottom,a.back)&&n.push({x:(f+g)/2,y:p,z:d,xDir:{x:-1,y:0,z:0}}),e=[],m(a.top,a.front)&&e.push({x:(f+g)/2,y:k,z:0,xDir:{x:1,y:0,z:0}}),m(a.top,a.back)&&e.push({x:(f+g)/2,y:k,z:d,
xDir:{x:-1,y:0,z:0}}),u=[],m(a.bottom,a.left)&&u.push({z:(0+d)/2,y:p,x:f,xDir:{x:0,y:0,z:-1}}),m(a.bottom,a.right)&&u.push({z:(0+d)/2,y:p,x:g,xDir:{x:0,y:0,z:1}}),p=[],m(a.top,a.left)&&p.push({z:(0+d)/2,y:k,x:f,xDir:{x:0,y:0,z:-1}}),m(a.top,a.right)&&p.push({z:(0+d)/2,y:k,x:g,xDir:{x:0,y:0,z:1}}),f=function(a,c,d){if(0===a.length)return null;if(1===a.length)return a[0];for(var b=0,e=x(a,q,!1),f=1;f<e.length;f++)d*e[f][c]>d*e[b][c]?b=f:d*e[f][c]===d*e[b][c]&&e[f].z<e[b].z&&(b=f);return a[b]},a.axes=
{y:{left:f(h,"x",-1),right:f(h,"x",1)},x:{top:f(e,"y",-1),bottom:f(n,"y",1)},z:{top:f(p,"y",-1),bottom:f(u,"y",1)}}):a.axes={y:{left:{x:f,z:0,xDir:{x:1,y:0,z:0}},right:{x:g,z:0,xDir:{x:0,y:0,z:1}}},x:{top:{y:k,z:0,xDir:{x:1,y:0,z:0}},bottom:{y:p,z:0,xDir:{x:1,y:0,z:0}}},z:{top:{x:y?g:f,y:k,xDir:y?{x:0,y:0,z:1}:{x:0,y:0,z:-1}},bottom:{x:y?g:f,y:p,xDir:y?{x:0,y:0,z:1}:{x:0,y:0,z:-1}}}};return a};b.Fx.prototype.matrixSetter=function(){var l;if(1>this.pos&&(b.isArray(this.start)||b.isArray(this.end))){var h=
this.start||[1,0,0,1,0,0],a=this.end||[1,0,0,1,0,0];l=[];for(var f=0;6>f;f++)l.push(this.pos*a[f]+(1-this.pos)*h[f])}else l=this.end;this.elem.attr(this.prop,l,null,!0)}})(B);(function(b){function z(d,c,b){if(!d.chart.is3d()||"colorAxis"===d.coll)return c;var e=d.chart,g=x*e.options.chart.options3d.alpha,k=x*e.options.chart.options3d.beta,l=a(b&&d.options.title.position3d,d.options.labels.position3d);b=a(b&&d.options.title.skew3d,d.options.labels.skew3d);var n=e.frame3d,h=e.plotLeft,m=e.plotWidth+
h,p=e.plotTop,v=e.plotHeight+p,e=!1,t=0,w=0,r={x:0,y:1,z:0};c=d.swapZ({x:c.x,y:c.y,z:0});if(d.isZAxis)if(d.opposite){if(null===n.axes.z.top)return{};w=c.y-p;c.x=n.axes.z.top.x;c.y=n.axes.z.top.y;h=n.axes.z.top.xDir;e=!n.top.frontFacing}else{if(null===n.axes.z.bottom)return{};w=c.y-v;c.x=n.axes.z.bottom.x;c.y=n.axes.z.bottom.y;h=n.axes.z.bottom.xDir;e=!n.bottom.frontFacing}else if(d.horiz)if(d.opposite){if(null===n.axes.x.top)return{};w=c.y-p;c.y=n.axes.x.top.y;c.z=n.axes.x.top.z;h=n.axes.x.top.xDir;
e=!n.top.frontFacing}else{if(null===n.axes.x.bottom)return{};w=c.y-v;c.y=n.axes.x.bottom.y;c.z=n.axes.x.bottom.z;h=n.axes.x.bottom.xDir;e=!n.bottom.frontFacing}else if(d.opposite){if(null===n.axes.y.right)return{};t=c.x-m;c.x=n.axes.y.right.x;c.z=n.axes.y.right.z;h=n.axes.y.right.xDir;h={x:h.z,y:h.y,z:-h.x}}else{if(null===n.axes.y.left)return{};t=c.x-h;c.x=n.axes.y.left.x;c.z=n.axes.y.left.z;h=n.axes.y.left.xDir}"chart"!==l&&("flap"===l?d.horiz?(k=Math.sin(g),g=Math.cos(g),d.opposite&&(k=-k),e&&(k=
-k),r={x:h.z*k,y:g,z:-h.x*k}):h={x:Math.cos(k),y:0,z:Math.sin(k)}:"ortho"===l?d.horiz?(r=Math.cos(g),l=Math.sin(k)*r,g=-Math.sin(g),k=-r*Math.cos(k),r={x:h.y*k-h.z*g,y:h.z*l-h.x*k,z:h.x*g-h.y*l},g=1/Math.sqrt(r.x*r.x+r.y*r.y+r.z*r.z),e&&(g=-g),r={x:g*r.x,y:g*r.y,z:g*r.z}):h={x:Math.cos(k),y:0,z:Math.sin(k)}:d.horiz?r={x:Math.sin(k)*Math.sin(g),y:Math.cos(g),z:-Math.cos(k)*Math.sin(g)}:h={x:Math.cos(k),y:0,z:Math.sin(k)});c.x+=t*h.x+w*r.x;c.y+=t*h.y+w*r.y;c.z+=t*h.z+w*r.z;e=q([c],d.chart)[0];b&&(0>
f(q([c,{x:c.x+h.x,y:c.y+h.y,z:c.z+h.z},{x:c.x+r.x,y:c.y+r.y,z:c.z+r.z}],d.chart))&&(h={x:-h.x,y:-h.y,z:-h.z}),d=q([{x:c.x,y:c.y,z:c.z},{x:c.x+h.x,y:c.y+h.y,z:c.z+h.z},{x:c.x+r.x,y:c.y+r.y,z:c.z+r.z}],d.chart),e.matrix=[d[1].x-d[0].x,d[1].y-d[0].y,d[2].x-d[0].x,d[2].y-d[0].y,e.x,e.y],e.matrix[4]-=e.x*e.matrix[0]+e.y*e.matrix[2],e.matrix[5]-=e.x*e.matrix[1]+e.y*e.matrix[3]);return e}var y,r=b.addEvent,v=b.Axis,m=b.Chart,x=b.deg2rad,l=b.each,w=b.extend,t=b.merge,q=b.perspective,h=b.perspective3D,a=b.pick,
f=b.shapeArea,g=b.splat,k=b.Tick,p=b.wrap;t(!0,v.prototype.defaultOptions,{labels:{position3d:"offset",skew3d:!1},title:{position3d:null,skew3d:null}});r(v,"afterSetOptions",function(){var d;this.chart.is3d&&this.chart.is3d()&&"colorAxis"!==this.coll&&(d=this.options,d.tickWidth=a(d.tickWidth,0),d.gridLineWidth=a(d.gridLineWidth,1))});p(v.prototype,"getPlotLinePath",function(a){var c=a.apply(this,[].slice.call(arguments,1));if(!this.chart.is3d()||"colorAxis"===this.coll||null===c)return c;var d=this.chart,
b=d.options.chart.options3d,b=this.isZAxis?d.plotWidth:b.depth,d=d.frame3d,c=[this.swapZ({x:c[1],y:c[2],z:0}),this.swapZ({x:c[1],y:c[2],z:b}),this.swapZ({x:c[4],y:c[5],z:0}),this.swapZ({x:c[4],y:c[5],z:b})],b=[];this.horiz?(this.isZAxis?(d.left.visible&&b.push(c[0],c[2]),d.right.visible&&b.push(c[1],c[3])):(d.front.visible&&b.push(c[0],c[2]),d.back.visible&&b.push(c[1],c[3])),d.top.visible&&b.push(c[0],c[1]),d.bottom.visible&&b.push(c[2],c[3])):(d.front.visible&&b.push(c[0],c[2]),d.back.visible&&
b.push(c[1],c[3]),d.left.visible&&b.push(c[0],c[1]),d.right.visible&&b.push(c[2],c[3]));b=q(b,this.chart,!1);return this.chart.renderer.toLineSegments(b)});p(v.prototype,"getLinePath",function(a){return this.chart.is3d()&&"colorAxis"!==this.coll?[]:a.apply(this,[].slice.call(arguments,1))});p(v.prototype,"getPlotBandPath",function(a){if(!this.chart.is3d()||"colorAxis"===this.coll)return a.apply(this,[].slice.call(arguments,1));var c=arguments,d=c[2],b=[],c=this.getPlotLinePath(c[1]),d=this.getPlotLinePath(d);
if(c&&d)for(var g=0;g<c.length;g+=6)b.push("M",c[g+1],c[g+2],"L",c[g+4],c[g+5],"L",d[g+4],d[g+5],"L",d[g+1],d[g+2],"Z");return b});p(k.prototype,"getMarkPath",function(a){var c=a.apply(this,[].slice.call(arguments,1)),c=[z(this.axis,{x:c[1],y:c[2],z:0}),z(this.axis,{x:c[4],y:c[5],z:0})];return this.axis.chart.renderer.toLineSegments(c)});r(k,"afterGetLabelPosition",function(a){w(a.pos,z(this.axis,a.pos))});p(v.prototype,"getTitlePosition",function(a){var c=a.apply(this,[].slice.call(arguments,1));
return z(this,c,!0)});r(v,"drawCrosshair",function(a){this.chart.is3d()&&"colorAxis"!==this.coll&&a.point&&(a.point.crosshairPos=this.isXAxis?a.point.axisXpos:this.len-a.point.axisYpos)});r(v,"destroy",function(){l(["backFrame","bottomFrame","sideFrame"],function(a){this[a]&&(this[a]=this[a].destroy())},this)});v.prototype.swapZ=function(a,c){return this.isZAxis?(c=c?0:this.chart.plotLeft,{x:c+a.z,y:a.y,z:a.x-c}):a};y=b.ZAxis=function(){this.init.apply(this,arguments)};w(y.prototype,v.prototype);
w(y.prototype,{isZAxis:!0,setOptions:function(a){a=t({offset:0,lineWidth:0},a);v.prototype.setOptions.call(this,a);this.coll="zAxis"},setAxisSize:function(){v.prototype.setAxisSize.call(this);this.width=this.len=this.chart.options.chart.options3d.depth;this.right=this.chart.chartWidth-this.width-this.left},getSeriesExtremes:function(){var d=this,c=d.chart;d.hasVisibleSeries=!1;d.dataMin=d.dataMax=d.ignoreMinPadding=d.ignoreMaxPadding=null;d.buildStacks&&d.buildStacks();l(d.series,function(b){if(b.visible||
!c.options.chart.ignoreHiddenSeries)d.hasVisibleSeries=!0,b=b.zData,b.length&&(d.dataMin=Math.min(a(d.dataMin,b[0]),Math.min.apply(null,b)),d.dataMax=Math.max(a(d.dataMax,b[0]),Math.max.apply(null,b)))})}});r(m,"afterGetAxes",function(){var a=this,c=this.options,c=c.zAxis=g(c.zAxis||{});a.is3d()&&(this.zAxis=[],l(c,function(c,b){c.index=b;c.isX=!0;(new y(a,c)).setScale()}))});p(v.prototype,"getSlotWidth",function(b,c){if(this.chart.is3d()&&c&&c.label&&this.categories){var d=this.chart,e=this.ticks,
g=this.gridGroup.element.childNodes[0].getBBox(),k=d.frameShapes.left.getBBox(),f=d.options.chart.options3d,d={x:d.plotWidth/2,y:d.plotHeight/2,z:f.depth/2,vd:a(f.depth,1)*a(f.viewDistance,0)},l,q,f=c.pos,p=e[f-1],e=e[f+1];0!==f&&p&&(l=h({x:p.label.xy.x,y:p.label.xy.y,z:null},d,d.vd));e&&e.label.xy&&(q=h({x:e.label.xy.x,y:e.label.xy.y,z:null},d,d.vd));e={x:c.label.xy.x,y:c.label.xy.y,z:null};e=h(e,d,d.vd);return Math.abs(l?e.x-l.x:q?q.x-e.x:g.x-k.x)}return b.apply(this,[].slice.call(arguments,1))})})(B);
(function(b){var z=b.addEvent,y=b.perspective,r=b.pick;z(b.Series,"afterTranslate",function(){this.chart.is3d()&&this.translate3dPoints()});b.Series.prototype.translate3dPoints=function(){var b=this.chart,m=r(this.zAxis,b.options.zAxis[0]),x=[],l,w,t;for(t=0;t<this.data.length;t++)l=this.data[t],m&&m.translate?(w=m.isLog&&m.val2lin?m.val2lin(l.z):l.z,l.plotZ=m.translate(w),l.isInside=l.isInside?w>=m.min&&w<=m.max:!1):l.plotZ=0,l.axisXpos=l.plotX,l.axisYpos=l.plotY,l.axisZpos=l.plotZ,x.push({x:l.plotX,
y:l.plotY,z:l.plotZ});b=y(x,b,!0);for(t=0;t<this.data.length;t++)l=this.data[t],m=b[t],l.plotX=m.x,l.plotY=m.y,l.plotZ=m.z}})(B);(function(b){var z=b.addEvent,y=b.each,r=b.perspective,v=b.pick,m=b.Series,x=b.seriesTypes,l=b.inArray,w=b.svg,t=b.wrap;t(x.column.prototype,"translate",function(b){b.apply(this,[].slice.call(arguments,1));this.chart.is3d()&&this.translate3dShapes()});t(b.Series.prototype,"alignDataLabel",function(b){arguments[3].outside3dPlot=arguments[1].outside3dPlot;b.apply(this,[].slice.call(arguments,
1))});t(b.Series.prototype,"justifyDataLabel",function(b){return arguments[2].outside3dPlot?!1:b.apply(this,[].slice.call(arguments,1))});x.column.prototype.translate3dPoints=function(){};x.column.prototype.translate3dShapes=function(){var b=this,h=b.chart,a=b.options,f=a.depth||25,g=(a.stacking?a.stack||0:b.index)*(f+(a.groupZPadding||1)),k=b.borderWidth%2?.5:0;h.inverted&&!b.yAxis.reversed&&(k*=-1);!1!==a.grouping&&(g=0);g+=a.groupZPadding||1;y(b.data,function(a){a.outside3dPlot=null;if(null!==
a.y){var d=a.shapeArgs,c=a.tooltipPos,l;y([["x","width"],["y","height"]],function(c){l=d[c[0]]-k;0>l&&(d[c[1]]+=d[c[0]]+k,d[c[0]]=-k,l=0);l+d[c[1]]>b[c[0]+"Axis"].len&&0!==d[c[1]]&&(d[c[1]]=b[c[0]+"Axis"].len-d[c[0]]);if(0!==d[c[1]]&&(d[c[0]]>=b[c[0]+"Axis"].len||d[c[0]]+d[c[1]]<=k)){for(var e in d)d[e]=0;a.outside3dPlot=!0}});a.shapeType="cuboid";d.z=g;d.depth=f;d.insidePlotArea=!0;c=r([{x:c[0],y:c[1],z:g}],h,!0)[0];a.tooltipPos=[c.x,c.y]}});b.z=g};t(x.column.prototype,"animate",function(b){if(this.chart.is3d()){var h=
arguments[1],a=this.yAxis,f=this,g=this.yAxis.reversed;w&&(h?y(f.data,function(b){null!==b.y&&(b.height=b.shapeArgs.height,b.shapey=b.shapeArgs.y,b.shapeArgs.height=1,g||(b.shapeArgs.y=b.stackY?b.plotY+a.translate(b.stackY):b.plotY+(b.negative?-b.height:b.height)))}):(y(f.data,function(a){null!==a.y&&(a.shapeArgs.height=a.height,a.shapeArgs.y=a.shapey,a.graphic&&a.graphic.animate(a.shapeArgs,f.options.animation))}),this.drawDataLabels(),f.animate=null))}else b.apply(this,[].slice.call(arguments,1))});
t(x.column.prototype,"plotGroup",function(b,h,a,f,g,k){this.chart.is3d()&&k&&!this[h]&&(this.chart.columnGroup||(this.chart.columnGroup=this.chart.renderer.g("columnGroup").add(k)),this[h]=this.chart.columnGroup,this.chart.columnGroup.attr(this.getPlotBox()),this[h].survive=!0);return b.apply(this,Array.prototype.slice.call(arguments,1))});t(x.column.prototype,"setVisible",function(b,h){var a=this,f;a.chart.is3d()&&y(a.data,function(b){f=(b.visible=b.options.visible=h=void 0===h?!b.visible:h)?"visible":
"hidden";a.options.data[l(b,a.data)]=b.options;b.graphic&&b.graphic.attr({visibility:f})});b.apply(this,Array.prototype.slice.call(arguments,1))});x.column.prototype.handle3dGrouping=!0;z(m,"afterInit",function(){if(this.chart.is3d()&&this.handle3dGrouping){var b=this.options,h=b.grouping,a=b.stacking,f=v(this.yAxis.options.reversedStacks,!0),g=0;if(void 0===h||h){h=this.chart.retrieveStacks(a);g=b.stack||0;for(a=0;a<h[g].series.length&&h[g].series[a]!==this;a++);g=10*(h.totalStacks-h[g].position)+
(f?a:-a);this.xAxis.reversed||(g=10*h.totalStacks-g)}b.zIndex=g}});t(m.prototype,"alignDataLabel",function(b){if(this.chart.is3d()&&("column"===this.type||"columnrange"===this.type)){var h=arguments,a=h[4],h=h[1],f={x:a.x,y:a.y,z:this.z},f=r([f],this.chart,!0)[0];a.x=f.x;a.y=h.outside3dPlot?-9E9:f.y}b.apply(this,[].slice.call(arguments,1))});t(b.StackItem.prototype,"getStackBox",function(l,h){var a=l.apply(this,[].slice.call(arguments,1));if(h.is3d()){var f={x:a.x,y:a.y,z:0},f=b.perspective([f],h,
!0)[0];a.x=f.x;a.y=f.y}return a})})(B);(function(b){var z=b.deg2rad,y=b.each,r=b.seriesTypes,v=b.svg;b=b.wrap;b(r.pie.prototype,"translate",function(b){b.apply(this,[].slice.call(arguments,1));if(this.chart.is3d()){var m=this,l=m.options,r=l.depth||0,t=m.chart.options.chart.options3d,q=t.alpha,h=t.beta,a=l.stacking?(l.stack||0)*r:m._i*r,a=a+r/2;!1!==l.grouping&&(a=0);y(m.data,function(b){var g=b.shapeArgs;b.shapeType="arc3d";g.z=a;g.depth=.75*r;g.alpha=q;g.beta=h;g.center=m.center;g=(g.end+g.start)/
2;b.slicedTranslation={translateX:Math.round(Math.cos(g)*l.slicedOffset*Math.cos(q*z)),translateY:Math.round(Math.sin(g)*l.slicedOffset*Math.cos(q*z))}})}});b(r.pie.prototype.pointClass.prototype,"haloPath",function(b){var m=arguments;return this.series.chart.is3d()?[]:b.call(this,m[1])});b(r.pie.prototype,"drawPoints",function(b){b.apply(this,[].slice.call(arguments,1));this.chart.is3d()&&y(this.points,function(b){var l=b.graphic;if(l)l[b.y&&b.visible?"show":"hide"]()})});b(r.pie.prototype,"drawDataLabels",
function(b){if(this.chart.is3d()){var m=this.chart.options.chart.options3d;y(this.data,function(b){var l=b.shapeArgs,r=l.r,q=(l.start+l.end)/2,h=b.labelPos,a=-r*(1-Math.cos((l.alpha||m.alpha)*z))*Math.sin(q),f=r*(Math.cos((l.beta||m.beta)*z)-1)*Math.cos(q);y([0,2,4],function(b){h[b]+=f;h[b+1]+=a})})}b.apply(this,[].slice.call(arguments,1))});b(r.pie.prototype,"addPoint",function(b){b.apply(this,[].slice.call(arguments,1));this.chart.is3d()&&this.update(this.userOptions,!0)});b(r.pie.prototype,"animate",
function(b){if(this.chart.is3d()){var m=arguments[1],l=this.options.animation,r=this.center,t=this.group,q=this.markerGroup;v&&(!0===l&&(l={}),m?(t.oldtranslateX=t.translateX,t.oldtranslateY=t.translateY,m={translateX:r[0],translateY:r[1],scaleX:.001,scaleY:.001},t.attr(m),q&&(q.attrSetters=t.attrSetters,q.attr(m))):(m={translateX:t.oldtranslateX,translateY:t.oldtranslateY,scaleX:1,scaleY:1},t.animate(m,l),q&&q.animate(m,l),this.animate=null))}else b.apply(this,[].slice.call(arguments,1))})})(B);
(function(b){var z=b.Point,y=b.seriesType,r=b.seriesTypes;y("scatter3d","scatter",{tooltip:{pointFormat:"x: \x3cb\x3e{point.x}\x3c/b\x3e\x3cbr/\x3ey: \x3cb\x3e{point.y}\x3c/b\x3e\x3cbr/\x3ez: \x3cb\x3e{point.z}\x3c/b\x3e\x3cbr/\x3e"}},{pointAttribs:function(v){var m=r.scatter.prototype.pointAttribs.apply(this,arguments);this.chart.is3d()&&v&&(m.zIndex=b.pointCameraDistance(v,this.chart));return m},axisTypes:["xAxis","yAxis","zAxis"],pointArrayMap:["x","y","z"],parallelArrays:["x","y","z"],directTouch:!0},
{applyOptions:function(){z.prototype.applyOptions.apply(this,arguments);void 0===this.z&&(this.z=0);return this}})})(B)});
