/* Highcharts JS v7.0.2 (2019-01-17) Tree Grid (c) 2016-2019 Jon Arild Nygard License: www.highcharts.com/license */ (function(w){"object"===typeof module&&module.exports?(w["default"]=w,module.exports=w):"function"===typeof define&&define.amd?define(function(){return w}):w("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(w){(function(a){var p=a.addEvent,u=a.dateFormat,n=a.defined,y=a.isArray,x=a.isNumber,q=function(d){return a.isObject(d,!0)},m=a.merge,k=a.pick,c=a.wrap,h=a.Axis,l=a.Tick,g={top:0,right:1,bottom:2,left:3,0:"top",1:"right",2:"bottom",3:"left"};h.prototype.isNavigatorAxis=function(){return/highcharts-navigator-[xy]axis/.test(this.options.className)}; h.prototype.isOuterAxis=function(){var d=this,b=-1,e=!0;d.chart.axes.forEach(function(f,g){f.side!==d.side||f.isNavigatorAxis()||(f===d?b=g:0<=b&&g>b&&(e=!1))});return e};h.prototype.getMaxLabelDimensions=function(d,b){var e={width:0,height:0};b.forEach(function(b){b=d[b];var f;q(b)&&(f=q(b.label)?b.label:{},b=f.getBBox?f.getBBox().height:0,f=x(f.textPxLength)?f.textPxLength:0,e.height=Math.max(b,e.height),e.width=Math.max(f,e.width))});return e};a.dateFormats={W:function(d){d=new Date(d);var b;d.setHours(0, 0,0,0);d.setDate(d.getDate()-(d.getDay()||7));b=new Date(d.getFullYear(),0,1);return Math.ceil(((d-b)/864E5+1)/7)},E:function(d){return u("%a",d,!0).charAt(0)}};p(l,"afterGetLabelPosition",function(d){var b=this.label,e=this.axis,f=e.reversed,c=e.chart,k=e.options,h=k&&q(k.grid)?k.grid:{},k=e.options.labels,l=k.align,a=g[e.side],m=d.tickmarkOffset,z=e.tickPositions,r=this.pos-m,z=x(z[d.index+1])?z[d.index+1]-m:e.max+m,t=e.tickSize("tick",!0),m=y(t)?t[0]:0,t=t&&t[1]/2,A;!0===h.enabled&&("top"===a? (h=e.top+e.offset,A=h-m):"bottom"===a?(A=c.chartHeight-e.bottom+e.offset,h=A+m):(h=e.top+e.len-e.translate(f?z:r),A=e.top+e.len-e.translate(f?r:z)),"right"===a?(a=c.chartWidth-e.right+e.offset,f=a+m):"left"===a?(f=e.left+e.offset,a=f-m):(a=Math.round(e.left+e.translate(f?z:r))-t,f=Math.round(e.left+e.translate(f?r:z))-t),this.slotWidth=f-a,d.pos.x="left"===l?a:"right"===l?f:a+(f-a)/2,d.pos.y=A+(h-A)/2,c=c.renderer.fontMetrics(k.style.fontSize,b.element),b=b.getBBox().height,k.useHTML?d.pos.y+=c.b+ -(b/2):(b=Math.round(b/c.h),d.pos.y+=(c.b-(c.h-c.f))/2+-((b-1)*c.h/2)),d.pos.x+=e.horiz&&k.x||0)});p(h,"afterTickSize",function(d){var b=this.maxLabelDimensions,e=this.options;!0===(e&&q(e.grid)?e.grid:{}).enabled&&(e=2*Math.abs(this.defaultLeftAxisOptions.labels.x),b=e+(this.horiz?b.height:b.width),y(d.tickSize)?d.tickSize[0]=b:d.tickSize=[b])});p(h,"afterGetTitlePosition",function(d){var b=this.options;if(!0===(b&&q(b.grid)?b.grid:{}).enabled){var e=this.axisTitle,f=e&&e.getBBox().width,c=this.horiz, h=this.left,a=this.top,l=this.width,m=this.height,n=b.title,b=this.opposite,z=this.offset,r=this.tickSize()||[0],t=n.x||0,A=n.y||0,F=k(n.margin,c?5:10),e=this.chart.renderer.fontMetrics(n.style&&n.style.fontSize,e).f,r=(c?a+m:h)+r[0]/2*(b?-1:1)*(c?1:-1)+(this.side===g.bottom?e:0);d.titlePosition.x=c?h-f/2-F+t:r+(b?l:0)+z+t;d.titlePosition.y=c?r-(b?m:0)+(b?e:-e)/2+z+A:a-F+A}});c(h.prototype,"unsquish",function(d){var b=this.options;return!0===(b&&q(b.grid)?b.grid:{}).enabled&&this.categories?this.tickInterval: d.apply(this,Array.prototype.slice.call(arguments,1))});p(h,"afterSetOptions",function(d){var b=this.options;d=d.userOptions;var e,f=b&&q(b.grid)?b.grid:{};!0===f.enabled&&(e=m(!0,{className:"highcharts-grid-axis "+(d.className||""),dateTimeLabelFormats:{hour:{list:["%H:%M","%H"]},day:{list:["%A, %e. %B","%a, %e. %b","%E"]},week:{list:["Week %W","W%W"]},month:{list:["%B","%b","%o"]}},grid:{borderWidth:1},labels:{padding:2,style:{fontSize:"13px"}},title:{text:null,reserveSpace:!1,rotation:0},units:[["millisecond", [1,10,100]],["second",[1,10]],["minute",[1,5,15]],["hour",[1,6]],["day",[1]],["week",[1]],["month",[1]],["year",null]]},d),"xAxis"===this.coll&&(n(d.linkedTo)&&!n(d.tickPixelInterval)&&(e.tickPixelInterval=350),n(d.tickPixelInterval)||!n(d.linkedTo)||n(d.tickPositioner)||n(d.tickInterval)||(e.tickPositioner=function(b,d){var f=this.linkedParent&&this.linkedParent.tickPositions&&this.linkedParent.tickPositions.info;if(f){var c,g,k,h,r=e.units;for(h=0;hh||ch)&&!d.startOnTick&&(f[0]=h),(gk&&g-aq?b:q;g=g+1+e.descendants; d=Math.max(e.height+1,d);return e});c&&(c.start=n(c.start,f),c.end=n(c.end,q));p(m,{children:e,descendants:g,height:d});"function"===typeof b&&b(m,l);return m};return{getListOfParents:y,getNode:x,getTree:function(a,m){var k=a.map(function(c){return c.id});a=y(a,k);return x("",null,1,null,a,m)}}}(w),G=function(a){var p=a.extend,u=a.isArray,n=a.isObject,y=a.isNumber,x=a.merge,q=a.pick;return{getColor:function(m,k){var c=k.index,h=k.mapOptionsToLevel,l=k.parentColor,g=k.parentColorIndex,d=k.series,b= k.colors,e=k.siblings,f=d.points,n=d.chart.options.chart,C,p,v,u;if(m){f=f[m.i];m=h[m.level]||{};if(h=f&&m.colorByPoint)p=f.index%(b?b.length:n.colorCount),C=b&&b[p];if(!d.chart.styledMode){b=f&&f.options.color;n=m&&m.color;if(v=l)v=(v=m&&m.colorVariation)&&"brightness"===v.key?a.color(l).brighten(c/e*v.to).get():l;v=q(b,n,C,v,d.color)}u=q(f&&f.options.colorIndex,m&&m.colorIndex,p,g,k.colorIndex)}return{color:v,colorIndex:u}},getLevelOptions:function(a){var k=null,c,h,l,g;if(n(a))for(k={},l=y(a.from)? a.from:1,g=a.levels,h={},c=n(a.defaults)?a.defaults:{},u(g)&&(h=g.reduce(function(d,b){var e,f;n(b)&&y(b.level)&&(f=x({},b),e="boolean"===typeof f.levelIsConstant?f.levelIsConstant:c.levelIsConstant,delete f.levelIsConstant,delete f.level,b=b.level+(e?0:l-1),n(d[b])?p(d[b],f):d[b]=f);return d},{})),g=y(a.to)?a.to:1,a=0;a<=g;a++)k[a]=x({},c,n(h[a])?h[a]:{});return k},setTreeValues:function k(c,a){var h=a.before,g=a.idRoot,d=a.mapIdToNode[g],b=a.points[c.i],e=b&&b.options||{},f=0,n=[];p(c,{levelDynamic:c.level- (("boolean"===typeof a.levelIsConstant?a.levelIsConstant:1)?0:d.level),name:q(b&&b.name,""),visible:g===c.id||("boolean"===typeof a.visible?a.visible:!1)});"function"===typeof h&&(c=h(c,a));c.children.forEach(function(b,e){var d=p({},a);p(d,{index:e,siblings:c.children.length,visible:c.visible});b=k(b,d);n.push(b);b.visible&&(f+=b.val)});c.visible=0=k?(c-k)%h:h-(k-c)%h;return a.inclusive?c<=g:c=b)break;else if(g.isInBreak(d,b)){a-=b-d.from;break}return a}function k(b){var a,d;for(d=0;d=b);d++)a.tol;)p-=k;for(;pc.to||d>c.from&&ec.from&&ec.from&&e>c.to&&ek&&(k=c);l--;)h[l+1].x-h[l].x>k&&(c=(h[l].x+h[l+1].x)/2,h.splice(l+1,0,{isNull:!0,x:c}),this.options.stacking&&(c=g.stacks[this.stackKey][c]= new a.StackItem(g,g.options.stackLabels,!1,c,this.stack),c.total=0));return this.getGraphPath(h)}})(w);(function(a,p,u){var n=function(a){return Array.prototype.slice.call(a,1)},y=a.defined,x=a.extend,q=a.find,m=a.fireEvent,k=u.getLevelOptions,c=a.merge,h=a.isNumber,l=function(b){return a.isObject(b,!0)},g=a.isString,d=a.pick,b=a.wrap;u=a.Axis;var e=a.Tick,f=function(a,d){var c,e;for(c in d)d.hasOwnProperty(c)&&(e=d[c],b(a,c,e))},w=function(a,b){var d=a.collapseStart;a=a.collapseEnd;a>=b&&(d-=.5); return{from:d,to:a,showPoints:!1}},C=function(a){return Object.keys(a.mapOfPosToGridNode).reduce(function(b,d){d=+d;a.min<=d&&a.max>=d&&!a.isInAnyBreak(d)&&b.push(d);return b},[])},B=function(a,b){var d=a.options.breaks||[],c=w(b,a.max);return d.some(function(a){return a.from===c.from&&a.to===c.to})},v=function(a,b){var d=a.options.breaks||[];a=w(b,a.max);d.push(a);return d},E=function(a,b){var d=a.options.breaks||[],c=w(b,a.max);return d.reduce(function(a,b){b.to===c.to&&b.from===c.from||a.push(b); return a},[])},D=function(b,c){var e=b.labelIcon,g=!e,f=c.renderer,h=c.xy,k=c.options,r=k.width,l=k.height,t=h.x-r/2-k.padding,h=h.y-l/2,m=c.collapsed?90:180,n=c.show&&a.isNumber(h);g&&(b.labelIcon=e=f.path(f.symbols[k.type](k.x,k.y,r,l)).addClass("highcharts-label-icon").add(c.group));n||e.attr({y:-9999});f.styledMode||e.attr({"stroke-width":1,fill:d(c.color,"#666666")}).css({cursor:"pointer",stroke:k.lineColor,strokeWidth:k.lineWidth});e[g?"attr":"animate"]({translateX:t,translateY:h,rotation:m})}, z=function(a,b,d){var c=[],e=[],f={},h={},k=-1,r="boolean"===typeof b?b:!1;a=p.getTree(a,{after:function(a){a=h[a.pos];var b=0,d=0;a.children.forEach(function(a){d+=a.descendants+1;b=Math.max(a.height+1,b)});a.descendants=d;a.height=b;a.collapsed&&e.push(a)},before:function(a){var b=l(a.data)?a.data:{},d=g(b.name)?b.name:"",e=f[a.parent],e=l(e)?h[e.pos]:null,t=function(a){return a.name===d},m;r&&l(e)&&(m=q(e.children,t))?(t=m.pos,m.nodes.push(a)):t=k++;h[t]||(h[t]=m={depth:e?e.depth+1:0,name:d,nodes:[a], children:[],pos:t},-1!==t&&c.push(d),l(e)&&e.children.push(m));g(a.id)&&(f[a.id]=a);!0===b.collapsed&&(m.collapsed=!0);a.pos=t}});h=function(a,b){var d=function(a,c,e){var f=c+(-1===c?0:b-1),g=(f-c)/2,h=c+g;a.nodes.forEach(function(a){var b=a.data;l(b)&&(b.y=c+b.seriesIndex,delete b.seriesIndex);a.pos=h});e[h]=a;a.pos=h;a.tickmarkOffset=g+.5;a.collapseStart=f+.5;a.children.forEach(function(a){d(a,f+1,e);f=a.collapseEnd-.5});a.collapseEnd=f+.5;return e};return d(a["-1"],-1,{})}(h,d);return{categories:c, mapOfIdToNode:f,mapOfPosToGridNode:h,collapsedNodes:e,tree:a}};a.addEvent(a.Chart,"beforeRender",function(){this.axes.forEach(function(b){if("treegrid"===b.userOptions.type){var d=b.options&&b.options.labels,c;b.updateYNames();b.series.forEach(function(a){a.yData=a.options.data.map(function(a){return a.y})});b.mapOptionsToLevel=k({defaults:d,from:1,levels:d.levels,to:b.tree.height});c=a.addEvent(b,"foundExtremes",function(){b.collapsedNodes.forEach(function(a){a=v(b,a);b.setBreaks(a,!1)});c()})}})}); f(u.prototype,{init:function(a,b,d){var e="treegrid"===d.type;e&&(d=c({grid:{enabled:!0},labels:{align:"left",levels:[{level:void 0},{level:1,style:{fontWeight:"bold"}}],symbol:{type:"triangle",x:-5,y:-5,height:10,width:10,padding:5}},uniqueNames:!1},d,{reversed:!0,grid:{columns:void 0}}));a.apply(this,[b,d]);e&&(this.hasNames=!0,this.options.showLastLabel=!0)},getMaxLabelDimensions:function(a){var b=this.options,d=b&&b.labels,b=d&&h(d.indentation)?b.labels.indentation:0,d=a.apply(this,n(arguments)), c;"treegrid"===this.options.type&&this.mapOfPosToGridNode&&(c=this.mapOfPosToGridNode[-1].height,d.width+=b*(c-1));return d},generateTick:function(a,b){var d=l(this.mapOptionsToLevel)?this.mapOptionsToLevel:{},c=this.ticks,f=c[b],h,g;"treegrid"===this.options.type?(g=this.mapOfPosToGridNode[b],(d=d[g.depth])&&(h={labels:d}),f?(f.parameters.category=g.name,f.options=h,f.addLabel()):c[b]=new e(this,b,null,void 0,{category:g.name,tickmarkOffset:g.tickmarkOffset,options:h})):a.apply(this,n(arguments))}, setTickInterval:function(a){var b=this.options;"treegrid"===b.type&&this.mapOfPosToGridNode?(this.min=d(this.userMin,b.min,this.dataMin),this.max=d(this.userMax,b.max,this.dataMax),m(this,"foundExtremes"),this.setAxisTranslation(!0),this.tickmarkOffset=.5,this.tickInterval=1,this.tickPositions=C(this)):a.apply(this,n(arguments))}});f(e.prototype,{getLabelPosition:function(a,b,c,e,f,g,k,m,n){var t=d(this.options&&this.options.labels,g);g=this.pos;var r=this.axis,p="treegrid"===r.options.type;a=a.apply(this, [b,c,e,f,t,k,m,n]);p&&(b=t&&l(t.symbol)?t.symbol:{},t=t&&h(t.indentation)?t.indentation:0,g=(g=(r=r.mapOfPosToGridNode)&&r[g])&&g.depth||1,a.x+=b.width+2*b.padding+(g-1)*t);return a},renderLabel:function(b){var c=this,e=c.pos,g=c.axis,f=c.label,h=g.mapOfPosToGridNode,k=g.options,m=d(c.options&&c.options.labels,k&&k.labels),r=m&&l(m.symbol)?m.symbol:{},p=(h=h&&h[e])&&h.depth,k="treegrid"===k.type,q=!(!f||!f.element),u=-1