@guihz/trading-vue-editor-tes 0.0.6 → 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
@@ -51,7 +51,7 @@ Example:
51
51
  * Dual licensed under the MIT or GPL Version 2 licenses.
52
52
  **/(function(i,t){(function(e){var r=2e3,n={s:1,n:0,d:1};function s(g,A){if(isNaN(g=parseInt(g,10)))throw v();return g*A}function a(g,A){if(A===0)throw D();var E=Object.create(w.prototype);E.s=g<0?-1:1,g=g<0?-g:g;var S=m(g,A);return E.n=g/S,E.d=A/S,E}function f(g){for(var A={},E=g,S=2,C=4;C<=E;){for(;E%S===0;)E/=S,A[S]=(A[S]||0)+1;C+=1+2*S++}return E!==g?E>1&&(A[E]=(A[E]||0)+1):A[g]=(A[g]||0)+1,A}var l=function(g,A){var E=0,S=1,C=1,M=0,x=0,N=0,$=1,F=1,I=0,R=1,q=1,U=1,W=1e7,P;if(g!=null)if(A!==void 0){if(E=g,S=A,C=E*S,E%1!==0||S%1!==0)throw y()}else switch(typeof g){case"object":{if("d"in g&&"n"in g)E=g.n,S=g.d,"s"in g&&(E*=g.s);else if(0 in g)E=g[0],1 in g&&(S=g[1]);else throw v();C=E*S;break}case"number":{if(g<0&&(C=g,g=-g),g%1===0)E=g;else if(g>0){for(g>=1&&(F=Math.pow(10,Math.floor(1+Math.log(g)/Math.LN10)),g/=F);R<=W&&U<=W;)if(P=(I+q)/(R+U),g===P){R+U<=W?(E=I+q,S=R+U):U>R?(E=q,S=U):(E=I,S=R);break}else g>P?(I+=q,R+=U):(q+=I,U+=R),R>W?(E=q,S=U):(E=I,S=R);E*=F}else(isNaN(g)||isNaN(A))&&(S=E=NaN);break}case"string":{if(R=g.match(/\d+|./g),R===null)throw v();if(R[I]==="-"?(C=-1,I++):R[I]==="+"&&I++,R.length===I+1?x=s(R[I++],C):R[I+1]==="."||R[I]==="."?(R[I]!=="."&&(M=s(R[I++],C)),I++,(I+1===R.length||R[I+1]==="("&&R[I+3]===")"||R[I+1]==="'"&&R[I+3]==="'")&&(x=s(R[I],C),$=Math.pow(10,R[I].length),I++),(R[I]==="("&&R[I+2]===")"||R[I]==="'"&&R[I+2]==="'")&&(N=s(R[I+1],C),F=Math.pow(10,R[I+1].length)-1,I+=3)):R[I+1]==="/"||R[I+1]===":"?(x=s(R[I],C),$=s(R[I+2],1),I+=3):R[I+3]==="/"&&R[I+1]===" "&&(M=s(R[I],C),x=s(R[I+2],C),$=s(R[I+4],1),I+=5),R.length<=I){S=$*F,C=E=N+S*M+F*x;break}}default:throw v()}if(S===0)throw D();n.s=C<0?-1:1,n.n=Math.abs(E),n.d=Math.abs(S)};function p(g,A,E){for(var S=1;A>0;g=g*g%E,A>>=1)A&1&&(S=S*g%E);return S}function h(g,A){for(;A%2===0;A/=2);for(;A%5===0;A/=5);if(A===1)return 0;for(var E=10%A,S=1;E!==1;S++)if(E=E*10%A,S>r)return 0;return S}function c(g,A,E){for(var S=1,C=p(10,E,A),M=0;M<300;M++){if(S===C)return M;S=S*10%A,C=C*10%A}return 0}function m(g,A){if(!g)return A;if(!A)return g;for(;;){if(g%=A,!g)return A;if(A%=g,!A)return g}}function w(g,A){if(l(g,A),this instanceof w)g=m(n.d,n.n),this.s=n.s,this.n=n.n/g,this.d=n.d/g;else return a(n.s*n.n,n.d)}var D=function(){return new Error("Division by Zero")},v=function(){return new Error("Invalid argument")},y=function(){return new Error("Parameters must be integer")};w.prototype={s:1,n:0,d:1,abs:function(){return a(this.n,this.d)},neg:function(){return a(-this.s*this.n,this.d)},add:function(g,A){return l(g,A),a(this.s*this.n*n.d+n.s*this.d*n.n,this.d*n.d)},sub:function(g,A){return l(g,A),a(this.s*this.n*n.d-n.s*this.d*n.n,this.d*n.d)},mul:function(g,A){return l(g,A),a(this.s*n.s*this.n*n.n,this.d*n.d)},div:function(g,A){return l(g,A),a(this.s*n.s*this.n*n.d,this.d*n.n)},clone:function(){return a(this.s*this.n,this.d)},mod:function(g,A){if(isNaN(this.n)||isNaN(this.d))return new w(NaN);if(g===void 0)return a(this.s*this.n%this.d,1);if(l(g,A),n.n===0&&this.d===0)throw D();return a(this.s*(n.d*this.n)%(n.n*this.d),n.d*this.d)},gcd:function(g,A){return l(g,A),a(m(n.n,this.n)*m(n.d,this.d),n.d*this.d)},lcm:function(g,A){return l(g,A),n.n===0&&this.n===0?a(0,1):a(n.n*this.n,m(n.n,this.n)*m(n.d,this.d))},ceil:function(g){return g=Math.pow(10,g||0),isNaN(this.n)||isNaN(this.d)?new w(NaN):a(Math.ceil(g*this.s*this.n/this.d),g)},floor:function(g){return g=Math.pow(10,g||0),isNaN(this.n)||isNaN(this.d)?new w(NaN):a(Math.floor(g*this.s*this.n/this.d),g)},round:function(g){return g=Math.pow(10,g||0),isNaN(this.n)||isNaN(this.d)?new w(NaN):a(Math.round(g*this.s*this.n/this.d),g)},inverse:function(){return a(this.s*this.d,this.n)},pow:function(g,A){if(l(g,A),n.d===1)return n.s<0?a(Math.pow(this.s*this.d,n.n),Math.pow(this.n,n.n)):a(Math.pow(this.s*this.n,n.n),Math.pow(this.d,n.n));if(this.s<0)return null;var E=f(this.n),S=f(this.d),C=1,M=1;for(var x in E)if(x!=="1"){if(x==="0"){C=0;break}if(E[x]*=n.n,E[x]%n.d===0)E[x]/=n.d;else return null;C*=Math.pow(x,E[x])}for(var x in S)if(x!=="1"){if(S[x]*=n.n,S[x]%n.d===0)S[x]/=n.d;else return null;M*=Math.pow(x,S[x])}return n.s<0?a(M,C):a(C,M)},equals:function(g,A){return l(g,A),this.s*this.n*n.d===n.s*n.n*this.d},compare:function(g,A){l(g,A);var E=this.s*this.n*n.d-n.s*n.n*this.d;return(0<E)-(E<0)},simplify:function(g){if(isNaN(this.n)||isNaN(this.d))return this;g=g||.001;for(var A=this.abs(),E=A.toContinued(),S=1;S<E.length;S++){for(var C=a(E[S-1],1),M=S-2;M>=0;M--)C=C.inverse().add(E[M]);if(Math.abs(C.sub(A).valueOf())<g)return C.mul(this.s)}return this},divisible:function(g,A){return l(g,A),!(!(n.n*this.d)||this.n*n.d%(n.n*this.d))},valueOf:function(){return this.s*this.n/this.d},toFraction:function(g){var A,E="",S=this.n,C=this.d;return this.s<0&&(E+="-"),C===1?E+=S:(g&&(A=Math.floor(S/C))>0&&(E+=A,E+=" ",S%=C),E+=S,E+="/",E+=C),E},toLatex:function(g){var A,E="",S=this.n,C=this.d;return this.s<0&&(E+="-"),C===1?E+=S:(g&&(A=Math.floor(S/C))>0&&(E+=A,S%=C),E+="\\frac{",E+=S,E+="}{",E+=C,E+="}"),E},toContinued:function(){var g,A=this.n,E=this.d,S=[];if(isNaN(A)||isNaN(E))return S;do S.push(Math.floor(A/E)),g=A%E,A=E,E=g;while(A!==1);return S},toString:function(g){var A=this.n,E=this.d;if(isNaN(A)||isNaN(E))return"NaN";g=g||15;var S=h(A,E),C=c(A,E,S),M=this.s<0?"-":"";if(M+=A/E|0,A%=E,A*=10,A&&(M+="."),S){for(var x=C;x--;)M+=A/E|0,A%=E,A*=10;M+="(";for(var x=S;x--;)M+=A/E|0,A%=E,A*=10;M+=")"}else for(var x=g;A&&x--;)M+=A/E|0,A%=E,A*=10;return M}},Object.defineProperty(w,"__esModule",{value:!0}),w.default=w,w.Fraction=w,i.exports=w})()})(pc);var pv=pc.exports,kr=Zt(pv),dv="Fraction",mv=[],vv=mt(dv,mv,()=>(Object.defineProperty(kr,"name",{value:"Fraction"}),kr.prototype.constructor=kr,kr.prototype.type="Fraction",kr.prototype.isFraction=!0,kr.prototype.toJSON=function(){return{mathjs:"Fraction",n:this.s*this.n,d:this.d}},kr.fromJSON=function(i){return new kr(i)},kr),{isClass:!0}),gv="Matrix",wv=[],_v=mt(gv,wv,()=>{function i(){if(!(this instanceof i))throw new SyntaxError("Constructor must be called with the new operator")}return i.prototype.type="Matrix",i.prototype.isMatrix=!0,i.prototype.storage=function(){throw new Error("Cannot invoke storage on a Matrix interface")},i.prototype.datatype=function(){throw new Error("Cannot invoke datatype on a Matrix interface")},i.prototype.create=function(t,e){throw new Error("Cannot invoke create on a Matrix interface")},i.prototype.subset=function(t,e,r){throw new Error("Cannot invoke subset on a Matrix interface")},i.prototype.get=function(t){throw new Error("Cannot invoke get on a Matrix interface")},i.prototype.set=function(t,e,r){throw new Error("Cannot invoke set on a Matrix interface")},i.prototype.resize=function(t,e){throw new Error("Cannot invoke resize on a Matrix interface")},i.prototype.reshape=function(t,e){throw new Error("Cannot invoke reshape on a Matrix interface")},i.prototype.clone=function(){throw new Error("Cannot invoke clone on a Matrix interface")},i.prototype.size=function(){throw new Error("Cannot invoke size on a Matrix interface")},i.prototype.map=function(t,e){throw new Error("Cannot invoke map on a Matrix interface")},i.prototype.forEach=function(t){throw new Error("Cannot invoke forEach on a Matrix interface")},i.prototype[Symbol.iterator]=function(){throw new Error("Cannot iterate a Matrix interface")},i.prototype.toArray=function(){throw new Error("Cannot invoke toArray on a Matrix interface")},i.prototype.valueOf=function(){throw new Error("Cannot invoke valueOf on a Matrix interface")},i.prototype.format=function(t){throw new Error("Cannot invoke format on a Matrix interface")},i.prototype.toString=function(){throw new Error("Cannot invoke toString on a Matrix interface")},i},{isClass:!0});function dc(i){return Object.keys(i.signatures||{}).reduce(function(t,e){var r=(e.match(/,/g)||[]).length+1;return Math.max(t,r)},-1)}var Dv="DenseMatrix",yv=["Matrix"],Ev=mt(Dv,yv,i=>{var{Matrix:t}=i;function e(h,c){if(!(this instanceof e))throw new SyntaxError("Constructor must be called with the new operator");if(c&&!Rr(c))throw new Error("Invalid datatype: "+c);if(ce(h))h.type==="DenseMatrix"?(this._data=te(h._data),this._size=te(h._size),this._datatype=c||h._datatype):(this._data=h.toArray(),this._size=h.size(),this._datatype=c||h._datatype);else if(h&&me(h.data)&&me(h.size))this._data=h.data,this._size=h.size,Wf(this._data,this._size),this._datatype=c||h.datatype;else if(me(h))this._data=p(h),this._size=be(this._data),Wf(this._data,this._size),this._datatype=c;else{if(h)throw new TypeError("Unsupported type of data ("+sn(h)+")");this._data=[],this._size=[0],this._datatype=c}}e.prototype=new t,e.prototype.createDenseMatrix=function(h,c){return new e(h,c)},Object.defineProperty(e,"name",{value:"DenseMatrix"}),e.prototype.constructor=e,e.prototype.type="DenseMatrix",e.prototype.isDenseMatrix=!0,e.prototype.getDataType=function(){return ms(this._data,sn)},e.prototype.storage=function(){return"dense"},e.prototype.datatype=function(){return this._datatype},e.prototype.create=function(h,c){return new e(h,c)},e.prototype.subset=function(h,c,m){switch(arguments.length){case 1:return r(this,h);case 2:case 3:return s(this,h,c,m);default:throw new SyntaxError("Wrong number of arguments")}},e.prototype.get=function(h){if(!me(h))throw new TypeError("Array expected");if(h.length!==this._size.length)throw new jt(h.length,this._size.length);for(var c=0;c<h.length;c++)ve(h[c],this._size[c]);for(var m=this._data,w=0,D=h.length;w<D;w++){var v=h[w];ve(v,m.length),m=m[v]}return m},e.prototype.set=function(h,c,m){if(!me(h))throw new TypeError("Array expected");if(h.length<this._size.length)throw new jt(h.length,this._size.length,"<");var w,D,v,y=h.map(function(A){return A+1});l(this,y,m);var g=this._data;for(w=0,D=h.length-1;w<D;w++)v=h[w],ve(v,g.length),g=g[v];return v=h[h.length-1],ve(v,g.length),g[v]=c,this};function r(h,c){if(!Ju(c))throw new TypeError("Invalid index");var m=c.isScalar();if(m)return h.get(c.min());var w=c.size();if(w.length!==h._size.length)throw new jt(w.length,h._size.length);for(var D=c.min(),v=c.max(),y=0,g=h._size.length;y<g;y++)ve(D[y],h._size[y]),ve(v[y],h._size[y]);return new e(n(h._data,c,w.length,0),h._datatype)}function n(h,c,m,w){var D=w===m-1,v=c.dimension(w);return D?v.map(function(y){return ve(y,h.length),h[y]}).valueOf():v.map(function(y){ve(y,h.length);var g=h[y];return n(g,c,m,w+1)}).valueOf()}function s(h,c,m,w){if(!c||c.isIndex!==!0)throw new TypeError("Invalid index");var D=c.size(),v=c.isScalar(),y;if(ce(m)?(y=m.size(),m=m.valueOf()):y=be(m),v){if(y.length!==0)throw new TypeError("Scalar expected");h.set(c.min(),m,w)}else{if(!Xn(y,D))try{y.length===0?m=Kf([m],D):m=Kf(m,D),y=be(m)}catch{}if(D.length<h._size.length)throw new jt(D.length,h._size.length,"<");if(y.length<D.length){for(var g=0,A=0;D[g]===1&&y[g]===1;)g++;for(;D[g]===1;)A++,g++;m=Yf(m,D.length,A,y)}if(!Xn(D,y))throw new jt(D,y,">");var E=c.max().map(function(M){return M+1});l(h,E,w);var S=D.length,C=0;a(h._data,c,m,S,C)}return h}function a(h,c,m,w,D){var v=D===w-1,y=c.dimension(D);v?y.forEach(function(g,A){ve(g),h[g]=m[A[0]]}):y.forEach(function(g,A){ve(g),a(h[g],c,m[A[0]],w,D+1)})}e.prototype.resize=function(h,c,m){if(!Si(h))throw new TypeError("Array or Matrix expected");var w=h.valueOf().map(v=>Array.isArray(v)&&v.length===1?v[0]:v),D=m?this.clone():this;return f(D,w,c)};function f(h,c,m){if(c.length===0){for(var w=h._data;me(w);)w=w[0];return w}return h._size=c.slice(0),h._data=to(h._data,h._size,m),h}e.prototype.reshape=function(h,c){var m=c?this.clone():this;m._data=ro(m._data,h);var w=m._size.reduce((D,v)=>D*v);return m._size=no(h,w),m};function l(h,c,m){for(var w=h._size.slice(0),D=!1;w.length<c.length;)w.push(0),D=!0;for(var v=0,y=c.length;v<y;v++)c[v]>w[v]&&(w[v]=c[v],D=!0);D&&f(h,w,m)}e.prototype.clone=function(){var h=new e({data:te(this._data),size:te(this._size),datatype:this._datatype});return h},e.prototype.size=function(){return this._size.slice(0)},e.prototype.map=function(h){var c=this,m=dc(h),w=function y(g,A){return me(g)?g.map(function(E,S){return y(E,A.concat(S))}):m===1?h(g):m===2?h(g,A):h(g,A,c)},D=w(this._data,[]),v=this._datatype!==void 0?ms(D,sn):void 0;return new e(D,v)},e.prototype.forEach=function(h){var c=this,m=function w(D,v){me(D)?D.forEach(function(y,g){w(y,v.concat(g))}):h(D,v,c)};m(this._data,[])},e.prototype[Symbol.iterator]=function*(){var h=function*c(m,w){if(me(m))for(var D=0;D<m.length;D++)yield*c(m[D],w.concat(D));else yield{value:m,index:w}};yield*h(this._data,[])},e.prototype.rows=function(){var h=[],c=this.size();if(c.length!==2)throw new TypeError("Rows can only be returned for a 2D matrix.");var m=this._data;for(var w of m)h.push(new e([w],this._datatype));return h},e.prototype.columns=function(){var h=this,c=[],m=this.size();if(m.length!==2)throw new TypeError("Rows can only be returned for a 2D matrix.");for(var w=this._data,D=function(g){var A=w.map(E=>[E[g]]);c.push(new e(A,h._datatype))},v=0;v<m[1];v++)D(v);return c},e.prototype.toArray=function(){return te(this._data)},e.prototype.valueOf=function(){return this._data},e.prototype.format=function(h){return se(this._data,h)},e.prototype.toString=function(){return se(this._data)},e.prototype.toJSON=function(){return{mathjs:"DenseMatrix",data:this._data,size:this._size,datatype:this._datatype}},e.prototype.diagonal=function(h){if(h){if(ye(h)&&(h=h.toNumber()),!ae(h)||!he(h))throw new TypeError("The parameter k must be an integer number")}else h=0;for(var c=h>0?h:0,m=h<0?-h:0,w=this._size[0],D=this._size[1],v=Math.min(w-m,D-c),y=[],g=0;g<v;g++)y[g]=this._data[g+m][g+c];return new e({data:y,size:[v],datatype:this._datatype})},e.diagonal=function(h,c,m,w){if(!me(h))throw new TypeError("Array expected, size parameter");if(h.length!==2)throw new Error("Only two dimensions matrix are supported");if(h=h.map(function(x){if(ye(x)&&(x=x.toNumber()),!ae(x)||!he(x)||x<1)throw new Error("Size values must be positive integers");return x}),m){if(ye(m)&&(m=m.toNumber()),!ae(m)||!he(m))throw new TypeError("The parameter k must be an integer number")}else m=0;var D=m>0?m:0,v=m<0?-m:0,y=h[0],g=h[1],A=Math.min(y-v,g-D),E;if(me(c)){if(c.length!==A)throw new Error("Invalid value array length");E=function(N){return c[N]}}else if(ce(c)){var S=c.size();if(S.length!==1||S[0]!==A)throw new Error("Invalid matrix length");E=function(N){return c.get([N])}}else E=function(){return c};w||(w=ye(E(0))?E(0).mul(0):0);var C=[];if(h.length>0){C=to(C,h,w);for(var M=0;M<A;M++)C[M+v][M+D]=E(M)}return new e({data:C,size:[y,g]})},e.fromJSON=function(h){return new e(h)},e.prototype.swapRows=function(h,c){if(!ae(h)||!he(h)||!ae(c)||!he(c))throw new Error("Row index must be positive integers");if(this._size.length!==2)throw new Error("Only two dimensional matrix is supported");return ve(h,this._size[0]),ve(c,this._size[0]),e._swapRows(h,c,this._data),this},e._swapRows=function(h,c,m){var w=m[h];m[h]=m[c],m[c]=w};function p(h){return ce(h)?p(h.valueOf()):me(h)?h.map(p):h}return e},{isClass:!0});function Av(i){var t=i.length,e=i[0].length,r,n,s=[];for(n=0;n<e;n++){var a=[];for(r=0;r<t;r++)a.push(i[r][n]);s.push(a)}return s}function Cs(i){for(var t=0;t<i.length;t++)if(Si(i[t]))return!0;return!1}function Ii(i,t){ce(i)&&(i=i.valueOf());for(var e=0,r=i.length;e<r;e++){var n=i[e];Array.isArray(n)?Ii(n,t):t(n)}}function xr(i,t,e){return i&&typeof i.map=="function"?i.map(function(r){return xr(r,t)}):t(i)}function po(i,t,e){var r=Array.isArray(i)?be(i):i.size();if(t<0||t>=r.length)throw new un(t,r.length);return ce(i)?i.create(Fs(i.valueOf(),t,e)):Fs(i,t,e)}function Fs(i,t,e){var r,n,s,a;if(t<=0)if(Array.isArray(i[0])){for(a=Av(i),n=[],r=0;r<a.length;r++)n[r]=Fs(a[r],t-1,e);return n}else{for(s=i[0],r=1;r<i.length;r++)s=e(s,i[r]);return s}else{for(n=[],r=0;r<i.length;r++)n[r]=Fs(i[r],t-1,e);return n}}var mc="isInteger",bv=["typed"],Cv=mt(mc,bv,i=>{var{typed:t}=i;return t(mc,{number:he,BigNumber:function(r){return r.isInt()},Fraction:function(r){return r.d===1&&isFinite(r.n)},"Array | Matrix":t.referToSelf(e=>r=>xr(r,e))})}),vc="number",Ms="number, number";function gc(i){return Math.abs(i)}gc.signature=vc;function wc(i,t){return i+t}wc.signature=Ms;function _c(i,t){return i-t}_c.signature=Ms;function Dc(i,t){return i*t}Dc.signature=Ms;function yc(i){return-i}yc.signature=vc;function Ec(i,t){return i*i<1&&t===1/0||i*i>1&&t===-1/0?0:Math.pow(i,t)}Ec.signature=Ms;var Ac="number";function bc(i){return i===0}bc.signature=Ac;function Cc(i){return Number.isNaN(i)}Cc.signature=Ac;var Fc="isNumeric",Fv=["typed"],Mv=mt(Fc,Fv,i=>{var{typed:t}=i;return t(Fc,{"number | BigNumber | Fraction | boolean":()=>!0,"Complex | Unit | string | null | undefined | Node":()=>!1,"Array | Matrix":t.referToSelf(e=>r=>xr(r,e))})}),Mc="isZero",xv=["typed"],Sv=mt(Mc,xv,i=>{var{typed:t}=i;return t(Mc,{number:bc,BigNumber:function(r){return r.isZero()},Complex:function(r){return r.re===0&&r.im===0},Fraction:function(r){return r.d===1&&r.n===0},Unit:t.referToSelf(e=>r=>t.find(e,r.valueType())(r.value)),"Array | Matrix":t.referToSelf(e=>r=>xr(r,e))})}),xc="isNaN",Nv=["typed"],Bv=mt(xc,Nv,i=>{var{typed:t}=i;return t(xc,{number:Cc,BigNumber:function(r){return r.isNaN()},Fraction:function(r){return!1},Complex:function(r){return r.isNaN()},Unit:function(r){return Number.isNaN(r.value)},"Array | Matrix":function(r){return xr(r,Number.isNaN)}})});function xs(i,t,e){if(e==null)return i.eq(t);if(i.eq(t))return!0;if(i.isNaN()||t.isNaN())return!1;if(i.isFinite()&&t.isFinite()){var r=i.minus(t).abs();if(r.isZero())return!0;var n=i.constructor.max(i.abs(),t.abs());return r.lte(n.times(e))}return!1}function Iv(i,t,e){return In(i.re,t.re,e)&&In(i.im,t.im,e)}var Ss=mt("compareUnits",["typed"],i=>{var{typed:t}=i;return{"Unit, Unit":t.referToSelf(e=>(r,n)=>{if(!r.equalBase(n))throw new Error("Cannot compare units with different base");return t.find(e,[r.valueType(),n.valueType()])(r.value,n.value)})}}),Ns="equalScalar",Tv=["typed","config"],$v=mt(Ns,Tv,i=>{var{typed:t,config:e}=i,r=Ss({typed:t});return t(Ns,{"boolean, boolean":function(s,a){return s===a},"number, number":function(s,a){return In(s,a,e.epsilon)},"BigNumber, BigNumber":function(s,a){return s.eq(a)||xs(s,a,e.epsilon)},"Fraction, Fraction":function(s,a){return s.equals(a)},"Complex, Complex":function(s,a){return Iv(s,a,e.epsilon)}},r)});mt(Ns,["typed","config"],i=>{var{typed:t,config:e}=i;return t(Ns,{"number, number":function(n,s){return In(n,s,e.epsilon)}})});var Ov="SparseMatrix",Rv=["typed","equalScalar","Matrix"],Lv=mt(Ov,Rv,i=>{var{typed:t,equalScalar:e,Matrix:r}=i;function n(v,y){if(!(this instanceof n))throw new SyntaxError("Constructor must be called with the new operator");if(y&&!Rr(y))throw new Error("Invalid datatype: "+y);if(ce(v))s(this,v,y);else if(v&&me(v.index)&&me(v.ptr)&&me(v.size))this._values=v.values,this._index=v.index,this._ptr=v.ptr,this._size=v.size,this._datatype=y||v.datatype;else if(me(v))a(this,v,y);else{if(v)throw new TypeError("Unsupported type of data ("+sn(v)+")");this._values=[],this._index=[],this._ptr=[0],this._size=[0,0],this._datatype=y}}function s(v,y,g){y.type==="SparseMatrix"?(v._values=y._values?te(y._values):void 0,v._index=te(y._index),v._ptr=te(y._ptr),v._size=te(y._size),v._datatype=g||y._datatype):a(v,y.valueOf(),g||y._datatype)}function a(v,y,g){v._values=[],v._index=[],v._ptr=[],v._datatype=g;var A=y.length,E=0,S=e,C=0;if(Rr(g)&&(S=t.find(e,[g,g])||e,C=t.convert(0,g)),A>0){var M=0;do{v._ptr.push(v._index.length);for(var x=0;x<A;x++){var N=y[x];if(me(N)){if(M===0&&E<N.length&&(E=N.length),M<N.length){var $=N[M];S($,C)||(v._values.push($),v._index.push(x))}}else M===0&&E<1&&(E=1),S(N,C)||(v._values.push(N),v._index.push(x))}M++}while(M<E)}v._ptr.push(v._index.length),v._size=[A,E]}n.prototype=new r,n.prototype.createSparseMatrix=function(v,y){return new n(v,y)},Object.defineProperty(n,"name",{value:"SparseMatrix"}),n.prototype.constructor=n,n.prototype.type="SparseMatrix",n.prototype.isSparseMatrix=!0,n.prototype.getDataType=function(){return ms(this._values,sn)},n.prototype.storage=function(){return"sparse"},n.prototype.datatype=function(){return this._datatype},n.prototype.create=function(v,y){return new n(v,y)},n.prototype.density=function(){var v=this._size[0],y=this._size[1];return v!==0&&y!==0?this._index.length/(v*y):0},n.prototype.subset=function(v,y,g){if(!this._values)throw new Error("Cannot invoke subset on a Pattern only matrix");switch(arguments.length){case 1:return f(this,v);case 2:case 3:return l(this,v,y,g);default:throw new SyntaxError("Wrong number of arguments")}};function f(v,y){if(!Ju(y))throw new TypeError("Invalid index");var g=y.isScalar();if(g)return v.get(y.min());var A=y.size();if(A.length!==v._size.length)throw new jt(A.length,v._size.length);var E,S,C,M,x=y.min(),N=y.max();for(E=0,S=v._size.length;E<S;E++)ve(x[E],v._size[E]),ve(N[E],v._size[E]);var $=v._values,F=v._index,I=v._ptr,R=y.dimension(0),q=y.dimension(1),U=[],W=[];R.forEach(function(H,V){W[H]=V[0],U[H]=!0});var P=$?[]:void 0,G=[],j=[];return q.forEach(function(H){for(j.push(G.length),C=I[H],M=I[H+1];C<M;C++)E=F[C],U[E]===!0&&(G.push(W[E]),P&&P.push($[C]))}),j.push(G.length),new n({values:P,index:G,ptr:j,size:A,datatype:v._datatype})}function l(v,y,g,A){if(!y||y.isIndex!==!0)throw new TypeError("Invalid index");var E=y.size(),S=y.isScalar(),C;if(ce(g)?(C=g.size(),g=g.toArray()):C=be(g),S){if(C.length!==0)throw new TypeError("Scalar expected");v.set(y.min(),g,A)}else{if(E.length!==1&&E.length!==2)throw new jt(E.length,v._size.length,"<");if(C.length<E.length){for(var M=0,x=0;E[M]===1&&C[M]===1;)M++;for(;E[M]===1;)x++,M++;g=Yf(g,E.length,x,C)}if(!Xn(E,C))throw new jt(E,C,">");if(E.length===1){var N=y.dimension(0);N.forEach(function(I,R){ve(I),v.set([I,0],g[R[0]],A)})}else{var $=y.dimension(0),F=y.dimension(1);$.forEach(function(I,R){ve(I),F.forEach(function(q,U){ve(q),v.set([I,q],g[R[0]][U[0]],A)})})}}return v}n.prototype.get=function(v){if(!me(v))throw new TypeError("Array expected");if(v.length!==this._size.length)throw new jt(v.length,this._size.length);if(!this._values)throw new Error("Cannot invoke get on a Pattern only matrix");var y=v[0],g=v[1];ve(y,this._size[0]),ve(g,this._size[1]);var A=p(y,this._ptr[g],this._ptr[g+1],this._index);return A<this._ptr[g+1]&&this._index[A]===y?this._values[A]:0},n.prototype.set=function(v,y,g){if(!me(v))throw new TypeError("Array expected");if(v.length!==this._size.length)throw new jt(v.length,this._size.length);if(!this._values)throw new Error("Cannot invoke set on a Pattern only matrix");var A=v[0],E=v[1],S=this._size[0],C=this._size[1],M=e,x=0;Rr(this._datatype)&&(M=t.find(e,[this._datatype,this._datatype])||e,x=t.convert(0,this._datatype)),(A>S-1||E>C-1)&&(m(this,Math.max(A+1,S),Math.max(E+1,C),g),S=this._size[0],C=this._size[1]),ve(A,S),ve(E,C);var N=p(A,this._ptr[E],this._ptr[E+1],this._index);return N<this._ptr[E+1]&&this._index[N]===A?M(y,x)?h(N,E,this._values,this._index,this._ptr):this._values[N]=y:M(y,x)||c(N,A,E,y,this._values,this._index,this._ptr),this};function p(v,y,g,A){if(g-y===0)return g;for(var E=y;E<g;E++)if(A[E]===v)return E;return y}function h(v,y,g,A,E){g.splice(v,1),A.splice(v,1);for(var S=y+1;S<E.length;S++)E[S]--}function c(v,y,g,A,E,S,C){E.splice(v,0,A),S.splice(v,0,y);for(var M=g+1;M<C.length;M++)C[M]++}n.prototype.resize=function(v,y,g){if(!Si(v))throw new TypeError("Array or Matrix expected");var A=v.valueOf().map(S=>Array.isArray(S)&&S.length===1?S[0]:S);if(A.length!==2)throw new Error("Only two dimensions matrix are supported");A.forEach(function(S){if(!ae(S)||!he(S)||S<0)throw new TypeError("Invalid size, must contain positive integers (size: "+se(A)+")")});var E=g?this.clone():this;return m(E,A[0],A[1],y)};function m(v,y,g,A){var E=A||0,S=e,C=0;Rr(v._datatype)&&(S=t.find(e,[v._datatype,v._datatype])||e,C=t.convert(0,v._datatype),E=t.convert(E,v._datatype));var M=!S(E,C),x=v._size[0],N=v._size[1],$,F,I;if(g>N){for(F=N;F<g;F++)if(v._ptr[F]=v._values.length,M)for($=0;$<x;$++)v._values.push(E),v._index.push($);v._ptr[g]=v._values.length}else g<N&&(v._ptr.splice(g+1,N-g),v._values.splice(v._ptr[g],v._values.length),v._index.splice(v._ptr[g],v._index.length));if(N=g,y>x){if(M){var R=0;for(F=0;F<N;F++){v._ptr[F]=v._ptr[F]+R,I=v._ptr[F+1]+R;var q=0;for($=x;$<y;$++,q++)v._values.splice(I+q,0,E),v._index.splice(I+q,0,$),R++}v._ptr[N]=v._values.length}}else if(y<x){var U=0;for(F=0;F<N;F++){v._ptr[F]=v._ptr[F]-U;var W=v._ptr[F],P=v._ptr[F+1]-U;for(I=W;I<P;I++)$=v._index[I],$>y-1&&(v._values.splice(I,1),v._index.splice(I,1),U++)}v._ptr[F]=v._values.length}return v._size[0]=y,v._size[1]=g,v}n.prototype.reshape=function(v,y){if(!me(v))throw new TypeError("Array expected");if(v.length!==2)throw new Error("Sparse matrices can only be reshaped in two dimensions");v.forEach(function(H){if(!ae(H)||!he(H)||H<=-2||H===0)throw new TypeError("Invalid size, must contain positive integers or -1 (size: "+se(v)+")")});var g=this._size[0]*this._size[1];v=no(v,g);var A=v[0]*v[1];if(g!==A)throw new Error("Reshaping sparse matrix will result in the wrong number of elements");var E=y?this.clone():this;if(this._size[0]===v[0]&&this._size[1]===v[1])return E;for(var S=[],C=0;C<E._ptr.length;C++)for(var M=0;M<E._ptr[C+1]-E._ptr[C];M++)S.push(C);for(var x=E._values.slice(),N=E._index.slice(),$=0;$<E._index.length;$++){var F=N[$],I=S[$],R=F*E._size[1]+I;S[$]=R%v[1],N[$]=Math.floor(R/v[1])}E._values.length=0,E._index.length=0,E._ptr.length=v[1]+1,E._size=v.slice();for(var q=0;q<E._ptr.length;q++)E._ptr[q]=0;for(var U=0;U<x.length;U++){var W=N[U],P=S[U],G=x[U],j=p(W,E._ptr[P],E._ptr[P+1],E._index);c(j,W,P,G,E._values,E._index,E._ptr)}return E},n.prototype.clone=function(){var v=new n({values:this._values?te(this._values):void 0,index:te(this._index),ptr:te(this._ptr),size:te(this._size),datatype:this._datatype});return v},n.prototype.size=function(){return this._size.slice(0)},n.prototype.map=function(v,y){if(!this._values)throw new Error("Cannot invoke map on a Pattern only matrix");var g=this,A=this._size[0],E=this._size[1],S=dc(v),C=function(x,N,$){return S===1?v(x):S===2?v(x,[N,$]):v(x,[N,$],g)};return w(this,0,A-1,0,E-1,C,y)};function w(v,y,g,A,E,S,C){var M=[],x=[],N=[],$=e,F=0;Rr(v._datatype)&&($=t.find(e,[v._datatype,v._datatype])||e,F=t.convert(0,v._datatype));for(var I=function(ft,_t,yt){ft=S(ft,_t,yt),$(ft,F)||(M.push(ft),x.push(_t))},R=A;R<=E;R++){N.push(M.length);var q=v._ptr[R],U=v._ptr[R+1];if(C)for(var W=q;W<U;W++){var P=v._index[W];P>=y&&P<=g&&I(v._values[W],P-y,R-A)}else{for(var G={},j=q;j<U;j++){var H=v._index[j];G[H]=v._values[j]}for(var V=y;V<=g;V++){var ct=V in G?G[V]:0;I(ct,V-y,R-A)}}}return N.push(M.length),new n({values:M,index:x,ptr:N,size:[g-y+1,E-A+1]})}n.prototype.forEach=function(v,y){if(!this._values)throw new Error("Cannot invoke forEach on a Pattern only matrix");for(var g=this,A=this._size[0],E=this._size[1],S=0;S<E;S++){var C=this._ptr[S],M=this._ptr[S+1];if(y)for(var x=C;x<M;x++){var N=this._index[x];v(this._values[x],[N,S],g)}else{for(var $={},F=C;F<M;F++){var I=this._index[F];$[I]=this._values[F]}for(var R=0;R<A;R++){var q=R in $?$[R]:0;v(q,[R,S],g)}}}},n.prototype[Symbol.iterator]=function*(){if(!this._values)throw new Error("Cannot iterate a Pattern only matrix");for(var v=this._size[1],y=0;y<v;y++)for(var g=this._ptr[y],A=this._ptr[y+1],E=g;E<A;E++){var S=this._index[E];yield{value:this._values[E],index:[S,y]}}},n.prototype.toArray=function(){return D(this._values,this._index,this._ptr,this._size,!0)},n.prototype.valueOf=function(){return D(this._values,this._index,this._ptr,this._size,!1)};function D(v,y,g,A,E){var S=A[0],C=A[1],M=[],x,N;for(x=0;x<S;x++)for(M[x]=[],N=0;N<C;N++)M[x][N]=0;for(N=0;N<C;N++)for(var $=g[N],F=g[N+1],I=$;I<F;I++)x=y[I],M[x][N]=v?E?te(v[I]):v[I]:1;return M}return n.prototype.format=function(v){for(var y=this._size[0],g=this._size[1],A=this.density(),E="Sparse Matrix ["+se(y,v)+" x "+se(g,v)+"] density: "+se(A,v)+`
53
53
  `,S=0;S<g;S++)for(var C=this._ptr[S],M=this._ptr[S+1],x=C;x<M;x++){var N=this._index[x];E+=`
54
- (`+se(N,v)+", "+se(S,v)+") ==> "+(this._values?se(this._values[x],v):"X")}return E},n.prototype.toString=function(){return se(this.toArray())},n.prototype.toJSON=function(){return{mathjs:"SparseMatrix",values:this._values,index:this._index,ptr:this._ptr,size:this._size,datatype:this._datatype}},n.prototype.diagonal=function(v){if(v){if(ye(v)&&(v=v.toNumber()),!ae(v)||!he(v))throw new TypeError("The parameter k must be an integer number")}else v=0;var y=v>0?v:0,g=v<0?-v:0,A=this._size[0],E=this._size[1],S=Math.min(A-g,E-y),C=[],M=[],x=[];x[0]=0;for(var N=y;N<E&&C.length<S;N++)for(var $=this._ptr[N],F=this._ptr[N+1],I=$;I<F;I++){var R=this._index[I];if(R===N-y+g){C.push(this._values[I]),M[C.length-1]=R-g;break}}return x.push(C.length),new n({values:C,index:M,ptr:x,size:[S,1]})},n.fromJSON=function(v){return new n(v)},n.diagonal=function(v,y,g,A,E){if(!me(v))throw new TypeError("Array expected, size parameter");if(v.length!==2)throw new Error("Only two dimensions matrix are supported");if(v=v.map(function(H){if(ye(H)&&(H=H.toNumber()),!ae(H)||!he(H)||H<1)throw new Error("Size values must be positive integers");return H}),g){if(ye(g)&&(g=g.toNumber()),!ae(g)||!he(g))throw new TypeError("The parameter k must be an integer number")}else g=0;var S=e,C=0;Rr(E)&&(S=t.find(e,[E,E])||e,C=t.convert(0,E));var M=g>0?g:0,x=g<0?-g:0,N=v[0],$=v[1],F=Math.min(N-x,$-M),I;if(me(y)){if(y.length!==F)throw new Error("Invalid value array length");I=function(V){return y[V]}}else if(ce(y)){var R=y.size();if(R.length!==1||R[0]!==F)throw new Error("Invalid matrix length");I=function(V){return y.get([V])}}else I=function(){return y};for(var q=[],U=[],W=[],P=0;P<$;P++){W.push(q.length);var G=P-M;if(G>=0&&G<F){var j=I(G);S(j,C)||(U.push(G+x),q.push(j))}}return W.push(q.length),new n({values:q,index:U,ptr:W,size:[N,$]})},n.prototype.swapRows=function(v,y){if(!ae(v)||!he(v)||!ae(y)||!he(y))throw new Error("Row index must be positive integers");if(this._size.length!==2)throw new Error("Only two dimensional matrix is supported");return ve(v,this._size[0]),ve(y,this._size[0]),n._swapRows(v,y,this._size[1],this._values,this._index,this._ptr),this},n._forEachRow=function(v,y,g,A,E){for(var S=A[v],C=A[v+1],M=S;M<C;M++)E(g[M],y[M])},n._swapRows=function(v,y,g,A,E,S){for(var C=0;C<g;C++){var M=S[C],x=S[C+1],N=p(v,M,x,E),$=p(y,M,x,E);if(N<x&&$<x&&E[N]===v&&E[$]===y){if(A){var F=A[N];A[N]=A[$],A[$]=F}continue}if(N<x&&E[N]===v&&($>=x||E[$]!==y)){var I=A?A[N]:void 0;E.splice($,0,y),A&&A.splice($,0,I),E.splice($<=N?N+1:N,1),A&&A.splice($<=N?N+1:N,1);continue}if($<x&&E[$]===y&&(N>=x||E[N]!==v)){var R=A?A[$]:void 0;E.splice(N,0,v),A&&A.splice(N,0,R),E.splice(N<=$?$+1:$,1),A&&A.splice(N<=$?$+1:$,1)}}},n},{isClass:!0}),Pv="number",zv=["typed"];function Uv(i){var t=i.match(/(0[box])([0-9a-fA-F]*)\.([0-9a-fA-F]*)/);if(t){var e={"0b":2,"0o":8,"0x":16}[t[1]],r=t[2],n=t[3];return{input:i,radix:e,integerPart:r,fractionalPart:n}}else return null}function qv(i){for(var t=parseInt(i.integerPart,i.radix),e=0,r=0;r<i.fractionalPart.length;r++){var n=parseInt(i.fractionalPart[r],i.radix);e+=n/Math.pow(i.radix,r+1)}var s=t+e;if(isNaN(s))throw new SyntaxError('String "'+i.input+'" is not a valid number');return s}var Wv=mt(Pv,zv,i=>{var{typed:t}=i,e=t("number",{"":function(){return 0},number:function(n){return n},string:function(n){if(n==="NaN")return NaN;var s=Uv(n);if(s)return qv(s);var a=0,f=n.match(/(0[box][0-9a-fA-F]*)i([0-9]*)/);f&&(a=Number(f[2]),n=f[1]);var l=Number(n);if(isNaN(l))throw new SyntaxError('String "'+n+'" is not a valid number');if(f){if(l>2**a-1)throw new SyntaxError('String "'.concat(n,'" is out of range'));l>=2**(a-1)&&(l=l-2**a)}return l},BigNumber:function(n){return n.toNumber()},Fraction:function(n){return n.valueOf()},Unit:t.referToSelf(r=>n=>{var s=n.clone();return s.value=r(n.value),s}),null:function(n){return 0},"Unit, string | Unit":function(n,s){return n.toNumber(s)},"Array | Matrix":t.referToSelf(r=>n=>xr(n,r))});return e.fromJSON=function(r){return parseFloat(r.value)},e}),kv="bignumber",Yv=["typed","BigNumber"],Zv=mt(kv,Yv,i=>{var{typed:t,BigNumber:e}=i;return t("bignumber",{"":function(){return new e(0)},number:function(n){return new e(n+"")},string:function(n){var s=n.match(/(0[box][0-9a-fA-F]*)i([0-9]*)/);if(s){var a=s[2],f=e(s[1]),l=new e(2).pow(Number(a));if(f.gt(l.sub(1)))throw new SyntaxError('String "'.concat(n,'" is out of range'));var p=new e(2).pow(Number(a)-1);return f.gte(p)?f.sub(l):f}return new e(n)},BigNumber:function(n){return n},Unit:t.referToSelf(r=>n=>{var s=n.clone();return s.value=r(n.value),s}),Fraction:function(n){return new e(n.n).div(n.d).times(n.s)},null:function(n){return new e(0)},"Array | Matrix":t.referToSelf(r=>n=>xr(n,r))})}),jv="fraction",Gv=["typed","Fraction"],Kv=mt(jv,Gv,i=>{var{typed:t,Fraction:e}=i;return t("fraction",{number:function(n){if(!isFinite(n)||isNaN(n))throw new Error(n+" cannot be represented as a fraction");return new e(n)},string:function(n){return new e(n)},"number, number":function(n,s){return new e(n,s)},null:function(n){return new e(0)},BigNumber:function(n){return new e(n.toString())},Fraction:function(n){return n},Unit:t.referToSelf(r=>n=>{var s=n.clone();return s.value=r(n.value),s}),Object:function(n){return new e(n)},"Array | Matrix":t.referToSelf(r=>n=>xr(n,r))})}),Sc="matrix",Jv=["typed","Matrix","DenseMatrix","SparseMatrix"],Xv=mt(Sc,Jv,i=>{var{typed:t,Matrix:e,DenseMatrix:r,SparseMatrix:n}=i;return t(Sc,{"":function(){return s([])},string:function(f){return s([],f)},"string, string":function(f,l){return s([],f,l)},Array:function(f){return s(f)},Matrix:function(f){return s(f,f.storage())},"Array | Matrix, string":s,"Array | Matrix, string, string":s});function s(a,f,l){if(f==="dense"||f==="default"||f===void 0)return new r(a,l);if(f==="sparse")return new n(a,l);throw new TypeError("Unknown matrix type "+JSON.stringify(f)+".")}}),Nc="unaryMinus",Hv=["typed"],Qv=mt(Nc,Hv,i=>{var{typed:t}=i;return t(Nc,{number:yc,"Complex | BigNumber | Fraction":e=>e.neg(),Unit:t.referToSelf(e=>r=>{var n=r.clone();return n.value=t.find(e,n.valueType())(r.value),n}),"Array | Matrix":t.referToSelf(e=>r=>xr(r,e))})}),Bc="abs",Vv=["typed"],tg=mt(Bc,Vv,i=>{var{typed:t}=i;return t(Bc,{number:gc,"Complex | BigNumber | Fraction | Unit":e=>e.abs(),"Array | Matrix":t.referToSelf(e=>r=>xr(r,e))})}),Ic="addScalar",eg=["typed"],rg=mt(Ic,eg,i=>{var{typed:t}=i;return t(Ic,{"number, number":wc,"Complex, Complex":function(r,n){return r.add(n)},"BigNumber, BigNumber":function(r,n){return r.plus(n)},"Fraction, Fraction":function(r,n){return r.add(n)},"Unit, Unit":t.referToSelf(e=>(r,n)=>{if(r.value===null||r.value===void 0)throw new Error("Parameter x contains a unit with undefined value");if(n.value===null||n.value===void 0)throw new Error("Parameter y contains a unit with undefined value");if(!r.equalBase(n))throw new Error("Units do not match");var s=r.clone();return s.value=t.find(e,[s.valueType(),n.valueType()])(s.value,n.value),s.fixPrefix=!1,s})})}),Tc="subtractScalar",ng=["typed"],ig=mt(Tc,ng,i=>{var{typed:t}=i;return t(Tc,{"number, number":_c,"Complex, Complex":function(r,n){return r.sub(n)},"BigNumber, BigNumber":function(r,n){return r.minus(n)},"Fraction, Fraction":function(r,n){return r.sub(n)},"Unit, Unit":t.referToSelf(e=>(r,n)=>{if(r.value===null||r.value===void 0)throw new Error("Parameter x contains a unit with undefined value");if(n.value===null||n.value===void 0)throw new Error("Parameter y contains a unit with undefined value");if(!r.equalBase(n))throw new Error("Units do not match");var s=r.clone();return s.value=t.find(e,[s.valueType(),n.valueType()])(s.value,n.value),s.fixPrefix=!1,s})})}),sg="matAlgo11xS0s",ug=["typed","equalScalar"],mo=mt(sg,ug,i=>{var{typed:t,equalScalar:e}=i;return function(n,s,a,f){var l=n._values,p=n._index,h=n._ptr,c=n._size,m=n._datatype;if(!l)throw new Error("Cannot perform operation on Pattern Sparse Matrix and Scalar value");var w=c[0],D=c[1],v,y=e,g=0,A=a;typeof m=="string"&&(v=m,y=t.find(e,[v,v]),g=t.convert(0,v),s=t.convert(s,v),A=t.find(a,[v,v]));for(var E=[],S=[],C=[],M=0;M<D;M++){C[M]=S.length;for(var x=h[M],N=h[M+1],$=x;$<N;$++){var F=p[$],I=f?A(s,l[$]):A(l[$],s);y(I,g)||(S.push(F),E.push(I))}}return C[D]=S.length,n.createSparseMatrix({values:E,index:S,ptr:C,size:[w,D],datatype:v})}}),og="matAlgo12xSfs",ag=["typed","DenseMatrix"],ri=mt(og,ag,i=>{var{typed:t,DenseMatrix:e}=i;return function(n,s,a,f){var l=n._values,p=n._index,h=n._ptr,c=n._size,m=n._datatype;if(!l)throw new Error("Cannot perform operation on Pattern Sparse Matrix and Scalar value");var w=c[0],D=c[1],v,y=a;typeof m=="string"&&(v=m,s=t.convert(s,v),y=t.find(a,[v,v]));for(var g=[],A=[],E=[],S=0;S<D;S++){for(var C=S+1,M=h[S],x=h[S+1],N=M;N<x;N++){var $=p[N];A[$]=l[N],E[$]=C}for(var F=0;F<w;F++)S===0&&(g[F]=[]),E[F]===C?g[F][S]=f?y(s,A[F]):y(A[F],s):g[F][S]=f?y(s,0):y(0,s)}return new e({data:g,size:[w,D],datatype:v})}}),fg="matAlgo14xDs",cg=["typed"],vo=mt(fg,cg,i=>{var{typed:t}=i;return function(n,s,a,f){var l=n._data,p=n._size,h=n._datatype,c,m=a;typeof h=="string"&&(c=h,s=t.convert(s,c),m=t.find(a,[c,c]));var w=p.length>0?e(m,0,p,p[0],l,s,f):[];return n.createDenseMatrix({data:w,size:te(p),datatype:c})};function e(r,n,s,a,f,l,p){var h=[];if(n===s.length-1)for(var c=0;c<a;c++)h[c]=p?r(l,f[c]):r(f[c],l);else for(var m=0;m<a;m++)h[m]=e(r,n+1,s,s[n+1],f[m],l,p);return h}}),lg="matAlgo02xDS0",hg=["typed","equalScalar"],pg=mt(lg,hg,i=>{var{typed:t,equalScalar:e}=i;return function(n,s,a,f){var l=n._data,p=n._size,h=n._datatype||n.getDataType(),c=s._values,m=s._index,w=s._ptr,D=s._size,v=s._datatype||s._data===void 0?s._datatype:s.getDataType();if(p.length!==D.length)throw new jt(p.length,D.length);if(p[0]!==D[0]||p[1]!==D[1])throw new RangeError("Dimension mismatch. Matrix A ("+p+") must match Matrix B ("+D+")");if(!c)throw new Error("Cannot perform operation on Dense Matrix and Pattern Sparse Matrix");var y=p[0],g=p[1],A,E=e,S=0,C=a;typeof h=="string"&&h===v&&h!=="mixed"&&(A=h,E=t.find(e,[A,A]),S=t.convert(0,A),C=t.find(a,[A,A]));for(var M=[],x=[],N=[],$=0;$<g;$++){N[$]=x.length;for(var F=w[$],I=w[$+1],R=F;R<I;R++){var q=m[R],U=f?C(c[R],l[q][$]):C(l[q][$],c[R]);E(U,S)||(x.push(q),M.push(U))}}return N[g]=x.length,s.createSparseMatrix({values:M,index:x,ptr:N,size:[y,g],datatype:h===n._datatype&&v===s._datatype?A:void 0})}}),dg="matAlgo03xDSf",mg=["typed"],ni=mt(dg,mg,i=>{var{typed:t}=i;return function(r,n,s,a){var f=r._data,l=r._size,p=r._datatype||r.getDataType(),h=n._values,c=n._index,m=n._ptr,w=n._size,D=n._datatype||n._data===void 0?n._datatype:n.getDataType();if(l.length!==w.length)throw new jt(l.length,w.length);if(l[0]!==w[0]||l[1]!==w[1])throw new RangeError("Dimension mismatch. Matrix A ("+l+") must match Matrix B ("+w+")");if(!h)throw new Error("Cannot perform operation on Dense Matrix and Pattern Sparse Matrix");var v=l[0],y=l[1],g,A=0,E=s;typeof p=="string"&&p===D&&p!=="mixed"&&(g=p,A=t.convert(0,g),E=t.find(s,[g,g]));for(var S=[],C=0;C<v;C++)S[C]=[];for(var M=[],x=[],N=0;N<y;N++){for(var $=N+1,F=m[N],I=m[N+1],R=F;R<I;R++){var q=c[R];M[q]=a?E(h[R],f[q][N]):E(f[q][N],h[R]),x[q]=$}for(var U=0;U<v;U++)x[U]===$?S[U][N]=M[U]:S[U][N]=a?E(A,f[U][N]):E(f[U][N],A)}return r.createDenseMatrix({data:S,size:[v,y],datatype:p===r._datatype&&D===n._datatype?g:void 0})}}),vg="matAlgo05xSfSf",gg=["typed","equalScalar"],$c=mt(vg,gg,i=>{var{typed:t,equalScalar:e}=i;return function(n,s,a){var f=n._values,l=n._index,p=n._ptr,h=n._size,c=n._datatype||n._data===void 0?n._datatype:n.getDataType(),m=s._values,w=s._index,D=s._ptr,v=s._size,y=s._datatype||s._data===void 0?s._datatype:s.getDataType();if(h.length!==v.length)throw new jt(h.length,v.length);if(h[0]!==v[0]||h[1]!==v[1])throw new RangeError("Dimension mismatch. Matrix A ("+h+") must match Matrix B ("+v+")");var g=h[0],A=h[1],E,S=e,C=0,M=a;typeof c=="string"&&c===y&&c!=="mixed"&&(E=c,S=t.find(e,[E,E]),C=t.convert(0,E),M=t.find(a,[E,E]));var x=f&&m?[]:void 0,N=[],$=[],F=x?[]:void 0,I=x?[]:void 0,R=[],q=[],U,W,P,G;for(W=0;W<A;W++){$[W]=N.length;var j=W+1;for(P=p[W],G=p[W+1];P<G;P++)U=l[P],N.push(U),R[U]=j,F&&(F[U]=f[P]);for(P=D[W],G=D[W+1];P<G;P++)U=w[P],R[U]!==j&&N.push(U),q[U]=j,I&&(I[U]=m[P]);if(x)for(P=$[W];P<N.length;){U=N[P];var H=R[U],V=q[U];if(H===j||V===j){var ct=H===j?F[U]:C,gt=V===j?I[U]:C,ft=M(ct,gt);S(ft,C)?N.splice(P,1):(x.push(ft),P++)}}}return $[A]=N.length,n.createSparseMatrix({values:x,index:N,ptr:$,size:[g,A],datatype:c===n._datatype&&y===s._datatype?E:void 0})}}),wg="matAlgo13xDD",_g=["typed"],Dg=mt(wg,_g,i=>{var{typed:t}=i;return function(n,s,a){var f=n._data,l=n._size,p=n._datatype,h=s._data,c=s._size,m=s._datatype,w=[];if(l.length!==c.length)throw new jt(l.length,c.length);for(var D=0;D<l.length;D++){if(l[D]!==c[D])throw new RangeError("Dimension mismatch. Matrix A ("+l+") must match Matrix B ("+c+")");w[D]=l[D]}var v,y=a;typeof p=="string"&&p===m&&(v=p,y=t.find(a,[v,v]));var g=w.length>0?e(y,0,w,w[0],f,h):[];return n.createDenseMatrix({data:g,size:w,datatype:v})};function e(r,n,s,a,f,l){var p=[];if(n===s.length-1)for(var h=0;h<a;h++)p[h]=r(f[h],l[h]);else for(var c=0;c<a;c++)p[c]=e(r,n+1,s,s[n+1],f[c],l[c]);return p}}),yg="broadcast",Eg=["concat"],Ag=mt(yg,Eg,i=>{var{concat:t}=i;return function(n,s){var a=Math.max(n._size.length,s._size.length);if(n._size.length===s._size.length&&n._size.every((D,v)=>D===s._size[v]))return[n,s];for(var f=e(n._size,a,0),l=e(s._size,a,0),p=[],h=0;h<a;h++)p[h]=Math.max(f[h],l[h]);vs(f,p),vs(l,p);var c=n.clone(),m=s.clone();c._size.length<a?c.reshape(e(c._size,a,1)):m._size.length<a&&m.reshape(e(m._size,a,1));for(var w=0;w<a;w++)c._size[w]<p[w]&&(c=r(c,p[w],w)),m._size[w]<p[w]&&(m=r(m,p[w],w));return[c,m]};function e(n,s,a){return[...Array(s-n.length).fill(a),...n]}function r(n,s,a){return t(...Array(s).fill(n),a)}}),bg="matrixAlgorithmSuite",Cg=["typed","matrix","concat"],Tn=mt(bg,Cg,i=>{var{typed:t,matrix:e,concat:r}=i,n=Dg({typed:t}),s=vo({typed:t}),a=Ag({concat:r});return function(l){var p=l.elop,h=l.SD||l.DS,c;p?(c={"DenseMatrix, DenseMatrix":(v,y)=>n(...a(v,y),p),"Array, Array":(v,y)=>n(...a(e(v),e(y)),p).valueOf(),"Array, DenseMatrix":(v,y)=>n(...a(e(v),y),p),"DenseMatrix, Array":(v,y)=>n(...a(v,e(y)),p)},l.SS&&(c["SparseMatrix, SparseMatrix"]=(v,y)=>l.SS(...a(v,y),p,!1)),l.DS&&(c["DenseMatrix, SparseMatrix"]=(v,y)=>l.DS(...a(v,y),p,!1),c["Array, SparseMatrix"]=(v,y)=>l.DS(...a(e(v),y),p,!1)),h&&(c["SparseMatrix, DenseMatrix"]=(v,y)=>h(...a(y,v),p,!0),c["SparseMatrix, Array"]=(v,y)=>h(...a(e(y),v),p,!0))):(c={"DenseMatrix, DenseMatrix":t.referToSelf(v=>(y,g)=>n(...a(y,g),v)),"Array, Array":t.referToSelf(v=>(y,g)=>n(...a(e(y),e(g)),v).valueOf()),"Array, DenseMatrix":t.referToSelf(v=>(y,g)=>n(...a(e(y),g),v)),"DenseMatrix, Array":t.referToSelf(v=>(y,g)=>n(...a(y,e(g)),v))},l.SS&&(c["SparseMatrix, SparseMatrix"]=t.referToSelf(v=>(y,g)=>l.SS(...a(y,g),v,!1))),l.DS&&(c["DenseMatrix, SparseMatrix"]=t.referToSelf(v=>(y,g)=>l.DS(...a(y,g),v,!1)),c["Array, SparseMatrix"]=t.referToSelf(v=>(y,g)=>l.DS(...a(e(y),g),v,!1))),h&&(c["SparseMatrix, DenseMatrix"]=t.referToSelf(v=>(y,g)=>h(...a(g,y),v,!0)),c["SparseMatrix, Array"]=t.referToSelf(v=>(y,g)=>h(...a(e(g),y),v,!0))));var m=l.scalar||"any",w=l.Ds||l.Ss;w&&(p?(c["DenseMatrix,"+m]=(v,y)=>s(v,y,p,!1),c[m+", DenseMatrix"]=(v,y)=>s(y,v,p,!0),c["Array,"+m]=(v,y)=>s(e(v),y,p,!1).valueOf(),c[m+", Array"]=(v,y)=>s(e(y),v,p,!0).valueOf()):(c["DenseMatrix,"+m]=t.referToSelf(v=>(y,g)=>s(y,g,v,!1)),c[m+", DenseMatrix"]=t.referToSelf(v=>(y,g)=>s(g,y,v,!0)),c["Array,"+m]=t.referToSelf(v=>(y,g)=>s(e(y),g,v,!1).valueOf()),c[m+", Array"]=t.referToSelf(v=>(y,g)=>s(e(g),y,v,!0).valueOf())));var D=l.sS!==void 0?l.sS:l.Ss;return p?(l.Ss&&(c["SparseMatrix,"+m]=(v,y)=>l.Ss(v,y,p,!1)),D&&(c[m+", SparseMatrix"]=(v,y)=>D(y,v,p,!0))):(l.Ss&&(c["SparseMatrix,"+m]=t.referToSelf(v=>(y,g)=>l.Ss(y,g,v,!1))),D&&(c[m+", SparseMatrix"]=t.referToSelf(v=>(y,g)=>D(g,y,v,!0)))),p&&p.signatures&&Mf(c,p.signatures),c}}),Fg="matAlgo01xDSid",Mg=["typed"],Oc=mt(Fg,Mg,i=>{var{typed:t}=i;return function(r,n,s,a){var f=r._data,l=r._size,p=r._datatype||r.getDataType(),h=n._values,c=n._index,m=n._ptr,w=n._size,D=n._datatype||n._data===void 0?n._datatype:n.getDataType();if(l.length!==w.length)throw new jt(l.length,w.length);if(l[0]!==w[0]||l[1]!==w[1])throw new RangeError("Dimension mismatch. Matrix A ("+l+") must match Matrix B ("+w+")");if(!h)throw new Error("Cannot perform operation on Dense Matrix and Pattern Sparse Matrix");var v=l[0],y=l[1],g=typeof p=="string"&&p!=="mixed"&&p===D?p:void 0,A=g?t.find(s,[g,g]):s,E,S,C=[];for(E=0;E<v;E++)C[E]=[];var M=[],x=[];for(S=0;S<y;S++){for(var N=S+1,$=m[S],F=m[S+1],I=$;I<F;I++)E=c[I],M[E]=a?A(h[I],f[E][S]):A(f[E][S],h[I]),x[E]=N;for(E=0;E<v;E++)x[E]===N?C[E][S]=M[E]:C[E][S]=f[E][S]}return r.createDenseMatrix({data:C,size:[v,y],datatype:p===r._datatype&&D===n._datatype?g:void 0})}}),xg="matAlgo04xSidSid",Sg=["typed","equalScalar"],Ng=mt(xg,Sg,i=>{var{typed:t,equalScalar:e}=i;return function(n,s,a){var f=n._values,l=n._index,p=n._ptr,h=n._size,c=n._datatype||n._data===void 0?n._datatype:n.getDataType(),m=s._values,w=s._index,D=s._ptr,v=s._size,y=s._datatype||s._data===void 0?s._datatype:s.getDataType();if(h.length!==v.length)throw new jt(h.length,v.length);if(h[0]!==v[0]||h[1]!==v[1])throw new RangeError("Dimension mismatch. Matrix A ("+h+") must match Matrix B ("+v+")");var g=h[0],A=h[1],E,S=e,C=0,M=a;typeof c=="string"&&c===y&&c!=="mixed"&&(E=c,S=t.find(e,[E,E]),C=t.convert(0,E),M=t.find(a,[E,E]));var x=f&&m?[]:void 0,N=[],$=[],F=f&&m?[]:void 0,I=f&&m?[]:void 0,R=[],q=[],U,W,P,G,j;for(W=0;W<A;W++){$[W]=N.length;var H=W+1;for(G=p[W],j=p[W+1],P=G;P<j;P++)U=l[P],N.push(U),R[U]=H,F&&(F[U]=f[P]);for(G=D[W],j=D[W+1],P=G;P<j;P++)if(U=w[P],R[U]===H){if(F){var V=M(F[U],m[P]);S(V,C)?R[U]=null:F[U]=V}}else N.push(U),q[U]=H,I&&(I[U]=m[P]);if(F&&I)for(P=$[W];P<N.length;)U=N[P],R[U]===H?(x[P]=F[U],P++):q[U]===H?(x[P]=I[U],P++):N.splice(P,1)}return $[A]=N.length,n.createSparseMatrix({values:x,index:N,ptr:$,size:[g,A],datatype:c===n._datatype&&y===s._datatype?E:void 0})}}),Bg="matAlgo10xSids",Ig=["typed","DenseMatrix"],Rc=mt(Bg,Ig,i=>{var{typed:t,DenseMatrix:e}=i;return function(n,s,a,f){var l=n._values,p=n._index,h=n._ptr,c=n._size,m=n._datatype;if(!l)throw new Error("Cannot perform operation on Pattern Sparse Matrix and Scalar value");var w=c[0],D=c[1],v,y=a;typeof m=="string"&&(v=m,s=t.convert(s,v),y=t.find(a,[v,v]));for(var g=[],A=[],E=[],S=0;S<D;S++){for(var C=S+1,M=h[S],x=h[S+1],N=M;N<x;N++){var $=p[N];A[$]=l[N],E[$]=C}for(var F=0;F<w;F++)S===0&&(g[F]=[]),E[F]===C?g[F][S]=f?y(s,A[F]):y(A[F],s):g[F][S]=s}return new e({data:g,size:[w,D],datatype:v})}}),Tg="multiplyScalar",$g=["typed"],Og=mt(Tg,$g,i=>{var{typed:t}=i;return t("multiplyScalar",{"number, number":Dc,"Complex, Complex":function(r,n){return r.mul(n)},"BigNumber, BigNumber":function(r,n){return r.times(n)},"Fraction, Fraction":function(r,n){return r.mul(n)},"number | Fraction | BigNumber | Complex, Unit":(e,r)=>r.multiply(e),"Unit, number | Fraction | BigNumber | Complex | Unit":(e,r)=>e.multiply(r)})}),Lc="multiply",Rg=["typed","matrix","addScalar","multiplyScalar","equalScalar","dot"],Lg=mt(Lc,Rg,i=>{var{typed:t,matrix:e,addScalar:r,multiplyScalar:n,equalScalar:s,dot:a}=i,f=mo({typed:t,equalScalar:s}),l=vo({typed:t});function p(C,M){switch(C.length){case 1:switch(M.length){case 1:if(C[0]!==M[0])throw new RangeError("Dimension mismatch in multiplication. Vectors must have the same length");break;case 2:if(C[0]!==M[0])throw new RangeError("Dimension mismatch in multiplication. Vector length ("+C[0]+") must match Matrix rows ("+M[0]+")");break;default:throw new Error("Can only multiply a 1 or 2 dimensional matrix (Matrix B has "+M.length+" dimensions)")}break;case 2:switch(M.length){case 1:if(C[1]!==M[0])throw new RangeError("Dimension mismatch in multiplication. Matrix columns ("+C[1]+") must match Vector length ("+M[0]+")");break;case 2:if(C[1]!==M[0])throw new RangeError("Dimension mismatch in multiplication. Matrix A columns ("+C[1]+") must match Matrix B rows ("+M[0]+")");break;default:throw new Error("Can only multiply a 1 or 2 dimensional matrix (Matrix B has "+M.length+" dimensions)")}break;default:throw new Error("Can only multiply a 1 or 2 dimensional matrix (Matrix A has "+C.length+" dimensions)")}}function h(C,M,x){if(x===0)throw new Error("Cannot multiply two empty vectors");return a(C,M)}function c(C,M){if(M.storage()!=="dense")throw new Error("Support for SparseMatrix not implemented");return m(C,M)}function m(C,M){var x=C._data,N=C._size,$=C._datatype||C.getDataType(),F=M._data,I=M._size,R=M._datatype||M.getDataType(),q=N[0],U=I[1],W,P=r,G=n;$&&R&&$===R&&typeof $=="string"&&$!=="mixed"&&(W=$,P=t.find(r,[W,W]),G=t.find(n,[W,W]));for(var j=[],H=0;H<U;H++){for(var V=G(x[0],F[0][H]),ct=1;ct<q;ct++)V=P(V,G(x[ct],F[ct][H]));j[H]=V}return C.createDenseMatrix({data:j,size:[U],datatype:$===C._datatype&&R===M._datatype?W:void 0})}var w=t("_multiplyMatrixVector",{"DenseMatrix, any":v,"SparseMatrix, any":A}),D=t("_multiplyMatrixMatrix",{"DenseMatrix, DenseMatrix":y,"DenseMatrix, SparseMatrix":g,"SparseMatrix, DenseMatrix":E,"SparseMatrix, SparseMatrix":S});function v(C,M){var x=C._data,N=C._size,$=C._datatype||C.getDataType(),F=M._data,I=M._datatype||M.getDataType(),R=N[0],q=N[1],U,W=r,P=n;$&&I&&$===I&&typeof $=="string"&&$!=="mixed"&&(U=$,W=t.find(r,[U,U]),P=t.find(n,[U,U]));for(var G=[],j=0;j<R;j++){for(var H=x[j],V=P(H[0],F[0]),ct=1;ct<q;ct++)V=W(V,P(H[ct],F[ct]));G[j]=V}return C.createDenseMatrix({data:G,size:[R],datatype:$===C._datatype&&I===M._datatype?U:void 0})}function y(C,M){var x=C._data,N=C._size,$=C._datatype||C.getDataType(),F=M._data,I=M._size,R=M._datatype||M.getDataType(),q=N[0],U=N[1],W=I[1],P,G=r,j=n;$&&R&&$===R&&typeof $=="string"&&$!=="mixed"&&$!=="mixed"&&(P=$,G=t.find(r,[P,P]),j=t.find(n,[P,P]));for(var H=[],V=0;V<q;V++){var ct=x[V];H[V]=[];for(var gt=0;gt<W;gt++){for(var ft=j(ct[0],F[0][gt]),_t=1;_t<U;_t++)ft=G(ft,j(ct[_t],F[_t][gt]));H[V][gt]=ft}}return C.createDenseMatrix({data:H,size:[q,W],datatype:$===C._datatype&&R===M._datatype?P:void 0})}function g(C,M){var x=C._data,N=C._size,$=C._datatype||C.getDataType(),F=M._values,I=M._index,R=M._ptr,q=M._size,U=M._datatype||M._data===void 0?M._datatype:M.getDataType();if(!F)throw new Error("Cannot multiply Dense Matrix times Pattern only Matrix");var W=N[0],P=q[1],G,j=r,H=n,V=s,ct=0;$&&U&&$===U&&typeof $=="string"&&$!=="mixed"&&(G=$,j=t.find(r,[G,G]),H=t.find(n,[G,G]),V=t.find(s,[G,G]),ct=t.convert(0,G));for(var gt=[],ft=[],_t=[],yt=M.createSparseMatrix({values:gt,index:ft,ptr:_t,size:[W,P],datatype:$===C._datatype&&U===M._datatype?G:void 0}),Nt=0;Nt<P;Nt++){_t[Nt]=ft.length;var Et=R[Nt],ee=R[Nt+1];if(ee>Et)for(var It=0,xt=0;xt<W;xt++){for(var ie=xt+1,Xt=void 0,zt=Et;zt<ee;zt++){var Gt=I[zt];It!==ie?(Xt=H(x[xt][Gt],F[zt]),It=ie):Xt=j(Xt,H(x[xt][Gt],F[zt]))}It===ie&&!V(Xt,ct)&&(ft.push(xt),gt.push(Xt))}}return _t[P]=ft.length,yt}function A(C,M){var x=C._values,N=C._index,$=C._ptr,F=C._datatype||C._data===void 0?C._datatype:C.getDataType();if(!x)throw new Error("Cannot multiply Pattern only Matrix times Dense Matrix");var I=M._data,R=M._datatype||M.getDataType(),q=C._size[0],U=M._size[0],W=[],P=[],G=[],j,H=r,V=n,ct=s,gt=0;F&&R&&F===R&&typeof F=="string"&&F!=="mixed"&&(j=F,H=t.find(r,[j,j]),V=t.find(n,[j,j]),ct=t.find(s,[j,j]),gt=t.convert(0,j));var ft=[],_t=[];G[0]=0;for(var yt=0;yt<U;yt++){var Nt=I[yt];if(!ct(Nt,gt))for(var Et=$[yt],ee=$[yt+1],It=Et;It<ee;It++){var xt=N[It];_t[xt]?ft[xt]=H(ft[xt],V(Nt,x[It])):(_t[xt]=!0,P.push(xt),ft[xt]=V(Nt,x[It]))}}for(var ie=P.length,Xt=0;Xt<ie;Xt++){var zt=P[Xt];W[Xt]=ft[zt]}return G[1]=P.length,C.createSparseMatrix({values:W,index:P,ptr:G,size:[q,1],datatype:F===C._datatype&&R===M._datatype?j:void 0})}function E(C,M){var x=C._values,N=C._index,$=C._ptr,F=C._datatype||C._data===void 0?C._datatype:C.getDataType();if(!x)throw new Error("Cannot multiply Pattern only Matrix times Dense Matrix");var I=M._data,R=M._datatype||M.getDataType(),q=C._size[0],U=M._size[0],W=M._size[1],P,G=r,j=n,H=s,V=0;F&&R&&F===R&&typeof F=="string"&&F!=="mixed"&&(P=F,G=t.find(r,[P,P]),j=t.find(n,[P,P]),H=t.find(s,[P,P]),V=t.convert(0,P));for(var ct=[],gt=[],ft=[],_t=C.createSparseMatrix({values:ct,index:gt,ptr:ft,size:[q,W],datatype:F===C._datatype&&R===M._datatype?P:void 0}),yt=[],Nt=[],Et=0;Et<W;Et++){ft[Et]=gt.length;for(var ee=Et+1,It=0;It<U;It++){var xt=I[It][Et];if(!H(xt,V))for(var ie=$[It],Xt=$[It+1],zt=ie;zt<Xt;zt++){var Gt=N[zt];Nt[Gt]!==ee?(Nt[Gt]=ee,gt.push(Gt),yt[Gt]=j(xt,x[zt])):yt[Gt]=G(yt[Gt],j(xt,x[zt]))}}for(var Fe=ft[Et],er=gt.length,xe=Fe;xe<er;xe++){var jr=gt[xe];ct[xe]=yt[jr]}}return ft[W]=gt.length,_t}function S(C,M){var x=C._values,N=C._index,$=C._ptr,F=C._datatype||C._data===void 0?C._datatype:C.getDataType(),I=M._values,R=M._index,q=M._ptr,U=M._datatype||M._data===void 0?M._datatype:M.getDataType(),W=C._size[0],P=M._size[1],G=x&&I,j,H=r,V=n;F&&U&&F===U&&typeof F=="string"&&F!=="mixed"&&(j=F,H=t.find(r,[j,j]),V=t.find(n,[j,j]));for(var ct=G?[]:void 0,gt=[],ft=[],_t=C.createSparseMatrix({values:ct,index:gt,ptr:ft,size:[W,P],datatype:F===C._datatype&&U===M._datatype?j:void 0}),yt=G?[]:void 0,Nt=[],Et,ee,It,xt,ie,Xt,zt,Gt,Fe=0;Fe<P;Fe++){ft[Fe]=gt.length;var er=Fe+1;for(ie=q[Fe],Xt=q[Fe+1],xt=ie;xt<Xt;xt++)if(Gt=R[xt],G)for(ee=$[Gt],It=$[Gt+1],Et=ee;Et<It;Et++)zt=N[Et],Nt[zt]!==er?(Nt[zt]=er,gt.push(zt),yt[zt]=V(I[xt],x[Et])):yt[zt]=H(yt[zt],V(I[xt],x[Et]));else for(ee=$[Gt],It=$[Gt+1],Et=ee;Et<It;Et++)zt=N[Et],Nt[zt]!==er&&(Nt[zt]=er,gt.push(zt));if(G)for(var xe=ft[Fe],jr=gt.length,pn=xe;pn<jr;pn++){var Gr=gt[pn];ct[pn]=yt[Gr]}}return ft[P]=gt.length,_t}return t(Lc,n,{"Array, Array":t.referTo("Matrix, Matrix",C=>(M,x)=>{p(be(M),be(x));var N=C(e(M),e(x));return ce(N)?N.valueOf():N}),"Matrix, Matrix":function(M,x){var N=M.size(),$=x.size();return p(N,$),N.length===1?$.length===1?h(M,x,N[0]):c(M,x):$.length===1?w(M,x):D(M,x)},"Matrix, Array":t.referTo("Matrix,Matrix",C=>(M,x)=>C(M,e(x))),"Array, Matrix":t.referToSelf(C=>(M,x)=>C(e(M,x.storage()),x)),"SparseMatrix, any":function(M,x){return f(M,x,n,!1)},"DenseMatrix, any":function(M,x){return l(M,x,n,!1)},"any, SparseMatrix":function(M,x){return f(x,M,n,!0)},"any, DenseMatrix":function(M,x){return l(x,M,n,!0)},"Array, any":function(M,x){return l(e(M),x,n,!1).valueOf()},"any, Array":function(M,x){return l(e(x),M,n,!0).valueOf()},"any, any":n,"any, any, ...any":t.referToSelf(C=>(M,x,N)=>{for(var $=C(M,x),F=0;F<N.length;F++)$=C($,N[F]);return $})})}),Pc="subtract",Pg=["typed","matrix","equalScalar","subtractScalar","unaryMinus","DenseMatrix","concat"],zg=mt(Pc,Pg,i=>{var{typed:t,matrix:e,equalScalar:r,subtractScalar:n,unaryMinus:s,DenseMatrix:a,concat:f}=i,l=Oc({typed:t}),p=ni({typed:t}),h=$c({typed:t,equalScalar:r}),c=Rc({typed:t,DenseMatrix:a}),m=ri({typed:t,DenseMatrix:a}),w=Tn({typed:t,matrix:e,concat:f});return t(Pc,{"any, any":n},w({elop:n,SS:h,DS:l,SD:p,Ss:m,sS:c}))}),Ug="matAlgo07xSSf",qg=["typed","DenseMatrix"],Bs=mt(Ug,qg,i=>{var{typed:t,DenseMatrix:e}=i;return function(s,a,f){var l=s._size,p=s._datatype||s._data===void 0?s._datatype:s.getDataType(),h=a._size,c=a._datatype||a._data===void 0?a._datatype:a.getDataType();if(l.length!==h.length)throw new jt(l.length,h.length);if(l[0]!==h[0]||l[1]!==h[1])throw new RangeError("Dimension mismatch. Matrix A ("+l+") must match Matrix B ("+h+")");var m=l[0],w=l[1],D,v=0,y=f;typeof p=="string"&&p===c&&p!=="mixed"&&(D=p,v=t.convert(0,D),y=t.find(f,[D,D]));var g,A,E=[];for(g=0;g<m;g++)E[g]=[];var S=[],C=[],M=[],x=[];for(A=0;A<w;A++){var N=A+1;for(r(s,A,M,S,N),r(a,A,x,C,N),g=0;g<m;g++){var $=M[g]===N?S[g]:v,F=x[g]===N?C[g]:v;E[g][A]=y($,F)}}return new e({data:E,size:[m,w],datatype:p===s._datatype&&c===a._datatype?D:void 0})};function r(n,s,a,f,l){for(var p=n._values,h=n._index,c=n._ptr,m=c[s],w=c[s+1];m<w;m++){var D=h[m];a[D]=l,f[D]=p[m]}}}),zc="conj",Wg=["typed"],kg=mt(zc,Wg,i=>{var{typed:t}=i;return t(zc,{"number | BigNumber | Fraction":e=>e,Complex:e=>e.conjugate(),"Array | Matrix":t.referToSelf(e=>r=>xr(r,e))})}),Uc="concat",Yg=["typed","matrix","isInteger"],Zg=mt(Uc,Yg,i=>{var{typed:t,matrix:e,isInteger:r}=i;return t(Uc,{"...Array | Matrix | number | BigNumber":function(s){var a,f=s.length,l=-1,p,h=!1,c=[];for(a=0;a<f;a++){var m=s[a];if(ce(m)&&(h=!0),ae(m)||ye(m)){if(a!==f-1)throw new Error("Dimension must be specified as last argument");if(p=l,l=m.valueOf(),!r(l))throw new TypeError("Integer number expected for dimension");if(l<0||a>0&&l>p)throw new un(l,p+1)}else{var w=te(m).valueOf(),D=be(w);if(c[a]=w,p=l,l=D.length-1,a>0&&l!==p)throw new jt(p+1,l+1)}}if(c.length===0)throw new SyntaxError("At least one matrix expected");for(var v=c.shift();c.length;)v=Gf(v,c.shift(),l);return h?e(v):v},"...string":function(s){return s.join("")}})}),qc="count",jg=["typed","size","prod"],Gg=mt(qc,jg,i=>{var{typed:t,size:e,prod:r}=i;return t(qc,{string:function(s){return s.length},"Matrix | Array":function(s){return r(e(s))}})}),Wc="identity",Kg=["typed","config","matrix","BigNumber","DenseMatrix","SparseMatrix"],Jg=mt(Wc,Kg,i=>{var{typed:t,config:e,matrix:r,BigNumber:n,DenseMatrix:s,SparseMatrix:a}=i;return t(Wc,{"":function(){return e.matrix==="Matrix"?r([]):[]},string:function(h){return r(h)},"number | BigNumber":function(h){return l(h,h,e.matrix==="Matrix"?"dense":void 0)},"number | BigNumber, string":function(h,c){return l(h,h,c)},"number | BigNumber, number | BigNumber":function(h,c){return l(h,c,e.matrix==="Matrix"?"dense":void 0)},"number | BigNumber, number | BigNumber, string":function(h,c,m){return l(h,c,m)},Array:function(h){return f(h)},"Array, string":function(h,c){return f(h,c)},Matrix:function(h){return f(h.valueOf(),h.storage())},"Matrix, string":function(h,c){return f(h.valueOf(),c)}});function f(p,h){switch(p.length){case 0:return h?r(h):[];case 1:return l(p[0],p[0],h);case 2:return l(p[0],p[1],h);default:throw new Error("Vector containing two values expected")}}function l(p,h,c){var m=ye(p)||ye(h)?n:null;if(ye(p)&&(p=p.toNumber()),ye(h)&&(h=h.toNumber()),!he(p)||p<1)throw new Error("Parameters in function identity must be positive integers");if(!he(h)||h<1)throw new Error("Parameters in function identity must be positive integers");var w=m?new n(1):1,D=m?new m(0):0,v=[p,h];if(c){if(c==="sparse")return a.diagonal(v,w,0,D);if(c==="dense")return s.diagonal(v,w,0,D);throw new TypeError('Unknown matrix type "'.concat(c,'"'))}for(var y=to([],v,D),g=p<h?p:h,A=0;A<g;A++)y[A][A]=w;return y}}),kc="kron",Xg=["typed","matrix","multiplyScalar"],Hg=mt(kc,Xg,i=>{var{typed:t,matrix:e,multiplyScalar:r}=i;return t(kc,{"Matrix, Matrix":function(a,f){return e(n(a.toArray(),f.toArray()))},"Matrix, Array":function(a,f){return e(n(a.toArray(),f))},"Array, Matrix":function(a,f){return e(n(a,f.toArray()))},"Array, Array":n});function n(s,a){if(be(s).length===1&&(s=[s]),be(a).length===1&&(a=[a]),be(s).length>2||be(a).length>2)throw new RangeError("Vectors with dimensions greater then 2 are not supported expected (Size x = "+JSON.stringify(s.length)+", y = "+JSON.stringify(a.length)+")");var f=[],l=[];return s.map(function(p){return a.map(function(h){return l=[],f.push(l),p.map(function(c){return h.map(function(m){return l.push(r(c,m))})})})})&&f}});function Qg(){throw new Error('No "bignumber" implementation available')}function Vg(){throw new Error('No "fraction" implementation available')}function t1(){throw new Error('No "matrix" implementation available')}var Yc="reshape",e1=["typed","isInteger","matrix"],r1=mt(Yc,e1,i=>{var{typed:t,isInteger:e}=i;return t(Yc,{"Matrix, Array":function(n,s){return n.reshape(s,!0)},"Array, Array":function(n,s){return s.forEach(function(a){if(!e(a))throw new TypeError("Invalid size for dimension: "+a)}),ro(n,s)}})}),Zc="size",n1=["typed","config","?matrix"],i1=mt(Zc,n1,i=>{var{typed:t,config:e,matrix:r}=i;return t(Zc,{Matrix:function(s){return s.create(s.size())},Array:be,string:function(s){return e.matrix==="Array"?[s.length]:r([s.length])},"number | Complex | BigNumber | Unit | boolean | null":function(s){return e.matrix==="Array"?[]:r?r([]):t1()}})}),jc="transpose",s1=["typed","matrix"],u1=mt(jc,s1,i=>{var{typed:t,matrix:e}=i;return t(jc,{Array:a=>r(e(a)).valueOf(),Matrix:r,any:te});function r(a){var f=a.size(),l;switch(f.length){case 1:l=a.clone();break;case 2:{var p=f[0],h=f[1];if(h===0)throw new RangeError("Cannot transpose a 2D matrix with no columns (size: "+se(f)+")");switch(a.storage()){case"dense":l=n(a,p,h);break;case"sparse":l=s(a,p,h);break}}break;default:throw new RangeError("Matrix must be a vector or two dimensional (size: "+se(f)+")")}return l}function n(a,f,l){for(var p=a._data,h=[],c,m=0;m<l;m++){c=h[m]=[];for(var w=0;w<f;w++)c[w]=te(p[w][m])}return a.createDenseMatrix({data:h,size:[l,f],datatype:a._datatype})}function s(a,f,l){for(var p=a._values,h=a._index,c=a._ptr,m=p?[]:void 0,w=[],D=[],v=[],y=0;y<f;y++)v[y]=0;var g,A,E;for(g=0,A=h.length;g<A;g++)v[h[g]]++;for(var S=0,C=0;C<f;C++)D.push(S),S+=v[C],v[C]=D[C];for(D.push(S),E=0;E<l;E++)for(var M=c[E],x=c[E+1],N=M;N<x;N++){var $=v[h[N]]++;w[$]=E,p&&(m[$]=te(p[N]))}return a.createSparseMatrix({values:m,index:w,ptr:D,size:[l,f],datatype:a._datatype})}}),Gc="ctranspose",o1=["typed","transpose","conj"],a1=mt(Gc,o1,i=>{var{typed:t,transpose:e,conj:r}=i;return t(Gc,{any:function(s){return r(e(s))}})}),Kc="mode",f1=["typed","isNaN","isNumeric"],c1=mt(Kc,f1,i=>{var{typed:t,isNaN:e,isNumeric:r}=i;return t(Kc,{"Array | Matrix":n,"...":function(a){return n(a)}});function n(s){s=io(s.valueOf());var a=s.length;if(a===0)throw new Error("Cannot calculate mode of an empty array");for(var f={},l=[],p=0,h=0;h<s.length;h++){var c=s[h];if(r(c)&&e(c))throw new Error("Cannot calculate mode of an array containing NaN values");c in f||(f[c]=0),f[c]++,f[c]===p?l.push(c):f[c]>p&&(p=f[c],l=[c])}return l}});function ln(i,t,e){var r;return String(i).indexOf("Unexpected type")!==-1?(r=arguments.length>2?" (type: "+sn(e)+", value: "+JSON.stringify(e)+")":" (type: "+i.data.actual+")",new TypeError("Cannot calculate "+t+", unexpected type of argument"+r)):String(i).indexOf("complex numbers")!==-1?(r=arguments.length>2?" (type: "+sn(e)+", value: "+JSON.stringify(e)+")":"",new TypeError("Cannot calculate "+t+", no ordering relation is defined for complex numbers"+r)):i}var Jc="prod",l1=["typed","config","multiplyScalar","numeric"],h1=mt(Jc,l1,i=>{var{typed:t,config:e,multiplyScalar:r,numeric:n}=i;return t(Jc,{"Array | Matrix":s,"Array | Matrix, number | BigNumber":function(f,l){throw new Error("prod(A, dim) is not yet supported")},"...":function(f){return s(f)}});function s(a){var f;if(Ii(a,function(l){try{f=f===void 0?l:r(f,l)}catch(p){throw ln(p,"prod",l)}}),typeof f=="string"&&(f=n(f,e.number)),f===void 0)throw new Error("Cannot calculate prod of an empty array");return f}}),p1="numeric",d1=["number","?bignumber","?fraction"],m1=mt(p1,d1,i=>{var{number:t,bignumber:e,fraction:r}=i,n={string:!0,number:!0,BigNumber:!0,Fraction:!0},s={number:a=>t(a),BigNumber:e?a=>e(a):Qg,Fraction:r?a=>r(a):Vg};return function(f){var l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"number",p=arguments.length>2?arguments[2]:void 0;if(p!==void 0)throw new SyntaxError("numeric() takes one or two arguments");var h=sn(f);if(!(h in n))throw new TypeError("Cannot convert "+f+' of type "'+h+'"; valid input types are '+Object.keys(n).join(", "));if(!(l in s))throw new TypeError("Cannot convert "+f+' to type "'+l+'"; valid output types are '+Object.keys(s).join(", "));return l===h?f:s[l](f)}}),Xc="divideScalar",v1=["typed","numeric"],g1=mt(Xc,v1,i=>{var{typed:t,numeric:e}=i;return t(Xc,{"number, number":function(n,s){return n/s},"Complex, Complex":function(n,s){return n.div(s)},"BigNumber, BigNumber":function(n,s){return n.div(s)},"Fraction, Fraction":function(n,s){return n.div(s)},"Unit, number | Complex | Fraction | BigNumber | Unit":(r,n)=>r.divide(n),"number | Fraction | Complex | BigNumber, Unit":(r,n)=>n.divideInto(r)})}),Hc="pow",w1=["typed","config","identity","multiply","matrix","inv","fraction","number","Complex"],_1=mt(Hc,w1,i=>{var{typed:t,config:e,identity:r,multiply:n,matrix:s,inv:a,number:f,fraction:l,Complex:p}=i;return t(Hc,{"number, number":h,"Complex, Complex":function(D,v){return D.pow(v)},"BigNumber, BigNumber":function(D,v){return v.isInteger()||D>=0||e.predictable?D.pow(v):new p(D.toNumber(),0).pow(v.toNumber(),0)},"Fraction, Fraction":function(D,v){var y=D.pow(v);if(y!=null)return y;if(e.predictable)throw new Error("Result of pow is non-rational and cannot be expressed as a fraction");return h(D.valueOf(),v.valueOf())},"Array, number":c,"Array, BigNumber":function(D,v){return c(D,v.toNumber())},"Matrix, number":m,"Matrix, BigNumber":function(D,v){return m(D,v.toNumber())},"Unit, number | BigNumber":function(D,v){return D.pow(v)}});function h(w,D){if(e.predictable&&!he(D)&&w<0)try{var v=l(D),y=f(v);if((D===y||Math.abs((D-y)/D)<1e-14)&&v.d%2===1)return(v.n%2===0?1:-1)*Math.pow(-w,D)}catch{}return e.predictable&&(w<-1&&D===1/0||w>-1&&w<0&&D===-1/0)?NaN:he(D)||w>=0||e.predictable?Ec(w,D):w*w<1&&D===1/0||w*w>1&&D===-1/0?0:new p(w,0).pow(D,0)}function c(w,D){if(!he(D))throw new TypeError("For A^b, b must be an integer (value is "+D+")");var v=be(w);if(v.length!==2)throw new Error("For A^b, A must be 2 dimensional (A has "+v.length+" dimensions)");if(v[0]!==v[1])throw new Error("For A^b, A must be square (size is "+v[0]+"x"+v[1]+")");if(D<0)try{return c(a(w),-D)}catch(A){throw A.message==="Cannot calculate inverse, determinant is zero"?new TypeError("For A^b, when A is not invertible, b must be a positive integer (value is "+D+")"):A}for(var y=r(v[0]).valueOf(),g=w;D>=1;)(D&1)===1&&(y=n(g,y)),D>>=1,g=n(g,g);return y}function m(w,D){return s(c(w.valueOf(),D))}}),Qc="dotDivide",D1=["typed","matrix","equalScalar","divideScalar","DenseMatrix","concat"],y1=mt(Qc,D1,i=>{var{typed:t,matrix:e,equalScalar:r,divideScalar:n,DenseMatrix:s,concat:a}=i,f=pg({typed:t,equalScalar:r}),l=ni({typed:t}),p=Bs({typed:t,DenseMatrix:s}),h=mo({typed:t,equalScalar:r}),c=ri({typed:t,DenseMatrix:s}),m=Tn({typed:t,matrix:e,concat:a});return t(Qc,m({elop:n,SS:p,DS:l,SD:f,Ss:h,sS:c}))}),Is="compare",E1=["typed","config","matrix","equalScalar","BigNumber","Fraction","DenseMatrix","concat"],A1=mt(Is,E1,i=>{var{typed:t,config:e,equalScalar:r,matrix:n,BigNumber:s,Fraction:a,DenseMatrix:f,concat:l}=i,p=ni({typed:t}),h=$c({typed:t,equalScalar:r}),c=ri({typed:t,DenseMatrix:f}),m=Tn({typed:t,matrix:n,concat:l}),w=Ss({typed:t});return t(Is,b1({typed:t,config:e}),{"boolean, boolean":function(v,y){return v===y?0:v>y?1:-1},"BigNumber, BigNumber":function(v,y){return xs(v,y,e.epsilon)?new s(0):new s(v.cmp(y))},"Fraction, Fraction":function(v,y){return new a(v.compare(y))},"Complex, Complex":function(){throw new TypeError("No ordering relation is defined for complex numbers")}},w,m({SS:h,DS:p,Ss:c}))}),b1=mt(Is,["typed","config"],i=>{var{typed:t,config:e}=i;return t(Is,{"number, number":function(n,s){return In(n,s,e.epsilon)?0:n>s?1:-1}})}),Ts="equal",C1=["typed","matrix","equalScalar","DenseMatrix","concat"],F1=mt(Ts,C1,i=>{var{typed:t,matrix:e,equalScalar:r,DenseMatrix:n,concat:s}=i,a=ni({typed:t}),f=Bs({typed:t,DenseMatrix:n}),l=ri({typed:t,DenseMatrix:n}),p=Tn({typed:t,matrix:e,concat:s});return t(Ts,M1({typed:t,equalScalar:r}),p({elop:r,SS:f,DS:a,Ss:l}))}),M1=mt(Ts,["typed","equalScalar"],i=>{var{typed:t,equalScalar:e}=i;return t(Ts,{"any, any":function(n,s){return n===null?s===null:s===null?n===null:n===void 0?s===void 0:s===void 0?n===void 0:e(n,s)}})}),$s="smaller",x1=["typed","config","matrix","DenseMatrix","concat"],S1=mt($s,x1,i=>{var{typed:t,config:e,matrix:r,DenseMatrix:n,concat:s}=i,a=ni({typed:t}),f=Bs({typed:t,DenseMatrix:n}),l=ri({typed:t,DenseMatrix:n}),p=Tn({typed:t,matrix:r,concat:s}),h=Ss({typed:t});return t($s,N1({typed:t,config:e}),{"boolean, boolean":(c,m)=>c<m,"BigNumber, BigNumber":function(m,w){return m.lt(w)&&!xs(m,w,e.epsilon)},"Fraction, Fraction":(c,m)=>c.compare(m)===-1,"Complex, Complex":function(m,w){throw new TypeError("No ordering relation is defined for complex numbers")}},h,p({SS:f,DS:a,Ss:l}))}),N1=mt($s,["typed","config"],i=>{var{typed:t,config:e}=i;return t($s,{"number, number":function(n,s){return n<s&&!In(n,s,e.epsilon)}})}),Os="larger",B1=["typed","config","matrix","DenseMatrix","concat"],I1=mt(Os,B1,i=>{var{typed:t,config:e,matrix:r,DenseMatrix:n,concat:s}=i,a=ni({typed:t}),f=Bs({typed:t,DenseMatrix:n}),l=ri({typed:t,DenseMatrix:n}),p=Tn({typed:t,matrix:r,concat:s}),h=Ss({typed:t});return t(Os,T1({typed:t,config:e}),{"boolean, boolean":(c,m)=>c>m,"BigNumber, BigNumber":function(m,w){return m.gt(w)&&!xs(m,w,e.epsilon)},"Fraction, Fraction":(c,m)=>c.compare(m)===1,"Complex, Complex":function(){throw new TypeError("No ordering relation is defined for complex numbers")}},h,p({SS:f,DS:a,Ss:l}))}),T1=mt(Os,["typed","config"],i=>{var{typed:t,config:e}=i;return t(Os,{"number, number":function(n,s){return n>s&&!In(n,s,e.epsilon)}})}),Vc="deepEqual",$1=["typed","equal"],O1=mt(Vc,$1,i=>{var{typed:t,equal:e}=i;return t(Vc,{"any, any":function(s,a){return r(s.valueOf(),a.valueOf())}});function r(n,s){if(Array.isArray(n))if(Array.isArray(s)){var a=n.length;if(a!==s.length)return!1;for(var f=0;f<a;f++)if(!r(n[f],s[f]))return!1;return!0}else return!1;else return Array.isArray(s)?!1:e(n,s)}}),tl="partitionSelect",R1=["typed","isNumeric","isNaN","compare"],L1=mt(tl,R1,i=>{var{typed:t,isNumeric:e,isNaN:r,compare:n}=i,s=n,a=(p,h)=>-n(p,h);return t(tl,{"Array | Matrix, number":function(h,c){return f(h,c,s)},"Array | Matrix, number, string":function(h,c,m){if(m==="asc")return f(h,c,s);if(m==="desc")return f(h,c,a);throw new Error('Compare string must be "asc" or "desc"')},"Array | Matrix, number, function":f});function f(p,h,c){if(!he(h)||h<0)throw new Error("k must be a non-negative integer");if(ce(p)){var m=p.size();if(m.length>1)throw new Error("Only one dimensional matrices supported");return l(p.valueOf(),h,c)}if(Array.isArray(p))return l(p,h,c)}function l(p,h,c){if(h>=p.length)throw new Error("k out of bounds");for(var m=0;m<p.length;m++)if(e(p[m])&&r(p[m]))return p[m];for(var w=0,D=p.length-1;w<D;){for(var v=w,y=D,g=p[Math.floor(Math.random()*(D-w+1))+w];v<y;)if(c(p[v],g)>=0){var A=p[y];p[y]=p[v],p[v]=A,--y}else++v;c(p[v],g)>0&&--v,h<=v?D=v:w=v+1}return p[h]}}),el="max",P1=["typed","config","numeric","larger"],z1=mt(el,P1,i=>{var{typed:t,config:e,numeric:r,larger:n}=i;return t(el,{"Array | Matrix":a,"Array | Matrix, number | BigNumber":function(l,p){return po(l,p.valueOf(),s)},"...":function(l){if(Cs(l))throw new TypeError("Scalar values expected in function max");return a(l)}});function s(f,l){try{return n(f,l)?f:l}catch(p){throw ln(p,"max",l)}}function a(f){var l;if(Ii(f,function(p){try{isNaN(p)&&typeof p=="number"?l=NaN:(l===void 0||n(p,l))&&(l=p)}catch(h){throw ln(h,"max",p)}}),l===void 0)throw new Error("Cannot calculate max of an empty array");return typeof l=="string"&&(l=r(l,e.number)),l}}),rl="min",U1=["typed","config","numeric","smaller"],q1=mt(rl,U1,i=>{var{typed:t,config:e,numeric:r,smaller:n}=i;return t(rl,{"Array | Matrix":a,"Array | Matrix, number | BigNumber":function(l,p){return po(l,p.valueOf(),s)},"...":function(l){if(Cs(l))throw new TypeError("Scalar values expected in function min");return a(l)}});function s(f,l){try{return n(f,l)?f:l}catch(p){throw ln(p,"min",l)}}function a(f){var l;if(Ii(f,function(p){try{isNaN(p)&&typeof p=="number"?l=NaN:(l===void 0||n(p,l))&&(l=p)}catch(h){throw ln(h,"min",p)}}),l===void 0)throw new Error("Cannot calculate min of an empty array");return typeof l=="string"&&(l=r(l,e.number)),l}}),nl="add",W1=["typed","matrix","addScalar","equalScalar","DenseMatrix","SparseMatrix","concat"],k1=mt(nl,W1,i=>{var{typed:t,matrix:e,addScalar:r,equalScalar:n,DenseMatrix:s,SparseMatrix:a,concat:f}=i,l=Oc({typed:t}),p=Ng({typed:t,equalScalar:n}),h=Rc({typed:t,DenseMatrix:s}),c=Tn({typed:t,matrix:e,concat:f});return t(nl,{"any, any":r,"any, any, ...any":t.referToSelf(m=>(w,D,v)=>{for(var y=m(w,D),g=0;g<v.length;g++)y=m(y,v[g]);return y})},c({elop:r,DS:l,SS:p,Ss:h}))}),il="dot",Y1=["typed","addScalar","multiplyScalar","conj","size"],Z1=mt(il,Y1,i=>{var{typed:t,addScalar:e,multiplyScalar:r,conj:n,size:s}=i;return t(il,{"Array | DenseMatrix, Array | DenseMatrix":f,"SparseMatrix, SparseMatrix":l});function a(h,c){var m=p(h),w=p(c),D,v;if(m.length===1)D=m[0];else if(m.length===2&&m[1]===1)D=m[0];else throw new RangeError("Expected a column vector, instead got a matrix of size ("+m.join(", ")+")");if(w.length===1)v=w[0];else if(w.length===2&&w[1]===1)v=w[0];else throw new RangeError("Expected a column vector, instead got a matrix of size ("+w.join(", ")+")");if(D!==v)throw new RangeError("Vectors must have equal length ("+D+" != "+v+")");if(D===0)throw new RangeError("Cannot calculate the dot product of empty vectors");return D}function f(h,c){var m=a(h,c),w=ce(h)?h._data:h,D=ce(h)?h._datatype||h.getDataType():void 0,v=ce(c)?c._data:c,y=ce(c)?c._datatype||c.getDataType():void 0,g=p(h).length===2,A=p(c).length===2,E=e,S=r;if(D&&y&&D===y&&typeof D=="string"&&D!=="mixed"){var C=D;E=t.find(e,[C,C]),S=t.find(r,[C,C])}if(!g&&!A){for(var M=S(n(w[0]),v[0]),x=1;x<m;x++)M=E(M,S(n(w[x]),v[x]));return M}if(!g&&A){for(var N=S(n(w[0]),v[0][0]),$=1;$<m;$++)N=E(N,S(n(w[$]),v[$][0]));return N}if(g&&!A){for(var F=S(n(w[0][0]),v[0]),I=1;I<m;I++)F=E(F,S(n(w[I][0]),v[I]));return F}if(g&&A){for(var R=S(n(w[0][0]),v[0][0]),q=1;q<m;q++)R=E(R,S(n(w[q][0]),v[q][0]));return R}}function l(h,c){a(h,c);for(var m=h._index,w=h._values,D=c._index,v=c._values,y=0,g=e,A=r,E=0,S=0;E<m.length&&S<D.length;){var C=m[E],M=D[S];if(C<M){E++;continue}if(C>M){S++;continue}C===M&&(y=g(y,A(w[E],v[S])),E++,S++)}return y}function p(h){return ce(h)?h.size():s(h)}}),j1="trace",G1=["typed","matrix","add"],K1=mt(j1,G1,i=>{var{typed:t,matrix:e,add:r}=i;return t("trace",{Array:function(f){return n(e(f))},SparseMatrix:s,DenseMatrix:n,any:te});function n(a){var f=a._size,l=a._data;switch(f.length){case 1:if(f[0]===1)return te(l[0]);throw new RangeError("Matrix must be square (size: "+se(f)+")");case 2:{var p=f[0],h=f[1];if(p===h){for(var c=0,m=0;m<p;m++)c=r(c,l[m][m]);return c}else throw new RangeError("Matrix must be square (size: "+se(f)+")")}default:throw new RangeError("Matrix must be two dimensional (size: "+se(f)+")")}}function s(a){var f=a._values,l=a._index,p=a._ptr,h=a._size,c=h[0],m=h[1];if(c===m){var w=0;if(f.length>0)for(var D=0;D<m;D++)for(var v=p[D],y=p[D+1],g=v;g<y;g++){var A=l[g];if(A===D){w=r(w,f[g]);break}if(A>D)break}return w}throw new RangeError("Matrix must be square (size: "+se(h)+")")}}),sl="det",J1=["typed","matrix","subtractScalar","multiply","divideScalar","isZero","unaryMinus"],X1=mt(sl,J1,i=>{var{typed:t,matrix:e,subtractScalar:r,multiply:n,divideScalar:s,isZero:a,unaryMinus:f}=i;return t(sl,{any:function(h){return te(h)},"Array | Matrix":function(h){var c;switch(ce(h)?c=h.size():Array.isArray(h)?(h=e(h),c=h.size()):c=[],c.length){case 0:return te(h);case 1:if(c[0]===1)return te(h.valueOf()[0]);if(c[0]===0)return 1;throw new RangeError("Matrix must be square (size: "+se(c)+")");case 2:{var m=c[0],w=c[1];if(m===w)return l(h.clone().valueOf(),m);if(w===0)return 1;throw new RangeError("Matrix must be square (size: "+se(c)+")")}default:throw new RangeError("Matrix must be two dimensional (size: "+se(c)+")")}}});function l(p,h,c){if(h===1)return te(p[0][0]);if(h===2)return r(n(p[0][0],p[1][1]),n(p[1][0],p[0][1]));for(var m=!1,w=new Array(h).fill(0).map((x,N)=>N),D=0;D<h;D++){var v=w[D];if(a(p[v][D])){var y=void 0;for(y=D+1;y<h;y++)if(!a(p[w[y]][D])){v=w[y],w[y]=w[D],w[D]=v,m=!m;break}if(y===h)return p[v][D]}for(var g=p[v][D],A=D===0?1:p[w[D-1]][D-1],E=D+1;E<h;E++)for(var S=w[E],C=D+1;C<h;C++)p[S][C]=s(r(n(p[S][C],g),n(p[S][D],p[v][C])),A)}var M=p[w[h-1]][h-1];return m?f(M):M}}),ul="inv",H1=["typed","matrix","divideScalar","addScalar","multiply","unaryMinus","det","identity","abs"],Q1=mt(ul,H1,i=>{var{typed:t,matrix:e,divideScalar:r,addScalar:n,multiply:s,unaryMinus:a,det:f,identity:l,abs:p}=i;return t(ul,{"Array | Matrix":function(m){var w=ce(m)?m.size():be(m);switch(w.length){case 1:if(w[0]===1)return ce(m)?e([r(1,m.valueOf()[0])]):[r(1,m[0])];throw new RangeError("Matrix must be square (size: "+se(w)+")");case 2:{var D=w[0],v=w[1];if(D===v)return ce(m)?e(h(m.valueOf(),D,v),m.storage()):h(m,D,v);throw new RangeError("Matrix must be square (size: "+se(w)+")")}default:throw new RangeError("Matrix must be two dimensional (size: "+se(w)+")")}},any:function(m){return r(1,m)}});function h(c,m,w){var D,v,y,g,A;if(m===1){if(g=c[0][0],g===0)throw Error("Cannot calculate inverse, determinant is zero");return[[r(1,g)]]}else if(m===2){var E=f(c);if(E===0)throw Error("Cannot calculate inverse, determinant is zero");return[[r(c[1][1],E),r(a(c[0][1]),E)],[r(a(c[1][0]),E),r(c[0][0],E)]]}else{var S=c.concat();for(D=0;D<m;D++)S[D]=S[D].concat();for(var C=l(m).valueOf(),M=0;M<w;M++){var x=p(S[M][M]),N=M;for(D=M+1;D<m;)p(S[D][M])>x&&(x=p(S[D][M]),N=D),D++;if(x===0)throw Error("Cannot calculate inverse, determinant is zero");D=N,D!==M&&(A=S[M],S[M]=S[D],S[D]=A,A=C[M],C[M]=C[D],C[D]=A);var $=S[M],F=C[M];for(D=0;D<m;D++){var I=S[D],R=C[D];if(D!==M){if(I[M]!==0){for(y=r(a(I[M]),$[M]),v=M;v<w;v++)I[v]=n(I[v],s(y,$[v]));for(v=0;v<w;v++)R[v]=n(R[v],s(y,F[v]))}}else{for(y=$[M],v=M;v<w;v++)I[v]=r(I[v],y);for(v=0;v<w;v++)R[v]=r(R[v],y)}}}return C}}}),ol="pinv",V1=["typed","matrix","inv","deepEqual","equal","dotDivide","dot","ctranspose","divideScalar","multiply","add","Complex"],tw=mt(ol,V1,i=>{var{typed:t,matrix:e,inv:r,deepEqual:n,equal:s,dotDivide:a,dot:f,ctranspose:l,divideScalar:p,multiply:h,add:c,Complex:m}=i;return t(ol,{"Array | Matrix":function(E){var S=ce(E)?E.size():be(E);switch(S.length){case 1:return g(E)?l(E):S[0]===1?r(E):a(l(E),f(E,E));case 2:{if(g(E))return l(E);var C=S[0],M=S[1];if(C===M)try{return r(E)}catch(x){if(!(x instanceof Error&&x.message.match(/Cannot calculate inverse, determinant is zero/)))throw x}return ce(E)?e(w(E.valueOf(),C,M),E.storage()):w(E,C,M)}default:throw new RangeError("Matrix must be two dimensional (size: "+se(S)+")")}},any:function(E){return s(E,0)?te(E):p(1,E)}});function w(A,E,S){var{C,F:M}=v(A,E,S),x=h(r(h(l(C),C)),l(C)),N=h(l(M),r(h(M,l(M))));return h(N,x)}function D(A,E,S){for(var C=te(A),M=0,x=0;x<E;x++){if(S<=M)return C;for(var N=x;y(C[N][M]);)if(N++,E===N&&(N=x,M++,S===M))return C;[C[N],C[x]]=[C[x],C[N]];for(var $=C[x][M],F=0;F<S;F++)C[x][F]=a(C[x][F],$);for(var I=0;I<E;I++)if(I!==x){$=C[I][M];for(var R=0;R<S;R++)C[I][R]=c(C[I][R],h(-1,h($,C[x][R])))}M++}return C}function v(A,E,S){var C=D(A,E,S),M=A.map((N,$)=>N.filter((F,I)=>I<E&&!y(f(C[I],C[I])))),x=C.filter((N,$)=>!y(f(C[$],C[$])));return{C:M,F:x}}function y(A){return s(c(A,m(1,1)),c(0,m(1,1)))}function g(A){return n(c(A,m(1,1)),c(h(A,0),m(1,1)))}}),ew="divide",rw=["typed","matrix","multiply","equalScalar","divideScalar","inv"],nw=mt(ew,rw,i=>{var{typed:t,matrix:e,multiply:r,equalScalar:n,divideScalar:s,inv:a}=i,f=mo({typed:t,equalScalar:n}),l=vo({typed:t});return t("divide",Mf({"Array | Matrix, Array | Matrix":function(h,c){return r(h,a(c))},"DenseMatrix, any":function(h,c){return l(h,c,s,!1)},"SparseMatrix, any":function(h,c){return f(h,c,s,!1)},"Array, any":function(h,c){return l(e(h),c,s,!1).valueOf()},"any, Array | Matrix":function(h,c){return r(h,a(c))}},s.signatures))}),al="sum",iw=["typed","config","add","numeric"],sw=mt(al,iw,i=>{var{typed:t,config:e,add:r,numeric:n}=i;return t(al,{"Array | Matrix":s,"Array | Matrix, number | BigNumber":a,"...":function(l){if(Cs(l))throw new TypeError("Scalar values expected in function sum");return s(l)}});function s(f){var l;return Ii(f,function(p){try{l=l===void 0?p:r(l,p)}catch(h){throw ln(h,"sum",p)}}),l===void 0&&(l=n(0,e.number)),typeof l=="string"&&(l=n(l,e.number)),l}function a(f,l){try{var p=po(f,l,r);return p}catch(h){throw ln(h,"sum")}}}),fl="median",uw=["typed","add","divide","compare","partitionSelect"],ow=mt(fl,uw,i=>{var{typed:t,add:e,divide:r,compare:n,partitionSelect:s}=i;function a(p){try{p=io(p.valueOf());var h=p.length;if(h===0)throw new Error("Cannot calculate median of an empty array");if(h%2===0){for(var c=h/2-1,m=s(p,c+1),w=p[c],D=0;D<c;++D)n(p[D],w)>0&&(w=p[D]);return l(w,m)}else{var v=s(p,(h-1)/2);return f(v)}}catch(y){throw ln(y,"median")}}var f=t({"number | BigNumber | Complex | Unit":function(h){return h}}),l=t({"number | BigNumber | Complex | Unit, number | BigNumber | Complex | Unit":function(h,c){return r(e(h,c),2)}});return t(fl,{"Array | Matrix":a,"Array | Matrix, number | BigNumber":function(h,c){throw new Error("median(A, dim) is not yet supported")},"...":function(h){if(Cs(h))throw new TypeError("Scalar values expected in function median");return a(h)}})}),Rs=av({config:Ve}),go=hv({}),wo=vv({}),_o=_v({}),Pr=Ev({Matrix:_o}),Mt=lm({BigNumber:Rs,Complex:go,DenseMatrix:Pr,Fraction:wo}),aw=tg({typed:Mt}),Ls=rg({typed:Mt}),fw=Zv({BigNumber:Rs,typed:Mt}),cl=kg({typed:Mt}),hn=$v({config:Ve,typed:Mt}),Ps=Cv({typed:Mt}),cw=Sv({typed:Mt}),zs=Og({typed:Mt}),ll=Wv({typed:Mt}),Do=Lv({Matrix:_o,equalScalar:hn,typed:Mt}),hl=ig({typed:Mt}),pl=Bv({typed:Mt}),yo=Qv({typed:Mt}),dl=Kv({Fraction:wo,typed:Mt}),ml=Mv({typed:Mt}),Ce=Xv({DenseMatrix:Pr,Matrix:_o,SparseMatrix:Do,typed:Mt}),vl=c1({isNaN:pl,isNumeric:ml,typed:Mt}),Ti=m1({bignumber:fw,fraction:dl,number:ll}),lw=h1({config:Ve,multiplyScalar:zs,numeric:Ti,typed:Mt}),hw=r1({isInteger:Ps,matrix:Ce,typed:Mt}),gl=i1({matrix:Ce,config:Ve,typed:Mt}),wl=u1({matrix:Ce,typed:Mt}),$n=Zg({isInteger:Ps,matrix:Ce,typed:Mt}),pw=Gg({prod:lw,size:gl,typed:Mt}),dw=a1({conj:cl,transpose:wl,typed:Mt}),$i=g1({numeric:Ti,typed:Mt}),mw=y1({DenseMatrix:Pr,concat:$n,divideScalar:$i,equalScalar:hn,matrix:Ce,typed:Mt}),_l=F1({DenseMatrix:Pr,concat:$n,equalScalar:hn,matrix:Ce,typed:Mt}),Dl=Jg({BigNumber:Rs,DenseMatrix:Pr,SparseMatrix:Do,config:Ve,matrix:Ce,typed:Mt}),vw=Hg({matrix:Ce,multiplyScalar:zs,typed:Mt}),gw=S1({DenseMatrix:Pr,concat:$n,config:Ve,matrix:Ce,typed:Mt}),ww=zg({DenseMatrix:Pr,concat:$n,equalScalar:hn,matrix:Ce,subtractScalar:hl,typed:Mt,unaryMinus:yo}),Oi=k1({DenseMatrix:Pr,SparseMatrix:Do,addScalar:Ls,concat:$n,equalScalar:hn,matrix:Ce,typed:Mt}),yl=A1({BigNumber:Rs,DenseMatrix:Pr,Fraction:wo,concat:$n,config:Ve,equalScalar:hn,matrix:Ce,typed:Mt}),_w=O1({equal:_l,typed:Mt}),El=Z1({addScalar:Ls,conj:cl,multiplyScalar:zs,size:gl,typed:Mt}),Dw=I1({DenseMatrix:Pr,concat:$n,config:Ve,matrix:Ce,typed:Mt}),Eo=q1({config:Ve,numeric:Ti,smaller:gw,typed:Mt}),ii=Lg({addScalar:Ls,dot:El,equalScalar:hn,matrix:Ce,multiplyScalar:zs,typed:Mt}),yw=L1({compare:yl,isNaN:pl,isNumeric:ml,typed:Mt}),Ew=sw({add:Oi,config:Ve,numeric:Ti,typed:Mt}),Aw=K1({add:Oi,matrix:Ce,typed:Mt}),Al=X1({divideScalar:$i,isZero:cw,matrix:Ce,multiply:ii,subtractScalar:hl,typed:Mt,unaryMinus:yo}),bw=z1({config:Ve,larger:Dw,numeric:Ti,typed:Mt}),Us=Q1({abs:aw,addScalar:Ls,det:Al,divideScalar:$i,identity:Dl,matrix:Ce,multiply:ii,typed:Mt,unaryMinus:yo}),Cw=tw({Complex:go,add:Oi,ctranspose:dw,deepEqual:_w,divideScalar:$i,dot:El,dotDivide:mw,equal:_l,inv:Us,matrix:Ce,multiply:ii,typed:Mt}),Fw=_1({Complex:go,config:Ve,fraction:dl,identity:Dl,inv:Us,matrix:Ce,multiply:ii,number:ll,typed:Mt}),Mw=nw({divideScalar:$i,equalScalar:hn,inv:Us,matrix:Ce,multiply:ii,typed:Mt}),bl=ow({add:Oi,compare:yl,divide:Mw,partitionSelect:yw,typed:Mt});class xw{constructor(t,e,r){ut(this,"_cacheData");ut(this,"_variables");ut(this,"_math");ut(this,"_timeframe");this._cacheData={},this._variables=t,this._math=e,this._timeframe=r}alma({series:t,length:e,offset:r,sigma:n,floor:s},a){if(t===void 0||e===void 0||r===void 0||n===void 0)return;const f=this._cacheDataList(t,e,`alma_${a}`);if(f===void 0)return;let l=r*(e-1);s&&(l=Math.floor(l));const p=e/n;let h=0,c=0;for(let m=0;m<=e-1;m++){const w=Math.exp(-1*Math.pow(m-l,2)/(2*Math.pow(p,2)));h+=w,c+=f[f.length-1-(e-m-1)]*w}return c/h}sma({source:t,length:e},r){if(t===void 0||e===void 0)return;let n=0;const s=this._cacheDataList(t,e,`sma_${r}`);if(s===void 0)return;const a=s.slice(-e);return n=Ew(...a)/e,n}rma({source:t,length:e},r){if(t===void 0||e===void 0)return;const n=this._cacheData[`sma_${r}`]||[];n[this._variables.bar_index]=t,this._cacheData[`sma_${r}`]=n;const{sum:s}=this._cacheData[`rma_${r}`]||{},a=1/e,f=s===void 0?this.sma({source:t,length:e},r):a*t+(1-a)*(s||0);return this._cacheDataHandle(`rma_${r}`,{sum:f}),f}atr({length:t},e){const{high:r,close:n}=this._cacheData[`atr_${e}`]||{},{high:s,close:a,low:f}=this._variables,l=r===void 0?s-f:Math.max(Math.max(s-f,Math.abs(s-n)),Math.abs(f-n));return this._cacheDataHandle(`atr_${e}`,{high:s,close:a}),this.rma({source:l,length:t},e)}barssince({condition:t},e){let{count:r}=this._cacheData[`barssince_${e}`]||{};if(t)r=0;else{if(r===void 0)return;r+=1}return this._cacheDataHandle(`barssince_${e}`,{count:r}),r}stdev({source:t,length:e,biased:r=!0},n){if(t===void 0||e===void 0)return;const s=this._cacheDataList(t,e,`stdev_${n}`),a=this.sma({source:t,length:e},n);if(s===void 0)return;let f=0;for(let l=0;l<e;l++){const p=this._sum(s[s.length-1-l],-(a||0));f+=p*p}return r||e<=1?Math.sqrt(f/e):Math.sqrt(f/(e-1))}_sum(t,e){let n=t+e;return Math.abs(n)<=1e-10&&(n=0),n}bb({series:t,length:e,mult:r},n){if(t===void 0||e===void 0||r===void 0)return[];const s=this.sma({source:t,length:e},n),a=this.stdev({source:t,length:e},n);if(s===void 0||a===void 0)return[];const f=r*a;return[s,s+f,s-f]}bbw({series:t,length:e,mult:r},n){if(t===void 0||e===void 0||r===void 0)return;const s=this.sma({source:t,length:e},n),a=this.stdev({source:t,length:e},n);if(s===void 0||a===void 0)return;const f=r*a;return(s+f-(s-f))/s}cci({source:t,length:e},r){if(t===void 0||e===void 0)return;const{hlc3:n}=this._variables,s=this._cacheDataList(n,e,`cci_${r}`),a=this.sma({source:t,length:e},r),f=this.sma({source:n,length:e},`tp_${r}`);if(a===void 0||f===void 0||s===void 0)return;let l=0;for(let p=0;p<e;p++)l+=Math.abs(s[s.length-1-p]-f);return l/=e,(n-a)/(.015*l)}change({source:t,length:e=1},r){if(t===void 0)return;const n=this._cacheData[`change_${r}`]||[];n[this._variables.bar_index]=t,this._cacheData[`change_${r}`]=n;const s=n[n.length-1-e];return s===void 0?s:typeof t=="boolean"?s!==t:t-s}cmo({series:t,length:e},r){if(t===void 0||e===void 0)return;const n=this.change({source:t},r);if(n===void 0)return;const s=this._math.sum({source:n>=0?n:0,length:e},`sm1_${r}`),a=this._math.sum({source:n>=0?0:-n,length:e},`sm2_${r}`);if(!(s===void 0||a===void 0))return 100*(s-a)/(s+a)}cog({source:t,length:e},r){if(t===void 0||e===void 0)return;const n=this._cacheDataList(t,e,`cog_${r}`),s=this._math.sum({source:t,length:e},r);if(s===void 0||n===void 0)return;let a=0;for(let f=0;f<e;f++){const l=n[n.length-1-f];a+=l*(f+1)}return-a/s}correlation({source1:t,source2:e,length:r},n){if(t===void 0||e===void 0||r===void 0)return;const s=this._cacheDataList([t,e],r,`correlation_${n}`),a=this.sma({source:t,length:r},`sma1_${n}`),f=this.sma({source:e,length:r},`sma2_${n}`);if(a===void 0||f===void 0||s===void 0)return;let l=0,p=0,h=0;for(let m=0;m<r;m++){const[w,D]=s[s.length-1-m],v=w-a,y=D-f;l+=v*y,p+=v*v,h+=y*y}return isNaN(p)||isNaN(l)||isNaN(h)?void 0:l/Math.sqrt(p*h)}cross({source1:t,source2:e},r){if(t===void 0||e===void 0)return;const{source1:n,source2:s}=this._cacheData[`cross_${r}`]||{};return this._cacheDataHandle(`cross_${r}`,{source1:t,source2:e}),n===void 0||s===void 0?!1:n>=s&&t<e||n<=s&&t>e}crossover({source1:t,source2:e},r){if(t===void 0||e===void 0)return;const{source1:n,source2:s}=this._cacheData[`crossover_${r}`]||{};return this._cacheDataHandle(`crossover_${r}`,{source1:t,source2:e}),n===void 0||s===void 0?!1:n<=s&&t>e}crossunder({source1:t,source2:e},r){if(t===void 0||e===void 0)return;const{source1:n,source2:s}=this._cacheData[`crossunder_${r}`]||{};return this._cacheDataHandle(`crossunder_${r}`,{source1:t,source2:e}),n===void 0||s===void 0?!1:n>=s&&t<e}cum({source:t=0},e){let{sum:r}=this._cacheData[`cum_${e}`]||{};return r=r||0,r+=t,this._cacheDataHandle(`cum_${e}`,{sum:r}),r}dev({source:t,length:e},r){if(t===void 0||e===void 0)return;const n=this.sma({source:t,length:e},r);let s=0;const a=this._cacheDataList(t,e,`dev_${r}`);if(!(!a||n===void 0)){for(let f=0;f<e;f++){const l=a[a.length-1-f];s+=Math.abs(l-n)}return s/e}}dmi({diLength:t,adxSmoothing:e},r){if(t===void 0||e===void 0)return[void 0,void 0,void 0];const n=`dmi_${r}`,{low:s,high:a,close:f,PDMS:l,NDMS:p,TRS:h,ADX:c,count:m=0}=this._cacheData[n]||{},{low:w,high:D,close:v}=this._variables;if(s===void 0||a===void 0||f===void 0)return this._cacheData[n]={low:w,high:D,close:v,PDMS:l,NDMS:p,TRS:D-w,count:1},[void 0,void 0,void 0];let y=D-a,g=s-w;y=y>g&&y>0?y:0,g=g>y&&g>0?g:0,y===g&&(y=g=0);const A=Math.max(D-w,Math.abs(D-f),Math.abs(w-f));if(m<t)return this._cacheDataHandle(n,{low:w,high:D,close:v,PDMS:(l||0)+y,NDMS:(p||0)+g,TRS:(h||0)+A,count:m+1}),[void 0,void 0,void 0];{const E=l-l/t+y,S=p-p/t+g,C=h-h/t+A,M=E/C*100,x=S/C*100,N=Math.abs((M-x)/(M+x))*100;let $=N,F=[M,x,void 0];if(m+1-t<e){const I=m+1-t;$=((c||0)*(I-1)+N)/I}else $=(c*(e-1)+N)/e,F=[M,x,$];return this._cacheDataHandle(n,{low:w,high:D,close:v,PDMS:E,NDMS:S,TRS:C,ADX:$,count:m+1}),F}}ema({source:t,length:e},r){if(t===void 0||e===void 0)return;let{sum:n,count:s=1}=this._cacheData[`ema_${r}`]||{};const a=this.sma({source:t,length:e},r);if(s>e){const f=2/(e+1);n=n===void 0?t:f*t+(1-f)*(n||0)}else n=a;return s+=1,this._cacheDataHandle(`ema_${r}`,{sum:n,count:s}),n}falling({source:t,length:e},r){if(t===void 0||e===void 0)return!1;const{source:n,fallings:s=[]}=this._cacheData[`falling_${r}`]||{};s.push(n>t);const a=s.slice(-e);return this._cacheDataHandle(`falling_${r}`,{source:t,fallings:a}),a.length<e?!1:a.every(f=>f)}rising({source:t,length:e},r){if(t===void 0||e===void 0)return!1;const{source:n,risings:s=[]}=this._cacheData[`rising_${r}`]||{};s.push(n<t);const a=s.slice(-e);return this._cacheDataHandle(`rising_${r}`,{source:t,fallings:a}),a.length<e?!1:a.every(f=>f)}highest({source:t,length:e},r){if(e===void 0||e<=0)return;const n=this._cacheData[`highest_${r}`]||[],{high:s,bar_index:a}=this._variables;typeof t!="number"?n[a]=s:n[a]=t,this._cacheData[`highest_${r}`]=n;const f=n.filter(()=>!0);if(!(f.length<e))return Math.max(...f.slice(-e))}highestbars({source:t,length:e},r){if(e===void 0||e<=0)return;const n=this._cacheData[`highestbars_${r}`]||[],{high:s,bar_index:a}=this._variables;typeof t!="number"?n[a]=s:n[a]=t,this._cacheData[`highestbars_${r}`]=n;const f=n.filter(()=>!0);return f.length<e?void 0:f.slice(-e).reduce((p,h,c,m)=>h>=m[p]?c:p,0)-e+1}wma({source:t,length:e},r){if(e===void 0||t===void 0||e<=0)return;const n=this._cacheDataList(t,e,`wma_${r}`);if(!n)return;let s=0,a=0;for(let f=0;f<e;f++){const l=(e-f)*e;s+=l,a+=n[n.length-1-f]*l}return a/s}hma({source:t,length:e},r){if(e===void 0||t===void 0||e<=0)return;const n=this.wma({source:t,length:e},r),s=this.wma({source:t,length:Math.round(e/2)},r);return n===void 0||s===void 0?void 0:this.wma({source:2*s-n,length:Math.floor(Math.sqrt(e))},`hma_${r}`)}kc({series:t,length:e,mult:r,useTrueRange:n=!0},s){if(t===void 0||e===void 0||r===void 0)return[void 0,void 0,void 0];const a=this.ema({source:t,length:e},s),{ta:f,high:l,low:p}=this._variables,h=n?f.tr:l-p,c=this.ema({source:h,length:e},`range_${s}`);return[a,a+c*r,a-c*r]}kcw({series:t,length:e,mult:r,useTrueRange:n=!0},s){if(t===void 0||e===void 0||r===void 0)return;const a=this.ema({source:t,length:e},s),{ta:f,high:l,low:p}=this._variables,h=n?f.tr:l-p,c=this.ema({source:h,length:e},`range_${s}`);return(a+c*r-(a-c*r))/a}linreg({source:t,length:e,offset:r},n){if(e===void 0||r===void 0)return;const s=this._cacheDataList(t,e,`dev_${n}`);if(!s)return;const a=s.slice(-e).filter(w=>w!==void 0);let f=0,l=0,p=0,h=0;for(const[w,D]of a.entries())f+=w,l+=D,p+=w*D,h+=w*w;const c=(e*p-f*l)/(e*h-f*f);return(l-c*f)/e+c*(e-1-r)}lowest({source:t,length:e},r){if(e===void 0||e<=0)return;const n=this._cacheData[`lowest_${r}`]||[],{low:s,bar_index:a}=this._variables;typeof t!="number"?n[a]=s:n[a]=t,this._cacheData[`lowest_${r}`]=n;const f=n.filter(()=>!0);if(!(f.length<e))return Math.min(...f.slice(-e))}lowestbars({source:t,length:e},r){if(e===void 0||e<=0)return;const n=this._cacheData[`lowestbars_${r}`]||[],{low:s,bar_index:a}=this._variables;typeof t!="number"?n[a]=s:n[a]=t,this._cacheData[`lowestbars_${r}`]=n;const f=n.filter(()=>!0);return f.length<e?void 0:f.slice(-e).reduce((p,h,c,m)=>h<=m[p]?c:p,0)-e+1}macd({source:t,fastlen:e,slowlen:r,siglen:n},s){if(t===void 0||e===void 0||r===void 0||n===void 0)return[void 0,void 0,void 0];const a=this.ema({source:t,length:e},`ema1_${s}`),f=this.ema({source:t,length:r},`ema2_${s}`);if(a===void 0||f===void 0)return[void 0,void 0,void 0];const l=a-f,p=this.ema({source:l,length:n},`macd_${s}`);if(p===void 0)return[l,p,void 0];const h=l-p;return[l,p,h]}max({source:t},e){if(t===void 0)return;let r=this._cacheData[`max_${e}`]||0;return t>r&&(r=t),this._cacheData[`max_${e}`]=r,r}min({source:t},e){if(t===void 0)return;let r=this._cacheData[`min_${e}`]||1/0;return t<r&&(r=t),this._cacheData[`min_${e}`]=r,r}median({source:t,length:e},r){if(e===void 0||t===void 0||e<=0)return;const n=this._cacheDataList(t,e,`dev_${r}`);if(n)return bl(n.slice(-e))}mfi({series:t,length:e},r){if(e===void 0||t===void 0||e<=0)return;const{volume:n}=this._variables,s=this.change({source:t},r),a=this._math.sum({source:n*(s>=0?0:t),length:e},`lower_${r}`),f=this._math.sum({source:n*(s<=0?0:t),length:e},`upper_${r}`);if(!(f===void 0||a===void 0))return 100-100/(1+f/a)}mode({source:t,length:e},r){if(e===void 0||t===void 0||e<=0)return;const n=this._cacheDataList(t,e,`mode_${r}`);if(n)return Eo(vl(n.slice(-e)))}mom({source:t,length:e},r){if(e===void 0||t===void 0||e<0)return;const n=`mom_${r}`,s=this._cacheData[n]||[];if(s[this._variables.bar_index]=t,this._cacheData[n]=s,s.length<=e)return;let a=s.length-e-1,f;for(;f===void 0&&a>=0;)f=s[a],a--;return f===void 0?f:t-f}percentile_linear_interpolation({source:t,length:e,percentage:r},n){if(e===void 0||r===void 0||e<0||r<0||r>100)return;const s=this._cacheDataList(t,e+1,`percentile_linear_interpolation_${n}`);if(!s)return;const a=this._sort(s.slice(-(e+1))),f=a.length;r/=100;const l=1/(f*2);if(r<=l)return a[0];if(r>=1-1/(f*2))return a[f-1];for(const[p,h]of a.entries()){const c=a[p-1];if(r<(p+.5)/f)return c===void 0||h===void 0?void 0:c+(h-c)*(r-(p-.5)/f)/(1/f)}}percentile_nearest_rank({source:t,length:e,percentage:r},n){if(e===void 0||r===void 0||e<0||r<0||r>100)return;const s=this._cacheDataList(t,e,`percentile_nearest_rank_${n}`);if(!s)return;const a=this._sort(s.slice(-e)),f=r/100*a.length,l=Math.ceil(f)-1;return a[l>=a.length?a.length-1:l]}percentrank({source:t,length:e},r){if(e===void 0||e<0)return;const n=this._cacheDataList(t,e+1,`percentile_nearest_rank_${r}`);if(!n)return;const s=n.slice(-(e+1)),a=t;if(a===void 0)return;let f=0;for(let l=0;l<s.length;l++)s[l]!==void 0&&(s[l]<a||s[l]===a&&l<e)&&f++;return f/(s.length-1)*100}pivot_point_levels({type:t,anchor:e,developing:r},n){const s=new Vt;let{close:a,open:f,low:l,high:p}=this._variables;const h=`pivot_point_levels_${n}`,{close:c,low:m,high:w,open:D,result:v}=this._cacheData[h]||{};if(!e&&(w&&m&&(p=Math.max(w,p),l=Math.min(m,l)),this._cacheDataHandle(h,{close:a,open:f,low:l,high:p,result:v}),!r))return s._value=v||[],s;const y={close:a,open:f,low:l,high:p};e===!0&&!r&&(a=c,f=D,l=m,p=w);const g=this._getPivotPointLevels(p,l,a,f,r,t);return this._cacheDataHandle(h,{...y,result:g}),s._value=g,s}_getPivotPointLevels(t,e,r,n,s,a){if(r===void 0||n===void 0||e===void 0||t===void 0)return[];switch(a){case Bn.traditional:return this._traditional(t,e,r);case Bn.fibonacci:return this._fibonacci(t,e,r);case Bn.woodie:return s?[]:this._woodie(t,e);case Bn.classic:return this._classic(t,e,r);case Bn.dm:return this._DM(t,e,r,n);case Bn.camarilla:return this._camarilla(t,e,r);default:return[]}}_traditional(t,e,r){const n=(t+e+r)/3,s=n*2-e,a=n+(t-e),f=n*2+(t-2*e),l=n*3+(t-3*e),p=n*4+(t-4*e),h=n*2-t,c=n-(t-e),m=n*2-(2*t-e),w=n*3-(3*t-e),D=n*4-(4*t-e);return[n,s,h,a,c,f,m,l,w,p,D]}_fibonacci(t,e,r){const n=(t+e+r)/3,s=n+.382*(t-e),a=n-.382*(t-e),f=n+.618*(t-e),l=n-.618*(t-e),p=n+(t-e),h=n-(t-e);return[n,s,a,f,l,p,h]}_woodie(t,e){const{open:r}=this._variables,n=(t+e+2*r)/4,s=2*n-e,a=2*n-t,f=n+(t-e),l=n-(t-e),p=t+2*(n-e),h=e-2*(t-n),c=p+(t-e),m=h-(t-e);return[n,s,a,f,l,p,h,c,m]}_classic(t,e,r){const n=(t+e+r)/3,s=2*n-e,a=2*n-t,f=n+(t-e),l=n-(t-e),p=n+2*(t-e),h=n-2*(t-e),c=n+3*(t-e),m=n-3*(t-e);return[n,s,a,f,l,p,h,c,m]}_DM(t,e,r,n){let s;n===r?s=t+e+2*r:r>n?s=2*t+e+r:s=2*e+t+r;const a=s/4,f=s/2-e,l=s/2-t;return[a,f,l]}_camarilla(t,e,r){const n=(t+e+r)/3,s=r+1.1*(t-e)/12,a=r-1.1*(t-e)/12,f=r+1.1*(t-e)/6,l=r-1.1*(t-e)/6,p=r+1.1*(t-e)/4,h=r-1.1*(t-e)/4,c=r+1.1*(t-e)/2,m=r-1.1*(t-e)/2,w=t/e*r,D=r-(w-r);return[n,s,a,f,l,p,h,c,m,w,D]}pivothigh({source:t=this._variables.high,leftbars:e,rightbars:r},n){if(e===void 0||r===void 0||e<0||r<0)return;const s=this._cacheDataList(t,e+r+1,`pivothigh_${n}`);if(!s)return;const a=s.slice(-(e+r+1)),f=a[e];return Math.max(...a)===f?f:void 0}pivotlow({source:t=this._variables.low,leftbars:e,rightbars:r},n){if(e===void 0||r===void 0||e<0||r<0)return;const s=this._cacheDataList(t,e+r+1,`pivotlow_${n}`);if(!s)return;const a=s.slice(-(e+r+1)),f=a[e];return Math.min(...a)===f?f:void 0}range({source:t,length:e},r){if(e===void 0||t===void 0||e<0)return;const n=this._cacheDataList(t,e,`range_${r}`);if(!n)return;const s=n.filter(l=>l!==void 0).slice(-e),a=Math.max(...s),f=Math.min(...s);return a-f}roc({source:t,length:e},r){if(e===void 0||t===void 0||e<0)return;const n=this._cacheDataList(t,e+1,`roc_${r}`),s=this.change({source:t,length:e},r);if(n)return 100*s/n[n.length-1-e]}rsi({source:t,length:e},r){if(e===void 0||t===void 0||e<0)return;const{source:n}=this._cacheData[`rsi_${r}`]||{},s=Math.max(t-n,0),a=Math.max(n-t,0),f=this.rma({source:s,length:e},`rma1_${r}`),l=this.rma({source:a,length:e},`rma2_${r}`);if(!(f===void 0||l===void 0))return this._cacheDataHandle(`rsi_${r}`,{source:t}),100-100/(1+f/l)}sar({start:t,inc:e,max:r},n){if(t===void 0||e===void 0||r===void 0)return;const{close:s,low:a,high:f,preLow:l,preHigh:p,data:h={}}=this._cacheData[`sar_${n}`]||{};let{result:c,maxMin:m,acceleration:w,isBelow:D}=h,v=!1;const{close:y,low:g,high:A,bar_index:E}=this._variables;return E===1&&(y>s?(D=!0,m=A,c=a):(D=!1,m=g,c=f),v=!0,w=t),c=c+w*(m-c),D?c>g&&(v=!0,D=!1,c=Math.max(A,m||0),m=g,w=t):c<A&&(v=!0,D=!0,c=Math.min(g,m||0),m=A,w=t),v||(D?A>(m||0)&&(m=A,w=Math.min((w||0)+e,r)):g<(m||0)&&(m=g,w=Math.min((w||0)+e,r))),D?(c=Math.min(c,a),E>1&&(c=Math.min(c,l))):(c=Math.max(c,f),E>1&&(c=Math.max(c,p))),this._cacheDataHandle(`sar_${n}`,{high:A,close:y,low:g,preLow:a,preHigh:f,data:Object.assign(h,{result:c,maxMin:m,acceleration:w,isBelow:D})}),c}stoch({source:t,high:e,low:r,length:n},s){if(n===void 0||e===void 0||r===void 0||t===void 0||n<0)return;const a=this.lowest({source:r,length:n},s),f=this.highest({source:e,length:n},s);if(!(a===void 0||f===void 0))return 100*(this._variables.close-a)/(f-a)}supertrend({factor:t,atrPeriod:e},r){if(t===void 0||e===void 0)return[void 0,void 0];const{hl2:n,close:s}=this._variables,a=`supertrend_${r}`,{upperBand:f,lowerBand:l,superTrend:p,atr:h,close:c}=this._cacheData[a]||{},m=this.atr({length:e},r);if(m===void 0)return this._cacheDataHandle(a,{close:s}),[void 0,void 0];let w=n+t*m,D=n-t*m;const v=f||0,y=l||0;D=D>y||c<y?D:y,w=w<v||c>v?w:v;let g;h===void 0?g=1:p===v?g=s>w?-1:1:g=s<D?1:-1;const A=g===-1?D:w;return this._cacheDataHandle(a,{upperBand:w,lowerBand:D,superTrend:A,atr:m,close:s}),[A,g]}swma({source:t},e){let{list:r}=this._cacheData[`swma_${e}`]||{};if(r||(r=[]),r.push(t),r=r.slice(-4),this._cacheDataHandle(`swma_${e}`,{list:r}),!(r.filter(n=>n!==void 0).length<4))return r[3]*1/6+r[2]*2/6+r[1]*2/6+r[0]*1/6}tr({handle_na:t=!1},e){const{close:r,low:n,high:s}=this._variables,{close:a}=this._cacheData[`tr_${e}`]||{};return this._cacheDataHandle(`tr_${e}`,{close:r}),a===void 0?t?s-n:void 0:Math.max(s-n,Math.abs(s-a),Math.abs(n-a))}tsi({source:t,short_length:e,long_length:r},n){if(t===void 0||e===void 0||r===void 0)return;const s=this.change({source:t},n);if(s===void 0)return;const a=this.ema({source:Math.abs(s),length:e},`absema1_${n}`),f=this.ema({source:s,length:e},`ema1_${n}`);if(f===void 0)return;const l=this.ema({source:f,length:r},`ema2_${n}`),p=this.ema({source:a,length:e},`absema2_${n}`);if(l!==void 0)return l/p}valuewhen({condition:t,source:e,occurrence:r},n){if(e===void 0||r===void 0||r<0)return;let{list:s}=this._cacheData[`valuewhen_${n}`]||{};return s||(s=[]),t&&s.push(e),this._cacheDataHandle(`valuewhen_${n}`,{list:s}),s[s.length-1-r]}variance({source:t,length:e,biased:r=!0},n){if(t===void 0||e===void 0||e<0)return;const s=this.sma({source:t,length:e},n);if(s===void 0)return;const a=t-s,f=this._math.sum({source:a*a,length:e},n);if(f!==void 0)return r||e<=1?f/e:f/(e-1)}vwap({source:t,anchor:e,stdev_mult:r},n){if(t===void 0)return;e=e===void 0?this._timeframe.change({timeframe:"1D"},n):e;const{volume:s}=this._variables;let{sum:a=0,sumV:f=0,count:l=0,isReset:p,list:h=[]}=this._cacheData[`vwap_${n}`]||{};if(e&&(a=f=l=0,p=!0),!p)return r!==void 0?[]:void 0;const c=t*s+a,m=s+f,w=c/m;if(l++,r!==void 0){h.push(t);const D=h.slice(-l);let v=0;for(const E of D){const S=E-w;v+=S*S}const y=Math.sqrt(v/l);console.log(y,r,l);const g=y!==void 0&&!isNaN(y)?w+r*y:void 0,A=y!==void 0&&!isNaN(y)?w-r*y:void 0;return this._cacheDataHandle(`vwap_${n}`,{sum:c,sumV:m,count:l,isReset:p,list:h}),[w,g,A]}return this._cacheDataHandle(`vwap_${n}`,{sum:c,sumV:m,count:l,isReset:p}),w}vwma({source:t,length:e},r){if(t===void 0||e===void 0||e<=0)return;const{volume:n}=this._variables,s=this.sma({source:t*n,length:e},`sma1_${r}`),a=this.sma({source:n,length:e},`sma2_${r}`);if(!(s===void 0||a===void 0))return s/a}wpr({length:t},e){if(t===void 0||t<=0)return;const r=this.highest({length:t},e),n=this.lowest({length:t},e),{close:s}=this._variables;if(!(r===void 0||n===void 0))return(r-s)/(r-n)*-100}_sort(t){const e=t.length;for(let r=0;r<e;r++){let n={};for(let s=0;s<e-r;s++){const{currentVal:a,currentIndex:f}=n,l=t[s];if(l!==void 0){if(a!==void 0&&l<a){t.splice(s,1),t.splice(f,0,l),n={currentIndex:f+1,currentVal:a};continue}n={currentIndex:s,currentVal:l}}}}return t}_cacheDataList(t,e,r){const n=this._cacheData[r]||[];n[this._variables.bar_index]=t,this._cacheData[r]=n;const s=n.filter(()=>!0);if(!(s.length<e))return s}_cacheDataHandle(t,e){const{barIndex:r}=this._cacheData[t]||{};r!==this._variables.bar_index&&(this._cacheData[t]=Object.assign(e,{barIndex:this._variables.bar_index}))}}$r.SERIES,$r.SIMPLE,$r.INPUT,$r.CONST,$r.INT,$r.FLOAT,$r.BOOL,$r.COLOR,$r.STRING;const Sw=["close","open","high","low","hl2","hlc3","hlcc4","ohlc4","volume"];var qs=(i=>(i[i.Hint=1]="Hint",i[i.Info=2]="Info",i[i.Warning=4]="Warning",i[i.Error=8]="Error",i))(qs||{});class Nw{constructor(t,e){ut(this,"_cacheData");ut(this,"_variables");ut(this,"_errorListener");ut(this,"_count");ut(this,"_historyInputs");ut(this,"_name","inputs");this._cacheData={},this._variables=t,this._errorListener=e,this._count=-1,this._historyInputs=self.workerStorage.get(this._name)||{}}update(t){for(const e of t){const r=e.id;if(!this._cacheData[r])return;Object.assign(this._cacheData[r],{...e,isModify:!0}),self.workerStorage.updateValue(this._name,`in_${e.index}`,{modifyDefval:e.sourceTypeName||e.defval})}}input(t,e){return this._cacheHandle(t,e)}int(t,e){return this._cacheHandle(t,e,"int")}bool(t,e){return this._cacheHandle(t,e,"bool")}color(t,e){return this._cacheHandle(t,e,"color")}time(t,e){return this._cacheHandle(t,e,"time")}float(t,e){return this._cacheHandle(t,e,"float")}price(t,e){return this._cacheHandle(t,e,"price")}source(t,e){return this._cacheHandle(t,e,"source")}string(t,e){return this._cacheHandle(t,e,"string")}symbol(t,e){return this._cacheHandle(t,e,"symbol")}session(t,e){return this._cacheHandle(t,e,"session")}text_area(t,e){return this._cacheHandle(t,e,"text_area")}timeframe(t,e){return this._cacheHandle(t,e,"timeframe")}_cacheHandle(t,e,r){const n=`${r||"input"}_${e}`,s=this._cacheData[n];if(s)s.isModify?s.sourceTypeName&&(this._cacheData[n].defval=this._variables[s.sourceTypeName]):Object.assign(this._cacheData[n],t);else{const{defval:a,display:f}=t;this._displayVerify(e,f),this._count++,t={inputType:r,...t,index:this._count},this._cacheData[n]=t,this._judgeHistoryInputs(t),(r||t.inputType)==="source"?this._cacheData[n].options=Sw:t.options&&!t.options.includes(a)&&this._errorListener.addError(`input's defval should be in options, but '${a}' is not in [${t.options.toString()}]`,e,qs.Error)}return this._cacheData[n].defval}_judgeHistoryInputs(t){const{defval:e,sourceTypeName:r,index:n}=t;let s=r||e;const a=`in_${n}`,f=this._historyInputs[a];if(!f)self.workerStorage.setValue(this._name,a,{defval:s});else{const{defval:l,modifyDefval:p}=f;l===s?s=p||s:self.workerStorage.setValue(this._name,a,{defval:s})}r?t.sourceTypeName=s:t.defval=s}_displayVerify(t,e){!e||!e.length||e.includes(Cr.dataWindow)||e.includes(Cr.statusLine)||this._errorListener.addError("Invalid argument 'display' in 'input' call. Possible values: [display.none, display.data_window, display.status_line, display.all]",t,qs.Error)}getInputs(){var n;const t=Object.keys(this._cacheData),e=new Map,r=[];for(const s of t){const a=this._cacheData[s];a.id=s;const{group:f}=a;f?e.has(f)?(n=e.get(f))==null||n.push(a):e.set(f,[a]):r.push(a)}return[...this._getGroups(e),{inputs:r}]}_getGroups(t){const e=[];for(const[r,n]of t)e.push({name:r,inputs:n});return e}}class Bw{color({x:t}){return t}new({color:t,transp:e=100}){const{r,g:n,b:s}=this._parseColor(t);return`rgba(${Math.round(r)}, ${Math.round(n)}, ${Math.round(s)}, ${e/100})`}rgb({red:t,green:e,blue:r,transp:n=0}){return`rgba(${t}, ${e}, ${r}, ${n/100})`}g({color:t}){return t?this._parseColor(t).g:0}r({color:t}){return t?this._parseColor(t).r:0}b({color:t}){return t?this._parseColor(t).b:0}t({color:t}){return t?Math.round(this._parseColor(t).a*100):0}from_gradient({value:t,bottom_value:e,top_value:r,bottom_color:n,top_color:s}){const a=(t-e)/(r-e),f=Math.min(Math.max(a,0),1),{r:l,g:p,b:h,a:c}=this._parseColor(n),{r:m,g:w,b:D,a:v}=this._parseColor(s),y=l+f*(m-l),g=p+f*(w-p),A=h+f*(D-h),E=c+f*(v-c);return`rgba(${Math.round(y)}, ${Math.round(g)}, ${Math.round(A)}, ${E.toFixed(2)})`}_parseColor(t){let e,r,n,s;if(t.startsWith("#")){e=parseInt(t.substring(1,3),16),r=parseInt(t.substring(3,5),16),n=parseInt(t.substring(5,7),16);const a=t.substring(7);a?s=(255-parseInt(a,16))/255:s=1}else{const a=this._parserRgbColor(t);e=a[0],r=a[1],n=a[2],s=a[3]||1}return{r:e,g:r,b:n,a:s}}_parserRgbColor(t){var e;return((e=t.match(/\d+/g))==null?void 0:e.map(Number))||[]}}var Pt={};const Iw=Object.prototype.toString;function Ri(i){const t=Iw.call(i);return t.endsWith("Array]")&&!t.includes("Big")}var Tw=Object.freeze({__proto__:null,isAnyArray:Ri}),$w=De(Tw);function Ow(i){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!Ri(i))throw new TypeError("input must be an array");if(i.length===0)throw new TypeError("input must not be empty");var e=t.fromIndex,r=e===void 0?0:e,n=t.toIndex,s=n===void 0?i.length:n;if(r<0||r>=i.length||!Number.isInteger(r))throw new Error("fromIndex must be a positive integer smaller than length");if(s<=r||s>i.length||!Number.isInteger(s))throw new Error("toIndex must be an integer greater than fromIndex and at most equal to length");for(var a=i[r],f=r+1;f<s;f++)i[f]>a&&(a=i[f]);return a}function Rw(i){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!Ri(i))throw new TypeError("input must be an array");if(i.length===0)throw new TypeError("input must not be empty");var e=t.fromIndex,r=e===void 0?0:e,n=t.toIndex,s=n===void 0?i.length:n;if(r<0||r>=i.length||!Number.isInteger(r))throw new Error("fromIndex must be a positive integer smaller than length");if(s<=r||s>i.length||!Number.isInteger(s))throw new Error("toIndex must be an integer greater than fromIndex and at most equal to length");for(var a=i[r],f=r+1;f<s;f++)i[f]<a&&(a=i[f]);return a}function Lw(i){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(Ri(i)){if(i.length===0)throw new TypeError("input must not be empty")}else throw new TypeError("input must be an array");var e;if(t.output!==void 0){if(!Ri(t.output))throw new TypeError("output option must be an array if specified");e=t.output}else e=new Array(i.length);var r=Rw(i),n=Ow(i);if(r===n)throw new RangeError("minimum and maximum input values are equal. Cannot rescale a constant array");var s=t.min,a=s===void 0?t.autoMinMax?r:0:s,f=t.max,l=f===void 0?t.autoMinMax?n:1:f;if(a>=l)throw new RangeError("min option must be smaller than max option");for(var p=(l-a)/(n-r),h=0;h<i.length;h++)e[h]=(i[h]-r)*p+a;return e}var Pw=Object.freeze({__proto__:null,default:Lw}),zw=De(Pw);Object.defineProperty(Pt,"__esModule",{value:!0});var Ge=$w,Cl=zw;const Ws=" ".repeat(2),Fl=" ".repeat(4);function Uw(){return Ml(this)}function Ml(i,t={}){const{maxRows:e=15,maxColumns:r=10,maxNumSize:n=8,padMinus:s="auto"}=t;return`${i.constructor.name} {
54
+ (`+se(N,v)+", "+se(S,v)+") ==> "+(this._values?se(this._values[x],v):"X")}return E},n.prototype.toString=function(){return se(this.toArray())},n.prototype.toJSON=function(){return{mathjs:"SparseMatrix",values:this._values,index:this._index,ptr:this._ptr,size:this._size,datatype:this._datatype}},n.prototype.diagonal=function(v){if(v){if(ye(v)&&(v=v.toNumber()),!ae(v)||!he(v))throw new TypeError("The parameter k must be an integer number")}else v=0;var y=v>0?v:0,g=v<0?-v:0,A=this._size[0],E=this._size[1],S=Math.min(A-g,E-y),C=[],M=[],x=[];x[0]=0;for(var N=y;N<E&&C.length<S;N++)for(var $=this._ptr[N],F=this._ptr[N+1],I=$;I<F;I++){var R=this._index[I];if(R===N-y+g){C.push(this._values[I]),M[C.length-1]=R-g;break}}return x.push(C.length),new n({values:C,index:M,ptr:x,size:[S,1]})},n.fromJSON=function(v){return new n(v)},n.diagonal=function(v,y,g,A,E){if(!me(v))throw new TypeError("Array expected, size parameter");if(v.length!==2)throw new Error("Only two dimensions matrix are supported");if(v=v.map(function(H){if(ye(H)&&(H=H.toNumber()),!ae(H)||!he(H)||H<1)throw new Error("Size values must be positive integers");return H}),g){if(ye(g)&&(g=g.toNumber()),!ae(g)||!he(g))throw new TypeError("The parameter k must be an integer number")}else g=0;var S=e,C=0;Rr(E)&&(S=t.find(e,[E,E])||e,C=t.convert(0,E));var M=g>0?g:0,x=g<0?-g:0,N=v[0],$=v[1],F=Math.min(N-x,$-M),I;if(me(y)){if(y.length!==F)throw new Error("Invalid value array length");I=function(V){return y[V]}}else if(ce(y)){var R=y.size();if(R.length!==1||R[0]!==F)throw new Error("Invalid matrix length");I=function(V){return y.get([V])}}else I=function(){return y};for(var q=[],U=[],W=[],P=0;P<$;P++){W.push(q.length);var G=P-M;if(G>=0&&G<F){var j=I(G);S(j,C)||(U.push(G+x),q.push(j))}}return W.push(q.length),new n({values:q,index:U,ptr:W,size:[N,$]})},n.prototype.swapRows=function(v,y){if(!ae(v)||!he(v)||!ae(y)||!he(y))throw new Error("Row index must be positive integers");if(this._size.length!==2)throw new Error("Only two dimensional matrix is supported");return ve(v,this._size[0]),ve(y,this._size[0]),n._swapRows(v,y,this._size[1],this._values,this._index,this._ptr),this},n._forEachRow=function(v,y,g,A,E){for(var S=A[v],C=A[v+1],M=S;M<C;M++)E(g[M],y[M])},n._swapRows=function(v,y,g,A,E,S){for(var C=0;C<g;C++){var M=S[C],x=S[C+1],N=p(v,M,x,E),$=p(y,M,x,E);if(N<x&&$<x&&E[N]===v&&E[$]===y){if(A){var F=A[N];A[N]=A[$],A[$]=F}continue}if(N<x&&E[N]===v&&($>=x||E[$]!==y)){var I=A?A[N]:void 0;E.splice($,0,y),A&&A.splice($,0,I),E.splice($<=N?N+1:N,1),A&&A.splice($<=N?N+1:N,1);continue}if($<x&&E[$]===y&&(N>=x||E[N]!==v)){var R=A?A[$]:void 0;E.splice(N,0,v),A&&A.splice(N,0,R),E.splice(N<=$?$+1:$,1),A&&A.splice(N<=$?$+1:$,1)}}},n},{isClass:!0}),Pv="number",zv=["typed"];function Uv(i){var t=i.match(/(0[box])([0-9a-fA-F]*)\.([0-9a-fA-F]*)/);if(t){var e={"0b":2,"0o":8,"0x":16}[t[1]],r=t[2],n=t[3];return{input:i,radix:e,integerPart:r,fractionalPart:n}}else return null}function qv(i){for(var t=parseInt(i.integerPart,i.radix),e=0,r=0;r<i.fractionalPart.length;r++){var n=parseInt(i.fractionalPart[r],i.radix);e+=n/Math.pow(i.radix,r+1)}var s=t+e;if(isNaN(s))throw new SyntaxError('String "'+i.input+'" is not a valid number');return s}var Wv=mt(Pv,zv,i=>{var{typed:t}=i,e=t("number",{"":function(){return 0},number:function(n){return n},string:function(n){if(n==="NaN")return NaN;var s=Uv(n);if(s)return qv(s);var a=0,f=n.match(/(0[box][0-9a-fA-F]*)i([0-9]*)/);f&&(a=Number(f[2]),n=f[1]);var l=Number(n);if(isNaN(l))throw new SyntaxError('String "'+n+'" is not a valid number');if(f){if(l>2**a-1)throw new SyntaxError('String "'.concat(n,'" is out of range'));l>=2**(a-1)&&(l=l-2**a)}return l},BigNumber:function(n){return n.toNumber()},Fraction:function(n){return n.valueOf()},Unit:t.referToSelf(r=>n=>{var s=n.clone();return s.value=r(n.value),s}),null:function(n){return 0},"Unit, string | Unit":function(n,s){return n.toNumber(s)},"Array | Matrix":t.referToSelf(r=>n=>xr(n,r))});return e.fromJSON=function(r){return parseFloat(r.value)},e}),kv="bignumber",Yv=["typed","BigNumber"],Zv=mt(kv,Yv,i=>{var{typed:t,BigNumber:e}=i;return t("bignumber",{"":function(){return new e(0)},number:function(n){return new e(n+"")},string:function(n){var s=n.match(/(0[box][0-9a-fA-F]*)i([0-9]*)/);if(s){var a=s[2],f=e(s[1]),l=new e(2).pow(Number(a));if(f.gt(l.sub(1)))throw new SyntaxError('String "'.concat(n,'" is out of range'));var p=new e(2).pow(Number(a)-1);return f.gte(p)?f.sub(l):f}return new e(n)},BigNumber:function(n){return n},Unit:t.referToSelf(r=>n=>{var s=n.clone();return s.value=r(n.value),s}),Fraction:function(n){return new e(n.n).div(n.d).times(n.s)},null:function(n){return new e(0)},"Array | Matrix":t.referToSelf(r=>n=>xr(n,r))})}),jv="fraction",Gv=["typed","Fraction"],Kv=mt(jv,Gv,i=>{var{typed:t,Fraction:e}=i;return t("fraction",{number:function(n){if(!isFinite(n)||isNaN(n))throw new Error(n+" cannot be represented as a fraction");return new e(n)},string:function(n){return new e(n)},"number, number":function(n,s){return new e(n,s)},null:function(n){return new e(0)},BigNumber:function(n){return new e(n.toString())},Fraction:function(n){return n},Unit:t.referToSelf(r=>n=>{var s=n.clone();return s.value=r(n.value),s}),Object:function(n){return new e(n)},"Array | Matrix":t.referToSelf(r=>n=>xr(n,r))})}),Sc="matrix",Jv=["typed","Matrix","DenseMatrix","SparseMatrix"],Xv=mt(Sc,Jv,i=>{var{typed:t,Matrix:e,DenseMatrix:r,SparseMatrix:n}=i;return t(Sc,{"":function(){return s([])},string:function(f){return s([],f)},"string, string":function(f,l){return s([],f,l)},Array:function(f){return s(f)},Matrix:function(f){return s(f,f.storage())},"Array | Matrix, string":s,"Array | Matrix, string, string":s});function s(a,f,l){if(f==="dense"||f==="default"||f===void 0)return new r(a,l);if(f==="sparse")return new n(a,l);throw new TypeError("Unknown matrix type "+JSON.stringify(f)+".")}}),Nc="unaryMinus",Hv=["typed"],Qv=mt(Nc,Hv,i=>{var{typed:t}=i;return t(Nc,{number:yc,"Complex | BigNumber | Fraction":e=>e.neg(),Unit:t.referToSelf(e=>r=>{var n=r.clone();return n.value=t.find(e,n.valueType())(r.value),n}),"Array | Matrix":t.referToSelf(e=>r=>xr(r,e))})}),Bc="abs",Vv=["typed"],tg=mt(Bc,Vv,i=>{var{typed:t}=i;return t(Bc,{number:gc,"Complex | BigNumber | Fraction | Unit":e=>e.abs(),"Array | Matrix":t.referToSelf(e=>r=>xr(r,e))})}),Ic="addScalar",eg=["typed"],rg=mt(Ic,eg,i=>{var{typed:t}=i;return t(Ic,{"number, number":wc,"Complex, Complex":function(r,n){return r.add(n)},"BigNumber, BigNumber":function(r,n){return r.plus(n)},"Fraction, Fraction":function(r,n){return r.add(n)},"Unit, Unit":t.referToSelf(e=>(r,n)=>{if(r.value===null||r.value===void 0)throw new Error("Parameter x contains a unit with undefined value");if(n.value===null||n.value===void 0)throw new Error("Parameter y contains a unit with undefined value");if(!r.equalBase(n))throw new Error("Units do not match");var s=r.clone();return s.value=t.find(e,[s.valueType(),n.valueType()])(s.value,n.value),s.fixPrefix=!1,s})})}),Tc="subtractScalar",ng=["typed"],ig=mt(Tc,ng,i=>{var{typed:t}=i;return t(Tc,{"number, number":_c,"Complex, Complex":function(r,n){return r.sub(n)},"BigNumber, BigNumber":function(r,n){return r.minus(n)},"Fraction, Fraction":function(r,n){return r.sub(n)},"Unit, Unit":t.referToSelf(e=>(r,n)=>{if(r.value===null||r.value===void 0)throw new Error("Parameter x contains a unit with undefined value");if(n.value===null||n.value===void 0)throw new Error("Parameter y contains a unit with undefined value");if(!r.equalBase(n))throw new Error("Units do not match");var s=r.clone();return s.value=t.find(e,[s.valueType(),n.valueType()])(s.value,n.value),s.fixPrefix=!1,s})})}),sg="matAlgo11xS0s",ug=["typed","equalScalar"],mo=mt(sg,ug,i=>{var{typed:t,equalScalar:e}=i;return function(n,s,a,f){var l=n._values,p=n._index,h=n._ptr,c=n._size,m=n._datatype;if(!l)throw new Error("Cannot perform operation on Pattern Sparse Matrix and Scalar value");var w=c[0],D=c[1],v,y=e,g=0,A=a;typeof m=="string"&&(v=m,y=t.find(e,[v,v]),g=t.convert(0,v),s=t.convert(s,v),A=t.find(a,[v,v]));for(var E=[],S=[],C=[],M=0;M<D;M++){C[M]=S.length;for(var x=h[M],N=h[M+1],$=x;$<N;$++){var F=p[$],I=f?A(s,l[$]):A(l[$],s);y(I,g)||(S.push(F),E.push(I))}}return C[D]=S.length,n.createSparseMatrix({values:E,index:S,ptr:C,size:[w,D],datatype:v})}}),og="matAlgo12xSfs",ag=["typed","DenseMatrix"],ri=mt(og,ag,i=>{var{typed:t,DenseMatrix:e}=i;return function(n,s,a,f){var l=n._values,p=n._index,h=n._ptr,c=n._size,m=n._datatype;if(!l)throw new Error("Cannot perform operation on Pattern Sparse Matrix and Scalar value");var w=c[0],D=c[1],v,y=a;typeof m=="string"&&(v=m,s=t.convert(s,v),y=t.find(a,[v,v]));for(var g=[],A=[],E=[],S=0;S<D;S++){for(var C=S+1,M=h[S],x=h[S+1],N=M;N<x;N++){var $=p[N];A[$]=l[N],E[$]=C}for(var F=0;F<w;F++)S===0&&(g[F]=[]),E[F]===C?g[F][S]=f?y(s,A[F]):y(A[F],s):g[F][S]=f?y(s,0):y(0,s)}return new e({data:g,size:[w,D],datatype:v})}}),fg="matAlgo14xDs",cg=["typed"],vo=mt(fg,cg,i=>{var{typed:t}=i;return function(n,s,a,f){var l=n._data,p=n._size,h=n._datatype,c,m=a;typeof h=="string"&&(c=h,s=t.convert(s,c),m=t.find(a,[c,c]));var w=p.length>0?e(m,0,p,p[0],l,s,f):[];return n.createDenseMatrix({data:w,size:te(p),datatype:c})};function e(r,n,s,a,f,l,p){var h=[];if(n===s.length-1)for(var c=0;c<a;c++)h[c]=p?r(l,f[c]):r(f[c],l);else for(var m=0;m<a;m++)h[m]=e(r,n+1,s,s[n+1],f[m],l,p);return h}}),lg="matAlgo02xDS0",hg=["typed","equalScalar"],pg=mt(lg,hg,i=>{var{typed:t,equalScalar:e}=i;return function(n,s,a,f){var l=n._data,p=n._size,h=n._datatype||n.getDataType(),c=s._values,m=s._index,w=s._ptr,D=s._size,v=s._datatype||s._data===void 0?s._datatype:s.getDataType();if(p.length!==D.length)throw new jt(p.length,D.length);if(p[0]!==D[0]||p[1]!==D[1])throw new RangeError("Dimension mismatch. Matrix A ("+p+") must match Matrix B ("+D+")");if(!c)throw new Error("Cannot perform operation on Dense Matrix and Pattern Sparse Matrix");var y=p[0],g=p[1],A,E=e,S=0,C=a;typeof h=="string"&&h===v&&h!=="mixed"&&(A=h,E=t.find(e,[A,A]),S=t.convert(0,A),C=t.find(a,[A,A]));for(var M=[],x=[],N=[],$=0;$<g;$++){N[$]=x.length;for(var F=w[$],I=w[$+1],R=F;R<I;R++){var q=m[R],U=f?C(c[R],l[q][$]):C(l[q][$],c[R]);E(U,S)||(x.push(q),M.push(U))}}return N[g]=x.length,s.createSparseMatrix({values:M,index:x,ptr:N,size:[y,g],datatype:h===n._datatype&&v===s._datatype?A:void 0})}}),dg="matAlgo03xDSf",mg=["typed"],ni=mt(dg,mg,i=>{var{typed:t}=i;return function(r,n,s,a){var f=r._data,l=r._size,p=r._datatype||r.getDataType(),h=n._values,c=n._index,m=n._ptr,w=n._size,D=n._datatype||n._data===void 0?n._datatype:n.getDataType();if(l.length!==w.length)throw new jt(l.length,w.length);if(l[0]!==w[0]||l[1]!==w[1])throw new RangeError("Dimension mismatch. Matrix A ("+l+") must match Matrix B ("+w+")");if(!h)throw new Error("Cannot perform operation on Dense Matrix and Pattern Sparse Matrix");var v=l[0],y=l[1],g,A=0,E=s;typeof p=="string"&&p===D&&p!=="mixed"&&(g=p,A=t.convert(0,g),E=t.find(s,[g,g]));for(var S=[],C=0;C<v;C++)S[C]=[];for(var M=[],x=[],N=0;N<y;N++){for(var $=N+1,F=m[N],I=m[N+1],R=F;R<I;R++){var q=c[R];M[q]=a?E(h[R],f[q][N]):E(f[q][N],h[R]),x[q]=$}for(var U=0;U<v;U++)x[U]===$?S[U][N]=M[U]:S[U][N]=a?E(A,f[U][N]):E(f[U][N],A)}return r.createDenseMatrix({data:S,size:[v,y],datatype:p===r._datatype&&D===n._datatype?g:void 0})}}),vg="matAlgo05xSfSf",gg=["typed","equalScalar"],$c=mt(vg,gg,i=>{var{typed:t,equalScalar:e}=i;return function(n,s,a){var f=n._values,l=n._index,p=n._ptr,h=n._size,c=n._datatype||n._data===void 0?n._datatype:n.getDataType(),m=s._values,w=s._index,D=s._ptr,v=s._size,y=s._datatype||s._data===void 0?s._datatype:s.getDataType();if(h.length!==v.length)throw new jt(h.length,v.length);if(h[0]!==v[0]||h[1]!==v[1])throw new RangeError("Dimension mismatch. Matrix A ("+h+") must match Matrix B ("+v+")");var g=h[0],A=h[1],E,S=e,C=0,M=a;typeof c=="string"&&c===y&&c!=="mixed"&&(E=c,S=t.find(e,[E,E]),C=t.convert(0,E),M=t.find(a,[E,E]));var x=f&&m?[]:void 0,N=[],$=[],F=x?[]:void 0,I=x?[]:void 0,R=[],q=[],U,W,P,G;for(W=0;W<A;W++){$[W]=N.length;var j=W+1;for(P=p[W],G=p[W+1];P<G;P++)U=l[P],N.push(U),R[U]=j,F&&(F[U]=f[P]);for(P=D[W],G=D[W+1];P<G;P++)U=w[P],R[U]!==j&&N.push(U),q[U]=j,I&&(I[U]=m[P]);if(x)for(P=$[W];P<N.length;){U=N[P];var H=R[U],V=q[U];if(H===j||V===j){var ct=H===j?F[U]:C,gt=V===j?I[U]:C,ft=M(ct,gt);S(ft,C)?N.splice(P,1):(x.push(ft),P++)}}}return $[A]=N.length,n.createSparseMatrix({values:x,index:N,ptr:$,size:[g,A],datatype:c===n._datatype&&y===s._datatype?E:void 0})}}),wg="matAlgo13xDD",_g=["typed"],Dg=mt(wg,_g,i=>{var{typed:t}=i;return function(n,s,a){var f=n._data,l=n._size,p=n._datatype,h=s._data,c=s._size,m=s._datatype,w=[];if(l.length!==c.length)throw new jt(l.length,c.length);for(var D=0;D<l.length;D++){if(l[D]!==c[D])throw new RangeError("Dimension mismatch. Matrix A ("+l+") must match Matrix B ("+c+")");w[D]=l[D]}var v,y=a;typeof p=="string"&&p===m&&(v=p,y=t.find(a,[v,v]));var g=w.length>0?e(y,0,w,w[0],f,h):[];return n.createDenseMatrix({data:g,size:w,datatype:v})};function e(r,n,s,a,f,l){var p=[];if(n===s.length-1)for(var h=0;h<a;h++)p[h]=r(f[h],l[h]);else for(var c=0;c<a;c++)p[c]=e(r,n+1,s,s[n+1],f[c],l[c]);return p}}),yg="broadcast",Eg=["concat"],Ag=mt(yg,Eg,i=>{var{concat:t}=i;return function(n,s){var a=Math.max(n._size.length,s._size.length);if(n._size.length===s._size.length&&n._size.every((D,v)=>D===s._size[v]))return[n,s];for(var f=e(n._size,a,0),l=e(s._size,a,0),p=[],h=0;h<a;h++)p[h]=Math.max(f[h],l[h]);vs(f,p),vs(l,p);var c=n.clone(),m=s.clone();c._size.length<a?c.reshape(e(c._size,a,1)):m._size.length<a&&m.reshape(e(m._size,a,1));for(var w=0;w<a;w++)c._size[w]<p[w]&&(c=r(c,p[w],w)),m._size[w]<p[w]&&(m=r(m,p[w],w));return[c,m]};function e(n,s,a){return[...Array(s-n.length).fill(a),...n]}function r(n,s,a){return t(...Array(s).fill(n),a)}}),bg="matrixAlgorithmSuite",Cg=["typed","matrix","concat"],Tn=mt(bg,Cg,i=>{var{typed:t,matrix:e,concat:r}=i,n=Dg({typed:t}),s=vo({typed:t}),a=Ag({concat:r});return function(l){var p=l.elop,h=l.SD||l.DS,c;p?(c={"DenseMatrix, DenseMatrix":(v,y)=>n(...a(v,y),p),"Array, Array":(v,y)=>n(...a(e(v),e(y)),p).valueOf(),"Array, DenseMatrix":(v,y)=>n(...a(e(v),y),p),"DenseMatrix, Array":(v,y)=>n(...a(v,e(y)),p)},l.SS&&(c["SparseMatrix, SparseMatrix"]=(v,y)=>l.SS(...a(v,y),p,!1)),l.DS&&(c["DenseMatrix, SparseMatrix"]=(v,y)=>l.DS(...a(v,y),p,!1),c["Array, SparseMatrix"]=(v,y)=>l.DS(...a(e(v),y),p,!1)),h&&(c["SparseMatrix, DenseMatrix"]=(v,y)=>h(...a(y,v),p,!0),c["SparseMatrix, Array"]=(v,y)=>h(...a(e(y),v),p,!0))):(c={"DenseMatrix, DenseMatrix":t.referToSelf(v=>(y,g)=>n(...a(y,g),v)),"Array, Array":t.referToSelf(v=>(y,g)=>n(...a(e(y),e(g)),v).valueOf()),"Array, DenseMatrix":t.referToSelf(v=>(y,g)=>n(...a(e(y),g),v)),"DenseMatrix, Array":t.referToSelf(v=>(y,g)=>n(...a(y,e(g)),v))},l.SS&&(c["SparseMatrix, SparseMatrix"]=t.referToSelf(v=>(y,g)=>l.SS(...a(y,g),v,!1))),l.DS&&(c["DenseMatrix, SparseMatrix"]=t.referToSelf(v=>(y,g)=>l.DS(...a(y,g),v,!1)),c["Array, SparseMatrix"]=t.referToSelf(v=>(y,g)=>l.DS(...a(e(y),g),v,!1))),h&&(c["SparseMatrix, DenseMatrix"]=t.referToSelf(v=>(y,g)=>h(...a(g,y),v,!0)),c["SparseMatrix, Array"]=t.referToSelf(v=>(y,g)=>h(...a(e(g),y),v,!0))));var m=l.scalar||"any",w=l.Ds||l.Ss;w&&(p?(c["DenseMatrix,"+m]=(v,y)=>s(v,y,p,!1),c[m+", DenseMatrix"]=(v,y)=>s(y,v,p,!0),c["Array,"+m]=(v,y)=>s(e(v),y,p,!1).valueOf(),c[m+", Array"]=(v,y)=>s(e(y),v,p,!0).valueOf()):(c["DenseMatrix,"+m]=t.referToSelf(v=>(y,g)=>s(y,g,v,!1)),c[m+", DenseMatrix"]=t.referToSelf(v=>(y,g)=>s(g,y,v,!0)),c["Array,"+m]=t.referToSelf(v=>(y,g)=>s(e(y),g,v,!1).valueOf()),c[m+", Array"]=t.referToSelf(v=>(y,g)=>s(e(g),y,v,!0).valueOf())));var D=l.sS!==void 0?l.sS:l.Ss;return p?(l.Ss&&(c["SparseMatrix,"+m]=(v,y)=>l.Ss(v,y,p,!1)),D&&(c[m+", SparseMatrix"]=(v,y)=>D(y,v,p,!0))):(l.Ss&&(c["SparseMatrix,"+m]=t.referToSelf(v=>(y,g)=>l.Ss(y,g,v,!1))),D&&(c[m+", SparseMatrix"]=t.referToSelf(v=>(y,g)=>D(g,y,v,!0)))),p&&p.signatures&&Mf(c,p.signatures),c}}),Fg="matAlgo01xDSid",Mg=["typed"],Oc=mt(Fg,Mg,i=>{var{typed:t}=i;return function(r,n,s,a){var f=r._data,l=r._size,p=r._datatype||r.getDataType(),h=n._values,c=n._index,m=n._ptr,w=n._size,D=n._datatype||n._data===void 0?n._datatype:n.getDataType();if(l.length!==w.length)throw new jt(l.length,w.length);if(l[0]!==w[0]||l[1]!==w[1])throw new RangeError("Dimension mismatch. Matrix A ("+l+") must match Matrix B ("+w+")");if(!h)throw new Error("Cannot perform operation on Dense Matrix and Pattern Sparse Matrix");var v=l[0],y=l[1],g=typeof p=="string"&&p!=="mixed"&&p===D?p:void 0,A=g?t.find(s,[g,g]):s,E,S,C=[];for(E=0;E<v;E++)C[E]=[];var M=[],x=[];for(S=0;S<y;S++){for(var N=S+1,$=m[S],F=m[S+1],I=$;I<F;I++)E=c[I],M[E]=a?A(h[I],f[E][S]):A(f[E][S],h[I]),x[E]=N;for(E=0;E<v;E++)x[E]===N?C[E][S]=M[E]:C[E][S]=f[E][S]}return r.createDenseMatrix({data:C,size:[v,y],datatype:p===r._datatype&&D===n._datatype?g:void 0})}}),xg="matAlgo04xSidSid",Sg=["typed","equalScalar"],Ng=mt(xg,Sg,i=>{var{typed:t,equalScalar:e}=i;return function(n,s,a){var f=n._values,l=n._index,p=n._ptr,h=n._size,c=n._datatype||n._data===void 0?n._datatype:n.getDataType(),m=s._values,w=s._index,D=s._ptr,v=s._size,y=s._datatype||s._data===void 0?s._datatype:s.getDataType();if(h.length!==v.length)throw new jt(h.length,v.length);if(h[0]!==v[0]||h[1]!==v[1])throw new RangeError("Dimension mismatch. Matrix A ("+h+") must match Matrix B ("+v+")");var g=h[0],A=h[1],E,S=e,C=0,M=a;typeof c=="string"&&c===y&&c!=="mixed"&&(E=c,S=t.find(e,[E,E]),C=t.convert(0,E),M=t.find(a,[E,E]));var x=f&&m?[]:void 0,N=[],$=[],F=f&&m?[]:void 0,I=f&&m?[]:void 0,R=[],q=[],U,W,P,G,j;for(W=0;W<A;W++){$[W]=N.length;var H=W+1;for(G=p[W],j=p[W+1],P=G;P<j;P++)U=l[P],N.push(U),R[U]=H,F&&(F[U]=f[P]);for(G=D[W],j=D[W+1],P=G;P<j;P++)if(U=w[P],R[U]===H){if(F){var V=M(F[U],m[P]);S(V,C)?R[U]=null:F[U]=V}}else N.push(U),q[U]=H,I&&(I[U]=m[P]);if(F&&I)for(P=$[W];P<N.length;)U=N[P],R[U]===H?(x[P]=F[U],P++):q[U]===H?(x[P]=I[U],P++):N.splice(P,1)}return $[A]=N.length,n.createSparseMatrix({values:x,index:N,ptr:$,size:[g,A],datatype:c===n._datatype&&y===s._datatype?E:void 0})}}),Bg="matAlgo10xSids",Ig=["typed","DenseMatrix"],Rc=mt(Bg,Ig,i=>{var{typed:t,DenseMatrix:e}=i;return function(n,s,a,f){var l=n._values,p=n._index,h=n._ptr,c=n._size,m=n._datatype;if(!l)throw new Error("Cannot perform operation on Pattern Sparse Matrix and Scalar value");var w=c[0],D=c[1],v,y=a;typeof m=="string"&&(v=m,s=t.convert(s,v),y=t.find(a,[v,v]));for(var g=[],A=[],E=[],S=0;S<D;S++){for(var C=S+1,M=h[S],x=h[S+1],N=M;N<x;N++){var $=p[N];A[$]=l[N],E[$]=C}for(var F=0;F<w;F++)S===0&&(g[F]=[]),E[F]===C?g[F][S]=f?y(s,A[F]):y(A[F],s):g[F][S]=s}return new e({data:g,size:[w,D],datatype:v})}}),Tg="multiplyScalar",$g=["typed"],Og=mt(Tg,$g,i=>{var{typed:t}=i;return t("multiplyScalar",{"number, number":Dc,"Complex, Complex":function(r,n){return r.mul(n)},"BigNumber, BigNumber":function(r,n){return r.times(n)},"Fraction, Fraction":function(r,n){return r.mul(n)},"number | Fraction | BigNumber | Complex, Unit":(e,r)=>r.multiply(e),"Unit, number | Fraction | BigNumber | Complex | Unit":(e,r)=>e.multiply(r)})}),Lc="multiply",Rg=["typed","matrix","addScalar","multiplyScalar","equalScalar","dot"],Lg=mt(Lc,Rg,i=>{var{typed:t,matrix:e,addScalar:r,multiplyScalar:n,equalScalar:s,dot:a}=i,f=mo({typed:t,equalScalar:s}),l=vo({typed:t});function p(C,M){switch(C.length){case 1:switch(M.length){case 1:if(C[0]!==M[0])throw new RangeError("Dimension mismatch in multiplication. Vectors must have the same length");break;case 2:if(C[0]!==M[0])throw new RangeError("Dimension mismatch in multiplication. Vector length ("+C[0]+") must match Matrix rows ("+M[0]+")");break;default:throw new Error("Can only multiply a 1 or 2 dimensional matrix (Matrix B has "+M.length+" dimensions)")}break;case 2:switch(M.length){case 1:if(C[1]!==M[0])throw new RangeError("Dimension mismatch in multiplication. Matrix columns ("+C[1]+") must match Vector length ("+M[0]+")");break;case 2:if(C[1]!==M[0])throw new RangeError("Dimension mismatch in multiplication. Matrix A columns ("+C[1]+") must match Matrix B rows ("+M[0]+")");break;default:throw new Error("Can only multiply a 1 or 2 dimensional matrix (Matrix B has "+M.length+" dimensions)")}break;default:throw new Error("Can only multiply a 1 or 2 dimensional matrix (Matrix A has "+C.length+" dimensions)")}}function h(C,M,x){if(x===0)throw new Error("Cannot multiply two empty vectors");return a(C,M)}function c(C,M){if(M.storage()!=="dense")throw new Error("Support for SparseMatrix not implemented");return m(C,M)}function m(C,M){var x=C._data,N=C._size,$=C._datatype||C.getDataType(),F=M._data,I=M._size,R=M._datatype||M.getDataType(),q=N[0],U=I[1],W,P=r,G=n;$&&R&&$===R&&typeof $=="string"&&$!=="mixed"&&(W=$,P=t.find(r,[W,W]),G=t.find(n,[W,W]));for(var j=[],H=0;H<U;H++){for(var V=G(x[0],F[0][H]),ct=1;ct<q;ct++)V=P(V,G(x[ct],F[ct][H]));j[H]=V}return C.createDenseMatrix({data:j,size:[U],datatype:$===C._datatype&&R===M._datatype?W:void 0})}var w=t("_multiplyMatrixVector",{"DenseMatrix, any":v,"SparseMatrix, any":A}),D=t("_multiplyMatrixMatrix",{"DenseMatrix, DenseMatrix":y,"DenseMatrix, SparseMatrix":g,"SparseMatrix, DenseMatrix":E,"SparseMatrix, SparseMatrix":S});function v(C,M){var x=C._data,N=C._size,$=C._datatype||C.getDataType(),F=M._data,I=M._datatype||M.getDataType(),R=N[0],q=N[1],U,W=r,P=n;$&&I&&$===I&&typeof $=="string"&&$!=="mixed"&&(U=$,W=t.find(r,[U,U]),P=t.find(n,[U,U]));for(var G=[],j=0;j<R;j++){for(var H=x[j],V=P(H[0],F[0]),ct=1;ct<q;ct++)V=W(V,P(H[ct],F[ct]));G[j]=V}return C.createDenseMatrix({data:G,size:[R],datatype:$===C._datatype&&I===M._datatype?U:void 0})}function y(C,M){var x=C._data,N=C._size,$=C._datatype||C.getDataType(),F=M._data,I=M._size,R=M._datatype||M.getDataType(),q=N[0],U=N[1],W=I[1],P,G=r,j=n;$&&R&&$===R&&typeof $=="string"&&$!=="mixed"&&$!=="mixed"&&(P=$,G=t.find(r,[P,P]),j=t.find(n,[P,P]));for(var H=[],V=0;V<q;V++){var ct=x[V];H[V]=[];for(var gt=0;gt<W;gt++){for(var ft=j(ct[0],F[0][gt]),_t=1;_t<U;_t++)ft=G(ft,j(ct[_t],F[_t][gt]));H[V][gt]=ft}}return C.createDenseMatrix({data:H,size:[q,W],datatype:$===C._datatype&&R===M._datatype?P:void 0})}function g(C,M){var x=C._data,N=C._size,$=C._datatype||C.getDataType(),F=M._values,I=M._index,R=M._ptr,q=M._size,U=M._datatype||M._data===void 0?M._datatype:M.getDataType();if(!F)throw new Error("Cannot multiply Dense Matrix times Pattern only Matrix");var W=N[0],P=q[1],G,j=r,H=n,V=s,ct=0;$&&U&&$===U&&typeof $=="string"&&$!=="mixed"&&(G=$,j=t.find(r,[G,G]),H=t.find(n,[G,G]),V=t.find(s,[G,G]),ct=t.convert(0,G));for(var gt=[],ft=[],_t=[],yt=M.createSparseMatrix({values:gt,index:ft,ptr:_t,size:[W,P],datatype:$===C._datatype&&U===M._datatype?G:void 0}),Nt=0;Nt<P;Nt++){_t[Nt]=ft.length;var Et=R[Nt],ee=R[Nt+1];if(ee>Et)for(var It=0,xt=0;xt<W;xt++){for(var ie=xt+1,Xt=void 0,zt=Et;zt<ee;zt++){var Gt=I[zt];It!==ie?(Xt=H(x[xt][Gt],F[zt]),It=ie):Xt=j(Xt,H(x[xt][Gt],F[zt]))}It===ie&&!V(Xt,ct)&&(ft.push(xt),gt.push(Xt))}}return _t[P]=ft.length,yt}function A(C,M){var x=C._values,N=C._index,$=C._ptr,F=C._datatype||C._data===void 0?C._datatype:C.getDataType();if(!x)throw new Error("Cannot multiply Pattern only Matrix times Dense Matrix");var I=M._data,R=M._datatype||M.getDataType(),q=C._size[0],U=M._size[0],W=[],P=[],G=[],j,H=r,V=n,ct=s,gt=0;F&&R&&F===R&&typeof F=="string"&&F!=="mixed"&&(j=F,H=t.find(r,[j,j]),V=t.find(n,[j,j]),ct=t.find(s,[j,j]),gt=t.convert(0,j));var ft=[],_t=[];G[0]=0;for(var yt=0;yt<U;yt++){var Nt=I[yt];if(!ct(Nt,gt))for(var Et=$[yt],ee=$[yt+1],It=Et;It<ee;It++){var xt=N[It];_t[xt]?ft[xt]=H(ft[xt],V(Nt,x[It])):(_t[xt]=!0,P.push(xt),ft[xt]=V(Nt,x[It]))}}for(var ie=P.length,Xt=0;Xt<ie;Xt++){var zt=P[Xt];W[Xt]=ft[zt]}return G[1]=P.length,C.createSparseMatrix({values:W,index:P,ptr:G,size:[q,1],datatype:F===C._datatype&&R===M._datatype?j:void 0})}function E(C,M){var x=C._values,N=C._index,$=C._ptr,F=C._datatype||C._data===void 0?C._datatype:C.getDataType();if(!x)throw new Error("Cannot multiply Pattern only Matrix times Dense Matrix");var I=M._data,R=M._datatype||M.getDataType(),q=C._size[0],U=M._size[0],W=M._size[1],P,G=r,j=n,H=s,V=0;F&&R&&F===R&&typeof F=="string"&&F!=="mixed"&&(P=F,G=t.find(r,[P,P]),j=t.find(n,[P,P]),H=t.find(s,[P,P]),V=t.convert(0,P));for(var ct=[],gt=[],ft=[],_t=C.createSparseMatrix({values:ct,index:gt,ptr:ft,size:[q,W],datatype:F===C._datatype&&R===M._datatype?P:void 0}),yt=[],Nt=[],Et=0;Et<W;Et++){ft[Et]=gt.length;for(var ee=Et+1,It=0;It<U;It++){var xt=I[It][Et];if(!H(xt,V))for(var ie=$[It],Xt=$[It+1],zt=ie;zt<Xt;zt++){var Gt=N[zt];Nt[Gt]!==ee?(Nt[Gt]=ee,gt.push(Gt),yt[Gt]=j(xt,x[zt])):yt[Gt]=G(yt[Gt],j(xt,x[zt]))}}for(var Fe=ft[Et],er=gt.length,xe=Fe;xe<er;xe++){var jr=gt[xe];ct[xe]=yt[jr]}}return ft[W]=gt.length,_t}function S(C,M){var x=C._values,N=C._index,$=C._ptr,F=C._datatype||C._data===void 0?C._datatype:C.getDataType(),I=M._values,R=M._index,q=M._ptr,U=M._datatype||M._data===void 0?M._datatype:M.getDataType(),W=C._size[0],P=M._size[1],G=x&&I,j,H=r,V=n;F&&U&&F===U&&typeof F=="string"&&F!=="mixed"&&(j=F,H=t.find(r,[j,j]),V=t.find(n,[j,j]));for(var ct=G?[]:void 0,gt=[],ft=[],_t=C.createSparseMatrix({values:ct,index:gt,ptr:ft,size:[W,P],datatype:F===C._datatype&&U===M._datatype?j:void 0}),yt=G?[]:void 0,Nt=[],Et,ee,It,xt,ie,Xt,zt,Gt,Fe=0;Fe<P;Fe++){ft[Fe]=gt.length;var er=Fe+1;for(ie=q[Fe],Xt=q[Fe+1],xt=ie;xt<Xt;xt++)if(Gt=R[xt],G)for(ee=$[Gt],It=$[Gt+1],Et=ee;Et<It;Et++)zt=N[Et],Nt[zt]!==er?(Nt[zt]=er,gt.push(zt),yt[zt]=V(I[xt],x[Et])):yt[zt]=H(yt[zt],V(I[xt],x[Et]));else for(ee=$[Gt],It=$[Gt+1],Et=ee;Et<It;Et++)zt=N[Et],Nt[zt]!==er&&(Nt[zt]=er,gt.push(zt));if(G)for(var xe=ft[Fe],jr=gt.length,pn=xe;pn<jr;pn++){var Gr=gt[pn];ct[pn]=yt[Gr]}}return ft[P]=gt.length,_t}return t(Lc,n,{"Array, Array":t.referTo("Matrix, Matrix",C=>(M,x)=>{p(be(M),be(x));var N=C(e(M),e(x));return ce(N)?N.valueOf():N}),"Matrix, Matrix":function(M,x){var N=M.size(),$=x.size();return p(N,$),N.length===1?$.length===1?h(M,x,N[0]):c(M,x):$.length===1?w(M,x):D(M,x)},"Matrix, Array":t.referTo("Matrix,Matrix",C=>(M,x)=>C(M,e(x))),"Array, Matrix":t.referToSelf(C=>(M,x)=>C(e(M,x.storage()),x)),"SparseMatrix, any":function(M,x){return f(M,x,n,!1)},"DenseMatrix, any":function(M,x){return l(M,x,n,!1)},"any, SparseMatrix":function(M,x){return f(x,M,n,!0)},"any, DenseMatrix":function(M,x){return l(x,M,n,!0)},"Array, any":function(M,x){return l(e(M),x,n,!1).valueOf()},"any, Array":function(M,x){return l(e(x),M,n,!0).valueOf()},"any, any":n,"any, any, ...any":t.referToSelf(C=>(M,x,N)=>{for(var $=C(M,x),F=0;F<N.length;F++)$=C($,N[F]);return $})})}),Pc="subtract",Pg=["typed","matrix","equalScalar","subtractScalar","unaryMinus","DenseMatrix","concat"],zg=mt(Pc,Pg,i=>{var{typed:t,matrix:e,equalScalar:r,subtractScalar:n,unaryMinus:s,DenseMatrix:a,concat:f}=i,l=Oc({typed:t}),p=ni({typed:t}),h=$c({typed:t,equalScalar:r}),c=Rc({typed:t,DenseMatrix:a}),m=ri({typed:t,DenseMatrix:a}),w=Tn({typed:t,matrix:e,concat:f});return t(Pc,{"any, any":n},w({elop:n,SS:h,DS:l,SD:p,Ss:m,sS:c}))}),Ug="matAlgo07xSSf",qg=["typed","DenseMatrix"],Bs=mt(Ug,qg,i=>{var{typed:t,DenseMatrix:e}=i;return function(s,a,f){var l=s._size,p=s._datatype||s._data===void 0?s._datatype:s.getDataType(),h=a._size,c=a._datatype||a._data===void 0?a._datatype:a.getDataType();if(l.length!==h.length)throw new jt(l.length,h.length);if(l[0]!==h[0]||l[1]!==h[1])throw new RangeError("Dimension mismatch. Matrix A ("+l+") must match Matrix B ("+h+")");var m=l[0],w=l[1],D,v=0,y=f;typeof p=="string"&&p===c&&p!=="mixed"&&(D=p,v=t.convert(0,D),y=t.find(f,[D,D]));var g,A,E=[];for(g=0;g<m;g++)E[g]=[];var S=[],C=[],M=[],x=[];for(A=0;A<w;A++){var N=A+1;for(r(s,A,M,S,N),r(a,A,x,C,N),g=0;g<m;g++){var $=M[g]===N?S[g]:v,F=x[g]===N?C[g]:v;E[g][A]=y($,F)}}return new e({data:E,size:[m,w],datatype:p===s._datatype&&c===a._datatype?D:void 0})};function r(n,s,a,f,l){for(var p=n._values,h=n._index,c=n._ptr,m=c[s],w=c[s+1];m<w;m++){var D=h[m];a[D]=l,f[D]=p[m]}}}),zc="conj",Wg=["typed"],kg=mt(zc,Wg,i=>{var{typed:t}=i;return t(zc,{"number | BigNumber | Fraction":e=>e,Complex:e=>e.conjugate(),"Array | Matrix":t.referToSelf(e=>r=>xr(r,e))})}),Uc="concat",Yg=["typed","matrix","isInteger"],Zg=mt(Uc,Yg,i=>{var{typed:t,matrix:e,isInteger:r}=i;return t(Uc,{"...Array | Matrix | number | BigNumber":function(s){var a,f=s.length,l=-1,p,h=!1,c=[];for(a=0;a<f;a++){var m=s[a];if(ce(m)&&(h=!0),ae(m)||ye(m)){if(a!==f-1)throw new Error("Dimension must be specified as last argument");if(p=l,l=m.valueOf(),!r(l))throw new TypeError("Integer number expected for dimension");if(l<0||a>0&&l>p)throw new un(l,p+1)}else{var w=te(m).valueOf(),D=be(w);if(c[a]=w,p=l,l=D.length-1,a>0&&l!==p)throw new jt(p+1,l+1)}}if(c.length===0)throw new SyntaxError("At least one matrix expected");for(var v=c.shift();c.length;)v=Gf(v,c.shift(),l);return h?e(v):v},"...string":function(s){return s.join("")}})}),qc="count",jg=["typed","size","prod"],Gg=mt(qc,jg,i=>{var{typed:t,size:e,prod:r}=i;return t(qc,{string:function(s){return s.length},"Matrix | Array":function(s){return r(e(s))}})}),Wc="identity",Kg=["typed","config","matrix","BigNumber","DenseMatrix","SparseMatrix"],Jg=mt(Wc,Kg,i=>{var{typed:t,config:e,matrix:r,BigNumber:n,DenseMatrix:s,SparseMatrix:a}=i;return t(Wc,{"":function(){return e.matrix==="Matrix"?r([]):[]},string:function(h){return r(h)},"number | BigNumber":function(h){return l(h,h,e.matrix==="Matrix"?"dense":void 0)},"number | BigNumber, string":function(h,c){return l(h,h,c)},"number | BigNumber, number | BigNumber":function(h,c){return l(h,c,e.matrix==="Matrix"?"dense":void 0)},"number | BigNumber, number | BigNumber, string":function(h,c,m){return l(h,c,m)},Array:function(h){return f(h)},"Array, string":function(h,c){return f(h,c)},Matrix:function(h){return f(h.valueOf(),h.storage())},"Matrix, string":function(h,c){return f(h.valueOf(),c)}});function f(p,h){switch(p.length){case 0:return h?r(h):[];case 1:return l(p[0],p[0],h);case 2:return l(p[0],p[1],h);default:throw new Error("Vector containing two values expected")}}function l(p,h,c){var m=ye(p)||ye(h)?n:null;if(ye(p)&&(p=p.toNumber()),ye(h)&&(h=h.toNumber()),!he(p)||p<1)throw new Error("Parameters in function identity must be positive integers");if(!he(h)||h<1)throw new Error("Parameters in function identity must be positive integers");var w=m?new n(1):1,D=m?new m(0):0,v=[p,h];if(c){if(c==="sparse")return a.diagonal(v,w,0,D);if(c==="dense")return s.diagonal(v,w,0,D);throw new TypeError('Unknown matrix type "'.concat(c,'"'))}for(var y=to([],v,D),g=p<h?p:h,A=0;A<g;A++)y[A][A]=w;return y}}),kc="kron",Xg=["typed","matrix","multiplyScalar"],Hg=mt(kc,Xg,i=>{var{typed:t,matrix:e,multiplyScalar:r}=i;return t(kc,{"Matrix, Matrix":function(a,f){return e(n(a.toArray(),f.toArray()))},"Matrix, Array":function(a,f){return e(n(a.toArray(),f))},"Array, Matrix":function(a,f){return e(n(a,f.toArray()))},"Array, Array":n});function n(s,a){if(be(s).length===1&&(s=[s]),be(a).length===1&&(a=[a]),be(s).length>2||be(a).length>2)throw new RangeError("Vectors with dimensions greater then 2 are not supported expected (Size x = "+JSON.stringify(s.length)+", y = "+JSON.stringify(a.length)+")");var f=[],l=[];return s.map(function(p){return a.map(function(h){return l=[],f.push(l),p.map(function(c){return h.map(function(m){return l.push(r(c,m))})})})})&&f}});function Qg(){throw new Error('No "bignumber" implementation available')}function Vg(){throw new Error('No "fraction" implementation available')}function t1(){throw new Error('No "matrix" implementation available')}var Yc="reshape",e1=["typed","isInteger","matrix"],r1=mt(Yc,e1,i=>{var{typed:t,isInteger:e}=i;return t(Yc,{"Matrix, Array":function(n,s){return n.reshape(s,!0)},"Array, Array":function(n,s){return s.forEach(function(a){if(!e(a))throw new TypeError("Invalid size for dimension: "+a)}),ro(n,s)}})}),Zc="size",n1=["typed","config","?matrix"],i1=mt(Zc,n1,i=>{var{typed:t,config:e,matrix:r}=i;return t(Zc,{Matrix:function(s){return s.create(s.size())},Array:be,string:function(s){return e.matrix==="Array"?[s.length]:r([s.length])},"number | Complex | BigNumber | Unit | boolean | null":function(s){return e.matrix==="Array"?[]:r?r([]):t1()}})}),jc="transpose",s1=["typed","matrix"],u1=mt(jc,s1,i=>{var{typed:t,matrix:e}=i;return t(jc,{Array:a=>r(e(a)).valueOf(),Matrix:r,any:te});function r(a){var f=a.size(),l;switch(f.length){case 1:l=a.clone();break;case 2:{var p=f[0],h=f[1];if(h===0)throw new RangeError("Cannot transpose a 2D matrix with no columns (size: "+se(f)+")");switch(a.storage()){case"dense":l=n(a,p,h);break;case"sparse":l=s(a,p,h);break}}break;default:throw new RangeError("Matrix must be a vector or two dimensional (size: "+se(f)+")")}return l}function n(a,f,l){for(var p=a._data,h=[],c,m=0;m<l;m++){c=h[m]=[];for(var w=0;w<f;w++)c[w]=te(p[w][m])}return a.createDenseMatrix({data:h,size:[l,f],datatype:a._datatype})}function s(a,f,l){for(var p=a._values,h=a._index,c=a._ptr,m=p?[]:void 0,w=[],D=[],v=[],y=0;y<f;y++)v[y]=0;var g,A,E;for(g=0,A=h.length;g<A;g++)v[h[g]]++;for(var S=0,C=0;C<f;C++)D.push(S),S+=v[C],v[C]=D[C];for(D.push(S),E=0;E<l;E++)for(var M=c[E],x=c[E+1],N=M;N<x;N++){var $=v[h[N]]++;w[$]=E,p&&(m[$]=te(p[N]))}return a.createSparseMatrix({values:m,index:w,ptr:D,size:[l,f],datatype:a._datatype})}}),Gc="ctranspose",o1=["typed","transpose","conj"],a1=mt(Gc,o1,i=>{var{typed:t,transpose:e,conj:r}=i;return t(Gc,{any:function(s){return r(e(s))}})}),Kc="mode",f1=["typed","isNaN","isNumeric"],c1=mt(Kc,f1,i=>{var{typed:t,isNaN:e,isNumeric:r}=i;return t(Kc,{"Array | Matrix":n,"...":function(a){return n(a)}});function n(s){s=io(s.valueOf());var a=s.length;if(a===0)throw new Error("Cannot calculate mode of an empty array");for(var f={},l=[],p=0,h=0;h<s.length;h++){var c=s[h];if(r(c)&&e(c))throw new Error("Cannot calculate mode of an array containing NaN values");c in f||(f[c]=0),f[c]++,f[c]===p?l.push(c):f[c]>p&&(p=f[c],l=[c])}return l}});function ln(i,t,e){var r;return String(i).indexOf("Unexpected type")!==-1?(r=arguments.length>2?" (type: "+sn(e)+", value: "+JSON.stringify(e)+")":" (type: "+i.data.actual+")",new TypeError("Cannot calculate "+t+", unexpected type of argument"+r)):String(i).indexOf("complex numbers")!==-1?(r=arguments.length>2?" (type: "+sn(e)+", value: "+JSON.stringify(e)+")":"",new TypeError("Cannot calculate "+t+", no ordering relation is defined for complex numbers"+r)):i}var Jc="prod",l1=["typed","config","multiplyScalar","numeric"],h1=mt(Jc,l1,i=>{var{typed:t,config:e,multiplyScalar:r,numeric:n}=i;return t(Jc,{"Array | Matrix":s,"Array | Matrix, number | BigNumber":function(f,l){throw new Error("prod(A, dim) is not yet supported")},"...":function(f){return s(f)}});function s(a){var f;if(Ii(a,function(l){try{f=f===void 0?l:r(f,l)}catch(p){throw ln(p,"prod",l)}}),typeof f=="string"&&(f=n(f,e.number)),f===void 0)throw new Error("Cannot calculate prod of an empty array");return f}}),p1="numeric",d1=["number","?bignumber","?fraction"],m1=mt(p1,d1,i=>{var{number:t,bignumber:e,fraction:r}=i,n={string:!0,number:!0,BigNumber:!0,Fraction:!0},s={number:a=>t(a),BigNumber:e?a=>e(a):Qg,Fraction:r?a=>r(a):Vg};return function(f){var l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"number",p=arguments.length>2?arguments[2]:void 0;if(p!==void 0)throw new SyntaxError("numeric() takes one or two arguments");var h=sn(f);if(!(h in n))throw new TypeError("Cannot convert "+f+' of type "'+h+'"; valid input types are '+Object.keys(n).join(", "));if(!(l in s))throw new TypeError("Cannot convert "+f+' to type "'+l+'"; valid output types are '+Object.keys(s).join(", "));return l===h?f:s[l](f)}}),Xc="divideScalar",v1=["typed","numeric"],g1=mt(Xc,v1,i=>{var{typed:t,numeric:e}=i;return t(Xc,{"number, number":function(n,s){return n/s},"Complex, Complex":function(n,s){return n.div(s)},"BigNumber, BigNumber":function(n,s){return n.div(s)},"Fraction, Fraction":function(n,s){return n.div(s)},"Unit, number | Complex | Fraction | BigNumber | Unit":(r,n)=>r.divide(n),"number | Fraction | Complex | BigNumber, Unit":(r,n)=>n.divideInto(r)})}),Hc="pow",w1=["typed","config","identity","multiply","matrix","inv","fraction","number","Complex"],_1=mt(Hc,w1,i=>{var{typed:t,config:e,identity:r,multiply:n,matrix:s,inv:a,number:f,fraction:l,Complex:p}=i;return t(Hc,{"number, number":h,"Complex, Complex":function(D,v){return D.pow(v)},"BigNumber, BigNumber":function(D,v){return v.isInteger()||D>=0||e.predictable?D.pow(v):new p(D.toNumber(),0).pow(v.toNumber(),0)},"Fraction, Fraction":function(D,v){var y=D.pow(v);if(y!=null)return y;if(e.predictable)throw new Error("Result of pow is non-rational and cannot be expressed as a fraction");return h(D.valueOf(),v.valueOf())},"Array, number":c,"Array, BigNumber":function(D,v){return c(D,v.toNumber())},"Matrix, number":m,"Matrix, BigNumber":function(D,v){return m(D,v.toNumber())},"Unit, number | BigNumber":function(D,v){return D.pow(v)}});function h(w,D){if(e.predictable&&!he(D)&&w<0)try{var v=l(D),y=f(v);if((D===y||Math.abs((D-y)/D)<1e-14)&&v.d%2===1)return(v.n%2===0?1:-1)*Math.pow(-w,D)}catch{}return e.predictable&&(w<-1&&D===1/0||w>-1&&w<0&&D===-1/0)?NaN:he(D)||w>=0||e.predictable?Ec(w,D):w*w<1&&D===1/0||w*w>1&&D===-1/0?0:new p(w,0).pow(D,0)}function c(w,D){if(!he(D))throw new TypeError("For A^b, b must be an integer (value is "+D+")");var v=be(w);if(v.length!==2)throw new Error("For A^b, A must be 2 dimensional (A has "+v.length+" dimensions)");if(v[0]!==v[1])throw new Error("For A^b, A must be square (size is "+v[0]+"x"+v[1]+")");if(D<0)try{return c(a(w),-D)}catch(A){throw A.message==="Cannot calculate inverse, determinant is zero"?new TypeError("For A^b, when A is not invertible, b must be a positive integer (value is "+D+")"):A}for(var y=r(v[0]).valueOf(),g=w;D>=1;)(D&1)===1&&(y=n(g,y)),D>>=1,g=n(g,g);return y}function m(w,D){return s(c(w.valueOf(),D))}}),Qc="dotDivide",D1=["typed","matrix","equalScalar","divideScalar","DenseMatrix","concat"],y1=mt(Qc,D1,i=>{var{typed:t,matrix:e,equalScalar:r,divideScalar:n,DenseMatrix:s,concat:a}=i,f=pg({typed:t,equalScalar:r}),l=ni({typed:t}),p=Bs({typed:t,DenseMatrix:s}),h=mo({typed:t,equalScalar:r}),c=ri({typed:t,DenseMatrix:s}),m=Tn({typed:t,matrix:e,concat:a});return t(Qc,m({elop:n,SS:p,DS:l,SD:f,Ss:h,sS:c}))}),Is="compare",E1=["typed","config","matrix","equalScalar","BigNumber","Fraction","DenseMatrix","concat"],A1=mt(Is,E1,i=>{var{typed:t,config:e,equalScalar:r,matrix:n,BigNumber:s,Fraction:a,DenseMatrix:f,concat:l}=i,p=ni({typed:t}),h=$c({typed:t,equalScalar:r}),c=ri({typed:t,DenseMatrix:f}),m=Tn({typed:t,matrix:n,concat:l}),w=Ss({typed:t});return t(Is,b1({typed:t,config:e}),{"boolean, boolean":function(v,y){return v===y?0:v>y?1:-1},"BigNumber, BigNumber":function(v,y){return xs(v,y,e.epsilon)?new s(0):new s(v.cmp(y))},"Fraction, Fraction":function(v,y){return new a(v.compare(y))},"Complex, Complex":function(){throw new TypeError("No ordering relation is defined for complex numbers")}},w,m({SS:h,DS:p,Ss:c}))}),b1=mt(Is,["typed","config"],i=>{var{typed:t,config:e}=i;return t(Is,{"number, number":function(n,s){return In(n,s,e.epsilon)?0:n>s?1:-1}})}),Ts="equal",C1=["typed","matrix","equalScalar","DenseMatrix","concat"],F1=mt(Ts,C1,i=>{var{typed:t,matrix:e,equalScalar:r,DenseMatrix:n,concat:s}=i,a=ni({typed:t}),f=Bs({typed:t,DenseMatrix:n}),l=ri({typed:t,DenseMatrix:n}),p=Tn({typed:t,matrix:e,concat:s});return t(Ts,M1({typed:t,equalScalar:r}),p({elop:r,SS:f,DS:a,Ss:l}))}),M1=mt(Ts,["typed","equalScalar"],i=>{var{typed:t,equalScalar:e}=i;return t(Ts,{"any, any":function(n,s){return n===null?s===null:s===null?n===null:n===void 0?s===void 0:s===void 0?n===void 0:e(n,s)}})}),$s="smaller",x1=["typed","config","matrix","DenseMatrix","concat"],S1=mt($s,x1,i=>{var{typed:t,config:e,matrix:r,DenseMatrix:n,concat:s}=i,a=ni({typed:t}),f=Bs({typed:t,DenseMatrix:n}),l=ri({typed:t,DenseMatrix:n}),p=Tn({typed:t,matrix:r,concat:s}),h=Ss({typed:t});return t($s,N1({typed:t,config:e}),{"boolean, boolean":(c,m)=>c<m,"BigNumber, BigNumber":function(m,w){return m.lt(w)&&!xs(m,w,e.epsilon)},"Fraction, Fraction":(c,m)=>c.compare(m)===-1,"Complex, Complex":function(m,w){throw new TypeError("No ordering relation is defined for complex numbers")}},h,p({SS:f,DS:a,Ss:l}))}),N1=mt($s,["typed","config"],i=>{var{typed:t,config:e}=i;return t($s,{"number, number":function(n,s){return n<s&&!In(n,s,e.epsilon)}})}),Os="larger",B1=["typed","config","matrix","DenseMatrix","concat"],I1=mt(Os,B1,i=>{var{typed:t,config:e,matrix:r,DenseMatrix:n,concat:s}=i,a=ni({typed:t}),f=Bs({typed:t,DenseMatrix:n}),l=ri({typed:t,DenseMatrix:n}),p=Tn({typed:t,matrix:r,concat:s}),h=Ss({typed:t});return t(Os,T1({typed:t,config:e}),{"boolean, boolean":(c,m)=>c>m,"BigNumber, BigNumber":function(m,w){return m.gt(w)&&!xs(m,w,e.epsilon)},"Fraction, Fraction":(c,m)=>c.compare(m)===1,"Complex, Complex":function(){throw new TypeError("No ordering relation is defined for complex numbers")}},h,p({SS:f,DS:a,Ss:l}))}),T1=mt(Os,["typed","config"],i=>{var{typed:t,config:e}=i;return t(Os,{"number, number":function(n,s){return n>s&&!In(n,s,e.epsilon)}})}),Vc="deepEqual",$1=["typed","equal"],O1=mt(Vc,$1,i=>{var{typed:t,equal:e}=i;return t(Vc,{"any, any":function(s,a){return r(s.valueOf(),a.valueOf())}});function r(n,s){if(Array.isArray(n))if(Array.isArray(s)){var a=n.length;if(a!==s.length)return!1;for(var f=0;f<a;f++)if(!r(n[f],s[f]))return!1;return!0}else return!1;else return Array.isArray(s)?!1:e(n,s)}}),tl="partitionSelect",R1=["typed","isNumeric","isNaN","compare"],L1=mt(tl,R1,i=>{var{typed:t,isNumeric:e,isNaN:r,compare:n}=i,s=n,a=(p,h)=>-n(p,h);return t(tl,{"Array | Matrix, number":function(h,c){return f(h,c,s)},"Array | Matrix, number, string":function(h,c,m){if(m==="asc")return f(h,c,s);if(m==="desc")return f(h,c,a);throw new Error('Compare string must be "asc" or "desc"')},"Array | Matrix, number, function":f});function f(p,h,c){if(!he(h)||h<0)throw new Error("k must be a non-negative integer");if(ce(p)){var m=p.size();if(m.length>1)throw new Error("Only one dimensional matrices supported");return l(p.valueOf(),h,c)}if(Array.isArray(p))return l(p,h,c)}function l(p,h,c){if(h>=p.length)throw new Error("k out of bounds");for(var m=0;m<p.length;m++)if(e(p[m])&&r(p[m]))return p[m];for(var w=0,D=p.length-1;w<D;){for(var v=w,y=D,g=p[Math.floor(Math.random()*(D-w+1))+w];v<y;)if(c(p[v],g)>=0){var A=p[y];p[y]=p[v],p[v]=A,--y}else++v;c(p[v],g)>0&&--v,h<=v?D=v:w=v+1}return p[h]}}),el="max",P1=["typed","config","numeric","larger"],z1=mt(el,P1,i=>{var{typed:t,config:e,numeric:r,larger:n}=i;return t(el,{"Array | Matrix":a,"Array | Matrix, number | BigNumber":function(l,p){return po(l,p.valueOf(),s)},"...":function(l){if(Cs(l))throw new TypeError("Scalar values expected in function max");return a(l)}});function s(f,l){try{return n(f,l)?f:l}catch(p){throw ln(p,"max",l)}}function a(f){var l;if(Ii(f,function(p){try{isNaN(p)&&typeof p=="number"?l=NaN:(l===void 0||n(p,l))&&(l=p)}catch(h){throw ln(h,"max",p)}}),l===void 0)throw new Error("Cannot calculate max of an empty array");return typeof l=="string"&&(l=r(l,e.number)),l}}),rl="min",U1=["typed","config","numeric","smaller"],q1=mt(rl,U1,i=>{var{typed:t,config:e,numeric:r,smaller:n}=i;return t(rl,{"Array | Matrix":a,"Array | Matrix, number | BigNumber":function(l,p){return po(l,p.valueOf(),s)},"...":function(l){if(Cs(l))throw new TypeError("Scalar values expected in function min");return a(l)}});function s(f,l){try{return n(f,l)?f:l}catch(p){throw ln(p,"min",l)}}function a(f){var l;if(Ii(f,function(p){try{isNaN(p)&&typeof p=="number"?l=NaN:(l===void 0||n(p,l))&&(l=p)}catch(h){throw ln(h,"min",p)}}),l===void 0)throw new Error("Cannot calculate min of an empty array");return typeof l=="string"&&(l=r(l,e.number)),l}}),nl="add",W1=["typed","matrix","addScalar","equalScalar","DenseMatrix","SparseMatrix","concat"],k1=mt(nl,W1,i=>{var{typed:t,matrix:e,addScalar:r,equalScalar:n,DenseMatrix:s,SparseMatrix:a,concat:f}=i,l=Oc({typed:t}),p=Ng({typed:t,equalScalar:n}),h=Rc({typed:t,DenseMatrix:s}),c=Tn({typed:t,matrix:e,concat:f});return t(nl,{"any, any":r,"any, any, ...any":t.referToSelf(m=>(w,D,v)=>{for(var y=m(w,D),g=0;g<v.length;g++)y=m(y,v[g]);return y})},c({elop:r,DS:l,SS:p,Ss:h}))}),il="dot",Y1=["typed","addScalar","multiplyScalar","conj","size"],Z1=mt(il,Y1,i=>{var{typed:t,addScalar:e,multiplyScalar:r,conj:n,size:s}=i;return t(il,{"Array | DenseMatrix, Array | DenseMatrix":f,"SparseMatrix, SparseMatrix":l});function a(h,c){var m=p(h),w=p(c),D,v;if(m.length===1)D=m[0];else if(m.length===2&&m[1]===1)D=m[0];else throw new RangeError("Expected a column vector, instead got a matrix of size ("+m.join(", ")+")");if(w.length===1)v=w[0];else if(w.length===2&&w[1]===1)v=w[0];else throw new RangeError("Expected a column vector, instead got a matrix of size ("+w.join(", ")+")");if(D!==v)throw new RangeError("Vectors must have equal length ("+D+" != "+v+")");if(D===0)throw new RangeError("Cannot calculate the dot product of empty vectors");return D}function f(h,c){var m=a(h,c),w=ce(h)?h._data:h,D=ce(h)?h._datatype||h.getDataType():void 0,v=ce(c)?c._data:c,y=ce(c)?c._datatype||c.getDataType():void 0,g=p(h).length===2,A=p(c).length===2,E=e,S=r;if(D&&y&&D===y&&typeof D=="string"&&D!=="mixed"){var C=D;E=t.find(e,[C,C]),S=t.find(r,[C,C])}if(!g&&!A){for(var M=S(n(w[0]),v[0]),x=1;x<m;x++)M=E(M,S(n(w[x]),v[x]));return M}if(!g&&A){for(var N=S(n(w[0]),v[0][0]),$=1;$<m;$++)N=E(N,S(n(w[$]),v[$][0]));return N}if(g&&!A){for(var F=S(n(w[0][0]),v[0]),I=1;I<m;I++)F=E(F,S(n(w[I][0]),v[I]));return F}if(g&&A){for(var R=S(n(w[0][0]),v[0][0]),q=1;q<m;q++)R=E(R,S(n(w[q][0]),v[q][0]));return R}}function l(h,c){a(h,c);for(var m=h._index,w=h._values,D=c._index,v=c._values,y=0,g=e,A=r,E=0,S=0;E<m.length&&S<D.length;){var C=m[E],M=D[S];if(C<M){E++;continue}if(C>M){S++;continue}C===M&&(y=g(y,A(w[E],v[S])),E++,S++)}return y}function p(h){return ce(h)?h.size():s(h)}}),j1="trace",G1=["typed","matrix","add"],K1=mt(j1,G1,i=>{var{typed:t,matrix:e,add:r}=i;return t("trace",{Array:function(f){return n(e(f))},SparseMatrix:s,DenseMatrix:n,any:te});function n(a){var f=a._size,l=a._data;switch(f.length){case 1:if(f[0]===1)return te(l[0]);throw new RangeError("Matrix must be square (size: "+se(f)+")");case 2:{var p=f[0],h=f[1];if(p===h){for(var c=0,m=0;m<p;m++)c=r(c,l[m][m]);return c}else throw new RangeError("Matrix must be square (size: "+se(f)+")")}default:throw new RangeError("Matrix must be two dimensional (size: "+se(f)+")")}}function s(a){var f=a._values,l=a._index,p=a._ptr,h=a._size,c=h[0],m=h[1];if(c===m){var w=0;if(f.length>0)for(var D=0;D<m;D++)for(var v=p[D],y=p[D+1],g=v;g<y;g++){var A=l[g];if(A===D){w=r(w,f[g]);break}if(A>D)break}return w}throw new RangeError("Matrix must be square (size: "+se(h)+")")}}),sl="det",J1=["typed","matrix","subtractScalar","multiply","divideScalar","isZero","unaryMinus"],X1=mt(sl,J1,i=>{var{typed:t,matrix:e,subtractScalar:r,multiply:n,divideScalar:s,isZero:a,unaryMinus:f}=i;return t(sl,{any:function(h){return te(h)},"Array | Matrix":function(h){var c;switch(ce(h)?c=h.size():Array.isArray(h)?(h=e(h),c=h.size()):c=[],c.length){case 0:return te(h);case 1:if(c[0]===1)return te(h.valueOf()[0]);if(c[0]===0)return 1;throw new RangeError("Matrix must be square (size: "+se(c)+")");case 2:{var m=c[0],w=c[1];if(m===w)return l(h.clone().valueOf(),m);if(w===0)return 1;throw new RangeError("Matrix must be square (size: "+se(c)+")")}default:throw new RangeError("Matrix must be two dimensional (size: "+se(c)+")")}}});function l(p,h,c){if(h===1)return te(p[0][0]);if(h===2)return r(n(p[0][0],p[1][1]),n(p[1][0],p[0][1]));for(var m=!1,w=new Array(h).fill(0).map((x,N)=>N),D=0;D<h;D++){var v=w[D];if(a(p[v][D])){var y=void 0;for(y=D+1;y<h;y++)if(!a(p[w[y]][D])){v=w[y],w[y]=w[D],w[D]=v,m=!m;break}if(y===h)return p[v][D]}for(var g=p[v][D],A=D===0?1:p[w[D-1]][D-1],E=D+1;E<h;E++)for(var S=w[E],C=D+1;C<h;C++)p[S][C]=s(r(n(p[S][C],g),n(p[S][D],p[v][C])),A)}var M=p[w[h-1]][h-1];return m?f(M):M}}),ul="inv",H1=["typed","matrix","divideScalar","addScalar","multiply","unaryMinus","det","identity","abs"],Q1=mt(ul,H1,i=>{var{typed:t,matrix:e,divideScalar:r,addScalar:n,multiply:s,unaryMinus:a,det:f,identity:l,abs:p}=i;return t(ul,{"Array | Matrix":function(m){var w=ce(m)?m.size():be(m);switch(w.length){case 1:if(w[0]===1)return ce(m)?e([r(1,m.valueOf()[0])]):[r(1,m[0])];throw new RangeError("Matrix must be square (size: "+se(w)+")");case 2:{var D=w[0],v=w[1];if(D===v)return ce(m)?e(h(m.valueOf(),D,v),m.storage()):h(m,D,v);throw new RangeError("Matrix must be square (size: "+se(w)+")")}default:throw new RangeError("Matrix must be two dimensional (size: "+se(w)+")")}},any:function(m){return r(1,m)}});function h(c,m,w){var D,v,y,g,A;if(m===1){if(g=c[0][0],g===0)throw Error("Cannot calculate inverse, determinant is zero");return[[r(1,g)]]}else if(m===2){var E=f(c);if(E===0)throw Error("Cannot calculate inverse, determinant is zero");return[[r(c[1][1],E),r(a(c[0][1]),E)],[r(a(c[1][0]),E),r(c[0][0],E)]]}else{var S=c.concat();for(D=0;D<m;D++)S[D]=S[D].concat();for(var C=l(m).valueOf(),M=0;M<w;M++){var x=p(S[M][M]),N=M;for(D=M+1;D<m;)p(S[D][M])>x&&(x=p(S[D][M]),N=D),D++;if(x===0)throw Error("Cannot calculate inverse, determinant is zero");D=N,D!==M&&(A=S[M],S[M]=S[D],S[D]=A,A=C[M],C[M]=C[D],C[D]=A);var $=S[M],F=C[M];for(D=0;D<m;D++){var I=S[D],R=C[D];if(D!==M){if(I[M]!==0){for(y=r(a(I[M]),$[M]),v=M;v<w;v++)I[v]=n(I[v],s(y,$[v]));for(v=0;v<w;v++)R[v]=n(R[v],s(y,F[v]))}}else{for(y=$[M],v=M;v<w;v++)I[v]=r(I[v],y);for(v=0;v<w;v++)R[v]=r(R[v],y)}}}return C}}}),ol="pinv",V1=["typed","matrix","inv","deepEqual","equal","dotDivide","dot","ctranspose","divideScalar","multiply","add","Complex"],tw=mt(ol,V1,i=>{var{typed:t,matrix:e,inv:r,deepEqual:n,equal:s,dotDivide:a,dot:f,ctranspose:l,divideScalar:p,multiply:h,add:c,Complex:m}=i;return t(ol,{"Array | Matrix":function(E){var S=ce(E)?E.size():be(E);switch(S.length){case 1:return g(E)?l(E):S[0]===1?r(E):a(l(E),f(E,E));case 2:{if(g(E))return l(E);var C=S[0],M=S[1];if(C===M)try{return r(E)}catch(x){if(!(x instanceof Error&&x.message.match(/Cannot calculate inverse, determinant is zero/)))throw x}return ce(E)?e(w(E.valueOf(),C,M),E.storage()):w(E,C,M)}default:throw new RangeError("Matrix must be two dimensional (size: "+se(S)+")")}},any:function(E){return s(E,0)?te(E):p(1,E)}});function w(A,E,S){var{C,F:M}=v(A,E,S),x=h(r(h(l(C),C)),l(C)),N=h(l(M),r(h(M,l(M))));return h(N,x)}function D(A,E,S){for(var C=te(A),M=0,x=0;x<E;x++){if(S<=M)return C;for(var N=x;y(C[N][M]);)if(N++,E===N&&(N=x,M++,S===M))return C;[C[N],C[x]]=[C[x],C[N]];for(var $=C[x][M],F=0;F<S;F++)C[x][F]=a(C[x][F],$);for(var I=0;I<E;I++)if(I!==x){$=C[I][M];for(var R=0;R<S;R++)C[I][R]=c(C[I][R],h(-1,h($,C[x][R])))}M++}return C}function v(A,E,S){var C=D(A,E,S),M=A.map((N,$)=>N.filter((F,I)=>I<E&&!y(f(C[I],C[I])))),x=C.filter((N,$)=>!y(f(C[$],C[$])));return{C:M,F:x}}function y(A){return s(c(A,m(1,1)),c(0,m(1,1)))}function g(A){return n(c(A,m(1,1)),c(h(A,0),m(1,1)))}}),ew="divide",rw=["typed","matrix","multiply","equalScalar","divideScalar","inv"],nw=mt(ew,rw,i=>{var{typed:t,matrix:e,multiply:r,equalScalar:n,divideScalar:s,inv:a}=i,f=mo({typed:t,equalScalar:n}),l=vo({typed:t});return t("divide",Mf({"Array | Matrix, Array | Matrix":function(h,c){return r(h,a(c))},"DenseMatrix, any":function(h,c){return l(h,c,s,!1)},"SparseMatrix, any":function(h,c){return f(h,c,s,!1)},"Array, any":function(h,c){return l(e(h),c,s,!1).valueOf()},"any, Array | Matrix":function(h,c){return r(h,a(c))}},s.signatures))}),al="sum",iw=["typed","config","add","numeric"],sw=mt(al,iw,i=>{var{typed:t,config:e,add:r,numeric:n}=i;return t(al,{"Array | Matrix":s,"Array | Matrix, number | BigNumber":a,"...":function(l){if(Cs(l))throw new TypeError("Scalar values expected in function sum");return s(l)}});function s(f){var l;return Ii(f,function(p){try{l=l===void 0?p:r(l,p)}catch(h){throw ln(h,"sum",p)}}),l===void 0&&(l=n(0,e.number)),typeof l=="string"&&(l=n(l,e.number)),l}function a(f,l){try{var p=po(f,l,r);return p}catch(h){throw ln(h,"sum")}}}),fl="median",uw=["typed","add","divide","compare","partitionSelect"],ow=mt(fl,uw,i=>{var{typed:t,add:e,divide:r,compare:n,partitionSelect:s}=i;function a(p){try{p=io(p.valueOf());var h=p.length;if(h===0)throw new Error("Cannot calculate median of an empty array");if(h%2===0){for(var c=h/2-1,m=s(p,c+1),w=p[c],D=0;D<c;++D)n(p[D],w)>0&&(w=p[D]);return l(w,m)}else{var v=s(p,(h-1)/2);return f(v)}}catch(y){throw ln(y,"median")}}var f=t({"number | BigNumber | Complex | Unit":function(h){return h}}),l=t({"number | BigNumber | Complex | Unit, number | BigNumber | Complex | Unit":function(h,c){return r(e(h,c),2)}});return t(fl,{"Array | Matrix":a,"Array | Matrix, number | BigNumber":function(h,c){throw new Error("median(A, dim) is not yet supported")},"...":function(h){if(Cs(h))throw new TypeError("Scalar values expected in function median");return a(h)}})}),Rs=av({config:Ve}),go=hv({}),wo=vv({}),_o=_v({}),Pr=Ev({Matrix:_o}),Mt=lm({BigNumber:Rs,Complex:go,DenseMatrix:Pr,Fraction:wo}),aw=tg({typed:Mt}),Ls=rg({typed:Mt}),fw=Zv({BigNumber:Rs,typed:Mt}),cl=kg({typed:Mt}),hn=$v({config:Ve,typed:Mt}),Ps=Cv({typed:Mt}),cw=Sv({typed:Mt}),zs=Og({typed:Mt}),ll=Wv({typed:Mt}),Do=Lv({Matrix:_o,equalScalar:hn,typed:Mt}),hl=ig({typed:Mt}),pl=Bv({typed:Mt}),yo=Qv({typed:Mt}),dl=Kv({Fraction:wo,typed:Mt}),ml=Mv({typed:Mt}),Ce=Xv({DenseMatrix:Pr,Matrix:_o,SparseMatrix:Do,typed:Mt}),vl=c1({isNaN:pl,isNumeric:ml,typed:Mt}),Ti=m1({bignumber:fw,fraction:dl,number:ll}),lw=h1({config:Ve,multiplyScalar:zs,numeric:Ti,typed:Mt}),hw=r1({isInteger:Ps,matrix:Ce,typed:Mt}),gl=i1({matrix:Ce,config:Ve,typed:Mt}),wl=u1({matrix:Ce,typed:Mt}),$n=Zg({isInteger:Ps,matrix:Ce,typed:Mt}),pw=Gg({prod:lw,size:gl,typed:Mt}),dw=a1({conj:cl,transpose:wl,typed:Mt}),$i=g1({numeric:Ti,typed:Mt}),mw=y1({DenseMatrix:Pr,concat:$n,divideScalar:$i,equalScalar:hn,matrix:Ce,typed:Mt}),_l=F1({DenseMatrix:Pr,concat:$n,equalScalar:hn,matrix:Ce,typed:Mt}),Dl=Jg({BigNumber:Rs,DenseMatrix:Pr,SparseMatrix:Do,config:Ve,matrix:Ce,typed:Mt}),vw=Hg({matrix:Ce,multiplyScalar:zs,typed:Mt}),gw=S1({DenseMatrix:Pr,concat:$n,config:Ve,matrix:Ce,typed:Mt}),ww=zg({DenseMatrix:Pr,concat:$n,equalScalar:hn,matrix:Ce,subtractScalar:hl,typed:Mt,unaryMinus:yo}),Oi=k1({DenseMatrix:Pr,SparseMatrix:Do,addScalar:Ls,concat:$n,equalScalar:hn,matrix:Ce,typed:Mt}),yl=A1({BigNumber:Rs,DenseMatrix:Pr,Fraction:wo,concat:$n,config:Ve,equalScalar:hn,matrix:Ce,typed:Mt}),_w=O1({equal:_l,typed:Mt}),El=Z1({addScalar:Ls,conj:cl,multiplyScalar:zs,size:gl,typed:Mt}),Dw=I1({DenseMatrix:Pr,concat:$n,config:Ve,matrix:Ce,typed:Mt}),Eo=q1({config:Ve,numeric:Ti,smaller:gw,typed:Mt}),ii=Lg({addScalar:Ls,dot:El,equalScalar:hn,matrix:Ce,multiplyScalar:zs,typed:Mt}),yw=L1({compare:yl,isNaN:pl,isNumeric:ml,typed:Mt}),Ew=sw({add:Oi,config:Ve,numeric:Ti,typed:Mt}),Aw=K1({add:Oi,matrix:Ce,typed:Mt}),Al=X1({divideScalar:$i,isZero:cw,matrix:Ce,multiply:ii,subtractScalar:hl,typed:Mt,unaryMinus:yo}),bw=z1({config:Ve,larger:Dw,numeric:Ti,typed:Mt}),Us=Q1({abs:aw,addScalar:Ls,det:Al,divideScalar:$i,identity:Dl,matrix:Ce,multiply:ii,typed:Mt,unaryMinus:yo}),Cw=tw({Complex:go,add:Oi,ctranspose:dw,deepEqual:_w,divideScalar:$i,dot:El,dotDivide:mw,equal:_l,inv:Us,matrix:Ce,multiply:ii,typed:Mt}),Fw=_1({Complex:go,config:Ve,fraction:dl,identity:Dl,inv:Us,matrix:Ce,multiply:ii,number:ll,typed:Mt}),Mw=nw({divideScalar:$i,equalScalar:hn,inv:Us,matrix:Ce,multiply:ii,typed:Mt}),bl=ow({add:Oi,compare:yl,divide:Mw,partitionSelect:yw,typed:Mt});class xw{constructor(t,e,r){ut(this,"_cacheData");ut(this,"_variables");ut(this,"_math");ut(this,"_timeframe");this._cacheData={},this._variables=t,this._math=e,this._timeframe=r}alma({series:t,length:e,offset:r,sigma:n,floor:s},a){if(t===void 0||e===void 0||r===void 0||n===void 0)return;const f=this._cacheDataList(t,e,`alma_${a}`);if(f===void 0)return;let l=r*(e-1);s&&(l=Math.floor(l));const p=e/n;let h=0,c=0;for(let m=0;m<=e-1;m++){const w=Math.exp(-1*Math.pow(m-l,2)/(2*Math.pow(p,2)));h+=w,c+=f[f.length-1-(e-m-1)]*w}return c/h}sma({source:t,length:e},r){if(t===void 0||e===void 0)return;let n=0;const s=this._cacheDataList(t,e,`sma_${r}`);if(s===void 0)return;const a=s.slice(-e);return n=Ew(...a)/e,n}rma({source:t,length:e},r){if(t===void 0||e===void 0||isNaN(t))return;const n=this._cacheData[`sma_${r}`]||[];n[this._variables.bar_index]=t,this._cacheData[`sma_${r}`]=n;const{sum:s}=this._cacheData[`rma_${r}`]||{},a=1/e,f=s===void 0?this.sma({source:t,length:e},r):a*t+(1-a)*(s||0);return this._cacheDataHandle(`rma_${r}`,{sum:f}),f}atr({length:t},e){const{high:r,close:n}=this._cacheData[`atr_${e}`]||{},{high:s,close:a,low:f}=this._variables,l=r===void 0?s-f:Math.max(Math.max(s-f,Math.abs(s-n)),Math.abs(f-n));return this._cacheDataHandle(`atr_${e}`,{high:s,close:a}),this.rma({source:l,length:t},e)}barssince({condition:t},e){let{count:r}=this._cacheData[`barssince_${e}`]||{};if(t)r=0;else{if(r===void 0)return;r+=1}return this._cacheDataHandle(`barssince_${e}`,{count:r}),r}stdev({source:t,length:e,biased:r=!0},n){if(t===void 0||e===void 0)return;const s=this._cacheDataList(t,e,`stdev_${n}`),a=this.sma({source:t,length:e},n);if(s===void 0)return;let f=0;for(let l=0;l<e;l++){const p=this._sum(s[s.length-1-l],-(a||0));f+=p*p}return r||e<=1?Math.sqrt(f/e):Math.sqrt(f/(e-1))}_sum(t,e){let n=t+e;return Math.abs(n)<=1e-10&&(n=0),n}bb({series:t,length:e,mult:r},n){if(t===void 0||e===void 0||r===void 0)return[];const s=this.sma({source:t,length:e},n),a=this.stdev({source:t,length:e},n);if(s===void 0||a===void 0)return[];const f=r*a;return[s,s+f,s-f]}bbw({series:t,length:e,mult:r},n){if(t===void 0||e===void 0||r===void 0)return;const s=this.sma({source:t,length:e},n),a=this.stdev({source:t,length:e},n);if(s===void 0||a===void 0)return;const f=r*a;return(s+f-(s-f))/s}cci({source:t,length:e},r){if(t===void 0||e===void 0)return;const n=this.sma({source:t,length:e},r),s=this.dev({source:t,length:e},r);if(!(n===void 0||s===void 0))return(t-n)/(.015*s)}change({source:t,length:e=1},r){if(t===void 0)return;const n=this._cacheData[`change_${r}`]||[];n[this._variables.bar_index]=t,this._cacheData[`change_${r}`]=n;const s=n[n.length-1-e];return s===void 0?s:typeof t=="boolean"?s!==t:t-s}cmo({series:t,length:e},r){if(t===void 0||e===void 0)return;const n=this.change({source:t},r);if(n===void 0)return;const s=this._math.sum({source:n>=0?n:0,length:e},`sm1_${r}`),a=this._math.sum({source:n>=0?0:-n,length:e},`sm2_${r}`);if(!(s===void 0||a===void 0))return 100*(s-a)/(s+a)}cog({source:t,length:e},r){if(t===void 0||e===void 0)return;const n=this._cacheDataList(t,e,`cog_${r}`),s=this._math.sum({source:t,length:e},r);if(s===void 0||n===void 0)return;let a=0;for(let f=0;f<e;f++){const l=n[n.length-1-f];a+=l*(f+1)}return-a/s}correlation({source1:t,source2:e,length:r},n){if(t===void 0||e===void 0||r===void 0)return;const s=this._cacheDataList([t,e],r,`correlation_${n}`),a=this.sma({source:t,length:r},`sma1_${n}`),f=this.sma({source:e,length:r},`sma2_${n}`);if(a===void 0||f===void 0||s===void 0)return;let l=0,p=0,h=0;for(let m=0;m<r;m++){const[w,D]=s[s.length-1-m],v=w-a,y=D-f;l+=v*y,p+=v*v,h+=y*y}return isNaN(p)||isNaN(l)||isNaN(h)?void 0:l/Math.sqrt(p*h)}cross({source1:t,source2:e},r){if(t===void 0||e===void 0)return;const{source1:n,source2:s}=this._cacheData[`cross_${r}`]||{};return this._cacheDataHandle(`cross_${r}`,{source1:t,source2:e}),n===void 0||s===void 0?!1:n>=s&&t<e||n<=s&&t>e}crossover({source1:t,source2:e},r){if(t===void 0||e===void 0)return;const{source1:n,source2:s}=this._cacheData[`crossover_${r}`]||{};return this._cacheDataHandle(`crossover_${r}`,{source1:t,source2:e}),n===void 0||s===void 0?!1:n<=s&&t>e}crossunder({source1:t,source2:e},r){if(t===void 0||e===void 0)return;const{source1:n,source2:s}=this._cacheData[`crossunder_${r}`]||{};return this._cacheDataHandle(`crossunder_${r}`,{source1:t,source2:e}),n===void 0||s===void 0?!1:n>=s&&t<e}cum({source:t=0},e){let{sum:r}=this._cacheData[`cum_${e}`]||{};return r=r||0,r+=t,this._cacheDataHandle(`cum_${e}`,{sum:r}),r}dev({source:t,length:e},r){if(t===void 0||e===void 0)return;const n=this.sma({source:t,length:e},r);let s=0;const a=this._cacheDataList(t,e,`dev_${r}`);if(!(!a||n===void 0)){for(let f=0;f<e;f++){const l=a[a.length-1-f];s+=Math.abs(l-n)}return s/e}}dmi({diLength:t,adxSmoothing:e},r){if(t===void 0||e===void 0)return[void 0,void 0,void 0];const n=`dmi_${r}`,{low:s,high:a,close:f,PDMS:l,NDMS:p,TRS:h,ADX:c,count:m=0}=this._cacheData[n]||{},{low:w,high:D,close:v}=this._variables;if(s===void 0||a===void 0||f===void 0)return this._cacheData[n]={low:w,high:D,close:v,PDMS:l,NDMS:p,TRS:D-w,count:1},[void 0,void 0,void 0];let y=D-a,g=s-w;y=y>g&&y>0?y:0,g=g>y&&g>0?g:0,y===g&&(y=g=0);const A=Math.max(D-w,Math.abs(D-f),Math.abs(w-f));if(m<t)return this._cacheDataHandle(n,{low:w,high:D,close:v,PDMS:(l||0)+y,NDMS:(p||0)+g,TRS:(h||0)+A,count:m+1}),[void 0,void 0,void 0];{const E=l-l/t+y,S=p-p/t+g,C=h-h/t+A,M=E/C*100,x=S/C*100,N=Math.abs((M-x)/(M+x))*100;let $=N,F=[M,x,void 0];if(m+1-t<e){const I=m+1-t;$=((c||0)*(I-1)+N)/I}else $=(c*(e-1)+N)/e,F=[M,x,$];return this._cacheDataHandle(n,{low:w,high:D,close:v,PDMS:E,NDMS:S,TRS:C,ADX:$,count:m+1}),F}}ema({source:t,length:e},r){if(t===void 0||e===void 0)return;let{sum:n,count:s=1}=this._cacheData[`ema_${r}`]||{};const a=this.sma({source:t,length:e},r);if(s>e){const f=2/(e+1);n=n===void 0?t:f*t+(1-f)*(n||0)}else n=a;return s+=1,this._cacheDataHandle(`ema_${r}`,{sum:n,count:s}),n}falling({source:t,length:e},r){if(t===void 0||e===void 0)return!1;const{source:n,fallings:s=[]}=this._cacheData[`falling_${r}`]||{};s.push(n>t);const a=s.slice(-e);return this._cacheDataHandle(`falling_${r}`,{source:t,fallings:a}),a.length<e?!1:a.every(f=>f)}rising({source:t,length:e},r){if(t===void 0||e===void 0)return!1;const{source:n,risings:s=[]}=this._cacheData[`rising_${r}`]||{};s.push(n<t);const a=s.slice(-e);return this._cacheDataHandle(`rising_${r}`,{source:t,fallings:a}),a.length<e?!1:a.every(f=>f)}highest({source:t,length:e},r){if(e===void 0||e<=0)return;const n=this._cacheData[`highest_${r}`]||[],{high:s,bar_index:a}=this._variables;typeof t!="number"?n[a]=s:n[a]=t,this._cacheData[`highest_${r}`]=n;const f=n.filter(()=>!0);if(!(f.length<e))return Math.max(...f.slice(-e))}highestbars({source:t,length:e},r){if(e===void 0||e<=0)return;const n=this._cacheData[`highestbars_${r}`]||[],{high:s,bar_index:a}=this._variables;typeof t!="number"?n[a]=s:n[a]=t,this._cacheData[`highestbars_${r}`]=n;const f=n.filter(()=>!0);return f.length<e?void 0:f.slice(-e).reduce((p,h,c,m)=>h>=m[p]?c:p,0)-e+1}wma({source:t,length:e},r){if(e===void 0||t===void 0||e<=0)return;const n=this._cacheDataList(t,e,`wma_${r}`);if(!n)return;let s=0,a=0;for(let f=0;f<e;f++){const l=(e-f)*e;s+=l,a+=n[n.length-1-f]*l}return a/s}hma({source:t,length:e},r){if(e===void 0||t===void 0||e<=0)return;const n=this.wma({source:t,length:e},r),s=this.wma({source:t,length:Math.round(e/2)},r);return n===void 0||s===void 0?void 0:this.wma({source:2*s-n,length:Math.floor(Math.sqrt(e))},`hma_${r}`)}kc({series:t,length:e,mult:r,useTrueRange:n=!0},s){if(t===void 0||e===void 0||r===void 0)return[void 0,void 0,void 0];const a=this.ema({source:t,length:e},s),{ta:f,high:l,low:p}=this._variables,h=n?f.tr:l-p,c=this.ema({source:h,length:e},`range_${s}`);return[a,a+c*r,a-c*r]}kcw({series:t,length:e,mult:r,useTrueRange:n=!0},s){if(t===void 0||e===void 0||r===void 0)return;const a=this.ema({source:t,length:e},s),{ta:f,high:l,low:p}=this._variables,h=n?f.tr:l-p,c=this.ema({source:h,length:e},`range_${s}`);return(a+c*r-(a-c*r))/a}linreg({source:t,length:e,offset:r},n){if(e===void 0||r===void 0)return;const s=this._cacheDataList(t,e,`dev_${n}`);if(!s)return;const a=s.slice(-e).filter(w=>w!==void 0);let f=0,l=0,p=0,h=0;for(const[w,D]of a.entries())f+=w,l+=D,p+=w*D,h+=w*w;const c=(e*p-f*l)/(e*h-f*f);return(l-c*f)/e+c*(e-1-r)}lowest({source:t,length:e},r){if(e===void 0||e<=0)return;const n=this._cacheData[`lowest_${r}`]||[],{low:s,bar_index:a}=this._variables;typeof t!="number"?n[a]=s:n[a]=t,this._cacheData[`lowest_${r}`]=n;const f=n.filter(()=>!0);if(!(f.length<e))return Math.min(...f.slice(-e))}lowestbars({source:t,length:e},r){if(e===void 0||e<=0)return;const n=this._cacheData[`lowestbars_${r}`]||[],{low:s,bar_index:a}=this._variables;typeof t!="number"?n[a]=s:n[a]=t,this._cacheData[`lowestbars_${r}`]=n;const f=n.filter(()=>!0);return f.length<e?void 0:f.slice(-e).reduce((p,h,c,m)=>h<=m[p]?c:p,0)-e+1}macd({source:t,fastlen:e,slowlen:r,siglen:n},s){if(t===void 0||e===void 0||r===void 0||n===void 0)return[void 0,void 0,void 0];const a=this.ema({source:t,length:e},`ema1_${s}`),f=this.ema({source:t,length:r},`ema2_${s}`);if(a===void 0||f===void 0)return[void 0,void 0,void 0];const l=a-f,p=this.ema({source:l,length:n},`macd_${s}`);if(p===void 0)return[l,p,void 0];const h=l-p;return[l,p,h]}max({source:t},e){if(t===void 0)return;let r=this._cacheData[`max_${e}`]||0;return t>r&&(r=t),this._cacheData[`max_${e}`]=r,r}min({source:t},e){if(t===void 0)return;let r=this._cacheData[`min_${e}`]||1/0;return t<r&&(r=t),this._cacheData[`min_${e}`]=r,r}median({source:t,length:e},r){if(e===void 0||t===void 0||e<=0)return;const n=this._cacheDataList(t,e,`dev_${r}`);if(n)return bl(n.slice(-e))}mfi({series:t,length:e},r){if(e===void 0||t===void 0||e<=0)return;const{volume:n}=this._variables,s=this.change({source:t},r),a=this._math.sum({source:n*(s>=0?0:t),length:e},`lower_${r}`),f=this._math.sum({source:n*(s<=0?0:t),length:e},`upper_${r}`);if(!(f===void 0||a===void 0))return 100-100/(1+f/a)}mode({source:t,length:e},r){if(e===void 0||t===void 0||e<=0)return;const n=this._cacheDataList(t,e,`mode_${r}`);if(n)return Eo(vl(n.slice(-e)))}mom({source:t,length:e},r){if(e===void 0||t===void 0||e<0)return;const n=`mom_${r}`,s=this._cacheData[n]||[];if(s[this._variables.bar_index]=t,this._cacheData[n]=s,s.length<=e)return;let a=s.length-e-1,f;for(;f===void 0&&a>=0;)f=s[a],a--;return f===void 0?f:t-f}percentile_linear_interpolation({source:t,length:e,percentage:r},n){if(e===void 0||r===void 0||e<0||r<0||r>100)return;const s=this._cacheDataList(t,e+1,`percentile_linear_interpolation_${n}`);if(!s)return;const a=this._sort(s.slice(-(e+1))),f=a.length;r/=100;const l=1/(f*2);if(r<=l)return a[0];if(r>=1-1/(f*2))return a[f-1];for(const[p,h]of a.entries()){const c=a[p-1];if(r<(p+.5)/f)return c===void 0||h===void 0?void 0:c+(h-c)*(r-(p-.5)/f)/(1/f)}}percentile_nearest_rank({source:t,length:e,percentage:r},n){if(e===void 0||r===void 0||e<0||r<0||r>100)return;const s=this._cacheDataList(t,e,`percentile_nearest_rank_${n}`);if(!s)return;const a=this._sort(s.slice(-e)),f=r/100*a.length,l=Math.ceil(f)-1;return a[l>=a.length?a.length-1:l]}percentrank({source:t,length:e},r){if(e===void 0||e<0)return;const n=this._cacheDataList(t,e+1,`percentile_nearest_rank_${r}`);if(!n)return;const s=n.slice(-(e+1)),a=t;if(a===void 0)return;let f=0;for(let l=0;l<s.length;l++)s[l]!==void 0&&(s[l]<a||s[l]===a&&l<e)&&f++;return f/(s.length-1)*100}pivot_point_levels({type:t,anchor:e,developing:r},n){const s=new Vt;let{close:a,open:f,low:l,high:p}=this._variables;const h=`pivot_point_levels_${n}`,{close:c,low:m,high:w,open:D,result:v}=this._cacheData[h]||{};if(!e&&(w&&m&&(p=Math.max(w,p),l=Math.min(m,l)),this._cacheDataHandle(h,{close:a,open:f,low:l,high:p,result:v}),!r))return s._value=v||[],s;const y={close:a,open:f,low:l,high:p};e===!0&&!r&&(a=c,f=D,l=m,p=w);const g=this._getPivotPointLevels(p,l,a,f,r,t);return this._cacheDataHandle(h,{...y,result:g}),s._value=g,s}_getPivotPointLevels(t,e,r,n,s,a){if(r===void 0||n===void 0||e===void 0||t===void 0)return[];switch(a){case Bn.traditional:return this._traditional(t,e,r);case Bn.fibonacci:return this._fibonacci(t,e,r);case Bn.woodie:return s?[]:this._woodie(t,e);case Bn.classic:return this._classic(t,e,r);case Bn.dm:return this._DM(t,e,r,n);case Bn.camarilla:return this._camarilla(t,e,r);default:return[]}}_traditional(t,e,r){const n=(t+e+r)/3,s=n*2-e,a=n+(t-e),f=n*2+(t-2*e),l=n*3+(t-3*e),p=n*4+(t-4*e),h=n*2-t,c=n-(t-e),m=n*2-(2*t-e),w=n*3-(3*t-e),D=n*4-(4*t-e);return[n,s,h,a,c,f,m,l,w,p,D]}_fibonacci(t,e,r){const n=(t+e+r)/3,s=n+.382*(t-e),a=n-.382*(t-e),f=n+.618*(t-e),l=n-.618*(t-e),p=n+(t-e),h=n-(t-e);return[n,s,a,f,l,p,h]}_woodie(t,e){const{open:r}=this._variables,n=(t+e+2*r)/4,s=2*n-e,a=2*n-t,f=n+(t-e),l=n-(t-e),p=t+2*(n-e),h=e-2*(t-n),c=p+(t-e),m=h-(t-e);return[n,s,a,f,l,p,h,c,m]}_classic(t,e,r){const n=(t+e+r)/3,s=2*n-e,a=2*n-t,f=n+(t-e),l=n-(t-e),p=n+2*(t-e),h=n-2*(t-e),c=n+3*(t-e),m=n-3*(t-e);return[n,s,a,f,l,p,h,c,m]}_DM(t,e,r,n){let s;n===r?s=t+e+2*r:r>n?s=2*t+e+r:s=2*e+t+r;const a=s/4,f=s/2-e,l=s/2-t;return[a,f,l]}_camarilla(t,e,r){const n=(t+e+r)/3,s=r+1.1*(t-e)/12,a=r-1.1*(t-e)/12,f=r+1.1*(t-e)/6,l=r-1.1*(t-e)/6,p=r+1.1*(t-e)/4,h=r-1.1*(t-e)/4,c=r+1.1*(t-e)/2,m=r-1.1*(t-e)/2,w=t/e*r,D=r-(w-r);return[n,s,a,f,l,p,h,c,m,w,D]}pivothigh({source:t=this._variables.high,leftbars:e,rightbars:r},n){if(e===void 0||r===void 0||e<0||r<0)return;const s=this._cacheDataList(t,e+r+1,`pivothigh_${n}`);if(!s)return;const a=s.slice(-(e+r+1)),f=a[e];return Math.max(...a)===f?f:void 0}pivotlow({source:t=this._variables.low,leftbars:e,rightbars:r},n){if(e===void 0||r===void 0||e<0||r<0)return;const s=this._cacheDataList(t,e+r+1,`pivotlow_${n}`);if(!s)return;const a=s.slice(-(e+r+1)),f=a[e];return Math.min(...a)===f?f:void 0}range({source:t,length:e},r){if(e===void 0||t===void 0||e<0)return;const n=this._cacheDataList(t,e,`range_${r}`);if(!n)return;const s=n.filter(l=>l!==void 0).slice(-e),a=Math.max(...s),f=Math.min(...s);return a-f}roc({source:t,length:e},r){if(e===void 0||t===void 0||e<0)return;const n=this._cacheDataList(t,e+1,`roc_${r}`),s=this.change({source:t,length:e},r);if(n)return 100*s/n[n.length-1-e]}rsi({source:t,length:e},r){if(e===void 0||t===void 0||e<0)return;const{source:n}=this._cacheData[`rsi_${r}`]||{},s=Math.max(t-n,0),a=Math.max(n-t,0),f=this.rma({source:s,length:e},`rma1_${r}`),l=this.rma({source:a,length:e},`rma2_${r}`);if(this._cacheDataHandle(`rsi_${r}`,{source:t}),!(f===void 0||l===void 0))return 100-100/(1+f/l)}sar({start:t,inc:e,max:r},n){if(t===void 0||e===void 0||r===void 0)return;const{close:s,low:a,high:f,preLow:l,preHigh:p,data:h={}}=this._cacheData[`sar_${n}`]||{};let{result:c,maxMin:m,acceleration:w,isBelow:D}=h,v=!1;const{close:y,low:g,high:A,bar_index:E}=this._variables;return E===1&&(y>s?(D=!0,m=A,c=a):(D=!1,m=g,c=f),v=!0,w=t),c=c+w*(m-c),D?c>g&&(v=!0,D=!1,c=Math.max(A,m||0),m=g,w=t):c<A&&(v=!0,D=!0,c=Math.min(g,m||0),m=A,w=t),v||(D?A>(m||0)&&(m=A,w=Math.min((w||0)+e,r)):g<(m||0)&&(m=g,w=Math.min((w||0)+e,r))),D?(c=Math.min(c,a),E>1&&(c=Math.min(c,l))):(c=Math.max(c,f),E>1&&(c=Math.max(c,p))),this._cacheDataHandle(`sar_${n}`,{high:A,close:y,low:g,preLow:a,preHigh:f,data:Object.assign(h,{result:c,maxMin:m,acceleration:w,isBelow:D})}),c}stoch({source:t,high:e,low:r,length:n},s){if(n===void 0||e===void 0||r===void 0||t===void 0||n<0)return;const a=this.lowest({source:r,length:n},s),f=this.highest({source:e,length:n},s);if(!(a===void 0||f===void 0))return 100*(this._variables.close-a)/(f-a)}supertrend({factor:t,atrPeriod:e},r){if(t===void 0||e===void 0)return[void 0,void 0];const{hl2:n,close:s}=this._variables,a=`supertrend_${r}`,{upperBand:f,lowerBand:l,superTrend:p,atr:h,close:c}=this._cacheData[a]||{},m=this.atr({length:e},r);if(m===void 0)return this._cacheDataHandle(a,{close:s}),[void 0,void 0];let w=n+t*m,D=n-t*m;const v=f||0,y=l||0;D=D>y||c<y?D:y,w=w<v||c>v?w:v;let g;h===void 0?g=1:p===v?g=s>w?-1:1:g=s<D?1:-1;const A=g===-1?D:w;return this._cacheDataHandle(a,{upperBand:w,lowerBand:D,superTrend:A,atr:m,close:s}),[A,g]}swma({source:t},e){let{list:r}=this._cacheData[`swma_${e}`]||{};if(r||(r=[]),r.push(t),r=r.slice(-4),this._cacheDataHandle(`swma_${e}`,{list:r}),!(r.filter(n=>n!==void 0).length<4))return r[3]*1/6+r[2]*2/6+r[1]*2/6+r[0]*1/6}tr({handle_na:t=!1},e){const{close:r,low:n,high:s}=this._variables,{close:a}=this._cacheData[`tr_${e}`]||{};return this._cacheDataHandle(`tr_${e}`,{close:r}),a===void 0?t?s-n:void 0:Math.max(s-n,Math.abs(s-a),Math.abs(n-a))}tsi({source:t,short_length:e,long_length:r},n){if(t===void 0||e===void 0||r===void 0)return;const s=this.change({source:t},n);if(s===void 0)return;const a=this.ema({source:Math.abs(s),length:e},`absema1_${n}`),f=this.ema({source:s,length:e},`ema1_${n}`);if(f===void 0)return;const l=this.ema({source:f,length:r},`ema2_${n}`),p=this.ema({source:a,length:e},`absema2_${n}`);if(l!==void 0)return l/p}valuewhen({condition:t,source:e,occurrence:r},n){if(e===void 0||r===void 0||r<0)return;let{list:s}=this._cacheData[`valuewhen_${n}`]||{};return s||(s=[]),t&&s.push(e),this._cacheDataHandle(`valuewhen_${n}`,{list:s}),s[s.length-1-r]}variance({source:t,length:e,biased:r=!0},n){if(t===void 0||e===void 0||e<0)return;const s=this.sma({source:t,length:e},n);if(s===void 0)return;const a=t-s,f=this._math.sum({source:a*a,length:e},n);if(f!==void 0)return r||e<=1?f/e:f/(e-1)}vwap({source:t,anchor:e,stdev_mult:r},n){if(t===void 0)return;e=e===void 0?this._timeframe.change({timeframe:"1D"},n):e;const{volume:s}=this._variables;let{sum:a=0,sumV:f=0,count:l=0,isReset:p,sumS:h=0}=this._cacheData[`vwap_${n}`]||{};if(e&&(a=f=l=h=0,p=!0),!p)return r!==void 0?[]:void 0;const c=t*s+a,m=s+f,w=c/m;return l++,r!==void 0?(h=s*Math.pow(t,2)+h,this._cacheDataHandle(`vwap_${n}`,{sum:c,sumV:m,count:l,isReset:p,sumS:h}),this._computeBands(h,m,r,w)):(this._cacheDataHandle(`vwap_${n}`,{sum:c,sumV:m,count:l,isReset:p}),w)}_computeBands(t,e,r,n){let s=t/e-Math.pow(n,2);s=s<0?0:s;const a=Math.sqrt(s),f=a!==void 0&&!isNaN(a)?n+r*a:void 0,l=a!==void 0&&!isNaN(a)?n-r*a:void 0;return[n,f,l]}vwma({source:t,length:e},r){if(t===void 0||e===void 0||e<=0)return;const{volume:n}=this._variables,s=this.sma({source:t*n,length:e},`sma1_${r}`),a=this.sma({source:n,length:e},`sma2_${r}`);if(!(s===void 0||a===void 0))return s/a}wpr({length:t},e){if(t===void 0||t<=0)return;const r=this.highest({length:t},e),n=this.lowest({length:t},e),{close:s}=this._variables;if(!(r===void 0||n===void 0))return(r-s)/(r-n)*-100}_sort(t){const e=t.length;for(let r=0;r<e;r++){let n={};for(let s=0;s<e-r;s++){const{currentVal:a,currentIndex:f}=n,l=t[s];if(l!==void 0){if(a!==void 0&&l<a){t.splice(s,1),t.splice(f,0,l),n={currentIndex:f+1,currentVal:a};continue}n={currentIndex:s,currentVal:l}}}}return t}_cacheDataList(t,e,r){const n=this._cacheData[r]||[];n[this._variables.bar_index]=t,this._cacheData[r]=n;const s=n.filter(()=>!0);if(!(s.length<e))return s}_cacheDataHandle(t,e){const{barIndex:r}=this._cacheData[t]||{};r!==this._variables.bar_index&&(this._cacheData[t]=Object.assign(e,{barIndex:this._variables.bar_index}))}}$r.SERIES,$r.SIMPLE,$r.INPUT,$r.CONST,$r.INT,$r.FLOAT,$r.BOOL,$r.COLOR,$r.STRING;const Sw=["close","open","high","low","hl2","hlc3","hlcc4","ohlc4","volume"];var qs=(i=>(i[i.Hint=1]="Hint",i[i.Info=2]="Info",i[i.Warning=4]="Warning",i[i.Error=8]="Error",i))(qs||{});class Nw{constructor(t,e){ut(this,"_cacheData");ut(this,"_variables");ut(this,"_errorListener");ut(this,"_count");ut(this,"_historyInputs");ut(this,"_name","inputs");this._cacheData={},this._variables=t,this._errorListener=e,this._count=-1,this._historyInputs=self.workerStorage.get(this._name)||{}}update(t){for(const e of t){const r=e.id;if(!this._cacheData[r])return;Object.assign(this._cacheData[r],{...e,isModify:!0}),self.workerStorage.updateValue(this._name,`in_${e.index}`,{modifyDefval:e.sourceTypeName||e.defval})}}input(t,e){return this._cacheHandle(t,e)}int(t,e){return this._cacheHandle(t,e,"int")}bool(t,e){return this._cacheHandle(t,e,"bool")}color(t,e){return this._cacheHandle(t,e,"color")}time(t,e){return this._cacheHandle(t,e,"time")}float(t,e){return this._cacheHandle(t,e,"float")}price(t,e){return this._cacheHandle(t,e,"price")}source(t,e){return this._cacheHandle(t,e,"source")}string(t,e){return this._cacheHandle(t,e,"string")}symbol(t,e){return this._cacheHandle(t,e,"symbol")}session(t,e){return this._cacheHandle(t,e,"session")}text_area(t,e){return this._cacheHandle(t,e,"text_area")}timeframe(t,e){return this._cacheHandle(t,e,"timeframe")}_cacheHandle(t,e,r){const n=`${r||"input"}_${e}`,s=this._cacheData[n];if(s)s.isModify?s.sourceTypeName&&(this._cacheData[n].defval=this._variables[s.sourceTypeName]):Object.assign(this._cacheData[n],t);else{const{defval:a,display:f}=t;this._displayVerify(e,f),this._count++,t={inputType:r,...t,index:this._count},this._cacheData[n]=t,this._judgeHistoryInputs(t),(r||t.inputType)==="source"?this._cacheData[n].options=Sw:t.options&&!t.options.includes(a)&&this._errorListener.addError(`input's defval should be in options, but '${a}' is not in [${t.options.toString()}]`,e,qs.Error)}return this._cacheData[n].defval}_judgeHistoryInputs(t){const{defval:e,sourceTypeName:r,index:n}=t;let s=r||e;const a=`in_${n}`,f=this._historyInputs[a];if(!f)self.workerStorage.setValue(this._name,a,{defval:s});else{const{defval:l,modifyDefval:p}=f;l===s?s=p||s:self.workerStorage.setValue(this._name,a,{defval:s})}r?t.sourceTypeName=s:t.defval=s}_displayVerify(t,e){!e||!e.length||e.includes(Cr.dataWindow)||e.includes(Cr.statusLine)||this._errorListener.addError("Invalid argument 'display' in 'input' call. Possible values: [display.none, display.data_window, display.status_line, display.all]",t,qs.Error)}getInputs(){var n;const t=Object.keys(this._cacheData),e=new Map,r=[];for(const s of t){const a=this._cacheData[s];a.id=s;const{group:f}=a;f?e.has(f)?(n=e.get(f))==null||n.push(a):e.set(f,[a]):r.push(a)}return[...this._getGroups(e),{inputs:r}]}_getGroups(t){const e=[];for(const[r,n]of t)e.push({name:r,inputs:n});return e}}class Bw{color({x:t}){return t}new({color:t,transp:e=100}){const{r,g:n,b:s}=this._parseColor(t);return`rgba(${Math.round(r)}, ${Math.round(n)}, ${Math.round(s)}, ${e/100})`}rgb({red:t,green:e,blue:r,transp:n=0}){return`rgba(${t}, ${e}, ${r}, ${n/100})`}g({color:t}){return t?this._parseColor(t).g:0}r({color:t}){return t?this._parseColor(t).r:0}b({color:t}){return t?this._parseColor(t).b:0}t({color:t}){return t?Math.round(this._parseColor(t).a*100):0}from_gradient({value:t,bottom_value:e,top_value:r,bottom_color:n,top_color:s}){const a=(t-e)/(r-e),f=Math.min(Math.max(a,0),1),{r:l,g:p,b:h,a:c}=this._parseColor(n),{r:m,g:w,b:D,a:v}=this._parseColor(s),y=l+f*(m-l),g=p+f*(w-p),A=h+f*(D-h),E=c+f*(v-c);return`rgba(${Math.round(y)}, ${Math.round(g)}, ${Math.round(A)}, ${E.toFixed(2)})`}_parseColor(t){let e,r,n,s;if(t.startsWith("#")){e=parseInt(t.substring(1,3),16),r=parseInt(t.substring(3,5),16),n=parseInt(t.substring(5,7),16);const a=t.substring(7);a?s=(255-parseInt(a,16))/255:s=1}else{const a=this._parserRgbColor(t);e=a[0],r=a[1],n=a[2],s=a[3]||1}return{r:e,g:r,b:n,a:s}}_parserRgbColor(t){var e;return((e=t.match(/\d+/g))==null?void 0:e.map(Number))||[]}}var Pt={};const Iw=Object.prototype.toString;function Ri(i){const t=Iw.call(i);return t.endsWith("Array]")&&!t.includes("Big")}var Tw=Object.freeze({__proto__:null,isAnyArray:Ri}),$w=De(Tw);function Ow(i){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!Ri(i))throw new TypeError("input must be an array");if(i.length===0)throw new TypeError("input must not be empty");var e=t.fromIndex,r=e===void 0?0:e,n=t.toIndex,s=n===void 0?i.length:n;if(r<0||r>=i.length||!Number.isInteger(r))throw new Error("fromIndex must be a positive integer smaller than length");if(s<=r||s>i.length||!Number.isInteger(s))throw new Error("toIndex must be an integer greater than fromIndex and at most equal to length");for(var a=i[r],f=r+1;f<s;f++)i[f]>a&&(a=i[f]);return a}function Rw(i){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!Ri(i))throw new TypeError("input must be an array");if(i.length===0)throw new TypeError("input must not be empty");var e=t.fromIndex,r=e===void 0?0:e,n=t.toIndex,s=n===void 0?i.length:n;if(r<0||r>=i.length||!Number.isInteger(r))throw new Error("fromIndex must be a positive integer smaller than length");if(s<=r||s>i.length||!Number.isInteger(s))throw new Error("toIndex must be an integer greater than fromIndex and at most equal to length");for(var a=i[r],f=r+1;f<s;f++)i[f]<a&&(a=i[f]);return a}function Lw(i){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(Ri(i)){if(i.length===0)throw new TypeError("input must not be empty")}else throw new TypeError("input must be an array");var e;if(t.output!==void 0){if(!Ri(t.output))throw new TypeError("output option must be an array if specified");e=t.output}else e=new Array(i.length);var r=Rw(i),n=Ow(i);if(r===n)throw new RangeError("minimum and maximum input values are equal. Cannot rescale a constant array");var s=t.min,a=s===void 0?t.autoMinMax?r:0:s,f=t.max,l=f===void 0?t.autoMinMax?n:1:f;if(a>=l)throw new RangeError("min option must be smaller than max option");for(var p=(l-a)/(n-r),h=0;h<i.length;h++)e[h]=(i[h]-r)*p+a;return e}var Pw=Object.freeze({__proto__:null,default:Lw}),zw=De(Pw);Object.defineProperty(Pt,"__esModule",{value:!0});var Ge=$w,Cl=zw;const Ws=" ".repeat(2),Fl=" ".repeat(4);function Uw(){return Ml(this)}function Ml(i,t={}){const{maxRows:e=15,maxColumns:r=10,maxNumSize:n=8,padMinus:s="auto"}=t;return`${i.constructor.name} {
55
55
  ${Ws}[
56
56
  ${Fl}${qw(i,e,r,n,s)}
57
57
  ${Ws}]
@@ -109,6 +109,7 @@ export default class BuildInTa {
109
109
  valuewhen({ condition, source, occurrence }: ITaArgs, posStr: string): any;
110
110
  variance({ source, length, biased }: ITaArgs, posStr: string): number | undefined;
111
111
  vwap({ source, anchor, stdev_mult }: ITaArgs, posStr: string): number | (number | undefined)[] | undefined;
112
+ private _computeBands;
112
113
  vwma({ source, length }: ITaArgs, posStr: string): number | undefined;
113
114
  wpr({ length }: ITaArgs, posStr: string): number | undefined;
114
115
  private _sort;
@@ -39,6 +39,7 @@ export declare const ERRORS_TIPS: {
39
39
  declaredErr: string;
40
40
  globalFuncErr: string;
41
41
  onlyStatementErr: string;
42
+ modifyGlobalVarErr: string;
42
43
  };
43
44
  export declare const WARNING_TIPS: {
44
45
  repeatVar: string;
@@ -26,6 +26,7 @@ export default class ParseToJs {
26
26
  private _parserIfStatement;
27
27
  private _parserBlockLine;
28
28
  private _parserReturnBlock;
29
+ private _getMembersCode;
29
30
  private _parserArrowMethod;
30
31
  private _parserArrowFunction;
31
32
  private _parserParameters;
@@ -45,6 +45,7 @@ export default class ParserVisitor extends ParserUtils {
45
45
  type: string;
46
46
  value: IKeyObjectValue;
47
47
  } | null;
48
+ private _verifyGloablVar;
48
49
  visitVarModifier: (ctx: IKeyObjectValue) => any;
49
50
  visitExpressionSequence: (ctx: IKeyObjectValue) => IKeyObjectValue[];
50
51
  visitExpressionBlockSequence: (ctx: IKeyObjectValue) => IKeyObjectValue[];
@@ -64840,11 +64840,11 @@ function Zr(n, s, a) {
64840
64840
  function Gg() {
64841
64841
  return new Array(4).fill(0).map(() => Math.floor(Math.random() * Number.MAX_SAFE_INTEGER).toString(16)).join("-");
64842
64842
  }
64843
- const Rc = new Worker(new URL("" + new URL("assets/scriptsRunWorker-7VRMTphe.js", import.meta.url).href, import.meta.url), { type: "module", name: "Run TccScript Server" });
64843
+ const Rc = new Worker(new URL("" + new URL("assets/scriptsRunWorker-DvC1lFMR.js", import.meta.url).href, import.meta.url), { type: "module", name: "Run TccScript Server" });
64844
64844
  Rc.onerror = (n) => {
64845
64845
  console.error(n);
64846
64846
  };
64847
- const Xg = Dn(Rc), Kg = Dn(new Worker(new URL("" + new URL("assets/parserTccWorker-D6nS9GYX.js", import.meta.url).href, import.meta.url), { type: "module", name: "Parser TccScript Server" }));
64847
+ const Xg = Dn(Rc), Kg = Dn(new Worker(new URL("" + new URL("assets/parserTccWorker-Bti5p29_.js", import.meta.url).href, import.meta.url), { type: "module", name: "Parser TccScript Server" }));
64848
64848
  async function Yg(n, s = !1) {
64849
64849
  const { functions: a, types: l, constants: u, variables: p, methods: m } = yr;
64850
64850
  return await Kg(n, s, { functions: Object.fromEntries(a), methods: Object.fromEntries(m), types: Object.fromEntries(l), constants: Object.fromEntries(u), variables: Object.fromEntries(p) });
@@ -135,7 +135,7 @@ function print() { __p += __j.call(arguments, '') }
135
135
  * @license
136
136
  * Copyright 2019 Google LLC
137
137
  * SPDX-License-Identifier: Apache-2.0
138
- */const Yn=Symbol("Comlink.proxy"),Td=Symbol("Comlink.endpoint"),Id=Symbol("Comlink.releaseProxy"),ri=Symbol("Comlink.finalizer"),$a=Symbol("Comlink.thrown"),Kn=n=>typeof n=="object"&&n!==null||typeof n=="function",Dd={canHandle:n=>Kn(n)&&n[Yn],serialize(n){const{port1:s,port2:a}=new MessageChannel;return Zn(n,s),[a,[a]]},deserialize(n){return n.start(),ai(n)}},kd={canHandle:n=>Kn(n)&&$a in n,serialize({value:n}){let s;return n instanceof Error?s={isError:!0,value:{message:n.message,name:n.name,stack:n.stack}}:s={isError:!1,value:n},[s,[]]},deserialize(n){throw n.isError?Object.assign(new Error(n.value.message),n.value):n.value}},Qn=new Map([["proxy",Dd],["throw",kd]]);function Ad(n,s){for(const a of n)if(s===a||a==="*"||a instanceof RegExp&&a.test(s))return!0;return!1}function Zn(n,s=globalThis,a=["*"]){s.addEventListener("message",function l(u){if(!u||!u.data)return;if(!Ad(a,u.origin)){console.warn(`Invalid origin '${u.origin}' for comlink proxy`);return}const{id:p,type:m,path:v}=Object.assign({path:[]},u.data),g=(u.data.argumentList||[]).map(hr);let b;try{const w=v.slice(0,-1).reduce((z,E)=>z[E],n),k=v.reduce((z,E)=>z[E],n);switch(m){case"GET":b=k;break;case"SET":w[v.slice(-1)[0]]=hr(u.data.value),b=!0;break;case"APPLY":b=k.apply(w,g);break;case"CONSTRUCT":{const z=new k(...g);b=Pd(z)}break;case"ENDPOINT":{const{port1:z,port2:E}=new MessageChannel;Zn(n,E),b=Nd(z,[z])}break;case"RELEASE":b=void 0;break;default:return}}catch(w){b={value:w,[$a]:0}}Promise.resolve(b).catch(w=>({value:w,[$a]:0})).then(w=>{const[k,z]=Ka(w);s.postMessage(Object.assign(Object.assign({},k),{id:p}),z),m==="RELEASE"&&(s.removeEventListener("message",l),Jn(s),ri in n&&typeof n[ri]=="function"&&n[ri]())}).catch(w=>{const[k,z]=Ka({value:new TypeError("Unserializable return value"),[$a]:0});s.postMessage(Object.assign(Object.assign({},k),{id:p}),z)})}),s.start&&s.start()}function qd(n){return n.constructor.name==="MessagePort"}function Jn(n){qd(n)&&n.close()}function ai(n,s){return si(n,[],s)}function Ga(n){if(n)throw new Error("Proxy has been released and is not useable")}function eo(n){return zr(n,{type:"RELEASE"}).then(()=>{Jn(n)})}const Xa=new WeakMap,Ya="FinalizationRegistry"in globalThis&&new FinalizationRegistry(n=>{const s=(Xa.get(n)||0)-1;Xa.set(n,s),s===0&&eo(n)});function Cd(n,s){const a=(Xa.get(s)||0)+1;Xa.set(s,a),Ya&&Ya.register(n,s,n)}function Sd(n){Ya&&Ya.unregister(n)}function si(n,s=[],a=function(){}){let l=!1;const u=new Proxy(a,{get(p,m){if(Ga(l),m===Id)return()=>{Sd(u),eo(n),l=!0};if(m==="then"){if(s.length===0)return{then:()=>u};const v=zr(n,{type:"GET",path:s.map(g=>g.toString())}).then(hr);return v.then.bind(v)}return si(n,[...s,m])},set(p,m,v){Ga(l);const[g,b]=Ka(v);return zr(n,{type:"SET",path:[...s,m].map(w=>w.toString()),value:g},b).then(hr)},apply(p,m,v){Ga(l);const g=s[s.length-1];if(g===Td)return zr(n,{type:"ENDPOINT"}).then(hr);if(g==="bind")return si(n,s.slice(0,-1));const[b,w]=to(v);return zr(n,{type:"APPLY",path:s.map(k=>k.toString()),argumentList:b},w).then(hr)},construct(p,m){Ga(l);const[v,g]=to(m);return zr(n,{type:"CONSTRUCT",path:s.map(b=>b.toString()),argumentList:v},g).then(hr)}});return Cd(u,n),u}function zd(n){return Array.prototype.concat.apply([],n)}function to(n){const s=n.map(Ka);return[s.map(a=>a[0]),zd(s.map(a=>a[1]))]}const ro=new WeakMap;function Nd(n,s){return ro.set(n,s),n}function Pd(n){return Object.assign(n,{[Yn]:!0})}function Ka(n){for(const[s,a]of Qn)if(a.canHandle(n)){const[l,u]=a.serialize(n);return[{type:"HANDLER",name:s,value:l},u]}return[{type:"RAW",value:n},ro.get(n)||[]]}function hr(n){switch(n.type){case"HANDLER":return Qn.get(n.name).deserialize(n.value);case"RAW":return n.value}}function zr(n,s,a){return new Promise(l=>{const u=Rd();n.addEventListener("message",function p(m){!m.data||!m.data.id||m.data.id!==u||(n.removeEventListener("message",p),l(m.data))}),n.start&&n.start(),n.postMessage(Object.assign({id:u},s),a)})}function Rd(){return new Array(4).fill(0).map(()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)).join("-")}const ao=new Worker(new URL(""+(typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__dirname+"/assets/scriptsRunWorker-7VRMTphe.js").href:new URL("assets/scriptsRunWorker-7VRMTphe.js",typeof document>"u"?location.href:document.currentScript&&document.currentScript.src||document.baseURI).href),typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:La&&La.src||new URL("trading-vue-editor.umd.cjs",document.baseURI).href),{type:"module",name:"Run TccScript Server"});ao.onerror=n=>{console.error(n)};const Od=ai(ao),Ed=ai(new Worker(new URL(""+(typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__dirname+"/assets/parserTccWorker-D6nS9GYX.js").href:new URL("assets/parserTccWorker-D6nS9GYX.js",typeof document>"u"?location.href:document.currentScript&&document.currentScript.src||document.baseURI).href),typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:La&&La.src||new URL("trading-vue-editor.umd.cjs",document.baseURI).href),{type:"module",name:"Parser TccScript Server"}));async function so(n,s=!1){const{functions:a,types:l,constants:u,variables:p,methods:m}=rr;return await Ed(n,s,{functions:Object.fromEntries(a),methods:Object.fromEntries(m),types:Object.fromEntries(l),constants:Object.fromEntries(u),variables:Object.fromEntries(p)})}async function io(n,s,a=!0){return await Od(n,s,a)}const Md=({height:n,width:s,theme:a,options:l,hasDiff:u,onChange:p,onDeclareConfigChange:m,onCursorPositionChange:v},g)=>{const b=F.useRef(null);F.useImperativeHandle(g,()=>({saveScript(){var R;(R=b.current)==null||R.saveScripts()},setScript(R){var L;(L=b.current)==null||L.setValue(R)},gotoLine(){var R;(R=b.current)==null||R.gotoLine()}})),F.useEffect(()=>{var R,L;u?(L=b.current)==null||L.addDiffDecorations():(R=b.current)==null||R.removeDiffDecorations()},[u]);function w(R,L){var de;Sr.initBuiltinsTrees(),b.current=new wd(R,L),u&&((de=b.current)==null||de.addDiffDecorations());const J=R.getValue()+`
138
+ */const Yn=Symbol("Comlink.proxy"),Td=Symbol("Comlink.endpoint"),Id=Symbol("Comlink.releaseProxy"),ri=Symbol("Comlink.finalizer"),$a=Symbol("Comlink.thrown"),Kn=n=>typeof n=="object"&&n!==null||typeof n=="function",Dd={canHandle:n=>Kn(n)&&n[Yn],serialize(n){const{port1:s,port2:a}=new MessageChannel;return Zn(n,s),[a,[a]]},deserialize(n){return n.start(),ai(n)}},kd={canHandle:n=>Kn(n)&&$a in n,serialize({value:n}){let s;return n instanceof Error?s={isError:!0,value:{message:n.message,name:n.name,stack:n.stack}}:s={isError:!1,value:n},[s,[]]},deserialize(n){throw n.isError?Object.assign(new Error(n.value.message),n.value):n.value}},Qn=new Map([["proxy",Dd],["throw",kd]]);function Ad(n,s){for(const a of n)if(s===a||a==="*"||a instanceof RegExp&&a.test(s))return!0;return!1}function Zn(n,s=globalThis,a=["*"]){s.addEventListener("message",function l(u){if(!u||!u.data)return;if(!Ad(a,u.origin)){console.warn(`Invalid origin '${u.origin}' for comlink proxy`);return}const{id:p,type:m,path:v}=Object.assign({path:[]},u.data),g=(u.data.argumentList||[]).map(hr);let b;try{const w=v.slice(0,-1).reduce((z,E)=>z[E],n),k=v.reduce((z,E)=>z[E],n);switch(m){case"GET":b=k;break;case"SET":w[v.slice(-1)[0]]=hr(u.data.value),b=!0;break;case"APPLY":b=k.apply(w,g);break;case"CONSTRUCT":{const z=new k(...g);b=Pd(z)}break;case"ENDPOINT":{const{port1:z,port2:E}=new MessageChannel;Zn(n,E),b=Nd(z,[z])}break;case"RELEASE":b=void 0;break;default:return}}catch(w){b={value:w,[$a]:0}}Promise.resolve(b).catch(w=>({value:w,[$a]:0})).then(w=>{const[k,z]=Ka(w);s.postMessage(Object.assign(Object.assign({},k),{id:p}),z),m==="RELEASE"&&(s.removeEventListener("message",l),Jn(s),ri in n&&typeof n[ri]=="function"&&n[ri]())}).catch(w=>{const[k,z]=Ka({value:new TypeError("Unserializable return value"),[$a]:0});s.postMessage(Object.assign(Object.assign({},k),{id:p}),z)})}),s.start&&s.start()}function qd(n){return n.constructor.name==="MessagePort"}function Jn(n){qd(n)&&n.close()}function ai(n,s){return si(n,[],s)}function Ga(n){if(n)throw new Error("Proxy has been released and is not useable")}function eo(n){return zr(n,{type:"RELEASE"}).then(()=>{Jn(n)})}const Xa=new WeakMap,Ya="FinalizationRegistry"in globalThis&&new FinalizationRegistry(n=>{const s=(Xa.get(n)||0)-1;Xa.set(n,s),s===0&&eo(n)});function Cd(n,s){const a=(Xa.get(s)||0)+1;Xa.set(s,a),Ya&&Ya.register(n,s,n)}function Sd(n){Ya&&Ya.unregister(n)}function si(n,s=[],a=function(){}){let l=!1;const u=new Proxy(a,{get(p,m){if(Ga(l),m===Id)return()=>{Sd(u),eo(n),l=!0};if(m==="then"){if(s.length===0)return{then:()=>u};const v=zr(n,{type:"GET",path:s.map(g=>g.toString())}).then(hr);return v.then.bind(v)}return si(n,[...s,m])},set(p,m,v){Ga(l);const[g,b]=Ka(v);return zr(n,{type:"SET",path:[...s,m].map(w=>w.toString()),value:g},b).then(hr)},apply(p,m,v){Ga(l);const g=s[s.length-1];if(g===Td)return zr(n,{type:"ENDPOINT"}).then(hr);if(g==="bind")return si(n,s.slice(0,-1));const[b,w]=to(v);return zr(n,{type:"APPLY",path:s.map(k=>k.toString()),argumentList:b},w).then(hr)},construct(p,m){Ga(l);const[v,g]=to(m);return zr(n,{type:"CONSTRUCT",path:s.map(b=>b.toString()),argumentList:v},g).then(hr)}});return Cd(u,n),u}function zd(n){return Array.prototype.concat.apply([],n)}function to(n){const s=n.map(Ka);return[s.map(a=>a[0]),zd(s.map(a=>a[1]))]}const ro=new WeakMap;function Nd(n,s){return ro.set(n,s),n}function Pd(n){return Object.assign(n,{[Yn]:!0})}function Ka(n){for(const[s,a]of Qn)if(a.canHandle(n)){const[l,u]=a.serialize(n);return[{type:"HANDLER",name:s,value:l},u]}return[{type:"RAW",value:n},ro.get(n)||[]]}function hr(n){switch(n.type){case"HANDLER":return Qn.get(n.name).deserialize(n.value);case"RAW":return n.value}}function zr(n,s,a){return new Promise(l=>{const u=Rd();n.addEventListener("message",function p(m){!m.data||!m.data.id||m.data.id!==u||(n.removeEventListener("message",p),l(m.data))}),n.start&&n.start(),n.postMessage(Object.assign({id:u},s),a)})}function Rd(){return new Array(4).fill(0).map(()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)).join("-")}const ao=new Worker(new URL(""+(typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__dirname+"/assets/scriptsRunWorker-DvC1lFMR.js").href:new URL("assets/scriptsRunWorker-DvC1lFMR.js",typeof document>"u"?location.href:document.currentScript&&document.currentScript.src||document.baseURI).href),typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:La&&La.src||new URL("trading-vue-editor.umd.cjs",document.baseURI).href),{type:"module",name:"Run TccScript Server"});ao.onerror=n=>{console.error(n)};const Od=ai(ao),Ed=ai(new Worker(new URL(""+(typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__dirname+"/assets/parserTccWorker-Bti5p29_.js").href:new URL("assets/parserTccWorker-Bti5p29_.js",typeof document>"u"?location.href:document.currentScript&&document.currentScript.src||document.baseURI).href),typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:La&&La.src||new URL("trading-vue-editor.umd.cjs",document.baseURI).href),{type:"module",name:"Parser TccScript Server"}));async function so(n,s=!1){const{functions:a,types:l,constants:u,variables:p,methods:m}=rr;return await Ed(n,s,{functions:Object.fromEntries(a),methods:Object.fromEntries(m),types:Object.fromEntries(l),constants:Object.fromEntries(u),variables:Object.fromEntries(p)})}async function io(n,s,a=!0){return await Od(n,s,a)}const Md=({height:n,width:s,theme:a,options:l,hasDiff:u,onChange:p,onDeclareConfigChange:m,onCursorPositionChange:v},g)=>{const b=F.useRef(null);F.useImperativeHandle(g,()=>({saveScript(){var R;(R=b.current)==null||R.saveScripts()},setScript(R){var L;(L=b.current)==null||L.setValue(R)},gotoLine(){var R;(R=b.current)==null||R.gotoLine()}})),F.useEffect(()=>{var R,L;u?(L=b.current)==null||L.addDiffDecorations():(R=b.current)==null||R.removeDiffDecorations()},[u]);function w(R,L){var de;Sr.initBuiltinsTrees(),b.current=new wd(R,L),u&&((de=b.current)==null||de.addDiffDecorations());const J=R.getValue()+`
139
139
 
140
140
  `;b.current.onChangeCursorPosition(v),p&&p(J),k(J)}const k=F.useCallback(async R=>{var Pe;const L=Date.now(),{errors:J,functions:de,methods:ee,types:De,variables:ne,overloadsFuncs:Y,preParserCode:le}=await so(R);try{const we=await io(le,{isPreParser:!0});console.log(we),m&&m(we)}catch(we){console.log(we,"==================error- Run TccScript Server")}const K=new Map(Object.entries(de)),Ne=new Map(Object.entries(ee)),_e=new Map(Object.entries(De)),re=new Map(Object.entries(ne));oa.setUserDefined({functions:K,methods:Ne,types:_e,variables:re},Y),Sr.setUserDefind(K,_e,re,Ne);const yt=J.map(we=>({...we,severity:we.type||pt.MarkerSeverity.Error}));(Pe=b.current)==null||Pe.setModelMarkers(yt);const kt=Date.now();console.log((kt-L)/1e3)},[m]),z=F.useMemo(()=>Ku.debounce(k,1e3),[k]);function E(R){var L;(L=b.current)==null||L.setModelMarkers([]),localStorage.setItem(Hn,R||""),R!==void 0&&(R=R+`
141
141