/* Highstock JS v9.0.1 (2021-02-15) All technical indicators for Highstock (c) 2010-2021 Pawel Fus License: www.highcharts.com/license */ (function(d){"object"===typeof module&&module.exports?(d["default"]=d,module.exports=d):"function"===typeof define&&define.amd?define("highcharts/indicators/indicators-all",["highcharts","highcharts/modules/stock"],function(t){d(t);d.Highcharts=t;return d}):d("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(d){function t(d,f,g,h){d.hasOwnProperty(f)||(d[f]=h.apply(null,g))}d=d?d._modules:{};t(d,"Mixins/IndicatorRequired.js",[d["Core/Utilities.js"]],function(d){var f=d.error;return{isParentLoaded:function(g, d,m,n,q){if(g)return n?n(g):!0;f(q||this.generateMessage(m,d));return!1},generateMessage:function(f,d){return'Error: "'+f+'" indicator type requires "'+d+'" indicator loaded before. Please read docs: https://api.highcharts.com/highstock/plotOptions.'+f}}});t(d,"Stock/Indicators/SMA/SMAComposition.js",[d["Core/Series/SeriesRegistry.js"],d["Core/Utilities.js"]],function(d,f){var g=d.series,h=d.seriesTypes.ohlc.prototype;d=f.addEvent;var m=f.extend;d(g,"init",function(f){f=f.options;f.useOhlcData&&"highcharts-navigator-series"!== f.id&&m(this,{pointValKey:h.pointValKey,keys:h.keys,pointArrayMap:h.pointArrayMap,toYData:h.toYData})});d(g,"afterSetOptions",function(f){f=f.options;var g=f.dataGrouping;g&&f.useOhlcData&&"highcharts-navigator-series"!==f.id&&(g.approximation="ohlc")})});t(d,"Stock/Indicators/SMA/SMAIndicator.js",[d["Mixins/IndicatorRequired.js"],d["Core/Series/SeriesRegistry.js"],d["Core/Utilities.js"]],function(d,f,g){var h=this&&this.__extends||function(){var a=function(c,k){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,c){a.__proto__=c}||function(a,c){for(var k in c)c.hasOwnProperty(k)&&(a[k]=c[k])};return a(c,k)};return function(c,k){function b(){this.constructor=c}a(c,k);c.prototype=null===k?Object.create(k):(b.prototype=k.prototype,new b)}}(),m=f.seriesTypes.line,n=g.addEvent,q=g.error,l=g.extend,e=g.isArray,b=g.merge,a=g.pick,c=g.splat,k=d.generateMessage;d=function(y){function v(){var a=null!==y&&y.apply(this,arguments)||this;a.data=void 0;a.dataEventsToUnbind=void 0;a.linkedParent=void 0; a.options=void 0;a.points=void 0;return a}h(v,y);v.prototype.destroy=function(){this.dataEventsToUnbind.forEach(function(a){a()});y.prototype.destroy.apply(this,arguments)};v.prototype.getName=function(){var c=this.name,k=[];c||((this.nameComponents||[]).forEach(function(c,b){k.push(this.options.params[c]+a(this.nameSuffixes[b],""))},this),c=(this.nameBase||this.type.toUpperCase())+(this.nameComponents?" ("+k.join(", ")+")":""));return c};v.prototype.getValues=function(a,c){var k=c.period,b=a.xData; a=a.yData;var y=a.length,v=0,A=0,l=[],f=[],g=[],J=-1;if(!(b.lengthJ?a[v]:a[v][J],v++;for(c=v;cJ?a[c]:a[c][J];var d=[b[c],A/k];l.push(d);f.push(d[0]);g.push(d[1]);A-=0>J?a[c-v]:a[c-v][J]}return{values:l,xData:f,yData:g}}};v.prototype.init=function(a,b){function e(){var a=v.points||[],k=(v.xData||[]).length,b=v.getValues(v.linkedParent,v.options.params)||{values:[],xData:[],yData:[]},e=[],y=!0;if(k&&!v.hasGroupedData&&v.visible&&v.points)if(v.cropped){if(v.xAxis){var p= v.xAxis.min;var A=v.xAxis.max}k=v.cropData(b.xData,b.yData,p,A);for(p=0;pc[e-1].y?b:c[e].y=a.length)&&b(c[0])&&4===c[0].length){for(w=0;33>w;w++){var r=(c[w][1]+c[w][2])/2;29<=w&&(u=e(u+r));p=e(p+r)}for(w=33;w=c||"min"===a&&b[e]<=c)c=b[e],k=e;return k}var m=this&&this.__extends||function(){var b=function(a,c){b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(c,a){c.__proto__=a}||function(c,a){for(var k in a)a.hasOwnProperty(k)&&(c[k]=a[k])};return b(a,c)};return function(a,c){function k(){this.constructor=a}b(a,c);a.prototype=null===c?Object.create(c): (k.prototype=c.prototype,new k)}}(),n=f.seriesTypes.sma,q=g.extend,l=g.merge,e=g.pick;g=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.data=void 0;c.options=void 0;c.points=void 0;return c}m(a,b);a.prototype.getValues=function(c,a){a=a.period;var k=c.xData,b=(c=c.yData)?c.length:0,f=[],l=[],g=[],u;for(u=a-1;u\u25cf {series.name}
Aroon Up: {point.y}
Aroon Down: {point.aroonDown}
'},aroonDown:{styles:{lineWidth:1,lineColor:void 0}},dataGrouping:{approximation:"averages"}});return a}(n);q(g.prototype,{linesApiNames:["aroonDown"],nameBase:"Aroon",pointArrayMap:["y","aroonDown"], pointValKey:"y",drawGraph:d.drawGraph,getTranslatedLinesNames:d.getTranslatedLinesNames,toYData:d.toYData,translate:d.translate});f.registerSeriesType("aroon",g);"";return g});t(d,"Stock/Indicators/AroonOscillator/AroonOscillatorIndicator.js",[d["Mixins/MultipleLines.js"],d["Mixins/IndicatorRequired.js"],d["Core/Series/SeriesRegistry.js"],d["Core/Utilities.js"]],function(d,f,g,h){var m=this&&this.__extends||function(){var b=function(a,c){b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(c, a){c.__proto__=a}||function(c,a){for(var k in a)a.hasOwnProperty(k)&&(c[k]=a[k])};return b(a,c)};return function(a,c){function k(){this.constructor=a}b(a,c);a.prototype=null===c?Object.create(c):(k.prototype=c.prototype,new k)}}(),n=g.seriesTypes.aroon,q=h.extend,l=h.merge,e=g.seriesTypes.aroon;h=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.data=void 0;c.options=void 0;c.points=void 0;return c}m(a,b);a.prototype.getValues=function(c,a){var k=[],b=[],f=[];c=e.prototype.getValues.call(this, c,a);for(a=0;a\u25cf {series.name}: {point.y}'}});return a}(n);q(h.prototype,l(d,{nameBase:"Aroon Oscillator", pointArrayMap:["y"],pointValKey:"y",linesApiNames:[]}));g.registerSeriesType("aroonoscillator",h);"";return h});t(d,"Stock/Indicators/ATR/ATRIndicator.js",[d["Core/Series/SeriesRegistry.js"],d["Core/Utilities.js"]],function(d,f){function g(f,e){return Math.max(f[1]-f[2],"undefined"===typeof e?0:Math.abs(f[1]-e[3]),"undefined"===typeof e?0:Math.abs(f[2]-e[3]))}var h=this&&this.__extends||function(){var f=function(e,b){f=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,c){a.__proto__= c}||function(a,c){for(var k in c)c.hasOwnProperty(k)&&(a[k]=c[k])};return f(e,b)};return function(e,b){function a(){this.constructor=e}f(e,b);e.prototype=null===b?Object.create(b):(a.prototype=b.prototype,new a)}}(),m=d.seriesTypes.sma,n=f.isArray,q=f.merge;f=function(f){function e(){var b=null!==f&&f.apply(this,arguments)||this;b.data=void 0;b.points=void 0;b.options=void 0;return b}h(e,f);e.prototype.getValues=function(b,a){a=a.period;var c=b.xData,k=(b=b.yData)?b.length:0,e=1,v=0,f=0,l=[],d=[], u=[],p;var w=[[c[0],b[0]]];if(!(c.length<=a)&&n(b[0])&&4===b[0].length){for(p=1;p<=k;p++)if(w.push([c[p],b[p]]),a\u25cf {series.name}
Top: {point.top}
Middle: {point.middle}
Bottom: {point.bottom}
'},marker:{enabled:!1},dataGrouping:{approximation:"averages"}});return b}(m);n(g.prototype,{pointArrayMap:["top","middle","bottom"],pointValKey:"middle",nameComponents:["period","standardDeviation"],linesApiNames:["topLine","bottomLine"],drawGraph:d.drawGraph,getTranslatedLinesNames:d.getTranslatedLinesNames,translate:d.translate, toYData:d.toYData});f.registerSeriesType("bb",g);"";return g});t(d,"Stock/Indicators/CCI/CCIIndicator.js",[d["Core/Series/SeriesRegistry.js"],d["Core/Utilities.js"]],function(d,f){function g(f){return f.reduce(function(e,b){return e+b},0)}var h=this&&this.__extends||function(){var f=function(e,b){f=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,c){a.__proto__=c}||function(a,c){for(var b in c)c.hasOwnProperty(b)&&(a[b]=c[b])};return f(e,b)};return function(e,b){function a(){this.constructor= e}f(e,b);e.prototype=null===b?Object.create(b):(a.prototype=b.prototype,new a)}}(),m=d.seriesTypes.sma,n=f.isArray,q=f.merge;f=function(f){function e(){var b=null!==f&&f.apply(this,arguments)||this;b.data=void 0;b.points=void 0;b.options=void 0;return b}h(e,f);e.prototype.getValues=function(b,a){a=a.period;var c=b.xData,k=(b=b.yData)?b.length:0,e=[],v=1,f=[],l=[],d=[];if(!(c.length<=a)&&n(b[0])&&4===b[0].length){for(;v=e.params.period&&f.xData&&f.xData.length>=e.params.period&&a)};d.prototype.getValues=function(f,e){if(this.isValid())return this.getMoneyFlow(f.xData,f.yData,this.volumeSeries.yData,e.period)};d.prototype.getMoneyFlow= function(f,e,b,a){function c(a,c){var b=a[1],k=a[2];a=a[3];return null!==c&&null!==b&&null!==k&&null!==a&&b!==k?(a-k-(b-a))/(b-k)*c:(w=p,null)}var k=e.length,y=[],v=0,A=0,d=[],l=[],u=[],p,w=-1;if(0=a&&0!==v?A/v:null);for(u.push([d[0],l[0]]);p=a?A/v:null];d.push(r[0]);l.push(r[1]);u.push([r[0],r[1]])}}return{values:u,xData:d,yData:l}};d.defaultOptions= m(h.defaultOptions,{params:{period:14,volumeSeriesID:"volume"}});return d}(h);d.registerSeriesType("cmf",f);"";return f});t(d,"Stock/Indicators/DPO/DPOIndicator.js",[d["Core/Series/SeriesRegistry.js"],d["Core/Utilities.js"]],function(d,f){function g(b,a,c,k,y){a=e(a[c][k],a[c]);return y?l(b-a):l(b+a)}var h=this&&this.__extends||function(){var b=function(a,c){b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,c){a.__proto__=c}||function(a,c){for(var b in c)c.hasOwnProperty(b)&&(a[b]= c[b])};return b(a,c)};return function(a,c){function k(){this.constructor=a}b(a,c);a.prototype=null===c?Object.create(c):(k.prototype=c.prototype,new k)}}(),m=d.seriesTypes.sma,n=f.extend,q=f.merge,l=f.correctFloat,e=f.pick;f=function(b){function a(){var a=null!==b&&b.apply(this,arguments)||this;a.options=void 0;a.data=void 0;a.points=void 0;return a}h(a,b);a.prototype.getValues=function(a,b){var c=b.period;b=b.index;var k=c+Math.floor(c/2+1),f=a.xData||[];a=a.yData||[];var d=a.length,l=[],u=[],p= [],w=0,r,h;if(!(f.length<=k)){for(r=0;ra?c[e]:c[e][a],k+=f,e++;return k};e.prototype.calculateEma=function(b,a,c,k,e,f,d){b=b[c-1];a=0>f?a[c-1]:a[c-1][f];k="undefined"===typeof e?d:m(a*k+e*(1-k));return[b,k]};e.prototype.getValues=function(b,a){var c=a.period,k=b.xData,e=(b=b.yData)?b.length:0,f=2/(c+1),d=[],l=[],g=[],u=-1;if(!(ea)var e=[b[k-3],0!==c.prevLevel3?n(c.level3-c.prevLevel3)/c.prevLevel3*100:null];return e};e.defaultOptions=q(m.defaultOptions);return e}(m);f.registerSeriesType("trix",g);"";return g});t(d,"Stock/Indicators/APO/APOIndicator.js", [d["Mixins/IndicatorRequired.js"],d["Core/Series/SeriesRegistry.js"],d["Core/Utilities.js"]],function(d,f,g){var h=this&&this.__extends||function(){var e=function(b,a){e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])};return e(b,a)};return function(b,a){function c(){this.constructor=b}e(b,a);b.prototype=null===a?Object.create(a):(c.prototype=a.prototype,new c)}}(),m=f.seriesTypes.ema,n=g.extend,q=g.merge, l=g.error;g=function(e){function b(){var a=null!==e&&e.apply(this,arguments)||this;a.data=void 0;a.options=void 0;a.points=void 0;return a}h(b,e);b.prototype.getValues=function(a,c){var b=c.periods,e=c.index;c=[];var f=[],d=[],g;if(2!==b.length||b[1]<=b[0])l('Error: "APO requires two periods. Notice, first period should be lower than the second one."');else{var h=m.prototype.getValues.call(this,a,{index:e,period:b[0]});a=m.prototype.getValues.call(this,a,{index:e,period:b[1]});if(h&&a){b=b[1]-b[0]; for(g=0;g=b&&0<=f&&1>=f)return{plotX:a.plotX+f*e,plotY:a.plotY+f*c}}return!1}function b(a){var c=a.indicator;c.points=a.points;c.nextPoints=a.nextPoints;c.color=a.color;c.options=A(a.options.senkouSpan.styles,a.gap);c.graph=a.graph;c.fillGraph=!0;g.seriesTypes.sma.prototype.drawGraph.call(c)}var a=this&&this.__extends||function(){var a= function(c,b){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,c){a.__proto__=c}||function(a,c){for(var b in c)c.hasOwnProperty(b)&&(a[b]=c[b])};return a(c,b)};return function(c,b){function k(){this.constructor=c}a(c,b);c.prototype=null===b?Object.create(b):(k.prototype=b.prototype,new k)}}(),c=d.parse,k=g.seriesTypes.sma,y=h.defined;d=h.extend;var v=h.isArray,A=h.merge,J=h.objectEach;f.approximations["ichimoku-averages"]=function(){var a=[],c;[].forEach.call(arguments,function(b, k){a.push(f.approximations.average(b));c=!c&&"undefined"===typeof a[k]});return c?void 0:a};h=function(f){function d(){var a=null!==f&&f.apply(this,arguments)||this;a.data=void 0;a.options=void 0;a.points=void 0;a.graphCollection=void 0;a.graphsenkouSpan=void 0;a.ikhMap=void 0;a.nextPoints=void 0;return a}a(d,f);d.prototype.init=function(){g.seriesTypes.sma.prototype.init.apply(this,arguments);this.options=A({tenkanLine:{styles:{lineColor:this.color}},kijunLine:{styles:{lineColor:this.color}},chikouLine:{styles:{lineColor:this.color}}, senkouSpanA:{styles:{lineColor:this.color,fill:c(this.color).setOpacity(.5).get()}},senkouSpanB:{styles:{lineColor:this.color,fill:c(this.color).setOpacity(.5).get()}},senkouSpan:{styles:{fill:c(this.color).setOpacity(.2).get()}}},this.options)};d.prototype.toYData=function(a){return[a.tenkanSen,a.kijunSen,a.chikouSpan,a.senkouSpanA,a.senkouSpanB]};d.prototype.translate=function(){var a=this;g.seriesTypes.sma.prototype.translate.apply(a);a.points.forEach(function(c){a.pointArrayMap.forEach(function(b){y(c[b])&& (c["plot"+b]=a.yAxis.toPixels(c[b],!0),c.plotY=c["plot"+b],c.tooltipPos=[c.plotX,c["plot"+b]],c.isNull=!1)})})};d.prototype.drawGraph=function(){var a=this,c=a.points,k=c.length,f=a.options,d=a.graph,v=a.color,l={options:{gapSize:f.gapSize}},u=a.pointArrayMap.length,h=[[],[],[],[],[],[]],m={tenkanLine:h[0],kijunLine:h[1],chikouLine:h[2],senkouSpanA:h[3],senkouSpanB:h[4],senkouSpan:h[5]},n=[],q=a.options.senkouSpan,K=q.color||q.styles.fill,z=q.negativeColor,t=[[],[]],N=[[],[]],P=0,F,Q,M;for(a.ikhMap= m;k--;){var E=c[k];for(F=0;FF?0:1}else E=k[E].plotY>q[E].plotY?0:1;else E=k[0].plotY>q[0].plotY?0:1;t[E]=t[E].concat(k);N[E]=N[E].concat(q)}["graphsenkouSpanColor","graphsenkouSpanNegativeColor"].forEach(function(c,k){t[k].length&&N[k].length&&(Q=0===k?K:z,b({indicator:a,points:t[k],nextPoints:N[k],color:Q,options:f,gap:l,graph:a[c]}),a[c]=a.graph,a.graphCollection.push(c))})}else b({indicator:a,points:m.senkouSpanB,nextPoints:m.senkouSpanA,color:K,options:f,gap:l,graph:a.graphsenkouSpan}),a.graphsenkouSpan=a.graph;delete a.nextPoints; delete a.fillGraph;a.points=c;a.options=f;a.graph=d;a.color=v};d.prototype.getGraphPath=function(a){var c=[],b;a=a||this.points;if(this.fillGraph&&this.nextPoints){if((b=g.seriesTypes.sma.prototype.getGraphPath.call(this,this.nextPoints))&&b.length){b[0][0]="L";c=g.seriesTypes.sma.prototype.getGraphPath.call(this,a);b=b.slice(0,c.length);for(var k=b.length-1;0<=k;k--)c.push(b[k])}}else c=g.seriesTypes.sma.prototype.getGraphPath.apply(this,arguments);return c};d.prototype.getValues=function(a,c){var b= c.period,k=c.periodTenkan;c=c.periodSenkouSpanB;var e=a.xData,f=a.yData,d=f&&f.length||0;a=l(a.xAxis);var y=[],p=[],g;if(!(e.length<=b)&&v(f[0])&&4===f[0].length){var A=e[0]-b*a;for(g=0;g=k){var u=f.slice(g-k,g);u=q(u);u=(u.high+u.low)/2}if(g>=b){var h=f.slice(g-b,g);h=q(h);h=(h.high+h.low)/2;var w=(u+h)/2}if(g>=c){var m=f.slice(g-c,g);m=q(m);m=(m.high+m.low)/2}A=f[g][3];var n=e[g];"undefined"===typeof y[g]&&(y[g]=[]);"undefined"===typeof y[g+b]&&(y[g+b]= []);y[g+b][0]=u;y[g+b][1]=h;y[g+b][2]=void 0;y[g][2]=A;g<=b&&(y[g+b][3]=void 0,y[g+b][4]=void 0);"undefined"===typeof y[g+2*b]&&(y[g+2*b]=[]);y[g+2*b][3]=w;y[g+2*b][4]=m;p.push(n)}for(g=1;g<=b;g++)p.push(n+g*a);return{values:y,xData:p,yData:y}}};d.defaultOptions=A(k.defaultOptions,{params:{period:26,periodTenkan:9,periodSenkouSpanB:52},marker:{enabled:!1},tooltip:{pointFormat:'\u25cf {series.name}
TENKAN SEN: {point.tenkanSen:.3f}
KIJUN SEN: {point.kijunSen:.3f}
CHIKOU SPAN: {point.chikouSpan:.3f}
SENKOU SPAN A: {point.senkouSpanA:.3f}
SENKOU SPAN B: {point.senkouSpanB:.3f}
'}, tenkanLine:{styles:{lineWidth:1,lineColor:void 0}},kijunLine:{styles:{lineWidth:1,lineColor:void 0}},chikouLine:{styles:{lineWidth:1,lineColor:void 0}},senkouSpanA:{styles:{lineWidth:1,lineColor:void 0}},senkouSpanB:{styles:{lineWidth:1,lineColor:void 0}},senkouSpan:{styles:{fill:"rgba(255, 0, 0, 0.5)"}},dataGrouping:{approximation:"ichimoku-averages"}});return d}(k);d(h.prototype,{pointArrayMap:["tenkanSen","kijunSen","chikouSpan","senkouSpanA","senkouSpanB"],pointValKey:"tenkanSen",nameComponents:["periodSenkouSpanB", "period","periodTenkan"]});g.registerSeriesType("ikh",h);"";return h});t(d,"Stock/Indicators/KeltnerChannels/KeltnerChannelsIndicator.js",[d["Mixins/MultipleLines.js"],d["Core/Series/SeriesRegistry.js"],d["Core/Utilities.js"]],function(d,f,g){var h=this&&this.__extends||function(){var e=function(b,a){e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])};return e(b,a)};return function(b,a){function c(){this.constructor= b}e(b,a);b.prototype=null===a?Object.create(a):(c.prototype=a.prototype,new c)}}(),m=f.seriesTypes.sma,n=g.correctFloat,q=g.extend,l=g.merge;g=function(e){function b(){var a=null!==e&&e.apply(this,arguments)||this;a.data=void 0;a.options=void 0;a.points=void 0;return a}h(b,e);b.prototype.init=function(){f.seriesTypes.sma.prototype.init.apply(this,arguments);this.options=l({topLine:{styles:{lineColor:this.color}},bottomLine:{styles:{lineColor:this.color}}},this.options)};b.prototype.getValues=function(a, c){var b=c.period,e=c.periodATR,d=c.multiplierATR,g=a.yData;g=g?g.length:0;var l=[];c=f.seriesTypes.ema.prototype.getValues(a,{period:b,index:c.index});var h=f.seriesTypes.atr.prototype.getValues(a,{period:e}),u=[],p=[],w;if(!(g\u25cf {series.name}
Upper Channel: {point.top}
EMA({series.options.params.period}): {point.middle}
Lower Channel: {point.bottom}
'},marker:{enabled:!1},dataGrouping:{approximation:"averages"},lineWidth:1});return b}(m);q(g.prototype,{pointArrayMap:["top","middle","bottom"],pointValKey:"middle",nameBase:"Keltner Channels", nameComponents:["period","periodATR","multiplierATR"],linesApiNames:["topLine","bottomLine"],requiredIndicators:["ema","atr"],drawGraph:d.drawGraph,getTranslatedLinesNames:d.getTranslatedLinesNames,translate:d.translate,toYData:d.toYData});f.registerSeriesType("keltnerchannels",g);"";return g});t(d,"Stock/Indicators/MACD/MACDIndicator.js",[d["Core/Globals.js"],d["Core/Series/SeriesRegistry.js"],d["Core/Utilities.js"]],function(d,f,g){var h=this&&this.__extends||function(){var a=function(c,b){a=Object.setPrototypeOf|| {__proto__:[]}instanceof Array&&function(a,c){a.__proto__=c}||function(a,c){for(var b in c)c.hasOwnProperty(b)&&(a[b]=c[b])};return a(c,b)};return function(c,b){function k(){this.constructor=c}a(c,b);c.prototype=null===b?Object.create(b):(k.prototype=b.prototype,new k)}}(),m=d.noop,n=f.seriesTypes.sma,q=g.extend,l=g.correctFloat,e=g.defined,b=g.merge;g=function(a){function c(){var c=null!==a&&a.apply(this,arguments)||this;c.data=void 0;c.options=void 0;c.points=void 0;c.currentLineZone=void 0;c.graphmacd= void 0;c.graphsignal=void 0;c.macdZones=void 0;c.signalZones=void 0;return c}h(c,a);c.prototype.init=function(){f.seriesTypes.sma.prototype.init.apply(this,arguments);this.options&&(this.options=b({signalLine:{styles:{lineColor:this.color}},macdLine:{styles:{color:this.color}}},this.options),this.macdZones={zones:this.options.macdLine.zones,startIndex:0},this.signalZones={zones:this.macdZones.zones.concat(this.options.signalLine.zones),startIndex:this.macdZones.zones.length},this.resetZones=!0)}; c.prototype.toYData=function(a){return[a.y,a.signal,a.MACD]};c.prototype.translate=function(){var a=this,c=["plotSignal","plotMACD"];d.seriesTypes.column.prototype.translate.apply(a);a.points.forEach(function(b){[b.signal,b.MACD].forEach(function(k,e){null!==k&&(b[c[e]]=a.yAxis.toPixels(k,!0))})})};c.prototype.destroy=function(){this.graph=null;this.graphmacd=this.graphmacd&&this.graphmacd.destroy();this.graphsignal=this.graphsignal&&this.graphsignal.destroy();f.seriesTypes.sma.prototype.destroy.apply(this, arguments)};c.prototype.drawGraph=function(){for(var a=this,c=a.points,d=c.length,g=a.options,l=a.zones,h={options:{gapSize:g.gapSize}},u=[[],[]],p;d--;)p=c[d],e(p.plotMACD)&&u[0].push({plotX:p.plotX,plotY:p.plotMACD,isNull:!e(p.plotMACD)}),e(p.plotSignal)&&u[1].push({plotX:p.plotX,plotY:p.plotSignal,isNull:!e(p.plotMACD)});["macd","signal"].forEach(function(c,e){a.points=u[e];a.options=b(g[c+"Line"].styles,h);a.graph=a["graph"+c];a.currentLineZone=c+"Zones";a.zones=a[a.currentLineZone].zones;f.seriesTypes.sma.prototype.drawGraph.call(a); a["graph"+c]=a.graph});a.points=c;a.options=g;a.zones=l;a.currentLineZone=null};c.prototype.getZonesGraphs=function(c){var b=a.prototype.getZonesGraphs.call(this,c),e=b;this.currentLineZone&&(e=b.splice(this[this.currentLineZone].startIndex+1),e.length?e.splice(0,0,c[0]):e=[c[0]]);return e};c.prototype.applyZones=function(){var a=this.zones;this.zones=this.signalZones.zones;f.seriesTypes.sma.prototype.applyZones.call(this);this.graphmacd&&this.options.macdLine.zones.length&&this.graphmacd.hide(); this.zones=a};c.prototype.getValues=function(a,c){var b=0,k=[],d=[],g=[];if(!(a.xData.length=c[0][0]&&(k[a][2]=c[b][1],g[a]=[0,c[b][1],k[a][3]],null===k[a][3]?(k[a][1]=0,g[a][0]=0):(k[a][1]=l(k[a][3]-c[b][1]),g[a][0]=l(k[a][3]-c[b][1])),b++);return{values:k,xData:d,yData:g}}};c.defaultOptions=b(n.defaultOptions,{params:{shortPeriod:12,longPeriod:26,signalPeriod:9,period:26},signalLine:{zones:[],styles:{lineWidth:1,lineColor:void 0}}, macdLine:{zones:[],styles:{lineWidth:1,lineColor:void 0}},threshold:0,groupPadding:.1,pointPadding:.1,crisp:!1,states:{hover:{halo:{size:0}}},tooltip:{pointFormat:'\u25cf {series.name}
Value: {point.MACD}
Signal: {point.signal}
Histogram: {point.y}
'},dataGrouping:{approximation:"averages"},minPointLength:0});return c}(n);q(g.prototype,{nameComponents:["longPeriod","shortPeriod","signalPeriod"],requiredIndicators:["ema"],pointArrayMap:["y", "signal","MACD"],parallelArrays:["x","y","signal","MACD"],pointValKey:"y",markerAttribs:m,getColumnMetrics:d.seriesTypes.column.prototype.getColumnMetrics,crispCol:d.seriesTypes.column.prototype.crispCol,drawPoints:d.seriesTypes.column.prototype.drawPoints});f.registerSeriesType("macd",g);"";return g});t(d,"Stock/Indicators/MFI/MFIIndicator.js",[d["Core/Series/SeriesRegistry.js"],d["Core/Utilities.js"]],function(d,f){function g(a){return a.reduce(function(a,b){return a+b})}function h(a){return(a[1]+ a[2]+a[3])/3}var m=this&&this.__extends||function(){var a=function(c,b){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,c){a.__proto__=c}||function(a,c){for(var b in c)c.hasOwnProperty(b)&&(a[b]=c[b])};return a(c,b)};return function(c,b){function e(){this.constructor=c}a(c,b);c.prototype=null===b?Object.create(b):(e.prototype=b.prototype,new e)}}(),n=d.seriesTypes.sma,q=f.extend,l=f.merge,e=f.error,b=f.isArray;f=function(a){function c(){var c=null!==a&&a.apply(this,arguments)|| this;c.data=void 0;c.options=void 0;c.points=void 0;return c}m(c,a);c.prototype.getValues=function(a,c){var k=c.period,f=a.xData,d=a.yData,l=d?d.length:0,y=c.decimals,p=1,w=a.chart.get(c.volumeSeriesID),r=w&&w.yData,m=[],q=[],n=[],x=[],z=[];if(!w)e("Series "+c.volumeSeriesID+" not found! Check `volumeSeriesID`.",!0,a.chart);else if(!(f.length<=k)&&b(d[0])&&4===d[0].length&&r){for(a=h(d[p]);p=c,w=a*r[p],x.push(c?w:0),z.push(c?0:w),p++;for(k=p-1;kp-1&&(x.shift(),z.shift(), c=a,a=h(d[k]),c=a>c,w=a*r[k],x.push(c?w:0),z.push(c?0:w)),c=g(z),w=g(x),c=w/c,c=parseFloat((100-100/(1+c)).toFixed(y)),m.push([f[k],c]),q.push(f[k]),n.push(c);return{values:m,xData:q,yData:n}}};c.defaultOptions=l(n.defaultOptions,{params:{period:14,volumeSeriesID:"volume",decimals:4}});return c}(n);q(f.prototype,{nameBase:"Money Flow Index"});d.registerSeriesType("mfi",f);"";return f});t(d,"Stock/Indicators/Momentum/MomentumIndicator.js",[d["Core/Series/SeriesRegistry.js"],d["Core/Utilities.js"]], function(d,f){function g(e,b,a,c,k){a=a[c-1][3]-a[c-k-1][3];b=b[c-1];e.shift();return[b,a]}var h=this&&this.__extends||function(){var e=function(b,a){e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])};return e(b,a)};return function(b,a){function c(){this.constructor=b}e(b,a);b.prototype=null===a?Object.create(a):(c.prototype=a.prototype,new c)}}(),m=d.seriesTypes.sma,n=f.extend,q=f.isArray,l=f.merge; f=function(e){function b(){var a=null!==e&&e.apply(this,arguments)||this;a.data=void 0;a.options=void 0;a.points=void 0;return a}h(b,e);b.prototype.getValues=function(a,c){c=c.period;var b=a.xData,e=(a=a.yData)?a.length:0,f=b[0],d=[],l=[],h=[];if(!(b.length<=c)&&q(a[0])){var u=a[0][3];u=[[f,u]];for(f=c+1;f\u25cf {series.name}
Top: {point.top}
Middle: {point.middle}
Bottom: {point.bottom}
'},params:{period:20,topBand:.1,bottomBand:.1},bottomLine:{styles:{lineWidth:1,lineColor:void 0}},topLine:{styles:{lineWidth:1}},dataGrouping:{approximation:"averages"}});return e}(h);m(f.prototype,{nameComponents:["period","topBand","bottomBand"], nameBase:"Price envelopes",pointArrayMap:["top","middle","bottom"],parallelArrays:["x","y","top","bottom"],pointValKey:"middle"});d.registerSeriesType("priceenvelopes",f);"";return f});t(d,"Stock/Indicators/PSAR/PSARIndicator.js",[d["Core/Series/SeriesRegistry.js"],d["Core/Utilities.js"]],function(d,f){var g=this&&this.__extends||function(){var f=function(d,e){f=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,a){b.__proto__=a}||function(b,a){for(var c in a)a.hasOwnProperty(c)&&(b[c]= a[c])};return f(d,e)};return function(d,e){function b(){this.constructor=d}f(d,e);d.prototype=null===e?Object.create(e):(b.prototype=e.prototype,new b)}}(),h=d.seriesTypes.sma,m=f.merge;f=f.extend;var n=function(f){function d(){var e=null!==f&&f.apply(this,arguments)||this;e.data=void 0;e.points=void 0;e.options=void 0;return e}g(d,f);d.prototype.getValues=function(e,b){var a=e.xData;e=e.yData;var c=e[0][1],f=b.maxAccelerationFactor,d=b.increment,g=b.initialAccelerationFactor,l=e[0][2],h=b.decimals, m=b.index,u=[],p=[],w=[],r=1,q;if(!(m>=e.length)){for(q=0;ql?1:-1;b=b.initialAccelerationFactor;var B=b*(c-l);u.push([a[m],l]);p.push(a[m]);w.push(parseFloat(l.toFixed(h)));for(q=m+1;qMath.max(z, C)?l+B:Math.max(z,C):c,m=1===n?D>c?D:c:tl||-1===r&&D>l?1:-1,r=D,B=m,t=d,x=f,C=g,b=r===n?1===r&&B>c?b===x?x:parseFloat((b+t).toFixed(2)):-1===r&&Bh?(u=b[a-c])?(b[a]-u)/u*100:null:(u=b[a-c][h])?(b[a][h]- u)/u*100:null;u=[e[a],u];d.push(u);g.push(u[0]);l.push(u[1])}return{values:d,xData:g,yData:l}}};e.defaultOptions=n(h.defaultOptions,{params:{index:3,period:9}});return e}(h);f(q.prototype,{nameBase:"Rate of Change"});d.registerSeriesType("roc",q);"";return q});t(d,"Stock/Indicators/RSI/RSIIndicator.js",[d["Core/Series/SeriesRegistry.js"],d["Core/Utilities.js"]],function(d,f){var g=this&&this.__extends||function(){var f=function(d,e){f=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b, a){b.__proto__=a}||function(b,a){for(var c in a)a.hasOwnProperty(c)&&(b[c]=a[c])};return f(d,e)};return function(d,e){function b(){this.constructor=d}f(d,e);d.prototype=null===e?Object.create(e):(b.prototype=e.prototype,new b)}}(),h=d.seriesTypes.sma,m=f.isArray,n=f.merge;f=function(f){function d(){var e=null!==f&&f.apply(this,arguments)||this;e.data=void 0;e.points=void 0;e.options=void 0;return e}g(d,f);d.prototype.getValues=function(e,b){var a=b.period,c=e.xData,f=(e=e.yData)?e.length:0;b=b.decimals; var d=1,g=[],l=[],h=[],q=0,u=0,p;if(!(c.length=c-1+(b-1)&&(p=g.seriesTypes.sma.prototype.getValues.call(this,{xData:h.slice(-b),yData:m.slice(-b)},{period:b}),p=p.yData[0]); k.push([e[w],r,p]);m[m.length-1][1]=p}return{values:k,xData:h,yData:m}}};a.defaultOptions=e(n.defaultOptions,{params:{periods:[14,3]},marker:{enabled:!1},tooltip:{pointFormat:'\u25cf {series.name}
%K: {point.y}
%D: {point.smoothed}
'},smoothedLine:{styles:{lineWidth:1,lineColor:void 0}},dataGrouping:{approximation:"averages"}});return a}(n);q(h.prototype,{nameComponents:["periods"],nameBase:"Stochastic",pointArrayMap:["y","smoothed"],parallelArrays:["x", "y","smoothed"],pointValKey:"y",linesApiNames:["smoothedLine"],drawGraph:d.drawGraph,getTranslatedLinesNames:d.getTranslatedLinesNames,translate:d.translate,toYData:d.toYData});g.registerSeriesType("stochastic",h);"";return h});t(d,"Stock/Indicators/SlowStochastic/SlowStochasticIndicator.js",[d["Mixins/IndicatorRequired.js"],d["Core/Series/SeriesRegistry.js"],d["Core/Utilities.js"]],function(d,f,g){var h=this&&this.__extends||function(){var e=function(b,a){e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])};return e(b,a)};return function(b,a){function c(){this.constructor=b}e(b,a);b.prototype=null===a?Object.create(a):(c.prototype=a.prototype,new c)}}(),m=f.seriesTypes.stochastic,n=f.seriesTypes,q=g.extend,l=g.merge;g=function(e){function b(){var a=null!==e&&e.apply(this,arguments)||this;a.data=void 0;a.options=void 0;a.points=void 0;return a}h(b,e);b.prototype.init=function(){var a=arguments,b=this;d.isParentLoaded(n.stochastic, "stochastic",b.type,function(c){c.prototype.init.apply(b,a)})};b.prototype.getValues=function(a,b){var c=b.periods,e=n.stochastic.prototype.getValues.call(this,a,b);a={values:[],xData:[],yData:[]};b=0;if(e){a.xData=e.xData.slice(c[1]-1);e=e.yData.slice(c[1]-1);var f=n.sma.prototype.getValues.call(this,{xData:a.xData,yData:e},{index:1,period:c[2]});if(f){for(var d=a.xData.length;b=t.close&&C.y>=D.close?(x.color=H||e.fallingTrendColor||e.color,n.top.push(I)):x.y=t.close&&C.y=D.close&&(x.color=H||e.risingTrendColor||e.color,C.color=H||e.fallingTrendColor||e.color,n.bottom.push(I),n.bottom.push(a(z,{isNull:!0}))))):t&&(x.y>=t.close?(x.color=H||e.fallingTrendColor||e.color,n.top.push(I)):(x.color=H||e.risingTrendColor||e.color,n.bottom.push(I)));c(n,function(c,e){b.points=c;b.options=a(y[e].styles,q);b.graph=b["graph"+e+"Line"];l.prototype.drawGraph.call(b);b["graph"+e+"Line"]=b.graph});b.points=g;b.options=e;b.graph=k};g.prototype.getValues=function(a, c){var f=c.period;c=c.multiplier;var d=a.xData,g=a.yData,k=[],h=[],l=[],m=0===f?0:f-1,n=[],v=[],x;if(!(d.length<=f||!b(g[0])||4!==g[0].length||0>f)){a=q.prototype.getValues.call(this,a,{period:f}).yData;for(x=0;xt?f:t;v[x]=H>z||A[3]n[x]||G===z&&y[3]>v[x])I= v[x];k.push([d[m+x],I]);h.push(d[m+x]);l.push(I)}return{values:k,xData:h,yData:l}}};g.defaultOptions=a(l.defaultOptions,{params:{multiplier:3,period:10},risingTrendColor:d.indicatorPositiveLine,fallingTrendColor:d.indicatorNegativeLine,changeTrendLine:{styles:{lineWidth:1,lineColor:d.neutralColor80,dashStyle:"LongDash"}}});return g}(l);n(g.prototype,{nameBase:"Supertrend",nameComponents:["multiplier","period"],requiredIndicators:["atr"]});f.registerSeriesType("supertrend",g);"";return g});t(d,"Stock/Indicators/VBP/VBPIndicator.js", [d["Core/Animation/AnimationUtilities.js"],d["Core/Globals.js"],d["Core/Series/SeriesRegistry.js"],d["Core/Utilities.js"]],function(d,f,g,h){var m=this&&this.__extends||function(){var a=function(b,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])};return a(b,c)};return function(b,c){function e(){this.constructor=b}a(b,c);b.prototype=null===c?Object.create(c):(e.prototype=c.prototype,new e)}}(),n= d.animObject;d=f.noop;var q=g.seriesTypes.sma,l=h.addEvent,e=h.arrayMax,b=h.arrayMin,a=h.correctFloat,c=h.error,k=h.extend,y=h.isArray,v=h.merge,A=Math.abs,t=g.seriesTypes.column.prototype;h=function(d){function g(){var a=null!==d&&d.apply(this,arguments)||this;a.data=void 0;a.negWidths=void 0;a.options=void 0;a.points=void 0;a.posWidths=void 0;a.priceZones=void 0;a.rangeStep=void 0;a.volumeDataArray=void 0;a.zoneStarts=void 0;a.zoneLinesSVG=void 0;return a}m(g,d);g.prototype.init=function(a){f.seriesTypes.sma.prototype.init.apply(this, arguments);var b=this.options.params;var c=this.linkedParent;b=a.get(b.volumeSeriesID);this.addCustomEvents(c,b);return this};g.prototype.addCustomEvents=function(a,b){function c(){e.chart.redraw();e.setData([]);e.zoneStarts=[];e.zoneLinesSVG&&(e.zoneLinesSVG.destroy(),delete e.zoneLinesSVG)}var e=this;e.dataEventsToUnbind.push(l(a,"remove",function(){c()}));b&&e.dataEventsToUnbind.push(l(b,"remove",function(){c()}));return e};g.prototype.animate=function(a){var b=this,c=b.chart.inverted,e=b.group, f={};!a&&e&&(a=c?"translateY":"translateX",c=c?b.yAxis.top:b.xAxis.left,e["forceAnimate:"+a]=!0,f[a]=c,e.animate(f,k(n(b.options.animation),{step:function(a,c){b.group.attr({scaleX:Math.max(.001,c.pos)})}})))};g.prototype.drawPoints=function(){this.options.volumeDivision.enabled&&(this.posNegVolume(!0,!0),t.drawPoints.apply(this,arguments),this.posNegVolume(!1,!1));t.drawPoints.apply(this,arguments)};g.prototype.posNegVolume=function(a,b){var c=b?["positive","negative"]:["negative","positive"],e= this.options.volumeDivision,f=this.points.length,d=[],g=[],k=0,h;a?(this.posWidths=d,this.negWidths=g):(d=this.posWidths,g=this.negWidths);for(;kc.pointPadding?c.pointPadding:.1;c=b.volumeDataArray;var y=e(c);var z=f.plotWidth/2;var J=f.plotTop;var K=A(d.toPixels(g)-d.toPixels(g+b.rangeStep));var F=A(d.toPixels(g)-d.toPixels(g+b.rangeStep));v&&(g=A(K*(1-2*v)),h=A((K-g)/2),K=A(g));u.forEach(function(c,e){q= c.barX=c.plotX=0;n=c.plotY=d.toPixels(l[e].start)-J-(d.reversed?K-F:K)-h;m=a(z*l[e].wholeVolumeData/y);c.pointWidth=m;c.shapeArgs=b.crispCol.apply(b,[q,n,m,K]);c.volumeNeg=l[e].negativeVolumeData;c.volumePos=l[e].positiveVolumeData;c.volumeAll=l[e].wholeVolumeData});k.enabled&&b.drawZones(f,d,b.zoneStarts,k.styles)}};g.prototype.getValues=function(a,b){var e=a.processedXData,f=a.processedYData,d=this.chart,g=b.ranges,k=[],l=[],h=[],m;if(a.chart)if(m=d.get(b.volumeSeriesID))if((b=y(f[0]))&&4!==f[0].length)c("Type of "+ a.name+" series is different than line, OHLC or candlestick.",!0,d);else return(this.priceZones=this.specifyZones(b,e,f,g,m)).forEach(function(a,b){k.push([a.x,a.end]);l.push(k[b][0]);h.push(k[b][1])}),{values:k,xData:l,yData:h};else c("Series "+b.volumeSeriesID+" not found! Check `volumeSeriesID`.",!0,d);else c("Base series not found! In case it has been removed, add a new one.",!0,d)};g.prototype.specifyZones=function(c,f,d,g,k){if(c){var l=d.length;for(var h=d[0][3],m=h,p=1,q;pm&&(m=q);l={min:h,max:m}}else l=!1;l=(h=l)?h.min:b(d);q=h?h.max:e(d);h=this.zoneStarts=[];m=[];var n=0;p=1;if(!l||!q)return this.points.length&&(this.setData([]),this.zoneStarts=[],this.zoneLinesSVG.destroy()),[];var r=this.rangeStep=a(q-l)/g;for(h.push(l);n=b.end&&b.index===l&&(q=!0),(n>b.start||p)&&(nn?b.negativeVolumeData+=k[r]:b.positiveVolumeData+=k[r]);d.volumeDataArray.push(b.wholeVolumeData)}); return b};g.prototype.drawZones=function(a,b,c,e){var f=a.renderer,d=this.zoneLinesSVG,g=[],k=a.plotWidth,h=a.plotTop,l;c.forEach(function(c){l=b.toPixels(c)-h;g=g.concat(a.renderer.crispLine([["M",0,l],["L",k,l]],e.lineWidth))});d?d.animate({d:g}):d=this.zoneLinesSVG=f.path(g).attr({"stroke-width":e.lineWidth,stroke:e.color,dashstyle:e.dashStyle,zIndex:this.group.zIndex+.1}).add(this.group)};g.defaultOptions=v(q.defaultOptions,{params:{ranges:12,volumeSeriesID:"volume"},zoneLines:{enabled:!0,styles:{color:"#0A9AC9", dashStyle:"LongDash",lineWidth:1}},volumeDivision:{enabled:!0,styles:{positiveColor:"rgba(144, 237, 125, 0.8)",negativeColor:"rgba(244, 91, 91, 0.8)"}},animationLimit:1E3,enableMouseTracking:!1,pointPadding:0,zIndex:-1,crisp:!0,dataGrouping:{enabled:!1},dataLabels:{allowOverlap:!0,enabled:!0,format:"P: {point.volumePos:.2f} | N: {point.volumeNeg:.2f}",padding:0,style:{fontSize:"7px"},verticalAlign:"top"}});return g}(q);k(h.prototype,{nameBase:"Volume by Price",bindTo:{series:!1,eventName:"afterSetExtremes"}, calculateOn:"render",markerAttribs:d,drawGraph:d,getColumnMetrics:t.getColumnMetrics,crispCol:t.crispCol});g.registerSeriesType("vbp",h);"";return h});t(d,"Stock/Indicators/VWAP/VWAPIndicator.js",[d["Core/Series/SeriesRegistry.js"],d["Core/Utilities.js"]],function(d,f){var g=this&&this.__extends||function(){var f=function(e,b){f=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])};return f(e,b)};return function(e, b){function a(){this.constructor=e}f(e,b);e.prototype=null===b?Object.create(b):(a.prototype=b.prototype,new a)}}(),h=d.seriesTypes.sma,m=f.error,n=f.isArray,q=f.merge;f=function(f){function e(){var b=null!==f&&f.apply(this,arguments)||this;b.data=void 0;b.points=void 0;b.options=void 0;return b}g(e,f);e.prototype.getValues=function(b,a){var c=b.chart,e=b.xData;b=b.yData;var f=a.period,d=!0,g;if(g=c.get(a.volumeSeriesID))return n(b[0])||(d=!1),this.calculateVWAPValues(d,e,b,g,f);m("Series "+a.volumeSeriesID+ " not found! Check `volumeSeriesID`.",!0,c)};e.prototype.calculateVWAPValues=function(b,a,c,e,f){var d=e.yData,g=e.xData.length,k=a.length;e=[];var h=[],l=[],m=[],q=[],n;g=k<=g?k:g;for(n=k=0;kr?a[d]:a[d][r]]),d++;for(c=d;cr?a[c]:a[c][r]]);d=h(b,e,a,c);m.push(d);p.push(d[0]);n.push(d[1]);return{values:m,xData:p,yData:n}}};b.defaultOptions=l(n.defaultOptions, {params:{index:3,period:9}});return b}(n);d.registerSeriesType("wma",f);"";return f});t(d,"Stock/Indicators/Zigzag/ZigzagIndicator.js",[d["Core/Series/SeriesRegistry.js"],d["Core/Utilities.js"]],function(d,f){var g=this&&this.__extends||function(){var d=function(f,e){d=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,a){b.__proto__=a}||function(b,a){for(var c in a)a.hasOwnProperty(c)&&(b[c]=a[c])};return d(f,e)};return function(f,e){function b(){this.constructor=f}d(f,e);f.prototype= null===e?Object.create(e):(b.prototype=e.prototype,new b)}}(),h=d.seriesTypes.sma,m=f.merge;f=f.extend;var n=function(d){function f(){var e=null!==d&&d.apply(this,arguments)||this;e.data=void 0;e.points=void 0;e.options=void 0;return e}g(f,d);f.prototype.getValues=function(e,b){var a=b.lowIndex,c=b.highIndex,d=b.deviation/100;b=1+d;var f=1-d;d=e.xData;var g=e.yData;e=g?g.length:0;var h=[],l=[],m=[],n,p,q=!1,r=!1;if(!(!d||1>=d.length||e&&("undefined"===typeof g[0][a]||"undefined"===typeof g[0][c]))){var t= g[0][a];var z=g[0][c];for(n=1;n=t*b&&(h.push([d[0],t]),B=[d[n],g[n][c]],p=!1,q=!0);if(q){l.push(h[0][0]);m.push(h[0][1]);var x=n++;n=e}}for(n=x;n=B[1]*b&&(r=c)):(g[n][c]>=B[1]&&(B=[d[n],g[n][c]]),g[n][a]<=B[1]*f&&(r=a)),!1!==r&&(h.push(B),l.push(B[0]),m.push(B[1]),B=[d[n],g[n][r]],p=!p,r=!1);a=h.length;0!==a&&h[a-1][0]\u25cf{series.name}: {point.y}\u00b0
'}}); return e}(h.linearRegression);n(f.prototype,{nameBase:"Linear Regression Angle Indicator"});d.registerSeriesType("linearRegressionAngle",f);"";return f});t(d,"Stock/Indicators/ABands/ABandsIndicator.js",[d["Mixins/MultipleLines.js"],d["Core/Series/SeriesRegistry.js"],d["Core/Utilities.js"]],function(d,f,g){var h=this&&this.__extends||function(){var e=function(b,a){e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&& (a[c]=b[c])};return e(b,a)};return function(b,a){function c(){this.constructor=b}e(b,a);b.prototype=null===a?Object.create(a):(c.prototype=a.prototype,new c)}}(),m=f.seriesTypes.sma,n=g.correctFloat,q=g.extend,l=g.merge;g=function(e){function b(){var a=null!==e&&e.apply(this,arguments)||this;a.data=void 0;a.options=void 0;a.points=void 0;return a}h(b,e);b.prototype.getValues=function(a,b){var c=b.period,d=b.factor;b=b.index;var f=a.xData,g=(a=a.yData)?a.length:0,h=[],l=[],m=[],p=[],q=[],r;if(!(g< c)){for(r=0;r<=g;r++){if(r=c){t=f.slice(r-c,r);var x=a.slice(r-c,r);B=e.prototype.getValues.call(this,{xData:t,yData:h.slice(r-c,r)},{period:c});z=e.prototype.getValues.call(this,{xData:t,yData:l.slice(r-c,r)},{period:c});x=e.prototype.getValues.call(this,{xData:t,yData:x},{period:c,index:b});t=x.xData[0];B=B.yData[0];z=z.yData[0];x=x.yData[0];m.push([t,B,x,z]);p.push(t);q.push([B, x,z])}}return{values:m,xData:p,yData:q}}};b.defaultOptions=l(m.defaultOptions,{params:{period:20,factor:.001,index:3},lineWidth:1,topLine:{styles:{lineWidth:1}},bottomLine:{styles:{lineWidth:1}},dataGrouping:{approximation:"averages"}});return b}(m);q(g.prototype,{drawGraph:d.drawGraph,getTranslatedLinesNames:d.getTranslatedLinesNames,linesApiNames:["topLine","bottomLine"],nameBase:"Acceleration Bands",nameComponents:["period","factor"],pointArrayMap:["top","middle","bottom"],pointValKey:"middle", toYData:d.toYData,translate:d.translate});f.registerSeriesType("abands",g);"";return g});t(d,"Stock/Indicators/TrendLine/TrendLineIndicator.js",[d["Core/Series/SeriesRegistry.js"],d["Core/Utilities.js"]],function(d,f){var g=this&&this.__extends||function(){var d=function(e,b){d=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])};return d(e,b)};return function(e,b){function a(){this.constructor=e}d(e,b); e.prototype=null===b?Object.create(b):(a.prototype=b.prototype,new a)}}(),h=d.seriesTypes.sma,m=f.extend,n=f.merge,q=f.isArray;f=function(d){function e(){var b=null!==d&&d.apply(this,arguments)||this;b.data=void 0;b.options=void 0;b.points=void 0;return b}g(e,d);e.prototype.getValues=function(b,a){var c=b.xData,d=b.yData;b=[];var e=[],f=[],g=0,h=0,l=0,m=0,n=c.length,t=a.index;for(a=0;a