!/**
 * Highstock JS v12.6.0 (2026-04-13)
 * @module highcharts/indicators/indicators
 * @requires highcharts
 * @requires highcharts/modules/stock
 *
 * Indicator series type for Highcharts Stock
 *
 * (c) 2010-2026 Highsoft AS
 * Author: Paweł Fus, Sebastian Bochan
 *
 * A commercial license may be required depending on use.
 * See www.highcharts.com/license
 */function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(t._Highcharts,t._Highcharts.Chart,t._Highcharts.SeriesRegistry):"function"==typeof define&&define.amd?define("highcharts/indicators/indicators",["highcharts/highcharts"],function(t){return e(t,t.Chart,t.SeriesRegistry)}):"object"==typeof exports?exports["highcharts/indicators/indicators"]=e(t._Highcharts,t._Highcharts.Chart,t._Highcharts.SeriesRegistry):t.Highcharts=e(t.Highcharts,t.Highcharts.Chart,t.Highcharts.SeriesRegistry)}("u"<typeof window?this:window,function(t,e,n){return function(){"use strict";var r,a,i,o={512:function(t){t.exports=n},944:function(e){e.exports=t},960:function(t){t.exports=e}},s={};function p(t){var e=s[t];if(void 0!==e)return e.exports;var n=s[t]={exports:{}};return o[t](n,n.exports,p),n.exports}p.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return p.d(e,{a:e}),e},p.d=function(t,e){for(var n in e)p.o(e,n)&&!p.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},p.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)};var c={};p.d(c,{default:function(){return H}});var l=p(944),u=p.n(l),h=p(960),f=p.n(h),d=p(512),y=p.n(d),v=function(t,e,n){if(n||2==arguments.length)for(var r,a=0,i=e.length;a<i;a++)!r&&a in e||(r||(r=Array.prototype.slice.call(e,0,a)),r[a]=e[a]);return t.concat(r||Array.prototype.slice.call(e))},g=u().doc;function m(t,e,n,r){void 0===r&&(r={});var a="function"==typeof t&&t.prototype||t;Object.hasOwnProperty.call(a,"hcEvents")||(a.hcEvents={});var i=a.hcEvents;u().Point&&t instanceof u().Point&&t.series&&t.series.chart&&(t.series.chart.runTrackerClick=!0);var o=t.addEventListener;o&&o.call(t,e,n,!!u().supportsPassiveEvents&&{passive:void 0===r.passive?-1!==e.indexOf("touch"):r.passive,capture:!1}),i[e]||(i[e]=[]);var s={fn:n,order:"number"==typeof r.order?r.order:1/0};return i[e].push(s),i[e].sort(function(t,e){return t.order-e.order}),function(){!function(t,e,n){function r(e,n){var r=t.removeEventListener;r&&r.call(t,e,n,!1)}function a(n){var a,i;t.nodeName&&(e?(a={})[e]=!0:a=n,b(a,function(t,e){if(n[e])for(i=n[e].length;i--;)r(e,n[e][i].fn)}))}var i="function"==typeof t&&t.prototype||t;if(Object.hasOwnProperty.call(i,"hcEvents")){var o=i.hcEvents;if(e){var s=o[e]||[];n?(o[e]=s.filter(function(t){return n!==t.fn}),r(e,n)):(a(o),o[e]=[])}else a(o),delete i.hcEvents}}(t,e,n)}}function x(t,e){var n;for(n in t||(t={}),e)t[n]=e[n];return t}function P(t){return D(t)&&"number"==typeof t.nodeType}function O(t){var e=Object.prototype.toString.call(t);return"[object Array]"===e||"[object Array Iterator]"===e}function D(t,e){return!!t&&"object"==typeof t&&(!e||!O(t))}function E(t){for(var e=[],n=1;n<arguments.length;n++)e[n-1]=arguments[n];var r,a=v([t],e,!0),i={},o=function(t,e){return"object"!=typeof t&&(t={}),b(e,function(n,r){if("__proto__"!==r&&"constructor"!==r){var a;!D(n,!0)||(a=null==n?void 0:n.constructor,D(n,!0)&&!P(n)&&(null==a?void 0:a.name)&&"Object"!==a.name)||P(n)?t[r]=e[r]:t[r]=o(t[r]||{},n)}}),t};!0===t&&(i=a[1],a=Array.prototype.slice.call(a,2));var s=a.length;for(r=0;r<s;r++)i=o(i,a[r]);return i}function b(t,e,n){for(var r in t)Object.hasOwnProperty.call(t,r)&&e.call(n||t[r],t[r],r,t)}u().win,Array.prototype.find;var A=(r=function(t,e){return(r=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(t,e)},function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),C=function(){return(C=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var a in e=arguments[n])Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t}).apply(this,arguments)},_=function(t,e,n){if(n||2==arguments.length)for(var r,a=0,i=e.length;a<i;a++)!r&&a in e||(r||(r=Array.prototype.slice.call(e,0,a)),r[a]=e[a]);return t.concat(r||Array.prototype.slice.call(e))},k=y().seriesTypes.line,w=function(t,e){var n=[],r=t.pointArrayMap,a=e&&t.dataTable.getModified()||t.dataTable;if(!r)return t.getColumn("y",e);for(var i=r.map(function(n){return t.getColumn(n,e)}),o=function(t){var e=r.map(function(e,n){var r;return(null==(r=i[n])?void 0:r[t])||0});n.push(e)},s=0;s<a.rowCount;s++)o(s);return n},T=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return A(e,t),e.prototype.destroy=function(){this.dataEventsToUnbind.forEach(function(t){t()}),t.prototype.destroy.apply(this,arguments)},e.prototype.getName=function(){var t=[],e=this.name;return e||((this.nameComponents||[]).forEach(function(e,n){t.push(this.options.params[e]+function(){for(var t=arguments,e=t.length,n=0;n<e;n++){var r=t[n];if(null!=r)return r}}(this.nameSuffixes[n],""))},this),e=(this.nameBase||this.type.toUpperCase())+(this.nameComponents?" ("+t.join(", ")+")":"")),e},e.prototype.getValues=function(t,e){var n,r,a=e.period,i=t.xData||[],o=t.yData,s=o.length,p=[],c=[],l=[],u=-1,h=0,f=0;if(!(i.length<a)){for(O(o[0])&&(u=e.index?e.index:0);h<a-1;)f+=u<0?o[h]:o[h][u],h++;for(n=h;n<s;n++)f+=u<0?o[n]:o[n][u],r=[i[n],f/a],p.push(r),c.push(r[0]),l.push(r[1]),f-=u<0?o[n-h]:o[n-h][u];return{values:p,xData:c,yData:l}}},e.prototype.init=function(e,n){var r=this;t.prototype.init.call(r,e,n);var a=m(f(),"afterLinkSeries",function(t){if(!t.isUpdating){var n=!!r.dataEventsToUnbind.length;if(!r.linkedParent)return(0,l.error)("Series "+r.options.linkedTo+" not found! Check `linkedTo`.",!1,e);if(!n&&(r.dataEventsToUnbind.push(m(r.linkedParent,"updatedData",function(){r.recalculateValues()})),r.calculateOn.xAxis&&r.dataEventsToUnbind.push(m(r.linkedParent.xAxis,r.calculateOn.xAxis,function(){r.recalculateValues()}))),"init"===r.calculateOn.chart)r.closestPointRange||r.recalculateValues();else if(!n)var a=m(r.chart,r.calculateOn.chart,function(){r.recalculateValues(),a()})}},{order:0});r.dataEventsToUnbind=[],r.eventsToUnbind.push(a)},e.prototype.recalculateValues=function(){var t,e,n,r,a,i=this,o=[],s=this.dataTable,p=this.points||[],c=this.dataTable.rowCount,l=!0,h=this.linkedParent.yData,f=this.linkedParent.processedYData;this.linkedParent.xData=this.linkedParent.getColumn("x"),this.linkedParent.yData=w(this.linkedParent),this.linkedParent.processedYData=w(this.linkedParent,!0);var d=this.linkedParent.options&&this.linkedParent.dataTable.rowCount&&this.getValues(this.linkedParent,this.options.params)||{values:[],xData:[],yData:[]};delete this.linkedParent.xData,this.linkedParent.yData=h,this.linkedParent.processedYData=f;var y=this.pointArrayMap||["y"],v={};if(d.yData.forEach(function(t){y.forEach(function(e,n){var r=v[e]||[];r.push(O(t)?t[n]:t),v[e]||(v[e]=r)})}),c&&!this.hasGroupedData&&this.visible&&this.points)if(this.cropped){this.xAxis&&(r=this.xAxis.min,a=this.xAxis.max);for(var m=this.cropData(s,r,a),P=_(["x"],this.pointArrayMap||["y"],!0),D=function(t){var e=P.map(function(e){return i.getColumn(e)[t]||0});o.push(e)},E=0;E<((null==(t=m.modified)?void 0:t.rowCount)||0);E++)D(E);var b=this.getColumn("x");e=d.xData.indexOf(b[0]),n=d.xData.indexOf(b[b.length-1]),-1===e&&n===d.xData.length-2&&o[0][0]===p[0].x&&o.shift(),this.updateData(o)}else(this.updateAllPoints||d.xData.length!==c-1&&d.xData.length!==c+1)&&(l=!1,this.updateData(d.values));l&&(s.setColumns(C(C({},v),{x:d.xData})),this.options.data=d.values),this.calculateOn.xAxis&&this.getColumn("x",!0).length&&(this.isDirty=!0,this.redraw()),this.isDirtyData=!!this.linkedSeries.length,function(t,e,n,r){if(n=n||{},(null==g?void 0:g.createEvent)&&(t.dispatchEvent||t.fireEvent&&t!==u())){var a=g.createEvent("Events");a.initEvent(e,!0,!0),n=x(a,n),t.dispatchEvent?t.dispatchEvent(n):t.fireEvent(e,n)}else if(t.hcEvents){n.target||x(n,{preventDefault:function(){n.defaultPrevented=!0},target:t,type:e});for(var i=[],o=t,s=!1;o.hcEvents;)Object.hasOwnProperty.call(o,"hcEvents")&&o.hcEvents[e]&&(i.length&&(s=!0),i.unshift.apply(i,o.hcEvents[e])),o=Object.getPrototypeOf(o);s&&i.sort(function(t,e){return t.order-e.order}),i.forEach(function(e){!1===e.fn.call(t,n,t)&&n.preventDefault()})}}(this,"updatedData")},e.prototype.processData=function(){var e=this.options.compareToMain,n=this.linkedParent;t.prototype.processData.apply(this,arguments),this.dataModify&&n&&n.dataModify&&n.dataModify.compareValue&&e&&(this.dataModify.compareValue=n.dataModify.compareValue)},e.defaultOptions=E(k.defaultOptions,{name:void 0,tooltip:{valueDecimals:4},linkedTo:void 0,compareToMain:!1,params:{index:3,period:14}}),e}(k);x(T.prototype,{calculateOn:{chart:"init"},hasDerivedData:!0,nameComponents:["period"],nameSuffixes:[],useCommonDataGrouping:!0}),y().registerSeriesType("sma",T);var j=(a=function(t,e){return(a=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),M=y().seriesTypes.sma,S=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return j(e,t),e.prototype.accumulatePeriodPoints=function(t,e,n){for(var r=0,a=0,i=0;a<t;)r+=e<0?n[a]:n[a][e],a++;return r},e.prototype.calculateEma=function(t,e,n,r,a,i,o){var s,p=t[n-1],c=i<0?e[n-1]:e[n-1][i];return[p,void 0===a?o:(s=c*r+a*(1-r))>1e14?s:parseFloat(s.toPrecision(14))]},e.prototype.getValues=function(t,e){var n,r,a,i=e.period,o=t.xData,s=t.yData,p=s?s.length:0,c=2/(i+1),l=[],u=[],h=[],f=-1,d=0;if(!(p<i)){for(O(s[0])&&(f=e.index?e.index:0),d=this.accumulatePeriodPoints(i,f,s)/i,a=i;a<p+1;a++)r=this.calculateEma(o,s,a,c,n,f,d),l.push(r),u.push(r[0]),h.push(r[1]),n=r[1];return{values:l,xData:u,yData:h}}},e.defaultOptions=E(M.defaultOptions,{params:{index:3,period:9}}),e}(M);y().registerSeriesType("ema",S);var V=y().seriesTypes.sma.prototype;!function(t){var e=["bottomLine"],n=["top","bottom"],r=["top"];function a(t){return"plot"+t.charAt(0).toUpperCase()+t.slice(1)}function i(t,e){var n=[];return(t.pointArrayMap||[]).forEach(function(t){t!==e&&n.push(a(t))}),n}function o(){var t,e=this,n=e.pointValKey,r=e.linesApiNames,o=e.areaLinesNames,s=e.points,p=e.options,c=e.graph,u={options:{gapSize:p.gapSize}},h=[],f=i(e,n),d=s.length;if(f.forEach(function(e,n){for(h[n]=[];d--;)t=s[d],h[n].push({x:t.x,plotX:t.plotX,plotY:t[e],isNull:null==t[e]});d=s.length}),e.userOptions.fillColor&&o.length){var y=h[f.indexOf(a(o[0]))],v=1===o.length?s:h[f.indexOf(a(o[1]))],g=e.color;e.points=v,e.nextPoints=y,e.color=e.userOptions.fillColor,e.options=E(s,u),e.graph=e.area,e.fillGraph=!0,V.drawGraph.call(e),e.area=e.graph,delete e.nextPoints,delete e.fillGraph,e.color=g}r.forEach(function(t,n){h[n]?(e.points=h[n],p[t]?e.options=E(p[t].styles,u):(0,l.error)('Error: "There is no '+t+' in DOCS options declared. Check if linesApiNames are consistent with your DOCS line names."'),e.graph=e["graph"+t],V.drawGraph.call(e),e["graph"+t]=e.graph):(0,l.error)('Error: "'+t+" doesn't have equivalent in pointArrayMap. To many elements in linesApiNames relative to pointArrayMap.\"")}),e.points=s,e.options=p,e.graph=c,V.drawGraph.call(e)}function s(t){var e,n=[],r=[];if(t=t||this.points,this.fillGraph&&this.nextPoints){if((e=V.getGraphPath.call(this,this.nextPoints))&&e.length){e[0][0]="L",n=V.getGraphPath.call(this,t),r=e.slice(0,n.length);for(var a=r.length-1;a>=0;a--)n.push(r[a])}}else n=V.getGraphPath.apply(this,arguments);return n}function p(t){var e=[];return(this.pointArrayMap||[]).forEach(function(n){e.push(t[n])}),e}function c(){var t,e=this,n=this.pointArrayMap,r=[];r=i(this),V.translate.apply(this,arguments),this.points.forEach(function(a){n.forEach(function(n,i){t=a[n],e.dataModify&&(t=e.dataModify.modifyValue(t)),null!==t&&(a[r[i]]=e.yAxis.toPixels(t,!0))})})}t.compose=function(t){var a=t.prototype;return a.linesApiNames=a.linesApiNames||e.slice(),a.pointArrayMap=a.pointArrayMap||n.slice(),a.pointValKey=a.pointValKey||"top",a.areaLinesNames=a.areaLinesNames||r.slice(),a.drawGraph=o,a.getGraphPath=s,a.toYData=p,a.translate=c,t}}(i||(i={}));var G=i,N=u();N.MultipleLinesComposition=N.MultipleLinesComposition||G;var H=u();return c.default}()});