@canvasjs/stockcharts 1.10.15 → 1.10.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- CanvasJS StockChart - v1.10.15 GA - https://canvasjs.com/
1
+ CanvasJS StockChart - v1.10.16 GA - https://canvasjs.com/
2
2
  Copyright 2024 fenopix
3
3
 
4
4
  --------------------- License Information --------------------
@@ -1,5 +1,5 @@
1
1
  /*
2
- CanvasJS StockChart - v1.10.15 GA - https://canvasjs.com/
2
+ CanvasJS StockChart - v1.10.16 GA - https://canvasjs.com/
3
3
  Copyright 2024 fenopix
4
4
 
5
5
  --------------------- License Information --------------------
@@ -271,115 +271,115 @@ this.axisY2[c].crosshair.render(null,this.sessionVariables.mouseY,this.axisY2[c]
271
271
  "area"===b[c].dataSeries.type||"stepArea"===b[c].dataSeries.type)if(f=na("markerSize",b[c].dataPoint,b[c].dataSeries)||8,b[c].distance<=f/2){e=!0;break}for(c=0;c<b.length;c++)e&&"line"!==b[c].dataSeries.type&&"stepLine"!==b[c].dataSeries.type&&"area"!==b[c].dataSeries.type&&"stepArea"!==b[c].dataSeries.type||(a?b[c].distance<=a.distance&&(a=b[c]):a=b[c]);return a};s.prototype.getObjectAtXY=function(a,e,c){var b=null;if(c=this.getDataPointAtXY(a,e,c||!1))b=c.dataSeries.dataPointIds[c.dataPointIndex];
272
272
  else if(v)b=hb(a,e,this._eventManager.ghostCtx);else for(c=0;c<this.legend.items.length;c++){var f=this.legend.items[c];a>=f.x1&&(a<=f.x2&&e>=f.y1&&e<=f.y2)&&(b=f.id)}return b};s.prototype.getAutoFontSize=lb;s.prototype.resetOverlayedCanvas=function(){this.overlaidCanvasCtx.clearRect(0,0,this.width,this.height)};s.prototype.clearCanvas=kb;s.prototype.attachEvent=function(a){this._events.push(a)};s.prototype._touchEventHandler=function(a){if(a.changedTouches&&this.interactivityEnabled){var e=[],c=
273
273
  a.changedTouches,b=c?c[0]:a,f=null;switch(a.type){case "touchstart":case "MSPointerDown":e=["mousemove","mousedown"];this._lastTouchData=Ba(b);this._lastTouchData.time=new Date;break;case "touchmove":case "MSPointerMove":e=["mousemove"];break;case "touchend":case "MSPointerUp":var k=this._lastTouchData&&this._lastTouchData.time?new Date-this._lastTouchData.time:0,e="touchstart"===this._lastTouchEventType||"MSPointerDown"===this._lastTouchEventType||300>k?["mouseup","click"]:["mouseup"];break;default:return}if(!(c&&
274
- 1<c.length)){f=Ba(b);f.time=new Date;try{var B=f.y-this._lastTouchData.y,k=f.time-this._lastTouchData.time;if(1<Math.abs(B)&&this._lastTouchData.scroll||5<Math.abs(B)&&250>k)this._lastTouchData.scroll=!0}catch(d){}this._lastTouchEventType=a.type;if(this._lastTouchData.scroll&&this.zoomEnabled)this.isDrag&&this.resetOverlayedCanvas(),this.isDrag=!1;else for(c=0;c<e.length;c++)if(f=e[c],B=document.createEvent("MouseEvent"),B.initMouseEvent(f,!0,!0,window,1,b.screenX,b.screenY,b.clientX,b.clientY,!1,
275
- !1,!1,!1,0,null),b.target.dispatchEvent(B),!g(this._lastTouchData.scroll)&&!this._lastTouchData.scroll||!this._lastTouchData.scroll&&250<k||"click"===f)a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.cancelable&&a.preventDefault()}}};s.prototype._dispatchRangeEvent=function(a,e){var c={chart:this};c.type=a;c.trigger=e;var b=[];this.axisX&&0<this.axisX.length&&b.push("axisX");this.axisX2&&0<this.axisX2.length&&b.push("axisX2");this.axisY&&0<this.axisY.length&&b.push("axisY");this.axisY2&&
276
- 0<this.axisY2.length&&b.push("axisY2");for(var f=0;f<b.length;f++)if(g(c[b[f]])&&(c[b[f]]=[]),"axisY"===b[f])for(var k=0;k<this.axisY.length;k++)c[b[f]].push({viewportMinimum:this[b[f]][k].sessionVariables.newViewportMinimum,viewportMaximum:this[b[f]][k].sessionVariables.newViewportMaximum});else if("axisY2"===b[f])for(k=0;k<this.axisY2.length;k++)c[b[f]].push({viewportMinimum:this[b[f]][k].sessionVariables.newViewportMinimum,viewportMaximum:this[b[f]][k].sessionVariables.newViewportMaximum});else if("axisX"===
277
- b[f])for(k=0;k<this.axisX.length;k++)c[b[f]].push({viewportMinimum:this[b[f]][k].sessionVariables.newViewportMinimum,viewportMaximum:this[b[f]][k].sessionVariables.newViewportMaximum});else if("axisX2"===b[f])for(k=0;k<this.axisX2.length;k++)c[b[f]].push({viewportMinimum:this[b[f]][k].sessionVariables.newViewportMinimum,viewportMaximum:this[b[f]][k].sessionVariables.newViewportMaximum});this.dispatchEvent(a,c,this)};s.prototype._mouseEventHandler=function(a){function e(){s.capturedEventParam&&(f=
278
- s.capturedEventParam,B=f.bounds,"mouseup"===b&&(s.capturedEventParam=null,f.chart.overlaidCanvas.releaseCapture?f.chart.overlaidCanvas.releaseCapture():document.documentElement.removeEventListener("mouseup",f.chart._mouseEventHandler,!1)),f.hasOwnProperty(b)&&("mouseup"!==b||f.chart.overlaidCanvas.releaseCapture?a.target!==f.chart.overlaidCanvas&&v||f[b].call(f.context,c.x,c.y):a.target!==f.chart.overlaidCanvas&&(f.chart.isDrag=!1)))}"undefined"===typeof a.target&&a.srcElement&&(a.target=a.srcElement);
279
- var c=Ba(a),b=a.type,f,k;a.which?k=3==a.which:a.button&&(k=2==a.button);if(this._ignoreNextEvent)e(),this._ignoreNextEvent=!1;else if(e(),this.interactivityEnabled){a.preventManipulation&&a.preventManipulation();a.preventDefault&&a.preventDefault();var B;La&&window.console&&(window.console.log(b+" --\x3e x: "+c.x+"; y:"+c.y),k&&window.console.log(a.which),"mouseup"===b&&window.console.log("mouseup"));if(!k){if(!s.capturedEventParam&&this._events){for(k=0;k<this._events.length;k++)if(this._events[k].hasOwnProperty(b))if(f=
280
- this._events[k],B=f.bounds,c.x>=B.x1&&c.x<=B.x2&&c.y>=B.y1&&c.y<=B.y2){f[b].call(f.context,c.x,c.y);"mousedown"===b&&!0===f.capture?(s.capturedEventParam=f,this.overlaidCanvas.setCapture?this.overlaidCanvas.setCapture():document.documentElement.addEventListener("mouseup",this._mouseEventHandler,!1)):"mouseup"===b&&(f.chart.overlaidCanvas.releaseCapture?f.chart.overlaidCanvas.releaseCapture():document.documentElement.removeEventListener("mouseup",this._mouseEventHandler,!1));break}else f=null;a.target.style.cursor=
281
- f&&f.cursor?f.cursor:this._defaultCursor}k=this.plotArea;if(c.x<k.x1||c.x>k.x2||c.y<k.y1||c.y>k.y2){this.toolTip&&this.toolTip.enabled?(this.toolTip.hide(),this.toolTip.dispatchEvent("hidden",{chart:this,toolTip:this.toolTip},this.toolTip)):this.resetOverlayedCanvas();for(k=0;k<this.axisX.length;k++)this.axisX[k].crosshair&&this.axisX[k].crosshair.enabled&&(this.axisX[k].crosshair.hide(),this.axisX[k].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisX[k].options},this.axisX[k].crosshair));
282
- for(k=0;k<this.axisX2.length;k++)this.axisX2[k].crosshair&&this.axisX2[k].crosshair.enabled&&(this.axisX2[k].crosshair.hide(),this.axisX2[k].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisX2[k].options},this.axisX2[k].crosshair));for(k=0;k<this.axisY.length;k++)this.axisY[k].crosshair&&this.axisY[k].crosshair.enabled&&(this.axisY[k].crosshair.hide(),this.axisY[k].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisY[k].options},this.axisY[k].crosshair));for(k=0;k<this.axisY2.length;k++)this.axisY2[k].crosshair&&
283
- this.axisY2[k].crosshair.enabled&&(this.axisY2[k].crosshair.hide(),this.axisY2[k].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisY2[k].options},this.axisY2[k].crosshair))}this.sessionVariables.mouseX=c.x;this.sessionVariables.mouseY=c.y;this.isDrag&&this.zoomEnabled||!this._eventManager||this._eventManager.mouseEventHandler(a)}}};s.prototype._plotAreaMouseDown=function(a,e){this.isDrag=!0;this.dragStartPoint={x:a,y:e}};s.prototype._plotAreaMouseUp=function(a,e){if(("normal"===this.plotInfo.axisPlacement||
284
- "xySwapped"===this.plotInfo.axisPlacement)&&this.isDrag){var c=e-this.dragStartPoint.y,b=a-this.dragStartPoint.x,f=0<=this.zoomType.indexOf("x"),k=0<=this.zoomType.indexOf("y"),B=!1;this.resetOverlayedCanvas();if("xySwapped"===this.plotInfo.axisPlacement)var g=k,k=f,f=g;if(this.panEnabled||this.zoomEnabled){if(this.panEnabled)for(f=k=0;f<this._axes.length;f++)c=this._axes[f],c.logarithmic?c.viewportMinimum<c.minimum?(k=c.minimum/c.viewportMinimum,c.sessionVariables.newViewportMinimum=c.viewportMinimum*
285
- k,c.sessionVariables.newViewportMaximum=c.viewportMaximum*k,B=!0):c.viewportMaximum>c.maximum&&(k=c.viewportMaximum/c.maximum,c.sessionVariables.newViewportMinimum=c.viewportMinimum/k,c.sessionVariables.newViewportMaximum=c.viewportMaximum/k,B=!0):c.viewportMinimum<c.minimum?(k=c.minimum-c.viewportMinimum,c.sessionVariables.newViewportMinimum=c.viewportMinimum+k,c.sessionVariables.newViewportMaximum=c.viewportMaximum+k,B=!0):c.viewportMaximum>c.maximum&&(k=c.viewportMaximum-c.maximum,c.sessionVariables.newViewportMinimum=
286
- c.viewportMinimum-k,c.sessionVariables.newViewportMaximum=c.viewportMaximum-k,B=!0);else if((!f||2<Math.abs(b))&&(!k||2<Math.abs(c))&&this.zoomEnabled){if(!this.dragStartPoint)return;c=f?this.dragStartPoint.x:this.plotArea.x1;b=k?this.dragStartPoint.y:this.plotArea.y1;f=f?a:this.plotArea.x2;k=k?e:this.plotArea.y2;2<Math.abs(c-f)&&2<Math.abs(b-k)&&this._zoomPanToSelectedRegion(c,b,f,k)&&(B=!0)}B&&(this._ignoreNextEvent=!0,this._dispatchRangeEvent("rangeChanging","zoom"),this.stockChart&&(this.stockChart._rangeEventParameter||
287
- (this.stockChart._rangeEventParameter={stockChart:this.stockChart,source:"chart",index:this.stockChart.charts.indexOf(this),minimum:this.stockChart.sessionVariables._axisXMin,maximum:this.stockChart.sessionVariables._axisXMax}),this.stockChart._rangeEventParameter.type="rangeChanging",this.stockChart.dispatchEvent("rangeChanging",this.stockChart._rangeEventParameter,this.stockChart)),this.render(),this._dispatchRangeEvent("rangeChanged","zoom"),this.stockChart&&(this.stockChart.rangeUpdatedBy="chart",
288
- this.stockChart._rangeEventParameter.type="rangeChanged",this.stockChart.dispatchEvent("rangeChanged",this.stockChart._rangeEventParameter,this.stockChart)),B&&(this.zoomEnabled&&"none"===this._zoomButton.style.display)&&(Ta(this._zoomButton,this._resetButton),ya(this,this._zoomButton,"pan"),ya(this,this._resetButton,"reset")))}}this.isDrag=!1;if("none"!==this.plotInfo.axisPlacement){this.resetOverlayedCanvas();if(this.axisX&&0<this.axisX.length)for(B=0;B<this.axisX.length;B++)this.axisX[B].crosshair&&
289
- this.axisX[B].crosshair.enabled&&this.axisX[B].renderCrosshair(a,e);if(this.axisX2&&0<this.axisX2.length)for(B=0;B<this.axisX2.length;B++)this.axisX2[B].crosshair&&this.axisX2[B].crosshair.enabled&&this.axisX2[B].renderCrosshair(a,e);if(this.axisY&&0<this.axisY.length)for(B=0;B<this.axisY.length;B++)this.axisY[B].crosshair&&this.axisY[B].crosshair.enabled&&this.axisY[B].renderCrosshair(a,e);if(this.axisY2&&0<this.axisY2.length)for(B=0;B<this.axisY2.length;B++)this.axisY2[B].crosshair&&this.axisY2[B].crosshair.enabled&&
290
- this.axisY2[B].renderCrosshair(a,e);if(this.axisX&&0<this.axisX.length)for(B=0;B<this.axisX.length;B++)this.axisX[B].crosshair&&this.axisX[B].crosshair.enabled&&this.axisX[B].crosshair.renderLabel();if(this.axisX2&&0<this.axisX2.length)for(B=0;B<this.axisX2.length;B++)this.axisX2[B].crosshair&&this.axisX2[B].crosshair.enabled&&this.axisX2[B].crosshair.renderLabel();if(this.axisY&&0<this.axisY.length)for(B=0;B<this.axisY.length;B++)this.axisY[B].crosshair&&this.axisY[B].crosshair.enabled&&this.axisY[B].crosshair.renderLabel();
291
- if(this.axisY2&&0<this.axisY2.length)for(B=0;B<this.axisY2.length;B++)this.axisY2[B].crosshair&&this.axisY2[B].crosshair.enabled&&this.axisY2[B].crosshair.renderLabel()}};s.prototype._plotAreaMouseMove=function(a,e){if(this.isDrag&&"none"!==this.plotInfo.axisPlacement){var c=0,b=0,f=c=null,f=0<=this.zoomType.indexOf("x"),k=0<=this.zoomType.indexOf("y"),B=this;"xySwapped"===this.plotInfo.axisPlacement&&(c=k,k=f,f=c);c=this.dragStartPoint.x-a;b=this.dragStartPoint.y-e;if(2<Math.abs(c)&&8>Math.abs(c)&&
292
- (this.panEnabled||this.zoomEnabled)){this.toolTip.hide();this.toolTip&&this.toolTip.enabled&&this.toolTip.dispatchEvent("hidden",{chart:this,toolTip:this.toolTip},this.toolTip);for(var g=0;g<this.axisX.length;g++)this.axisX[g].crosshair&&this.axisX[g].crosshair.enabled&&(this.axisX[g].crosshair.hide(),this.axisX[g].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisX[g].options},this.axisX[g].crosshair));for(g=0;g<this.axisX2.length;g++)this.axisX2[g].crosshair&&this.axisX2[g].crosshair.enabled&&
293
- (this.axisX2[g].crosshair.hide(),this.axisX2[g].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisX2[g].options},this.axisX2[g].crosshair));for(g=0;g<this.axisY.length;g++)this.axisY[g].crosshair&&this.axisY[g].crosshair.enabled&&(this.axisY[g].crosshair.hide(),this.axisY[g].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisY[g].options},this.axisY[g].crosshair));for(g=0;g<this.axisY2.length;g++)this.axisY2[g].crosshair&&this.axisY2[g].crosshair.enabled&&(this.axisY2[g].crosshair.hide(),
294
- this.axisY2[g].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisY2[g].options},this.axisY2[g].crosshair))}else this.panEnabled||this.zoomEnabled||this.toolTip.mouseMoveHandler(a,e);if((!f||2<Math.abs(c)||!k||2<Math.abs(b))&&(this.panEnabled||this.zoomEnabled))if(this.panEnabled)f={x1:f?this.plotArea.x1+c:this.plotArea.x1,y1:k?this.plotArea.y1+b:this.plotArea.y1,x2:f?this.plotArea.x2+c:this.plotArea.x2,y2:k?this.plotArea.y2+b:this.plotArea.y2},clearTimeout(B._panTimerId),B._panTimerId=setTimeout(function(b,
295
- c,f,h){return function(){B._zoomPanToSelectedRegion(b,c,f,h,!0)&&(B._dispatchRangeEvent("rangeChanging","pan"),B.stockChart&&(B.stockChart._rangeEventParameter.type="rangeChanging",B.stockChart.dispatchEvent("rangeChanging",B.stockChart._rangeEventParameter,B.stockChart)),B.render(),B._dispatchRangeEvent("rangeChanged","pan"),B.stockChart&&(B.stockChart._rangeEventParameter.type="rangeChanged",B.stockChart.dispatchEvent("rangeChanged",B.stockChart._rangeEventParameter,B.stockChart)),B.dragStartPoint.x=
296
- a,B.dragStartPoint.y=e)}}(f.x1,f.y1,f.x2,f.y2),0);else if(this.zoomEnabled){this.resetOverlayedCanvas();c=this.overlaidCanvasCtx.globalAlpha;this.overlaidCanvasCtx.fillStyle="#A89896";var b=f?this.dragStartPoint.x:this.plotArea.x1,g=k?this.dragStartPoint.y:this.plotArea.y1,d=f?a-this.dragStartPoint.x:this.plotArea.x2-this.plotArea.x1,n=k?e-this.dragStartPoint.y:this.plotArea.y2-this.plotArea.y1;this.validateRegion(b,g,f?a:this.plotArea.x2-this.plotArea.x1,k?e:this.plotArea.y2-this.plotArea.y1,"xy"!==
297
- this.zoomType).isValid&&(this.resetOverlayedCanvas(),this.overlaidCanvasCtx.fillStyle="#99B2B5");this.overlaidCanvasCtx.globalAlpha=0.7;this.overlaidCanvasCtx.fillRect(b,g,d,n);this.overlaidCanvasCtx.globalAlpha=c}}else if(this.toolTip.mouseMoveHandler(a,e),"none"!==this.plotInfo.axisPlacement){this.sessionVariables.crosshairShownByPixel=!0;if(this.axisX&&0<this.axisX.length)for(f=0;f<this.axisX.length;f++)this.axisX[f].crosshair&&this.axisX[f].crosshair.enabled&&this.axisX[f].renderCrosshair(a,e);
298
- if(this.axisX2&&0<this.axisX2.length)for(f=0;f<this.axisX2.length;f++)this.axisX2[f].crosshair&&this.axisX2[f].crosshair.enabled&&this.axisX2[f].renderCrosshair(a,e);if(this.axisY&&0<this.axisY.length)for(f=0;f<this.axisY.length;f++)this.axisY[f].crosshair&&this.axisY[f].crosshair.enabled&&this.axisY[f].renderCrosshair(a,e);if(this.axisY2&&0<this.axisY2.length)for(f=0;f<this.axisY2.length;f++)this.axisY2[f].crosshair&&this.axisY2[f].crosshair.enabled&&this.axisY2[f].renderCrosshair(a,e);if(this.axisX&&
299
- 0<this.axisX.length)for(f=0;f<this.axisX.length;f++)this.axisX[f].crosshair&&this.axisX[f].crosshair.enabled&&this.axisX[f].crosshair.renderLabel();if(this.axisX2&&0<this.axisX2.length)for(f=0;f<this.axisX2.length;f++)this.axisX2[f].crosshair&&this.axisX2[f].crosshair.enabled&&this.axisX2[f].crosshair.renderLabel();if(this.axisY&&0<this.axisY.length)for(f=0;f<this.axisY.length;f++)this.axisY[f].crosshair&&this.axisY[f].crosshair.enabled&&this.axisY[f].crosshair.renderLabel();if(this.axisY2&&0<this.axisY2.length)for(f=
300
- 0;f<this.axisY2.length;f++)this.axisY2[f].crosshair&&this.axisY2[f].crosshair.enabled&&this.axisY2[f].crosshair.renderLabel()}};s.prototype._zoomPanToSelectedRegion=function(a,e,c,b,f){a=this.validateRegion(a,e,c,b,f);e=a.axesWithValidRange;c=a.axesRanges;if(a.isValid)for(b=0;b<e.length;b++)f=c[b],e[b].setViewPortRange(f.val1,f.val2),this.syncCharts&&"y"!=this.zoomType&&this.syncCharts(f.val1,f.val2),this.stockChart&&(this.stockChart._rangeEventParameter={stockChart:this.stockChart,source:"chart",
301
- index:this.stockChart.charts.indexOf(this),minimum:f.val1,maximum:f.val2});return a.isValid};s.prototype.validateRegion=function(a,e,c,b,f){f=f||!1;for(var k=0<=this.zoomType.indexOf("x"),g=0<=this.zoomType.indexOf("y"),d=!1,J=[],n=[],q=[],p=0;p<this._axes.length;p++)("axisX"===this._axes[p].type&&k||"axisY"===this._axes[p].type&&g)&&n.push(this._axes[p]);for(g=0;g<n.length;g++){var p=n[g],k=!1,r=p.convertPixelToValue({x:a,y:e}),h=p.convertPixelToValue({x:c,y:b});if(r>h)var z=h,h=r,r=z;if(p.scaleBreaks)for(z=
302
- 0;!k&&z<p.scaleBreaks._appliedBreaks.length;z++)k=p.scaleBreaks._appliedBreaks[z].startValue<=r&&p.scaleBreaks._appliedBreaks[z].endValue>=h;if(isFinite(p.dataInfo.minDiff))if(z=p.getApparentDifference(r,h,null,!0),!(k||!(this.panEnabled&&p.scaleBreaks&&p.scaleBreaks._appliedBreaks.length)&&(p.logarithmic&&z<Math.pow(p.dataInfo.minDiff,3)||!p.logarithmic&&z<3*Math.abs(p.dataInfo.minDiff))||r<p.minimum||h>p.maximum))J.push(p),q.push({val1:r,val2:h}),d=!0;else if(!f){d=!1;break}}return{isValid:d,axesWithValidRange:J,
303
- axesRanges:q}};s.prototype.preparePlotArea=function(){var a=this.plotArea;!v&&(0<a.x1||0<a.y1)&&a.ctx.translate(a.x1,a.y1);if((this.axisX[0]||this.axisX2[0])&&(this.axisY[0]||this.axisY2[0])){var e=this.axisX[0]?this.axisX[0].lineCoordinates:this.axisX2[0].lineCoordinates;if(this.axisY&&0<this.axisY.length&&this.axisY[0]){var c=this.axisY[0];a.x1=e.x1<e.x2?e.x1:c.lineCoordinates.x1;a.y1=e.y1<c.lineCoordinates.y1?e.y1:c.lineCoordinates.y1;a.x2=e.x2>c.lineCoordinates.x2?e.x2:c.lineCoordinates.x2;a.y2=
304
- e.y1>c.lineCoordinates.y2?e.y1:c.lineCoordinates.y2;a.width=a.x2-a.x1;a.height=a.y2-a.y1}this.axisY2&&0<this.axisY2.length&&this.axisY2[0]&&(c=this.axisY2[0],a.x1=e.x1<e.x2?e.x1:c.lineCoordinates.x1,a.y1=e.y1<c.lineCoordinates.y1?e.y1:c.lineCoordinates.y1,a.x2=e.x2>c.lineCoordinates.x2?e.x2:c.lineCoordinates.x2,a.y2=e.y2>c.lineCoordinates.y2?e.y2:c.lineCoordinates.y2,a.width=a.x2-a.x1,a.height=a.y2-a.y1)}else e=this.layoutManager.getFreeSpace(),a.x1=e.x1,a.x2=e.x2,a.y1=e.y1,a.y2=e.y2,a.width=e.width,
305
- a.height=e.height;v||(a.canvas.width=a.width,a.canvas.height=a.height,a.canvas.style.left=a.x1+"px",a.canvas.style.top=a.y1+"px",(0<a.x1||0<a.y1)&&a.ctx.translate(-a.x1,-a.y1));a.layoutManager=new Ka(a.x1,a.y1,a.x2,a.y2,2)};s.prototype.renderIndexLabels=function(a){var e=a||this.plotArea.ctx,c=this.plotArea,b=0,f=0,k=0,B=f=k=0,d=0,J=b=0,n=0;for(a=0;a<this._indexLabels.length;a++){var q=this._indexLabels[a],p=q.chartType.toLowerCase(),r,h,d=na("indexLabelFontColor",q.dataPoint,q.dataSeries),C=na("indexLabelFontSize",
306
- q.dataPoint,q.dataSeries),J=na("indexLabelFontFamily",q.dataPoint,q.dataSeries),n=na("indexLabelFontStyle",q.dataPoint,q.dataSeries);r=na("indexLabelFontWeight",q.dataPoint,q.dataSeries);var l=na("indexLabelBackgroundColor",q.dataPoint,q.dataSeries);h=na("indexLabelBorderColor",q.dataPoint,q.dataSeries);var k=na("indexLabelBorderThickness",q.dataPoint,q.dataSeries),f=na("indexLabelMaxWidth",q.dataPoint,q.dataSeries),B=na("indexLabelWrap",q.dataPoint,q.dataSeries),t=na("indexLabelLineDashType",q.dataPoint,
307
- q.dataSeries),u=na("indexLabelLineColor",q.dataPoint,q.dataSeries),m=g(q.dataPoint.indexLabelLineThickness)?g(q.dataSeries.options.indexLabelLineThickness)?0:q.dataSeries.options.indexLabelLineThickness:q.dataPoint.indexLabelLineThickness,b=0<m?Math.min(10,("normal"===this.plotInfo.axisPlacement?this.plotArea.height:this.plotArea.width)<<0):0,x={percent:null,total:null},w=null;if(0<=q.dataSeries.type.indexOf("stacked")||"pie"===q.dataSeries.type||"doughnut"===q.dataSeries.type)x=this.getPercentAndTotal(q.dataSeries,
308
- q.dataPoint);if(q.dataSeries.indexLabelFormatter||q.dataPoint.indexLabelFormatter)w={chart:this,dataSeries:q.dataSeries,dataPoint:q.dataPoint,index:q.indexKeyword,total:x.total,percent:x.percent};var s=q.dataPoint.indexLabelFormatter?q.dataPoint.indexLabelFormatter(w):q.dataPoint.indexLabel?this.replaceKeywordsWithValue(q.dataPoint.indexLabel,q.dataPoint,q.dataSeries,null,q.indexKeyword):q.dataSeries.indexLabelFormatter?q.dataSeries.indexLabelFormatter(w):q.dataSeries.indexLabel?this.replaceKeywordsWithValue(q.dataSeries.indexLabel,
309
- q.dataPoint,q.dataSeries,null,q.indexKeyword):null;if(null!==s&&""!==s){var x=na("indexLabelPlacement",q.dataPoint,q.dataSeries),w=na("indexLabelOrientation",q.dataPoint,q.dataSeries),D=na("indexLabelTextAlign",q.dataPoint,q.dataSeries),y=q.direction,A=q.dataSeries.axisX,M=q.dataSeries.axisY,S=!1,l=new ka(e,{x:0,y:0,maxWidth:f?f:0.5*this.width,maxHeight:B?5*C:1.5*C,angle:"horizontal"===w?0:-90,text:s,padding:0,backgroundColor:l,borderColor:h,borderThickness:k,textAlign:D,fontSize:C,fontFamily:J,fontWeight:r,
310
- fontColor:d,fontStyle:n,textBaseline:"middle"});l.measureText();q.dataSeries.indexLabelMaxWidth=l.maxWidth;if("stackedarea100"===p){if(q.point.x<c.x1||q.point.x>c.x2||q.point.y<c.y1-1||q.point.y>c.y2+1)continue}else if("rangearea"===p||"rangesplinearea"===p){if(q.dataPoint.x<A.viewportMinimum||q.dataPoint.x>A.viewportMaximum||Math.max.apply(null,q.dataPoint.y)<M.viewportMinimum||Math.min.apply(null,q.dataPoint.y)>M.viewportMaximum)continue}else if(0<=p.indexOf("line")||0<=p.indexOf("area")||0<=p.indexOf("bubble")||
311
- 0<=p.indexOf("scatter")){if(q.dataPoint.x<A.viewportMinimum||q.dataPoint.x>A.viewportMaximum||q.dataPoint.y<M.viewportMinimum||q.dataPoint.y>M.viewportMaximum)continue}else if(0<=p.indexOf("column")){if(q.dataPoint.x<A.viewportMinimum||q.dataPoint.x>A.viewportMaximum||(0<q.dataPoint.y.length?Math.max.apply(null,q.dataPoint.y):q.dataPoint.y)<M.viewportMinimum||(0<q.dataPoint.y.length?Math.max.apply(null,q.dataPoint.y):q.dataPoint.y)>M.viewportMaximum)continue}else if("waterfall"===p||"error"===p&&
312
- !q.axisSwapped){if(q.dataPoint.x<A.viewportMinimum||q.dataPoint.x>A.viewportMaximum||q.bounds.y1>c.y2||q.bounds.y2<c.y1)continue}else if(0<=p.indexOf("bar")||"error"===p){if(q.dataPoint.x<A.viewportMinimum||q.dataPoint.x>A.viewportMaximum||q.bounds.x1>c.x2||q.bounds.x2<c.x1)continue}else if("candlestick"===p||"ohlc"===p){if(q.dataPoint.x<A.viewportMinimum||q.dataPoint.x>A.viewportMaximum||Math.max.apply(null,q.dataPoint.y)<M.viewportMinimum||Math.min.apply(null,q.dataPoint.y)>M.viewportMaximum)continue}else if(q.dataPoint.x<
313
- A.viewportMinimum||q.dataPoint.x>A.viewportMaximum)continue;B=d=2;"horizontal"===w?(J=l.width,n=l.height):(n=l.width,J=l.height);if("normal"===this.plotInfo.axisPlacement){if(0<=p.indexOf("line")||0<=p.indexOf("area"))x="auto",d=4;else if(0<=p.indexOf("stacked"))"auto"===x&&(x="inside");else if("bubble"===p||"scatter"===p)x="inside";r=q.point.x-J/2+("horizontal"===w?0:l._lineHeight/2);if("inside"!==x)f=c.y1,k=c.y2,0<y?(h=q.point.y+l._lineHeight/2-n-d-b,h<f&&(h="auto"===x?Math.max(q.point.y,f)+l._lineHeight/
314
- 2+d+b:f+l._lineHeight/2+d+b,S=h+("horizontal"===w?n-l._lineHeight/2:0)>q.point.y,!S||(0<=p.indexOf("line")||0<=p.indexOf("area"))||(h-=b))):(h=q.point.y+l._lineHeight/2+d+b,h>k-n+l._lineHeight/2-d&&(h="auto"===x?Math.min(q.point.y,k)+l._lineHeight/2-n-d-b:k+l._lineHeight/2-n-d-b,S=h-("horizontal"===w?l._lineHeight/2:n)<q.point.y,!S||(0<=p.indexOf("line")||0<=p.indexOf("area"))||(h+=b)));else{Math.max(q.bounds.y1,c.y1);k=Math.min(q.bounds.y2,c.y2)-n+l._lineHeight/2;b=0<=p.indexOf("range")||"error"===
315
- p?0<y?Math.max(q.bounds.y1,c.y1)+l._lineHeight/2+d:Math.min(q.bounds.y2,c.y2)+l._lineHeight/2-n-d:(Math.max(q.bounds.y1,c.y1)+Math.min(q.bounds.y2,c.y2))/2-n/2+l._lineHeight/2;if(0<y){if(h=b,"bubble"===p||"scatter"===p)h=q.point.y-n/2+l._lineHeight/2,n>q.bounds.y2-q.bounds.y1&&(h-=n/2+d),0>h-l._lineHeight/2&&(h+=Math.abs(h-l._lineHeight/2)<=(q.bounds.y2-q.bounds.y1)/2+d?Math.abs(h-l._lineHeight/2):(q.bounds.y2-q.bounds.y1)/2+d)}else h=Math.min(q.point.y,b),h>k-n-d&&("bubble"===p||"scatter"===p)&&
316
- (h=Math.min(q.point.y+d,c.y2-n-d));h=Math.min(h,k)}}else 0<=p.indexOf("line")||0<=p.indexOf("area")||0<=p.indexOf("scatter")?(x="auto",B=4):0<=p.indexOf("stacked")?"auto"===x&&(x="inside"):"bubble"===p&&(x="inside"),h=q.point.y+l._lineHeight/2-n/2,"inside"!==x?(k=c.x1,f=c.x2,0>y?(r=q.point.x-J+("horizontal"===w?0:l._lineHeight/2)-B-b,("horizontal"===w?r:r-l._lineHeight/2)<k&&(r="auto"===x?Math.max(q.point.x,k)+("horizontal"===w?0:l._lineHeight/2)+d+b:k+("horizontal"===w?0:l._lineHeight/2)+B,(S=r+
317
- J-("horizontal"===w?0:l._lineHeight/2)>q.point.x)&&(r-=b))):(r=q.point.x+("horizontal"===w?0:l._lineHeight/2)+B+b,("horizontal"===w?r:r-l._lineHeight/2)>f-J-B-b&&(r="auto"===x?Math.min(q.point.x,f)-("horizontal"===w?J:J-l._lineHeight/2)-B-b:f-J-B+("horizontal"===w?0:l._lineHeight/2),(S=r-("horizontal"===w?0:l._lineHeight/2)<q.point.x)&&(r+=b)))):(k=Math.max(q.bounds.x1,c.x1),Math.min(q.bounds.x2,c.x2),b=0<=p.indexOf("range")||"error"===p?0>y?Math.max(q.bounds.x1,c.x1):Math.min(q.bounds.x2,c.x2)-J-
318
- B+("horizontal"===w?0:l._lineHeight/2):(Math.max(q.bounds.x1,c.x1)+Math.min(q.bounds.x2,c.x2))/2-J/2+("horizontal"===w?0:l._lineHeight/2),r=0>y?b:Math.min(q.point.x,b),r=Math.max(r,k+("horizontal"===w?0:l._lineHeight/2+d)));"vertical"===w&&(h+=n-l._lineHeight/2,0<="ohlc candlestick boxandwhisker column rangecolumn stackedcolumn stackedcolumn100 error".split(" ").indexOf(p)&&(S=0<y?h+("horizontal"===w?n-l._lineHeight/2:0)>q.point.y:h-("horizontal"===w?l._lineHeight/2:n)<q.point.y),"bubble"===p||"scatter"===
319
- p)&&(r+=l._lineHeight/2-C/2);l.x=r;l.y=h;l.render(!0);m&&("inside"!==x&&(0>p.indexOf("bar")&&("error"!==p||!q.axisSwapped)&&q.point.x>c.x1&&q.point.x<c.x2||!S)&&(-1==="ohlc candlestick boxandwhisker column rangecolumn stackedcolumn stackedcolumn100 error".split(" ").indexOf(p)&&("error"!==p||q.axisSwapped)&&q.point.y>c.y1&&q.point.y<c.y2||!S))&&(e.lineWidth=m,e.strokeStyle=u?u:"gray",e.setLineDash&&e.setLineDash(U(t,m)),e.beginPath(),e.moveTo(q.point.x,q.point.y),0<=p.indexOf("bar")||"error"===p&&
320
- q.axisSwapped?e.lineTo(r+(0<q.direction?0:J)+("vertical"===w?-l._lineHeight/2:0),h+("vertical"===w?-n/2:n/2-l._lineHeight/2)):0<=p.indexOf("column")||"error"===p&&!q.axisSwapped?e.lineTo(r+J/2-("horizontal"===w?0:l._lineHeight/2),h+("vertical"===w?h-n<q.point.y?0:-n:(h-l._lineHeight/2<q.point.y?n:0)-l._lineHeight/2)):0<=p.indexOf("waterfall")?e.lineTo(r+J/2-("horizontal"===w?0:l._lineHeight/2),"vertical"===w?0<y&&h<q.point.y?h:0>y&&h-n>q.point.y?h-n:q.point.y:0<y&&h+n-l._lineHeight/2<q.point.y?h+
321
- n-l._lineHeight/2:0>y&&h-l._lineHeight/2>q.point.y?h-l._lineHeight/2:q.point.y):e.lineTo(r+J/2-("horizontal"===w?0:l._lineHeight/2),h+("vertical"===w?h-n<q.point.y?0:-n:(h+n-l._lineHeight/2<q.point.y?n:0)-l._lineHeight/2)),e.stroke())}}e={source:e,dest:this.plotArea.ctx,animationCallback:z.fadeInAnimation,easingFunction:z.easing.easeInQuad,animationBase:0,startTimePercent:0.7};for(a=0;a<this._indexLabels.length;a++)q=this._indexLabels[a],l=na("indexLabelBackgroundColor",q.dataPoint,q.dataSeries),
322
- q.dataSeries.indexLabelBackgroundColor=g(l)?v?"transparent":null:l;return e};s.prototype.renderLine=function(a){var e=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:e;if(!(0>=a.dataSeriesIndexes.length)){var b=this._eventManager.ghostCtx;c.save();var f=this.plotArea;c.beginPath();c.rect(f.x1,f.y1,f.width,f.height);c.clip();for(var k=[],g,d=0;d<a.dataSeriesIndexes.length;d++){var J=a.dataSeriesIndexes[d],n=this.data[J];c.lineWidth=n.lineThickness;var q=n.dataPoints,p="solid";if(c.setLineDash){var r=
323
- U(n.nullDataLineDashType,n.lineThickness),p=n.lineDashType,h=U(p,n.lineThickness);c.setLineDash(h)}var C=n.id;this._eventManager.objectMap[C]={objectType:"dataSeries",dataSeriesIndex:J};C=V(C);b.strokeStyle=C;b.lineWidth=0<n.lineThickness?Math.max(n.lineThickness,4):0;var C=n._colorSet,t=C=n.lineColor=n.options.lineColor?n.options.lineColor:C[0];c.strokeStyle=C;var m=!0,u=0,E,x;c.beginPath();if(0<q.length){for(var w=!1,u=0;u<q.length;u++)if(E=q[u].x.getTime?q[u].x.getTime():q[u].x,!(E<a.axisX.dataInfo.viewPortMin||
324
- E>a.axisX.dataInfo.viewPortMax&&(!n.connectNullData||!w)))if("number"!==typeof q[u].y)0<u&&!(n.connectNullData||w||m)&&(c.stroke(),v&&b.stroke()),w=!0;else{E=a.axisX.convertValueToPixel(E);x=a.axisY.convertValueToPixel(q[u].y);var s=n.dataPointIds[u];this._eventManager.objectMap[s]={id:s,objectType:"dataPoint",dataSeriesIndex:J,dataPointIndex:u,x1:E,y1:x};m||w?(!m&&n.connectNullData?(c.setLineDash&&(n.options.nullDataLineDashType||p===n.lineDashType&&n.lineDashType!==n.nullDataLineDashType)&&(c.stroke(),
325
- c.beginPath(),c.moveTo(g.x,g.y),p=n.nullDataLineDashType,c.setLineDash(r)),c.lineTo(E,x),v&&b.lineTo(E,x)):(c.beginPath(),c.moveTo(E,x),v&&(b.beginPath(),b.moveTo(E,x))),w=m=!1):(c.lineTo(E,x),v&&b.lineTo(E,x),0==u%500&&(c.stroke(),c.beginPath(),c.moveTo(E,x),v&&(b.stroke(),b.beginPath(),b.moveTo(E,x))));g={x:E,y:x};u<q.length-1&&(t!==(q[u].lineColor||C)||p!==(q[u].lineDashType||n.lineDashType))&&(c.stroke(),c.beginPath(),c.moveTo(E,x),t=q[u].lineColor||C,c.strokeStyle=t,c.setLineDash&&(q[u].lineDashType?
326
- (p=q[u].lineDashType,c.setLineDash(U(p,n.lineThickness))):(p=n.lineDashType,c.setLineDash(h))));if(0!==q[u].markerSize&&(0<q[u].markerSize||0<n.markerSize)){var D=n.getMarkerProperties(u,E,x,c);k.push(D);s=V(s);v&&k.push({x:E,y:x,ctx:b,type:D.type,size:D.size,color:s,borderColor:s,borderThickness:D.borderThickness})}(q[u].indexLabel||n.indexLabel||q[u].indexLabelFormatter||n.indexLabelFormatter)&&this._indexLabels.push({chartType:"line",dataPoint:q[u],dataSeries:n,point:{x:E,y:x},direction:0>q[u].y===
327
- a.axisY.reversed?1:-1,color:C})}c.stroke();v&&b.stroke()}}l.drawMarkers(k);v&&(e.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(f.x1,f.y1,f.width,f.height),b.beginPath());c.restore();
328
- c.beginPath();return{source:e,dest:this.plotArea.ctx,animationCallback:z.xClipAnimation,easingFunction:z.easing.linear,animationBase:0}}};s.prototype.renderStepLine=function(a){var e=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:e;if(!(0>=a.dataSeriesIndexes.length)){var b=this._eventManager.ghostCtx;c.save();var f=this.plotArea;c.beginPath();c.rect(f.x1,f.y1,f.width,f.height);c.clip();for(var k=[],g,d=0;d<a.dataSeriesIndexes.length;d++){var J=a.dataSeriesIndexes[d],n=this.data[J];c.lineWidth=
274
+ 1<c.length)){f=Ba(b);f.time=new Date;try{var B=f.y-this._lastTouchData.y,k=f.time-this._lastTouchData.time;if(1<Math.abs(B)&&this._lastTouchData.scroll||5<Math.abs(B)&&250>k)this._lastTouchData.scroll=!0,this.stockChart&&(this.stockChart._chartScroll=!0)}catch(d){}this._lastTouchEventType=a.type;if(this._lastTouchData.scroll&&this.zoomEnabled)this.isDrag&&this.resetOverlayedCanvas(),this.isDrag=!1;else for(c=0;c<e.length;c++)if(f=e[c],B=document.createEvent("MouseEvent"),B.initMouseEvent(f,!0,!0,
275
+ window,1,b.screenX,b.screenY,b.clientX,b.clientY,!1,!1,!1,!1,0,null),b.target.dispatchEvent(B),!g(this._lastTouchData.scroll)&&!this._lastTouchData.scroll||!this._lastTouchData.scroll&&250<k||"click"===f)a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.cancelable&&a.preventDefault(),this.stockChart&&(this.stockChart._chartScroll=null)}}};s.prototype._dispatchRangeEvent=function(a,e){var c={chart:this};c.type=a;c.trigger=e;var b=[];this.axisX&&0<this.axisX.length&&b.push("axisX");
276
+ this.axisX2&&0<this.axisX2.length&&b.push("axisX2");this.axisY&&0<this.axisY.length&&b.push("axisY");this.axisY2&&0<this.axisY2.length&&b.push("axisY2");for(var f=0;f<b.length;f++)if(g(c[b[f]])&&(c[b[f]]=[]),"axisY"===b[f])for(var k=0;k<this.axisY.length;k++)c[b[f]].push({viewportMinimum:this[b[f]][k].sessionVariables.newViewportMinimum,viewportMaximum:this[b[f]][k].sessionVariables.newViewportMaximum});else if("axisY2"===b[f])for(k=0;k<this.axisY2.length;k++)c[b[f]].push({viewportMinimum:this[b[f]][k].sessionVariables.newViewportMinimum,
277
+ viewportMaximum:this[b[f]][k].sessionVariables.newViewportMaximum});else if("axisX"===b[f])for(k=0;k<this.axisX.length;k++)c[b[f]].push({viewportMinimum:this[b[f]][k].sessionVariables.newViewportMinimum,viewportMaximum:this[b[f]][k].sessionVariables.newViewportMaximum});else if("axisX2"===b[f])for(k=0;k<this.axisX2.length;k++)c[b[f]].push({viewportMinimum:this[b[f]][k].sessionVariables.newViewportMinimum,viewportMaximum:this[b[f]][k].sessionVariables.newViewportMaximum});this.dispatchEvent(a,c,this)};
278
+ s.prototype._mouseEventHandler=function(a){function e(){s.capturedEventParam&&(f=s.capturedEventParam,B=f.bounds,"mouseup"===b&&(s.capturedEventParam=null,f.chart.overlaidCanvas.releaseCapture?f.chart.overlaidCanvas.releaseCapture():document.documentElement.removeEventListener("mouseup",f.chart._mouseEventHandler,!1)),f.hasOwnProperty(b)&&("mouseup"!==b||f.chart.overlaidCanvas.releaseCapture?a.target!==f.chart.overlaidCanvas&&v||f[b].call(f.context,c.x,c.y):a.target!==f.chart.overlaidCanvas&&(f.chart.isDrag=
279
+ !1)))}"undefined"===typeof a.target&&a.srcElement&&(a.target=a.srcElement);var c=Ba(a),b=a.type,f,k;a.which?k=3==a.which:a.button&&(k=2==a.button);if(this._ignoreNextEvent)e(),this._ignoreNextEvent=!1;else if(e(),this.interactivityEnabled){a.preventManipulation&&a.preventManipulation();a.preventDefault&&a.preventDefault();var B;La&&window.console&&(window.console.log(b+" --\x3e x: "+c.x+"; y:"+c.y),k&&window.console.log(a.which),"mouseup"===b&&window.console.log("mouseup"));if(!k){if(!s.capturedEventParam&&
280
+ this._events){for(k=0;k<this._events.length;k++)if(this._events[k].hasOwnProperty(b))if(f=this._events[k],B=f.bounds,c.x>=B.x1&&c.x<=B.x2&&c.y>=B.y1&&c.y<=B.y2){f[b].call(f.context,c.x,c.y);"mousedown"===b&&!0===f.capture?(s.capturedEventParam=f,this.overlaidCanvas.setCapture?this.overlaidCanvas.setCapture():document.documentElement.addEventListener("mouseup",this._mouseEventHandler,!1)):"mouseup"===b&&(f.chart.overlaidCanvas.releaseCapture?f.chart.overlaidCanvas.releaseCapture():document.documentElement.removeEventListener("mouseup",
281
+ this._mouseEventHandler,!1));break}else f=null;a.target.style.cursor=f&&f.cursor?f.cursor:this._defaultCursor}k=this.plotArea;if(c.x<k.x1||c.x>k.x2||c.y<k.y1||c.y>k.y2){this.toolTip&&this.toolTip.enabled?(this.toolTip.hide(),this.toolTip.dispatchEvent("hidden",{chart:this,toolTip:this.toolTip},this.toolTip)):this.resetOverlayedCanvas();for(k=0;k<this.axisX.length;k++)this.axisX[k].crosshair&&this.axisX[k].crosshair.enabled&&(this.axisX[k].crosshair.hide(),this.axisX[k].crosshair.dispatchEvent("hidden",
282
+ {chart:this,axis:this.axisX[k].options},this.axisX[k].crosshair));for(k=0;k<this.axisX2.length;k++)this.axisX2[k].crosshair&&this.axisX2[k].crosshair.enabled&&(this.axisX2[k].crosshair.hide(),this.axisX2[k].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisX2[k].options},this.axisX2[k].crosshair));for(k=0;k<this.axisY.length;k++)this.axisY[k].crosshair&&this.axisY[k].crosshair.enabled&&(this.axisY[k].crosshair.hide(),this.axisY[k].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisY[k].options},
283
+ this.axisY[k].crosshair));for(k=0;k<this.axisY2.length;k++)this.axisY2[k].crosshair&&this.axisY2[k].crosshair.enabled&&(this.axisY2[k].crosshair.hide(),this.axisY2[k].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisY2[k].options},this.axisY2[k].crosshair))}this.sessionVariables.mouseX=c.x;this.sessionVariables.mouseY=c.y;this.isDrag&&this.zoomEnabled||!this._eventManager||this._eventManager.mouseEventHandler(a)}}};s.prototype._plotAreaMouseDown=function(a,e){this.isDrag=!0;this.dragStartPoint=
284
+ {x:a,y:e}};s.prototype._plotAreaMouseUp=function(a,e){if(("normal"===this.plotInfo.axisPlacement||"xySwapped"===this.plotInfo.axisPlacement)&&this.isDrag){var c=e-this.dragStartPoint.y,b=a-this.dragStartPoint.x,f=0<=this.zoomType.indexOf("x"),k=0<=this.zoomType.indexOf("y"),B=!1;this.resetOverlayedCanvas();if("xySwapped"===this.plotInfo.axisPlacement)var g=k,k=f,f=g;if(this.panEnabled||this.zoomEnabled){if(this.panEnabled)for(f=k=0;f<this._axes.length;f++)c=this._axes[f],c.logarithmic?c.viewportMinimum<
285
+ c.minimum?(k=c.minimum/c.viewportMinimum,c.sessionVariables.newViewportMinimum=c.viewportMinimum*k,c.sessionVariables.newViewportMaximum=c.viewportMaximum*k,B=!0):c.viewportMaximum>c.maximum&&(k=c.viewportMaximum/c.maximum,c.sessionVariables.newViewportMinimum=c.viewportMinimum/k,c.sessionVariables.newViewportMaximum=c.viewportMaximum/k,B=!0):c.viewportMinimum<c.minimum?(k=c.minimum-c.viewportMinimum,c.sessionVariables.newViewportMinimum=c.viewportMinimum+k,c.sessionVariables.newViewportMaximum=c.viewportMaximum+
286
+ k,B=!0):c.viewportMaximum>c.maximum&&(k=c.viewportMaximum-c.maximum,c.sessionVariables.newViewportMinimum=c.viewportMinimum-k,c.sessionVariables.newViewportMaximum=c.viewportMaximum-k,B=!0);else if((!f||2<Math.abs(b))&&(!k||2<Math.abs(c))&&this.zoomEnabled){if(!this.dragStartPoint)return;c=f?this.dragStartPoint.x:this.plotArea.x1;b=k?this.dragStartPoint.y:this.plotArea.y1;f=f?a:this.plotArea.x2;k=k?e:this.plotArea.y2;2<Math.abs(c-f)&&2<Math.abs(b-k)&&this._zoomPanToSelectedRegion(c,b,f,k)&&(B=!0)}B&&
287
+ (this._ignoreNextEvent=!0,this._dispatchRangeEvent("rangeChanging","zoom"),this.stockChart&&(this.stockChart._rangeEventParameter||(this.stockChart._rangeEventParameter={stockChart:this.stockChart,source:"chart",index:this.stockChart.charts.indexOf(this),minimum:this.stockChart.sessionVariables._axisXMin,maximum:this.stockChart.sessionVariables._axisXMax}),this.stockChart._rangeEventParameter.type="rangeChanging",this.stockChart.dispatchEvent("rangeChanging",this.stockChart._rangeEventParameter,this.stockChart)),
288
+ this.render(),this._dispatchRangeEvent("rangeChanged","zoom"),this.stockChart&&(this.stockChart.rangeUpdatedBy="chart",this.stockChart._rangeEventParameter.type="rangeChanged",this.stockChart.dispatchEvent("rangeChanged",this.stockChart._rangeEventParameter,this.stockChart)),B&&(this.zoomEnabled&&"none"===this._zoomButton.style.display)&&(Ta(this._zoomButton,this._resetButton),ya(this,this._zoomButton,"pan"),ya(this,this._resetButton,"reset")))}}this.isDrag=!1;if("none"!==this.plotInfo.axisPlacement){this.resetOverlayedCanvas();
289
+ if(this.axisX&&0<this.axisX.length)for(B=0;B<this.axisX.length;B++)this.axisX[B].crosshair&&this.axisX[B].crosshair.enabled&&this.axisX[B].renderCrosshair(a,e);if(this.axisX2&&0<this.axisX2.length)for(B=0;B<this.axisX2.length;B++)this.axisX2[B].crosshair&&this.axisX2[B].crosshair.enabled&&this.axisX2[B].renderCrosshair(a,e);if(this.axisY&&0<this.axisY.length)for(B=0;B<this.axisY.length;B++)this.axisY[B].crosshair&&this.axisY[B].crosshair.enabled&&this.axisY[B].renderCrosshair(a,e);if(this.axisY2&&
290
+ 0<this.axisY2.length)for(B=0;B<this.axisY2.length;B++)this.axisY2[B].crosshair&&this.axisY2[B].crosshair.enabled&&this.axisY2[B].renderCrosshair(a,e);if(this.axisX&&0<this.axisX.length)for(B=0;B<this.axisX.length;B++)this.axisX[B].crosshair&&this.axisX[B].crosshair.enabled&&this.axisX[B].crosshair.renderLabel();if(this.axisX2&&0<this.axisX2.length)for(B=0;B<this.axisX2.length;B++)this.axisX2[B].crosshair&&this.axisX2[B].crosshair.enabled&&this.axisX2[B].crosshair.renderLabel();if(this.axisY&&0<this.axisY.length)for(B=
291
+ 0;B<this.axisY.length;B++)this.axisY[B].crosshair&&this.axisY[B].crosshair.enabled&&this.axisY[B].crosshair.renderLabel();if(this.axisY2&&0<this.axisY2.length)for(B=0;B<this.axisY2.length;B++)this.axisY2[B].crosshair&&this.axisY2[B].crosshair.enabled&&this.axisY2[B].crosshair.renderLabel()}};s.prototype._plotAreaMouseMove=function(a,e){if(this.isDrag&&"none"!==this.plotInfo.axisPlacement){var c=0,b=0,f=c=null,f=0<=this.zoomType.indexOf("x"),k=0<=this.zoomType.indexOf("y"),B=this;"xySwapped"===this.plotInfo.axisPlacement&&
292
+ (c=k,k=f,f=c);c=this.dragStartPoint.x-a;b=this.dragStartPoint.y-e;if(2<Math.abs(c)&&8>Math.abs(c)&&(this.panEnabled||this.zoomEnabled)){this.toolTip.hide();this.toolTip&&this.toolTip.enabled&&this.toolTip.dispatchEvent("hidden",{chart:this,toolTip:this.toolTip},this.toolTip);for(var g=0;g<this.axisX.length;g++)this.axisX[g].crosshair&&this.axisX[g].crosshair.enabled&&(this.axisX[g].crosshair.hide(),this.axisX[g].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisX[g].options},this.axisX[g].crosshair));
293
+ for(g=0;g<this.axisX2.length;g++)this.axisX2[g].crosshair&&this.axisX2[g].crosshair.enabled&&(this.axisX2[g].crosshair.hide(),this.axisX2[g].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisX2[g].options},this.axisX2[g].crosshair));for(g=0;g<this.axisY.length;g++)this.axisY[g].crosshair&&this.axisY[g].crosshair.enabled&&(this.axisY[g].crosshair.hide(),this.axisY[g].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisY[g].options},this.axisY[g].crosshair));for(g=0;g<this.axisY2.length;g++)this.axisY2[g].crosshair&&
294
+ this.axisY2[g].crosshair.enabled&&(this.axisY2[g].crosshair.hide(),this.axisY2[g].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisY2[g].options},this.axisY2[g].crosshair))}else this.panEnabled||this.zoomEnabled||this.toolTip.mouseMoveHandler(a,e);if((!f||2<Math.abs(c)||!k||2<Math.abs(b))&&(this.panEnabled||this.zoomEnabled))if(this.panEnabled)f={x1:f?this.plotArea.x1+c:this.plotArea.x1,y1:k?this.plotArea.y1+b:this.plotArea.y1,x2:f?this.plotArea.x2+c:this.plotArea.x2,y2:k?this.plotArea.y2+
295
+ b:this.plotArea.y2},clearTimeout(B._panTimerId),B._panTimerId=setTimeout(function(b,c,f,h){return function(){B._zoomPanToSelectedRegion(b,c,f,h,!0)&&(B._dispatchRangeEvent("rangeChanging","pan"),B.stockChart&&(B.stockChart._rangeEventParameter.type="rangeChanging",B.stockChart.dispatchEvent("rangeChanging",B.stockChart._rangeEventParameter,B.stockChart)),B.render(),B._dispatchRangeEvent("rangeChanged","pan"),B.stockChart&&(B.stockChart._rangeEventParameter.type="rangeChanged",B.stockChart.dispatchEvent("rangeChanged",
296
+ B.stockChart._rangeEventParameter,B.stockChart)),B.dragStartPoint.x=a,B.dragStartPoint.y=e)}}(f.x1,f.y1,f.x2,f.y2),0);else if(this.zoomEnabled){this.resetOverlayedCanvas();c=this.overlaidCanvasCtx.globalAlpha;this.overlaidCanvasCtx.fillStyle="#A89896";var b=f?this.dragStartPoint.x:this.plotArea.x1,g=k?this.dragStartPoint.y:this.plotArea.y1,d=f?a-this.dragStartPoint.x:this.plotArea.x2-this.plotArea.x1,n=k?e-this.dragStartPoint.y:this.plotArea.y2-this.plotArea.y1;this.validateRegion(b,g,f?a:this.plotArea.x2-
297
+ this.plotArea.x1,k?e:this.plotArea.y2-this.plotArea.y1,"xy"!==this.zoomType).isValid&&(this.resetOverlayedCanvas(),this.overlaidCanvasCtx.fillStyle="#99B2B5");this.overlaidCanvasCtx.globalAlpha=0.7;this.overlaidCanvasCtx.fillRect(b,g,d,n);this.overlaidCanvasCtx.globalAlpha=c}}else if(this.toolTip.mouseMoveHandler(a,e),"none"!==this.plotInfo.axisPlacement){this.sessionVariables.crosshairShownByPixel=!0;if(this.axisX&&0<this.axisX.length)for(f=0;f<this.axisX.length;f++)this.axisX[f].crosshair&&this.axisX[f].crosshair.enabled&&
298
+ this.axisX[f].renderCrosshair(a,e);if(this.axisX2&&0<this.axisX2.length)for(f=0;f<this.axisX2.length;f++)this.axisX2[f].crosshair&&this.axisX2[f].crosshair.enabled&&this.axisX2[f].renderCrosshair(a,e);if(this.axisY&&0<this.axisY.length)for(f=0;f<this.axisY.length;f++)this.axisY[f].crosshair&&this.axisY[f].crosshair.enabled&&this.axisY[f].renderCrosshair(a,e);if(this.axisY2&&0<this.axisY2.length)for(f=0;f<this.axisY2.length;f++)this.axisY2[f].crosshair&&this.axisY2[f].crosshair.enabled&&this.axisY2[f].renderCrosshair(a,
299
+ e);if(this.axisX&&0<this.axisX.length)for(f=0;f<this.axisX.length;f++)this.axisX[f].crosshair&&this.axisX[f].crosshair.enabled&&this.axisX[f].crosshair.renderLabel();if(this.axisX2&&0<this.axisX2.length)for(f=0;f<this.axisX2.length;f++)this.axisX2[f].crosshair&&this.axisX2[f].crosshair.enabled&&this.axisX2[f].crosshair.renderLabel();if(this.axisY&&0<this.axisY.length)for(f=0;f<this.axisY.length;f++)this.axisY[f].crosshair&&this.axisY[f].crosshair.enabled&&this.axisY[f].crosshair.renderLabel();if(this.axisY2&&
300
+ 0<this.axisY2.length)for(f=0;f<this.axisY2.length;f++)this.axisY2[f].crosshair&&this.axisY2[f].crosshair.enabled&&this.axisY2[f].crosshair.renderLabel()}};s.prototype._zoomPanToSelectedRegion=function(a,e,c,b,f){a=this.validateRegion(a,e,c,b,f);e=a.axesWithValidRange;c=a.axesRanges;if(a.isValid)for(b=0;b<e.length;b++)f=c[b],e[b].setViewPortRange(f.val1,f.val2),this.syncCharts&&"y"!=this.zoomType&&this.syncCharts(f.val1,f.val2),this.stockChart&&(this.stockChart._rangeEventParameter={stockChart:this.stockChart,
301
+ source:"chart",index:this.stockChart.charts.indexOf(this),minimum:f.val1,maximum:f.val2});return a.isValid};s.prototype.validateRegion=function(a,e,c,b,f){f=f||!1;for(var k=0<=this.zoomType.indexOf("x"),g=0<=this.zoomType.indexOf("y"),d=!1,J=[],n=[],q=[],p=0;p<this._axes.length;p++)("axisX"===this._axes[p].type&&k||"axisY"===this._axes[p].type&&g)&&n.push(this._axes[p]);for(g=0;g<n.length;g++){var p=n[g],k=!1,r=p.convertPixelToValue({x:a,y:e}),h=p.convertPixelToValue({x:c,y:b});if(r>h)var z=h,h=r,
302
+ r=z;if(p.scaleBreaks)for(z=0;!k&&z<p.scaleBreaks._appliedBreaks.length;z++)k=p.scaleBreaks._appliedBreaks[z].startValue<=r&&p.scaleBreaks._appliedBreaks[z].endValue>=h;if(isFinite(p.dataInfo.minDiff))if(z=p.getApparentDifference(r,h,null,!0),!(k||!(this.panEnabled&&p.scaleBreaks&&p.scaleBreaks._appliedBreaks.length)&&(p.logarithmic&&z<Math.pow(p.dataInfo.minDiff,3)||!p.logarithmic&&z<3*Math.abs(p.dataInfo.minDiff))||r<p.minimum||h>p.maximum))J.push(p),q.push({val1:r,val2:h}),d=!0;else if(!f){d=!1;
303
+ break}}return{isValid:d,axesWithValidRange:J,axesRanges:q}};s.prototype.preparePlotArea=function(){var a=this.plotArea;!v&&(0<a.x1||0<a.y1)&&a.ctx.translate(a.x1,a.y1);if((this.axisX[0]||this.axisX2[0])&&(this.axisY[0]||this.axisY2[0])){var e=this.axisX[0]?this.axisX[0].lineCoordinates:this.axisX2[0].lineCoordinates;if(this.axisY&&0<this.axisY.length&&this.axisY[0]){var c=this.axisY[0];a.x1=e.x1<e.x2?e.x1:c.lineCoordinates.x1;a.y1=e.y1<c.lineCoordinates.y1?e.y1:c.lineCoordinates.y1;a.x2=e.x2>c.lineCoordinates.x2?
304
+ e.x2:c.lineCoordinates.x2;a.y2=e.y1>c.lineCoordinates.y2?e.y1:c.lineCoordinates.y2;a.width=a.x2-a.x1;a.height=a.y2-a.y1}this.axisY2&&0<this.axisY2.length&&this.axisY2[0]&&(c=this.axisY2[0],a.x1=e.x1<e.x2?e.x1:c.lineCoordinates.x1,a.y1=e.y1<c.lineCoordinates.y1?e.y1:c.lineCoordinates.y1,a.x2=e.x2>c.lineCoordinates.x2?e.x2:c.lineCoordinates.x2,a.y2=e.y2>c.lineCoordinates.y2?e.y2:c.lineCoordinates.y2,a.width=a.x2-a.x1,a.height=a.y2-a.y1)}else e=this.layoutManager.getFreeSpace(),a.x1=e.x1,a.x2=e.x2,a.y1=
305
+ e.y1,a.y2=e.y2,a.width=e.width,a.height=e.height;v||(a.canvas.width=a.width,a.canvas.height=a.height,a.canvas.style.left=a.x1+"px",a.canvas.style.top=a.y1+"px",(0<a.x1||0<a.y1)&&a.ctx.translate(-a.x1,-a.y1));a.layoutManager=new Ka(a.x1,a.y1,a.x2,a.y2,2)};s.prototype.renderIndexLabels=function(a){var e=a||this.plotArea.ctx,c=this.plotArea,b=0,f=0,k=0,B=f=k=0,d=0,J=b=0,n=0;for(a=0;a<this._indexLabels.length;a++){var q=this._indexLabels[a],p=q.chartType.toLowerCase(),r,h,d=na("indexLabelFontColor",q.dataPoint,
306
+ q.dataSeries),C=na("indexLabelFontSize",q.dataPoint,q.dataSeries),J=na("indexLabelFontFamily",q.dataPoint,q.dataSeries),n=na("indexLabelFontStyle",q.dataPoint,q.dataSeries);r=na("indexLabelFontWeight",q.dataPoint,q.dataSeries);var l=na("indexLabelBackgroundColor",q.dataPoint,q.dataSeries);h=na("indexLabelBorderColor",q.dataPoint,q.dataSeries);var k=na("indexLabelBorderThickness",q.dataPoint,q.dataSeries),f=na("indexLabelMaxWidth",q.dataPoint,q.dataSeries),B=na("indexLabelWrap",q.dataPoint,q.dataSeries),
307
+ t=na("indexLabelLineDashType",q.dataPoint,q.dataSeries),u=na("indexLabelLineColor",q.dataPoint,q.dataSeries),m=g(q.dataPoint.indexLabelLineThickness)?g(q.dataSeries.options.indexLabelLineThickness)?0:q.dataSeries.options.indexLabelLineThickness:q.dataPoint.indexLabelLineThickness,b=0<m?Math.min(10,("normal"===this.plotInfo.axisPlacement?this.plotArea.height:this.plotArea.width)<<0):0,x={percent:null,total:null},w=null;if(0<=q.dataSeries.type.indexOf("stacked")||"pie"===q.dataSeries.type||"doughnut"===
308
+ q.dataSeries.type)x=this.getPercentAndTotal(q.dataSeries,q.dataPoint);if(q.dataSeries.indexLabelFormatter||q.dataPoint.indexLabelFormatter)w={chart:this,dataSeries:q.dataSeries,dataPoint:q.dataPoint,index:q.indexKeyword,total:x.total,percent:x.percent};var s=q.dataPoint.indexLabelFormatter?q.dataPoint.indexLabelFormatter(w):q.dataPoint.indexLabel?this.replaceKeywordsWithValue(q.dataPoint.indexLabel,q.dataPoint,q.dataSeries,null,q.indexKeyword):q.dataSeries.indexLabelFormatter?q.dataSeries.indexLabelFormatter(w):
309
+ q.dataSeries.indexLabel?this.replaceKeywordsWithValue(q.dataSeries.indexLabel,q.dataPoint,q.dataSeries,null,q.indexKeyword):null;if(null!==s&&""!==s){var x=na("indexLabelPlacement",q.dataPoint,q.dataSeries),w=na("indexLabelOrientation",q.dataPoint,q.dataSeries),D=na("indexLabelTextAlign",q.dataPoint,q.dataSeries),y=q.direction,A=q.dataSeries.axisX,M=q.dataSeries.axisY,S=!1,l=new ka(e,{x:0,y:0,maxWidth:f?f:0.5*this.width,maxHeight:B?5*C:1.5*C,angle:"horizontal"===w?0:-90,text:s,padding:0,backgroundColor:l,
310
+ borderColor:h,borderThickness:k,textAlign:D,fontSize:C,fontFamily:J,fontWeight:r,fontColor:d,fontStyle:n,textBaseline:"middle"});l.measureText();q.dataSeries.indexLabelMaxWidth=l.maxWidth;if("stackedarea100"===p){if(q.point.x<c.x1||q.point.x>c.x2||q.point.y<c.y1-1||q.point.y>c.y2+1)continue}else if("rangearea"===p||"rangesplinearea"===p){if(q.dataPoint.x<A.viewportMinimum||q.dataPoint.x>A.viewportMaximum||Math.max.apply(null,q.dataPoint.y)<M.viewportMinimum||Math.min.apply(null,q.dataPoint.y)>M.viewportMaximum)continue}else if(0<=
311
+ p.indexOf("line")||0<=p.indexOf("area")||0<=p.indexOf("bubble")||0<=p.indexOf("scatter")){if(q.dataPoint.x<A.viewportMinimum||q.dataPoint.x>A.viewportMaximum||q.dataPoint.y<M.viewportMinimum||q.dataPoint.y>M.viewportMaximum)continue}else if(0<=p.indexOf("column")){if(q.dataPoint.x<A.viewportMinimum||q.dataPoint.x>A.viewportMaximum||(0<q.dataPoint.y.length?Math.max.apply(null,q.dataPoint.y):q.dataPoint.y)<M.viewportMinimum||(0<q.dataPoint.y.length?Math.max.apply(null,q.dataPoint.y):q.dataPoint.y)>
312
+ M.viewportMaximum)continue}else if("waterfall"===p||"error"===p&&!q.axisSwapped){if(q.dataPoint.x<A.viewportMinimum||q.dataPoint.x>A.viewportMaximum||q.bounds.y1>c.y2||q.bounds.y2<c.y1)continue}else if(0<=p.indexOf("bar")||"error"===p){if(q.dataPoint.x<A.viewportMinimum||q.dataPoint.x>A.viewportMaximum||q.bounds.x1>c.x2||q.bounds.x2<c.x1)continue}else if("candlestick"===p||"ohlc"===p){if(q.dataPoint.x<A.viewportMinimum||q.dataPoint.x>A.viewportMaximum||Math.max.apply(null,q.dataPoint.y)<M.viewportMinimum||
313
+ Math.min.apply(null,q.dataPoint.y)>M.viewportMaximum)continue}else if(q.dataPoint.x<A.viewportMinimum||q.dataPoint.x>A.viewportMaximum)continue;B=d=2;"horizontal"===w?(J=l.width,n=l.height):(n=l.width,J=l.height);if("normal"===this.plotInfo.axisPlacement){if(0<=p.indexOf("line")||0<=p.indexOf("area"))x="auto",d=4;else if(0<=p.indexOf("stacked"))"auto"===x&&(x="inside");else if("bubble"===p||"scatter"===p)x="inside";r=q.point.x-J/2+("horizontal"===w?0:l._lineHeight/2);if("inside"!==x)f=c.y1,k=c.y2,
314
+ 0<y?(h=q.point.y+l._lineHeight/2-n-d-b,h<f&&(h="auto"===x?Math.max(q.point.y,f)+l._lineHeight/2+d+b:f+l._lineHeight/2+d+b,S=h+("horizontal"===w?n-l._lineHeight/2:0)>q.point.y,!S||(0<=p.indexOf("line")||0<=p.indexOf("area"))||(h-=b))):(h=q.point.y+l._lineHeight/2+d+b,h>k-n+l._lineHeight/2-d&&(h="auto"===x?Math.min(q.point.y,k)+l._lineHeight/2-n-d-b:k+l._lineHeight/2-n-d-b,S=h-("horizontal"===w?l._lineHeight/2:n)<q.point.y,!S||(0<=p.indexOf("line")||0<=p.indexOf("area"))||(h+=b)));else{Math.max(q.bounds.y1,
315
+ c.y1);k=Math.min(q.bounds.y2,c.y2)-n+l._lineHeight/2;b=0<=p.indexOf("range")||"error"===p?0<y?Math.max(q.bounds.y1,c.y1)+l._lineHeight/2+d:Math.min(q.bounds.y2,c.y2)+l._lineHeight/2-n-d:(Math.max(q.bounds.y1,c.y1)+Math.min(q.bounds.y2,c.y2))/2-n/2+l._lineHeight/2;if(0<y){if(h=b,"bubble"===p||"scatter"===p)h=q.point.y-n/2+l._lineHeight/2,n>q.bounds.y2-q.bounds.y1&&(h-=n/2+d),0>h-l._lineHeight/2&&(h+=Math.abs(h-l._lineHeight/2)<=(q.bounds.y2-q.bounds.y1)/2+d?Math.abs(h-l._lineHeight/2):(q.bounds.y2-
316
+ q.bounds.y1)/2+d)}else h=Math.min(q.point.y,b),h>k-n-d&&("bubble"===p||"scatter"===p)&&(h=Math.min(q.point.y+d,c.y2-n-d));h=Math.min(h,k)}}else 0<=p.indexOf("line")||0<=p.indexOf("area")||0<=p.indexOf("scatter")?(x="auto",B=4):0<=p.indexOf("stacked")?"auto"===x&&(x="inside"):"bubble"===p&&(x="inside"),h=q.point.y+l._lineHeight/2-n/2,"inside"!==x?(k=c.x1,f=c.x2,0>y?(r=q.point.x-J+("horizontal"===w?0:l._lineHeight/2)-B-b,("horizontal"===w?r:r-l._lineHeight/2)<k&&(r="auto"===x?Math.max(q.point.x,k)+
317
+ ("horizontal"===w?0:l._lineHeight/2)+d+b:k+("horizontal"===w?0:l._lineHeight/2)+B,(S=r+J-("horizontal"===w?0:l._lineHeight/2)>q.point.x)&&(r-=b))):(r=q.point.x+("horizontal"===w?0:l._lineHeight/2)+B+b,("horizontal"===w?r:r-l._lineHeight/2)>f-J-B-b&&(r="auto"===x?Math.min(q.point.x,f)-("horizontal"===w?J:J-l._lineHeight/2)-B-b:f-J-B+("horizontal"===w?0:l._lineHeight/2),(S=r-("horizontal"===w?0:l._lineHeight/2)<q.point.x)&&(r+=b)))):(k=Math.max(q.bounds.x1,c.x1),Math.min(q.bounds.x2,c.x2),b=0<=p.indexOf("range")||
318
+ "error"===p?0>y?Math.max(q.bounds.x1,c.x1):Math.min(q.bounds.x2,c.x2)-J-B+("horizontal"===w?0:l._lineHeight/2):(Math.max(q.bounds.x1,c.x1)+Math.min(q.bounds.x2,c.x2))/2-J/2+("horizontal"===w?0:l._lineHeight/2),r=0>y?b:Math.min(q.point.x,b),r=Math.max(r,k+("horizontal"===w?0:l._lineHeight/2+d)));"vertical"===w&&(h+=n-l._lineHeight/2,0<="ohlc candlestick boxandwhisker column rangecolumn stackedcolumn stackedcolumn100 error".split(" ").indexOf(p)&&(S=0<y?h+("horizontal"===w?n-l._lineHeight/2:0)>q.point.y:
319
+ h-("horizontal"===w?l._lineHeight/2:n)<q.point.y),"bubble"===p||"scatter"===p)&&(r+=l._lineHeight/2-C/2);l.x=r;l.y=h;l.render(!0);m&&("inside"!==x&&(0>p.indexOf("bar")&&("error"!==p||!q.axisSwapped)&&q.point.x>c.x1&&q.point.x<c.x2||!S)&&(-1==="ohlc candlestick boxandwhisker column rangecolumn stackedcolumn stackedcolumn100 error".split(" ").indexOf(p)&&("error"!==p||q.axisSwapped)&&q.point.y>c.y1&&q.point.y<c.y2||!S))&&(e.lineWidth=m,e.strokeStyle=u?u:"gray",e.setLineDash&&e.setLineDash(U(t,m)),e.beginPath(),
320
+ e.moveTo(q.point.x,q.point.y),0<=p.indexOf("bar")||"error"===p&&q.axisSwapped?e.lineTo(r+(0<q.direction?0:J)+("vertical"===w?-l._lineHeight/2:0),h+("vertical"===w?-n/2:n/2-l._lineHeight/2)):0<=p.indexOf("column")||"error"===p&&!q.axisSwapped?e.lineTo(r+J/2-("horizontal"===w?0:l._lineHeight/2),h+("vertical"===w?h-n<q.point.y?0:-n:(h-l._lineHeight/2<q.point.y?n:0)-l._lineHeight/2)):0<=p.indexOf("waterfall")?e.lineTo(r+J/2-("horizontal"===w?0:l._lineHeight/2),"vertical"===w?0<y&&h<q.point.y?h:0>y&&h-
321
+ n>q.point.y?h-n:q.point.y:0<y&&h+n-l._lineHeight/2<q.point.y?h+n-l._lineHeight/2:0>y&&h-l._lineHeight/2>q.point.y?h-l._lineHeight/2:q.point.y):e.lineTo(r+J/2-("horizontal"===w?0:l._lineHeight/2),h+("vertical"===w?h-n<q.point.y?0:-n:(h+n-l._lineHeight/2<q.point.y?n:0)-l._lineHeight/2)),e.stroke())}}e={source:e,dest:this.plotArea.ctx,animationCallback:z.fadeInAnimation,easingFunction:z.easing.easeInQuad,animationBase:0,startTimePercent:0.7};for(a=0;a<this._indexLabels.length;a++)q=this._indexLabels[a],
322
+ l=na("indexLabelBackgroundColor",q.dataPoint,q.dataSeries),q.dataSeries.indexLabelBackgroundColor=g(l)?v?"transparent":null:l;return e};s.prototype.renderLine=function(a){var e=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:e;if(!(0>=a.dataSeriesIndexes.length)){var b=this._eventManager.ghostCtx;c.save();var f=this.plotArea;c.beginPath();c.rect(f.x1,f.y1,f.width,f.height);c.clip();for(var k=[],g,d=0;d<a.dataSeriesIndexes.length;d++){var J=a.dataSeriesIndexes[d],n=this.data[J];c.lineWidth=
329
323
  n.lineThickness;var q=n.dataPoints,p="solid";if(c.setLineDash){var r=U(n.nullDataLineDashType,n.lineThickness),p=n.lineDashType,h=U(p,n.lineThickness);c.setLineDash(h)}var C=n.id;this._eventManager.objectMap[C]={objectType:"dataSeries",dataSeriesIndex:J};C=V(C);b.strokeStyle=C;b.lineWidth=0<n.lineThickness?Math.max(n.lineThickness,4):0;var C=n._colorSet,t=C=n.lineColor=n.options.lineColor?n.options.lineColor:C[0];c.strokeStyle=C;var m=!0,u=0,E,x;c.beginPath();if(0<q.length){for(var w=!1,u=0;u<q.length;u++)if(E=
330
- q[u].getTime?q[u].x.getTime():q[u].x,!(E<a.axisX.dataInfo.viewPortMin||E>a.axisX.dataInfo.viewPortMax&&(!n.connectNullData||!w)))if("number"!==typeof q[u].y)0<u&&!(n.connectNullData||w||m)&&(c.stroke(),v&&b.stroke()),w=!0;else{var s=x;E=a.axisX.convertValueToPixel(E);x=a.axisY.convertValueToPixel(q[u].y);var D=n.dataPointIds[u];this._eventManager.objectMap[D]={id:D,objectType:"dataPoint",dataSeriesIndex:J,dataPointIndex:u,x1:E,y1:x};m||w?(!m&&n.connectNullData?(c.setLineDash&&(n.options.nullDataLineDashType||
331
- p===n.lineDashType&&n.lineDashType!==n.nullDataLineDashType)&&(c.stroke(),c.beginPath(),c.moveTo(g.x,g.y),p=n.nullDataLineDashType,c.setLineDash(r)),c.lineTo(E,s),c.lineTo(E,x),v&&(b.lineTo(E,s),b.lineTo(E,x))):(c.beginPath(),c.moveTo(E,x),v&&(b.beginPath(),b.moveTo(E,x))),w=m=!1):(c.lineTo(E,s),v&&b.lineTo(E,s),c.lineTo(E,x),v&&b.lineTo(E,x),0==u%500&&(c.stroke(),c.beginPath(),c.moveTo(E,x),v&&(b.stroke(),b.beginPath(),b.moveTo(E,x))));g={x:E,y:x};u<q.length-1&&(t!==(q[u].lineColor||C)||p!==(q[u].lineDashType||
332
- n.lineDashType))&&(c.stroke(),c.beginPath(),c.moveTo(E,x),t=q[u].lineColor||C,c.strokeStyle=t,c.setLineDash&&(q[u].lineDashType?(p=q[u].lineDashType,c.setLineDash(U(p,n.lineThickness))):(p=n.lineDashType,c.setLineDash(h))));0!==q[u].markerSize&&(0<q[u].markerSize||0<n.markerSize)&&(s=n.getMarkerProperties(u,E,x,c),k.push(s),D=V(D),v&&k.push({x:E,y:x,ctx:b,type:s.type,size:s.size,color:D,borderColor:D,borderThickness:s.borderThickness}));(q[u].indexLabel||n.indexLabel||q[u].indexLabelFormatter||n.indexLabelFormatter)&&
333
- this._indexLabels.push({chartType:"stepLine",dataPoint:q[u],dataSeries:n,point:{x:E,y:x},direction:0>q[u].y===a.axisY.reversed?1:-1,color:C})}c.stroke();v&&b.stroke()}}l.drawMarkers(k);v&&(e.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,
334
- 0,0,this.width,this.height),c.clearRect(f.x1,f.y1,f.width,f.height),b.beginPath());c.restore();c.beginPath();return{source:e,dest:this.plotArea.ctx,animationCallback:z.xClipAnimation,easingFunction:z.easing.linear,animationBase:0}}};s.prototype.renderSpline=function(a){function e(a){a=w(a,2);if(0<a.length){b.beginPath();v&&f.beginPath();b.moveTo(a[0].x,a[0].y);a[0].newStrokeStyle&&(b.strokeStyle=a[0].newStrokeStyle);a[0].newLineDashArray&&b.setLineDash(a[0].newLineDashArray);v&&f.moveTo(a[0].x,a[0].y);
335
- for(var c=0;c<a.length-3;c+=3)if(b.bezierCurveTo(a[c+1].x,a[c+1].y,a[c+2].x,a[c+2].y,a[c+3].x,a[c+3].y),v&&f.bezierCurveTo(a[c+1].x,a[c+1].y,a[c+2].x,a[c+2].y,a[c+3].x,a[c+3].y),0<c&&0===c%3E3||a[c+3].newStrokeStyle||a[c+3].newLineDashArray)b.stroke(),b.beginPath(),b.moveTo(a[c+3].x,a[c+3].y),a[c+3].newStrokeStyle&&(b.strokeStyle=a[c+3].newStrokeStyle),a[c+3].newLineDashArray&&b.setLineDash(a[c+3].newLineDashArray),v&&(f.stroke(),f.beginPath(),f.moveTo(a[c+3].x,a[c+3].y));b.stroke();v&&f.stroke()}}
336
- var c=a.targetCanvasCtx||this.plotArea.ctx,b=v?this._preRenderCtx:c;if(!(0>=a.dataSeriesIndexes.length)){var f=this._eventManager.ghostCtx;b.save();var k=this.plotArea;b.beginPath();b.rect(k.x1,k.y1,k.width,k.height);b.clip();for(var g=[],d=0;d<a.dataSeriesIndexes.length;d++){var J=a.dataSeriesIndexes[d],n=this.data[J];b.lineWidth=n.lineThickness;var q=n.dataPoints,p="solid";if(b.setLineDash){var r=U(n.nullDataLineDashType,n.lineThickness),p=n.lineDashType,h=U(p,n.lineThickness);b.setLineDash(h)}var C=
337
- n.id;this._eventManager.objectMap[C]={objectType:"dataSeries",dataSeriesIndex:J};C=V(C);f.strokeStyle=C;f.lineWidth=0<n.lineThickness?Math.max(n.lineThickness,4):0;var C=n._colorSet,t=C=n.lineColor=n.options.lineColor?n.options.lineColor:C[0];b.strokeStyle=C;var m=0,u,E,x=[];b.beginPath();if(0<q.length)for(E=!1,m=0;m<q.length;m++)if(u=q[m].getTime?q[m].x.getTime():q[m].x,!(u<a.axisX.dataInfo.viewPortMin||u>a.axisX.dataInfo.viewPortMax&&(!n.connectNullData||!E)))if("number"!==typeof q[m].y)0<m&&!E&&
338
- (n.connectNullData?b.setLineDash&&(0<x.length&&(n.options.nullDataLineDashType||!q[m-1].lineDashType))&&(x[x.length-1].newLineDashArray=r,p=n.nullDataLineDashType):(e(x),x=[])),E=!0;else{u=a.axisX.convertValueToPixel(u);E=a.axisY.convertValueToPixel(q[m].y);var s=n.dataPointIds[m];this._eventManager.objectMap[s]={id:s,objectType:"dataPoint",dataSeriesIndex:J,dataPointIndex:m,x1:u,y1:E};x[x.length]={x:u,y:E};m<q.length-1&&(t!==(q[m].lineColor||C)||p!==(q[m].lineDashType||n.lineDashType))&&(t=q[m].lineColor||
339
- C,x[x.length-1].newStrokeStyle=t,b.setLineDash&&(q[m].lineDashType?(p=q[m].lineDashType,x[x.length-1].newLineDashArray=U(p,n.lineThickness)):(p=n.lineDashType,x[x.length-1].newLineDashArray=h)));if(0!==q[m].markerSize&&(0<q[m].markerSize||0<n.markerSize)){var F=n.getMarkerProperties(m,u,E,b);g.push(F);s=V(s);v&&g.push({x:u,y:E,ctx:f,type:F.type,size:F.size,color:s,borderColor:s,borderThickness:F.borderThickness})}(q[m].indexLabel||n.indexLabel||q[m].indexLabelFormatter||n.indexLabelFormatter)&&this._indexLabels.push({chartType:"spline",
340
- dataPoint:q[m],dataSeries:n,point:{x:u,y:E},direction:0>q[m].y===a.axisY.reversed?1:-1,color:C});E=!1}e(x)}l.drawMarkers(g);v&&(c.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(k.x1,
341
- k.y1,k.width,k.height),f.beginPath());b.restore();b.beginPath();return{source:c,dest:this.plotArea.ctx,animationCallback:z.xClipAnimation,easingFunction:z.easing.linear,animationBase:0}}};s.prototype.renderColumn=function(a){var e=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:e;if(!(0>=a.dataSeriesIndexes.length)){var b=null,f=this.plotArea,k=0,g,d,J,n=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),k=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?
342
- this.dataPointWidth:1,q=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:Math.min(0.15*this.width,0.9*(this.plotArea.width/a.plotType.totalDataSeries))<<0,p=a.axisX.dataInfo.minDiff;isFinite(p)||(p=0.3*Math.abs(a.axisX.range));p=this.dataPointWidth=this.options.dataPointWidth?this.dataPointWidth:0.9*(f.width*(a.axisX.logarithmic?Math.log(p)/Math.log(a.axisX.range):Math.abs(p)/Math.abs(a.axisX.range))/a.plotType.totalDataSeries)<<0;this.dataPointMaxWidth&&
343
- k>q&&(k=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,q));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&q<k)&&(q=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,k));p<k&&(p=k);p>q&&(p=q);c.save();v&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(f.x1,f.y1,f.width,f.height);c.clip();v&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(f.x1,f.y1,f.width,f.height),this._eventManager.ghostCtx.clip());for(q=0;q<a.dataSeriesIndexes.length;q++){var r=
344
- a.dataSeriesIndexes[q],h=this.data[r],l=h.dataPoints;if(0<l.length)for(var m=5<p&&h.bevelEnabled?!0:!1,k=0;k<l.length;k++)if(l[k].getTime?J=l[k].x.getTime():J=l[k].x,!(J<a.axisX.dataInfo.viewPortMin||J>a.axisX.dataInfo.viewPortMax)&&"number"===typeof l[k].y){g=a.axisX.convertValueToPixel(J);d=a.axisY.convertValueToPixel(l[k].y);g=a.axisX.reversed?g+a.plotType.totalDataSeries*p/2-(a.previousDataSeriesCount+q)*p<<0:g-a.plotType.totalDataSeries*p/2+(a.previousDataSeriesCount+q)*p<<0;var t=a.axisX.reversed?
345
- g-p<<0:g+p<<0,u;0<=l[k].y?u=n:(u=d,d=n);d>u&&(b=d,d=u,u=b);b=l[k].color?l[k].color:h._colorSet[k%h._colorSet.length];P(c,a.axisX.reversed?t:g,d,a.axisX.reversed?g:t,u,b,0,null,m&&(a.axisY.reversed?0>l[k].y:0<=l[k].y),(a.axisY.reversed?0<=l[k].y:0>l[k].y)&&m,!1,!1,h.fillOpacity);b=h.dataPointIds[k];this._eventManager.objectMap[b]={id:b,objectType:"dataPoint",dataSeriesIndex:r,dataPointIndex:k,x1:g,y1:d,x2:t,y2:u};b=V(b);v&&P(this._eventManager.ghostCtx,a.axisX.reversed?t:g,d,a.axisX.reversed?g:t,u,
346
- b,0,null,!1,!1,!1,!1);(l[k].indexLabel||h.indexLabel||l[k].indexLabelFormatter||h.indexLabelFormatter)&&this._indexLabels.push({chartType:"column",dataPoint:l[k],dataSeries:h,point:{x:g+(t-g)/2,y:0>l[k].y===a.axisY.reversed?d:u},direction:0>l[k].y===a.axisY.reversed?1:-1,bounds:{x1:g,y1:Math.min(d,u),x2:t,y2:Math.max(d,u)},color:b})}}v&&(e.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,
347
- this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(f.x1,f.y1,f.width,f.height),this._eventManager.ghostCtx.restore());c.restore();return{source:e,dest:this.plotArea.ctx,animationCallback:z.yScaleAnimation,easingFunction:z.easing.easeOutQuart,animationBase:n<a.axisY.bounds.y1?a.axisY.bounds.y1:n>a.axisY.bounds.y2?a.axisY.bounds.y2:n}}};s.prototype.renderStackedColumn=
348
- function(a){var e=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:e;if(!(0>=a.dataSeriesIndexes.length)){var b=null,f=this.plotArea,k=[],g=[],d=[],l=[],n=0,q,p,r=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),n=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,h=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.15*this.width<<0,C=a.axisX.dataInfo.minDiff;
349
- isFinite(C)||(C=0.3*Math.abs(a.axisX.range));C=this.options.dataPointWidth?this.dataPointWidth:0.9*(f.width*(a.axisX.logarithmic?Math.log(C)/Math.log(a.axisX.range):Math.abs(C)/Math.abs(a.axisX.range))/a.plotType.plotUnits.length)<<0;this.dataPointMaxWidth&&n>h&&(n=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,h));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&h<n)&&(h=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,n));C<n&&(C=n);C>h&&(C=h);c.save();v&&this._eventManager.ghostCtx.save();
350
- c.beginPath();c.rect(f.x1,f.y1,f.width,f.height);c.clip();v&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(f.x1,f.y1,f.width,f.height),this._eventManager.ghostCtx.clip());for(h=0;h<a.dataSeriesIndexes.length;h++){var m=a.dataSeriesIndexes[h],t=this.data[m],u=t.dataPoints;if(0<u.length){var w=5<C&&t.bevelEnabled?!0:!1;c.strokeStyle="#4572A7 ";for(n=0;n<u.length;n++)if(b=u[n].x.getTime?u[n].x.getTime():u[n].x,!(b<a.axisX.dataInfo.viewPortMin||b>a.axisX.dataInfo.viewPortMax)&&
351
- "number"===typeof u[n].y){q=a.axisX.convertValueToPixel(b);q=q-a.plotType.plotUnits.length*C/2+a.index*C<<0;var x=q+C<<0,s;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0<u[n].y)d[b]=u[n].y+(d[b]?d[b]:0),0<d[b]&&(p=a.axisY.convertValueToPixel(d[b]),s="undefined"!==typeof k[b]?k[b]:r,k[b]=p);else if(a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0>=u[n].y)l[b]=u[n].y+(l[b]?l[b]:0),s=a.axisY.convertValueToPixel(l[b]),p="undefined"!==typeof g[b]?
352
- g[b]:r,g[b]=s;else if(p=a.axisY.convertValueToPixel(u[n].y),0<=u[n].y){var F="undefined"!==typeof k[b]?k[b]:0;p-=F;s=r-F;k[b]=F+(s-p)}else F=g[b]?g[b]:0,s=p+F,p=r+F,g[b]=F+(s-p);b=u[n].color?u[n].color:t._colorSet[n%t._colorSet.length];P(c,q,a.axisY.reversed?s:p,x,a.axisY.reversed?p:s,b,0,null,w&&(a.axisY.reversed?0>u[n].y:0<=u[n].y),(a.axisY.reversed?0<=u[n].y:0>u[n].y)&&w,!1,!1,t.fillOpacity);b=t.dataPointIds[n];this._eventManager.objectMap[b]={id:b,objectType:"dataPoint",dataSeriesIndex:m,dataPointIndex:n,
353
- x1:q,y1:p,x2:x,y2:s};b=V(b);v&&P(this._eventManager.ghostCtx,q,p,x,s,b,0,null,!1,!1,!1,!1);(u[n].indexLabel||t.indexLabel||u[n].indexLabelFormatter||t.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedColumn",dataPoint:u[n],dataSeries:t,point:{x:q+(x-q)/2,y:0<=u[n].y?p:s},direction:0>u[n].y===a.axisY.reversed?1:-1,bounds:{x1:q,y1:Math.min(p,s),x2:x,y2:Math.max(p,s)},color:b})}}}v&&(e.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",
354
- a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(f.x1,f.y1,f.width,f.height),this._eventManager.ghostCtx.restore());c.restore();return{source:e,dest:this.plotArea.ctx,animationCallback:z.yScaleAnimation,easingFunction:z.easing.easeOutQuart,animationBase:r<a.axisY.bounds.y1?a.axisY.bounds.y1:
355
- r>a.axisY.bounds.y2?a.axisY.bounds.y2:r}}};s.prototype.renderStackedColumn100=function(a){var e=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:e;if(!(0>=a.dataSeriesIndexes.length)){var b=null,f=this.plotArea,k=[],g=[],d=[],l=[],n=0,q,p,r=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),n=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,h=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?
356
- this.dataPointWidth:0.15*this.width<<0,C=a.axisX.dataInfo.minDiff;isFinite(C)||(C=0.3*Math.abs(a.axisX.range));C=this.options.dataPointWidth?this.dataPointWidth:0.9*(f.width*(a.axisX.logarithmic?Math.log(C)/Math.log(a.axisX.range):Math.abs(C)/Math.abs(a.axisX.range))/a.plotType.plotUnits.length)<<0;this.dataPointMaxWidth&&n>h&&(n=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,h));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&h<n)&&(h=Math.max(this.options.dataPointWidth?this.dataPointWidth:
357
- -Infinity,n));C<n&&(C=n);C>h&&(C=h);c.save();v&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(f.x1,f.y1,f.width,f.height);c.clip();v&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(f.x1,f.y1,f.width,f.height),this._eventManager.ghostCtx.clip());for(h=0;h<a.dataSeriesIndexes.length;h++){var m=a.dataSeriesIndexes[h],t=this.data[m],u=t.dataPoints;if(0<u.length)for(var w=5<C&&t.bevelEnabled?!0:!1,n=0;n<u.length;n++)if(b=u[n].x.getTime?u[n].x.getTime():u[n].x,!(b<a.axisX.dataInfo.viewPortMin||
358
- b>a.axisX.dataInfo.viewPortMax)&&"number"===typeof u[n].y){q=a.axisX.convertValueToPixel(b);p=0!==a.dataPointYSums[b]?100*(u[n].y/a.dataPointYSums[b]):0;q=q-a.plotType.plotUnits.length*C/2+a.index*C<<0;var x=q+C<<0,s;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0<u[n].y){d[b]=p+("undefined"!==typeof d[b]?d[b]:0);if(0>=d[b])continue;p=a.axisY.convertValueToPixel(d[b]);s=k[b]?k[b]:r;k[b]=p}else if(a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&
359
- 0>=u[n].y)l[b]=p+("undefined"!==typeof l[b]?l[b]:0),s=a.axisY.convertValueToPixel(l[b]),p=g[b]?g[b]:r,g[b]=s;else if(p=a.axisY.convertValueToPixel(p),0<=u[n].y){var F="undefined"!==typeof k[b]?k[b]:0;p-=F;s=r-F;a.dataSeriesIndexes.length-1===h&&1>=Math.abs(f.y1-p)&&(p=f.y1);k[b]=F+(s-p)}else F="undefined"!==typeof g[b]?g[b]:0,s=p+F,p=r+F,a.dataSeriesIndexes.length-1===h&&1>=Math.abs(f.y2-s)&&(s=f.y2),g[b]=F+(s-p);b=u[n].color?u[n].color:t._colorSet[n%t._colorSet.length];P(c,q,a.axisY.reversed?s:p,
360
- x,a.axisY.reversed?p:s,b,0,null,w&&(a.axisY.reversed?0>u[n].y:0<=u[n].y),(a.axisY.reversed?0<=u[n].y:0>u[n].y)&&w,!1,!1,t.fillOpacity);b=t.dataPointIds[n];this._eventManager.objectMap[b]={id:b,objectType:"dataPoint",dataSeriesIndex:m,dataPointIndex:n,x1:q,y1:p,x2:x,y2:s};b=V(b);v&&P(this._eventManager.ghostCtx,q,p,x,s,b,0,null,!1,!1,!1,!1);(u[n].indexLabel||t.indexLabel||u[n].indexLabelFormatter||t.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedColumn100",dataPoint:u[n],dataSeries:t,
361
- point:{x:q+(x-q)/2,y:0<=u[n].y?p:s},direction:0>u[n].y===a.axisY.reversed?1:-1,bounds:{x1:q,y1:Math.min(p,s),x2:x,y2:Math.max(p,s)},color:b})}}v&&(e.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),
362
- c.clearRect(f.x1,f.y1,f.width,f.height),this._eventManager.ghostCtx.restore());c.restore();return{source:e,dest:this.plotArea.ctx,animationCallback:z.yScaleAnimation,easingFunction:z.easing.easeOutQuart,animationBase:r<a.axisY.bounds.y1?a.axisY.bounds.y1:r>a.axisY.bounds.y2?a.axisY.bounds.y2:r}}};s.prototype.renderBar=function(a){var e=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:e;if(!(0>=a.dataSeriesIndexes.length)){var b=null,f=this.plotArea,k=0,g,d,l,n=a.axisY.convertValueToPixel(a.axisY.logarithmic?
363
- a.axisY.viewportMinimum:0),k=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,q=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:Math.min(0.15*this.height,0.9*(this.plotArea.height/a.plotType.totalDataSeries))<<0,p=a.axisX.dataInfo.minDiff;isFinite(p)||(p=0.3*Math.abs(a.axisX.range));p=this.options.dataPointWidth?this.dataPointWidth:0.9*(f.height*(a.axisX.logarithmic?Math.log(p)/Math.log(a.axisX.range):
364
- Math.abs(p)/Math.abs(a.axisX.range))/a.plotType.totalDataSeries)<<0;this.dataPointMaxWidth&&k>q&&(k=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,q));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&q<k)&&(q=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,k));p<k&&(p=k);p>q&&(p=q);c.save();v&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(f.x1,f.y1,f.width,f.height);c.clip();v&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(f.x1,
365
- f.y1,f.width,f.height),this._eventManager.ghostCtx.clip());for(q=0;q<a.dataSeriesIndexes.length;q++){var r=a.dataSeriesIndexes[q],h=this.data[r],C=h.dataPoints;if(0<C.length){var m=5<p&&h.bevelEnabled?!0:!1;c.strokeStyle="#4572A7 ";for(k=0;k<C.length;k++)if(C[k].getTime?l=C[k].x.getTime():l=C[k].x,!(l<a.axisX.dataInfo.viewPortMin||l>a.axisX.dataInfo.viewPortMax)&&"number"===typeof C[k].y){d=a.axisX.convertValueToPixel(l);g=a.axisY.convertValueToPixel(C[k].y);d=a.axisX.reversed?d+a.plotType.totalDataSeries*
366
- p/2-(a.previousDataSeriesCount+q)*p<<0:d-a.plotType.totalDataSeries*p/2+(a.previousDataSeriesCount+q)*p<<0;var t=a.axisX.reversed?d-p<<0:d+p<<0,u;0<=C[k].y?u=n:(u=g,g=n);b=C[k].color?C[k].color:h._colorSet[k%h._colorSet.length];P(c,a.axisY.reversed?g:u,a.axisX.reversed?t:d,a.axisY.reversed?u:g,a.axisX.reversed?d:t,b,0,null,m,!1,!1,!1,h.fillOpacity);b=h.dataPointIds[k];this._eventManager.objectMap[b]={id:b,objectType:"dataPoint",dataSeriesIndex:r,dataPointIndex:k,x1:u,y1:d,x2:g,y2:t};b=V(b);v&&P(this._eventManager.ghostCtx,
367
- u,a.axisX.reversed?t:d,g,a.axisX.reversed?d:t,b,0,null,!1,!1,!1,!1);(C[k].indexLabel||h.indexLabel||C[k].indexLabelFormatter||h.indexLabelFormatter)&&this._indexLabels.push({chartType:"bar",dataPoint:C[k],dataSeries:h,point:{x:0<=C[k].y?g:u,y:d+(t-d)/2},direction:0>C[k].y===a.axisY.reversed?1:-1,bounds:{x1:Math.min(u,g),y1:d,x2:Math.max(u,g),y2:t},color:b})}}}v&&(e.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,
368
- 0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(f.x1,f.y1,f.width,f.height),this._eventManager.ghostCtx.restore());c.restore();return{source:e,dest:this.plotArea.ctx,animationCallback:z.xScaleAnimation,easingFunction:z.easing.easeOutQuart,animationBase:n<a.axisY.bounds.x1?a.axisY.bounds.x1:n>a.axisY.bounds.x2?a.axisY.bounds.x2:
369
- n}}};s.prototype.renderStackedBar=function(a){var e=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:e;if(!(0>=a.dataSeriesIndexes.length)){var b=null,f=this.plotArea,k=[],g=[],d=[],l=[],n=0,q,p,r=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),n=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,h=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.15*this.height<<
370
- 0,C=a.axisX.dataInfo.minDiff;isFinite(C)||(C=0.3*Math.abs(a.axisX.range));C=this.options.dataPointWidth?this.dataPointWidth:0.9*(f.height*(a.axisX.logarithmic?Math.log(C)/Math.log(a.axisX.range):Math.abs(C)/Math.abs(a.axisX.range))/a.plotType.plotUnits.length)<<0;this.dataPointMaxWidth&&n>h&&(n=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,h));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&h<n)&&(h=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,n));C<n&&
371
- (C=n);C>h&&(C=h);c.save();v&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(f.x1,f.y1,f.width,f.height);c.clip();v&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(f.x1,f.y1,f.width,f.height),this._eventManager.ghostCtx.clip());for(h=0;h<a.dataSeriesIndexes.length;h++){var t=a.dataSeriesIndexes[h],m=this.data[t],u=m.dataPoints;if(0<u.length){var w=5<C&&m.bevelEnabled?!0:!1;c.strokeStyle="#4572A7 ";for(n=0;n<u.length;n++)if(b=u[n].x.getTime?u[n].x.getTime():u[n].x,
372
- !(b<a.axisX.dataInfo.viewPortMin||b>a.axisX.dataInfo.viewPortMax)&&"number"===typeof u[n].y){p=a.axisX.convertValueToPixel(b);p=p-a.plotType.plotUnits.length*C/2+a.index*C<<0;var x=p+C<<0,s;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0<u[n].y)d[b]=u[n].y+(d[b]?d[b]:0),0<d[b]&&(s=k[b]?k[b]:r,k[b]=q=a.axisY.convertValueToPixel(d[b]));else if(a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0>=u[n].y)l[b]=u[n].y+(l[b]?l[b]:0),q=g[b]?g[b]:
373
- r,g[b]=s=a.axisY.convertValueToPixel(l[b]);else if(q=a.axisY.convertValueToPixel(u[n].y),0<=u[n].y){var F=k[b]?k[b]:0;s=r+F;q+=F;k[b]=F+(q-s)}else F=g[b]?g[b]:0,s=q-F,q=r-F,g[b]=F+(q-s);b=u[n].color?u[n].color:m._colorSet[n%m._colorSet.length];P(c,a.axisY.reversed?q:s,p,a.axisY.reversed?s:q,x,b,0,null,w,!1,!1,!1,m.fillOpacity);b=m.dataPointIds[n];this._eventManager.objectMap[b]={id:b,objectType:"dataPoint",dataSeriesIndex:t,dataPointIndex:n,x1:s,y1:p,x2:q,y2:x};b=V(b);v&&P(this._eventManager.ghostCtx,
374
- s,p,q,x,b,0,null,!1,!1,!1,!1);(u[n].indexLabel||m.indexLabel||u[n].indexLabelFormatter||m.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedBar",dataPoint:u[n],dataSeries:m,point:{x:0<=u[n].y?q:s,y:p+(x-p)/2},direction:0>u[n].y===a.axisY.reversed?1:-1,bounds:{x1:Math.min(s,q),y1:p,x2:Math.max(s,q),y2:x},color:b})}}}v&&(e.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,
375
- this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(f.x1,f.y1,f.width,f.height),this._eventManager.ghostCtx.restore());c.restore();return{source:e,dest:this.plotArea.ctx,animationCallback:z.xScaleAnimation,easingFunction:z.easing.easeOutQuart,animationBase:r<a.axisY.bounds.x1?a.axisY.bounds.x1:r>a.axisY.bounds.x2?a.axisY.bounds.x2:r}}};s.prototype.renderStackedBar100=
376
- function(a){var e=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:e;if(!(0>=a.dataSeriesIndexes.length)){var b=null,f=this.plotArea,k=[],g=[],d=[],l=[],n=0,q,p,r=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),n=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,h=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.15*this.height<<0,C=a.axisX.dataInfo.minDiff;
377
- isFinite(C)||(C=0.3*Math.abs(a.axisX.range));C=this.options.dataPointWidth?this.dataPointWidth:0.9*(f.height*(a.axisX.logarithmic?Math.log(C)/Math.log(a.axisX.range):Math.abs(C)/Math.abs(a.axisX.range))/a.plotType.plotUnits.length)<<0;this.dataPointMaxWidth&&n>h&&(n=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,h));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&h<n)&&(h=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,n));C<n&&(C=n);C>h&&(C=h);c.save();v&&
378
- this._eventManager.ghostCtx.save();c.beginPath();c.rect(f.x1,f.y1,f.width,f.height);c.clip();v&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(f.x1,f.y1,f.width,f.height),this._eventManager.ghostCtx.clip());for(h=0;h<a.dataSeriesIndexes.length;h++){var m=a.dataSeriesIndexes[h],t=this.data[m],u=t.dataPoints;if(0<u.length){var w=5<C&&t.bevelEnabled?!0:!1;c.strokeStyle="#4572A7 ";for(n=0;n<u.length;n++)if(b=u[n].x.getTime?u[n].x.getTime():u[n].x,!(b<a.axisX.dataInfo.viewPortMin||
379
- b>a.axisX.dataInfo.viewPortMax)&&"number"===typeof u[n].y){p=a.axisX.convertValueToPixel(b);var x;x=0!==a.dataPointYSums[b]?100*(u[n].y/a.dataPointYSums[b]):0;p=p-a.plotType.plotUnits.length*C/2+a.index*C<<0;var s=p+C<<0;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0<u[n].y){d[b]=x+(d[b]?d[b]:0);if(0>=d[b])continue;x=k[b]?k[b]:r;k[b]=q=a.axisY.convertValueToPixel(d[b])}else if(a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0>=u[n].y)l[b]=
380
- x+(l[b]?l[b]:0),q=g[b]?g[b]:r,g[b]=x=a.axisY.convertValueToPixel(l[b]);else if(q=a.axisY.convertValueToPixel(x),0<=u[n].y){var F=k[b]?k[b]:0;x=r+F;q+=F;a.dataSeriesIndexes.length-1===h&&1>=Math.abs(f.x2-q)&&(q=f.x2);k[b]=F+(q-x)}else F=g[b]?g[b]:0,x=q-F,q=r-F,a.dataSeriesIndexes.length-1===h&&1>=Math.abs(f.x1-x)&&(x=f.x1),g[b]=F+(q-x);b=u[n].color?u[n].color:t._colorSet[n%t._colorSet.length];P(c,a.axisY.reversed?q:x,p,a.axisY.reversed?x:q,s,b,0,null,w,!1,!1,!1,t.fillOpacity);b=t.dataPointIds[n];this._eventManager.objectMap[b]=
381
- {id:b,objectType:"dataPoint",dataSeriesIndex:m,dataPointIndex:n,x1:x,y1:p,x2:q,y2:s};b=V(b);v&&P(this._eventManager.ghostCtx,x,p,q,s,b,0,null,!1,!1,!1,!1);(u[n].indexLabel||t.indexLabel||u[n].indexLabelFormatter||t.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedBar100",dataPoint:u[n],dataSeries:t,point:{x:0<=u[n].y?q:x,y:p+(s-p)/2},direction:0>u[n].y===a.axisY.reversed?1:-1,bounds:{x1:Math.min(x,q),y1:p,x2:Math.max(x,q),y2:s},color:b})}}}v&&(e.drawImage(this._preRenderCanvas,0,0,
382
- this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(f.x1,f.y1,f.width,f.height),this._eventManager.ghostCtx.restore());c.restore();return{source:e,dest:this.plotArea.ctx,animationCallback:z.xScaleAnimation,easingFunction:z.easing.easeOutQuart,
324
+ q[u].x.getTime?q[u].x.getTime():q[u].x,!(E<a.axisX.dataInfo.viewPortMin||E>a.axisX.dataInfo.viewPortMax&&(!n.connectNullData||!w)))if("number"!==typeof q[u].y)0<u&&!(n.connectNullData||w||m)&&(c.stroke(),v&&b.stroke()),w=!0;else{E=a.axisX.convertValueToPixel(E);x=a.axisY.convertValueToPixel(q[u].y);var s=n.dataPointIds[u];this._eventManager.objectMap[s]={id:s,objectType:"dataPoint",dataSeriesIndex:J,dataPointIndex:u,x1:E,y1:x};m||w?(!m&&n.connectNullData?(c.setLineDash&&(n.options.nullDataLineDashType||
325
+ p===n.lineDashType&&n.lineDashType!==n.nullDataLineDashType)&&(c.stroke(),c.beginPath(),c.moveTo(g.x,g.y),p=n.nullDataLineDashType,c.setLineDash(r)),c.lineTo(E,x),v&&b.lineTo(E,x)):(c.beginPath(),c.moveTo(E,x),v&&(b.beginPath(),b.moveTo(E,x))),w=m=!1):(c.lineTo(E,x),v&&b.lineTo(E,x),0==u%500&&(c.stroke(),c.beginPath(),c.moveTo(E,x),v&&(b.stroke(),b.beginPath(),b.moveTo(E,x))));g={x:E,y:x};u<q.length-1&&(t!==(q[u].lineColor||C)||p!==(q[u].lineDashType||n.lineDashType))&&(c.stroke(),c.beginPath(),c.moveTo(E,
326
+ x),t=q[u].lineColor||C,c.strokeStyle=t,c.setLineDash&&(q[u].lineDashType?(p=q[u].lineDashType,c.setLineDash(U(p,n.lineThickness))):(p=n.lineDashType,c.setLineDash(h))));if(0!==q[u].markerSize&&(0<q[u].markerSize||0<n.markerSize)){var D=n.getMarkerProperties(u,E,x,c);k.push(D);s=V(s);v&&k.push({x:E,y:x,ctx:b,type:D.type,size:D.size,color:s,borderColor:s,borderThickness:D.borderThickness})}(q[u].indexLabel||n.indexLabel||q[u].indexLabelFormatter||n.indexLabelFormatter)&&this._indexLabels.push({chartType:"line",
327
+ dataPoint:q[u],dataSeries:n,point:{x:E,y:x},direction:0>q[u].y===a.axisY.reversed?1:-1,color:C})}c.stroke();v&&b.stroke()}}l.drawMarkers(k);v&&(e.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),
328
+ c.clearRect(f.x1,f.y1,f.width,f.height),b.beginPath());c.restore();c.beginPath();return{source:e,dest:this.plotArea.ctx,animationCallback:z.xClipAnimation,easingFunction:z.easing.linear,animationBase:0}}};s.prototype.renderStepLine=function(a){var e=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:e;if(!(0>=a.dataSeriesIndexes.length)){var b=this._eventManager.ghostCtx;c.save();var f=this.plotArea;c.beginPath();c.rect(f.x1,f.y1,f.width,f.height);c.clip();for(var k=[],g,d=0;d<a.dataSeriesIndexes.length;d++){var J=
329
+ a.dataSeriesIndexes[d],n=this.data[J];c.lineWidth=n.lineThickness;var q=n.dataPoints,p="solid";if(c.setLineDash){var r=U(n.nullDataLineDashType,n.lineThickness),p=n.lineDashType,h=U(p,n.lineThickness);c.setLineDash(h)}var C=n.id;this._eventManager.objectMap[C]={objectType:"dataSeries",dataSeriesIndex:J};C=V(C);b.strokeStyle=C;b.lineWidth=0<n.lineThickness?Math.max(n.lineThickness,4):0;var C=n._colorSet,t=C=n.lineColor=n.options.lineColor?n.options.lineColor:C[0];c.strokeStyle=C;var m=!0,u=0,E,x;c.beginPath();
330
+ if(0<q.length){for(var w=!1,u=0;u<q.length;u++)if(E=q[u].getTime?q[u].x.getTime():q[u].x,!(E<a.axisX.dataInfo.viewPortMin||E>a.axisX.dataInfo.viewPortMax&&(!n.connectNullData||!w)))if("number"!==typeof q[u].y)0<u&&!(n.connectNullData||w||m)&&(c.stroke(),v&&b.stroke()),w=!0;else{var s=x;E=a.axisX.convertValueToPixel(E);x=a.axisY.convertValueToPixel(q[u].y);var D=n.dataPointIds[u];this._eventManager.objectMap[D]={id:D,objectType:"dataPoint",dataSeriesIndex:J,dataPointIndex:u,x1:E,y1:x};m||w?(!m&&n.connectNullData?
331
+ (c.setLineDash&&(n.options.nullDataLineDashType||p===n.lineDashType&&n.lineDashType!==n.nullDataLineDashType)&&(c.stroke(),c.beginPath(),c.moveTo(g.x,g.y),p=n.nullDataLineDashType,c.setLineDash(r)),c.lineTo(E,s),c.lineTo(E,x),v&&(b.lineTo(E,s),b.lineTo(E,x))):(c.beginPath(),c.moveTo(E,x),v&&(b.beginPath(),b.moveTo(E,x))),w=m=!1):(c.lineTo(E,s),v&&b.lineTo(E,s),c.lineTo(E,x),v&&b.lineTo(E,x),0==u%500&&(c.stroke(),c.beginPath(),c.moveTo(E,x),v&&(b.stroke(),b.beginPath(),b.moveTo(E,x))));g={x:E,y:x};
332
+ u<q.length-1&&(t!==(q[u].lineColor||C)||p!==(q[u].lineDashType||n.lineDashType))&&(c.stroke(),c.beginPath(),c.moveTo(E,x),t=q[u].lineColor||C,c.strokeStyle=t,c.setLineDash&&(q[u].lineDashType?(p=q[u].lineDashType,c.setLineDash(U(p,n.lineThickness))):(p=n.lineDashType,c.setLineDash(h))));0!==q[u].markerSize&&(0<q[u].markerSize||0<n.markerSize)&&(s=n.getMarkerProperties(u,E,x,c),k.push(s),D=V(D),v&&k.push({x:E,y:x,ctx:b,type:s.type,size:s.size,color:D,borderColor:D,borderThickness:s.borderThickness}));
333
+ (q[u].indexLabel||n.indexLabel||q[u].indexLabelFormatter||n.indexLabelFormatter)&&this._indexLabels.push({chartType:"stepLine",dataPoint:q[u],dataSeries:n,point:{x:E,y:x},direction:0>q[u].y===a.axisY.reversed?1:-1,color:C})}c.stroke();v&&b.stroke()}}l.drawMarkers(k);v&&(e.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,
334
+ 0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(f.x1,f.y1,f.width,f.height),b.beginPath());c.restore();c.beginPath();return{source:e,dest:this.plotArea.ctx,animationCallback:z.xClipAnimation,easingFunction:z.easing.linear,animationBase:0}}};s.prototype.renderSpline=function(a){function e(a){a=w(a,2);if(0<a.length){b.beginPath();v&&f.beginPath();b.moveTo(a[0].x,a[0].y);a[0].newStrokeStyle&&(b.strokeStyle=
335
+ a[0].newStrokeStyle);a[0].newLineDashArray&&b.setLineDash(a[0].newLineDashArray);v&&f.moveTo(a[0].x,a[0].y);for(var c=0;c<a.length-3;c+=3)if(b.bezierCurveTo(a[c+1].x,a[c+1].y,a[c+2].x,a[c+2].y,a[c+3].x,a[c+3].y),v&&f.bezierCurveTo(a[c+1].x,a[c+1].y,a[c+2].x,a[c+2].y,a[c+3].x,a[c+3].y),0<c&&0===c%3E3||a[c+3].newStrokeStyle||a[c+3].newLineDashArray)b.stroke(),b.beginPath(),b.moveTo(a[c+3].x,a[c+3].y),a[c+3].newStrokeStyle&&(b.strokeStyle=a[c+3].newStrokeStyle),a[c+3].newLineDashArray&&b.setLineDash(a[c+
336
+ 3].newLineDashArray),v&&(f.stroke(),f.beginPath(),f.moveTo(a[c+3].x,a[c+3].y));b.stroke();v&&f.stroke()}}var c=a.targetCanvasCtx||this.plotArea.ctx,b=v?this._preRenderCtx:c;if(!(0>=a.dataSeriesIndexes.length)){var f=this._eventManager.ghostCtx;b.save();var k=this.plotArea;b.beginPath();b.rect(k.x1,k.y1,k.width,k.height);b.clip();for(var g=[],d=0;d<a.dataSeriesIndexes.length;d++){var J=a.dataSeriesIndexes[d],n=this.data[J];b.lineWidth=n.lineThickness;var q=n.dataPoints,p="solid";if(b.setLineDash){var r=
337
+ U(n.nullDataLineDashType,n.lineThickness),p=n.lineDashType,h=U(p,n.lineThickness);b.setLineDash(h)}var C=n.id;this._eventManager.objectMap[C]={objectType:"dataSeries",dataSeriesIndex:J};C=V(C);f.strokeStyle=C;f.lineWidth=0<n.lineThickness?Math.max(n.lineThickness,4):0;var C=n._colorSet,t=C=n.lineColor=n.options.lineColor?n.options.lineColor:C[0];b.strokeStyle=C;var m=0,u,E,x=[];b.beginPath();if(0<q.length)for(E=!1,m=0;m<q.length;m++)if(u=q[m].getTime?q[m].x.getTime():q[m].x,!(u<a.axisX.dataInfo.viewPortMin||
338
+ u>a.axisX.dataInfo.viewPortMax&&(!n.connectNullData||!E)))if("number"!==typeof q[m].y)0<m&&!E&&(n.connectNullData?b.setLineDash&&(0<x.length&&(n.options.nullDataLineDashType||!q[m-1].lineDashType))&&(x[x.length-1].newLineDashArray=r,p=n.nullDataLineDashType):(e(x),x=[])),E=!0;else{u=a.axisX.convertValueToPixel(u);E=a.axisY.convertValueToPixel(q[m].y);var s=n.dataPointIds[m];this._eventManager.objectMap[s]={id:s,objectType:"dataPoint",dataSeriesIndex:J,dataPointIndex:m,x1:u,y1:E};x[x.length]={x:u,
339
+ y:E};m<q.length-1&&(t!==(q[m].lineColor||C)||p!==(q[m].lineDashType||n.lineDashType))&&(t=q[m].lineColor||C,x[x.length-1].newStrokeStyle=t,b.setLineDash&&(q[m].lineDashType?(p=q[m].lineDashType,x[x.length-1].newLineDashArray=U(p,n.lineThickness)):(p=n.lineDashType,x[x.length-1].newLineDashArray=h)));if(0!==q[m].markerSize&&(0<q[m].markerSize||0<n.markerSize)){var F=n.getMarkerProperties(m,u,E,b);g.push(F);s=V(s);v&&g.push({x:u,y:E,ctx:f,type:F.type,size:F.size,color:s,borderColor:s,borderThickness:F.borderThickness})}(q[m].indexLabel||
340
+ n.indexLabel||q[m].indexLabelFormatter||n.indexLabelFormatter)&&this._indexLabels.push({chartType:"spline",dataPoint:q[m],dataSeries:n,point:{x:u,y:E},direction:0>q[m].y===a.axisY.reversed?1:-1,color:C});E=!1}e(x)}l.drawMarkers(g);v&&(c.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&
341
+ this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(k.x1,k.y1,k.width,k.height),f.beginPath());b.restore();b.beginPath();return{source:c,dest:this.plotArea.ctx,animationCallback:z.xClipAnimation,easingFunction:z.easing.linear,animationBase:0}}};s.prototype.renderColumn=function(a){var e=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:e;if(!(0>=a.dataSeriesIndexes.length)){var b=null,f=this.plotArea,k=0,g,d,J,n=a.axisY.convertValueToPixel(a.axisY.logarithmic?
342
+ a.axisY.viewportMinimum:0),k=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,q=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:Math.min(0.15*this.width,0.9*(this.plotArea.width/a.plotType.totalDataSeries))<<0,p=a.axisX.dataInfo.minDiff;isFinite(p)||(p=0.3*Math.abs(a.axisX.range));p=this.dataPointWidth=this.options.dataPointWidth?this.dataPointWidth:0.9*(f.width*(a.axisX.logarithmic?Math.log(p)/
343
+ Math.log(a.axisX.range):Math.abs(p)/Math.abs(a.axisX.range))/a.plotType.totalDataSeries)<<0;this.dataPointMaxWidth&&k>q&&(k=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,q));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&q<k)&&(q=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,k));p<k&&(p=k);p>q&&(p=q);c.save();v&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(f.x1,f.y1,f.width,f.height);c.clip();v&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(f.x1,
344
+ f.y1,f.width,f.height),this._eventManager.ghostCtx.clip());for(q=0;q<a.dataSeriesIndexes.length;q++){var r=a.dataSeriesIndexes[q],h=this.data[r],l=h.dataPoints;if(0<l.length)for(var m=5<p&&h.bevelEnabled?!0:!1,k=0;k<l.length;k++)if(l[k].getTime?J=l[k].x.getTime():J=l[k].x,!(J<a.axisX.dataInfo.viewPortMin||J>a.axisX.dataInfo.viewPortMax)&&"number"===typeof l[k].y){g=a.axisX.convertValueToPixel(J);d=a.axisY.convertValueToPixel(l[k].y);g=a.axisX.reversed?g+a.plotType.totalDataSeries*p/2-(a.previousDataSeriesCount+
345
+ q)*p<<0:g-a.plotType.totalDataSeries*p/2+(a.previousDataSeriesCount+q)*p<<0;var t=a.axisX.reversed?g-p<<0:g+p<<0,u;0<=l[k].y?u=n:(u=d,d=n);d>u&&(b=d,d=u,u=b);b=l[k].color?l[k].color:h._colorSet[k%h._colorSet.length];P(c,a.axisX.reversed?t:g,d,a.axisX.reversed?g:t,u,b,0,null,m&&(a.axisY.reversed?0>l[k].y:0<=l[k].y),(a.axisY.reversed?0<=l[k].y:0>l[k].y)&&m,!1,!1,h.fillOpacity);b=h.dataPointIds[k];this._eventManager.objectMap[b]={id:b,objectType:"dataPoint",dataSeriesIndex:r,dataPointIndex:k,x1:g,y1:d,
346
+ x2:t,y2:u};b=V(b);v&&P(this._eventManager.ghostCtx,a.axisX.reversed?t:g,d,a.axisX.reversed?g:t,u,b,0,null,!1,!1,!1,!1);(l[k].indexLabel||h.indexLabel||l[k].indexLabelFormatter||h.indexLabelFormatter)&&this._indexLabels.push({chartType:"column",dataPoint:l[k],dataSeries:h,point:{x:g+(t-g)/2,y:0>l[k].y===a.axisY.reversed?d:u},direction:0>l[k].y===a.axisY.reversed?1:-1,bounds:{x1:g,y1:Math.min(d,u),x2:t,y2:Math.max(d,u)},color:b})}}v&&(e.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation=
347
+ "source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(f.x1,f.y1,f.width,f.height),this._eventManager.ghostCtx.restore());c.restore();return{source:e,dest:this.plotArea.ctx,animationCallback:z.yScaleAnimation,easingFunction:z.easing.easeOutQuart,animationBase:n<a.axisY.bounds.y1?
348
+ a.axisY.bounds.y1:n>a.axisY.bounds.y2?a.axisY.bounds.y2:n}}};s.prototype.renderStackedColumn=function(a){var e=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:e;if(!(0>=a.dataSeriesIndexes.length)){var b=null,f=this.plotArea,k=[],g=[],d=[],l=[],n=0,q,p,r=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),n=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,h=this.options.dataPointMaxWidth?this.dataPointMaxWidth:
349
+ this.options.dataPointWidth?this.dataPointWidth:0.15*this.width<<0,C=a.axisX.dataInfo.minDiff;isFinite(C)||(C=0.3*Math.abs(a.axisX.range));C=this.options.dataPointWidth?this.dataPointWidth:0.9*(f.width*(a.axisX.logarithmic?Math.log(C)/Math.log(a.axisX.range):Math.abs(C)/Math.abs(a.axisX.range))/a.plotType.plotUnits.length)<<0;this.dataPointMaxWidth&&n>h&&(n=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,h));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&h<n)&&(h=Math.max(this.options.dataPointWidth?
350
+ this.dataPointWidth:-Infinity,n));C<n&&(C=n);C>h&&(C=h);c.save();v&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(f.x1,f.y1,f.width,f.height);c.clip();v&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(f.x1,f.y1,f.width,f.height),this._eventManager.ghostCtx.clip());for(h=0;h<a.dataSeriesIndexes.length;h++){var m=a.dataSeriesIndexes[h],t=this.data[m],u=t.dataPoints;if(0<u.length){var w=5<C&&t.bevelEnabled?!0:!1;c.strokeStyle="#4572A7 ";for(n=0;n<u.length;n++)if(b=
351
+ u[n].x.getTime?u[n].x.getTime():u[n].x,!(b<a.axisX.dataInfo.viewPortMin||b>a.axisX.dataInfo.viewPortMax)&&"number"===typeof u[n].y){q=a.axisX.convertValueToPixel(b);q=q-a.plotType.plotUnits.length*C/2+a.index*C<<0;var x=q+C<<0,s;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0<u[n].y)d[b]=u[n].y+(d[b]?d[b]:0),0<d[b]&&(p=a.axisY.convertValueToPixel(d[b]),s="undefined"!==typeof k[b]?k[b]:r,k[b]=p);else if(a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&
352
+ 0>=u[n].y)l[b]=u[n].y+(l[b]?l[b]:0),s=a.axisY.convertValueToPixel(l[b]),p="undefined"!==typeof g[b]?g[b]:r,g[b]=s;else if(p=a.axisY.convertValueToPixel(u[n].y),0<=u[n].y){var F="undefined"!==typeof k[b]?k[b]:0;p-=F;s=r-F;k[b]=F+(s-p)}else F=g[b]?g[b]:0,s=p+F,p=r+F,g[b]=F+(s-p);b=u[n].color?u[n].color:t._colorSet[n%t._colorSet.length];P(c,q,a.axisY.reversed?s:p,x,a.axisY.reversed?p:s,b,0,null,w&&(a.axisY.reversed?0>u[n].y:0<=u[n].y),(a.axisY.reversed?0<=u[n].y:0>u[n].y)&&w,!1,!1,t.fillOpacity);b=t.dataPointIds[n];
353
+ this._eventManager.objectMap[b]={id:b,objectType:"dataPoint",dataSeriesIndex:m,dataPointIndex:n,x1:q,y1:p,x2:x,y2:s};b=V(b);v&&P(this._eventManager.ghostCtx,q,p,x,s,b,0,null,!1,!1,!1,!1);(u[n].indexLabel||t.indexLabel||u[n].indexLabelFormatter||t.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedColumn",dataPoint:u[n],dataSeries:t,point:{x:q+(x-q)/2,y:0<=u[n].y?p:s},direction:0>u[n].y===a.axisY.reversed?1:-1,bounds:{x1:q,y1:Math.min(p,s),x2:x,y2:Math.max(p,s)},color:b})}}}v&&(e.drawImage(this._preRenderCanvas,
354
+ 0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(f.x1,f.y1,f.width,f.height),this._eventManager.ghostCtx.restore());c.restore();return{source:e,dest:this.plotArea.ctx,animationCallback:z.yScaleAnimation,easingFunction:z.easing.easeOutQuart,
355
+ animationBase:r<a.axisY.bounds.y1?a.axisY.bounds.y1:r>a.axisY.bounds.y2?a.axisY.bounds.y2:r}}};s.prototype.renderStackedColumn100=function(a){var e=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:e;if(!(0>=a.dataSeriesIndexes.length)){var b=null,f=this.plotArea,k=[],g=[],d=[],l=[],n=0,q,p,r=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),n=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,h=this.options.dataPointMaxWidth?
356
+ this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.15*this.width<<0,C=a.axisX.dataInfo.minDiff;isFinite(C)||(C=0.3*Math.abs(a.axisX.range));C=this.options.dataPointWidth?this.dataPointWidth:0.9*(f.width*(a.axisX.logarithmic?Math.log(C)/Math.log(a.axisX.range):Math.abs(C)/Math.abs(a.axisX.range))/a.plotType.plotUnits.length)<<0;this.dataPointMaxWidth&&n>h&&(n=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,h));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&
357
+ h<n)&&(h=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,n));C<n&&(C=n);C>h&&(C=h);c.save();v&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(f.x1,f.y1,f.width,f.height);c.clip();v&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(f.x1,f.y1,f.width,f.height),this._eventManager.ghostCtx.clip());for(h=0;h<a.dataSeriesIndexes.length;h++){var m=a.dataSeriesIndexes[h],t=this.data[m],u=t.dataPoints;if(0<u.length)for(var w=5<C&&t.bevelEnabled?!0:!1,n=
358
+ 0;n<u.length;n++)if(b=u[n].x.getTime?u[n].x.getTime():u[n].x,!(b<a.axisX.dataInfo.viewPortMin||b>a.axisX.dataInfo.viewPortMax)&&"number"===typeof u[n].y){q=a.axisX.convertValueToPixel(b);p=0!==a.dataPointYSums[b]?100*(u[n].y/a.dataPointYSums[b]):0;q=q-a.plotType.plotUnits.length*C/2+a.index*C<<0;var x=q+C<<0,s;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0<u[n].y){d[b]=p+("undefined"!==typeof d[b]?d[b]:0);if(0>=d[b])continue;p=a.axisY.convertValueToPixel(d[b]);
359
+ s=k[b]?k[b]:r;k[b]=p}else if(a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0>=u[n].y)l[b]=p+("undefined"!==typeof l[b]?l[b]:0),s=a.axisY.convertValueToPixel(l[b]),p=g[b]?g[b]:r,g[b]=s;else if(p=a.axisY.convertValueToPixel(p),0<=u[n].y){var F="undefined"!==typeof k[b]?k[b]:0;p-=F;s=r-F;a.dataSeriesIndexes.length-1===h&&1>=Math.abs(f.y1-p)&&(p=f.y1);k[b]=F+(s-p)}else F="undefined"!==typeof g[b]?g[b]:0,s=p+F,p=r+F,a.dataSeriesIndexes.length-1===h&&1>=Math.abs(f.y2-s)&&(s=f.y2),g[b]=
360
+ F+(s-p);b=u[n].color?u[n].color:t._colorSet[n%t._colorSet.length];P(c,q,a.axisY.reversed?s:p,x,a.axisY.reversed?p:s,b,0,null,w&&(a.axisY.reversed?0>u[n].y:0<=u[n].y),(a.axisY.reversed?0<=u[n].y:0>u[n].y)&&w,!1,!1,t.fillOpacity);b=t.dataPointIds[n];this._eventManager.objectMap[b]={id:b,objectType:"dataPoint",dataSeriesIndex:m,dataPointIndex:n,x1:q,y1:p,x2:x,y2:s};b=V(b);v&&P(this._eventManager.ghostCtx,q,p,x,s,b,0,null,!1,!1,!1,!1);(u[n].indexLabel||t.indexLabel||u[n].indexLabelFormatter||t.indexLabelFormatter)&&
361
+ this._indexLabels.push({chartType:"stackedColumn100",dataPoint:u[n],dataSeries:t,point:{x:q+(x-q)/2,y:0<=u[n].y?p:s},direction:0>u[n].y===a.axisY.reversed?1:-1,bounds:{x1:q,y1:Math.min(p,s),x2:x,y2:Math.max(p,s)},color:b})}}v&&(e.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&
362
+ this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(f.x1,f.y1,f.width,f.height),this._eventManager.ghostCtx.restore());c.restore();return{source:e,dest:this.plotArea.ctx,animationCallback:z.yScaleAnimation,easingFunction:z.easing.easeOutQuart,animationBase:r<a.axisY.bounds.y1?a.axisY.bounds.y1:r>a.axisY.bounds.y2?a.axisY.bounds.y2:r}}};s.prototype.renderBar=function(a){var e=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:e;if(!(0>=a.dataSeriesIndexes.length)){var b=
363
+ null,f=this.plotArea,k=0,g,d,l,n=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),k=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,q=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:Math.min(0.15*this.height,0.9*(this.plotArea.height/a.plotType.totalDataSeries))<<0,p=a.axisX.dataInfo.minDiff;isFinite(p)||(p=0.3*Math.abs(a.axisX.range));p=this.options.dataPointWidth?
364
+ this.dataPointWidth:0.9*(f.height*(a.axisX.logarithmic?Math.log(p)/Math.log(a.axisX.range):Math.abs(p)/Math.abs(a.axisX.range))/a.plotType.totalDataSeries)<<0;this.dataPointMaxWidth&&k>q&&(k=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,q));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&q<k)&&(q=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,k));p<k&&(p=k);p>q&&(p=q);c.save();v&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(f.x1,f.y1,f.width,f.height);
365
+ c.clip();v&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(f.x1,f.y1,f.width,f.height),this._eventManager.ghostCtx.clip());for(q=0;q<a.dataSeriesIndexes.length;q++){var r=a.dataSeriesIndexes[q],h=this.data[r],C=h.dataPoints;if(0<C.length){var m=5<p&&h.bevelEnabled?!0:!1;c.strokeStyle="#4572A7 ";for(k=0;k<C.length;k++)if(C[k].getTime?l=C[k].x.getTime():l=C[k].x,!(l<a.axisX.dataInfo.viewPortMin||l>a.axisX.dataInfo.viewPortMax)&&"number"===typeof C[k].y){d=a.axisX.convertValueToPixel(l);
366
+ g=a.axisY.convertValueToPixel(C[k].y);d=a.axisX.reversed?d+a.plotType.totalDataSeries*p/2-(a.previousDataSeriesCount+q)*p<<0:d-a.plotType.totalDataSeries*p/2+(a.previousDataSeriesCount+q)*p<<0;var t=a.axisX.reversed?d-p<<0:d+p<<0,u;0<=C[k].y?u=n:(u=g,g=n);b=C[k].color?C[k].color:h._colorSet[k%h._colorSet.length];P(c,a.axisY.reversed?g:u,a.axisX.reversed?t:d,a.axisY.reversed?u:g,a.axisX.reversed?d:t,b,0,null,m,!1,!1,!1,h.fillOpacity);b=h.dataPointIds[k];this._eventManager.objectMap[b]={id:b,objectType:"dataPoint",
367
+ dataSeriesIndex:r,dataPointIndex:k,x1:u,y1:d,x2:g,y2:t};b=V(b);v&&P(this._eventManager.ghostCtx,u,a.axisX.reversed?t:d,g,a.axisX.reversed?d:t,b,0,null,!1,!1,!1,!1);(C[k].indexLabel||h.indexLabel||C[k].indexLabelFormatter||h.indexLabelFormatter)&&this._indexLabels.push({chartType:"bar",dataPoint:C[k],dataSeries:h,point:{x:0<=C[k].y?g:u,y:d+(t-d)/2},direction:0>C[k].y===a.axisY.reversed?1:-1,bounds:{x1:Math.min(u,g),y1:d,x2:Math.max(u,g),y2:t},color:b})}}}v&&(e.drawImage(this._preRenderCanvas,0,0,this.width,
368
+ this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(f.x1,f.y1,f.width,f.height),this._eventManager.ghostCtx.restore());c.restore();return{source:e,dest:this.plotArea.ctx,animationCallback:z.xScaleAnimation,easingFunction:z.easing.easeOutQuart,
369
+ animationBase:n<a.axisY.bounds.x1?a.axisY.bounds.x1:n>a.axisY.bounds.x2?a.axisY.bounds.x2:n}}};s.prototype.renderStackedBar=function(a){var e=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:e;if(!(0>=a.dataSeriesIndexes.length)){var b=null,f=this.plotArea,k=[],g=[],d=[],l=[],n=0,q,p,r=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),n=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,h=this.options.dataPointMaxWidth?
370
+ this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.15*this.height<<0,C=a.axisX.dataInfo.minDiff;isFinite(C)||(C=0.3*Math.abs(a.axisX.range));C=this.options.dataPointWidth?this.dataPointWidth:0.9*(f.height*(a.axisX.logarithmic?Math.log(C)/Math.log(a.axisX.range):Math.abs(C)/Math.abs(a.axisX.range))/a.plotType.plotUnits.length)<<0;this.dataPointMaxWidth&&n>h&&(n=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,h));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&
371
+ h<n)&&(h=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,n));C<n&&(C=n);C>h&&(C=h);c.save();v&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(f.x1,f.y1,f.width,f.height);c.clip();v&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(f.x1,f.y1,f.width,f.height),this._eventManager.ghostCtx.clip());for(h=0;h<a.dataSeriesIndexes.length;h++){var t=a.dataSeriesIndexes[h],m=this.data[t],u=m.dataPoints;if(0<u.length){var w=5<C&&m.bevelEnabled?!0:!1;c.strokeStyle=
372
+ "#4572A7 ";for(n=0;n<u.length;n++)if(b=u[n].x.getTime?u[n].x.getTime():u[n].x,!(b<a.axisX.dataInfo.viewPortMin||b>a.axisX.dataInfo.viewPortMax)&&"number"===typeof u[n].y){p=a.axisX.convertValueToPixel(b);p=p-a.plotType.plotUnits.length*C/2+a.index*C<<0;var x=p+C<<0,s;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0<u[n].y)d[b]=u[n].y+(d[b]?d[b]:0),0<d[b]&&(s=k[b]?k[b]:r,k[b]=q=a.axisY.convertValueToPixel(d[b]));else if(a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&
373
+ 0>=u[n].y)l[b]=u[n].y+(l[b]?l[b]:0),q=g[b]?g[b]:r,g[b]=s=a.axisY.convertValueToPixel(l[b]);else if(q=a.axisY.convertValueToPixel(u[n].y),0<=u[n].y){var F=k[b]?k[b]:0;s=r+F;q+=F;k[b]=F+(q-s)}else F=g[b]?g[b]:0,s=q-F,q=r-F,g[b]=F+(q-s);b=u[n].color?u[n].color:m._colorSet[n%m._colorSet.length];P(c,a.axisY.reversed?q:s,p,a.axisY.reversed?s:q,x,b,0,null,w,!1,!1,!1,m.fillOpacity);b=m.dataPointIds[n];this._eventManager.objectMap[b]={id:b,objectType:"dataPoint",dataSeriesIndex:t,dataPointIndex:n,x1:s,y1:p,
374
+ x2:q,y2:x};b=V(b);v&&P(this._eventManager.ghostCtx,s,p,q,x,b,0,null,!1,!1,!1,!1);(u[n].indexLabel||m.indexLabel||u[n].indexLabelFormatter||m.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedBar",dataPoint:u[n],dataSeries:m,point:{x:0<=u[n].y?q:s,y:p+(x-p)/2},direction:0>u[n].y===a.axisY.reversed?1:-1,bounds:{x1:Math.min(s,q),y1:p,x2:Math.max(s,q),y2:x},color:b})}}}v&&(e.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&
375
+ c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(f.x1,f.y1,f.width,f.height),this._eventManager.ghostCtx.restore());c.restore();return{source:e,dest:this.plotArea.ctx,animationCallback:z.xScaleAnimation,easingFunction:z.easing.easeOutQuart,animationBase:r<a.axisY.bounds.x1?a.axisY.bounds.x1:r>a.axisY.bounds.x2?
376
+ a.axisY.bounds.x2:r}}};s.prototype.renderStackedBar100=function(a){var e=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:e;if(!(0>=a.dataSeriesIndexes.length)){var b=null,f=this.plotArea,k=[],g=[],d=[],l=[],n=0,q,p,r=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),n=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,h=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:
377
+ 0.15*this.height<<0,C=a.axisX.dataInfo.minDiff;isFinite(C)||(C=0.3*Math.abs(a.axisX.range));C=this.options.dataPointWidth?this.dataPointWidth:0.9*(f.height*(a.axisX.logarithmic?Math.log(C)/Math.log(a.axisX.range):Math.abs(C)/Math.abs(a.axisX.range))/a.plotType.plotUnits.length)<<0;this.dataPointMaxWidth&&n>h&&(n=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,h));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&h<n)&&(h=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,
378
+ n));C<n&&(C=n);C>h&&(C=h);c.save();v&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(f.x1,f.y1,f.width,f.height);c.clip();v&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(f.x1,f.y1,f.width,f.height),this._eventManager.ghostCtx.clip());for(h=0;h<a.dataSeriesIndexes.length;h++){var m=a.dataSeriesIndexes[h],t=this.data[m],u=t.dataPoints;if(0<u.length){var w=5<C&&t.bevelEnabled?!0:!1;c.strokeStyle="#4572A7 ";for(n=0;n<u.length;n++)if(b=u[n].x.getTime?u[n].x.getTime():
379
+ u[n].x,!(b<a.axisX.dataInfo.viewPortMin||b>a.axisX.dataInfo.viewPortMax)&&"number"===typeof u[n].y){p=a.axisX.convertValueToPixel(b);var x;x=0!==a.dataPointYSums[b]?100*(u[n].y/a.dataPointYSums[b]):0;p=p-a.plotType.plotUnits.length*C/2+a.index*C<<0;var s=p+C<<0;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0<u[n].y){d[b]=x+(d[b]?d[b]:0);if(0>=d[b])continue;x=k[b]?k[b]:r;k[b]=q=a.axisY.convertValueToPixel(d[b])}else if(a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&
380
+ 0>=u[n].y)l[b]=x+(l[b]?l[b]:0),q=g[b]?g[b]:r,g[b]=x=a.axisY.convertValueToPixel(l[b]);else if(q=a.axisY.convertValueToPixel(x),0<=u[n].y){var F=k[b]?k[b]:0;x=r+F;q+=F;a.dataSeriesIndexes.length-1===h&&1>=Math.abs(f.x2-q)&&(q=f.x2);k[b]=F+(q-x)}else F=g[b]?g[b]:0,x=q-F,q=r-F,a.dataSeriesIndexes.length-1===h&&1>=Math.abs(f.x1-x)&&(x=f.x1),g[b]=F+(q-x);b=u[n].color?u[n].color:t._colorSet[n%t._colorSet.length];P(c,a.axisY.reversed?q:x,p,a.axisY.reversed?x:q,s,b,0,null,w,!1,!1,!1,t.fillOpacity);b=t.dataPointIds[n];
381
+ this._eventManager.objectMap[b]={id:b,objectType:"dataPoint",dataSeriesIndex:m,dataPointIndex:n,x1:x,y1:p,x2:q,y2:s};b=V(b);v&&P(this._eventManager.ghostCtx,x,p,q,s,b,0,null,!1,!1,!1,!1);(u[n].indexLabel||t.indexLabel||u[n].indexLabelFormatter||t.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedBar100",dataPoint:u[n],dataSeries:t,point:{x:0<=u[n].y?q:x,y:p+(s-p)/2},direction:0>u[n].y===a.axisY.reversed?1:-1,bounds:{x1:Math.min(x,q),y1:p,x2:Math.max(x,q),y2:s},color:b})}}}v&&(e.drawImage(this._preRenderCanvas,
382
+ 0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(f.x1,f.y1,f.width,f.height),this._eventManager.ghostCtx.restore());c.restore();return{source:e,dest:this.plotArea.ctx,animationCallback:z.xScaleAnimation,easingFunction:z.easing.easeOutQuart,
383
383
  animationBase:r<a.axisY.bounds.x1?a.axisY.bounds.x1:r>a.axisY.bounds.x2?a.axisY.bounds.x2:r}}};s.prototype.renderArea=function(a){var e,c;function b(){F&&(0<h.lineThickness&&k.stroke(),a.axisY.logarithmic||0>=a.axisY.viewportMinimum&&0<=a.axisY.viewportMaximum?s=x:0>a.axisY.viewportMaximum?s=d.y1:0<a.axisY.viewportMinimum&&(s=x),k.lineTo(m,s),k.lineTo(F.x,s),k.closePath(),k.globalAlpha=h.fillOpacity,k.fill(),k.globalAlpha=1,v&&(g.lineTo(m,s),g.lineTo(F.x,s),g.closePath(),g.fill()),k.beginPath(),k.moveTo(m,
384
384
  u),g.beginPath(),g.moveTo(m,u),F={x:m,y:u})}var f=a.targetCanvasCtx||this.plotArea.ctx,k=v?this._preRenderCtx:f;if(!(0>=a.dataSeriesIndexes.length)){var g=this._eventManager.ghostCtx,d=a.axisY.lineCoordinates,J=[],n=this.plotArea,q;k.save();v&&g.save();k.beginPath();k.rect(n.x1,n.y1,n.width,n.height);k.clip();v&&(g.beginPath(),g.rect(n.x1,n.y1,n.width,n.height),g.clip());for(var p=0;p<a.dataSeriesIndexes.length;p++){var r=a.dataSeriesIndexes[p],h=this.data[r],C=h.dataPoints,J=h.id;this._eventManager.objectMap[J]=
385
385
  {objectType:"dataSeries",dataSeriesIndex:r};J=V(J);g.fillStyle=J;J=[];e=!0;var t=0,m,u,w,x=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),s,F=null;if(0<C.length){var D=h._colorSet[t%h._colorSet.length],y=h.lineColor=h.options.lineColor||D,A=y;k.fillStyle=D;k.strokeStyle=y;k.lineWidth=h.lineThickness;c="solid";if(k.setLineDash){var M=U(h.nullDataLineDashType,h.lineThickness);c=h.lineDashType;var S=U(c,h.lineThickness);k.setLineDash(S)}for(var ga=!0;t<C.length;t++)if(w=C[t].x.getTime?
@@ -554,21 +554,21 @@ a.roundRect||Ea(a);y.title&&(y.title.dockInsidePlotArea||"center"===y.title.hori
554
554
  Ca.fNg&&Ca.fNg(y)}var y=this;if(!(0>=a.dataSeriesIndexes.length)){for(var u=this.data[a.dataSeriesIndexes[0]],E=u.dataPoints,x=this.plotArea,A=0.025*x.width,F=0.01*x.width,D=0,G=x.height-2*A,H=Math.min(x.width-2*F,2.8*x.height),M=!1,S=0;S<E.length;S++)if(!M&&("undefined"!==typeof E[S].indexLabel&&null!==E[S].indexLabel&&0<E[S].indexLabel.toString().length)&&(M=!0),!M&&("undefined"!==typeof E[S].label&&null!==E[S].label&&0<E[S].label.toString().length)&&(M=!0),!M&&"function"===typeof u.indexLabelFormatter||
555
555
  "function"===typeof E[S].indexLabelFormatter)M=!0;M=M||"undefined"!==typeof u.indexLabel&&null!==u.indexLabel&&0<u.indexLabel.toString().length;"inside"!==u.indexLabelPlacement&&M||(F=(x.width-0.75*H)/2);var S=x.x1+F,L=x.x2-F,O=x.y1+A,P=x.y2-A,N=a.targetCanvasCtx||this.plotArea.ctx||this.ctx;if(0!=u.length&&(u.dataPoints&&u.visible)&&0!==E.length){var R,I;a=75*H/100;var Z=30*(L-a)/100;"funnel"===u.type?(R=g(u.options.neckHeight)?0.35*G:u.neckHeight,I=g(u.options.neckWidth)?0.25*a:u.neckWidth,"string"===
556
556
  typeof R&&R.match(/%$/)?(R=parseInt(R),R=R*G/100):R=parseInt(R),"string"===typeof I&&I.match(/%$/)?(I=parseInt(I),I=I*a/100):I=parseInt(I),R>G?R=G:0>=R&&(R=0),I>a?I=a-0.5:0>=I&&(I=0)):"pyramid"===u.type&&(I=R=0,u.reversed=u.reversed?!1:!0);var F=S+a/2,V=S,Y=S+a,W=u.reversed?P:O,T=F-I/2,X=F+I/2,aa=u.reversed?O+R:P-R,wa=u.reversed?O:P;I=u.valueRepresents=u.valueRepresents?u.valueRepresents:"height";S=[];a=[];var Q=[],F=[],$=O,da,ea=(aa-W)/(T-V),ha=-ea,H="area"===I?c():e();if(-1!==H){if(u.reversed)for(F.push($),
557
- I=H.length-1;0<I;I--)$+=H[I],F.push($);else for(I=0;I<H.length;I++)$+=H[I],F.push($);if(u.reversed)for(I=0;I<H.length;I++)F[I]<aa?(S.push(T),a.push(X),da=I):(S.push((F[I]-W+ea*V)/ea),a.push((F[I]-W+ha*Y)/ha));else for(I=0;I<H.length;I++)F[I]<aa?(S.push((F[I]-W+ea*V)/ea),a.push((F[I]-W+ha*Y)/ha),da=I):(S.push(T),a.push(X));for(I=0;I<H.length-1;I++)$=u.reversed?E[E.length-1-I].color?E[E.length-1-I].color:u._colorSet[(E.length-1-I)%u._colorSet.length]:E[I].color?E[I].color:u._colorSet[I%u._colorSet.length],
558
- I===da?Q.push({x1:S[I],y1:F[I],x2:a[I],y2:F[I],x3:X,y3:aa,x4:a[I+1],y4:F[I+1],x5:S[I+1],y5:F[I+1],x6:T,y6:aa,id:I,height:F[I+1]-F[I],color:$}):Q.push({x1:S[I],y1:F[I],x2:a[I],y2:F[I],x3:a[I+1],y3:F[I+1],x4:S[I+1],y4:F[I+1],id:I,height:F[I+1]-F[I],color:$}),u.dataPointEOs[I]&&Q[I]&&(u.dataPointEOs[I].sectionsofFunnel=Q[I]);var fa=2,K=[],la=!1,ba=[],ja=[],S=!1;a=a=0;xa(ba);for(I=0;I<E.length;I++)E[I].exploded&&(S=!0,u.reversed?ba.push(E.length-1-I):ba.push(I));N.clearRect(x.x1,x.y1,x.width,x.height);
559
- N.fillStyle=y.backgroundColor;N.fillRect(x.x1,x.y1,x.width,x.height);if(M&&u.visible&&(b(),k(),"inside"!==u.indexLabelPlacement)){f();d();for(I=0;I<E.length;I++)K[I].isDirty||(a=K[I].textBlock.x+K[I].width,a=(L-a)/2,0==I&&(D=a),D>a&&(D=a));for(I=0;I<Q.length;I++)Q[I].x1+=D,Q[I].x2+=D,Q[I].x3+=D,Q[I].x4+=D,Q[I].x5&&(Q[I].x5+=D,Q[I].x6+=D),K[I].textBlock.x+=D}for(I=0;I<Q.length;I++)D=Q[I],t(N,D,u.fillOpacity),ja.push(D.y1);w(N);M&&u.visible&&("inside"===u.indexLabelPlacement||y.animationEnabled||q(N),
560
- y.animationEnabled||s());if(!M)for(I=0;I<E.length;I++)D=u.dataPointIds[I],a={id:D,objectType:"dataPoint",dataPointIndex:I,dataSeriesIndex:0,funnelSection:Q[u.reversed?E.length-1-I:I]},y._eventManager.objectMap[D]=a;!y.animationEnabled&&S?m(y,-1,0):y.animationEnabled&&!y.animatedRender&&m(y,-1,0);this.funnelPyramidClickHandler=function(a){var b=-1;if(!la&&!y.isAnimating&&(g(a.dataSeries.explodeOnClick)||a.dataSeries.explodeOnClick)&&(b=u.reversed?E.length-1-a.dataPointIndex:a.dataPointIndex,0<=b)){a=
561
- b;if("funnel"===u.type||"pyramid"===u.type)u.reversed?E[E.length-1-a].exploded=E[E.length-1-a].exploded?!1:!0:E[a].exploded=E[a].exploded?!1:!0;m(y,b,500)}};return{source:N,dest:this.plotArea.ctx,animationCallback:function(a,b){z.fadeInAnimation(a,b);1<=a&&(m(y,-1,500),w(y.plotArea.ctx||y.ctx))},easingFunction:z.easing.easeInQuad,animationBase:0}}}}};s.prototype.requestAnimFrame=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||
562
- window.msRequestAnimationFrame||function(a){window.setTimeout(a,1E3/60)}}();s.prototype.cancelRequestAnimFrame=window.cancelAnimationFrame||window.webkitCancelRequestAnimationFrame||window.mozCancelRequestAnimationFrame||window.oCancelRequestAnimationFrame||window.msCancelRequestAnimationFrame||clearTimeout;s.prototype.set=function(a,e,c){c="undefined"===typeof c?!0:c;"options"===a?(this.options=e,c&&this.render()):s.base.set.call(this,a,e,c)};s.prototype.exportChart=function(a){a="undefined"===typeof a?
563
- {}:a;var e=a.format?a.format:"png",c=a.fileName?a.fileName:this.exportFileName;if(a.toDataURL)return this.canvas.toDataURL("image/"+e);cb(this.canvas,e,c)};s.prototype.print=function(){var a=this.exportChart({toDataURL:!0}),e=document.createElement("iframe");e.setAttribute("class","canvasjs-chart-print-frame");R(e,{position:"absolute",width:"100%",border:"0px",margin:"0px 0px 0px 0px",padding:"0px 0px 0px 0px"});e.style.height=this.height+"px";this._canvasJSContainer.appendChild(e);var c=this,b=e.contentWindow||
564
- e.contentDocument.document||e.contentDocument;b.document.open();b.document.write('<!DOCTYPE HTML>\n<html><body><img src="'+a+'"/><body/></html>');b.document.body&&b.document.body.style&&(b.document.body.style.margin="0px 0px 0px 0px",b.document.body.style.padding="0px 0px 0px 0px");b.document.close();setTimeout(function(){b.focus();b.print();setTimeout(function(){c._canvasJSContainer.removeChild(e)},1E3)},500)};s.prototype.getPercentAndTotal=function(a,e){var c=null,b=null,f=c=null;if(0<=a.type.indexOf("stacked"))b=
565
- 0,c=e.x.getTime?e.x.getTime():e.x,c in a.plotUnit.yTotals&&(b=a.plotUnit.yTotals[c],c=a.plotUnit.yAbsTotals[c],f=isNaN(e.y)?0:0===c?0:100*(e.y/c));else if("pie"===a.type||"doughnut"===a.type||"funnel"===a.type||"pyramid"===a.type){for(c=b=0;c<a.dataPoints.length;c++)isNaN(a.dataPoints[c].y)||(b+=a.dataPoints[c].y);f=isNaN(e.y)?0:100*(e.y/b)}return{percent:f,total:b}};s.prototype.replaceKeywordsWithValue=function(a,e,c,b,f){var k=this;f="undefined"===typeof f?0:f;if((0<=c.type.indexOf("stacked")||
566
- "pie"===c.type||"doughnut"===c.type||"funnel"===c.type||"pyramid"===c.type)&&(0<=a.indexOf("#percent")||0<=a.indexOf("#total"))){var d="#percent",g="#total",l=this.getPercentAndTotal(c,e),g=isNaN(l.total)?g:l.total,d=isNaN(l.percent)?d:l.percent;do{l="";if(c.percentFormatString)l=c.percentFormatString;else{var l="#,##0.",n=Math.max(Math.ceil(Math.log(1/Math.abs(d))/Math.LN10),2);if(isNaN(n)||!isFinite(n))n=2;for(var q=0;q<n;q++)l+="#";c.percentFormatString=l}a=a.replace("#percent",aa(d,l,k._cultureInfo));
567
- a=a.replace("#total",aa(g,c.yValueFormatString?c.yValueFormatString:"#,##0.########",k._cultureInfo))}while(0<=a.indexOf("#percent")||0<=a.indexOf("#total"))}return a.replace(/\{.*?\}|"[^"]*"|'[^']*'/g,function(a){if('"'===a[0]&&'"'===a[a.length-1]||"'"===a[0]&&"'"===a[a.length-1])return a.slice(1,a.length-1);a=Oa(a.slice(1,a.length-1));a=a.replace("#index",f);var d=null;try{var h=a.match(/(.*?)\s*\[\s*(.*?)\s*\]/);h&&0<h.length&&(d=Oa(h[2]),a=Oa(h[1]))}catch(g){}h=null;if("color"===a)return"waterfall"===
568
- c.type?e.color?e.color:0<e.y?c.risingColor:c.fallingColor:"error"===c.type?c.color?c.color:c._colorSet[d%c._colorSet.length]:e.color?e.color:c.color?c.color:c._colorSet[b%c._colorSet.length];if(e.hasOwnProperty(a))h=e;else if(c.hasOwnProperty(a))h=c;else return"";h=h[a];null!==d&&(h=h[d]);return"x"===a?(c.axisX&&"dateTime"===c.axisX.valueType||"dateTime"===c.xValueType||e.x&&e.x.getTime)&&!c.axisX.logarithmic?qa(h,e.xValueFormatString?e.xValueFormatString:c.xValueFormatString?c.xValueFormatString:
569
- c.xValueFormatString=k.axisX&&k.axisX.autoValueFormatString?k.axisX.autoValueFormatString:"DD MMM YY",k._cultureInfo):aa(h,e.xValueFormatString?e.xValueFormatString:c.xValueFormatString?c.xValueFormatString:c.xValueFormatString="#,##0.########",k._cultureInfo):"y"===a?aa(h,e.yValueFormatString?e.yValueFormatString:c.yValueFormatString?c.yValueFormatString:c.yValueFormatString="#,##0.########",k._cultureInfo):"z"===a?aa(h,e.zValueFormatString?e.zValueFormatString:c.zValueFormatString?c.zValueFormatString:
570
- c.zValueFormatString="#,##0.########",k._cultureInfo):h})};ha(H,W);H.prototype.setLayout=function(){var a=this.dockInsidePlotArea?this.chart.plotArea:this.chart,e=a.layoutManager.getFreeSpace(),c=null,b=0,f=0,k=0,d=0,l=this.markerMargin=this.chart.options.legend&&!g(this.chart.options.legend.markerMargin)?this.chart.options.legend.markerMargin:0.3*this.fontSize;this.height=0;var m=[],n=[];if("top"===this.verticalAlign||"bottom"===this.verticalAlign)this.orientation="horizontal",c=this.verticalAlign,
571
- k=this.maxWidth=null!==this.maxWidth?this.maxWidth:e.width,d=this.maxHeight=null!==this.maxHeight?this.maxHeight:0.5*e.height;else if("center"===this.verticalAlign){this.orientation="vertical";if("left"===this.horizontalAlign||"center"===this.horizontalAlign||"right"===this.horizontalAlign)c=this.horizontalAlign;k=this.maxWidth=null!==this.maxWidth?this.maxWidth:0.5*e.width;d=this.maxHeight=null!==this.maxHeight?this.maxHeight:e.height}this.errorMarkerColor=[];for(var q=0;q<this.dataSeries.length;q++){var p=
557
+ I=H.length-1;0<I;I--)$+=H[I],F.push(Math.round($));else for(I=0;I<H.length;I++)$+=H[I],F.push(Math.round($));if(u.reversed)for(I=0;I<H.length;I++)F[I]<aa?(S.push(T),a.push(X),da=I):(S.push((F[I]-W+ea*V)/ea),a.push((F[I]-W+ha*Y)/ha));else for(I=0;I<H.length;I++)F[I]<aa?(S.push((F[I]-W+ea*V)/ea),a.push((F[I]-W+ha*Y)/ha),da=I):(S.push(T),a.push(X));for(I=0;I<H.length-1;I++)$=u.reversed?E[E.length-1-I].color?E[E.length-1-I].color:u._colorSet[(E.length-1-I)%u._colorSet.length]:E[I].color?E[I].color:u._colorSet[I%
558
+ u._colorSet.length],I===da?Q.push({x1:S[I],y1:F[I],x2:a[I],y2:F[I],x3:X,y3:aa,x4:a[I+1],y4:F[I+1],x5:S[I+1],y5:F[I+1],x6:T,y6:aa,id:I,height:F[I+1]-F[I],color:$}):Q.push({x1:S[I],y1:F[I],x2:a[I],y2:F[I],x3:a[I+1],y3:F[I+1],x4:S[I+1],y4:F[I+1],id:I,height:F[I+1]-F[I],color:$}),u.dataPointEOs[I]&&Q[I]&&(u.dataPointEOs[I].sectionsofFunnel=Q[I]);var fa=2,K=[],la=!1,ba=[],ja=[],S=!1;a=a=0;xa(ba);for(I=0;I<E.length;I++)E[I].exploded&&(S=!0,u.reversed?ba.push(E.length-1-I):ba.push(I));N.clearRect(x.x1,x.y1,
559
+ x.width,x.height);N.fillStyle=y.backgroundColor;N.fillRect(x.x1,x.y1,x.width,x.height);if(M&&u.visible&&(b(),k(),"inside"!==u.indexLabelPlacement)){f();d();for(I=0;I<E.length;I++)K[I].isDirty||(a=K[I].textBlock.x+K[I].width,a=(L-a)/2,0==I&&(D=a),D>a&&(D=a));for(I=0;I<Q.length;I++)Q[I].x1+=D,Q[I].x2+=D,Q[I].x3+=D,Q[I].x4+=D,Q[I].x5&&(Q[I].x5+=D,Q[I].x6+=D),K[I].textBlock.x+=D}for(I=0;I<Q.length;I++)D=Q[I],t(N,D,u.fillOpacity),ja.push(D.y1);w(N);M&&u.visible&&("inside"===u.indexLabelPlacement||y.animationEnabled||
560
+ q(N),y.animationEnabled||s());if(!M)for(I=0;I<E.length;I++)D=u.dataPointIds[I],a={id:D,objectType:"dataPoint",dataPointIndex:I,dataSeriesIndex:0,funnelSection:Q[u.reversed?E.length-1-I:I]},y._eventManager.objectMap[D]=a;!y.animationEnabled&&S?m(y,-1,0):y.animationEnabled&&!y.animatedRender&&m(y,-1,0);this.funnelPyramidClickHandler=function(a){var b=-1;if(!la&&!y.isAnimating&&(g(a.dataSeries.explodeOnClick)||a.dataSeries.explodeOnClick)&&(b=u.reversed?E.length-1-a.dataPointIndex:a.dataPointIndex,0<=
561
+ b)){a=b;if("funnel"===u.type||"pyramid"===u.type)u.reversed?E[E.length-1-a].exploded=E[E.length-1-a].exploded?!1:!0:E[a].exploded=E[a].exploded?!1:!0;m(y,b,500)}};return{source:N,dest:this.plotArea.ctx,animationCallback:function(a,b){z.fadeInAnimation(a,b);1<=a&&(m(y,-1,500),w(y.plotArea.ctx||y.ctx))},easingFunction:z.easing.easeInQuad,animationBase:0}}}}};s.prototype.requestAnimFrame=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||
562
+ window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(a){window.setTimeout(a,1E3/60)}}();s.prototype.cancelRequestAnimFrame=window.cancelAnimationFrame||window.webkitCancelRequestAnimationFrame||window.mozCancelRequestAnimationFrame||window.oCancelRequestAnimationFrame||window.msCancelRequestAnimationFrame||clearTimeout;s.prototype.set=function(a,e,c){c="undefined"===typeof c?!0:c;"options"===a?(this.options=e,c&&this.render()):s.base.set.call(this,a,e,c)};s.prototype.exportChart=
563
+ function(a){a="undefined"===typeof a?{}:a;var e=a.format?a.format:"png",c=a.fileName?a.fileName:this.exportFileName;if(a.toDataURL)return this.canvas.toDataURL("image/"+e);cb(this.canvas,e,c)};s.prototype.print=function(){var a=this.exportChart({toDataURL:!0}),e=document.createElement("iframe");e.setAttribute("class","canvasjs-chart-print-frame");R(e,{position:"absolute",width:"100%",border:"0px",margin:"0px 0px 0px 0px",padding:"0px 0px 0px 0px"});e.style.height=this.height+"px";this._canvasJSContainer.appendChild(e);
564
+ var c=this,b=e.contentWindow||e.contentDocument.document||e.contentDocument;b.document.open();b.document.write('<!DOCTYPE HTML>\n<html><body><img src="'+a+'"/><body/></html>');b.document.body&&b.document.body.style&&(b.document.body.style.margin="0px 0px 0px 0px",b.document.body.style.padding="0px 0px 0px 0px");b.document.close();setTimeout(function(){b.focus();b.print();setTimeout(function(){c._canvasJSContainer.removeChild(e)},1E3)},500)};s.prototype.getPercentAndTotal=function(a,e){var c=null,
565
+ b=null,f=c=null;if(0<=a.type.indexOf("stacked"))b=0,c=e.x.getTime?e.x.getTime():e.x,c in a.plotUnit.yTotals&&(b=a.plotUnit.yTotals[c],c=a.plotUnit.yAbsTotals[c],f=isNaN(e.y)?0:0===c?0:100*(e.y/c));else if("pie"===a.type||"doughnut"===a.type||"funnel"===a.type||"pyramid"===a.type){for(c=b=0;c<a.dataPoints.length;c++)isNaN(a.dataPoints[c].y)||(b+=a.dataPoints[c].y);f=isNaN(e.y)?0:100*(e.y/b)}return{percent:f,total:b}};s.prototype.replaceKeywordsWithValue=function(a,e,c,b,f){var k=this;f="undefined"===
566
+ typeof f?0:f;if((0<=c.type.indexOf("stacked")||"pie"===c.type||"doughnut"===c.type||"funnel"===c.type||"pyramid"===c.type)&&(0<=a.indexOf("#percent")||0<=a.indexOf("#total"))){var d="#percent",g="#total",l=this.getPercentAndTotal(c,e),g=isNaN(l.total)?g:l.total,d=isNaN(l.percent)?d:l.percent;do{l="";if(c.percentFormatString)l=c.percentFormatString;else{var l="#,##0.",n=Math.max(Math.ceil(Math.log(1/Math.abs(d))/Math.LN10),2);if(isNaN(n)||!isFinite(n))n=2;for(var q=0;q<n;q++)l+="#";c.percentFormatString=
567
+ l}a=a.replace("#percent",aa(d,l,k._cultureInfo));a=a.replace("#total",aa(g,c.yValueFormatString?c.yValueFormatString:"#,##0.########",k._cultureInfo))}while(0<=a.indexOf("#percent")||0<=a.indexOf("#total"))}return a.replace(/\{.*?\}|"[^"]*"|'[^']*'/g,function(a){if('"'===a[0]&&'"'===a[a.length-1]||"'"===a[0]&&"'"===a[a.length-1])return a.slice(1,a.length-1);a=Oa(a.slice(1,a.length-1));a=a.replace("#index",f);var d=null;try{var h=a.match(/(.*?)\s*\[\s*(.*?)\s*\]/);h&&0<h.length&&(d=Oa(h[2]),a=Oa(h[1]))}catch(g){}h=
568
+ null;if("color"===a)return"waterfall"===c.type?e.color?e.color:0<e.y?c.risingColor:c.fallingColor:"error"===c.type?c.color?c.color:c._colorSet[d%c._colorSet.length]:e.color?e.color:c.color?c.color:c._colorSet[b%c._colorSet.length];if(e.hasOwnProperty(a))h=e;else if(c.hasOwnProperty(a))h=c;else return"";h=h[a];null!==d&&(h=h[d]);return"x"===a?(c.axisX&&"dateTime"===c.axisX.valueType||"dateTime"===c.xValueType||e.x&&e.x.getTime)&&!c.axisX.logarithmic?qa(h,e.xValueFormatString?e.xValueFormatString:c.xValueFormatString?
569
+ c.xValueFormatString:c.xValueFormatString=k.axisX&&k.axisX.autoValueFormatString?k.axisX.autoValueFormatString:"DD MMM YY",k._cultureInfo):aa(h,e.xValueFormatString?e.xValueFormatString:c.xValueFormatString?c.xValueFormatString:c.xValueFormatString="#,##0.########",k._cultureInfo):"y"===a?aa(h,e.yValueFormatString?e.yValueFormatString:c.yValueFormatString?c.yValueFormatString:c.yValueFormatString="#,##0.########",k._cultureInfo):"z"===a?aa(h,e.zValueFormatString?e.zValueFormatString:c.zValueFormatString?
570
+ c.zValueFormatString:c.zValueFormatString="#,##0.########",k._cultureInfo):h})};ha(H,W);H.prototype.setLayout=function(){var a=this.dockInsidePlotArea?this.chart.plotArea:this.chart,e=a.layoutManager.getFreeSpace(),c=null,b=0,f=0,k=0,d=0,l=this.markerMargin=this.chart.options.legend&&!g(this.chart.options.legend.markerMargin)?this.chart.options.legend.markerMargin:0.3*this.fontSize;this.height=0;var m=[],n=[];if("top"===this.verticalAlign||"bottom"===this.verticalAlign)this.orientation="horizontal",
571
+ c=this.verticalAlign,k=this.maxWidth=null!==this.maxWidth?this.maxWidth:e.width,d=this.maxHeight=null!==this.maxHeight?this.maxHeight:0.5*e.height;else if("center"===this.verticalAlign){this.orientation="vertical";if("left"===this.horizontalAlign||"center"===this.horizontalAlign||"right"===this.horizontalAlign)c=this.horizontalAlign;k=this.maxWidth=null!==this.maxWidth?this.maxWidth:0.5*e.width;d=this.maxHeight=null!==this.maxHeight?this.maxHeight:e.height}this.errorMarkerColor=[];for(var q=0;q<this.dataSeries.length;q++){var p=
572
572
  this.dataSeries[q];if(p.dataPoints&&p.dataPoints.length){if("pie"!==p.type&&"doughnut"!==p.type&&"funnel"!==p.type&&"pyramid"!==p.type){var r=p.legendMarkerType=p.legendMarkerType?p.legendMarkerType:"line"!==p.type&&"stepLine"!==p.type&&"spline"!==p.type&&"scatter"!==p.type&&"bubble"!==p.type||!p.markerType?"error"===p.type&&p._linkedSeries?p._linkedSeries.legendMarkerType?p._linkedSeries.legendMarkerType:L.getDefaultLegendMarker(p._linkedSeries.type):L.getDefaultLegendMarker(p.type):p.markerType,
573
573
  h=p.legendText?p.legendText:this.itemTextFormatter?this.itemTextFormatter({chart:this.chart,legend:this.options,dataSeries:p,dataPoint:null}):p.name,t=p.legendMarkerColor=p.legendMarkerColor?p.legendMarkerColor:p.markerColor?p.markerColor:"error"===p.type?g(p.whiskerColor)?p._colorSet[0]:p.whiskerColor:p._colorSet[0],z=p.markerSize||"line"!==p.type&&"stepLine"!==p.type&&"spline"!==p.type?0.75*this.lineHeight:0,s=p.legendMarkerBorderColor?p.legendMarkerBorderColor:p.markerBorderColor,u=p.legendMarkerBorderThickness?
574
574
  p.legendMarkerBorderThickness:p.markerBorderThickness?Math.max(1,Math.round(0.2*z)):0;"error"===p.type&&this.errorMarkerColor.push(t);h=p.legendText=this.chart.replaceKeywordsWithValue(h,p.dataPoints[0],p,q);r={markerType:r,markerColor:t,text:h,textBlock:null,chartType:p.type,markerSize:z,lineColor:p._colorSet[0],dataSeriesIndex:p.index,dataPointIndex:null,markerBorderColor:s,markerBorderThickness:u};m.push(r)}else for(var w=0;w<p.dataPoints.length;w++){var v=p.dataPoints[w],r=v.legendMarkerType?
@@ -955,7 +955,7 @@ fa.prototype.cancelAllAnimations=function(){this.animations=[];this.animationReq
955
955
  0,b.width,b.height,f-f*a,0,a*c.canvas.width/ja,c.canvas.height/ja)}},xClipAnimation:function(a,d){if(0!==a){var c=d.dest,b=d.source.canvas;c.save();0<a&&c.drawImage(b,0,0,b.width*a,b.height,0,0,b.width*a/ja,b.height/ja);c.restore()}},fadeInAnimation:function(a,d){if(0!==a){var c=d.dest,b=d.source.canvas;c.save();c.globalAlpha=a;c.drawImage(b,0,0,b.width,b.height,0,0,c.canvas.width/ja,c.canvas.height/ja);c.restore()}},easing:{linear:function(a,d,c,b){return c*a/b+d},easeOutQuad:function(a,d,c,b){return-c*
956
956
  (a/=b)*(a-2)+d},easeOutQuart:function(a,d,c,b){return-c*((a=a/b-1)*a*a*a-1)+d},easeInQuad:function(a,d,c,b){return c*(a/=b)*a+d},easeInQuart:function(a,d,c,b){return c*(a/=b)*a*a*a+d}}},l={drawMarker:function(a,d,c,b,f,g,l,t){if(c){var m=1;c.fillStyle=g?g:"#000000";c.strokeStyle=l?l:"#000000";c.lineWidth=t?t:0;c.setLineDash&&c.setLineDash(U("solid",t));"circle"===b?(c.moveTo(a,d),c.beginPath(),c.arc(a,d,f/2,0,2*Math.PI,!1),g&&c.fill(),t&&(l?c.stroke():(m=c.globalAlpha,c.globalAlpha=0.15,c.strokeStyle=
957
957
  "black",c.stroke(),c.globalAlpha=m))):"square"===b?(c.beginPath(),c.rect(a-f/2,d-f/2,f,f),g&&c.fill(),t&&(l?c.stroke():(m=c.globalAlpha,c.globalAlpha=0.15,c.strokeStyle="black",c.stroke(),c.globalAlpha=m))):"triangle"===b?(c.beginPath(),c.moveTo(a-f/2,d+f/2),c.lineTo(a+f/2,d+f/2),c.lineTo(a,d-f/2),c.closePath(),g&&c.fill(),t&&(l?c.stroke():(m=c.globalAlpha,c.globalAlpha=0.15,c.strokeStyle="black",c.stroke(),c.globalAlpha=m)),c.beginPath()):"cross"===b&&(c.strokeStyle=g,c.lineWidth=f/4,c.beginPath(),
958
- c.moveTo(a-f/2,d-f/2),c.lineTo(a+f/2,d+f/2),c.stroke(),c.moveTo(a+f/2,d-f/2),c.lineTo(a-f/2,d+f/2),c.stroke())}},drawMarkers:function(a){for(var d=0;d<a.length;d++){var c=a[d];l.drawMarker(c.x,c.y,c.ctx,c.type,c.size,c.color,c.borderColor,c.borderThickness)}}};return s}();Ja.version="v3.10.15 GA";window.CanvasJS&&(Ja&&!window.CanvasJS.Chart)&&(window.CanvasJS.Chart=Ja);ea.StockChart={width:500,height:600,backgroundColor:"white",theme:"light1",animationEnabled:!1,animationDuration:1200,culture:"en",
958
+ c.moveTo(a-f/2,d-f/2),c.lineTo(a+f/2,d+f/2),c.stroke(),c.moveTo(a+f/2,d-f/2),c.lineTo(a-f/2,d+f/2),c.stroke())}},drawMarkers:function(a){for(var d=0;d<a.length;d++){var c=a[d];l.drawMarker(c.x,c.y,c.ctx,c.type,c.size,c.color,c.borderColor,c.borderThickness)}}};return s}();Ja.version="v3.10.16 GA";window.CanvasJS&&(Ja&&!window.CanvasJS.Chart)&&(window.CanvasJS.Chart=Ja);ea.StockChart={width:500,height:600,backgroundColor:"white",theme:"light1",animationEnabled:!1,animationDuration:1200,culture:"en",
959
959
  creditHref:"",creditText:"CanvasJS",exportEnabled:!1,exportFileName:"StockChart",colorSet:"colorSet1",rangeChanging:null,rangeChanged:null,publicProperties:{title:"readWrite",subtitles:"readWrite",toolbar:"readWrite",navigator:"readWrite",rangeSelector:"readWrite",charts:"readWrite",options:"readWrite",bounds:"readOnly",container:"readOnly",selectedColorSet:"readOnly"}};ea.Navigator={enabled:!0,width:500,height:70,verticalAlign:"bottom",horizontalAlign:"left",dynamicUpdate:!0,backgroundColor:"#fff",
960
960
  animationEnabled:!1,animationDuration:1200,theme:"light1",colorSet:"colorSet1",publicProperties:{slider:"readWrite",backgroundColor:"readWrite",animationEnabled:"readWrite",animationDuration:"readWrite",theme:"readWrite",axisX:"readWrite",axisY:"readWrite",axisX2:"readWrite",axisY2:"readWrite",data:"readWrite",colorSet:"readWrite",options:"readWrite",bounds:"readOnly"}};ea.RangeSelector={enabled:!0,width:500,height:35,label:"Range",verticalAlign:"top",horizontalAlign:"center",selectedRangeButtonIndex:null,
961
961
  publicProperties:{options:"readWrite",buttons:"readWrite",inputFields:"readWrite",buttonStyle:"readWrite",bounds:"readOnly"}};ea.RangeButton={range:null,rangeType:null,label:null,style:"position: inline; margin: 5px 0;text-align:center;cursor: pointer;",backgroundColorDisabled:"#ddd",publicProperties:{options:"readWrite",bounds:"readOnly"}};ea.ButtonStyle={backgroundColor:"#fff",backgroundColorOnHover:"#2196f3",backgroundColorOnSelect:"#2196f3",borderColor:"#2196f3",borderThickness:2,labelFontColor:"#000",
@@ -1088,93 +1088,93 @@ for(;this._canvasJSContainer&&this._canvasJSContainer.hasChildNodes();)this._can
1088
1088
  width:"100%",border:0,margin:0,padding:0});g.style.height=this.height+"px";this._canvasJSContainer.appendChild(g);var m=this,l=g.contentWindow||g.contentDocument.document||g.contentDocument;l.document.open();l.document.write('<!DOCTYPE HTML>\n<html><body><img src="'+d+'"/><body/></html>');l.document.body&&l.document.body.style&&(l.document.body.style.margin="0px 0px 0px 0px",l.document.body.style.padding="0px 0px 0px 0px");l.document.close();setTimeout(function(){l.focus();l.print();setTimeout(function(){m._canvasJSContainer.removeChild(g)},
1089
1089
  1E3)},500)};w.prototype.getObjectAtXY=function(d,t,m){m=null;if(!g(this.rangeSelector)){for(var l=0;l<this.rangeSelector.buttons.length;l++){var a=this.rangeSelector.buttons[l];d>=a.bounds.x1&&(d<=a.bounds.x2&&t>=a.bounds.y1&&t<=a.bounds.y2)&&(m=a.id)}for(l=0;l<this.rangeSelector.inputFields._textBlocks.length;l++)a=this.rangeSelector.inputFields._textBlocks[l],d>=a.bounds.x1&&(d<=a.bounds.x2&&t>=a.bounds.y1&&t<=a.bounds.y2)&&(m=a.id)}return m};w.prototype._touchEventHandler=function(d){if(d.changedTouches){var t=
1090
1090
  [],m=d.changedTouches,l=m?m[0]:d,a=null;switch(d.type){case "touchstart":case "MSPointerDown":t=["mousemove","mousedown"];this._lastTouchData=Ba(l);this._lastTouchData.time=new Date;break;case "touchmove":case "MSPointerMove":t=["mousemove"];break;case "touchend":case "MSPointerUp":var e=this._lastTouchData&&this._lastTouchData.time?new Date-this._lastTouchData.time:0,t="touchstart"===this._lastTouchEventType||"MSPointerDown"===this._lastTouchEventType||300>e?["mouseup","click"]:["mouseup"];break;
1091
- default:return}if(!(m&&1<m.length)){a=Ba(l);a.time=new Date;try{var c=a.y-this._lastTouchData.y,e=a.time-this._lastTouchData.time;if(1<Math.abs(c)&&this._lastTouchData.scroll||5<Math.abs(c)&&250>e)this._lastTouchData.scroll=!0}catch(b){}this._lastTouchEventType=d.type;if(this._lastTouchData&&this._lastTouchData.scroll)this.isDrag&&this.resetOverlayedCanvas(),this.isDrag=!1;else for(m=0;m<t.length;m++)if(a=t[m],c=document.createEvent("MouseEvent"),c.initMouseEvent(a,!0,!0,window,1,l.screenX,l.screenY,
1092
- l.clientX,l.clientY,!1,!1,!1,!1,0,null),l.target.dispatchEvent(c),this._lastTouchData&&!g(this._lastTouchData.scroll)&&!this._lastTouchData.scroll||this._lastTouchData&&!this._lastTouchData.scroll&&250<e||"click"===a)d.preventManipulation&&d.preventManipulation(),d.preventDefault&&d.cancelable&&d.preventDefault()}}};w.prototype._mouseEventHandler=function(d){"undefined"===typeof d.target&&d.srcElement&&(d.target=d.srcElement);var g=Ba(d),m=d.type,l,a;d.which?a=3==d.which:d.button&&(a=2==d.button);
1093
- w.capturedEventParam&&(l=w.capturedEventParam,"mouseup"===m&&(w.capturedEventParam=null,l.stockChart.overlaidCanvas.releaseCapture?l.stockChart.overlaidCanvas.releaseCapture():document.documentElement.removeEventListener("mouseup",l.stockChart._mouseEventHandler,!1)),l.hasOwnProperty(m)&&("mouseup"!==m||l.stockChart.overlaidCanvas.releaseCapture?d.target!==l.stockChart.overlaidCanvas&&v||l[m].call(l.context,g.x,g.y):d.target!==l.stockChart.overlaidCanvas&&(l.stockChart.isDrag=!1)));if(this._ignoreNextEvent)this._ignoreNextEvent=
1094
- !1;else if(d.preventManipulation&&d.preventManipulation(),d.preventDefault&&d.preventDefault(),La&&window.console&&(window.console.log(m+" --\x3e x: "+g.x+"; y:"+g.y),a&&window.console.log(d.which),"mouseup"===m&&window.console.log("mouseup")),!a){if(!w.capturedEventParam&&this._events){for(var e=0;e<this._events.length;e++)if(this._events[e].hasOwnProperty(m))if(l=this._events[e],a=l.bounds,g.x>=a.x1&&g.x<=a.x2&&g.y>=a.y1&&g.y<=a.y2){l[m].call(l.context,g.x,g.y);"mousedown"===m&&!0===l.capture?(Chart.capturedEventParam=
1095
- l,this.overlaidCanvas.setCapture?this.overlaidCanvas.setCapture():document.documentElement.addEventListener("mouseup",this._mouseEventHandler,!1)):"mouseup"===m&&(l.stockChart.overlaidCanvas.releaseCapture?l.stockChart.overlaidCanvas.releaseCapture():document.documentElement.removeEventListener("mouseup",this._mouseEventHandler,!1));break}else l=null;d.target.style.cursor=l&&l.cursor?l.cursor:this._defaultCursor}m=this.bounds;(g.x<m.x1||g.x>m.x2||g.y<m.y1||g.y>m.y2)&&this.resetOverlayedCanvas();!this.isDrag&&
1096
- this._eventManager&&this._eventManager.mouseEventHandler(d)}};w.prototype.resetOverlayedCanvas=function(){this.overlaidCanvasCtx.clearRect(0,0,this.width,this.height)};w.prototype.clearCanvas=kb;w.prototype.getAutoFontSize=lb;ha(L,Ha);ha(H,Ma);Ja.prototype.alignVerticalAxes=function(){if(!this.isNavigator&&this.stockChart){for(var d=this.sessionVariables.plotAreaBounds,g=this.stockChart._chartsPlotAreaX1-d.x1,d=d.x2-this.stockChart._chartsPlotAreaX2,m=0;m<this.axisX.length;m++)this.axisX[m].lineCoordinates.x1+=
1097
- g,this.axisX[m].lineCoordinates.x2-=d,this.axisX[m].lineCoordinates.width=this.axisX[m].lineCoordinates.x2-this.axisX[m].lineCoordinates.x1,this.axisX[m].bounds.x1+=g,this.axisX[m].bounds.x2-=d,this.axisX[m].calculateValueToPixelConversionParameters();for(m=0;m<this.axisX2.length;m++)this.axisX2[m].lineCoordinates.x1+=g,this.axisX2[m].lineCoordinates.x2-=d,this.axisX2[m].lineCoordinates.width=this.axisX2[m].lineCoordinates.x2-this.axisX2[m].lineCoordinates.x1,this.axisX2[m].bounds.x1+=g,this.axisX2[m].bounds.x2-=
1098
- d,this.axisX2[m].calculateValueToPixelConversionParameters();for(m=0;m<this.axisY.length;m++)this.axisY[m].lineCoordinates.x1+=g,this.axisY[m].lineCoordinates.x2+=g,this.axisY[m].bounds.x1+=g,this.axisY[m].bounds.x2+=g;for(m=0;m<this.axisY2.length;m++)this.axisY2[m].lineCoordinates.x1-=d,this.axisY2[m].lineCoordinates.x2-=d,this.axisY2[m].bounds.x1-=d,this.axisY2[m].bounds.x2-=d}};Ja.prototype.syncCharts=function(d,m){this.stockChart&&(this.stockChart.sessionVariables._axisXMin=d,this.stockChart.sessionVariables._axisXMax=
1099
- m,d=g(d)?this.stockChart._initialAxisXMin:d,m=g(m)?this.stockChart._initialAxisXMax:m,this.stockChart._syncCharts(d,m),this.stockChart.rangeSelector&&"zoom"!==this._zoomButton.getAttribute("state")&&this.stockChart.rangeSelector.resetRangeButtons())};N.prototype.reset=function(){this.lastObjectId=0;this.objectMap=[];this.rectangularRegionEventSubscriptions=[];this.eventObjects=[];v&&(this.ghostCtx.clearRect(0,0,this.stockChart.width,this.stockChart.height),this.ghostCtx.beginPath())};N.prototype.getNewObjectTrackingId=
1100
- function(){return++this.lastObjectId};N.prototype.mouseEventHandler=function(d){if("mousemove"===d.type||"click"===d.type){var g=[],m=Ba(d),l=null;if((l=this.stockChart.getObjectAtXY(m.x,m.y,!1))&&"undefined"!==typeof this.objectMap[l])if(l=this.objectMap[l],"rangeButton"===l.objectType){var a=this.stockChart.rangeSelector.buttons[l.rangeButtonIndex];l.eventParameter={x:m.x,y:m.y,rangeButton:a,rangeButtonIndex:l.rangeButtonIndex,stockChart:this.stockChart};l.eventContext={context:this.stockChart.rangeSelector,
1101
- userContext:a,mouseover:"mouseover",mousemove:"mousemove",mouseout:"mouseout",click:"click"};g.push(l)}else"inputFields"===l.objectType&&(a=this.stockChart.rangeSelector.inputFields._textBlocks[l.inputFieldIndex],l.eventParameter={x:m.x,y:m.y,inputField:a,inputFieldIndex:l.inputFieldIndex,stockChart:this.stockChart},l.eventContext={context:this.stockChart.rangeSelector,userContext:a,mouseover:"mouseover",mousemove:"mousemove",mouseout:"mouseout",click:"click"},g.push(l));a=[];for(m=0;m<this.mouseoveredObjectMaps.length;m++){for(var e=
1102
- !0,l=0;l<g.length;l++)if(g[l].id===this.mouseoveredObjectMaps[m].id){e=!1;break}e?this.fireEvent(this.mouseoveredObjectMaps[m],"mouseout",d):a.push(this.mouseoveredObjectMaps[m])}this.mouseoveredObjectMaps=a;for(m=0;m<g.length;m++){a=!1;for(l=0;l<this.mouseoveredObjectMaps.length;l++)if(g[m].id===this.mouseoveredObjectMaps[l].id){a=!0;break}a||(this.fireEvent(g[m],"mouseover",d),this.mouseoveredObjectMaps.push(g[m]));"click"===d.type?this.fireEvent(g[m],"click",d):"mousemove"===d.type&&this.fireEvent(g[m],
1103
- "mousemove",d)}}};N.prototype.fireEvent=function(d,g,m){if(d&&g){var l=d.eventParameter,a=d.eventContext,e=d.eventContext.userContext;e&&(a&&e[a[g]])&&e[a[g]].call(e,l);"mouseout"!==g?e.cursor&&e.cursor!==m.target.style.cursor&&(m.target.style.cursor=e.cursor):(m.target.style.cursor=this.stockChart._defaultCursor,delete d.eventParameter,delete d.eventContext)}};ha(y,W);y.prototype._updateOptions=function(){this.updateOption("enabled");this.updateOption("backgroundColor");"undefined"===typeof this.options.backgroundColor&&
1104
- "undefined"!==typeof this.stockChart.options.backgroundColor&&(this.backgroundColor=this.stockChart.backgroundColor);this.backgroundColor||(this.backgroundColor="rgba(0, 0, 0, 0)");this.updateOption("animationEnabled");this.animationEnabled=this.animationEnabled&&v;this.updateOption("animationDuration");this.updateOption("theme");this.updateOption("verticalAlign");this.updateOption("horizontalAlign");this.updateOption("width");this.updateOption("height");this.updateOption("dynamicUpdate")};y.prototype._initialize=
1105
- function(){this.options=this.stockChart.options.navigator||{_isPlaceholder:!0};this._updateOptions();var d;this.enabled&&!this.panel&&(this.panel=m("canvasjs-navigator-panel"),(d=!g(this.panel)&&this.stockChart._canvasJSContainer.contains(this.panel))||this.stockChart._canvasJSContainer.appendChild(this.panel));d=!g(this.panel)&&this.stockChart._canvasJSContainer.contains(this.panel);if(!this.enabled||0>=this.height)d&&this.stockChart._canvasJSContainer.removeChild(this.panel);else{this.height=g(this.options.height)?
1106
- 0.14*this.stockChart.height:parseInt(this.options.height);d||this.stockChart._canvasJSContainer.appendChild(this.panel);var t=this.stockChart.layoutManager.getFreeSpace(),s=t.x1,l=t.y1;this.width=this.options.width?this.width:t.width;"top"===this.verticalAlign?(l=t.y1+2,d="top"):(l=t.y2-this.height-2,d="bottom");"left"===this.horizontalAlign?s=t.x1-2:"center"===this.horizontalAlign?s=t.x1+t.width/2-this.width/2:"right"===this.horizontalAlign&&(s=t.x2-2-this.width);this.panel.style.top=l+"px";this.panel.style.left=
1107
- s+"px";this.panel.style.height=this.height+"px";this.panel.style.width=this.width+"px";this.stockChart.layoutManager.registerSpace(d,{width:this.width,height:this.height+2});this.bounds={x1:s,y1:l,x2:s+this.width,y2:l+this.height}}};y.prototype._updateSlider=function(d,m){if(!(0>=this.height)&&this.enabled){var s=this.chart.axisX&&this.chart.axisX.length?this.chart.axisX[0]:this.chart.axisX2[0];if(!g(s)){var l=Math.min(s.bounds.x2,Math.max(s.bounds.x1,s.convertValueToPixel(s.reversed?Math.max(d,Math.min(s.maximum,
1108
- m)):Math.min(d,Math.min(s.maximum,m))))),a=Math.max(s.bounds.x1,Math.min(s.bounds.x2,s.convertValueToPixel(s.reversed?Math.min(d,Math.min(s.maximum,m)):Math.max(d,Math.min(s.maximum,m)))));this.slider.panel.style.left=l+"px";this.slider.left=l;this.slider.panel.style.width=a-l+"px";this.slider.width=a-l;this.slider.minimum=Math.min(d,m);this.slider.maximum=Math.max(d,m);this.chart.resetOverlayedCanvas();this.slider.maskInverted?P(this.chart.overlaidCanvasCtx,l,0,a,this.height,this.slider.maskColor,
1109
- 0,this.slider.outlineColor,0,0,0,0,this.slider.maskOpacity):(P(this.chart.overlaidCanvasCtx,s.bounds.x1,0,l,this.height,this.slider.maskColor,0,this.slider.outlineColor,!1,!1,!1,!1,this.slider.maskOpacity),P(this.chart.overlaidCanvasCtx,a,0,this.width,this.height,this.slider.maskColor,0,this.slider.outlineColor,!1,!1,!1,!1,this.slider.maskOpacity));this.chart.overlaidCanvasCtx.lineWidth=this.slider.outlineThickness;this.chart.overlaidCanvasCtx.strokeStyle=this.slider.outlineColor;this.chart.overlaidCanvasCtx.save();
1110
- this.chart.overlaidCanvasCtx.beginPath();0<this.slider.outlineThickness&&(this.slider.outlineInverted?(this.chart.overlaidCanvasCtx.moveTo(s.bounds.x1,this.height-this.slider.outlineThickness/2),this.chart.overlaidCanvasCtx.lineTo(1===this.slider.outlineThickness%2?l+0.5:l,this.height-this.slider.outlineThickness/2),this.chart.overlaidCanvasCtx.moveTo(1===this.slider.outlineThickness%2?l+0.5:l,this.height),this.chart.overlaidCanvasCtx.lineTo(1===this.slider.outlineThickness%2?l+0.5:l,this.slider.outlineThickness/
1111
- 2),this.chart.overlaidCanvasCtx.lineTo(1===this.slider.outlineThickness%2?a-0.5:a,this.slider.outlineThickness/2),this.chart.overlaidCanvasCtx.lineTo(1===this.slider.outlineThickness%2?a-0.5:a,this.height),this.chart.overlaidCanvasCtx.moveTo(1===this.slider.outlineThickness%2?a-0.5:a,this.height-this.slider.outlineThickness/2),this.chart.overlaidCanvasCtx.lineTo(this.width,this.height-this.slider.outlineThickness/2)):(this.chart.overlaidCanvasCtx.moveTo(s.bounds.x1,this.slider.outlineThickness/2),
1112
- this.chart.overlaidCanvasCtx.lineTo(1===this.slider.outlineThickness%2?l+0.5:l,this.slider.outlineThickness/2),this.chart.overlaidCanvasCtx.moveTo(1===this.slider.outlineThickness%2?l+0.5:l,0),this.chart.overlaidCanvasCtx.lineTo(1===this.slider.outlineThickness%2?l+0.5:l,this.height-this.slider.outlineThickness/2),this.chart.overlaidCanvasCtx.lineTo(1===this.slider.outlineThickness%2?a-0.5:a,this.height-this.slider.outlineThickness/2),this.chart.overlaidCanvasCtx.lineTo(1===this.slider.outlineThickness%
1113
- 2?a-0.5:a,0),this.chart.overlaidCanvasCtx.moveTo(1===this.slider.outlineThickness%2?a-0.5:a,this.slider.outlineThickness/2),this.chart.overlaidCanvasCtx.lineTo(this.width,this.slider.outlineThickness/2)));this.chart.overlaidCanvasCtx.stroke();this.chart.overlaidCanvasCtx.restore();P(this.chart.overlaidCanvasCtx,1===this.slider.handleBorderThickness%2?l-this.slider.handleWidth/2<<0.5:l-this.slider.handleWidth/2<<0,1===this.slider.handleBorderThickness%2?this.height/2-this.slider.handleHeight/2<<0.5:
1114
- this.height/2-this.slider.handleHeight/2<<0,1===this.slider.handleBorderThickness%2?l+this.slider.handleWidth/2<<0.5:l+this.slider.handleWidth/2<<0,1===this.slider.handleBorderThickness%2?this.height/2+this.slider.handleHeight/2<<0.5:this.height/2+this.slider.handleHeight/2<<0,this.slider.handleColor,this.slider.handleBorderThickness,this.slider.handleBorderColor,!1,!1,!1,!1,1);P(this.chart.overlaidCanvasCtx,1===this.slider.handleBorderThickness%2?a-this.slider.handleWidth/2<<0.5:a-this.slider.handleWidth/
1115
- 2<<0,1===this.slider.handleBorderThickness%2?this.height/2-this.slider.handleHeight/2<<0.5:this.height/2-this.slider.handleHeight/2<<0,1===this.slider.handleBorderThickness%2?a+this.slider.handleWidth/2<<0.5:a+this.slider.handleWidth/2<<0,1===this.slider.handleBorderThickness%2?this.height/2+this.slider.handleHeight/2<<0.5:this.height/2+this.slider.handleHeight/2<<0,this.slider.handleColor,this.slider.handleBorderThickness,this.slider.handleBorderColor,!1,!1,!1,!1,1);this.chart.overlaidCanvasCtx.lineWidth=
1116
- this.slider.handleBorderThickness;this.chart.overlaidCanvasCtx.strokeStyle=this.slider.handleBorderColor;this.chart.overlaidCanvasCtx.save();this.chart.overlaidCanvasCtx.beginPath();this.chart.overlaidCanvasCtx.moveTo((1===this.slider.handleBorderThickness%2?(l-this.slider.handleBorderThickness/2<<0)+0.5:l)-Math.round(this.slider.handleBorderThickness),this.height/2-this.slider.handleHeight/4);this.chart.overlaidCanvasCtx.lineTo((1===this.slider.handleBorderThickness%2?(l-this.slider.handleBorderThickness/
1117
- 2<<0)+0.5:l)-Math.round(this.slider.handleBorderThickness),this.height/2+this.slider.handleHeight/4);this.chart.overlaidCanvasCtx.moveTo((1===this.slider.handleBorderThickness%2?(l+this.slider.handleBorderThickness/2<<0)+0.5:l)+Math.round(this.slider.handleBorderThickness),this.height/2-this.slider.handleHeight/4);this.chart.overlaidCanvasCtx.lineTo((1===this.slider.handleBorderThickness%2?(l+this.slider.handleBorderThickness/2<<0)+0.5:l)+Math.round(this.slider.handleBorderThickness),this.height/
1118
- 2+this.slider.handleHeight/4);this.chart.overlaidCanvasCtx.moveTo((1===this.slider.handleBorderThickness%2?(a-this.slider.handleBorderThickness/2<<0)+0.5:a)-Math.round(this.slider.handleBorderThickness),this.height/2-this.slider.handleHeight/4);this.chart.overlaidCanvasCtx.lineTo((1===this.slider.handleBorderThickness%2?(a-this.slider.handleBorderThickness/2<<0)+0.5:a)-Math.round(this.slider.handleBorderThickness),this.height/2+this.slider.handleHeight/4);this.chart.overlaidCanvasCtx.moveTo((1===
1119
- this.slider.handleBorderThickness%2?(a+this.slider.handleBorderThickness/2<<0)+0.5:a)+Math.round(this.slider.handleBorderThickness),this.height/2-this.slider.handleHeight/4);this.chart.overlaidCanvasCtx.lineTo((1===this.slider.handleBorderThickness%2?(a+this.slider.handleBorderThickness/2<<0)+0.5:a)+Math.round(this.slider.handleBorderThickness),this.height/2+this.slider.handleHeight/4);this.chart.overlaidCanvasCtx.stroke();this.chart.overlaidCanvasCtx.restore()}}};ha(U,W);U.prototype._updateOptions=
1120
- function(){this.updateOption("maskColor");this.updateOption("maskInverted");this.updateOption("maskOpacity");this.updateOption("handleColor");this.updateOption("handleBorderColor");this.updateOption("handleBorderThickness");this.updateOption("handleWidth");this.updateOption("handleHeight");this.updateOption("outlineColor");this.updateOption("outlineThickness");this.updateOption("outlineInverted");this.updateOption("minimum");this.updateOption("maximum")};U.prototype._attachEvents=function(){var d=
1121
- this;A(this.panel,"mousedown",function(g){d.stockChart.isDrag=!0;g.target!==d.leftHandle&&g.target!==d.rightHandle&&(d.stockChart.navigatorClicked=!0,d.currentHandle=d.leftHandle,d.panMode=!0,d.startPosition=Ba(g),g.target===d.currentHandle?d.startPosition.x+=d.currentHandle.offsetLeft+d.currentHandle.clientWidth/2+d.panel.offsetLeft:g.target===d.panel&&(d.startPosition.x+=d.panel.offsetLeft),d.startWidth=d.panel.clientWidth,d.startLeft=d.panel.offsetLeft)},this.stockChart.allDOMEventHandlers);A(this.panel,
1122
- window.navigator.msPointerEnabled?"MSPointerDown":"touchstart",function(g){d.stockChart._touchEventHandler(g)},this.stockChart.allDOMEventHandlers);A(this.navigator.panel,"mousedown",function(m){if(m.target!==d.navigator.slider.panel&&m.target!==d.leftHandle&&m.target!==d.rightHandle){d.stockChart.navigatorClicked=!0;var s=Ba(m),l,a;l=0;var e=d.navigator.chart.axisX&&d.navigator.chart.axisX.length?d.navigator.chart.axisX[0]:d.navigator.chart.axisX2[0];m=d.navigator.slider.left;g(d.startLeft)&&(d.startLeft=
1123
- m);l=m+d.navigator.slider.width;a=s.x-(m+l)/2;if(s.x<m||s.x>l){var s=Math.max(0,m+a),c=Math.min(l+a,d.navigator.width);l+a>d.navigator.width&&(l=l+a-d.navigator.width,s-=l);0>m+a&&(l=Math.abs(m+a),c+=l);d.stockChart._rangeEventParameter={stockChart:d.stockChart,source:"navigator",index:null,minimum:Math.min(e.convertPixelToValue(s),e.convertPixelToValue(c)),maximum:Math.max(e.convertPixelToValue(s),e.convertPixelToValue(c))};d.stockChart.sessionVariables._axisXMin=e.convertPixelToValue(s);d.stockChart.sessionVariables._axisXMax=
1124
- e.convertPixelToValue(c);d.navigator.dynamicUpdate?(d.stockChart._rangeEventParameter.type="rangeChanging",d.stockChart.dispatchEvent("rangeChanging",d.stockChart._rangeEventParameter,d.stockChart),d.stockChart._syncCharts(e.convertPixelToValue(s),e.convertPixelToValue(c)),d.stockChart._rangeEventParameter.type="rangeChanged",d.stockChart.dispatchEvent("rangeChanged",d.stockChart._rangeEventParameter,d.stockChart)):d.navigator._updateSlider(d.stockChart.sessionVariables._axisXMin,d.stockChart.sessionVariables._axisXMax)}}},
1125
- this.navigator.stockChart.allDOMEventHandlers);A(this.navigator.panel,window.navigator.msPointerEnabled?"MSPointerDown":"touchstart",function(g){d.stockChart._touchEventHandler(g)},this.navigator.stockChart.allDOMEventHandlers);A(this.navigator.stockChart.container,"mousemove",function(m){var s=d.navigator.chart.axisX&&d.navigator.chart.axisX.length?d.navigator.chart.axisX[0]:d.navigator.chart.axisX2[0];if(!g(d.currentHandle)&&d.startPosition){d.navigator.chart.overlaidCanvas.style.cursor=d.navigator.chart.container.style.cursor=
1126
- d.navigator.panel.style.cursor="ew-resize";var l;l=d.currentHandle===d.leftHandle?1:-1;var a=Ba(m);m=m.target||m.srcElement;a.x=m===d.currentHandle?a.x+(d.currentHandle.offsetLeft+d.currentHandle.clientWidth/2+d.panel.offsetLeft):m===d.mask||m===d.panel?a.x+d.panel.offsetLeft:m===d.rightHandle&&d.currentHandle===d.leftHandle?a.x+(d.rightHandle.offsetLeft+d.rightHandle.clientWidth/2+d.panel.offsetLeft):m===d.leftHandle&&d.currentHandle===d.rightHandle?a.x+d.panel.offsetLeft:a.x+("canvasjs-chart-toolbar"===
1127
- m.parentElement.className?m.offsetParent.offsetLeft+m.offsetLeft-d.stockChart._chartsPlotAreaX1:m.parentElement.parentElement.parentElement===d.navigator.panel?m.offsetLeft:m.offsetLeft-d.stockChart._chartsPlotAreaX1);var e=a.x-d.startPosition.x;if(0!==e){m=d.panel.offsetLeft;var c=d.panel.clientWidth;0<l&&(m=Math.max(d.startLeft+l*e,d._left));d.panMode||(c=Math.min(d.startWidth-l*e,d.fullWidth),l*e>d.startWidth?(m=0<l?d.startLeft+d.startWidth:Math.max(a.x,d._left),c=(0<l?a.x:d.startLeft)-parseFloat(m)):
1128
- 0>l&&(m=d.startLeft));m+c<=d._left+d.fullWidth&&(2<Math.abs(d.startLeft-m)||2<Math.abs(d.startWidth-parseFloat(c)))&&(0<l&&(d.left=m,d.panel.style.left=d.left+"px"),d.panMode||(d.panel.style.width=d.width=c+"px"),g(s)||(l=s.convertPixelToValue(Math.max(s.bounds.x1,parseFloat(m))),s=s.convertPixelToValue(parseFloat(m)+parseFloat(c)),d.stockChart.sessionVariables._axisXMin=l,d.stockChart.sessionVariables._axisXMax=s,d.stockChart.rangeSelector&&!d.panMode&&d.stockChart.rangeSelector.resetRangeButtons(),
1129
- d.stockChart._rangeEventParameter={stockChart:d.stockChart,source:"navigator",index:null,minimum:Math.min(l,s),maximum:Math.max(l,s)},d.navigator.dynamicUpdate?(d.stockChart._rangeEventParameter.type="rangeChanging",d.stockChart.dispatchEvent("rangeChanging",d.stockChart._rangeEventParameter,d.stockChart),d.stockChart._syncCharts(l,s),d.stockChart._rangeEventParameter.type="rangeChanged",d.stockChart.dispatchEvent("rangeChanged",d.stockChart._rangeEventParameter,d.stockChart)):d.navigator._updateSlider(d.stockChart.sessionVariables._axisXMin,
1130
- d.stockChart.sessionVariables._axisXMax),d.panMode||(d.stockChart.rangeUpdatedBy="navigator")))}}else d.navigator.chart.overlaidCanvas.style.cursor=d.navigator.chart.container.style.cursor=d.navigator.panel.style.cursor="auto"},this.navigator.stockChart.allDOMEventHandlers);A(this.navigator.stockChart.container,window.navigator.msPointerEnabled?"MSPointerMove":"touchmove",function(g){d.stockChart._touchEventHandler(g)},this.navigator.stockChart.allDOMEventHandlers)};U.prototype._initialize=function(){var d=
1131
- this,m;this.options=this.stockChart.navigator&&this.stockChart.navigator.options&&this.stockChart.navigator.options.slider?this.stockChart.navigator.options.slider:{_isPlaceholder:!0};this._updateOptions();fa&&(this.eventsAttached||(this._attachEvents(),this.eventsAttached=!0),this.handleWidth=this.options.handleWidth?this.handleWidth:8,this.handleHeight=this.options.handleHeight?Math.min(this.navigator.height,this.options.handleHeight):0.25*this.navigator.height,this.leftHandle?R(this.leftHandle,
1132
- {height:this.navigator.height+"px",width:this.handleWidth+10+"px",position:"absolute",left:"-"+(this.handleWidth/2+8)+"px",top:0,cursor:"ew-resize",borderStyle:"solid",borderWidth:this.handleBorderThickness+"px",borderColor:"transparent",outline:"none",padding:0,backgroundColor:"white",filter:"alpha(opacity = 0)",opacity:0,color:"transparent",fontSize:"12px",fontFamily:"Arial",userSelect:"none",MozUserSelect:"none",WebkitUserSelect:"none",zIndex:999}):(this.leftHandle=G("button","canvasjs-slider-handle",
1133
- "button"),this.leftHandle.innerHTML="||",R(this.leftHandle,{height:this.navigator.height+"px",width:this.handleWidth+10+"px",position:"absolute",left:"-"+(this.handleWidth/2+8)+"px",top:0,cursor:"ew-resize",borderStyle:"solid",borderWidth:this.handleBorderThickness+"px",borderColor:"transparent",outline:"none",padding:0,backgroundColor:"white",filter:"alpha(opacity = 0)",opacity:0,color:"transparent",fontSize:"12px",fontFamily:"Arial",userSelect:"none",MozUserSelect:"none",WebkitUserSelect:"none",
1134
- zIndex:999}),this.panel.appendChild(this.leftHandle),this.initHandle(this.leftHandle,1)),this.rightHandle?R(this.rightHandle,{height:this.navigator.height+"px",width:this.handleWidth+10+"px",position:"absolute",right:"-"+(this.handleWidth/2+8)+"px",top:0,cursor:"ew-resize",borderStyle:"solid",borderWidth:this.handleBorderThickness+"px",borderColor:"transparent",outline:"none",padding:"0px",backgroundColor:"white",filter:"alpha(opacity = 0)",opacity:0,color:"transparent",fontSize:"12px",fontFamily:"Arial",
1135
- userSelect:"none",MozUserSelect:"none",WebkitUserSelect:"none",msUserSelect:"none",zIndex:"999"}):(this.rightHandle=G("button","canvasjs-slider-handle","button"),this.rightHandle.innerHTML="||",R(this.rightHandle,{height:this.navigator.height+"px",width:this.handleWidth+10+"px",position:"absolute",right:"-"+(this.handleWidth/2+8)+"px",top:0,cursor:"ew-resize",borderStyle:"solid",borderWidth:this.handleBorderThickness+"px",borderColor:"transparent",outline:"none",padding:"0px",backgroundColor:"white",
1136
- filter:"alpha(opacity = 0)",opacity:0,color:"transparent",fontSize:"12px",fontFamily:"Arial",userSelect:"none",MozUserSelect:"none",WebkitUserSelect:"none",msUserSelect:"none",zIndex:"999"}),this.panel.appendChild(this.rightHandle),this.initHandle(this.rightHandle,-1)),R(this.panel,{position:"absolute",height:this.navigator.height+"px",left:0,width:"100%",cursor:"move",backgroundColor:"white",filter:"alpha(opacity = 0)",opacity:0}),this.fullWidth=this.panel.clientWidth,this._left=this.navigator.panel.offsetLeft,
1137
- A(document,"mousedown",function(g){if(d.stockChart.rangeSelector&&d.stockChart.rangeSelector.inputFields&&d.stockChart.rangeSelector.inputFields.enabled)for(var l=0;l<d.stockChart.rangeSelector.inputFields.elements.length;l++)g.target!=d.stockChart.rangeSelector.inputFields.elements[l]&&d.stockChart.rangeSelector.inputFields.elements[l].focused&&d.stockChart.rangeSelector.inputFields.elements[l].blur()},this.navigator.stockChart.allDOMEventHandlers),A(document,window.navigator.msPointerEnabled?"MSPointerDown":
1138
- "touchstart",function(d){a:{var g=d.changedTouches,g=g?g[0]:d,a="";switch(d.type){case "touchstart":case "MSPointerDown":a="mousedown";break;case "touchmove":case "MSPointerMove":a="mousemove";break;case "touchend":case "MSPointerUp":a="mouseup";break;default:break a}d=document.createEvent("MouseEvent");d.initMouseEvent(a,!0,!0,window,1,g.screenX,g.screenY,g.clientX,g.clientY,!1,!1,!1,!1,0,null);g.target.dispatchEvent(d)}},this.navigator.stockChart.allDOMEventHandlers),A(document,"mouseup",function(s){d.panMode=
1139
- !1;d.navigator.stockChart.isDrag=!1;if(d.stockChart.navigatorClicked){s=Math.min(d.stockChart.sessionVariables._axisXMin,d.stockChart.sessionVariables._axisXMax);var l=Math.max(d.stockChart.sessionVariables._axisXMin,d.stockChart.sessionVariables._axisXMax);g(d.stockChart._rangeEventParameter)&&(d.stockChart._rangeEventParameter={stockChart:d.stockChart,source:"navigator",index:null,minimum:Math.min(s,l),maximum:Math.max(s,l)});if(2<Math.abs(d.startLeft-d.left)||2<Math.abs(d.startWidth-parseFloat(d.width))){d.navigator.dynamicUpdate||
1140
- (d.stockChart._rangeEventParameter.type="rangeChanging",d.stockChart.dispatchEvent("rangeChanging",d.stockChart._rangeEventParameter,d.stockChart));for(var a=0;a<d.stockChart.charts.length;a++){m=d.stockChart.charts[a];m.toolTip&&m.toolTip.enabled&&m.toolTip.hide();for(var e=0;e<m.axisX.length;e++)m.axisX[e].setViewPortRange(s,l);for(e=0;e<m.axisX2.length;e++)m.axisX2[e].setViewPortRange(s,l);m.render()}d.stockChart.rangeSelector&&(d.stockChart.rangeSelector.enabled&&d.stockChart.rangeSelector.inputFields&&
1141
- d.stockChart.rangeSelector.inputFields.enabled)&&d.stockChart.rangeSelector._updateInputFields(s,l);d.navigator.dynamicUpdate||(d.stockChart._rangeEventParameter.type="rangeChanged",d.stockChart.dispatchEvent("rangeChanged",d.stockChart._rangeEventParameter,d.stockChart))}}d.stockChart.navigatorClicked=d.currentHandle=d.startPosition=d.startWidth=d.startLeft=null},this.navigator.stockChart.allDOMEventHandlers),A(document,window.navigator.msPointerEnabled?"MSPointerUp":"touchend",function(s){d.panMode=
1142
- !1;d.navigator.stockChart.isDrag=!1;if(d.stockChart.navigatorClicked){s=Math.min(d.stockChart.sessionVariables._axisXMin,d.stockChart.sessionVariables._axisXMax);var l=Math.max(d.stockChart.sessionVariables._axisXMin,d.stockChart.sessionVariables._axisXMax);g(d.stockChart._rangeEventParameter)&&(d.stockChart._rangeEventParameter={stockChart:d.stockChart,source:"navigator",index:null,minimum:Math.min(s,l),maximum:Math.max(s,l)});d.navigator.dynamicUpdate||(d.stockChart._rangeEventParameter.type="rangeChanging",
1143
- d.stockChart.dispatchEvent("rangeChanging",d.stockChart._rangeEventParameter,d.stockChart));for(var a=0;a<d.stockChart.charts.length;a++){m=d.stockChart.charts[a];m.toolTip&&m.toolTip.enabled&&m.toolTip.hide();for(var e=0;e<m.axisX.length;e++)m.axisX[e].setViewPortRange(s,l);for(e=0;e<m.axisX2.length;e++)m.axisX2[e].setViewPortRange(s,l);m.render()}d.stockChart.rangeSelector&&(d.stockChart.rangeSelector.enabled&&d.stockChart.rangeSelector.inputFields&&d.stockChart.rangeSelector.inputFields.enabled)&&
1144
- d.stockChart.rangeSelector._updateInputFields(s,l);d.navigator.dynamicUpdate||(d.stockChart._rangeEventParameter.type="rangeChanged",d.stockChart.dispatchEvent("rangeChanged",d.stockChart._rangeEventParameter,d.stockChart))}d.stockChart.navigatorClicked=d.currentHandle=d.startPosition=d.startWidth=d.startLeft=null},this.navigator.stockChart.allDOMEventHandlers))};U.prototype.initHandle=function(d,g){var m=this;d&&(A(d,"mousedown",function(d){m.stockChart.navigatorClicked=!0;m.currentHandle=this;m.startPosition=
1145
- Ba(d);d.target===m.currentHandle?m.startPosition.x+=m.currentHandle.offsetLeft+m.currentHandle.clientWidth/2+m.panel.offsetLeft:d.target===m.panel&&(m.startPosition.x+=m.panel.offsetLeft);m.startWidth=m.panel.clientWidth;m.startLeft=m.panel.offsetLeft;d.preventDefault&&d.preventDefault();d.stopPropagation&&d.stopPropagation()},this.navigator.stockChart.allDOMEventHandlers),A(d,window.navigator.msPointerEnabled?"MSPointerDown":"touchstart",function(d){m.stockChart._touchEventHandler(d)},this.navigator.stockChart.allDOMEventHandlers))};
1146
- ha(V,W);V.prototype._updateOptions=function(){this.updateOption("enabled");this.updateOption("verticalAlign");this.updateOption("horizontalAlign");this.updateOption("width");this.updateOption("height");this.updateOption("label");this.updateOption("selectedRangeButtonIndex")};V.prototype._initialize=function(){var d=0;this._updateOptions();this._label={};this.buttons=[];if(fa&&this.enabled){if(this.options.buttons)for(var m=0;m<this.options.buttons.length;m++)this.buttons.push(new O(this.stockChart,
1147
- m,this.options.buttons[m]));else{for(m=0;6>m;m++)this.buttons.push(new O(this.stockChart,m));this.buttonLabels="1m 3m 6m YTD 1y All".split(" ")}this._wrapElements=!1;var s=this.stockChart.layoutManager.getFreeSpace(),l=s.x1,m=s.y1;this._shiftInputField=!0;this.width=this.options.width?this.width:s.width;g(this.buttonStyle.options.labelFontSize)&&(this.buttonStyle.labelFontSize=this.stockChart.getAutoFontSize(this.buttonStyle.labelFontSize));if(this.stockChart.title&&this.stockChart.title.text&&("top"===
1148
- this.stockChart.title.verticalAlign||"right"===this.stockChart.title.horizontalAlign&&"center"===this.stockChart.title.verticalAlign&&this.stockChart.exportEnabled)||"bottom"===this.verticalAlign)this._shiftInputField=!1;if(this.stockChart.subtitles)for(m=0;m<this.stockChart.subtitles.length;m++)this.stockChart.subtitles[m]&&(this.stockChart.subtitles[m].text&&("top"===this.stockChart.subtitles[m].verticalAlign||"right"===this.stockChart.subtitles[m].horizontalAlign&&"center"===this.stockChart.subtitles[m].verticalAlign&&
1149
- this.stockChart.exportEnabled))&&(this._shiftInputField=!1);this.stockChart.navigator.enabled&&"top"===this.stockChart.navigator.verticalAlign&&(this._shiftInputField=!1);this.rangeButtonsWidth=0;if(this.buttons&&0<this.buttons.length){var a=new ka(this.ctx,{x:0,y:0,backgroundColor:this.stockChart.backgroundColor,borderThickness:0,cornerRadius:0,maxWidth:0.2*this.stockChart.width,maxHeight:2*this.buttonStyle.labelFontSize,angle:0,padding:{left:5,right:5,top:2,bottom:2},text:g(this.stockChart.options.culture)||
1150
- g(this.stockChart._cultureInfo.rangeSelector.rangeText)?this.label:this.stockChart._cultureInfo.rangeSelector.rangeText,textAlign:"left",fontSize:this.buttonStyle.labelFontSize,fontFamily:this.buttonStyle.labelFontFamily,fontWeight:this.buttonStyle.labelFontWeight,fontColor:this.buttonStyle.labelFontColor,fontStyle:this.buttonStyle.labelFontStyle,textBaseline:"middle"});this._label.textBlock=a;d=this._label.textBlock.measureText().height}g(this.buttonStyle.options.maxWidth)&&(this.buttonStyle.maxWidth=
1151
- (this.width-(this._label&&this._label.textBlock?this._label.textBlock.measureText().width:0))/this.buttons.length-2);for(m=0;m<this.buttons.length;m++){var e=this.buttons[m];e._index=m;a=new ka(this.ctx,{x:0,y:0,backgroundColor:this.buttonStyle.backgroundColor,borderColor:this.buttonStyle.borderColor,borderThickness:this.buttonStyle.borderThickness,cornerRadius:0,maxWidth:this.buttonStyle.options.width?this.buttonStyle.width<this.buttonStyle.maxWidth?this.buttonStyle.width:this.buttonStyle.maxWidth:
1152
- this.buttonStyle.maxWidth,maxHeight:2*this.buttonStyle.labelFontSize,angle:0,padding:this.buttonStyle.padding,text:this.options.buttons&&this.options.buttons.length?g(e.label)?"":e.label:this.buttonLabels[m],textAlign:"center",fontSize:this.buttonStyle.labelFontSize,fontFamily:this.buttonStyle.labelFontFamily,fontWeight:this.buttonStyle.labelFontWeight,fontColor:this.buttonStyle.labelFontColor,fontStyle:this.buttonStyle.labelFontStyle,textBaseline:"middle"});!g(this.selectedRangeButtonIndex)&&this.selectedRangeButtonIndex===
1153
- m&&this.hasOptionChanged("selectedRangeButtonIndex")?e.state="on":this.hasOptionChanged("selectedRangeButtonIndex")||"rangeButton"!==this.stockChart.rangeUpdatedBy||this.sessionVariables._clickedRangeButtonIndex!==m?e.state="off":e.state="on";e.textBlock=a;e.bounds={x1:null,x2:null,y1:null,y2:null,width:null,height:null};a.measureText();this.buttonStyle.width=a.width=Math.min(g(this.buttonStyle.options.width)?a.width:this.buttonStyle.options.width,a.maxWidth);this.rangeButtonsWidth+=a.width+this.buttonStyle.spacing;
1154
- this.rangeButtonsHeight=a.height;d=d<a.height?a.height:d;e=this.buttons[m];e.id=++this.stockChart._eventManager.lastObjectId;this.stockChart._eventManager.objectMap[e.id]={id:e.id,objectType:"rangeButton",rangeButtonIndex:m}}this.height=parseFloat(this.options.height);if(g(this.options.height)||isNaN(this.height)||0>this.options.height){if(isNaN(this.height)||0>this.options.height)this.height=0;this.height<this.inputFieldsHeight+this.inputFields.style.borderThickness+5&&(this.height=this.inputFieldsHeight+
1155
- this.inputFields.style.borderThickness+5);this.height<d+this.buttonStyle.borderThickness+5&&(this.height=d+this.buttonStyle.borderThickness+5)}this._label&&(this._label.textBlock&&this.rangeButtonsWidth&&this.inputFieldsWidth)&&this.rangeButtonsWidth+this._label.textBlock.measureText().width+this.inputFieldsWidth>=this.width-(this.stockChart.exportEnabled&&this._shiftInputField?40:0)&&(this.height=this.options.height?this.height:2*this.height,this._wrapElements=!0);!this.inputFields.enabled&&(0===
1156
- this.buttons.length&&g(this.options.height))&&(this.height=0);"bottom"===this.verticalAlign?(m=s.y2-this.height,d="bottom"):(m=s.y1,d="top");"left"===this.horizontalAlign?l=s.x1+2:"center"===this.horizontalAlign?l=s.x1+s.width/2-this.width/2:"right"===this.horizontalAlign&&(l=s.x2-2-this.width);this.stockChart.layoutManager.registerSpace(d,{width:this.width,height:this.height});this.bounds={x1:l,y1:m,x2:l+this.width,y2:m+this.height,width:this.width,height:this.height};for(m=0;m<this.buttons.length;m++)this.buttons[m]._initialize(m)}};
1157
- V.prototype.render=function(){var d;this.setButtonsLayout();P(this.ctx,this.bounds.x1,this.bounds.y1,this.bounds.x2,this.bounds.y2,this.stockChart.backgroundColor,0,null,0,0,0,0,1);this._label&&this._label.textBlock&&this._label.textBlock.render(!0);for(d=0;d<this.buttons.length;d++)this.buttons[d].enabled||(this.buttons[d].textBlock.backgroundColor=this.buttons[d].backgroundColorDisabled,this.buttons[d].textBlock.borderColor=this.buttons[d].backgroundColorDisabled),this.buttons[d].render(!0);this.inputFields&&
1158
- this.inputFields.enabled&&this.renderInputFields(!0)};V.prototype.setButtonsLayout=function(){var d,g,m=this.bounds.x1+5,l,a;this._label&&(this._label.textBlock&&0<this.buttons.length)&&(this._label.textBlock.x=m,this._label.textBlock.y=a=this.bounds.y1+(this._label.textBlock.measureText().height-this._label.textBlock.topPadding-this._label.textBlock.bottomPadding+this.buttons[0].textBlock.borderThickness)/2-this._label.textBlock.topPadding+this.buttons[0].textBlock.topPadding+2,this._label.bounds=
1159
- {x1:m,y1:a-this._label.textBlock.fontSize/2,x2:m+this._label.textBlock.measureText().width,y2:a+this._label.textBlock.fontSize/2,width:this._label.textBlock.measureText().width,height:this._label.textBlock.measureText().height},m+=this._label.bounds.width);for(d=0;d<this.buttons.length;d++)g=this.buttons[d],this.buttonStyle.options.width?g.textBlock.width=this.buttonStyle.options.maxWidth?this.buttonStyle.options.width<this.buttonStyle.options.maxWidth?g.textBlock.maxWidth=this.buttonStyle.width:
1160
- g.textBlock.maxWidth=this.buttonStyle.maxWidth:g.textBlock.maxWidth=g.textBlock.maxWidth<this.buttonStyle.width?g.textBlock.maxWidth:this.buttonStyle.width:this.buttonStyle.options.maxWidth&&(g.textBlock.maxWidth=this.buttonStyle.maxWidth),l=m+g.textBlock.width,g.textBlock.x=g.bounds.x1=1===g.textBlock.borderThickness%2?(m<<0)+0.5:m,g.bounds.x2=l,a=(1===g.textBlock.borderThickness%2?this.bounds.y1+(g.textBlock.height-g.textBlock.topPadding-g.textBlock.bottomPadding+g.textBlock.borderThickness)/2<<
1161
- 0.5:this.bounds.y1+(g.textBlock.height-g.textBlock.topPadding-g.textBlock.bottomPadding+g.textBlock.borderThickness)/2)+2,g.textBlock.y=a,g.bounds.y1=a-g.textBlock.height/2,g.bounds.y2=g.bounds.y1+g.textBlock.height,g.bounds.width=l-m,g.bounds.height=g.bounds.y2-g.bounds.y1,m=l+this.buttonStyle.spacing,g.textBlock.maxWidth=this.buttonStyle.maxWidth};V.prototype.resetRangeButtons=function(){for(var d=0;d<this.buttons.length;d++)this.buttons[d].enabled&&(this.buttons[d].state="off",this.buttons[d].textBlock.backgroundColor=
1162
- this.buttonStyle.backgroundColor,this.buttons[d].textBlock.fontColor=this.buttonStyle.labelFontColor,this.buttons[d].textBlock.fontWeight=this.buttonStyle.labelFontWeight,this.buttons[d].textBlock.render(!0))};V.prototype.renderInputFields=function(){this.inputFields._textBlocks[0].text="dateTime"===this.inputFields.valueType&&isFinite(this.inputFields.startValue)?qa(this.inputFields.startValue,this.inputFields.valueFormatString,this.stockChart._cultureInfo):aa(this.inputFields.startValue,this.inputFields.valueFormatString,
1163
- this.stockChart._cultureInfo);this.inputFields._textBlocks[1].text="dateTime"===this.inputFields.valueType&&isFinite(this.inputFields.endValue)?qa(this.inputFields.endValue,this.inputFields.valueFormatString,this.stockChart._cultureInfo):aa(this.inputFields.endValue,this.inputFields.valueFormatString,this.stockChart._cultureInfo);this.inputFields._labels[0].text=g(this.stockChart._cultureInfo.rangeSelector.fromText)?"From":this.stockChart._cultureInfo.rangeSelector.fromText;this.inputFields._labels[1].text=
1164
- g(this.stockChart._cultureInfo.rangeSelector.toText)?"To":this.stockChart._cultureInfo.rangeSelector.toText;for(var d=0,m=this.inputFields._textBlocks.length-1;0<=m;m--){var s=this.inputFields._textBlocks[m],l=s.measureText();""!==s.text&&(s._width=this.inputFields.style.options.width?this.inputFields.style.width:this.inputFields.style.width=Math.abs(l.width-s._width)<=("dateTime"===this.inputFields.valueType?10:5)?s._width:l.width+10,s._width>this.inputFields.style.maxWidth&&(s._width=this.inputFields.style.maxWidth),
1165
- d+=s._width+this.inputFields.style.spacing,s.x=s.bounds.x1=1===s.borderThickness%2?(this.bounds.x2-d-(this.stockChart.exportEnabled&&this._shiftInputField?40:0)<<0)+0.5:this.bounds.x2-d-(this.stockChart.exportEnabled&&this._shiftInputField?40:0),s.bounds.x2=s.bounds.x1+s._width,d+=this.inputFields._labels[m].measureText().width,this.inputFields._labels[m].x=this.inputFields._labels[m].bounds.x1=this.bounds.x2-d-(this.stockChart.exportEnabled&&this._shiftInputField?40:0),this.inputFields._labels[m].bounds.x2=
1166
- this.inputFields._labels[m].bounds.x1+this.inputFields._labels[m].measureText().width,this.inputFields.style.width=s.width=s._width,s.y=(1===s.borderThickness%2?(this._wrapElements?this.bounds.y1+this.rangeButtonsHeight+8:this.bounds.y1)+(s.height-s.topPadding-s.bottomPadding+s.borderThickness)/2<<0.5:(this._wrapElements?this.bounds.y1+this.rangeButtonsHeight+8:this.bounds.y1)+(s.height-s.topPadding-s.bottomPadding+s.borderThickness)/2)+2,this.inputFields._labels[m].y=(this._wrapElements?this.bounds.y1+
1167
- this.rangeButtonsHeight+8:this.bounds.y1)+(s.height-s.topPadding-s.bottomPadding+s.borderThickness)/2+2,s.bounds.y1=this.inputFields._labels[m].bounds.y1=s.y-s._lineHeight/2,s.bounds.y2=this.inputFields._labels[m].bounds.y2=s.bounds.y1+l.height,l=g(this.inputFields.style.padding)||this.inputFields.style.options.width&&this.inputFields.style.width>=this.inputFields.style.options.width?0:isNaN(this.inputFields.style.padding)?(this.inputFields.style.padding.left||0)+(this.inputFields.style.padding.right||
1168
- 0):2*this.inputFields.style.padding,this.inputFields.elements[m].style.top=s.y-s._lineHeight/2+"px",this.inputFields.elements[m].style.left=s.bounds.x1+s.borderThickness/2+"px",this.inputFields.elements[m].style.width=this.inputFields.style.width-this.inputFields.style.borderThickness-l+"px",0===l&&(this.inputFields.elements[m].style.paddingLeft=0,this.inputFields.elements[m].style.paddingRight=0),this.inputFields._labels[m].render(!0),s.render(!0))}};V.prototype._updateInputFields=function(d,g){!this.inputFields.elements[0].focused&&
1169
- isFinite(d)&&(this.inputFields.elements[0].value="dateTime"===this.inputFields.valueType?qa(d,"YYYY-MM-DD"):aa(d,this.inputFields.valueFormatString));!this.inputFields.elements[1].focused&&isFinite(g)&&(this.inputFields.elements[1].value="dateTime"===this.inputFields.valueType?qa(g,"YYYY-MM-DD"):aa(g,this.inputFields.valueFormatString));for(var m=0;m<this.inputFields.elements.length;m++)this.inputFields.elements[m].focused&&this.inputFields.elements[m].focus();this.inputFields.startValue=d;this.inputFields.endValue=
1170
- g;this.render()};ha(O,W);O.prototype._updateOptions=function(){this.updateOption("style");this.updateOption("label");this.updateOption("range");this.updateOption("rangeType")};O.prototype._initialize=function(d){this._updateOptions();var m="1m 3m 6m YTD 1y All".split(" "),s=[1,3,6,null,1,null],l="month month month ytd year all".split(" ");this.range="undefined"!==typeof this.options.range?this.range:g(s[d])?null:s[d];this.rangeType="undefined"!==typeof this.options.rangeType?this.rangeType:l[d];this.label=
1171
- this.textBlock.text=g(this.options.label)?m[d]:this.label};O.prototype.render=function(){this.textBlock.render(!0)};ha(X,W);X.prototype._updateOptions=function(){this.updateOption("enabled");this.updateOption("startValue");this.updateOption("endValue");this.updateOption("valueType");this.updateOption("valueFormatString")};X.prototype._initialize=function(){this._updateOptions();g(this.style.options.fontSize)&&(this.style.fontSize=this.stockChart.getAutoFontSize(this.style.fontSize));if(!g(this.elements))for(var d=
1172
- 0;d<this.elements.length;d++)this.elements[d].style.position="absolute",this.elements[d].style.display="none";if(this.enabled){for(d=0;d<this.elements.length;d++)this.elements[d].style.position="absolute",this.elements[d].style.display=this.elements[d].focused?"inline":"none",this.elements[d].style.backgroundColor="transparent",this.elements[d].style.border="none",this.elements[d].style.outline="none",this.elements[d].style.outlineOffset=0,this.elements[d].style.textAlign="center",this.elements[d].style.color=
1173
- this.style.fontColor,this.elements[d].style.fontSize=this.elements[d].style.height=this.style.fontSize+"px",this.elements[d].style.fontStyle=this.style.fontStyle,this.elements[d].style.fontFamily=this.style.fontFamily,this.elements[d].style.fontWeight=this.style.fontWeight,this.elements[d].style.lineHeight=1,isNaN(this.style.padding)?(this.elements[d].style.paddingTop=(this.style.padding.top||0)+"px",this.elements[d].style.paddingRight=(this.style.padding.right||0)+"px",this.elements[d].style.paddingBottom=
1174
- (this.style.padding.bottom||0)+"px",this.elements[d].style.paddingLeft=(this.style.padding.left||0)+"px"):this.elements[d].style.padding=this.style.padding+"px",this.elements[d].style.mozAppearance=this.elements[d].style.webkitAppearance=this.elements[d].style.appearance="none",this.elements[d].style.webkitBorderRadius=0,this.elements[d].style.mozBorderRadius=0,this.elements[d].style.borderRadius=0,this.elements[d].style.boxSizing="content-box";this.parent=this.rangeSelector=this.stockChart.rangeSelector}};
1175
- ha(da,W);da.prototype._updateOptions=function(){this.updateOption("backgroundColor");this.updateOption("backgroundColorOnHover");this.updateOption("backgroundColorOnSelect");this.updateOption("borderColor");this.updateOption("borderThickness");this.updateOption("labelFontColor");this.updateOption("labelFontColorOnHover");this.updateOption("labelFontSize");this.updateOption("labelFontStyle");this.updateOption("labelFontFamily");this.updateOption("labelFontWeight");this.updateOption("width");this.updateOption("maxWidth");
1176
- this.updateOption("padding");this.updateOption("spacing");this.updateOption("cursor")};ha(ea,W);ea.prototype._updateOptions=function(){this.updateOption("backgroundColor");this.updateOption("borderColor");this.updateOption("borderThickness");this.updateOption("borderColorOnFocus");this.updateOption("fontColor");this.updateOption("fontSize");this.updateOption("fontStyle");this.updateOption("fontFamily");this.updateOption("fontWeight");this.updateOption("width");this.updateOption("maxWidth");this.updateOption("padding");
1177
- this.updateOption("spacing");this.updateOption("cursor")};return w}();X.version="v1.10.15 GA";window.CanvasJS&&(X&&(!window.CanvasJS.StockChart&&window.CanvasJS.Chart)&&(window.CanvasJS.StockChart=X),X&&!window.CanvasJS.Chart&&(window.CanvasJS.Chart=Ja,window.CanvasJS.StockChart=X))})();
1091
+ default:return}if(!(m&&1<m.length)){a=Ba(l);a.time=new Date;try{var c=a.y-this._lastTouchData.y,e=a.time-this._lastTouchData.time;if(1<Math.abs(c)&&this._lastTouchData.scroll||5<Math.abs(c)&&250>e)this._lastTouchData.scroll=!0}catch(b){}this._lastTouchEventType=d.type;if(this._lastTouchData&&this._lastTouchData.scroll)this.isDrag&&this.resetOverlayedCanvas(),this.isDrag=!1;else for(m=0;m<t.length;m++){a=t[m];c=document.createEvent("MouseEvent");c.initMouseEvent(a,!0,!0,window,1,l.screenX,l.screenY,
1092
+ l.clientX,l.clientY,!1,!1,!1,!1,0,null);l.target.dispatchEvent(c);if(this._lastTouchData&&!g(this._lastTouchData.scroll)&&!this._lastTouchData.scroll||this._lastTouchData&&!this._lastTouchData.scroll&&250<e&&g(this._chartScroll)||"click"===a)d.preventManipulation&&d.preventManipulation(),d.preventDefault&&d.cancelable&&d.preventDefault();this._chartScroll=null}}}};w.prototype._mouseEventHandler=function(d){"undefined"===typeof d.target&&d.srcElement&&(d.target=d.srcElement);var g=Ba(d),m=d.type,l,
1093
+ a;d.which?a=3==d.which:d.button&&(a=2==d.button);w.capturedEventParam&&(l=w.capturedEventParam,"mouseup"===m&&(w.capturedEventParam=null,l.stockChart.overlaidCanvas.releaseCapture?l.stockChart.overlaidCanvas.releaseCapture():document.documentElement.removeEventListener("mouseup",l.stockChart._mouseEventHandler,!1)),l.hasOwnProperty(m)&&("mouseup"!==m||l.stockChart.overlaidCanvas.releaseCapture?d.target!==l.stockChart.overlaidCanvas&&v||l[m].call(l.context,g.x,g.y):d.target!==l.stockChart.overlaidCanvas&&
1094
+ (l.stockChart.isDrag=!1)));if(this._ignoreNextEvent)this._ignoreNextEvent=!1;else if(d.preventManipulation&&d.preventManipulation(),d.preventDefault&&d.preventDefault(),La&&window.console&&(window.console.log(m+" --\x3e x: "+g.x+"; y:"+g.y),a&&window.console.log(d.which),"mouseup"===m&&window.console.log("mouseup")),!a){if(!w.capturedEventParam&&this._events){for(var e=0;e<this._events.length;e++)if(this._events[e].hasOwnProperty(m))if(l=this._events[e],a=l.bounds,g.x>=a.x1&&g.x<=a.x2&&g.y>=a.y1&&
1095
+ g.y<=a.y2){l[m].call(l.context,g.x,g.y);"mousedown"===m&&!0===l.capture?(Chart.capturedEventParam=l,this.overlaidCanvas.setCapture?this.overlaidCanvas.setCapture():document.documentElement.addEventListener("mouseup",this._mouseEventHandler,!1)):"mouseup"===m&&(l.stockChart.overlaidCanvas.releaseCapture?l.stockChart.overlaidCanvas.releaseCapture():document.documentElement.removeEventListener("mouseup",this._mouseEventHandler,!1));break}else l=null;d.target.style.cursor=l&&l.cursor?l.cursor:this._defaultCursor}m=
1096
+ this.bounds;(g.x<m.x1||g.x>m.x2||g.y<m.y1||g.y>m.y2)&&this.resetOverlayedCanvas();!this.isDrag&&this._eventManager&&this._eventManager.mouseEventHandler(d)}};w.prototype.resetOverlayedCanvas=function(){this.overlaidCanvasCtx.clearRect(0,0,this.width,this.height)};w.prototype.clearCanvas=kb;w.prototype.getAutoFontSize=lb;ha(L,Ha);ha(H,Ma);Ja.prototype.alignVerticalAxes=function(){if(!this.isNavigator&&this.stockChart){for(var d=this.sessionVariables.plotAreaBounds,g=this.stockChart._chartsPlotAreaX1-
1097
+ d.x1,d=d.x2-this.stockChart._chartsPlotAreaX2,m=0;m<this.axisX.length;m++)this.axisX[m].lineCoordinates.x1+=g,this.axisX[m].lineCoordinates.x2-=d,this.axisX[m].lineCoordinates.width=this.axisX[m].lineCoordinates.x2-this.axisX[m].lineCoordinates.x1,this.axisX[m].bounds.x1+=g,this.axisX[m].bounds.x2-=d,this.axisX[m].calculateValueToPixelConversionParameters();for(m=0;m<this.axisX2.length;m++)this.axisX2[m].lineCoordinates.x1+=g,this.axisX2[m].lineCoordinates.x2-=d,this.axisX2[m].lineCoordinates.width=
1098
+ this.axisX2[m].lineCoordinates.x2-this.axisX2[m].lineCoordinates.x1,this.axisX2[m].bounds.x1+=g,this.axisX2[m].bounds.x2-=d,this.axisX2[m].calculateValueToPixelConversionParameters();for(m=0;m<this.axisY.length;m++)this.axisY[m].lineCoordinates.x1+=g,this.axisY[m].lineCoordinates.x2+=g,this.axisY[m].bounds.x1+=g,this.axisY[m].bounds.x2+=g;for(m=0;m<this.axisY2.length;m++)this.axisY2[m].lineCoordinates.x1-=d,this.axisY2[m].lineCoordinates.x2-=d,this.axisY2[m].bounds.x1-=d,this.axisY2[m].bounds.x2-=
1099
+ d}};Ja.prototype.syncCharts=function(d,m){this.stockChart&&(this.stockChart.sessionVariables._axisXMin=d,this.stockChart.sessionVariables._axisXMax=m,d=g(d)?this.stockChart._initialAxisXMin:d,m=g(m)?this.stockChart._initialAxisXMax:m,this.stockChart._syncCharts(d,m),this.stockChart.rangeSelector&&"zoom"!==this._zoomButton.getAttribute("state")&&this.stockChart.rangeSelector.resetRangeButtons())};N.prototype.reset=function(){this.lastObjectId=0;this.objectMap=[];this.rectangularRegionEventSubscriptions=
1100
+ [];this.eventObjects=[];v&&(this.ghostCtx.clearRect(0,0,this.stockChart.width,this.stockChart.height),this.ghostCtx.beginPath())};N.prototype.getNewObjectTrackingId=function(){return++this.lastObjectId};N.prototype.mouseEventHandler=function(d){if("mousemove"===d.type||"click"===d.type){var g=[],m=Ba(d),l=null;if((l=this.stockChart.getObjectAtXY(m.x,m.y,!1))&&"undefined"!==typeof this.objectMap[l])if(l=this.objectMap[l],"rangeButton"===l.objectType){var a=this.stockChart.rangeSelector.buttons[l.rangeButtonIndex];
1101
+ l.eventParameter={x:m.x,y:m.y,rangeButton:a,rangeButtonIndex:l.rangeButtonIndex,stockChart:this.stockChart};l.eventContext={context:this.stockChart.rangeSelector,userContext:a,mouseover:"mouseover",mousemove:"mousemove",mouseout:"mouseout",click:"click"};g.push(l)}else"inputFields"===l.objectType&&(a=this.stockChart.rangeSelector.inputFields._textBlocks[l.inputFieldIndex],l.eventParameter={x:m.x,y:m.y,inputField:a,inputFieldIndex:l.inputFieldIndex,stockChart:this.stockChart},l.eventContext={context:this.stockChart.rangeSelector,
1102
+ userContext:a,mouseover:"mouseover",mousemove:"mousemove",mouseout:"mouseout",click:"click"},g.push(l));a=[];for(m=0;m<this.mouseoveredObjectMaps.length;m++){for(var e=!0,l=0;l<g.length;l++)if(g[l].id===this.mouseoveredObjectMaps[m].id){e=!1;break}e?this.fireEvent(this.mouseoveredObjectMaps[m],"mouseout",d):a.push(this.mouseoveredObjectMaps[m])}this.mouseoveredObjectMaps=a;for(m=0;m<g.length;m++){a=!1;for(l=0;l<this.mouseoveredObjectMaps.length;l++)if(g[m].id===this.mouseoveredObjectMaps[l].id){a=
1103
+ !0;break}a||(this.fireEvent(g[m],"mouseover",d),this.mouseoveredObjectMaps.push(g[m]));"click"===d.type?this.fireEvent(g[m],"click",d):"mousemove"===d.type&&this.fireEvent(g[m],"mousemove",d)}}};N.prototype.fireEvent=function(d,g,m){if(d&&g){var l=d.eventParameter,a=d.eventContext,e=d.eventContext.userContext;e&&(a&&e[a[g]])&&e[a[g]].call(e,l);"mouseout"!==g?e.cursor&&e.cursor!==m.target.style.cursor&&(m.target.style.cursor=e.cursor):(m.target.style.cursor=this.stockChart._defaultCursor,delete d.eventParameter,
1104
+ delete d.eventContext)}};ha(y,W);y.prototype._updateOptions=function(){this.updateOption("enabled");this.updateOption("backgroundColor");"undefined"===typeof this.options.backgroundColor&&"undefined"!==typeof this.stockChart.options.backgroundColor&&(this.backgroundColor=this.stockChart.backgroundColor);this.backgroundColor||(this.backgroundColor="rgba(0, 0, 0, 0)");this.updateOption("animationEnabled");this.animationEnabled=this.animationEnabled&&v;this.updateOption("animationDuration");this.updateOption("theme");
1105
+ this.updateOption("verticalAlign");this.updateOption("horizontalAlign");this.updateOption("width");this.updateOption("height");this.updateOption("dynamicUpdate")};y.prototype._initialize=function(){this.options=this.stockChart.options.navigator||{_isPlaceholder:!0};this._updateOptions();var d;this.enabled&&!this.panel&&(this.panel=m("canvasjs-navigator-panel"),(d=!g(this.panel)&&this.stockChart._canvasJSContainer.contains(this.panel))||this.stockChart._canvasJSContainer.appendChild(this.panel));d=
1106
+ !g(this.panel)&&this.stockChart._canvasJSContainer.contains(this.panel);if(!this.enabled||0>=this.height)d&&this.stockChart._canvasJSContainer.removeChild(this.panel);else{this.height=g(this.options.height)?0.14*this.stockChart.height:parseInt(this.options.height);d||this.stockChart._canvasJSContainer.appendChild(this.panel);var t=this.stockChart.layoutManager.getFreeSpace(),s=t.x1,l=t.y1;this.width=this.options.width?this.width:t.width;"top"===this.verticalAlign?(l=t.y1+2,d="top"):(l=t.y2-this.height-
1107
+ 2,d="bottom");"left"===this.horizontalAlign?s=t.x1-2:"center"===this.horizontalAlign?s=t.x1+t.width/2-this.width/2:"right"===this.horizontalAlign&&(s=t.x2-2-this.width);this.panel.style.top=l+"px";this.panel.style.left=s+"px";this.panel.style.height=this.height+"px";this.panel.style.width=this.width+"px";this.stockChart.layoutManager.registerSpace(d,{width:this.width,height:this.height+2});this.bounds={x1:s,y1:l,x2:s+this.width,y2:l+this.height}}};y.prototype._updateSlider=function(d,m){if(!(0>=this.height)&&
1108
+ this.enabled){var s=this.chart.axisX&&this.chart.axisX.length?this.chart.axisX[0]:this.chart.axisX2[0];if(!g(s)){var l=Math.min(s.bounds.x2,Math.max(s.bounds.x1,s.convertValueToPixel(s.reversed?Math.max(d,Math.min(s.maximum,m)):Math.min(d,Math.min(s.maximum,m))))),a=Math.max(s.bounds.x1,Math.min(s.bounds.x2,s.convertValueToPixel(s.reversed?Math.min(d,Math.min(s.maximum,m)):Math.max(d,Math.min(s.maximum,m)))));this.slider.panel.style.left=l+"px";this.slider.left=l;this.slider.panel.style.width=a-l+
1109
+ "px";this.slider.width=a-l;this.slider.minimum=Math.min(d,m);this.slider.maximum=Math.max(d,m);this.chart.resetOverlayedCanvas();this.slider.maskInverted?P(this.chart.overlaidCanvasCtx,l,0,a,this.height,this.slider.maskColor,0,this.slider.outlineColor,0,0,0,0,this.slider.maskOpacity):(P(this.chart.overlaidCanvasCtx,s.bounds.x1,0,l,this.height,this.slider.maskColor,0,this.slider.outlineColor,!1,!1,!1,!1,this.slider.maskOpacity),P(this.chart.overlaidCanvasCtx,a,0,this.width,this.height,this.slider.maskColor,
1110
+ 0,this.slider.outlineColor,!1,!1,!1,!1,this.slider.maskOpacity));this.chart.overlaidCanvasCtx.lineWidth=this.slider.outlineThickness;this.chart.overlaidCanvasCtx.strokeStyle=this.slider.outlineColor;this.chart.overlaidCanvasCtx.save();this.chart.overlaidCanvasCtx.beginPath();0<this.slider.outlineThickness&&(this.slider.outlineInverted?(this.chart.overlaidCanvasCtx.moveTo(s.bounds.x1,this.height-this.slider.outlineThickness/2),this.chart.overlaidCanvasCtx.lineTo(1===this.slider.outlineThickness%2?
1111
+ l+0.5:l,this.height-this.slider.outlineThickness/2),this.chart.overlaidCanvasCtx.moveTo(1===this.slider.outlineThickness%2?l+0.5:l,this.height),this.chart.overlaidCanvasCtx.lineTo(1===this.slider.outlineThickness%2?l+0.5:l,this.slider.outlineThickness/2),this.chart.overlaidCanvasCtx.lineTo(1===this.slider.outlineThickness%2?a-0.5:a,this.slider.outlineThickness/2),this.chart.overlaidCanvasCtx.lineTo(1===this.slider.outlineThickness%2?a-0.5:a,this.height),this.chart.overlaidCanvasCtx.moveTo(1===this.slider.outlineThickness%
1112
+ 2?a-0.5:a,this.height-this.slider.outlineThickness/2),this.chart.overlaidCanvasCtx.lineTo(this.width,this.height-this.slider.outlineThickness/2)):(this.chart.overlaidCanvasCtx.moveTo(s.bounds.x1,this.slider.outlineThickness/2),this.chart.overlaidCanvasCtx.lineTo(1===this.slider.outlineThickness%2?l+0.5:l,this.slider.outlineThickness/2),this.chart.overlaidCanvasCtx.moveTo(1===this.slider.outlineThickness%2?l+0.5:l,0),this.chart.overlaidCanvasCtx.lineTo(1===this.slider.outlineThickness%2?l+0.5:l,this.height-
1113
+ this.slider.outlineThickness/2),this.chart.overlaidCanvasCtx.lineTo(1===this.slider.outlineThickness%2?a-0.5:a,this.height-this.slider.outlineThickness/2),this.chart.overlaidCanvasCtx.lineTo(1===this.slider.outlineThickness%2?a-0.5:a,0),this.chart.overlaidCanvasCtx.moveTo(1===this.slider.outlineThickness%2?a-0.5:a,this.slider.outlineThickness/2),this.chart.overlaidCanvasCtx.lineTo(this.width,this.slider.outlineThickness/2)));this.chart.overlaidCanvasCtx.stroke();this.chart.overlaidCanvasCtx.restore();
1114
+ P(this.chart.overlaidCanvasCtx,1===this.slider.handleBorderThickness%2?l-this.slider.handleWidth/2<<0.5:l-this.slider.handleWidth/2<<0,1===this.slider.handleBorderThickness%2?this.height/2-this.slider.handleHeight/2<<0.5:this.height/2-this.slider.handleHeight/2<<0,1===this.slider.handleBorderThickness%2?l+this.slider.handleWidth/2<<0.5:l+this.slider.handleWidth/2<<0,1===this.slider.handleBorderThickness%2?this.height/2+this.slider.handleHeight/2<<0.5:this.height/2+this.slider.handleHeight/2<<0,this.slider.handleColor,
1115
+ this.slider.handleBorderThickness,this.slider.handleBorderColor,!1,!1,!1,!1,1);P(this.chart.overlaidCanvasCtx,1===this.slider.handleBorderThickness%2?a-this.slider.handleWidth/2<<0.5:a-this.slider.handleWidth/2<<0,1===this.slider.handleBorderThickness%2?this.height/2-this.slider.handleHeight/2<<0.5:this.height/2-this.slider.handleHeight/2<<0,1===this.slider.handleBorderThickness%2?a+this.slider.handleWidth/2<<0.5:a+this.slider.handleWidth/2<<0,1===this.slider.handleBorderThickness%2?this.height/2+
1116
+ this.slider.handleHeight/2<<0.5:this.height/2+this.slider.handleHeight/2<<0,this.slider.handleColor,this.slider.handleBorderThickness,this.slider.handleBorderColor,!1,!1,!1,!1,1);this.chart.overlaidCanvasCtx.lineWidth=this.slider.handleBorderThickness;this.chart.overlaidCanvasCtx.strokeStyle=this.slider.handleBorderColor;this.chart.overlaidCanvasCtx.save();this.chart.overlaidCanvasCtx.beginPath();this.chart.overlaidCanvasCtx.moveTo((1===this.slider.handleBorderThickness%2?(l-this.slider.handleBorderThickness/
1117
+ 2<<0)+0.5:l)-Math.round(this.slider.handleBorderThickness),this.height/2-this.slider.handleHeight/4);this.chart.overlaidCanvasCtx.lineTo((1===this.slider.handleBorderThickness%2?(l-this.slider.handleBorderThickness/2<<0)+0.5:l)-Math.round(this.slider.handleBorderThickness),this.height/2+this.slider.handleHeight/4);this.chart.overlaidCanvasCtx.moveTo((1===this.slider.handleBorderThickness%2?(l+this.slider.handleBorderThickness/2<<0)+0.5:l)+Math.round(this.slider.handleBorderThickness),this.height/
1118
+ 2-this.slider.handleHeight/4);this.chart.overlaidCanvasCtx.lineTo((1===this.slider.handleBorderThickness%2?(l+this.slider.handleBorderThickness/2<<0)+0.5:l)+Math.round(this.slider.handleBorderThickness),this.height/2+this.slider.handleHeight/4);this.chart.overlaidCanvasCtx.moveTo((1===this.slider.handleBorderThickness%2?(a-this.slider.handleBorderThickness/2<<0)+0.5:a)-Math.round(this.slider.handleBorderThickness),this.height/2-this.slider.handleHeight/4);this.chart.overlaidCanvasCtx.lineTo((1===
1119
+ this.slider.handleBorderThickness%2?(a-this.slider.handleBorderThickness/2<<0)+0.5:a)-Math.round(this.slider.handleBorderThickness),this.height/2+this.slider.handleHeight/4);this.chart.overlaidCanvasCtx.moveTo((1===this.slider.handleBorderThickness%2?(a+this.slider.handleBorderThickness/2<<0)+0.5:a)+Math.round(this.slider.handleBorderThickness),this.height/2-this.slider.handleHeight/4);this.chart.overlaidCanvasCtx.lineTo((1===this.slider.handleBorderThickness%2?(a+this.slider.handleBorderThickness/
1120
+ 2<<0)+0.5:a)+Math.round(this.slider.handleBorderThickness),this.height/2+this.slider.handleHeight/4);this.chart.overlaidCanvasCtx.stroke();this.chart.overlaidCanvasCtx.restore()}}};ha(U,W);U.prototype._updateOptions=function(){this.updateOption("maskColor");this.updateOption("maskInverted");this.updateOption("maskOpacity");this.updateOption("handleColor");this.updateOption("handleBorderColor");this.updateOption("handleBorderThickness");this.updateOption("handleWidth");this.updateOption("handleHeight");
1121
+ this.updateOption("outlineColor");this.updateOption("outlineThickness");this.updateOption("outlineInverted");this.updateOption("minimum");this.updateOption("maximum")};U.prototype._attachEvents=function(){var d=this;A(this.panel,"mousedown",function(g){d.stockChart.isDrag=!0;g.target!==d.leftHandle&&g.target!==d.rightHandle&&(d.stockChart.navigatorClicked=!0,d.currentHandle=d.leftHandle,d.panMode=!0,d.startPosition=Ba(g),g.target===d.currentHandle?d.startPosition.x+=d.currentHandle.offsetLeft+d.currentHandle.clientWidth/
1122
+ 2+d.panel.offsetLeft:g.target===d.panel&&(d.startPosition.x+=d.panel.offsetLeft),d.startWidth=d.panel.clientWidth,d.startLeft=d.panel.offsetLeft)},this.stockChart.allDOMEventHandlers);A(this.panel,window.navigator.msPointerEnabled?"MSPointerDown":"touchstart",function(g){d.stockChart._touchEventHandler(g)},this.stockChart.allDOMEventHandlers);A(this.navigator.panel,"mousedown",function(m){if(m.target!==d.navigator.slider.panel&&m.target!==d.leftHandle&&m.target!==d.rightHandle){d.stockChart.navigatorClicked=
1123
+ !0;var s=Ba(m),l,a;l=0;var e=d.navigator.chart.axisX&&d.navigator.chart.axisX.length?d.navigator.chart.axisX[0]:d.navigator.chart.axisX2[0];m=d.navigator.slider.left;g(d.startLeft)&&(d.startLeft=m);l=m+d.navigator.slider.width;a=s.x-(m+l)/2;if(s.x<m||s.x>l){var s=Math.max(0,m+a),c=Math.min(l+a,d.navigator.width);l+a>d.navigator.width&&(l=l+a-d.navigator.width,s-=l);0>m+a&&(l=Math.abs(m+a),c+=l);d.stockChart._rangeEventParameter={stockChart:d.stockChart,source:"navigator",index:null,minimum:Math.min(e.convertPixelToValue(s),
1124
+ e.convertPixelToValue(c)),maximum:Math.max(e.convertPixelToValue(s),e.convertPixelToValue(c))};d.stockChart.sessionVariables._axisXMin=e.convertPixelToValue(s);d.stockChart.sessionVariables._axisXMax=e.convertPixelToValue(c);d.navigator.dynamicUpdate?(d.stockChart._rangeEventParameter.type="rangeChanging",d.stockChart.dispatchEvent("rangeChanging",d.stockChart._rangeEventParameter,d.stockChart),d.stockChart._syncCharts(e.convertPixelToValue(s),e.convertPixelToValue(c)),d.stockChart._rangeEventParameter.type=
1125
+ "rangeChanged",d.stockChart.dispatchEvent("rangeChanged",d.stockChart._rangeEventParameter,d.stockChart)):d.navigator._updateSlider(d.stockChart.sessionVariables._axisXMin,d.stockChart.sessionVariables._axisXMax)}}},this.navigator.stockChart.allDOMEventHandlers);A(this.navigator.panel,window.navigator.msPointerEnabled?"MSPointerDown":"touchstart",function(g){d.stockChart._touchEventHandler(g)},this.navigator.stockChart.allDOMEventHandlers);A(this.navigator.stockChart.container,"mousemove",function(m){var s=
1126
+ d.navigator.chart.axisX&&d.navigator.chart.axisX.length?d.navigator.chart.axisX[0]:d.navigator.chart.axisX2[0];if(!g(d.currentHandle)&&d.startPosition){d.navigator.chart.overlaidCanvas.style.cursor=d.navigator.chart.container.style.cursor=d.navigator.panel.style.cursor="ew-resize";var l;l=d.currentHandle===d.leftHandle?1:-1;var a=Ba(m);m=m.target||m.srcElement;a.x=m===d.currentHandle?a.x+(d.currentHandle.offsetLeft+d.currentHandle.clientWidth/2+d.panel.offsetLeft):m===d.mask||m===d.panel?a.x+d.panel.offsetLeft:
1127
+ m===d.rightHandle&&d.currentHandle===d.leftHandle?a.x+(d.rightHandle.offsetLeft+d.rightHandle.clientWidth/2+d.panel.offsetLeft):m===d.leftHandle&&d.currentHandle===d.rightHandle?a.x+d.panel.offsetLeft:a.x+("canvasjs-chart-toolbar"===m.parentElement.className?m.offsetParent.offsetLeft+m.offsetLeft-d.stockChart._chartsPlotAreaX1:m.parentElement.parentElement.parentElement===d.navigator.panel?m.offsetLeft:m.offsetLeft-d.stockChart._chartsPlotAreaX1);var e=a.x-d.startPosition.x;if(0!==e){m=d.panel.offsetLeft;
1128
+ var c=d.panel.clientWidth;0<l&&(m=Math.max(d.startLeft+l*e,d._left));d.panMode||(c=Math.min(d.startWidth-l*e,d.fullWidth),l*e>d.startWidth?(m=0<l?d.startLeft+d.startWidth:Math.max(a.x,d._left),c=(0<l?a.x:d.startLeft)-parseFloat(m)):0>l&&(m=d.startLeft));m+c<=d._left+d.fullWidth&&(2<Math.abs(d.startLeft-m)||2<Math.abs(d.startWidth-parseFloat(c)))&&(0<l&&(d.left=m,d.panel.style.left=d.left+"px"),d.panMode||(d.panel.style.width=d.width=c+"px"),g(s)||(l=s.convertPixelToValue(Math.max(s.bounds.x1,parseFloat(m))),
1129
+ s=s.convertPixelToValue(parseFloat(m)+parseFloat(c)),d.stockChart.sessionVariables._axisXMin=l,d.stockChart.sessionVariables._axisXMax=s,d.stockChart.rangeSelector&&!d.panMode&&d.stockChart.rangeSelector.resetRangeButtons(),d.stockChart._rangeEventParameter={stockChart:d.stockChart,source:"navigator",index:null,minimum:Math.min(l,s),maximum:Math.max(l,s)},d.navigator.dynamicUpdate?(d.stockChart._rangeEventParameter.type="rangeChanging",d.stockChart.dispatchEvent("rangeChanging",d.stockChart._rangeEventParameter,
1130
+ d.stockChart),d.stockChart._syncCharts(l,s),d.stockChart._rangeEventParameter.type="rangeChanged",d.stockChart.dispatchEvent("rangeChanged",d.stockChart._rangeEventParameter,d.stockChart)):d.navigator._updateSlider(d.stockChart.sessionVariables._axisXMin,d.stockChart.sessionVariables._axisXMax),d.panMode||(d.stockChart.rangeUpdatedBy="navigator")))}}else d.navigator.chart.overlaidCanvas.style.cursor=d.navigator.chart.container.style.cursor=d.navigator.panel.style.cursor="auto"},this.navigator.stockChart.allDOMEventHandlers);
1131
+ A(this.navigator.stockChart.container,window.navigator.msPointerEnabled?"MSPointerMove":"touchmove",function(g){d.stockChart._touchEventHandler(g)},this.navigator.stockChart.allDOMEventHandlers)};U.prototype._initialize=function(){var d=this,m;this.options=this.stockChart.navigator&&this.stockChart.navigator.options&&this.stockChart.navigator.options.slider?this.stockChart.navigator.options.slider:{_isPlaceholder:!0};this._updateOptions();fa&&(this.eventsAttached||(this._attachEvents(),this.eventsAttached=
1132
+ !0),this.handleWidth=this.options.handleWidth?this.handleWidth:8,this.handleHeight=this.options.handleHeight?Math.min(this.navigator.height,this.options.handleHeight):0.25*this.navigator.height,this.leftHandle?R(this.leftHandle,{height:this.navigator.height+"px",width:this.handleWidth+10+"px",position:"absolute",left:"-"+(this.handleWidth/2+8)+"px",top:0,cursor:"ew-resize",borderStyle:"solid",borderWidth:this.handleBorderThickness+"px",borderColor:"transparent",outline:"none",padding:0,backgroundColor:"white",
1133
+ filter:"alpha(opacity = 0)",opacity:0,color:"transparent",fontSize:"12px",fontFamily:"Arial",userSelect:"none",MozUserSelect:"none",WebkitUserSelect:"none",zIndex:999}):(this.leftHandle=G("button","canvasjs-slider-handle","button"),this.leftHandle.innerHTML="||",R(this.leftHandle,{height:this.navigator.height+"px",width:this.handleWidth+10+"px",position:"absolute",left:"-"+(this.handleWidth/2+8)+"px",top:0,cursor:"ew-resize",borderStyle:"solid",borderWidth:this.handleBorderThickness+"px",borderColor:"transparent",
1134
+ outline:"none",padding:0,backgroundColor:"white",filter:"alpha(opacity = 0)",opacity:0,color:"transparent",fontSize:"12px",fontFamily:"Arial",userSelect:"none",MozUserSelect:"none",WebkitUserSelect:"none",zIndex:999}),this.panel.appendChild(this.leftHandle),this.initHandle(this.leftHandle,1)),this.rightHandle?R(this.rightHandle,{height:this.navigator.height+"px",width:this.handleWidth+10+"px",position:"absolute",right:"-"+(this.handleWidth/2+8)+"px",top:0,cursor:"ew-resize",borderStyle:"solid",borderWidth:this.handleBorderThickness+
1135
+ "px",borderColor:"transparent",outline:"none",padding:"0px",backgroundColor:"white",filter:"alpha(opacity = 0)",opacity:0,color:"transparent",fontSize:"12px",fontFamily:"Arial",userSelect:"none",MozUserSelect:"none",WebkitUserSelect:"none",msUserSelect:"none",zIndex:"999"}):(this.rightHandle=G("button","canvasjs-slider-handle","button"),this.rightHandle.innerHTML="||",R(this.rightHandle,{height:this.navigator.height+"px",width:this.handleWidth+10+"px",position:"absolute",right:"-"+(this.handleWidth/
1136
+ 2+8)+"px",top:0,cursor:"ew-resize",borderStyle:"solid",borderWidth:this.handleBorderThickness+"px",borderColor:"transparent",outline:"none",padding:"0px",backgroundColor:"white",filter:"alpha(opacity = 0)",opacity:0,color:"transparent",fontSize:"12px",fontFamily:"Arial",userSelect:"none",MozUserSelect:"none",WebkitUserSelect:"none",msUserSelect:"none",zIndex:"999"}),this.panel.appendChild(this.rightHandle),this.initHandle(this.rightHandle,-1)),R(this.panel,{position:"absolute",height:this.navigator.height+
1137
+ "px",left:0,width:"100%",cursor:"move",backgroundColor:"white",filter:"alpha(opacity = 0)",opacity:0}),this.fullWidth=this.panel.clientWidth,this._left=this.navigator.panel.offsetLeft,A(document,"mousedown",function(g){if(d.stockChart.rangeSelector&&d.stockChart.rangeSelector.inputFields&&d.stockChart.rangeSelector.inputFields.enabled)for(var l=0;l<d.stockChart.rangeSelector.inputFields.elements.length;l++)g.target!=d.stockChart.rangeSelector.inputFields.elements[l]&&d.stockChart.rangeSelector.inputFields.elements[l].focused&&
1138
+ d.stockChart.rangeSelector.inputFields.elements[l].blur()},this.navigator.stockChart.allDOMEventHandlers),A(document,window.navigator.msPointerEnabled?"MSPointerDown":"touchstart",function(d){a:{var g=d.changedTouches,g=g?g[0]:d,a="";switch(d.type){case "touchstart":case "MSPointerDown":a="mousedown";break;case "touchmove":case "MSPointerMove":a="mousemove";break;case "touchend":case "MSPointerUp":a="mouseup";break;default:break a}d=document.createEvent("MouseEvent");d.initMouseEvent(a,!0,!0,window,
1139
+ 1,g.screenX,g.screenY,g.clientX,g.clientY,!1,!1,!1,!1,0,null);g.target.dispatchEvent(d)}},this.navigator.stockChart.allDOMEventHandlers),A(document,"mouseup",function(s){d.panMode=!1;d.navigator.stockChart.isDrag=!1;if(d.stockChart.navigatorClicked){s=Math.min(d.stockChart.sessionVariables._axisXMin,d.stockChart.sessionVariables._axisXMax);var l=Math.max(d.stockChart.sessionVariables._axisXMin,d.stockChart.sessionVariables._axisXMax);g(d.stockChart._rangeEventParameter)&&(d.stockChart._rangeEventParameter=
1140
+ {stockChart:d.stockChart,source:"navigator",index:null,minimum:Math.min(s,l),maximum:Math.max(s,l)});if(2<Math.abs(d.startLeft-d.left)||2<Math.abs(d.startWidth-parseFloat(d.width))){d.navigator.dynamicUpdate||(d.stockChart._rangeEventParameter.type="rangeChanging",d.stockChart.dispatchEvent("rangeChanging",d.stockChart._rangeEventParameter,d.stockChart));for(var a=0;a<d.stockChart.charts.length;a++){m=d.stockChart.charts[a];m.toolTip&&m.toolTip.enabled&&m.toolTip.hide();for(var e=0;e<m.axisX.length;e++)m.axisX[e].setViewPortRange(s,
1141
+ l);for(e=0;e<m.axisX2.length;e++)m.axisX2[e].setViewPortRange(s,l);m.render()}d.stockChart.rangeSelector&&(d.stockChart.rangeSelector.enabled&&d.stockChart.rangeSelector.inputFields&&d.stockChart.rangeSelector.inputFields.enabled)&&d.stockChart.rangeSelector._updateInputFields(s,l);d.navigator.dynamicUpdate||(d.stockChart._rangeEventParameter.type="rangeChanged",d.stockChart.dispatchEvent("rangeChanged",d.stockChart._rangeEventParameter,d.stockChart))}}d.stockChart.navigatorClicked=d.currentHandle=
1142
+ d.startPosition=d.startWidth=d.startLeft=null},this.navigator.stockChart.allDOMEventHandlers),A(document,window.navigator.msPointerEnabled?"MSPointerUp":"touchend",function(s){d.panMode=!1;d.navigator.stockChart.isDrag=!1;if(d.stockChart.navigatorClicked){s=Math.min(d.stockChart.sessionVariables._axisXMin,d.stockChart.sessionVariables._axisXMax);var l=Math.max(d.stockChart.sessionVariables._axisXMin,d.stockChart.sessionVariables._axisXMax);g(d.stockChart._rangeEventParameter)&&(d.stockChart._rangeEventParameter=
1143
+ {stockChart:d.stockChart,source:"navigator",index:null,minimum:Math.min(s,l),maximum:Math.max(s,l)});d.navigator.dynamicUpdate||(d.stockChart._rangeEventParameter.type="rangeChanging",d.stockChart.dispatchEvent("rangeChanging",d.stockChart._rangeEventParameter,d.stockChart));for(var a=0;a<d.stockChart.charts.length;a++){m=d.stockChart.charts[a];m.toolTip&&m.toolTip.enabled&&m.toolTip.hide();for(var e=0;e<m.axisX.length;e++)m.axisX[e].setViewPortRange(s,l);for(e=0;e<m.axisX2.length;e++)m.axisX2[e].setViewPortRange(s,
1144
+ l);m.render()}d.stockChart.rangeSelector&&(d.stockChart.rangeSelector.enabled&&d.stockChart.rangeSelector.inputFields&&d.stockChart.rangeSelector.inputFields.enabled)&&d.stockChart.rangeSelector._updateInputFields(s,l);d.navigator.dynamicUpdate||(d.stockChart._rangeEventParameter.type="rangeChanged",d.stockChart.dispatchEvent("rangeChanged",d.stockChart._rangeEventParameter,d.stockChart))}d.stockChart.navigatorClicked=d.currentHandle=d.startPosition=d.startWidth=d.startLeft=null},this.navigator.stockChart.allDOMEventHandlers))};
1145
+ U.prototype.initHandle=function(d,g){var m=this;d&&(A(d,"mousedown",function(d){m.stockChart.navigatorClicked=!0;m.currentHandle=this;m.startPosition=Ba(d);d.target===m.currentHandle?m.startPosition.x+=m.currentHandle.offsetLeft+m.currentHandle.clientWidth/2+m.panel.offsetLeft:d.target===m.panel&&(m.startPosition.x+=m.panel.offsetLeft);m.startWidth=m.panel.clientWidth;m.startLeft=m.panel.offsetLeft;d.preventDefault&&d.preventDefault();d.stopPropagation&&d.stopPropagation()},this.navigator.stockChart.allDOMEventHandlers),
1146
+ A(d,window.navigator.msPointerEnabled?"MSPointerDown":"touchstart",function(d){m.stockChart._touchEventHandler(d)},this.navigator.stockChart.allDOMEventHandlers))};ha(V,W);V.prototype._updateOptions=function(){this.updateOption("enabled");this.updateOption("verticalAlign");this.updateOption("horizontalAlign");this.updateOption("width");this.updateOption("height");this.updateOption("label");this.updateOption("selectedRangeButtonIndex")};V.prototype._initialize=function(){var d=0;this._updateOptions();
1147
+ this._label={};this.buttons=[];if(fa&&this.enabled){if(this.options.buttons)for(var m=0;m<this.options.buttons.length;m++)this.buttons.push(new O(this.stockChart,m,this.options.buttons[m]));else{for(m=0;6>m;m++)this.buttons.push(new O(this.stockChart,m));this.buttonLabels="1m 3m 6m YTD 1y All".split(" ")}this._wrapElements=!1;var s=this.stockChart.layoutManager.getFreeSpace(),l=s.x1,m=s.y1;this._shiftInputField=!0;this.width=this.options.width?this.width:s.width;g(this.buttonStyle.options.labelFontSize)&&
1148
+ (this.buttonStyle.labelFontSize=this.stockChart.getAutoFontSize(this.buttonStyle.labelFontSize));if(this.stockChart.title&&this.stockChart.title.text&&("top"===this.stockChart.title.verticalAlign||"right"===this.stockChart.title.horizontalAlign&&"center"===this.stockChart.title.verticalAlign&&this.stockChart.exportEnabled)||"bottom"===this.verticalAlign)this._shiftInputField=!1;if(this.stockChart.subtitles)for(m=0;m<this.stockChart.subtitles.length;m++)this.stockChart.subtitles[m]&&(this.stockChart.subtitles[m].text&&
1149
+ ("top"===this.stockChart.subtitles[m].verticalAlign||"right"===this.stockChart.subtitles[m].horizontalAlign&&"center"===this.stockChart.subtitles[m].verticalAlign&&this.stockChart.exportEnabled))&&(this._shiftInputField=!1);this.stockChart.navigator.enabled&&"top"===this.stockChart.navigator.verticalAlign&&(this._shiftInputField=!1);this.rangeButtonsWidth=0;if(this.buttons&&0<this.buttons.length){var a=new ka(this.ctx,{x:0,y:0,backgroundColor:this.stockChart.backgroundColor,borderThickness:0,cornerRadius:0,
1150
+ maxWidth:0.2*this.stockChart.width,maxHeight:2*this.buttonStyle.labelFontSize,angle:0,padding:{left:5,right:5,top:2,bottom:2},text:g(this.stockChart.options.culture)||g(this.stockChart._cultureInfo.rangeSelector.rangeText)?this.label:this.stockChart._cultureInfo.rangeSelector.rangeText,textAlign:"left",fontSize:this.buttonStyle.labelFontSize,fontFamily:this.buttonStyle.labelFontFamily,fontWeight:this.buttonStyle.labelFontWeight,fontColor:this.buttonStyle.labelFontColor,fontStyle:this.buttonStyle.labelFontStyle,
1151
+ textBaseline:"middle"});this._label.textBlock=a;d=this._label.textBlock.measureText().height}g(this.buttonStyle.options.maxWidth)&&(this.buttonStyle.maxWidth=(this.width-(this._label&&this._label.textBlock?this._label.textBlock.measureText().width:0))/this.buttons.length-2);for(m=0;m<this.buttons.length;m++){var e=this.buttons[m];e._index=m;a=new ka(this.ctx,{x:0,y:0,backgroundColor:this.buttonStyle.backgroundColor,borderColor:this.buttonStyle.borderColor,borderThickness:this.buttonStyle.borderThickness,
1152
+ cornerRadius:0,maxWidth:this.buttonStyle.options.width?this.buttonStyle.width<this.buttonStyle.maxWidth?this.buttonStyle.width:this.buttonStyle.maxWidth:this.buttonStyle.maxWidth,maxHeight:2*this.buttonStyle.labelFontSize,angle:0,padding:this.buttonStyle.padding,text:this.options.buttons&&this.options.buttons.length?g(e.label)?"":e.label:this.buttonLabels[m],textAlign:"center",fontSize:this.buttonStyle.labelFontSize,fontFamily:this.buttonStyle.labelFontFamily,fontWeight:this.buttonStyle.labelFontWeight,
1153
+ fontColor:this.buttonStyle.labelFontColor,fontStyle:this.buttonStyle.labelFontStyle,textBaseline:"middle"});!g(this.selectedRangeButtonIndex)&&this.selectedRangeButtonIndex===m&&this.hasOptionChanged("selectedRangeButtonIndex")?e.state="on":this.hasOptionChanged("selectedRangeButtonIndex")||"rangeButton"!==this.stockChart.rangeUpdatedBy||this.sessionVariables._clickedRangeButtonIndex!==m?e.state="off":e.state="on";e.textBlock=a;e.bounds={x1:null,x2:null,y1:null,y2:null,width:null,height:null};a.measureText();
1154
+ this.buttonStyle.width=a.width=Math.min(g(this.buttonStyle.options.width)?a.width:this.buttonStyle.options.width,a.maxWidth);this.rangeButtonsWidth+=a.width+this.buttonStyle.spacing;this.rangeButtonsHeight=a.height;d=d<a.height?a.height:d;e=this.buttons[m];e.id=++this.stockChart._eventManager.lastObjectId;this.stockChart._eventManager.objectMap[e.id]={id:e.id,objectType:"rangeButton",rangeButtonIndex:m}}this.height=parseFloat(this.options.height);if(g(this.options.height)||isNaN(this.height)||0>this.options.height){if(isNaN(this.height)||
1155
+ 0>this.options.height)this.height=0;this.height<this.inputFieldsHeight+this.inputFields.style.borderThickness+5&&(this.height=this.inputFieldsHeight+this.inputFields.style.borderThickness+5);this.height<d+this.buttonStyle.borderThickness+5&&(this.height=d+this.buttonStyle.borderThickness+5)}this._label&&(this._label.textBlock&&this.rangeButtonsWidth&&this.inputFieldsWidth)&&this.rangeButtonsWidth+this._label.textBlock.measureText().width+this.inputFieldsWidth>=this.width-(this.stockChart.exportEnabled&&
1156
+ this._shiftInputField?40:0)&&(this.height=this.options.height?this.height:2*this.height,this._wrapElements=!0);!this.inputFields.enabled&&(0===this.buttons.length&&g(this.options.height))&&(this.height=0);"bottom"===this.verticalAlign?(m=s.y2-this.height,d="bottom"):(m=s.y1,d="top");"left"===this.horizontalAlign?l=s.x1+2:"center"===this.horizontalAlign?l=s.x1+s.width/2-this.width/2:"right"===this.horizontalAlign&&(l=s.x2-2-this.width);this.stockChart.layoutManager.registerSpace(d,{width:this.width,
1157
+ height:this.height});this.bounds={x1:l,y1:m,x2:l+this.width,y2:m+this.height,width:this.width,height:this.height};for(m=0;m<this.buttons.length;m++)this.buttons[m]._initialize(m)}};V.prototype.render=function(){var d;this.setButtonsLayout();P(this.ctx,this.bounds.x1,this.bounds.y1,this.bounds.x2,this.bounds.y2,this.stockChart.backgroundColor,0,null,0,0,0,0,1);this._label&&this._label.textBlock&&this._label.textBlock.render(!0);for(d=0;d<this.buttons.length;d++)this.buttons[d].enabled||(this.buttons[d].textBlock.backgroundColor=
1158
+ this.buttons[d].backgroundColorDisabled,this.buttons[d].textBlock.borderColor=this.buttons[d].backgroundColorDisabled),this.buttons[d].render(!0);this.inputFields&&this.inputFields.enabled&&this.renderInputFields(!0)};V.prototype.setButtonsLayout=function(){var d,g,m=this.bounds.x1+5,l,a;this._label&&(this._label.textBlock&&0<this.buttons.length)&&(this._label.textBlock.x=m,this._label.textBlock.y=a=this.bounds.y1+(this._label.textBlock.measureText().height-this._label.textBlock.topPadding-this._label.textBlock.bottomPadding+
1159
+ this.buttons[0].textBlock.borderThickness)/2-this._label.textBlock.topPadding+this.buttons[0].textBlock.topPadding+2,this._label.bounds={x1:m,y1:a-this._label.textBlock.fontSize/2,x2:m+this._label.textBlock.measureText().width,y2:a+this._label.textBlock.fontSize/2,width:this._label.textBlock.measureText().width,height:this._label.textBlock.measureText().height},m+=this._label.bounds.width);for(d=0;d<this.buttons.length;d++)g=this.buttons[d],this.buttonStyle.options.width?g.textBlock.width=this.buttonStyle.options.maxWidth?
1160
+ this.buttonStyle.options.width<this.buttonStyle.options.maxWidth?g.textBlock.maxWidth=this.buttonStyle.width:g.textBlock.maxWidth=this.buttonStyle.maxWidth:g.textBlock.maxWidth=g.textBlock.maxWidth<this.buttonStyle.width?g.textBlock.maxWidth:this.buttonStyle.width:this.buttonStyle.options.maxWidth&&(g.textBlock.maxWidth=this.buttonStyle.maxWidth),l=m+g.textBlock.width,g.textBlock.x=g.bounds.x1=1===g.textBlock.borderThickness%2?(m<<0)+0.5:m,g.bounds.x2=l,a=(1===g.textBlock.borderThickness%2?this.bounds.y1+
1161
+ (g.textBlock.height-g.textBlock.topPadding-g.textBlock.bottomPadding+g.textBlock.borderThickness)/2<<0.5:this.bounds.y1+(g.textBlock.height-g.textBlock.topPadding-g.textBlock.bottomPadding+g.textBlock.borderThickness)/2)+2,g.textBlock.y=a,g.bounds.y1=a-g.textBlock.height/2,g.bounds.y2=g.bounds.y1+g.textBlock.height,g.bounds.width=l-m,g.bounds.height=g.bounds.y2-g.bounds.y1,m=l+this.buttonStyle.spacing,g.textBlock.maxWidth=this.buttonStyle.maxWidth};V.prototype.resetRangeButtons=function(){for(var d=
1162
+ 0;d<this.buttons.length;d++)this.buttons[d].enabled&&(this.buttons[d].state="off",this.buttons[d].textBlock.backgroundColor=this.buttonStyle.backgroundColor,this.buttons[d].textBlock.fontColor=this.buttonStyle.labelFontColor,this.buttons[d].textBlock.fontWeight=this.buttonStyle.labelFontWeight,this.buttons[d].textBlock.render(!0))};V.prototype.renderInputFields=function(){this.inputFields._textBlocks[0].text="dateTime"===this.inputFields.valueType&&isFinite(this.inputFields.startValue)?qa(this.inputFields.startValue,
1163
+ this.inputFields.valueFormatString,this.stockChart._cultureInfo):aa(this.inputFields.startValue,this.inputFields.valueFormatString,this.stockChart._cultureInfo);this.inputFields._textBlocks[1].text="dateTime"===this.inputFields.valueType&&isFinite(this.inputFields.endValue)?qa(this.inputFields.endValue,this.inputFields.valueFormatString,this.stockChart._cultureInfo):aa(this.inputFields.endValue,this.inputFields.valueFormatString,this.stockChart._cultureInfo);this.inputFields._labels[0].text=g(this.stockChart._cultureInfo.rangeSelector.fromText)?
1164
+ "From":this.stockChart._cultureInfo.rangeSelector.fromText;this.inputFields._labels[1].text=g(this.stockChart._cultureInfo.rangeSelector.toText)?"To":this.stockChart._cultureInfo.rangeSelector.toText;for(var d=0,m=this.inputFields._textBlocks.length-1;0<=m;m--){var s=this.inputFields._textBlocks[m],l=s.measureText();""!==s.text&&(s._width=this.inputFields.style.options.width?this.inputFields.style.width:this.inputFields.style.width=Math.abs(l.width-s._width)<=("dateTime"===this.inputFields.valueType?
1165
+ 10:5)?s._width:l.width+10,s._width>this.inputFields.style.maxWidth&&(s._width=this.inputFields.style.maxWidth),d+=s._width+this.inputFields.style.spacing,s.x=s.bounds.x1=1===s.borderThickness%2?(this.bounds.x2-d-(this.stockChart.exportEnabled&&this._shiftInputField?40:0)<<0)+0.5:this.bounds.x2-d-(this.stockChart.exportEnabled&&this._shiftInputField?40:0),s.bounds.x2=s.bounds.x1+s._width,d+=this.inputFields._labels[m].measureText().width,this.inputFields._labels[m].x=this.inputFields._labels[m].bounds.x1=
1166
+ this.bounds.x2-d-(this.stockChart.exportEnabled&&this._shiftInputField?40:0),this.inputFields._labels[m].bounds.x2=this.inputFields._labels[m].bounds.x1+this.inputFields._labels[m].measureText().width,this.inputFields.style.width=s.width=s._width,s.y=(1===s.borderThickness%2?(this._wrapElements?this.bounds.y1+this.rangeButtonsHeight+8:this.bounds.y1)+(s.height-s.topPadding-s.bottomPadding+s.borderThickness)/2<<0.5:(this._wrapElements?this.bounds.y1+this.rangeButtonsHeight+8:this.bounds.y1)+(s.height-
1167
+ s.topPadding-s.bottomPadding+s.borderThickness)/2)+2,this.inputFields._labels[m].y=(this._wrapElements?this.bounds.y1+this.rangeButtonsHeight+8:this.bounds.y1)+(s.height-s.topPadding-s.bottomPadding+s.borderThickness)/2+2,s.bounds.y1=this.inputFields._labels[m].bounds.y1=s.y-s._lineHeight/2,s.bounds.y2=this.inputFields._labels[m].bounds.y2=s.bounds.y1+l.height,l=g(this.inputFields.style.padding)||this.inputFields.style.options.width&&this.inputFields.style.width>=this.inputFields.style.options.width?
1168
+ 0:isNaN(this.inputFields.style.padding)?(this.inputFields.style.padding.left||0)+(this.inputFields.style.padding.right||0):2*this.inputFields.style.padding,this.inputFields.elements[m].style.top=s.y-s._lineHeight/2+"px",this.inputFields.elements[m].style.left=s.bounds.x1+s.borderThickness/2+"px",this.inputFields.elements[m].style.width=this.inputFields.style.width-this.inputFields.style.borderThickness-l+"px",0===l&&(this.inputFields.elements[m].style.paddingLeft=0,this.inputFields.elements[m].style.paddingRight=
1169
+ 0),this.inputFields._labels[m].render(!0),s.render(!0))}};V.prototype._updateInputFields=function(d,g){!this.inputFields.elements[0].focused&&isFinite(d)&&(this.inputFields.elements[0].value="dateTime"===this.inputFields.valueType?qa(d,"YYYY-MM-DD"):aa(d,this.inputFields.valueFormatString));!this.inputFields.elements[1].focused&&isFinite(g)&&(this.inputFields.elements[1].value="dateTime"===this.inputFields.valueType?qa(g,"YYYY-MM-DD"):aa(g,this.inputFields.valueFormatString));for(var m=0;m<this.inputFields.elements.length;m++)this.inputFields.elements[m].focused&&
1170
+ this.inputFields.elements[m].focus();this.inputFields.startValue=d;this.inputFields.endValue=g;this.render()};ha(O,W);O.prototype._updateOptions=function(){this.updateOption("style");this.updateOption("label");this.updateOption("range");this.updateOption("rangeType")};O.prototype._initialize=function(d){this._updateOptions();var m="1m 3m 6m YTD 1y All".split(" "),s=[1,3,6,null,1,null],l="month month month ytd year all".split(" ");this.range="undefined"!==typeof this.options.range?this.range:g(s[d])?
1171
+ null:s[d];this.rangeType="undefined"!==typeof this.options.rangeType?this.rangeType:l[d];this.label=this.textBlock.text=g(this.options.label)?m[d]:this.label};O.prototype.render=function(){this.textBlock.render(!0)};ha(X,W);X.prototype._updateOptions=function(){this.updateOption("enabled");this.updateOption("startValue");this.updateOption("endValue");this.updateOption("valueType");this.updateOption("valueFormatString")};X.prototype._initialize=function(){this._updateOptions();g(this.style.options.fontSize)&&
1172
+ (this.style.fontSize=this.stockChart.getAutoFontSize(this.style.fontSize));if(!g(this.elements))for(var d=0;d<this.elements.length;d++)this.elements[d].style.position="absolute",this.elements[d].style.display="none";if(this.enabled){for(d=0;d<this.elements.length;d++)this.elements[d].style.position="absolute",this.elements[d].style.display=this.elements[d].focused?"inline":"none",this.elements[d].style.backgroundColor="transparent",this.elements[d].style.border="none",this.elements[d].style.outline=
1173
+ "none",this.elements[d].style.outlineOffset=0,this.elements[d].style.textAlign="center",this.elements[d].style.color=this.style.fontColor,this.elements[d].style.fontSize=this.elements[d].style.height=this.style.fontSize+"px",this.elements[d].style.fontStyle=this.style.fontStyle,this.elements[d].style.fontFamily=this.style.fontFamily,this.elements[d].style.fontWeight=this.style.fontWeight,this.elements[d].style.lineHeight=1,isNaN(this.style.padding)?(this.elements[d].style.paddingTop=(this.style.padding.top||
1174
+ 0)+"px",this.elements[d].style.paddingRight=(this.style.padding.right||0)+"px",this.elements[d].style.paddingBottom=(this.style.padding.bottom||0)+"px",this.elements[d].style.paddingLeft=(this.style.padding.left||0)+"px"):this.elements[d].style.padding=this.style.padding+"px",this.elements[d].style.mozAppearance=this.elements[d].style.webkitAppearance=this.elements[d].style.appearance="none",this.elements[d].style.webkitBorderRadius=0,this.elements[d].style.mozBorderRadius=0,this.elements[d].style.borderRadius=
1175
+ 0,this.elements[d].style.boxSizing="content-box";this.parent=this.rangeSelector=this.stockChart.rangeSelector}};ha(da,W);da.prototype._updateOptions=function(){this.updateOption("backgroundColor");this.updateOption("backgroundColorOnHover");this.updateOption("backgroundColorOnSelect");this.updateOption("borderColor");this.updateOption("borderThickness");this.updateOption("labelFontColor");this.updateOption("labelFontColorOnHover");this.updateOption("labelFontSize");this.updateOption("labelFontStyle");
1176
+ this.updateOption("labelFontFamily");this.updateOption("labelFontWeight");this.updateOption("width");this.updateOption("maxWidth");this.updateOption("padding");this.updateOption("spacing");this.updateOption("cursor")};ha(ea,W);ea.prototype._updateOptions=function(){this.updateOption("backgroundColor");this.updateOption("borderColor");this.updateOption("borderThickness");this.updateOption("borderColorOnFocus");this.updateOption("fontColor");this.updateOption("fontSize");this.updateOption("fontStyle");
1177
+ this.updateOption("fontFamily");this.updateOption("fontWeight");this.updateOption("width");this.updateOption("maxWidth");this.updateOption("padding");this.updateOption("spacing");this.updateOption("cursor")};return w}();X.version="v1.10.16 GA";window.CanvasJS&&(X&&(!window.CanvasJS.StockChart&&window.CanvasJS.Chart)&&(window.CanvasJS.StockChart=X),X&&!window.CanvasJS.Chart&&(window.CanvasJS.Chart=Ja,window.CanvasJS.StockChart=X))})();
1178
1178
 
1179
1179
  /*
1180
1180
  excanvas is used to support IE678 which do not implement HTML5 Canvas Element. You can safely remove the following excanvas code if you don't need to support older browsers.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@canvasjs/stockcharts",
3
- "version": "1.10.15",
3
+ "version": "1.10.16",
4
4
  "description": "CanvasJS JavaScript StockCharts - Official",
5
5
  "main": "canvasjs.stock.min.js",
6
6
  "keywords": [