/* Highcharts Gantt JS v9.0.1 (2021-02-15) Gantt series (c) 2016-2021 Lars A. V. Cabrera License: www.highcharts.com/license */ (function(a){"object"===typeof module&&module.exports?(a["default"]=a,module.exports=a):"function"===typeof define&&define.amd?define("highcharts/modules/gantt",["highcharts"],function(F){a(F);a.Highcharts=F;return a}):a("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(a){function F(a,u,t,r){a.hasOwnProperty(u)||(a[u]=r.apply(null,t))}a=a?a._modules:{};F(a,"Series/XRange/XRangePoint.js",[a["Core/Series/Point.js"],a["Core/Series/SeriesRegistry.js"]],function(a,u){var t=this&&this.__extends|| function(){var a=function(n,h){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(h,a){h.__proto__=a}||function(h,a){for(var D in a)a.hasOwnProperty(D)&&(h[D]=a[D])};return a(n,h)};return function(n,h){function r(){this.constructor=n}a(n,h);n.prototype=null===h?Object.create(h):(r.prototype=h.prototype,new r)}}();return function(r){function n(){var h=null!==r&&r.apply(this,arguments)||this;h.options=void 0;h.series=void 0;h.tooltipDateKeys=["x","x2"];return h}t(n,r);n.getColorByCategory= function(h,a){var n=h.options.colors||h.chart.options.colors;h=a.y%(n?n.length:h.chart.options.chart.colorCount);return{colorIndex:h,color:n&&n[h]}};n.prototype.resolveColor=function(){var h=this.series;if(h.options.colorByPoint&&!this.options.color){var a=n.getColorByCategory(h,this);h.chart.styledMode||(this.color=a.color);this.options.colorIndex||(this.colorIndex=a.colorIndex)}else this.color||(this.color=h.color)};n.prototype.init=function(){a.prototype.init.apply(this,arguments);this.y||(this.y= 0);return this};n.prototype.setState=function(){a.prototype.setState.apply(this,arguments);this.series.drawPoint(this,this.series.getAnimationVerb())};n.prototype.getLabelConfig=function(){var h=a.prototype.getLabelConfig.call(this),n=this.series.yAxis.categories;h.x2=this.x2;h.yCategory=this.yCategory=n&&n[this.y];return h};n.prototype.isValid=function(){return"number"===typeof this.x&&"number"===typeof this.x2};return n}(u.seriesTypes.column.prototype.pointClass)});F(a,"Series/XRange/XRangeComposition.js", [a["Core/Axis/Axis.js"],a["Core/Utilities.js"]],function(a,u){var t=u.addEvent,r=u.pick;t(a,"afterGetSeriesExtremes",function(){var a=this.series,h;if(this.isXAxis){var t=r(this.dataMax,-Number.MAX_VALUE);a.forEach(function(a){a.x2Data&&a.x2Data.forEach(function(a){a>t&&(t=a,h=!0)})});h&&(this.dataMax=t)}})});F(a,"Series/XRange/XRangeSeries.js",[a["Core/Globals.js"],a["Core/Color/Color.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"],a["Series/XRange/XRangePoint.js"]],function(a,u,t, r,n){var h=this&&this.__extends||function(){var c=function(d,b){c=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,d){b.__proto__=d}||function(b,d){for(var c in d)d.hasOwnProperty(c)&&(b[c]=d[c])};return c(d,b)};return function(d,b){function J(){this.constructor=d}c(d,b);d.prototype=null===b?Object.create(b):(J.prototype=b.prototype,new J)}}(),A=u.parse,B=t.series,D=t.seriesTypes.column,p=D.prototype,w=r.clamp,k=r.correctFloat,f=r.defined;u=r.extend;var v=r.find,e=r.isNumber,g=r.isObject, m=r.merge,q=r.pick;r=function(c){function d(){var b=null!==c&&c.apply(this,arguments)||this;b.data=void 0;b.options=void 0;b.points=void 0;return b}h(d,c);d.prototype.init=function(){D.prototype.init.apply(this,arguments);this.options.stacking=void 0};d.prototype.getColumnMetrics=function(){function b(){d.series.forEach(function(b){var d=b.xAxis;b.xAxis=b.yAxis;b.yAxis=d})}var d=this.chart;b();var c=p.getColumnMetrics.call(this);b();return c};d.prototype.cropData=function(b,d,c,g){d=B.prototype.cropData.call(this, this.x2Data,d,c,g);d.xData=b.slice(d.start,d.end);return d};d.prototype.findPointIndex=function(b){var d=this.cropped,c=this.cropStart,g=this.points,q=b.id;if(q)var m=(m=v(g,function(b){return b.id===q}))?m.index:void 0;"undefined"===typeof m&&(m=(m=v(g,function(d){return d.x===b.x&&d.x2===b.x2&&!d.touched}))?m.index:void 0);d&&e(m)&&e(c)&&m>=c&&(m-=c);return m};d.prototype.translatePoint=function(b){var d,c,p=this.xAxis,v=this.yAxis,k=this.columnMetrics,C=this.options,a=C.minPointLength||0,E=(null=== (d=b.shapeArgs)||void 0===d?NaN:d.width)/2,y=this.pointXOffset=k.offset;d=b.plotX;var z=q(b.x2,b.x+(b.len||0)),l=p.translate(z,0,0,0,1);z=Math.abs(l-d);var x=this.chart.inverted,G=q(C.borderWidth,1)%2/2,O=k.offset,N=Math.round(k.width);a&&(a-=z,0>a&&(a=0),d-=a/2,l+=a/2);d=Math.max(d,-10);l=w(l,-10,p.len+10);f(b.options.pointWidth)&&(O-=(Math.ceil(b.options.pointWidth)-N)/2,N=Math.ceil(b.options.pointWidth));C.pointPlacement&&e(b.plotY)&&v.categories&&(b.plotY=v.translate(b.y,0,1,0,1,C.pointPlacement)); b.shapeArgs={x:Math.floor(Math.min(d,l))+G,y:Math.floor(b.plotY+O)+G,width:Math.round(Math.abs(l-d)),height:N,r:this.options.borderRadius};x?b.tooltipPos[1]+=y+E:b.tooltipPos[0]-=E+y-(null===(c=b.shapeArgs)||void 0===c?NaN:c.width)/2;c=b.shapeArgs.x;C=c+b.shapeArgs.width;0>c||C>p.len?(c=w(c,0,p.len),C=w(C,0,p.len),E=C-c,b.dlBox=m(b.shapeArgs,{x:c,width:C-c,centerX:E?E/2:null})):b.dlBox=null;c=b.tooltipPos;C=x?1:0;E=x?0:1;k=this.columnMetrics?this.columnMetrics.offset:-k.width/2;c[C]=x?c[C]+b.shapeArgs.width/ 2:c[C]+(p.reversed?-1:0)*b.shapeArgs.width;c[E]=w(c[E]+(x?-1:1)*k,0,v.len-1);if(k=b.partialFill)g(k)&&(k=k.amount),e(k)||(k=0),v=b.shapeArgs,b.partShapeArgs={x:v.x,y:v.y,width:v.width,height:v.height,r:this.options.borderRadius},d=Math.max(Math.round(z*k+b.plotX-d),0),b.clipRectArgs={x:p.reversed?v.x+z-d:v.x,y:v.y,width:d,height:v.height}};d.prototype.translate=function(){p.translate.apply(this,arguments);this.points.forEach(function(b){this.translatePoint(b)},this)};d.prototype.drawPoint=function(b, d){var c=this.options,J=this.chart.renderer,e=b.graphic,f=b.shapeType,p=b.shapeArgs,v=b.partShapeArgs,E=b.clipRectArgs,y=b.partialFill,z=c.stacking&&!c.borderRadius,l=b.state,x=c.states[l||"normal"]||{},G="undefined"===typeof l?"attr":d;l=this.pointAttribs(b,l);x=q(this.chart.options.chart.animation,x.animation);if(b.isNull||!1===b.visible)e&&(b.graphic=e.destroy());else{if(e)e.rect[d](p);else b.graphic=e=J.g("point").addClass(b.getClassName()).add(b.group||this.group),e.rect=J[f](m(p)).addClass(b.getClassName()).addClass("highcharts-partfill-original").add(e); v&&(e.partRect?(e.partRect[d](m(v)),e.partialClipRect[d](m(E))):(e.partialClipRect=J.clipRect(E.x,E.y,E.width,E.height),e.partRect=J[f](v).addClass("highcharts-partfill-overlay").add(e).clip(e.partialClipRect)));this.chart.styledMode||(e.rect[d](l,x).shadow(c.shadow,null,z),v&&(g(y)||(y={}),g(c.partialFill)&&(y=m(c.partialFill,y)),b=y.fill||A(l.fill).brighten(-.3).get()||A(b.color||this.color).brighten(-.3).get(),l.fill=b,e.partRect[G](l,x).shadow(c.shadow,null,z)))}};d.prototype.drawPoints=function(){var b= this,d=b.getAnimationVerb();b.points.forEach(function(c){b.drawPoint(c,d)})};d.prototype.getAnimationVerb=function(){return this.chart.pointCount<(this.options.animationLimit||250)?"animate":"attr"};d.prototype.isPointInside=function(b){var d=b.shapeArgs,g=b.plotX,q=b.plotY;return d?"undefined"!==typeof g&&"undefined"!==typeof q&&0<=q&&q<=this.yAxis.len&&0<=d.x+d.width&&g<=this.xAxis.len:c.prototype.isPointInside.apply(this,arguments)};d.defaultOptions=m(D.defaultOptions,{colorByPoint:!0,dataLabels:{formatter:function(){var b= this.point.partialFill;g(b)&&(b=b.amount);if(e(b)&&0{point.x} - {point.x2}
',pointFormat:'\u25cf {series.name}: {point.yCategory}
'},borderRadius:3,pointRange:0});return d}(D);u(r.prototype,{type:"xrange",parallelArrays:["x","x2","y"],requireSorting:!1,animate:B.prototype.animate,cropShoulder:1,getExtremesFromAll:!0,autoIncrement:a.noop, buildKDTree:a.noop,pointClass:n});t.registerSeriesType("xrange",r);"";return r});F(a,"Series/Gantt/GanttPoint.js",[a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,u){var t=this&&this.__extends||function(){var a=function(h,n){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,h){a.__proto__=h}||function(a,h){for(var p in h)h.hasOwnProperty(p)&&(a[p]=h[p])};return a(h,n)};return function(h,n){function r(){this.constructor=h}a(h,n);h.prototype=null===n?Object.create(n): (r.prototype=n.prototype,new r)}}(),r=u.pick;return function(a){function h(){var h=null!==a&&a.apply(this,arguments)||this;h.options=void 0;h.series=void 0;return h}t(h,a);h.setGanttPointAliases=function(a){function h(h,p){"undefined"!==typeof p&&(a[h]=p)}h("x",r(a.start,a.x));h("x2",r(a.end,a.x2));h("partialFill",r(a.completed,a.partialFill))};h.prototype.applyOptions=function(n,r){n=a.prototype.applyOptions.call(this,n,r);h.setGanttPointAliases(n);return n};h.prototype.isValid=function(){return("number"=== typeof this.start||"number"===typeof this.x)&&("number"===typeof this.end||"number"===typeof this.x2||this.milestone)};return h}(a.seriesTypes.xrange.prototype.pointClass)});F(a,"Gantt/Tree.js",[a["Core/Utilities.js"]],function(a){var u=a.extend,t=a.isNumber,r=a.pick,n=function(a,h){var n=a.reduce(function(p,a){var k=r(a.parent,"");"undefined"===typeof p[k]&&(p[k]=[]);p[k].push(a);return p},{});Object.keys(n).forEach(function(p,a){var k=n[p];""!==p&&-1===h.indexOf(p)&&(k.forEach(function(f){a[""].push(f)}), delete a[p])});return n},h=function(a,n,D,p,w,k){var f=0,v=0,e=k&&k.after,g=k&&k.before;n={data:p,depth:D-1,id:a,level:D,parent:n};var m,q;"function"===typeof g&&g(n,k);g=(w[a]||[]).map(function(c){var d=h(c.id,a,D+1,c,w,k),b=c.start;c=!0===c.milestone?b:c.end;m=!t(m)||bq?c:q;f=f+1+d.descendants;v=Math.max(d.height+1,v);return d});p&&(p.start=r(p.start,m),p.end=r(p.end,q));u(n,{children:g,descendants:f,height:v});"function"===typeof e&&e(n,k);return n};return{getListOfParents:n, getNode:h,getTree:function(a,r){var D=a.map(function(a){return a.id});a=n(a,D);return h("",null,1,null,a,r)}}});F(a,"Core/Axis/TreeGridTick.js",[a["Core/Color/Palette.js"],a["Core/Utilities.js"]],function(a,u){var t=u.addEvent,r=u.isObject,n=u.isNumber,h=u.pick,A=u.wrap,B;(function(D){function p(){this.treeGrid||(this.treeGrid=new e(this))}function w(g,e){g=g.treeGrid;var q=!g.labelIcon,c=e.renderer,d=e.xy,b=e.options,J=b.width,m=b.height,f=d.x-J/2-b.padding;d=d.y-m/2;var v=e.collapsed?90:180,p=e.show&& n(d),k=g.labelIcon;k||(g.labelIcon=k=c.path(c.symbols[b.type](b.x,b.y,J,m)).addClass("highcharts-label-icon").add(e.group));p||k.attr({y:-9999});c.styledMode||k.attr({"stroke-width":1,fill:h(e.color,a.neutralColor60)}).css({cursor:"pointer",stroke:b.lineColor,strokeWidth:b.lineWidth});k[q?"attr":"animate"]({translateX:f,translateY:d,rotation:v})}function k(g,e,q,c,d,b,J,f,a){var m=h(this.options&&this.options.labels,b);b=this.pos;var I=this.axis,v="treegrid"===I.options.type;g=g.apply(this,[e,q,c, d,m,J,f,a]);v&&(e=m&&r(m.symbol,!0)?m.symbol:{},m=m&&n(m.indentation)?m.indentation:0,b=(b=(I=I.treeGrid.mapOfPosToGridNode)&&I[b])&&b.depth||1,g.x+=e.width+2*e.padding+(b-1)*m);return g}function f(g){var e=this,q=e.pos,c=e.axis,d=e.label,b=c.treeGrid.mapOfPosToGridNode,J=c.options,f=h(e.options&&e.options.labels,J&&J.labels),a=f&&r(f.symbol,!0)?f.symbol:{},v=(b=b&&b[q])&&b.depth;J="treegrid"===J.type;var p=-1b?this.ticks[g].label.hide():this.ticks[g].label.show(),e-d>b?this.ticks[e].label.hide():this.ticks[e].label.show(),e-dg&&!d.startOnTick&&(c[0]=g),a>f&&a-q=g?(v-g)%e:e-(g-v)%e;return a.inclusive?v<=f:v=a)break;else g.to=a)break;else if(k.isInBreak(m,a)){e-= a-m.from;break}}return e};k.prototype.findBreakAt=function(a,k){return h(k,function(e){return e.fromv;)t-=m;for(;td.to||b>d.from&&md.from&&md.from&&m>d.to&&me&&a>=this.basePointRange&&(e=a),b=void 0;c--;)b&&!1!==b.visible||(b=f[c+1]),a=f[c],!1!==b.visible&&!1!==a.visible&&(b.x-a.x>e&&(b=(a.x+b.x)/2,f.splice(c+1,0,{isNull:!0,x:b}),d.stacking&&this.options.stacking&&(b=d.stacking.stacks[this.stackKey][b]=new t(d,d.options.stackLabels,!1,b,this.stack),b.total=0)), b=a);return this.getGraphPath(f)};n(a,"init",function(){this.brokenAxis||(this.brokenAxis=new w(this))});n(a,"afterInit",function(){"undefined"!==typeof this.brokenAxis&&this.brokenAxis.setBreaks(this.options.breaks,!1)});n(a,"afterSetTickPositions",function(){var e=this.brokenAxis;if(e&&e.hasBreaks){var a=this.tickPositions,f=this.tickPositions.info,c=[],d;for(d=0;d=d&&(c-=.5);return{from:c,to:b,showPoints:!1}} function b(b,d,c){var l=[],x=[],e={},a={},y=-1,z="boolean"===typeof d?d:!1;b=t.getTree(b,{after:function(l){l=a[l.pos];var b=0,d=0;l.children.forEach(function(l){d+=(l.descendants||0)+1;b=Math.max((l.height||0)+1,b)});l.descendants=d;l.height=b;l.collapsed&&x.push(l)},before:function(b){var x=f(b.data,!0)?b.data:{},d=v(x.name)?x.name:"",c=e[b.parent];c=f(c,!0)?a[c.pos]:null;var G=function(l){return l.name===d},g;z&&f(c,!0)&&(g=D(c.children,G))?(G=g.pos,g.nodes.push(b)):G=y++;a[G]||(a[G]=g={depth:c? c.depth+1:0,name:d,id:x.id,nodes:[b],children:[],pos:G},-1!==G&&l.push(d),f(c,!0)&&c.children.push(g));v(b.id)&&(e[b.id]=b);g&&!0===x.collapsed&&(g.collapsed=!0);b.pos=G}});a=function(l,b){var x=function(l,d,c){var e=d+(-1===d?0:b-1),a=(e-d)/2,y=d+a;l.nodes.forEach(function(l){var b=l.data;f(b,!0)&&(b.y=d+(b.seriesIndex||0),delete b.seriesIndex);l.pos=y});c[y]=l;l.pos=y;l.tickmarkOffset=a+.5;l.collapseStart=e+.5;l.children.forEach(function(l){x(l,e+1,c);e=(l.collapseEnd||0)-.5});l.collapseEnd=e+.5; return c};return x(l["-1"],-1,{})}(a,c);return{categories:l,mapOfIdToNode:e,mapOfPosToGridNode:a,collapsedNodes:x,tree:b}}function a(d){d.target.axes.filter(function(b){return"treegrid"===b.options.type}).forEach(function(c){var a=c.options||{},l=a.labels,x=a.uniqueNames,y=0;a=a.max;if(!c.treeGrid.mapOfPosToGridNode||c.series.some(function(l){return!l.hasRendered||l.isDirtyData||l.isDirty})){var g=c.series.reduce(function(l,b){b.visible&&((b.options.data||[]).forEach(function(c){b.options.keys&&b.options.keys.length&& (c=b.pointClass.prototype.optionsToObject.call({series:b},c),b.pointClass.setGanttPointAliases(c));f(c,!0)&&(c.seriesIndex=y,l.push(c))}),!0===x&&y++);return l},[]);if(a&&g.length= c&&a<=l)||b.brokenAxis&&b.brokenAxis.isInAnyBreak(a)||d.push(a);return d},[])};b.prototype.isCollapsed=function(b){var c=this.axis,l=c.options.breaks||[],x=d(b,c.max);return l.some(function(b){return b.from===x.from&&b.to===x.to})};b.prototype.toggleCollapse=function(b){return this.isCollapsed(b)?this.expand(b):this.collapse(b)};return b}();c.Additions=M})(q||(q={}));a.prototype.utils={getNode:t.getNode};q.compose(a);return q});F(a,"Extensions/CurrentDateIndication.js",[a["Core/Axis/Axis.js"],a["Core/Color/Palette.js"], a["Core/Utilities.js"],a["Core/Axis/PlotLineOrBand.js"]],function(a,u,t,r){var n=t.addEvent,h=t.merge;t=t.wrap;var A={currentDateIndicator:!0,color:u.highlightColor20,width:2,label:{format:"%a, %b %d %Y, %H:%M",formatter:function(a,h){return this.axis.chart.time.dateFormat(h,a)},rotation:0,style:{fontSize:"10px"}}};n(a,"afterSetOptions",function(){var a=this.options,n=a.currentDateIndicator;n&&(n="object"===typeof n?h(A,n):h(A),n.value=new Date,a.plotLines||(a.plotLines=[]),a.plotLines.push(n))}); n(r,"render",function(){this.label&&this.label.attr({text:this.getLabelText(this.options.label)})});t(r.prototype,"getLabelText",function(a,h){var p=this.options;return p.currentDateIndicator&&p.label&&"function"===typeof p.label.formatter?(p.value=new Date,p.label.formatter.call(this,p.value,p.label.format)):a.call(this,h)})});F(a,"Extensions/StaticScale.js",[a["Core/Axis/Axis.js"],a["Core/Chart/Chart.js"],a["Core/Utilities.js"]],function(a,u,t){var r=t.addEvent,n=t.defined,h=t.isNumber,A=t.pick; r(a,"afterSetOptions",function(){var a=this.chart.options&&this.chart.options.chart;!this.horiz&&h(this.options.staticScale)&&(!a.height||a.scrollablePlotArea&&a.scrollablePlotArea.minHeight)&&(this.staticScale=this.options.staticScale)});u.prototype.adjustHeight=function(){"adjustHeight"!==this.redrawTrigger&&((this.axes||[]).forEach(function(a){var h=a.chart,p=!!h.initiatedScale&&h.options.animation,w=a.options.staticScale;if(a.staticScale&&n(a.min)){var k=A(a.brokenAxis&&a.brokenAxis.unitLength, a.max+a.tickInterval-a.min)*w;k=Math.max(k,w);w=k-h.plotHeight;1<=Math.abs(w)&&(h.plotHeight=k,h.redrawTrigger="adjustHeight",h.setSize(void 0,h.chartHeight+w,p));a.series.forEach(function(a){(a=a.sharedClipKey&&h[a.sharedClipKey])&&a.attr({height:h.plotHeight})})}}),this.initiatedScale=!0);this.redrawTrigger=null};r(u,"render",u.prototype.adjustHeight)});F(a,"Extensions/ArrowSymbols.js",[a["Core/Renderer/SVG/SVGRenderer.js"]],function(a){a.prototype.symbols.arrow=function(a,t,r,n){return[["M",a, t+n/2],["L",a+r,t],["L",a,t+n/2],["L",a+r,t+n]]};a.prototype.symbols["arrow-half"]=function(u,t,r,n){return a.prototype.symbols.arrow(u,t,r/2,n)};a.prototype.symbols["triangle-left"]=function(a,t,r,n){return[["M",a+r,t],["L",a,t+n/2],["L",a+r,t+n],["Z"]]};a.prototype.symbols["arrow-filled"]=a.prototype.symbols["triangle-left"];a.prototype.symbols["triangle-left-half"]=function(u,t,r,n){return a.prototype.symbols["triangle-left"](u,t,r/2,n)};a.prototype.symbols["arrow-filled-half"]=a.prototype.symbols["triangle-left-half"]}); F(a,"Gantt/Connection.js",[a["Core/Globals.js"],a["Core/Options.js"],a["Core/Series/Point.js"],a["Core/Utilities.js"]],function(a,u,t,r){function n(a){var e=a.shapeArgs;return e?{xMin:e.x,xMax:e.x+e.width,yMin:e.y,yMax:e.y+e.height}:(e=a.graphic&&a.graphic.getBBox())?{xMin:a.plotX-e.width/2,xMax:a.plotX+e.width/2,yMin:a.plotY-e.height/2,yMax:a.plotY+e.height/2}:null}"";var h=r.defined,A=r.error,B=r.extend,D=r.merge,p=r.objectEach,w=a.deg2rad,k=Math.max,f=Math.min;B(u.defaultOptions,{connectors:{type:"straight", lineWidth:1,marker:{enabled:!1,align:"center",verticalAlign:"middle",inside:!1,lineWidth:1},startMarker:{symbol:"diamond"},endMarker:{symbol:"arrow-filled"}}});u=function(){function a(a,g,f){this.toPoint=this.pathfinder=this.graphics=this.fromPoint=this.chart=void 0;this.init(a,g,f)}a.prototype.init=function(a,g,f){this.fromPoint=a;this.toPoint=g;this.options=f;this.chart=a.series.chart;this.pathfinder=this.chart.pathfinder};a.prototype.renderPath=function(a,g,f){var e=this.chart,c=e.styledMode,d= e.pathfinder,b=!e.options.chart.forExport&&!1!==f,m=this.graphics&&this.graphics.path;d.group||(d.group=e.renderer.g().addClass("highcharts-pathfinder-group").attr({zIndex:-1}).add(e.seriesGroup));d.group.translate(e.plotLeft,e.plotTop);m&&m.renderer||(m=e.renderer.path().add(d.group),c||m.attr({opacity:0}));m.attr(g);a={d:a};c||(a.opacity=1);m[b?"animate":"attr"](a,f);this.graphics=this.graphics||{};this.graphics.path=m};a.prototype.addMarker=function(a,g,f){var e=this.fromPoint.series.chart,c=e.pathfinder; e=e.renderer;var d="start"===a?this.fromPoint:this.toPoint,b=d.getPathfinderAnchorPoint(g);if(g.enabled&&((f="start"===a?f[1]:f[f.length-2])&&"M"===f[0]||"L"===f[0])){f={x:f[1],y:f[2]};f=d.getRadiansToVector(f,b);b=d.getMarkerVector(f,g.radius,b);f=-f/w;if(g.width&&g.height){var k=g.width;var m=g.height}else k=m=2*g.radius;this.graphics=this.graphics||{};b={x:b.x-k/2,y:b.y-m/2,width:k,height:m,rotation:f,rotationOriginX:b.x,rotationOriginY:b.y};this.graphics[a]?this.graphics[a].animate(b):(this.graphics[a]= e.symbol(g.symbol).addClass("highcharts-point-connecting-path-"+a+"-marker").attr(b).add(c.group),e.styledMode||this.graphics[a].attr({fill:g.color||this.fromPoint.color,stroke:g.lineColor,"stroke-width":g.lineWidth,opacity:0}).animate({opacity:1},d.series.options.animation))}};a.prototype.getPath=function(a){var e=this.pathfinder,f=this.chart,q=e.algorithms[a.type],c=e.chartObstacles;if("function"!==typeof q)return A('"'+a.type+'" is not a Pathfinder algorithm.'),{path:[],obstacles:[]};q.requiresObstacles&& !c&&(c=e.chartObstacles=e.getChartObstacles(a),f.options.connectors.algorithmMargin=a.algorithmMargin,e.chartObstacleMetrics=e.getObstacleMetrics(c));return q(this.fromPoint.getPathfinderAnchorPoint(a.startMarker),this.toPoint.getPathfinderAnchorPoint(a.endMarker),D({chartObstacles:c,lineObstacles:e.lineObstacles||[],obstacleMetrics:e.chartObstacleMetrics,hardBounds:{xMin:0,xMax:f.plotWidth,yMin:0,yMax:f.plotHeight},obstacleOptions:{margin:a.algorithmMargin},startDirectionX:e.getAlgorithmStartDirection(a.startMarker)}, a))};a.prototype.render=function(){var a=this.fromPoint,g=a.series,m=g.chart,q=m.pathfinder,c=D(m.options.connectors,g.options.connectors,a.options.connectors,this.options),d={};m.styledMode||(d.stroke=c.lineColor||a.color,d["stroke-width"]=c.lineWidth,c.dashStyle&&(d.dashstyle=c.dashStyle));d["class"]="highcharts-point-connecting-path highcharts-color-"+a.colorIndex;c=D(d,c);h(c.marker.radius)||(c.marker.radius=f(k(Math.ceil((c.algorithmMargin||8)/2)-1,1),5));a=this.getPath(c);m=a.path;a.obstacles&& (q.lineObstacles=q.lineObstacles||[],q.lineObstacles=q.lineObstacles.concat(a.obstacles));this.renderPath(m,d,g.options.animation);this.addMarker("start",D(c.marker,c.startMarker),m);this.addMarker("end",D(c.marker,c.endMarker),m)};a.prototype.destroy=function(){this.graphics&&(p(this.graphics,function(a){a.destroy()}),delete this.graphics)};return a}();a.Connection=u;B(t.prototype,{getPathfinderAnchorPoint:function(a){var e=n(this);switch(a.align){case "right":var g="xMax";break;case "left":g="xMin"}switch(a.verticalAlign){case "top":var f= "yMin";break;case "bottom":f="yMax"}return{x:g?e[g]:(e.xMin+e.xMax)/2,y:f?e[f]:(e.yMin+e.yMax)/2}},getRadiansToVector:function(a,e){var g;h(e)||(g=n(this))&&(e={x:(g.xMin+g.xMax)/2,y:(g.yMin+g.yMax)/2});return Math.atan2(e.y-a.y,a.x-e.x)},getMarkerVector:function(a,e,g){var f=2*Math.PI,q=n(this),c=q.xMax-q.xMin,d=q.yMax-q.yMin,b=Math.atan2(d,c),k=!1;c/=2;var w=d/2,h=q.xMin+c;q=q.yMin+w;for(var p=h,v=q,r=1,t=1;a<-Math.PI;)a+=f;for(;a>Math.PI;)a-=f;f=Math.tan(a);a>-b&&a<=b?(t=-1,k=!0):a>b&&a<=Math.PI- b?t=-1:a>Math.PI-b||a<=-(Math.PI-b)?(r=-1,k=!0):r=-1;k?(p+=r*c,v+=t*c*f):(p+=d/(2*f)*r,v+=t*w);g.x!==h&&(p=g.x);g.y!==q&&(v=g.y);return{x:p+e*Math.cos(a),y:v-e*Math.sin(a)}}});return u});F(a,"Gantt/PathfinderAlgorithms.js",[a["Core/Utilities.js"]],function(a){function u(a,k,f){f=f||0;var h=a.length-1;k-=1e-7;for(var e,g;f<=h;)if(e=h+f>>1,g=k-a[e].xMin,0g)h=e-1;else return e;return 0=k.x)h=a[f],h=k.x<=h.xMax&& k.x>=h.xMin&&k.y<=h.yMax&&k.y>=h.yMin;if(h)return f}return-1}function r(a){var k=[];if(a.length){k.push(["M",a[0].start.x,a[0].start.y]);for(var f=0;f p(b[c]-a[c+"Max"]);return h(b,c,a,c+(d?"Max":"Min"),d?1:-1)}var g=[],m=A(f.startDirectionX,p(k.x-a.x)>p(k.y-a.y))?"x":"y",q=f.chartObstacles,c=t(q,a);f=t(q,k);if(-1=a[m]===f[m]>=b[m]&&(m="y"===m?"x":"y",k=a[m]d?B(u(C,y.x),C.length-1):0;C[c]&&(0d&&C[c].xMax>=e.x);){if(C[c].xMin<=y.x&&C[c].xMax>=e.x&&C[c].yMin<=g.y&&C[c].yMax>=f.y)return l?{y:a.y,x:a.x=x[y+"Max"];x=a[y+"Min"]<=x[y+"Min"];var G=a[y+"Max"]>=e[y+"Max"];e=a[y+"Min"]<=e[y+"Min"];var z=p(a[y+"Min"]-b[y]),k=p(a[y+"Max"]-b[y]);l=10>p(z-k)?b[y]p(k.y-a.y)),c=q?"x":"y",d=[],b=!1,w=f.obstacleMetrics,I=B(a.x,k.x)-w.maxWidth-10,K=D(a.x,k.x)+w.maxWidth+10,L=B(a.y,k.y)-w.maxHeight-10,H=D(a.y,k.y)+w.maxHeight+10,C=f.chartObstacles;var M=u(C,I);w=u(C,K);C=C.slice(M,w+1);if(-1<(w=t(C,k))){var E=m(C[w],k,a);d.push({end:k,start:E});k=E}for(;-1<(w=t(C,k));)M=0>k[c]-a[c],E={x:k.x,y:k.y},E[c]=C[w][M?c+"Max":c+"Min"]+(M?1:-1),d.push({end:k,start:E}),k=E;a=g(a,k,q);a=a.concat(d.reverse());return{path:r(a),obstacles:a}}, {requiresObstacles:!0}),straight:function(a,k){return{path:[["M",a.x,a.y],["L",k.x,k.y]],obstacles:[{start:a,end:k}]}},simpleConnect:a}});F(a,"Gantt/Pathfinder.js",[a["Gantt/Connection.js"],a["Core/Chart/Chart.js"],a["Core/Globals.js"],a["Core/Options.js"],a["Core/Series/Point.js"],a["Core/Utilities.js"],a["Gantt/PathfinderAlgorithms.js"]],function(a,u,t,r,n,h,A){function B(a){var b=a.shapeArgs;return b?{xMin:b.x,xMax:b.x+b.width,yMin:b.y,yMax:b.y+b.height}:(b=a.graphic&&a.graphic.getBBox())?{xMin:a.plotX- b.width/2,xMax:a.plotX+b.width/2,yMin:a.plotY-b.height/2,yMax:a.plotY+b.height/2}:null}function D(a){for(var b=a.length,d=0,e,f,k=[],h=function(a,b,d){d=g(d,10);var e=a.yMax+d>b.yMin-d&&a.yMin-db.xMin-d&&a.xMin-db.xMax?a.xMin-b.xMax:b.xMin-a.xMax:Infinity,f=l?a.yMin>b.yMax?a.yMin-b.yMax:b.yMin-a.yMax:Infinity;return l&&e?d?h(a,b,Math.floor(d/2)):Infinity:c(x,f)};df&&k.push(f);k.push(80);return q(Math.floor(k.sort(function(a, b){return a-b})[Math.floor(k.length/10)]/2-1),1)}function p(a){if(a.options.pathfinder||a.series.reduce(function(a,b){b.options&&e(!0,b.options.connectors=b.options.connectors||{},b.options.pathfinder);return a||b.options&&b.options.pathfinder},!1))e(!0,a.options.connectors=a.options.connectors||{},a.options.pathfinder),f('WARNING: Pathfinder options have been renamed. Use "chart.connectors" or "series.connectors" instead.')}"";var w=h.addEvent,k=h.defined,f=h.error,v=h.extend,e=h.merge,g=h.pick, m=h.splat,q=Math.max,c=Math.min;v(r.defaultOptions,{connectors:{type:"straight",lineWidth:1,marker:{enabled:!1,align:"center",verticalAlign:"middle",inside:!1,lineWidth:1},startMarker:{symbol:"diamond"},endMarker:{symbol:"arrow-filled"}}});var d=function(){function b(a){this.lineObstacles=this.group=this.connections=this.chartObstacleMetrics=this.chartObstacles=this.chart=void 0;this.init(a)}b.prototype.init=function(a){this.chart=a;this.connections=[];w(a,"redraw",function(){this.pathfinder.update()})}; b.prototype.update=function(b){var c=this.chart,d=this,e=d.connections;d.connections=[];c.series.forEach(function(b){b.visible&&!b.options.isInternal&&b.points.forEach(function(b){var l=b.options;l&&l.dependency&&(l.connect=l.dependency);var e;l=b.options&&b.options.connect&&m(b.options.connect);b.visible&&!1!==b.isInside&&l&&l.forEach(function(l){e=c.get("string"===typeof l?l:l.to);e instanceof n&&e.series.visible&&e.visible&&!1!==e.isInside&&d.connections.push(new a(b,e,"string"===typeof l?{}:l))})})}); for(var f=0,g,k,q=e.length,y=d.connections.length;fMath.PI;)a-=b;b=Math.tan(a);a>-k&&a<=k?(h=-1,q=!0):a>k&&a<=Math.PI-k?h=-1:a>Math.PI-k||a<=-(Math.PI-k)?(G=-1,q=!0):G=-1;q?(l+=G*f,x+=h*f*b):(l+=g/(2*b)*G,x+=h*y);d.x!==z&&(l=d.x);d.y!==e&&(x=d.y);return{x:l+c*Math.cos(a),y:x-c*Math.sin(a)}}});u.prototype.callbacks.push(function(a){!1!== a.options.connectors.enabled&&(p(a),this.pathfinder=new d(this),this.pathfinder.update(!0))});return d});F(a,"Series/Gantt/GanttSeries.js",[a["Series/Gantt/GanttPoint.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,u,t){var r=this&&this.__extends||function(){var a=function(k,f){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,e){a.__proto__=e}||function(a,e){for(var f in e)e.hasOwnProperty(f)&&(a[f]=e[f])};return a(k,f)};return function(k,f){function h(){this.constructor= k}a(k,f);k.prototype=null===f?Object.create(f):(h.prototype=f.prototype,new h)}}(),n=u.series,h=u.seriesTypes.xrange,A=t.extend,B=t.isNumber,D=t.merge,p=t.splat;t=function(a){function k(){var f=null!==a&&a.apply(this,arguments)||this;f.data=void 0;f.options=void 0;f.points=void 0;return f}r(k,a);k.prototype.drawPoint=function(a,k){var e=this.options,f=this.chart.renderer,m=a.shapeArgs,q=a.plotY,c=a.graphic,d=a.selected&&"select",b=e.stacking&&!e.borderRadius;if(a.options.milestone)if(B(q)&&null!== a.y&&!1!==a.visible){m=f.symbols.diamond(m.x,m.y,m.width,m.height);if(c)c[k]({d:m});else a.graphic=f.path(m).addClass(a.getClassName(),!0).add(a.group||this.group);this.chart.styledMode||a.graphic.attr(this.pointAttribs(a,d)).shadow(e.shadow,null,b)}else c&&(a.graphic=c.destroy());else h.prototype.drawPoint.call(this,a,k)};k.prototype.translatePoint=function(a){h.prototype.translatePoint.call(this,a);if(a.options.milestone){var f=a.shapeArgs;var e=f.height;a.shapeArgs={x:f.x-e/2,y:f.y,width:e,height:e}}}; k.defaultOptions=D(h.defaultOptions,{grouping:!1,dataLabels:{enabled:!0},tooltip:{headerFormat:'{series.name}
',pointFormat:null,pointFormatter:function(){var a=this.series,k=a.chart.tooltip,e=a.xAxis,g=a.tooltipOptions.dateTimeLabelFormats,h=e.options.startOfWeek,q=a.tooltipOptions,c=q.xDateFormat,d=this.options.milestone,b=""+(this.name||this.yCategory)+"";if(q.pointFormat)return this.tooltipFormatter(q.pointFormat);c||(c=p(k.getDateFormat(e.closestPointRange, this.start,h,g))[0]);k=a.chart.time.dateFormat(c,this.start);a=a.chart.time.dateFormat(c,this.end);b+="
";return d?b+(k+"
"):b+("Start: "+k+"
End: ")+(a+"
")}},connectors:{type:"simpleConnect",animation:{reversed:!0},startMarker:{enabled:!0,symbol:"arrow-filled",radius:4,fill:"#fa0",align:"left"},endMarker:{enabled:!1,align:"right"}}});return k}(h);A(t.prototype,{keyboardMoveVertical:!1,pointArrayMap:["start","end","y"],pointClass:a,setData:n.prototype.setData});u.registerSeriesType("gantt", t);"";return t});F(a,"Core/Chart/GanttChart.js",[a["Core/Chart/Chart.js"],a["Core/Globals.js"],a["Core/Utilities.js"]],function(a,u,t){var r=t.getOptions,n=t.isArray,h=t.merge,A=t.splat;u.ganttChart=function(t,u,p){var w="string"===typeof t||t.nodeName,k=u.series,f=r(),v,e=u;u=arguments[w?1:0];n(u.xAxis)||(u.xAxis=[u.xAxis||{},{}]);u.xAxis=u.xAxis.map(function(a,e){1===e&&(v=0);return h(f.xAxis,{grid:{enabled:!0},opposite:!0,linkedTo:v},a,{type:"datetime"})});u.yAxis=A(u.yAxis||{}).map(function(a){return h(f.yAxis, {grid:{enabled:!0},staticScale:50,reversed:!0,type:a.categories?a.type:"treegrid"},a)});u.series=null;u=h(!0,{chart:{type:"gantt"},title:{text:null},legend:{enabled:!1},navigator:{series:{type:"gantt"},yAxis:{type:"category"}}},u,{isGantt:!0});u.series=e.series=k;return w?new a(t,u,p):new a(u,u)}});F(a,"Core/Axis/ScrollbarAxis.js",[a["Core/Globals.js"],a["Core/Utilities.js"]],function(a,u){var t=u.addEvent,r=u.defined,n=u.pick;return function(){function h(){}h.compose=function(h,u){var A=function(a){var h= n(a.options&&a.options.min,a.min),k=n(a.options&&a.options.max,a.max);return{axisMin:h,axisMax:k,scrollMin:r(a.dataMin)?Math.min(h,a.min,a.dataMin,n(a.threshold,Infinity)):h,scrollMax:r(a.dataMax)?Math.max(k,a.max,a.dataMax,n(a.threshold,-Infinity)):k}};t(h,"afterInit",function(){var h=this;h.options&&h.options.scrollbar&&h.options.scrollbar.enabled&&(h.options.scrollbar.vertical=!h.horiz,h.options.startOnTick=h.options.endOnTick=!1,h.scrollbar=new u(h.chart.renderer,h.options.scrollbar,h.chart), t(h.scrollbar,"changed",function(p){var k=A(h),f=k.axisMax,v=k.scrollMin,e=k.scrollMax-v;r(k.axisMin)&&r(f)&&(h.horiz&&!h.reversed||!h.horiz&&h.reversed?(k=v+e*this.to,v+=e*this.from):(k=v+e*(1-this.from),v+=e*(1-this.to)),n(this.options.liveRedraw,a.svg&&!a.isTouchDevice&&!this.chart.isBoosting)||"mouseup"===p.DOMType||"touchend"===p.DOMType||!r(p.DOMType)?h.setExtremes(v,k,!0,"mousemove"!==p.DOMType&&"touchmove"!==p.DOMType,p):this.setRange(this.from,this.to))}))});t(h,"afterRender",function(){var a= A(this),h=a.scrollMin,k=a.scrollMax;a=this.scrollbar;var f=this.axisTitleMargin+(this.titleOffset||0),n=this.chart.scrollbarsOffsets,e=this.options.margin||0;a&&(this.horiz?(this.opposite||(n[1]+=f),a.position(this.left,this.top+this.height+2+n[1]-(this.opposite?e:0),this.width,this.height),this.opposite||(n[1]+=e),f=1):(this.opposite&&(n[0]+=f),a.position(this.left+this.width+2+n[0]-(this.opposite?0:e),this.top,this.width,this.height),this.opposite&&(n[0]+=e),f=0),n[f]+=a.size+a.options.margin,isNaN(h)|| isNaN(k)||!r(this.min)||!r(this.max)||this.min===this.max?a.setRange(0,1):(n=(this.min-h)/(k-h),h=(this.max-h)/(k-h),this.horiz&&!this.reversed||!this.horiz&&this.reversed?a.setRange(n,h):a.setRange(1-h,1-n)))});t(h,"afterGetOffset",function(){var a=this.horiz?2:1,h=this.scrollbar;h&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[a]+=h.size+h.options.margin)})};return h}()});F(a,"Core/Scrollbar.js",[a["Core/Axis/Axis.js"],a["Core/Globals.js"],a["Core/Color/Palette.js"],a["Core/Axis/ScrollbarAxis.js"], a["Core/Utilities.js"],a["Core/Options.js"]],function(a,u,t,r,n,h){var A=n.addEvent,B=n.correctFloat,D=n.defined,p=n.destroyObjectProperties,w=n.fireEvent,k=n.merge,f=n.pick,v=n.removeEvent;n=h.defaultOptions;var e=u.isTouchDevice,g=u.swapXY=function(a,e){e&&a.forEach(function(a){for(var c=a.length,b,e=0;ethis.calculatedWidth?c.minWidth:0;return{chartX:(a.chartX-this.x-this.xOffset)/ (this.barWidth-c),chartY:(a.chartY-this.y-this.yOffset)/(this.barWidth-c)}};a.prototype.destroy=function(){var a=this.chart.scroller;this.removeEvents();["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(a){this[a]&&this[a].destroy&&(this[a]=this[a].destroy())},this);a&&this===a.scrollbar&&(a.scrollbar=null,p(a.scrollbarButtons))};a.prototype.drawScrollbarButton=function(a){var c=this.renderer,d=this.scrollbarButtons,b=this.options,e=this.size;var f=c.g().add(this.group); d.push(f);f=c.rect().addClass("highcharts-scrollbar-button").add(f);this.chart.styledMode||f.attr({stroke:b.buttonBorderColor,"stroke-width":b.buttonBorderWidth,fill:b.buttonBackgroundColor});f.attr(f.crisp({x:-.5,y:-.5,width:e+1,height:e+1,r:b.buttonBorderRadius},f.strokeWidth()));f=c.path(g([["M",e/2+(a?-1:1),e/2-3],["L",e/2+(a?-1:1),e/2+3],["L",e/2+(a?2:-2),e/2]],b.vertical)).addClass("highcharts-scrollbar-arrow").add(d[a]);this.chart.styledMode||f.attr({fill:b.buttonArrowColor})};a.prototype.init= function(e,c,d){this.scrollbarButtons=[];this.renderer=e;this.userOptions=c;this.options=k(a.defaultOptions,c);this.chart=d;this.size=f(this.options.size,this.options.height);c.enabled&&(this.render(),this.addEvents())};a.prototype.mouseDownHandler=function(a){a=this.chart.pointer.normalize(a);a=this.cursorToScrollbarPosition(a);this.chartX=a.chartX;this.chartY=a.chartY;this.initPositions=[this.from,this.to];this.grabbedCenter=!0};a.prototype.mouseMoveHandler=function(a){var c=this.chart.pointer.normalize(a), d=this.options.vertical?"chartY":"chartX",b=this.initPositions||[];!this.grabbedCenter||a.touches&&0===a.touches[0][d]||(c=this.cursorToScrollbarPosition(c)[d],d=this[d],d=c-d,this.hasDragged=!0,this.updatePosition(b[0]+d,b[1]+d),this.hasDragged&&w(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:a.type,DOMEvent:a}))};a.prototype.mouseUpHandler=function(a){this.hasDragged&&w(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:a.type,DOMEvent:a});this.grabbedCenter= this.hasDragged=this.chartX=this.chartY=null};a.prototype.position=function(a,c,d,b){var e=this.options.vertical,f=0,g=this.rendered?"animate":"attr";this.x=a;this.y=c+this.trackBorderWidth;this.width=d;this.xOffset=this.height=b;this.yOffset=f;e?(this.width=this.yOffset=d=f=this.size,this.xOffset=c=0,this.barWidth=b-2*d,this.x=a+=this.options.margin):(this.height=this.xOffset=b=c=this.size,this.barWidth=d-2*b,this.y+=this.options.margin);this.group[g]({translateX:a,translateY:this.y});this.track[g]({width:d, height:b});this.scrollbarButtons[1][g]({translateX:e?0:d-c,translateY:e?b-f:0})};a.prototype.removeEvents=function(){this._events.forEach(function(a){v.apply(null,a)});this._events.length=0};a.prototype.render=function(){var a=this.renderer,c=this.options,d=this.size,b=this.chart.styledMode,e;this.group=e=a.g("scrollbar").attr({zIndex:c.zIndex,translateY:-99999}).add();this.track=a.rect().addClass("highcharts-scrollbar-track").attr({x:0,r:c.trackBorderRadius||0,height:d,width:d}).add(e);b||this.track.attr({fill:c.trackBackgroundColor, stroke:c.trackBorderColor,"stroke-width":c.trackBorderWidth});this.trackBorderWidth=this.track.strokeWidth();this.track.attr({y:-this.trackBorderWidth%2/2});this.scrollbarGroup=a.g().add(e);this.scrollbar=a.rect().addClass("highcharts-scrollbar-thumb").attr({height:d,width:d,r:c.barBorderRadius||0}).add(this.scrollbarGroup);this.scrollbarRifles=a.path(g([["M",-3,d/4],["L",-3,2*d/3],["M",0,d/4],["L",0,2*d/3],["M",3,d/4],["L",3,2*d/3]],c.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup); b||(this.scrollbar.attr({fill:c.barBackgroundColor,stroke:c.barBorderColor,"stroke-width":c.barBorderWidth}),this.scrollbarRifles.attr({stroke:c.rifleColor,"stroke-width":1}));this.scrollbarStrokeWidth=this.scrollbar.strokeWidth();this.scrollbarGroup.translate(-this.scrollbarStrokeWidth%2/2,-this.scrollbarStrokeWidth%2/2);this.drawScrollbarButton(0);this.drawScrollbarButton(1)};a.prototype.setRange=function(a,c){var d=this.options,b=d.vertical,e=d.minWidth,f=this.barWidth,g,h=!this.rendered||this.hasDragged|| this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";if(D(f)){a=Math.max(a,0);var k=Math.ceil(f*a);this.calculatedWidth=g=B(f*Math.min(c,1)-k);g=g?this.scrollbarRifles.hide():this.scrollbarRifles.show(!0);!1===d.showFull&&(0>=a&&1<=c?this.group.hide():this.group.show());this.rendered=!0}};a.prototype.trackClick=function(a){var c=this.chart.pointer.normalize(a),d=this.to-this.from,b=this.y+this.scrollbarTop,e=this.x+this.scrollbarLeft;this.options.vertical&&c.chartY>b||!this.options.vertical&&c.chartX>e?this.updatePosition(this.from+d,this.to+d):this.updatePosition(this.from-d,this.to-d);w(this, "changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:a})};a.prototype.update=function(a){this.destroy();this.init(this.chart.renderer,k(!0,this.options,a),this.chart)};a.prototype.updatePosition=function(a,c){1a&&(c=B(c-a),a=0);this.from=a;this.to=c};a.defaultOptions={height:e?20:14,barBorderRadius:0,buttonBorderRadius:0,liveRedraw:void 0,margin:10,minWidth:6,step:.2,zIndex:3,barBackgroundColor:t.neutralColor20,barBorderWidth:1,barBorderColor:t.neutralColor20, buttonArrowColor:t.neutralColor80,buttonBackgroundColor:t.neutralColor10,buttonBorderColor:t.neutralColor20,buttonBorderWidth:1,rifleColor:t.neutralColor80,trackBackgroundColor:t.neutralColor5,trackBorderColor:t.neutralColor5,trackBorderWidth:1};return a}();u.Scrollbar||(n.scrollbar=k(!0,h.defaultOptions,n.scrollbar),u.Scrollbar=h,r.compose(a,h));return u.Scrollbar});F(a,"Extensions/RangeSelector.js",[a["Core/Axis/Axis.js"],a["Core/Chart/Chart.js"],a["Core/Globals.js"],a["Core/Options.js"],a["Core/Color/Palette.js"], a["Core/Renderer/SVG/SVGElement.js"],a["Core/Utilities.js"]],function(a,u,t,r,n,h,A){function B(a){if(-1!==a.indexOf("%L"))return"text";var b="aAdewbBmoyY".split("").some(function(b){return-1!==a.indexOf("%"+b)}),c="HkIlMS".split("").some(function(b){return-1!==a.indexOf("%"+b)});return b&&c?"datetime-local":b?"date":c?"time":"text"}var D=r.defaultOptions,p=A.addEvent,w=A.createElement,k=A.css,f=A.defined,v=A.destroyObjectProperties,e=A.discardElement,g=A.extend,m=A.find,q=A.fireEvent,c=A.isNumber, d=A.merge,b=A.objectEach,F=A.pad,I=A.pick,K=A.pInt,L=A.splat;g(D,{rangeSelector:{allButtonsEnabled:!1,buttons:void 0,buttonSpacing:5,dropdown:"responsive",enabled:void 0,verticalAlign:"top",buttonTheme:{width:28,height:18,padding:2,zIndex:7},floating:!1,x:0,y:0,height:void 0,inputBoxBorderColor:"none",inputBoxHeight:17,inputBoxWidth:void 0,inputDateFormat:"%b %e, %Y",inputDateParser:void 0,inputEditDateFormat:"%Y-%m-%d",inputEnabled:!0,inputPosition:{align:"right",x:0,y:0},inputSpacing:5,selected:void 0, buttonPosition:{align:"left",x:0,y:0},inputStyle:{color:n.highlightColor80,cursor:"pointer"},labelStyle:{color:n.neutralColor60}}});g(D.lang,{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"",rangeSelectorTo:"\u2192"});var H=function(){function m(a){this.buttons=void 0;this.buttonOptions=m.prototype.defaultButtons;this.initialButtonGroupWidth=0;this.options=void 0;this.chart=a;this.init(a)}m.prototype.clickButton=function(b,d){var l=this.chart,e=this.buttonOptions[b],g=l.xAxis[0],h=l.scroller&&l.scroller.getUnionExtremes()|| g||{},y=h.dataMin,k=h.dataMax,z=g&&Math.round(Math.min(g.max,I(k,g.max))),m=e.type;h=e._range;var n,r=e.dataGrouping;if(null!==y&&null!==k){l.fixedRange=h;r&&(this.forcedDataGrouping=!0,a.prototype.setDataGrouping.call(g||{chart:this.chart},r,!1),this.frozenStates=e.preserveDataGrouping);if("month"===m||"year"===m)if(g){m={range:e,max:z,chart:l,dataMin:y,dataMax:k};var t=g.minFromRange.call(m);c(m.newMax)&&(z=m.newMax)}else h=e;else if(h)t=Math.max(z-h,y),z=Math.min(t+h,k);else if("ytd"===m)if(g)"undefined"=== typeof k&&(y=Number.MAX_VALUE,k=Number.MIN_VALUE,l.series.forEach(function(a){a=a.xData;y=Math.min(a[0],y);k=Math.max(a[a.length-1],k)}),d=!1),z=this.getYTDExtremes(k,y,l.time.useUTC),t=n=z.min,z=z.max;else{this.deferredYTDClick=b;return}else"all"===m&&g&&(t=y,z=k);f(t)&&(t+=e._offsetMin);f(z)&&(z+=e._offsetMax);this.setSelected(b);this.dropdown&&(this.dropdown.selectedIndex=b+1);if(g)g.setExtremes(t,z,I(d,!0),void 0,{trigger:"rangeSelectorButton",rangeSelectorButton:e});else{var v=L(l.options.xAxis)[0]; var u=v.range;v.range=h;var w=v.min;v.min=n;p(l,"load",function(){v.range=u;v.min=w})}q(this,"afterBtnClick")}};m.prototype.setSelected=function(a){this.selected=this.options.selected=a};m.prototype.init=function(a){var b=this,c=a.options.rangeSelector,d=c.buttons||b.defaultButtons.slice(),e=c.selected,f=function(){var a=b.minInput,c=b.maxInput;a&&a.blur&&q(a,"blur");c&&c.blur&&q(c,"blur")};b.chart=a;b.options=c;b.buttons=[];b.buttonOptions=d;this.eventsToUnbind=[];this.eventsToUnbind.push(p(a.container, "mousedown",f));this.eventsToUnbind.push(p(a,"resize",f));d.forEach(b.computeButtonRange);"undefined"!==typeof e&&d[e]&&this.clickButton(e,!1);this.eventsToUnbind.push(p(a,"load",function(){a.xAxis&&a.xAxis[0]&&p(a.xAxis[0],"setExtremes",function(c){this.max-this.min!==a.fixedRange&&"rangeSelectorButton"!==c.trigger&&"updatedData"!==c.trigger&&b.forcedDataGrouping&&!b.frozenStates&&this.setDataGrouping(!1,!1)})}))};m.prototype.updateButtonStates=function(){var a=this,b=this.chart,d=this.dropdown, e=b.xAxis[0],f=Math.round(e.max-e.min),g=!e.hasVisibleSeries,h=b.scroller&&b.scroller.getUnionExtremes()||e,k=h.dataMin,m=h.dataMax;b=a.getYTDExtremes(m,k,b.time.useUTC);var n=b.min,q=b.max,t=a.selected,p=c(t),r=a.options.allButtonsEnabled,v=a.buttons;a.buttonOptions.forEach(function(b,c){var l=b._range,x=b.type,h=b.count||1,y=v[c],z=0,G=b._offsetMax-b._offsetMin;b=c===t;var O=l>m-k,P=l=864E5*{month:28,year:365}[x]*h-G&&f-36E5<=864E5* {month:31,year:366}[x]*h+G?l=!0:"ytd"===x?(l=q-n+G===f,N=!b):"all"===x&&(l=e.max-e.min>=m-k,u=!b&&p&&l);x=!r&&(O||P||u||g);h=b&&l||l&&!p&&!N||b&&a.frozenStates;x?z=3:h&&(p=!0,z=2);y.state!==z&&(y.setState(z),d&&(d.options[c+1].disabled=x,2===z&&(d.selectedIndex=c+1)),0===z&&t===c&&a.setSelected())})};m.prototype.computeButtonRange=function(a){var b=a.type,c=a.count||1,d={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5};if(d[b])a._range=d[b]*c;else if("month"===b||"year"===b)a._range= 864E5*{month:30,year:365}[b]*c;a._offsetMin=I(a.offsetMin,0);a._offsetMax=I(a.offsetMax,0);a._range+=a._offsetMax-a._offsetMin};m.prototype.getInputValue=function(a){a="min"===a?this.minInput:this.maxInput;var b=this.chart.options.rangeSelector,c=this.chart.time;return a?("text"===a.type&&b.inputDateParser||this.defaultInputDateParser)(a.value,c.useUTC,c):0};m.prototype.setInputValue=function(a,b){var c=this.options,d=this.chart.time,e="min"===a?this.minInput:this.maxInput;a="min"===a?this.minDateBox: this.maxDateBox;if(e){var g=e.getAttribute("data-hc-time");g=f(g)?Number(g):void 0;f(b)&&(f(g)&&e.setAttribute("data-hc-time-previous",g),e.setAttribute("data-hc-time",b),g=b);e.value=d.dateFormat(this.inputTypeFormats[e.type]||c.inputEditDateFormat,g);a&&a.attr({text:d.dateFormat(c.inputDateFormat,g)})}};m.prototype.setInputExtremes=function(a,b,c){if(a="min"===a?this.minInput:this.maxInput){var d=this.inputTypeFormats[a.type],l=this.chart.time;d&&(b=l.dateFormat(d,b),a.min!==b&&(a.min=b),c=l.dateFormat(d, c),a.max!==c&&(a.max=c))}};m.prototype.showInput=function(a){var b="min"===a?this.minDateBox:this.maxDateBox;if((a="min"===a?this.minInput:this.maxInput)&&b&&this.inputGroup){var c="text"===a.type,d=this.inputGroup,e=d.translateX;d=d.translateY;k(a,{width:c?b.width-2+"px":"auto",height:c?b.height-2+"px":"auto",border:"2px solid silver"});c?k(a,{left:e+b.x+"px",top:d+"px"}):k(a,{left:Math.min(Math.round(b.x+e-(a.offsetWidth-b.width)/2),this.chart.chartWidth-a.offsetWidth)+"px",top:d-(a.offsetHeight- b.height)/2+"px"})}};m.prototype.hideInput=function(a){(a="min"===a?this.minInput:this.maxInput)&&k(a,{top:"-9999em",border:0,width:"1px",height:"1px"})};m.prototype.defaultInputDateParser=function(a,b,d){var e=a.split("/").join("-").split(" ").join("T");-1===e.indexOf("T")&&(e+="T00:00");if(b)e+="Z";else{var l;if(l=t.isSafari)l=e,l=!(6=l?"+"+F(-l)+":00":"-"+F(l)+":00")}e= Date.parse(e);c(e)||(a=a.split("-"),e=Date.UTC(K(a[0]),K(a[1])-1,K(a[2])));d&&b&&(e+=d.getTimezoneOffset(e));return e};m.prototype.drawInput=function(a){function b(){var b=m.getInputValue(a),d=e.xAxis[0],l=e.scroller&&e.scroller.xAxis?e.scroller.xAxis:d,f=l.dataMin;l=l.dataMax;var g=m.maxInput,x=m.minInput;b!==Number(u.getAttribute("data-hc-time-previous"))&&c(b)&&(u.setAttribute("data-hc-time-previous",b),r&&g&&c(f)?b>Number(g.getAttribute("data-hc-time"))?b=void 0:bl&&(b=l)),"undefined"!==typeof b&&d.setExtremes(r?b:d.min,r?d.max:b,void 0,void 0,{trigger:"rangeSelectorInput"}))}var e=this.chart,f=this.div,h=this.inputGroup,m=this,y=e.renderer.style||{},q=e.renderer,p=e.options.rangeSelector,r="min"===a,v=D.lang[r?"rangeSelectorFrom":"rangeSelectorTo"];v=q.label(v,0).addClass("highcharts-range-label").attr({padding:v?2:0}).add(h);q=q.label("",0).addClass("highcharts-range-input").attr({padding:2,width:p.inputBoxWidth,height:p.inputBoxHeight,"text-align":"center"}).on("click", function(){m.showInput(a);m[a+"Input"].focus()});e.styledMode||q.attr({stroke:p.inputBoxBorderColor,"stroke-width":1});q.add(h);var u=w("input",{name:a,className:"highcharts-range-selector"},void 0,f);u.setAttribute("type",B(p.inputDateFormat||"%b %e, %Y"));e.styledMode||(v.css(d(y,p.labelStyle)),q.css(d({color:n.neutralColor80},y,p.inputStyle)),k(u,g({position:"absolute",border:0,boxShadow:"0 0 15px rgba(0,0,0,0.3)",width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:y.fontSize,fontFamily:y.fontFamily, top:"-9999em"},p.inputStyle)));u.onfocus=function(){m.showInput(a)};u.onblur=function(){u===t.doc.activeElement&&b();m.hideInput(a);m.setInputValue(a);u.blur()};var E=!1;u.onchange=function(){b();E||(m.hideInput(a),u.blur())};u.onkeypress=function(a){13===a.keyCode&&b()};u.onkeydown=function(){E=!0};u.onkeyup=function(){E=!1};return{dateBox:q,input:u,label:v}};m.prototype.getPosition=function(){var a=this.chart,b=a.options.rangeSelector;a="top"===b.verticalAlign?a.plotTop-a.axisOffset[0]:0;return{buttonTop:a+ b.buttonPosition.y,inputTop:a+b.inputPosition.y-10}};m.prototype.getYTDExtremes=function(a,b,c){var d=this.chart.time,e=new d.Date(a),l=d.get("FullYear",e);c=c?d.Date.UTC(l,0,1):+new d.Date(l,0,1);b=Math.max(b,c);e=e.getTime();return{max:Math.min(a||e,e),min:b}};m.prototype.render=function(a,b){var c=this.chart,d=c.renderer,e=c.container,g=c.options,h=g.rangeSelector,k=I(g.chart.style&&g.chart.style.zIndex,0)+1;g=h.inputEnabled;if(!1!==h.enabled){this.rendered||(this.group=d.g("range-selector-group").attr({zIndex:7}).add(), this.div=w("div",void 0,{position:"relative",height:0,zIndex:k}),this.buttonOptions.length&&this.renderButtons(),e.parentNode&&e.parentNode.insertBefore(this.div,e),g&&(this.inputGroup=d.g("input-group").add(this.group),d=this.drawInput("min"),this.minDateBox=d.dateBox,this.minLabel=d.label,this.minInput=d.input,d=this.drawInput("max"),this.maxDateBox=d.dateBox,this.maxLabel=d.label,this.maxInput=d.input));if(g&&(this.setInputValue("min",a),this.setInputValue("max",b),a=c.scroller&&c.scroller.getUnionExtremes()|| c.xAxis[0]||{},f(a.dataMin)&&f(a.dataMax)&&(c=c.xAxis[0].minRange||0,this.setInputExtremes("min",a.dataMin,Math.min(a.dataMax,this.getInputValue("max"))-c),this.setInputExtremes("max",Math.max(a.dataMin,this.getInputValue("min"))+c,a.dataMax)),this.inputGroup)){var m=0;[this.minLabel,this.minDateBox,this.maxLabel,this.maxDateBox].forEach(function(a){a&&a.width&&(a.attr({x:m}),m+=a.width+h.inputSpacing)})}this.alignElements();this.rendered=!0}};m.prototype.renderButtons=function(){var a=this,b=this.buttons, c=this.options,e=D.lang,f=this.chart.renderer,g=d(c.buttonTheme),h=g&&g.states,k=g.width||28;delete g.width;this.buttonGroup=f.g("range-selector-buttons").add(this.group);var m=this.dropdown=w("select",void 0,{position:"absolute",width:"1px",height:"1px",padding:0,border:0,top:"-9999em",cursor:"pointer",opacity:.0001},this.div);p(m,"touchstart",function(){m.style.fontSize="16px"});[[t.isMS?"mouseover":"mouseenter"],[t.isMS?"mouseout":"mouseleave"],["change","click"]].forEach(function(c){var d=c[0], e=c[1];p(m,d,function(){var c=b[a.currentButtonIndex()];c&&q(c.element,e||d)})});this.zoomText=f.text(e.rangeSelectorZoom,0,15).add(this.buttonGroup);this.chart.styledMode||(this.zoomText.css(c.labelStyle),g["stroke-width"]=I(g["stroke-width"],0));w("option",{textContent:this.zoomText.textStr,disabled:!0},void 0,m);this.buttonOptions.forEach(function(c,d){w("option",{textContent:c.title||c.text},void 0,m);b[d]=f.button(c.text,0,0,function(b){var e=c.events&&c.events.click,l;e&&(l=e.call(c,b));!1!== l&&a.clickButton(d);a.isActive=!0},g,h&&h.hover,h&&h.select,h&&h.disabled).attr({"text-align":"center",width:k}).add(a.buttonGroup);c.title&&b[d].attr("title",c.title)})};m.prototype.alignElements=function(){var a=this,b=this.buttonGroup,c=this.buttons,d=this.chart,e=this.group,f=this.inputGroup,g=this.options,h=this.zoomText,k=d.options,m=k.exporting&&!1!==k.exporting.enabled&&k.navigation&&k.navigation.buttonOptions;k=g.buttonPosition;var n=g.inputPosition,q=g.verticalAlign,p=function(b,c){return m&& a.titleCollision(d)&&"top"===q&&"right"===c.align&&c.y-b.getBBox().height-12<(m.y||0)+(m.height||0)+d.spacing[0]?-40:0},t=d.plotLeft;if(e&&k&&n){var r=k.x-d.spacing[3];if(b){this.positionButtons();if(!this.initialButtonGroupWidth){var u=0;h&&(u+=h.getBBox().width+5);c.forEach(function(a,b){u+=a.width;b!==c.length-1&&(u+=g.buttonSpacing)});this.initialButtonGroupWidth=u}t-=d.spacing[3];this.updateButtonStates();h=p(b,k);this.alignButtonGroup(h);e.placed=b.placed=d.hasLoaded}b=0;f&&(b=p(f,n),"left"=== n.align?r=t:"right"===n.align&&(r=-Math.max(d.axisOffset[1],-b)),f.align({y:n.y,width:f.getBBox().width,align:n.align,x:n.x+r-2},!0,d.spacingBox),f.placed=d.hasLoaded);this.handleCollision(b);e.align({verticalAlign:q},!0,d.spacingBox);f=e.alignAttr.translateY;b=e.getBBox().height+20;p=0;"bottom"===q&&(p=(p=d.legend&&d.legend.options)&&"bottom"===p.verticalAlign&&p.enabled&&!p.floating?d.legend.legendHeight+I(p.margin,10):0,b=b+p-20,p=f-b-(g.floating?0:g.y)-(d.titleOffset?d.titleOffset[2]:0)-10);if("top"=== q)g.floating&&(p=0),d.titleOffset&&d.titleOffset[0]&&(p=d.titleOffset[0]),p+=d.margin[0]-d.spacing[0]||0;else if("middle"===q)if(n.y===k.y)p=f;else if(n.y||k.y)p=0>n.y||0>k.y?p-Math.min(n.y,k.y):f-b;e.translate(g.x,g.y+Math.floor(p));k=this.minInput;n=this.maxInput;f=this.dropdown;g.inputEnabled&&k&&n&&(k.style.marginTop=e.translateY+"px",n.style.marginTop=e.translateY+"px");f&&(f.style.marginTop=e.translateY+"px")}};m.prototype.alignButtonGroup=function(a,b){var c=this.chart,d=this.buttonGroup,e= this.options.buttonPosition,f=c.plotLeft-c.spacing[3],g=e.x-c.spacing[3];"right"===e.align?g+=a-f:"center"===e.align&&(g-=f/2);d&&d.align({y:e.y,width:I(b,this.initialButtonGroupWidth),align:e.align,x:g},!0,c.spacingBox)};m.prototype.positionButtons=function(){var a=this.buttons,b=this.chart,c=this.options,d=this.zoomText,e=b.hasLoaded?"animate":"attr",f=c.buttonPosition,g=b.plotLeft,h=g;d&&"hidden"!==d.visibility&&(d[e]({x:I(g+f.x,g)}),h+=f.x+d.getBBox().width+5);this.buttonOptions.forEach(function(b, d){if("hidden"!==a[d].visibility)a[d][e]({x:h}),h+=a[d].width+c.buttonSpacing;else a[d][e]({x:g})})};m.prototype.handleCollision=function(a){var b=this,c=this.chart,d=this.buttonGroup,e=this.inputGroup,f=this.options,g=f.buttonPosition,h=f.dropdown,k=f.inputPosition;f=function(){var a=0;b.buttons.forEach(function(b){b=b.getBBox();b.width>a&&(a=b.width)});return a};var m=function(b){if(e&&d){var c=e.alignAttr.translateX+e.alignOptions.x-a+e.getBBox().x+2,l=e.alignOptions.width,f=d.alignAttr.translateX+ d.getBBox().x;return f+b>c&&c+l>f&&g.y=-a?0:-a),translateY:e.alignAttr.translateY+d.getBBox().height+10})};if(d){if("always"===h){this.collapseButtons(a);m(f())&&n();return}"never"===h&&this.expandButtons()}e&&d?k.align===g.align||m(this.initialButtonGroupWidth+20)?"responsive"===h?(this.collapseButtons(a),m(f())&&n()):n():"responsive"===h&&this.expandButtons():d&&"responsive"===h&&(this.initialButtonGroupWidth> c.plotWidth?this.collapseButtons(a):this.expandButtons())};m.prototype.collapseButtons=function(a){var b,c=this.buttons,d=this.buttonOptions,e=this.dropdown,f=this.options,g=this.zoomText,h=function(a){return{text:a?a+" \u25be":"\u25be",width:"auto",paddingLeft:8,paddingRight:8}};g&&g.hide();var k=!1;d.forEach(function(a,b){b=c[b];2!==b.state?b.hide():(b.show(),b.attr(h(a.text)),k=!0)});k||(e&&(e.selectedIndex=0),c[0].show(),c[0].attr(h(null===(b=this.zoomText)||void 0===b?void 0:b.textStr)));b=f.buttonPosition.align; this.positionButtons();"right"!==b&&"center"!==b||this.alignButtonGroup(a,c[this.currentButtonIndex()].getBBox().width);this.showDropdown()};m.prototype.expandButtons=function(){var a=this.buttons,b=this.buttonOptions,c=this.options,d=this.zoomText;this.hideDropdown();d&&d.show();b.forEach(function(b,d){d=a[d];d.show();d.attr({text:b.text,width:c.buttonTheme.width||28,paddingLeft:"unset",paddingRight:"unset"});2>d.state&&d.setState(0)});this.positionButtons()};m.prototype.currentButtonIndex=function(){var a= this.dropdown;return a&&0e&&0>c||0e&&(p?a=k-g:k=a+g);A(a)&&A(k)||(a=k=void 0);return{min:a,max:k}};return a}();return function(){function a(){}a.compose=function(a){a.keepProps.push("navigatorAxis"); r(a,"init",function(){this.navigatorAxis||(this.navigatorAxis=new D(this))});r(a,"zoom",function(a){var f=this.chart.options,k=f.navigator,e=this.navigatorAxis,g=f.chart.pinchType,m=f.rangeSelector;f=f.chart.zoomType;this.isXAxis&&(k&&k.enabled||m&&m.enabled)&&("y"===f?a.zoomed=!1:(!t&&"xy"===f||t&&"xy"===g)&&this.options.range&&(k=e.previousZoom,h(a.newMin)?e.previousZoom=[this.min,this.max]:k&&(a.newMin=k[0],a.newMax=k[1],e.previousZoom=void 0)));"undefined"!==typeof a.zoomed&&a.preventDefault()})}; a.AdditionsClass=D;return a}()});F(a,"Core/Navigator.js",[a["Core/Axis/Axis.js"],a["Core/Chart/Chart.js"],a["Core/Color/Color.js"],a["Core/Globals.js"],a["Core/Axis/NavigatorAxis.js"],a["Core/Options.js"],a["Core/Color/Palette.js"],a["Core/Scrollbar.js"],a["Core/Series/Series.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,u,t,r,n,h,A,B,D,p,w){t=t.parse;var k=r.hasTouch,f=r.isTouchDevice,v=h.defaultOptions,e=w.addEvent,g=w.clamp,m=w.correctFloat,q=w.defined,c=w.destroyObjectProperties, d=w.erase,b=w.extend,F=w.find,I=w.isArray,K=w.isNumber,L=w.merge,H=w.pick,C=w.removeEvent,M=w.splat,E=function(a){for(var b=[],c=1;cv&&(this.grabbedLeft?c=h.toPixels(b-v-k,!0):this.grabbedRight&&(d=h.toPixels(a+v+k,!0)));this.zoomedMax=g(Math.max(c,d),0,p);this.zoomedMin=g(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(c,d),0,p);this.range=this.zoomedMax-this.zoomedMin;p=Math.round(this.zoomedMax);c=Math.round(this.zoomedMin); n&&(this.navigatorGroup.attr({visibility:"visible"}),t=t&&!this.hasDragged?"animate":"attr",this.drawMasks(c,p,r,t),this.drawOutline(c,p,r,t),this.navigatorOptions.handles.enabled&&(this.drawHandle(c,0,r,t),this.drawHandle(p,1,r,t)));this.scrollbar&&(r?(r=this.top-l,x=this.left-l+(n||!x.opposite?0:(x.titleOffset||0)+x.axisTitleMargin),l=f+2*l):(r=this.top+(n?this.height:-l),x=this.left-l),this.scrollbar.position(x,r,e,l),this.scrollbar.setRange(this.zoomedMin/(f||1),this.zoomedMax/(f||1)));this.rendered= !0}};h.prototype.addMouseEvents=function(){var a=this,b=a.chart,c=b.container,d=[],f,g;a.mouseMoveHandler=f=function(b){a.onMouseMove(b)};a.mouseUpHandler=g=function(b){a.onMouseUp(b)};d=a.getPartsEvents("mousedown");d.push(e(b.renderTo,"mousemove",f),e(c.ownerDocument,"mouseup",g));k&&(d.push(e(b.renderTo,"touchmove",f),e(c.ownerDocument,"touchend",g)),d.concat(a.getPartsEvents("touchstart")));a.eventsToUnbind=d;a.series&&a.series[0]&&d.push(e(a.series[0].xAxis,"foundExtremes",function(){b.navigator.modifyNavigatorAxisExtremes()}))}; h.prototype.getPartsEvents=function(a){var b=this,c=[];["shades","handles"].forEach(function(d){b[d].forEach(function(l,f){c.push(e(l.element,a,function(a){b[d+"Mousedown"](a,f)}))})});return c};h.prototype.shadesMousedown=function(a,b){a=this.chart.pointer.normalize(a);var c=this.chart,d=this.xAxis,e=this.zoomedMin,l=this.left,f=this.size,g=this.range,h=a.chartX;c.inverted&&(h=a.chartY,l=this.top);if(1===b)this.grabbedCenter=h,this.fixedWidth=g,this.dragOffset=h-e;else{a=h-l-g/2;if(0===b)a=Math.max(0, a);else if(2===b&&a+g>=f)if(a=f-g,this.reversedExtremes){a-=g;var k=this.getUnionExtremes().dataMin}else var m=this.getUnionExtremes().dataMax;a!==e&&(this.fixedWidth=g,b=d.navigatorAxis.toFixedRange(a,a+g,k,m),q(b.min)&&c.xAxis[0].setExtremes(Math.min(b.min,b.max),Math.max(b.min,b.max),!0,null,{trigger:"navigator"}))}};h.prototype.handlesMousedown=function(a,b){this.chart.pointer.normalize(a);a=this.chart;var c=a.xAxis[0],d=this.reversedExtremes;0===b?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax, this.fixedExtreme=d?c.min:c.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=d?c.max:c.min);a.fixedRange=null};h.prototype.onMouseMove=function(a){var b=this,c=b.chart,d=b.left,e=b.navigatorSize,l=b.range,g=b.dragOffset,h=c.inverted;a.touches&&0===a.touches[0].pageX||(a=c.pointer.normalize(a),c=a.chartX,h&&(d=b.top,c=a.chartY),b.grabbedLeft?(b.hasDragged=!0,b.render(0,0,c-d,b.otherHandlePos)):b.grabbedRight?(b.hasDragged=!0,b.render(0,0,b.otherHandlePos,c-d)):b.grabbedCenter&& (b.hasDragged=!0,ce+g-l&&(c=e+g-l),b.render(0,0,c-g,c-g+l)),b.hasDragged&&b.scrollbar&&H(b.scrollbar.options.liveRedraw,r.svg&&!f&&!this.chart.isBoosting)&&(a.DOMType=a.type,setTimeout(function(){b.onMouseUp(a)},0)))};h.prototype.onMouseUp=function(a){var b=this.chart,c=this.xAxis,d=this.scrollbar,e=a.DOMEvent||a,f=b.inverted,g=this.rendered&&!this.hasDragged?"animate":"attr";if(this.hasDragged&&(!d||!d.hasDragged)||"scrollbar"===a.trigger){d=this.getUnionExtremes();if(this.zoomedMin===this.otherHandlePos)var l= this.fixedExtreme;else if(this.zoomedMax===this.otherHandlePos)var h=this.fixedExtreme;this.zoomedMax===this.size&&(h=this.reversedExtremes?d.dataMin:d.dataMax);0===this.zoomedMin&&(l=this.reversedExtremes?d.dataMax:d.dataMin);c=c.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,l,h);q(c.min)&&b.xAxis[0].setExtremes(Math.min(c.min,c.max),Math.max(c.min,c.max),!0,this.hasDragged?!1:null,{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:e})}"mousemove"!==a.DOMType&&"touchmove"!==a.DOMType&& (this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null);this.navigatorEnabled&&K(this.zoomedMin)&&K(this.zoomedMax)&&(b=Math.round(this.zoomedMin),a=Math.round(this.zoomedMax),this.shades&&this.drawMasks(b,a,f,g),this.outline&&this.drawOutline(b,a,f,g),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(b,0,f,g),this.drawHandle(a,1,f,g)))};h.prototype.removeEvents= function(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(a){a()}),this.eventsToUnbind=void 0);this.removeBaseSeriesEvents()};h.prototype.removeBaseSeriesEvents=function(){var a=this.baseSeries||[];this.navigatorEnabled&&a[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&a.forEach(function(a){C(a,"updatedData",this.updatedDataHandler)},this),a[0].xAxis&&C(a[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))};h.prototype.init=function(b){var c=b.options,d=c.navigator,f=d.enabled, g=c.scrollbar,h=g.enabled;c=f?d.height:0;var l=h?g.height:0;this.handles=[];this.shades=[];this.chart=b;this.setBaseSeries();this.height=c;this.scrollbarHeight=l;this.scrollbarEnabled=h;this.navigatorEnabled=f;this.navigatorOptions=d;this.scrollbarOptions=g;this.outlineHeight=c+l;this.opposite=H(d.opposite,!(f||!b.inverted));var k=this;f=k.baseSeries;g=b.xAxis.length;h=b.yAxis.length;var m=f&&f[0]&&f[0].xAxis||b.xAxis[0]||{options:{}};b.isDirtyBox=!0;k.navigatorEnabled?(k.xAxis=new a(b,L({breaks:m.options.breaks, ordinal:m.options.ordinal},d.xAxis,{id:"navigator-x-axis",yAxis:"navigator-y-axis",isX:!0,type:"datetime",index:g,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:0,maxPadding:0,zoomEnabled:!1},b.inverted?{offsets:[l,0,-l,0],width:c}:{offsets:[0,-l,0,l],height:c})),k.yAxis=new a(b,L(d.yAxis,{id:"navigator-y-axis",alignTicks:!1,offset:0,index:h,isInternal:!0,reversed:H(d.yAxis&&d.yAxis.reversed,b.yAxis[0]&&b.yAxis[0].reversed,!1),zoomEnabled:!1},b.inverted?{width:c}: {height:c})),f||d.series.data?k.updateNavigatorSeries(!1):0===b.series.length&&(k.unbindRedraw=e(b,"beforeRedraw",function(){0f.indexOf(b)?(b&&(C(b,"updatedData",d.updatedDataHandler),delete b.navigatorSeries),a.chart&&a.destroy(),!1):!0});f&&f.length&&f.forEach(function(a){var p=a.navigatorSeries,q=b({color:a.color,visible:a.visible},I(l)?v.navigator.series: l);p&&!1===d.navigatorOptions.adaptToUpdatedData||(m.name="Navigator "+f.length,g=a.options||{},k=g.navigatorOptions||{},h=L(g,m,q,k),h.pointRange=H(q.pointRange,k.pointRange,v.plotOptions[h.type||"line"].pointRange),q=k.data||q.data,d.hasNavigatorData=d.hasNavigatorData||!!q,h.data=q||g.data&&g.data.slice(0),p&&p.options?p.update(h,c):(a.navigatorSeries=e.initSeries(h),a.navigatorSeries.baseSeries=a,n.push(a.navigatorSeries)))});if(l.data&&(!f||!f.length)||I(l))d.hasNavigatorData=!1,l=M(l),l.forEach(function(a, b){m.name="Navigator "+(n.length+1);h=L(v.navigator.series,{color:e.series[b]&&!e.series[b].options.isInternal&&e.series[b].color||e.options.colors[b]||e.options.colors[0]},m,a);h.data=a.data;h.data&&(d.hasNavigatorData=!0,n.push(e.initSeries(h)))});a&&this.addBaseSeriesEvents()};h.prototype.addBaseSeriesEvents=function(){var a=this,b=a.baseSeries||[];b[0]&&b[0].xAxis&&e(b[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes);b.forEach(function(b){e(b,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0, !1)});e(b,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)});!1!==this.navigatorOptions.adaptToUpdatedData&&b.xAxis&&e(b,"updatedData",this.updatedDataHandler);e(b,"remove",function(){this.navigatorSeries&&(d(a.series,this.navigatorSeries),q(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)})},this)};h.prototype.getBaseSeriesMin=function(a){return this.baseSeries.reduce(function(a,b){return Math.min(a,b.xData?b.xData[0]:a)},a)}; h.prototype.modifyNavigatorAxisExtremes=function(){var a=this.xAxis,b;"undefined"!==typeof a.getExtremes&&(!(b=this.getUnionExtremes(!0))||b.dataMin===a.min&&b.dataMax===a.max||(a.min=b.dataMin,a.max=b.dataMax))};h.prototype.modifyBaseAxisExtremes=function(){var a=this.chart.navigator,b=this.getExtremes(),c=b.dataMin,d=b.dataMax;b=b.max-b.min;var e=a.stickToMin,f=a.stickToMax,g=H(this.options.overscroll,0),h=a.series&&a.series[0],k=!!this.setExtremes;if(!this.eventArgs||"rangeSelectorButton"!==this.eventArgs.trigger){if(e){var m= c;var n=m+b}f&&(n=d+g,e||(m=Math.max(c,n-b,a.getBaseSeriesMin(h&&h.xData?h.xData[0]:-Number.MAX_VALUE))));k&&(e||f)&&K(m)&&(this.min=this.userMin=m,this.max=this.userMax=n)}a.stickToMin=a.stickToMax=null};h.prototype.updatedDataHandler=function(){var a=this.chart.navigator,b=this.navigatorSeries,c=a.getBaseSeriesMin(this.xData[0]);a.stickToMax=a.reversedExtremes?0===Math.round(a.zoomedMin):Math.round(a.zoomedMax)>=Math.round(a.size);a.stickToMin=K(this.xAxis.min)&&this.xAxis.min<=c&&(!this.chart.fixedRange|| !a.stickToMax);b&&!a.hasNavigatorData&&(b.options.pointStart=this.xData[0],b.setData(this.options.data,!1,null,!1))};h.prototype.addChartEvents=function(){this.eventsToUnbind||(this.eventsToUnbind=[]);this.eventsToUnbind.push(e(this.chart,"redraw",function(){var a=this.navigator,b=a&&(a.baseSeries&&a.baseSeries[0]&&a.baseSeries[0].xAxis||this.xAxis[0]);b&&a.render(b.min,b.max)}),e(this.chart,"getMargins",function(){var a=this.navigator,b=a.opposite?"plotTop":"marginBottom";this.inverted&&(b=a.opposite? "marginRight":"plotLeft");this[b]=(this[b]||0)+(a.navigatorEnabled||!this.inverted?a.outlineHeight:0)+a.navigatorOptions.margin}))};h.prototype.destroy=function(){this.removeEvents();this.xAxis&&(d(this.chart.xAxis,this.xAxis),d(this.chart.axes,this.xAxis));this.yAxis&&(d(this.chart.yAxis,this.yAxis),d(this.chart.axes,this.yAxis));(this.series||[]).forEach(function(a){a.destroy&&a.destroy()});"series xAxis yAxis shades outline scrollbarTrack scrollbarRifles scrollbarGroup scrollbar navigatorGroup rendered".split(" ").forEach(function(a){this[a]&& this[a].destroy&&this[a].destroy();this[a]=null},this);[this.handles].forEach(function(a){c(a)},this)};return h}();r.Navigator||(r.Navigator=y,n.compose(a),e(u,"beforeShowResetZoom",function(){var a=this.options,b=a.navigator,c=a.rangeSelector;if((b&&b.enabled||c&&c.enabled)&&(!f&&"x"===a.chart.zoomType||f&&"x"===a.chart.pinchType))return!1}),e(u,"beforeRender",function(){var a=this.options;if(a.navigator.enabled||a.scrollbar.enabled)this.scroller=this.navigator=new y(this)}),e(u,"afterSetChartSize", function(){var a=this.legend,b=this.navigator;if(b){var c=a&&a.options;var d=b.xAxis;var e=b.yAxis;var f=b.scrollbarHeight;this.inverted?(b.left=b.opposite?this.chartWidth-f-b.height:this.spacing[3]+f,b.top=this.plotTop+f):(b.left=this.plotLeft+f,b.top=b.navigatorOptions.top||this.chartHeight-b.height-f-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(c&&"bottom"===c.verticalAlign&&"proximate"!==c.layout&&c.enabled&&!c.floating?a.legendHeight+H(c.margin, 10):0)-(this.titleOffset?this.titleOffset[2]:0));d&&e&&(this.inverted?d.options.left=e.options.left=b.left:d.options.top=e.options.top=b.top,d.setAxisSize(),e.setAxisSize())}}),e(u,"update",function(a){var b=a.options.navigator||{},c=a.options.scrollbar||{};this.navigator||this.scroller||!b.enabled&&!c.enabled||(L(!0,this.options.navigator,b),L(!0,this.options.scrollbar,c),delete a.options.navigator,delete a.options.scrollbar)}),e(u,"afterUpdate",function(a){this.navigator||this.scroller||!this.options.navigator.enabled&& !this.options.scrollbar.enabled||(this.scroller=this.navigator=new y(this),H(a.redraw,!0)&&this.redraw(a.animation))}),e(u,"afterAddSeries",function(){this.navigator&&this.navigator.setBaseSeries(null,!1)}),e(D,"afterUpdate",function(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}),u.prototype.callbacks.push(function(a){var b=a.navigator;b&&a.xAxis[0]&&(a=a.xAxis[0].getExtremes(),b.render(a.min,a.max))}));r.Navigator=y;return r.Navigator});F(a,"masters/modules/gantt.src.js", [],function(){})}); //# sourceMappingURL=gantt.js.map