/* Highcharts JS v6.0.4 (2017-12-15) 3D features for Highcharts JS @license: www.highcharts.com/license */ (function(C){"object"===typeof module&&module.exports?module.exports=C:C(Highcharts)})(function(C){(function(d){var w=d.deg2rad,y=d.pick;d.perspective=function(A,z,q){var B=z.options.chart.options3d,k=q?z.inverted:!1,v=z.plotWidth/2,n=z.plotHeight/2,u=B.depth/2,c=y(B.depth,1)*y(B.viewDistance,0),a=z.scale3d||1,h=w*B.beta*(k?-1:1),B=w*B.alpha*(k?-1:1),e=Math.cos(B),g=Math.cos(-h),b=Math.sin(B),t=Math.sin(-h);q||(v+=z.plotLeft,n+=z.plotTop);return d.map(A,function(d){var l,h;h=(k?d.y:d.x)-v;var p=(k? d.x:d.y)-n,x=(d.z||0)-u;l=g*h-t*x;d=-b*t*h+e*p-g*b*x;h=e*t*h+b*p+e*g*x;p=0c&&d-c>Math.PI/2+.0001?(p=p.concat(w(b,a,f,g,c,c+Math.PI/2,e,l)),p=p.concat(w(b,a,f,g,c+Math.PI/2,d,e,l))):dMath.PI/2+.0001?(p=p.concat(w(b,a,f,g,c,c-Math.PI/2,e,l)),p=p.concat(w(b,a,f,g,c-Math.PI/2,d,e,l))):["C",b+f*Math.cos(c)-f*r*x*Math.sin(c)+e,a+g*Math.sin(c)+g*r*x*Math.cos(c)+l,b+f*Math.cos(d)+f*r*x*Math.sin(d)+e,a+g*Math.sin(d)- g*r*x*Math.cos(d)+l,b+f*Math.cos(d)+e,a+g*Math.sin(d)+l]}var y=Math.cos,A=Math.PI,z=Math.sin,q=d.animObject,B=d.charts,k=d.color,v=d.defined,n=d.deg2rad,u=d.each,c=d.extend,a=d.inArray,h=d.map,e=d.merge,g=d.perspective,b=d.pick,t=d.SVGElement,l=d.SVGRenderer,m=d.wrap,r=4*(Math.sqrt(2)-1)/3/(A/2);m(l.prototype,"init",function(b){b.apply(this,[].slice.call(arguments,1));u([{name:"darker",slope:.6},{name:"brighter",slope:1.4}],function(b){this.definition({tagName:"filter",id:"highcharts-"+b.name,children:[{tagName:"feComponentTransfer", children:[{tagName:"feFuncR",type:"linear",slope:b.slope},{tagName:"feFuncG",type:"linear",slope:b.slope},{tagName:"feFuncB",type:"linear",slope:b.slope}]}]})},this)});l.prototype.toLinePath=function(b,a){var f=[];u(b,function(b){f.push("L",b.x,b.y)});b.length&&(f[0]="M",a&&f.push("Z"));return f};l.prototype.toLineSegments=function(b){var a=[],f=!0;u(b,function(b){a.push(f?"M":"L",b.x,b.y);f=!f});return a};l.prototype.face3d=function(a){var c=this,f=this.createElement("path");f.vertexes=[];f.insidePlotArea= !1;f.enabled=!0;m(f,"attr",function(a,f){if("object"===typeof f&&(v(f.enabled)||v(f.vertexes)||v(f.insidePlotArea))){this.enabled=b(f.enabled,this.enabled);this.vertexes=b(f.vertexes,this.vertexes);this.insidePlotArea=b(f.insidePlotArea,this.insidePlotArea);delete f.enabled;delete f.vertexes;delete f.insidePlotArea;var e=g(this.vertexes,B[c.chartIndex],this.insidePlotArea),l=c.toLinePath(e,!0),e=d.shapeArea(e),e=this.enabled&&0c.faces.length;)f.faces.pop().destroy();for(;f.faces.lengthc.faces.length;)f.faces.pop().destroy();for(;f.faces.lengthd.shapeArea(b)? c=[b,0]:0>d.shapeArea(f)&&(c=[f,1]);return c};m=u([3,2,1,0],[7,6,5,4]);b=m[0];p=m[1];m=u([1,6,7,0],[4,5,2,3]);l=m[0];n=m[1];m=u([1,2,5,6],[0,7,4,3]);u=m[0];m=m[1];1===m?k+=1E4*(1E3-f):m||(k+=1E4*f);k+=10*(!n||0<=r&&180>=r||360>r&&357.5Math.PI&&(b=2*Math.PI-b);return b}var f=b.x,c=b.y,g=b.start,e=b.end-.00001,d=b.r,l=b.innerR,h=b.depth,m=b.alpha,n=b.beta,t=Math.cos(g),u=Math.sin(g);b=Math.cos(e);var p=Math.sin(e),r=d*Math.cos(n),d=d*Math.cos(m),k=l*Math.cos(n), q=l*Math.cos(m),l=h*Math.sin(n),B=h*Math.sin(m),h=["M",f+r*t,c+d*u],h=h.concat(w(f,c,r,d,g,e,0,0)),h=h.concat(["L",f+k*b,c+q*p]),h=h.concat(w(f,c,k,q,e,g,0,0)),h=h.concat(["Z"]),v=0-v?g:e>-v?-v:g,D=eC&&gA-n&&gn&&(x=Math.min(x,1-Math.abs((c+g)/(n+g))%1));am&&(x=0>m?Math.min(x, (h+b)/(-m+h+b)):Math.min(x,1-(h+b)/(m+b)%1));eb?-1:0},l=t([{x:a,y:g,z:b},{x:h,y:g,z:b},{x:h,y:g,z:0},{x:a,y:g,z:0}]),m=t([{x:a,y:e,z:0},{x:h,y:e,z:0},{x:h,y:e,z:b},{x:a,y:e,z:b}]),r=t([{x:a,y:e,z:0},{x:a,y:e,z:b},{x:a,y:g,z:b},{x:a,y:g,z:0}]),p=t([{x:h,y:e,z:b},{x:h,y:e,z:0},{x:h,y:g,z:0},{x:h,y:g,z:b}]),x=t([{x:a,y:g,z:0},{x:h,y:g,z:0},{x:h,y:e,z:0}, {x:a,y:e,z:0}]),t=t([{x:a,y:e,z:b},{x:h,y:e,z:b},{x:h,y:g,z:b},{x:a,y:g,z:b}]),f=!1,k=!1,v=!1,y=!1;A([].concat(n.xAxis,n.yAxis,n.zAxis),function(b){b&&(b.horiz?b.opposite?k=!0:f=!0:b.opposite?y=!0:v=!0)});var w=function(b,a,c){for(var f=["size","color","visible"],d={},e=0;ec*f[d][a]?d=e:c*f[e][a]===c*f[d][a]&&f[e].zthis.pos&&(d.isArray(this.start)||d.isArray(this.end))){var u=this.start||[1,0,0,1,0,0],c=this.end||[1,0,0,1,0,0];n=[];for(var a=0;6>a;a++)n.push(this.pos* c[a]+(1-this.pos)*u[a])}else n=this.end;this.elem.attr(this.prop,n,null,!0)}})(C);(function(d){function w(a,b,d){if(!a.chart.is3d()||"colorAxis"===a.coll)return b;var e=a.chart,g=q*e.options.chart.options3d.alpha,h=q*e.options.chart.options3d.beta,t=u(d&&a.options.title.position3d,a.options.labels.position3d);d=u(d&&a.options.title.skew3d,a.options.labels.skew3d);var k=e.frame3d,f=e.plotLeft,B=e.plotWidth+f,v=e.plotTop,y=e.plotHeight+v,e=!1,w=0,A=0,z={x:0,y:1,z:0};b=a.swapZ({x:b.x,y:b.y,z:0});if(a.isZAxis)if(a.opposite){if(null=== k.axes.z.top)return{};A=b.y-v;b.x=k.axes.z.top.x;b.y=k.axes.z.top.y;f=k.axes.z.top.xDir;e=!k.top.frontFacing}else{if(null===k.axes.z.bottom)return{};A=b.y-y;b.x=k.axes.z.bottom.x;b.y=k.axes.z.bottom.y;f=k.axes.z.bottom.xDir;e=!k.bottom.frontFacing}else if(a.horiz)if(a.opposite){if(null===k.axes.x.top)return{};A=b.y-v;b.y=k.axes.x.top.y;b.z=k.axes.x.top.z;f=k.axes.x.top.xDir;e=!k.top.frontFacing}else{if(null===k.axes.x.bottom)return{};A=b.y-y;b.y=k.axes.x.bottom.y;b.z=k.axes.x.bottom.z;f=k.axes.x.bottom.xDir; e=!k.bottom.frontFacing}else if(a.opposite){if(null===k.axes.y.right)return{};w=b.x-B;b.x=k.axes.y.right.x;b.z=k.axes.y.right.z;f=k.axes.y.right.xDir;f={x:f.z,y:f.y,z:-f.x}}else{if(null===k.axes.y.left)return{};w=b.x-f;b.x=k.axes.y.left.x;b.z=k.axes.y.left.z;f=k.axes.y.left.xDir}"chart"!==t&&("flap"===t?a.horiz?(h=Math.sin(g),g=Math.cos(g),a.opposite&&(h=-h),e&&(h=-h),z={x:f.z*h,y:g,z:-f.x*h}):f={x:Math.cos(h),y:0,z:Math.sin(h)}:"ortho"===t?a.horiz?(z=Math.cos(g),t=Math.sin(h)*z,g=-Math.sin(g),h= -z*Math.cos(h),z={x:f.y*h-f.z*g,y:f.z*t-f.x*h,z:f.x*g-f.y*t},g=1/Math.sqrt(z.x*z.x+z.y*z.y+z.z*z.z),e&&(g=-g),z={x:g*z.x,y:g*z.y,z:g*z.z}):f={x:Math.cos(h),y:0,z:Math.sin(h)}:a.horiz?z={x:Math.sin(h)*Math.sin(g),y:Math.cos(g),z:-Math.cos(h)*Math.sin(g)}:f={x:Math.cos(h),y:0,z:Math.sin(h)});b.x+=w*f.x+A*z.x;b.y+=w*f.y+A*z.y;b.z+=w*f.z+A*z.z;e=n([b],a.chart)[0];d?(0>c(n([b,{x:b.x+f.x,y:b.y+f.y,z:b.z+f.z},{x:b.x+z.x,y:b.y+z.y,z:b.z+z.z}],a.chart))&&(f={x:-f.x,y:-f.y,z:-f.z}),a=n([{x:b.x,y:b.y,z:b.z}, {x:b.x+f.x,y:b.y+f.y,z:b.z+f.z},{x:b.x+z.x,y:b.y+z.y,z:b.z+z.z}],a.chart),e.matrix=[a[1].x-a[0].x,a[1].y-a[0].y,a[2].x-a[0].x,a[2].y-a[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]):e.matrix=null;return e}var y,A=d.Axis,z=d.Chart,q=d.deg2rad,B=d.each,k=d.extend,v=d.merge,n=d.perspective,u=d.pick,c=d.shapeArea,a=d.splat,h=d.Tick,e=d.wrap;v(!0,A.prototype.defaultOptions,{labels:{position3d:"offset",skew3d:!1},title:{position3d:null,skew3d:null}}); e(A.prototype,"setOptions",function(a,b){a.call(this,b);this.chart.is3d&&this.chart.is3d()&&"colorAxis"!==this.coll&&(a=this.options,a.tickWidth=u(a.tickWidth,0),a.gridLineWidth=u(a.gridLineWidth,1))});e(A.prototype,"getPlotLinePath",function(a){var b=a.apply(this,[].slice.call(arguments,1));if(!this.chart.is3d()||"colorAxis"===this.coll||null===b)return b;var c=this.chart,e=c.options.chart.options3d,e=this.isZAxis?c.plotWidth:e.depth,c=c.frame3d,b=[this.swapZ({x:b[1],y:b[2],z:0}),this.swapZ({x:b[1], y:b[2],z:e}),this.swapZ({x:b[4],y:b[5],z:0}),this.swapZ({x:b[4],y:b[5],z:e})],e=[];this.horiz?(this.isZAxis?(c.left.visible&&e.push(b[0],b[2]),c.right.visible&&e.push(b[1],b[3])):(c.front.visible&&e.push(b[0],b[2]),c.back.visible&&e.push(b[1],b[3])),c.top.visible&&e.push(b[0],b[1]),c.bottom.visible&&e.push(b[2],b[3])):(c.front.visible&&e.push(b[0],b[2]),c.back.visible&&e.push(b[1],b[3]),c.left.visible&&e.push(b[0],b[1]),c.right.visible&&e.push(b[2],b[3]));e=n(e,this.chart,!1);return this.chart.renderer.toLineSegments(e)}); e(A.prototype,"getLinePath",function(a){return this.chart.is3d()&&"colorAxis"!==this.coll?[]:a.apply(this,[].slice.call(arguments,1))});e(A.prototype,"getPlotBandPath",function(a){if(!this.chart.is3d()||"colorAxis"===this.coll)return a.apply(this,[].slice.call(arguments,1));var b=arguments,c=b[2],e=[],b=this.getPlotLinePath(b[1]),c=this.getPlotLinePath(c);if(b&&c)for(var d=0;d=q.min&&v<=q.max:!1):k.plotZ=0,B.push({x:y(k.plotXold,k.plotX),y:y(k.plotYold,k.plotY),z:y(k.plotZold,k.plotZ)});d=w(B,d,!0);for(n=0;nl&&(b[a[1]]+=b[a[0]]+e,b[a[0]]=-e,l=0);l+b[a[1]]>d[a[0]+"Axis"].len&&0!==b[a[1]]&&(b[a[1]]=d[a[0]+"Axis"].len-b[a[0]]);if(0!==b[a[1]]&&(b[a[0]]>=d[a[0]+"Axis"].len||b[a[0]]+b[a[1]]<=e))for(var c in b)b[c]=0});c.shapeType= "cuboid";b.z=h;b.depth=a;b.insidePlotArea=!0;g=y([{x:g[0],y:g[1],z:h}],k,!0)[0];c.tooltipPos=[g.x,g.y]}});d.z=h};v(q.column.prototype,"animate",function(d){if(this.chart.is3d()){var n=arguments[1],c=this.yAxis,a=this,h=this.yAxis.reversed;k&&(n?w(a.data,function(a){null!==a.y&&(a.height=a.shapeArgs.height,a.shapey=a.shapeArgs.y,a.shapeArgs.height=1,h||(a.shapeArgs.y=a.stackY?a.plotY+c.translate(a.stackY):a.plotY+(a.negative?-a.height:a.height)))}):(w(a.data,function(c){null!==c.y&&(c.shapeArgs.height= c.height,c.shapeArgs.y=c.shapey,c.graphic&&c.graphic.animate(c.shapeArgs,a.options.animation))}),this.drawDataLabels(),a.animate=null))}else d.apply(this,[].slice.call(arguments,1))});v(q.column.prototype,"plotGroup",function(d,k,c,a,h,e){this.chart.is3d()&&e&&!this[k]&&(this.chart.columnGroup||(this.chart.columnGroup=this.chart.renderer.g("columnGroup").add(e)),this[k]=this.chart.columnGroup,this.chart.columnGroup.attr(this.getPlotBox()),this[k].survive=!0);return d.apply(this,Array.prototype.slice.call(arguments, 1))});v(q.column.prototype,"setVisible",function(d,k){var c=this,a;c.chart.is3d()&&w(c.data,function(d){a=(d.visible=d.options.visible=k=void 0===k?!d.visible:k)?"visible":"hidden";c.options.data[B(d,c.data)]=d.options;d.graphic&&d.graphic.attr({visibility:a})});d.apply(this,Array.prototype.slice.call(arguments,1))});v(q.column.prototype,"init",function(d){d.apply(this,[].slice.call(arguments,1));if(this.chart.is3d()){var k=this.options,c=k.grouping,a=k.stacking,h=A(this.yAxis.options.reversedStacks, !0),e=0;if(void 0===c||c){c=this.chart.retrieveStacks(a);e=k.stack||0;for(a=0;a