!/**
 * Highstock JS v12.5.0 (2026-01-12)
 * @module highcharts/indicators/chaikin
 * @requires highcharts
 * @requires highcharts/modules/stock
 *
 * Indicator series type for Highcharts Stock
 *
 * (c) 2010-2026 Highsoft AS
 * Author: Wojciech Chmiel
 *
 * A commercial license may be required depending on use.
 * See www.highcharts.com/license
 */function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("highcharts"),require("highcharts").SeriesRegistry):"function"==typeof define&&define.amd?define("highcharts/indicators/chaikin",[["highcharts/highcharts"],["highcharts/highcharts","SeriesRegistry"]],t):"object"==typeof exports?exports["highcharts/indicators/chaikin"]=t(require("highcharts"),require("highcharts").SeriesRegistry):e.Highcharts=t(e.Highcharts,e.Highcharts.SeriesRegistry)}(this,function(e,t){return function(){"use strict";var r,o,n={512:function(e){e.exports=t},944:function(t){t.exports=e}},i={};function a(e){var t=i[e];if(void 0!==t)return t.exports;var r=i[e]={exports:{}};return n[e](r,r.exports,a),r.exports}a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,{a:t}),t},a.d=function(e,t){for(var r in t)a.o(t,r)&&!a.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)};var s={};a.d(s,{default:function(){return j}});var u=a(944),p=a.n(u),c=a(512),h=a.n(c),l=(r=function(e,t){return(r=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function o(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),f=h().seriesTypes.sma,d=p().error,y=p().extend,g=p().merge,v=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return l(t,e),t.populateAverage=function(e,t,r,o,n){var i=t[o][1],a=t[o][2],s=t[o][3],u=r[o],p=s===i&&s===a||i===a?0:(2*s-a-i)/(i-a)*u;return[e[o],p]},t.prototype.getValues=function(e,r){var o,n,i,a=r.period,s=e.xData,u=e.yData,p=r.volumeSeriesID,c=e.chart.get(p),h=null==c?void 0:c.getColumn("y"),l=u?u.length:0,f=[],y=[],g=[];if(!(s.length<=a)||!l||4===u[0].length){if(!c)return void d("Series "+p+" not found! Check `volumeSeriesID`.",!0,e.chart);for(n=a;n<l;n++)o=f.length,i=t.populateAverage(s,u,h,n,a),o>0&&(i[1]+=f[o-1][1]),f.push(i),y.push(i[0]),g.push(i[1]);return{values:f,xData:y,yData:g}}},t.defaultOptions=g(f.defaultOptions,{params:{index:void 0,volumeSeriesID:"volume"}}),t}(f);y(v.prototype,{nameComponents:!1,nameBase:"Accumulation/Distribution"}),h().registerSeriesType("ad",v);var m=(o=function(e,t){return(o=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}o(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),x=h().seriesTypes.ema,D=p().correctFloat,_=p().extend,O=p().merge,S=p().error,b=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return m(t,e),t.prototype.getValues=function(t,r){var o,n,i=r.periods,a=r.period,s=[],u=[],p=[];if(2!==i.length||i[1]<=i[0])return void S('Error: "Chaikin requires two periods. Notice, first period should be lower than the second one."');var c=v.prototype.getValues.call(this,t,{volumeSeriesID:r.volumeSeriesID,period:a});if(c){var h=e.prototype.getValues.call(this,c,{period:i[0]}),l=e.prototype.getValues.call(this,c,{period:i[1]});if(h&&l){var f=i[1]-i[0];for(n=0;n<l.yData.length;n++)o=D(h.yData[n+f]-l.yData[n]),s.push([l.xData[n],o]),u.push(l.xData[n]),p.push(o);return{values:s,xData:u,yData:p}}}},t.defaultOptions=O(x.defaultOptions,{params:{index:void 0,volumeSeriesID:"volume",period:9,periods:[3,10]}}),t}(x);_(b.prototype,{nameBase:"Chaikin Osc",nameComponents:["periods"]}),h().registerSeriesType("chaikin",b);var j=p();return s.default}()});