@guihz/trading-vue-editor-tes 0.0.84 → 0.0.86

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,9 +5,9 @@ var O2=Object.defineProperty;var T2=(Vt,Kt,Ce)=>Kt in Vt?O2(Vt,Kt,{enumerable:!0
5
5
  * Released under MIT license <https://lodash.com/license>
6
6
  * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
7
7
  * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
8
- */jn.exports,function(i,t){(function(){var e,r="4.17.21",n=200,s="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",a="Expected a function",l="Invalid `variable` option passed into `_.template`",c="__lodash_hash_undefined__",h=500,p="__lodash_placeholder__",f=1,d=2,g=4,w=1,m=2,D=1,v=2,E=4,b=8,N=16,x=32,F=64,M=128,S=256,I=512,C=30,O="...",L=800,k=16,U=1,W=2,P=3,G=1/0,Z=9007199254740991,X=17976931348623157e292,tt=NaN,ct=4294967295,vt=ct-1,lt=ct>>>1,yt=[["ary",M],["bind",D],["bindKey",v],["curry",b],["curryRight",N],["flip",I],["partial",x],["partialRight",F],["rearg",S]],bt="[object Arguments]",Bt="[object Array]",Et="[object AsyncFunction]",oe="[object Boolean]",Tt="[object Date]",Nt="[object DOMException]",ue="[object Error]",re="[object Function]",qt="[object GeneratorFunction]",Jt="[object Map]",Te="[object Number]",_r="[object Null]",Le="[object Object]",hn="[object Promise]",Bn="[object Proxy]",pn="[object RegExp]",mr="[object Set]",On="[object String]",$="[object Symbol]",V="[object Undefined]",K="[object WeakMap]",nt="[object WeakSet]",st="[object ArrayBuffer]",rt="[object DataView]",ft="[object Float32Array]",ut="[object Float64Array]",ht="[object Int8Array]",at="[object Int16Array]",Xt="[object Int32Array]",ne="[object Uint8Array]",ye="[object Uint8ClampedArray]",qe="[object Uint16Array]",Re="[object Uint32Array]",gr=/\b__p \+= '';/g,vr=/\b(__p \+=) '' \+/g,Tn=/(__e\(.*?\)|\b__t\)) \+\n'';/g,ti=/&(?:amp|lt|gt|quot|#39);/g,mo=/[&<>"']/g,Ya=RegExp(ti.source),Va=RegExp(mo.source),Za=/<%-([\s\S]+?)%>/g,Ga=/<%([\s\S]+?)%>/g,go=/<%=([\s\S]+?)%>/g,Ka=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Ha=/^\w*$/,Ja=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ns=/[\\^$.*+?()[\]{}|]/g,Xa=RegExp(ns.source),is=/^\s+/,Qa=/\s/,tu=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,eu=/\{\n\/\* \[wrapped with (.+)\] \*/,ru=/,? & /,nu=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,iu=/[()=,{}\[\]\/\s]/,su=/\\(\\)?/g,ou=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,vo=/\w*$/,au=/^[-+]0x[0-9a-f]+$/i,uu=/^0b[01]+$/i,lu=/^\[object .+?Constructor\]$/,cu=/^0o[0-7]+$/i,fu=/^(?:0|[1-9]\d*)$/,hu=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Mi=/($^)/,ei=/['\n\r\u2028\u2029\\]/g,Zt="\\ud800-\\udfff",He="\\u0300-\\u036f",pu="\\ufe20-\\ufe2f",Ni="\\u20d0-\\u20ff",In=He+pu+Ni,wo="\\u2700-\\u27bf",lh="a-z\\xdf-\\xf6\\xf8-\\xff",My="\\xac\\xb1\\xd7\\xf7",Ny="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Sy="\\u2000-\\u206f",By=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",ch="A-Z\\xc0-\\xd6\\xd8-\\xde",fh="\\ufe0e\\ufe0f",hh=My+Ny+Sy+By,du="['’]",Oy="["+Zt+"]",ph="["+hh+"]",yo="["+In+"]",dh="\\d+",Ty="["+wo+"]",_h="["+lh+"]",mh="[^"+Zt+hh+dh+wo+lh+ch+"]",_u="\\ud83c[\\udffb-\\udfff]",Iy="(?:"+yo+"|"+_u+")",gh="[^"+Zt+"]",mu="(?:\\ud83c[\\udde6-\\uddff]){2}",gu="[\\ud800-\\udbff][\\udc00-\\udfff]",Si="["+ch+"]",vh="\\u200d",wh="(?:"+_h+"|"+mh+")",$y="(?:"+Si+"|"+mh+")",yh="(?:"+du+"(?:d|ll|m|re|s|t|ve))?",Dh="(?:"+du+"(?:D|LL|M|RE|S|T|VE))?",bh=Iy+"?",Eh="["+fh+"]?",Ly="(?:"+vh+"(?:"+[gh,mu,gu].join("|")+")"+Eh+bh+")*",Ry="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Py="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",xh=Eh+bh+Ly,zy="(?:"+[Ty,mu,gu].join("|")+")"+xh,qy="(?:"+[gh+yo+"?",yo,mu,gu,Oy].join("|")+")",ky=RegExp(du,"g"),Uy=RegExp(yo,"g"),vu=RegExp(_u+"(?="+_u+")|"+qy+xh,"g"),Wy=RegExp([Si+"?"+_h+"+"+yh+"(?="+[ph,Si,"$"].join("|")+")",$y+"+"+Dh+"(?="+[ph,Si+wh,"$"].join("|")+")",Si+"?"+wh+"+"+yh,Si+"+"+Dh,Py,Ry,dh,zy].join("|"),"g"),jy=RegExp("["+vh+Zt+In+fh+"]"),Yy=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Vy=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Zy=-1,ge={};ge[ft]=ge[ut]=ge[ht]=ge[at]=ge[Xt]=ge[ne]=ge[ye]=ge[qe]=ge[Re]=!0,ge[bt]=ge[Bt]=ge[st]=ge[oe]=ge[rt]=ge[Tt]=ge[ue]=ge[re]=ge[Jt]=ge[Te]=ge[Le]=ge[pn]=ge[mr]=ge[On]=ge[K]=!1;var pe={};pe[bt]=pe[Bt]=pe[st]=pe[rt]=pe[oe]=pe[Tt]=pe[ft]=pe[ut]=pe[ht]=pe[at]=pe[Xt]=pe[Jt]=pe[Te]=pe[Le]=pe[pn]=pe[mr]=pe[On]=pe[$]=pe[ne]=pe[ye]=pe[qe]=pe[Re]=!0,pe[ue]=pe[re]=pe[K]=!1;var Gy={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},Ky={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},Hy={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"},Jy={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Xy=parseFloat,Qy=parseInt,Ah=typeof Vt=="object"&&Vt&&Vt.Object===Object&&Vt,tD=typeof self=="object"&&self&&self.Object===Object&&self,Ve=Ah||tD||Function("return this")(),wu=t&&!t.nodeType&&t,ri=wu&&!0&&i&&!i.nodeType&&i,Ch=ri&&ri.exports===wu,yu=Ch&&Ah.process,Sr=function(){try{var j=ri&&ri.require&&ri.require("util").types;return j||yu&&yu.binding&&yu.binding("util")}catch{}}(),Fh=Sr&&Sr.isArrayBuffer,Mh=Sr&&Sr.isDate,Nh=Sr&&Sr.isMap,Sh=Sr&&Sr.isRegExp,Bh=Sr&&Sr.isSet,Oh=Sr&&Sr.isTypedArray;function wr(j,J,H){switch(H.length){case 0:return j.call(J);case 1:return j.call(J,H[0]);case 2:return j.call(J,H[0],H[1]);case 3:return j.call(J,H[0],H[1],H[2])}return j.apply(J,H)}function eD(j,J,H,gt){for(var Ot=-1,te=j==null?0:j.length;++Ot<te;){var Pe=j[Ot];J(gt,Pe,H(Pe),j)}return gt}function Br(j,J){for(var H=-1,gt=j==null?0:j.length;++H<gt&&J(j[H],H,j)!==!1;);return j}function rD(j,J){for(var H=j==null?0:j.length;H--&&J(j[H],H,j)!==!1;);return j}function Th(j,J){for(var H=-1,gt=j==null?0:j.length;++H<gt;)if(!J(j[H],H,j))return!1;return!0}function $n(j,J){for(var H=-1,gt=j==null?0:j.length,Ot=0,te=[];++H<gt;){var Pe=j[H];J(Pe,H,j)&&(te[Ot++]=Pe)}return te}function Do(j,J){var H=j==null?0:j.length;return!!H&&Bi(j,J,0)>-1}function Du(j,J,H){for(var gt=-1,Ot=j==null?0:j.length;++gt<Ot;)if(H(J,j[gt]))return!0;return!1}function De(j,J){for(var H=-1,gt=j==null?0:j.length,Ot=Array(gt);++H<gt;)Ot[H]=J(j[H],H,j);return Ot}function Ln(j,J){for(var H=-1,gt=J.length,Ot=j.length;++H<gt;)j[Ot+H]=J[H];return j}function bu(j,J,H,gt){var Ot=-1,te=j==null?0:j.length;for(gt&&te&&(H=j[++Ot]);++Ot<te;)H=J(H,j[Ot],Ot,j);return H}function nD(j,J,H,gt){var Ot=j==null?0:j.length;for(gt&&Ot&&(H=j[--Ot]);Ot--;)H=J(H,j[Ot],Ot,j);return H}function Eu(j,J){for(var H=-1,gt=j==null?0:j.length;++H<gt;)if(J(j[H],H,j))return!0;return!1}var iD=xu("length");function sD(j){return j.split("")}function oD(j){return j.match(nu)||[]}function Ih(j,J,H){var gt;return H(j,function(Ot,te,Pe){if(J(Ot,te,Pe))return gt=te,!1}),gt}function bo(j,J,H,gt){for(var Ot=j.length,te=H+(gt?1:-1);gt?te--:++te<Ot;)if(J(j[te],te,j))return te;return-1}function Bi(j,J,H){return J===J?vD(j,J,H):bo(j,$h,H)}function aD(j,J,H,gt){for(var Ot=H-1,te=j.length;++Ot<te;)if(gt(j[Ot],J))return Ot;return-1}function $h(j){return j!==j}function Lh(j,J){var H=j==null?0:j.length;return H?Cu(j,J)/H:tt}function xu(j){return function(J){return J==null?e:J[j]}}function Au(j){return function(J){return j==null?e:j[J]}}function Rh(j,J,H,gt,Ot){return Ot(j,function(te,Pe,fe){H=gt?(gt=!1,te):J(H,te,Pe,fe)}),H}function uD(j,J){var H=j.length;for(j.sort(J);H--;)j[H]=j[H].value;return j}function Cu(j,J){for(var H,gt=-1,Ot=j.length;++gt<Ot;){var te=J(j[gt]);te!==e&&(H=H===e?te:H+te)}return H}function Fu(j,J){for(var H=-1,gt=Array(j);++H<j;)gt[H]=J(H);return gt}function lD(j,J){return De(J,function(H){return[H,j[H]]})}function Ph(j){return j&&j.slice(0,Uh(j)+1).replace(is,"")}function yr(j){return function(J){return j(J)}}function Mu(j,J){return De(J,function(H){return j[H]})}function ss(j,J){return j.has(J)}function zh(j,J){for(var H=-1,gt=j.length;++H<gt&&Bi(J,j[H],0)>-1;);return H}function qh(j,J){for(var H=j.length;H--&&Bi(J,j[H],0)>-1;);return H}function cD(j,J){for(var H=j.length,gt=0;H--;)j[H]===J&&++gt;return gt}var fD=Au(Gy),hD=Au(Ky);function pD(j){return"\\"+Jy[j]}function dD(j,J){return j==null?e:j[J]}function Oi(j){return jy.test(j)}function _D(j){return Yy.test(j)}function mD(j){for(var J,H=[];!(J=j.next()).done;)H.push(J.value);return H}function Nu(j){var J=-1,H=Array(j.size);return j.forEach(function(gt,Ot){H[++J]=[Ot,gt]}),H}function kh(j,J){return function(H){return j(J(H))}}function Rn(j,J){for(var H=-1,gt=j.length,Ot=0,te=[];++H<gt;){var Pe=j[H];(Pe===J||Pe===p)&&(j[H]=p,te[Ot++]=H)}return te}function Eo(j){var J=-1,H=Array(j.size);return j.forEach(function(gt){H[++J]=gt}),H}function gD(j){var J=-1,H=Array(j.size);return j.forEach(function(gt){H[++J]=[gt,gt]}),H}function vD(j,J,H){for(var gt=H-1,Ot=j.length;++gt<Ot;)if(j[gt]===J)return gt;return-1}function wD(j,J,H){for(var gt=H+1;gt--;)if(j[gt]===J)return gt;return gt}function Ti(j){return Oi(j)?DD(j):iD(j)}function Vr(j){return Oi(j)?bD(j):sD(j)}function Uh(j){for(var J=j.length;J--&&Qa.test(j.charAt(J)););return J}var yD=Au(Hy);function DD(j){for(var J=vu.lastIndex=0;vu.test(j);)++J;return J}function bD(j){return j.match(vu)||[]}function ED(j){return j.match(Wy)||[]}var xD=function j(J){J=J==null?Ve:Ii.defaults(Ve.Object(),J,Ii.pick(Ve,Vy));var H=J.Array,gt=J.Date,Ot=J.Error,te=J.Function,Pe=J.Math,fe=J.Object,Su=J.RegExp,AD=J.String,Or=J.TypeError,xo=H.prototype,CD=te.prototype,$i=fe.prototype,Ao=J["__core-js_shared__"],Co=CD.toString,ae=$i.hasOwnProperty,FD=0,Wh=function(){var o=/[^.]+$/.exec(Ao&&Ao.keys&&Ao.keys.IE_PROTO||"");return o?"Symbol(src)_1."+o:""}(),Fo=$i.toString,MD=Co.call(fe),ND=Ve._,SD=Su("^"+Co.call(ae).replace(ns,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Mo=Ch?J.Buffer:e,Pn=J.Symbol,No=J.Uint8Array,jh=Mo?Mo.allocUnsafe:e,So=kh(fe.getPrototypeOf,fe),Yh=fe.create,Vh=$i.propertyIsEnumerable,Bo=xo.splice,Zh=Pn?Pn.isConcatSpreadable:e,os=Pn?Pn.iterator:e,ni=Pn?Pn.toStringTag:e,Oo=function(){try{var o=ui(fe,"defineProperty");return o({},"",{}),o}catch{}}(),BD=J.clearTimeout!==Ve.clearTimeout&&J.clearTimeout,OD=gt&&gt.now!==Ve.Date.now&&gt.now,TD=J.setTimeout!==Ve.setTimeout&&J.setTimeout,To=Pe.ceil,Io=Pe.floor,Bu=fe.getOwnPropertySymbols,ID=Mo?Mo.isBuffer:e,Gh=J.isFinite,$D=xo.join,LD=kh(fe.keys,fe),ze=Pe.max,Je=Pe.min,RD=gt.now,PD=J.parseInt,Kh=Pe.random,zD=xo.reverse,Ou=ui(J,"DataView"),as=ui(J,"Map"),Tu=ui(J,"Promise"),Li=ui(J,"Set"),us=ui(J,"WeakMap"),ls=ui(fe,"create"),$o=us&&new us,Ri={},qD=li(Ou),kD=li(as),UD=li(Tu),WD=li(Li),jD=li(us),Lo=Pn?Pn.prototype:e,cs=Lo?Lo.valueOf:e,Hh=Lo?Lo.toString:e;function B(o){if(Ae(o)&&!It(o)&&!(o instanceof Wt)){if(o instanceof Tr)return o;if(ae.call(o,"__wrapped__"))return J0(o)}return new Tr(o)}var Pi=function(){function o(){}return function(u){if(!xe(u))return{};if(Yh)return Yh(u);o.prototype=u;var _=new o;return o.prototype=e,_}}();function Ro(){}function Tr(o,u){this.__wrapped__=o,this.__actions__=[],this.__chain__=!!u,this.__index__=0,this.__values__=e}B.templateSettings={escape:Za,evaluate:Ga,interpolate:go,variable:"",imports:{_:B}},B.prototype=Ro.prototype,B.prototype.constructor=B,Tr.prototype=Pi(Ro.prototype),Tr.prototype.constructor=Tr;function Wt(o){this.__wrapped__=o,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=ct,this.__views__=[]}function YD(){var o=new Wt(this.__wrapped__);return o.__actions__=ur(this.__actions__),o.__dir__=this.__dir__,o.__filtered__=this.__filtered__,o.__iteratees__=ur(this.__iteratees__),o.__takeCount__=this.__takeCount__,o.__views__=ur(this.__views__),o}function VD(){if(this.__filtered__){var o=new Wt(this);o.__dir__=-1,o.__filtered__=!0}else o=this.clone(),o.__dir__*=-1;return o}function ZD(){var o=this.__wrapped__.value(),u=this.__dir__,_=It(o),y=u<0,A=_?o.length:0,T=sE(0,A,this.__views__),R=T.start,q=T.end,Y=q-R,Q=y?q:R-1,et=this.__iteratees__,ot=et.length,dt=0,wt=Je(Y,this.__takeCount__);if(!_||!y&&A==Y&&wt==Y)return y0(o,this.__actions__);var Ct=[];t:for(;Y--&&dt<wt;){Q+=u;for(var Rt=-1,Ft=o[Q];++Rt<ot;){var kt=et[Rt],Yt=kt.iteratee,Er=kt.type,nr=Yt(Ft);if(Er==W)Ft=nr;else if(!nr){if(Er==U)continue t;break t}}Ct[dt++]=Ft}return Ct}Wt.prototype=Pi(Ro.prototype),Wt.prototype.constructor=Wt;function ii(o){var u=-1,_=o==null?0:o.length;for(this.clear();++u<_;){var y=o[u];this.set(y[0],y[1])}}function GD(){this.__data__=ls?ls(null):{},this.size=0}function KD(o){var u=this.has(o)&&delete this.__data__[o];return this.size-=u?1:0,u}function HD(o){var u=this.__data__;if(ls){var _=u[o];return _===c?e:_}return ae.call(u,o)?u[o]:e}function JD(o){var u=this.__data__;return ls?u[o]!==e:ae.call(u,o)}function XD(o,u){var _=this.__data__;return this.size+=this.has(o)?0:1,_[o]=ls&&u===e?c:u,this}ii.prototype.clear=GD,ii.prototype.delete=KD,ii.prototype.get=HD,ii.prototype.has=JD,ii.prototype.set=XD;function dn(o){var u=-1,_=o==null?0:o.length;for(this.clear();++u<_;){var y=o[u];this.set(y[0],y[1])}}function QD(){this.__data__=[],this.size=0}function tb(o){var u=this.__data__,_=Po(u,o);if(_<0)return!1;var y=u.length-1;return _==y?u.pop():Bo.call(u,_,1),--this.size,!0}function eb(o){var u=this.__data__,_=Po(u,o);return _<0?e:u[_][1]}function rb(o){return Po(this.__data__,o)>-1}function nb(o,u){var _=this.__data__,y=Po(_,o);return y<0?(++this.size,_.push([o,u])):_[y][1]=u,this}dn.prototype.clear=QD,dn.prototype.delete=tb,dn.prototype.get=eb,dn.prototype.has=rb,dn.prototype.set=nb;function _n(o){var u=-1,_=o==null?0:o.length;for(this.clear();++u<_;){var y=o[u];this.set(y[0],y[1])}}function ib(){this.size=0,this.__data__={hash:new ii,map:new(as||dn),string:new ii}}function sb(o){var u=Ho(this,o).delete(o);return this.size-=u?1:0,u}function ob(o){return Ho(this,o).get(o)}function ab(o){return Ho(this,o).has(o)}function ub(o,u){var _=Ho(this,o),y=_.size;return _.set(o,u),this.size+=_.size==y?0:1,this}_n.prototype.clear=ib,_n.prototype.delete=sb,_n.prototype.get=ob,_n.prototype.has=ab,_n.prototype.set=ub;function si(o){var u=-1,_=o==null?0:o.length;for(this.__data__=new _n;++u<_;)this.add(o[u])}function lb(o){return this.__data__.set(o,c),this}function cb(o){return this.__data__.has(o)}si.prototype.add=si.prototype.push=lb,si.prototype.has=cb;function Zr(o){var u=this.__data__=new dn(o);this.size=u.size}function fb(){this.__data__=new dn,this.size=0}function hb(o){var u=this.__data__,_=u.delete(o);return this.size=u.size,_}function pb(o){return this.__data__.get(o)}function db(o){return this.__data__.has(o)}function _b(o,u){var _=this.__data__;if(_ instanceof dn){var y=_.__data__;if(!as||y.length<n-1)return y.push([o,u]),this.size=++_.size,this;_=this.__data__=new _n(y)}return _.set(o,u),this.size=_.size,this}Zr.prototype.clear=fb,Zr.prototype.delete=hb,Zr.prototype.get=pb,Zr.prototype.has=db,Zr.prototype.set=_b;function Jh(o,u){var _=It(o),y=!_&&ci(o),A=!_&&!y&&Wn(o),T=!_&&!y&&!A&&Ui(o),R=_||y||A||T,q=R?Fu(o.length,AD):[],Y=q.length;for(var Q in o)(u||ae.call(o,Q))&&!(R&&(Q=="length"||A&&(Q=="offset"||Q=="parent")||T&&(Q=="buffer"||Q=="byteLength"||Q=="byteOffset")||wn(Q,Y)))&&q.push(Q);return q}function Xh(o){var u=o.length;return u?o[ju(0,u-1)]:e}function mb(o,u){return Jo(ur(o),oi(u,0,o.length))}function gb(o){return Jo(ur(o))}function Iu(o,u,_){(_!==e&&!Gr(o[u],_)||_===e&&!(u in o))&&mn(o,u,_)}function fs(o,u,_){var y=o[u];(!(ae.call(o,u)&&Gr(y,_))||_===e&&!(u in o))&&mn(o,u,_)}function Po(o,u){for(var _=o.length;_--;)if(Gr(o[_][0],u))return _;return-1}function vb(o,u,_,y){return zn(o,function(A,T,R){u(y,A,_(A),R)}),y}function Qh(o,u){return o&&rn(u,ke(u),o)}function wb(o,u){return o&&rn(u,cr(u),o)}function mn(o,u,_){u=="__proto__"&&Oo?Oo(o,u,{configurable:!0,enumerable:!0,value:_,writable:!0}):o[u]=_}function $u(o,u){for(var _=-1,y=u.length,A=H(y),T=o==null;++_<y;)A[_]=T?e:_l(o,u[_]);return A}function oi(o,u,_){return o===o&&(_!==e&&(o=o<=_?o:_),u!==e&&(o=o>=u?o:u)),o}function Ir(o,u,_,y,A,T){var R,q=u&f,Y=u&d,Q=u&g;if(_&&(R=A?_(o,y,A,T):_(o)),R!==e)return R;if(!xe(o))return o;var et=It(o);if(et){if(R=aE(o),!q)return ur(o,R)}else{var ot=Xe(o),dt=ot==re||ot==qt;if(Wn(o))return E0(o,q);if(ot==Le||ot==bt||dt&&!A){if(R=Y||dt?{}:U0(o),!q)return Y?Hb(o,wb(R,o)):Kb(o,Qh(R,o))}else{if(!pe[ot])return A?o:{};R=uE(o,ot,q)}}T||(T=new Zr);var wt=T.get(o);if(wt)return wt;T.set(o,R),gp(o)?o.forEach(function(Ft){R.add(Ir(Ft,u,_,Ft,o,T))}):_p(o)&&o.forEach(function(Ft,kt){R.set(kt,Ir(Ft,u,_,kt,o,T))});var Ct=Q?Y?el:tl:Y?cr:ke,Rt=et?e:Ct(o);return Br(Rt||o,function(Ft,kt){Rt&&(kt=Ft,Ft=o[kt]),fs(R,kt,Ir(Ft,u,_,kt,o,T))}),R}function yb(o){var u=ke(o);return function(_){return t0(_,o,u)}}function t0(o,u,_){var y=_.length;if(o==null)return!y;for(o=fe(o);y--;){var A=_[y],T=u[A],R=o[A];if(R===e&&!(A in o)||!T(R))return!1}return!0}function e0(o,u,_){if(typeof o!="function")throw new Or(a);return vs(function(){o.apply(e,_)},u)}function hs(o,u,_,y){var A=-1,T=Do,R=!0,q=o.length,Y=[],Q=u.length;if(!q)return Y;_&&(u=De(u,yr(_))),y?(T=Du,R=!1):u.length>=n&&(T=ss,R=!1,u=new si(u));t:for(;++A<q;){var et=o[A],ot=_==null?et:_(et);if(et=y||et!==0?et:0,R&&ot===ot){for(var dt=Q;dt--;)if(u[dt]===ot)continue t;Y.push(et)}else T(u,ot,y)||Y.push(et)}return Y}var zn=M0(en),r0=M0(Ru,!0);function Db(o,u){var _=!0;return zn(o,function(y,A,T){return _=!!u(y,A,T),_}),_}function zo(o,u,_){for(var y=-1,A=o.length;++y<A;){var T=o[y],R=u(T);if(R!=null&&(q===e?R===R&&!br(R):_(R,q)))var q=R,Y=T}return Y}function bb(o,u,_,y){var A=o.length;for(_=Lt(_),_<0&&(_=-_>A?0:A+_),y=y===e||y>A?A:Lt(y),y<0&&(y+=A),y=_>y?0:wp(y);_<y;)o[_++]=u;return o}function n0(o,u){var _=[];return zn(o,function(y,A,T){u(y,A,T)&&_.push(y)}),_}function Ze(o,u,_,y,A){var T=-1,R=o.length;for(_||(_=cE),A||(A=[]);++T<R;){var q=o[T];u>0&&_(q)?u>1?Ze(q,u-1,_,y,A):Ln(A,q):y||(A[A.length]=q)}return A}var Lu=N0(),i0=N0(!0);function en(o,u){return o&&Lu(o,u,ke)}function Ru(o,u){return o&&i0(o,u,ke)}function qo(o,u){return $n(u,function(_){return yn(o[_])})}function ai(o,u){u=kn(u,o);for(var _=0,y=u.length;o!=null&&_<y;)o=o[nn(u[_++])];return _&&_==y?o:e}function s0(o,u,_){var y=u(o);return It(o)?y:Ln(y,_(o))}function er(o){return o==null?o===e?V:_r:ni&&ni in fe(o)?iE(o):gE(o)}function Pu(o,u){return o>u}function Eb(o,u){return o!=null&&ae.call(o,u)}function xb(o,u){return o!=null&&u in fe(o)}function Ab(o,u,_){return o>=Je(u,_)&&o<ze(u,_)}function zu(o,u,_){for(var y=_?Du:Do,A=o[0].length,T=o.length,R=T,q=H(T),Y=1/0,Q=[];R--;){var et=o[R];R&&u&&(et=De(et,yr(u))),Y=Je(et.length,Y),q[R]=!_&&(u||A>=120&&et.length>=120)?new si(R&&et):e}et=o[0];var ot=-1,dt=q[0];t:for(;++ot<A&&Q.length<Y;){var wt=et[ot],Ct=u?u(wt):wt;if(wt=_||wt!==0?wt:0,!(dt?ss(dt,Ct):y(Q,Ct,_))){for(R=T;--R;){var Rt=q[R];if(!(Rt?ss(Rt,Ct):y(o[R],Ct,_)))continue t}dt&&dt.push(Ct),Q.push(wt)}}return Q}function Cb(o,u,_,y){return en(o,function(A,T,R){u(y,_(A),T,R)}),y}function ps(o,u,_){u=kn(u,o),o=V0(o,u);var y=o==null?o:o[nn(Lr(u))];return y==null?e:wr(y,o,_)}function o0(o){return Ae(o)&&er(o)==bt}function Fb(o){return Ae(o)&&er(o)==st}function Mb(o){return Ae(o)&&er(o)==Tt}function ds(o,u,_,y,A){return o===u?!0:o==null||u==null||!Ae(o)&&!Ae(u)?o!==o&&u!==u:Nb(o,u,_,y,ds,A)}function Nb(o,u,_,y,A,T){var R=It(o),q=It(u),Y=R?Bt:Xe(o),Q=q?Bt:Xe(u);Y=Y==bt?Le:Y,Q=Q==bt?Le:Q;var et=Y==Le,ot=Q==Le,dt=Y==Q;if(dt&&Wn(o)){if(!Wn(u))return!1;R=!0,et=!1}if(dt&&!et)return T||(T=new Zr),R||Ui(o)?z0(o,u,_,y,A,T):rE(o,u,Y,_,y,A,T);if(!(_&w)){var wt=et&&ae.call(o,"__wrapped__"),Ct=ot&&ae.call(u,"__wrapped__");if(wt||Ct){var Rt=wt?o.value():o,Ft=Ct?u.value():u;return T||(T=new Zr),A(Rt,Ft,_,y,T)}}return dt?(T||(T=new Zr),nE(o,u,_,y,A,T)):!1}function Sb(o){return Ae(o)&&Xe(o)==Jt}function qu(o,u,_,y){var A=_.length,T=A,R=!y;if(o==null)return!T;for(o=fe(o);A--;){var q=_[A];if(R&&q[2]?q[1]!==o[q[0]]:!(q[0]in o))return!1}for(;++A<T;){q=_[A];var Y=q[0],Q=o[Y],et=q[1];if(R&&q[2]){if(Q===e&&!(Y in o))return!1}else{var ot=new Zr;if(y)var dt=y(Q,et,Y,o,u,ot);if(!(dt===e?ds(et,Q,w|m,y,ot):dt))return!1}}return!0}function a0(o){if(!xe(o)||hE(o))return!1;var u=yn(o)?SD:lu;return u.test(li(o))}function Bb(o){return Ae(o)&&er(o)==pn}function Ob(o){return Ae(o)&&Xe(o)==mr}function Tb(o){return Ae(o)&&na(o.length)&&!!ge[er(o)]}function u0(o){return typeof o=="function"?o:o==null?fr:typeof o=="object"?It(o)?f0(o[0],o[1]):c0(o):Sp(o)}function ku(o){if(!gs(o))return LD(o);var u=[];for(var _ in fe(o))ae.call(o,_)&&_!="constructor"&&u.push(_);return u}function Ib(o){if(!xe(o))return mE(o);var u=gs(o),_=[];for(var y in o)y=="constructor"&&(u||!ae.call(o,y))||_.push(y);return _}function Uu(o,u){return o<u}function l0(o,u){var _=-1,y=lr(o)?H(o.length):[];return zn(o,function(A,T,R){y[++_]=u(A,T,R)}),y}function c0(o){var u=nl(o);return u.length==1&&u[0][2]?j0(u[0][0],u[0][1]):function(_){return _===o||qu(_,o,u)}}function f0(o,u){return sl(o)&&W0(u)?j0(nn(o),u):function(_){var y=_l(_,o);return y===e&&y===u?ml(_,o):ds(u,y,w|m)}}function ko(o,u,_,y,A){o!==u&&Lu(u,function(T,R){if(A||(A=new Zr),xe(T))$b(o,u,R,_,ko,y,A);else{var q=y?y(al(o,R),T,R+"",o,u,A):e;q===e&&(q=T),Iu(o,R,q)}},cr)}function $b(o,u,_,y,A,T,R){var q=al(o,_),Y=al(u,_),Q=R.get(Y);if(Q){Iu(o,_,Q);return}var et=T?T(q,Y,_+"",o,u,R):e,ot=et===e;if(ot){var dt=It(Y),wt=!dt&&Wn(Y),Ct=!dt&&!wt&&Ui(Y);et=Y,dt||wt||Ct?It(q)?et=q:Me(q)?et=ur(q):wt?(ot=!1,et=E0(Y,!0)):Ct?(ot=!1,et=x0(Y,!0)):et=[]:ws(Y)||ci(Y)?(et=q,ci(q)?et=yp(q):(!xe(q)||yn(q))&&(et=U0(Y))):ot=!1}ot&&(R.set(Y,et),A(et,Y,y,T,R),R.delete(Y)),Iu(o,_,et)}function h0(o,u){var _=o.length;if(_)return u+=u<0?_:0,wn(u,_)?o[u]:e}function p0(o,u,_){u.length?u=De(u,function(T){return It(T)?function(R){return ai(R,T.length===1?T[0]:T)}:T}):u=[fr];var y=-1;u=De(u,yr(At()));var A=l0(o,function(T,R,q){var Y=De(u,function(Q){return Q(T)});return{criteria:Y,index:++y,value:T}});return uD(A,function(T,R){return Gb(T,R,_)})}function Lb(o,u){return d0(o,u,function(_,y){return ml(o,y)})}function d0(o,u,_){for(var y=-1,A=u.length,T={};++y<A;){var R=u[y],q=ai(o,R);_(q,R)&&_s(T,kn(R,o),q)}return T}function Rb(o){return function(u){return ai(u,o)}}function Wu(o,u,_,y){var A=y?aD:Bi,T=-1,R=u.length,q=o;for(o===u&&(u=ur(u)),_&&(q=De(o,yr(_)));++T<R;)for(var Y=0,Q=u[T],et=_?_(Q):Q;(Y=A(q,et,Y,y))>-1;)q!==o&&Bo.call(q,Y,1),Bo.call(o,Y,1);return o}function _0(o,u){for(var _=o?u.length:0,y=_-1;_--;){var A=u[_];if(_==y||A!==T){var T=A;wn(A)?Bo.call(o,A,1):Zu(o,A)}}return o}function ju(o,u){return o+Io(Kh()*(u-o+1))}function Pb(o,u,_,y){for(var A=-1,T=ze(To((u-o)/(_||1)),0),R=H(T);T--;)R[y?T:++A]=o,o+=_;return R}function Yu(o,u){var _="";if(!o||u<1||u>Z)return _;do u%2&&(_+=o),u=Io(u/2),u&&(o+=o);while(u);return _}function Pt(o,u){return ul(Y0(o,u,fr),o+"")}function zb(o){return Xh(Wi(o))}function qb(o,u){var _=Wi(o);return Jo(_,oi(u,0,_.length))}function _s(o,u,_,y){if(!xe(o))return o;u=kn(u,o);for(var A=-1,T=u.length,R=T-1,q=o;q!=null&&++A<T;){var Y=nn(u[A]),Q=_;if(Y==="__proto__"||Y==="constructor"||Y==="prototype")return o;if(A!=R){var et=q[Y];Q=y?y(et,Y,q):e,Q===e&&(Q=xe(et)?et:wn(u[A+1])?[]:{})}fs(q,Y,Q),q=q[Y]}return o}var m0=$o?function(o,u){return $o.set(o,u),o}:fr,kb=Oo?function(o,u){return Oo(o,"toString",{configurable:!0,enumerable:!1,value:vl(u),writable:!0})}:fr;function Ub(o){return Jo(Wi(o))}function $r(o,u,_){var y=-1,A=o.length;u<0&&(u=-u>A?0:A+u),_=_>A?A:_,_<0&&(_+=A),A=u>_?0:_-u>>>0,u>>>=0;for(var T=H(A);++y<A;)T[y]=o[y+u];return T}function Wb(o,u){var _;return zn(o,function(y,A,T){return _=u(y,A,T),!_}),!!_}function Uo(o,u,_){var y=0,A=o==null?y:o.length;if(typeof u=="number"&&u===u&&A<=lt){for(;y<A;){var T=y+A>>>1,R=o[T];R!==null&&!br(R)&&(_?R<=u:R<u)?y=T+1:A=T}return A}return Vu(o,u,fr,_)}function Vu(o,u,_,y){var A=0,T=o==null?0:o.length;if(T===0)return 0;u=_(u);for(var R=u!==u,q=u===null,Y=br(u),Q=u===e;A<T;){var et=Io((A+T)/2),ot=_(o[et]),dt=ot!==e,wt=ot===null,Ct=ot===ot,Rt=br(ot);if(R)var Ft=y||Ct;else Q?Ft=Ct&&(y||dt):q?Ft=Ct&&dt&&(y||!wt):Y?Ft=Ct&&dt&&!wt&&(y||!Rt):wt||Rt?Ft=!1:Ft=y?ot<=u:ot<u;Ft?A=et+1:T=et}return Je(T,vt)}function g0(o,u){for(var _=-1,y=o.length,A=0,T=[];++_<y;){var R=o[_],q=u?u(R):R;if(!_||!Gr(q,Y)){var Y=q;T[A++]=R===0?0:R}}return T}function v0(o){return typeof o=="number"?o:br(o)?tt:+o}function Dr(o){if(typeof o=="string")return o;if(It(o))return De(o,Dr)+"";if(br(o))return Hh?Hh.call(o):"";var u=o+"";return u=="0"&&1/o==-G?"-0":u}function qn(o,u,_){var y=-1,A=Do,T=o.length,R=!0,q=[],Y=q;if(_)R=!1,A=Du;else if(T>=n){var Q=u?null:tE(o);if(Q)return Eo(Q);R=!1,A=ss,Y=new si}else Y=u?[]:q;t:for(;++y<T;){var et=o[y],ot=u?u(et):et;if(et=_||et!==0?et:0,R&&ot===ot){for(var dt=Y.length;dt--;)if(Y[dt]===ot)continue t;u&&Y.push(ot),q.push(et)}else A(Y,ot,_)||(Y!==q&&Y.push(ot),q.push(et))}return q}function Zu(o,u){return u=kn(u,o),o=V0(o,u),o==null||delete o[nn(Lr(u))]}function w0(o,u,_,y){return _s(o,u,_(ai(o,u)),y)}function Wo(o,u,_,y){for(var A=o.length,T=y?A:-1;(y?T--:++T<A)&&u(o[T],T,o););return _?$r(o,y?0:T,y?T+1:A):$r(o,y?T+1:0,y?A:T)}function y0(o,u){var _=o;return _ instanceof Wt&&(_=_.value()),bu(u,function(y,A){return A.func.apply(A.thisArg,Ln([y],A.args))},_)}function Gu(o,u,_){var y=o.length;if(y<2)return y?qn(o[0]):[];for(var A=-1,T=H(y);++A<y;)for(var R=o[A],q=-1;++q<y;)q!=A&&(T[A]=hs(T[A]||R,o[q],u,_));return qn(Ze(T,1),u,_)}function D0(o,u,_){for(var y=-1,A=o.length,T=u.length,R={};++y<A;){var q=y<T?u[y]:e;_(R,o[y],q)}return R}function Ku(o){return Me(o)?o:[]}function Hu(o){return typeof o=="function"?o:fr}function kn(o,u){return It(o)?o:sl(o,u)?[o]:H0(ie(o))}var jb=Pt;function Un(o,u,_){var y=o.length;return _=_===e?y:_,!u&&_>=y?o:$r(o,u,_)}var b0=BD||function(o){return Ve.clearTimeout(o)};function E0(o,u){if(u)return o.slice();var _=o.length,y=jh?jh(_):new o.constructor(_);return o.copy(y),y}function Ju(o){var u=new o.constructor(o.byteLength);return new No(u).set(new No(o)),u}function Yb(o,u){var _=u?Ju(o.buffer):o.buffer;return new o.constructor(_,o.byteOffset,o.byteLength)}function Vb(o){var u=new o.constructor(o.source,vo.exec(o));return u.lastIndex=o.lastIndex,u}function Zb(o){return cs?fe(cs.call(o)):{}}function x0(o,u){var _=u?Ju(o.buffer):o.buffer;return new o.constructor(_,o.byteOffset,o.length)}function A0(o,u){if(o!==u){var _=o!==e,y=o===null,A=o===o,T=br(o),R=u!==e,q=u===null,Y=u===u,Q=br(u);if(!q&&!Q&&!T&&o>u||T&&R&&Y&&!q&&!Q||y&&R&&Y||!_&&Y||!A)return 1;if(!y&&!T&&!Q&&o<u||Q&&_&&A&&!y&&!T||q&&_&&A||!R&&A||!Y)return-1}return 0}function Gb(o,u,_){for(var y=-1,A=o.criteria,T=u.criteria,R=A.length,q=_.length;++y<R;){var Y=A0(A[y],T[y]);if(Y){if(y>=q)return Y;var Q=_[y];return Y*(Q=="desc"?-1:1)}}return o.index-u.index}function C0(o,u,_,y){for(var A=-1,T=o.length,R=_.length,q=-1,Y=u.length,Q=ze(T-R,0),et=H(Y+Q),ot=!y;++q<Y;)et[q]=u[q];for(;++A<R;)(ot||A<T)&&(et[_[A]]=o[A]);for(;Q--;)et[q++]=o[A++];return et}function F0(o,u,_,y){for(var A=-1,T=o.length,R=-1,q=_.length,Y=-1,Q=u.length,et=ze(T-q,0),ot=H(et+Q),dt=!y;++A<et;)ot[A]=o[A];for(var wt=A;++Y<Q;)ot[wt+Y]=u[Y];for(;++R<q;)(dt||A<T)&&(ot[wt+_[R]]=o[A++]);return ot}function ur(o,u){var _=-1,y=o.length;for(u||(u=H(y));++_<y;)u[_]=o[_];return u}function rn(o,u,_,y){var A=!_;_||(_={});for(var T=-1,R=u.length;++T<R;){var q=u[T],Y=y?y(_[q],o[q],q,_,o):e;Y===e&&(Y=o[q]),A?mn(_,q,Y):fs(_,q,Y)}return _}function Kb(o,u){return rn(o,il(o),u)}function Hb(o,u){return rn(o,q0(o),u)}function jo(o,u){return function(_,y){var A=It(_)?eD:vb,T=u?u():{};return A(_,o,At(y,2),T)}}function zi(o){return Pt(function(u,_){var y=-1,A=_.length,T=A>1?_[A-1]:e,R=A>2?_[2]:e;for(T=o.length>3&&typeof T=="function"?(A--,T):e,R&&rr(_[0],_[1],R)&&(T=A<3?e:T,A=1),u=fe(u);++y<A;){var q=_[y];q&&o(u,q,y,T)}return u})}function M0(o,u){return function(_,y){if(_==null)return _;if(!lr(_))return o(_,y);for(var A=_.length,T=u?A:-1,R=fe(_);(u?T--:++T<A)&&y(R[T],T,R)!==!1;);return _}}function N0(o){return function(u,_,y){for(var A=-1,T=fe(u),R=y(u),q=R.length;q--;){var Y=R[o?q:++A];if(_(T[Y],Y,T)===!1)break}return u}}function Jb(o,u,_){var y=u&D,A=ms(o);function T(){var R=this&&this!==Ve&&this instanceof T?A:o;return R.apply(y?_:this,arguments)}return T}function S0(o){return function(u){u=ie(u);var _=Oi(u)?Vr(u):e,y=_?_[0]:u.charAt(0),A=_?Un(_,1).join(""):u.slice(1);return y[o]()+A}}function qi(o){return function(u){return bu(Mp(Fp(u).replace(ky,"")),o,"")}}function ms(o){return function(){var u=arguments;switch(u.length){case 0:return new o;case 1:return new o(u[0]);case 2:return new o(u[0],u[1]);case 3:return new o(u[0],u[1],u[2]);case 4:return new o(u[0],u[1],u[2],u[3]);case 5:return new o(u[0],u[1],u[2],u[3],u[4]);case 6:return new o(u[0],u[1],u[2],u[3],u[4],u[5]);case 7:return new o(u[0],u[1],u[2],u[3],u[4],u[5],u[6])}var _=Pi(o.prototype),y=o.apply(_,u);return xe(y)?y:_}}function Xb(o,u,_){var y=ms(o);function A(){for(var T=arguments.length,R=H(T),q=T,Y=ki(A);q--;)R[q]=arguments[q];var Q=T<3&&R[0]!==Y&&R[T-1]!==Y?[]:Rn(R,Y);if(T-=Q.length,T<_)return $0(o,u,Yo,A.placeholder,e,R,Q,e,e,_-T);var et=this&&this!==Ve&&this instanceof A?y:o;return wr(et,this,R)}return A}function B0(o){return function(u,_,y){var A=fe(u);if(!lr(u)){var T=At(_,3);u=ke(u),_=function(q){return T(A[q],q,A)}}var R=o(u,_,y);return R>-1?A[T?u[R]:R]:e}}function O0(o){return vn(function(u){var _=u.length,y=_,A=Tr.prototype.thru;for(o&&u.reverse();y--;){var T=u[y];if(typeof T!="function")throw new Or(a);if(A&&!R&&Ko(T)=="wrapper")var R=new Tr([],!0)}for(y=R?y:_;++y<_;){T=u[y];var q=Ko(T),Y=q=="wrapper"?rl(T):e;Y&&ol(Y[0])&&Y[1]==(M|b|x|S)&&!Y[4].length&&Y[9]==1?R=R[Ko(Y[0])].apply(R,Y[3]):R=T.length==1&&ol(T)?R[q]():R.thru(T)}return function(){var Q=arguments,et=Q[0];if(R&&Q.length==1&&It(et))return R.plant(et).value();for(var ot=0,dt=_?u[ot].apply(this,Q):et;++ot<_;)dt=u[ot].call(this,dt);return dt}})}function Yo(o,u,_,y,A,T,R,q,Y,Q){var et=u&M,ot=u&D,dt=u&v,wt=u&(b|N),Ct=u&I,Rt=dt?e:ms(o);function Ft(){for(var kt=arguments.length,Yt=H(kt),Er=kt;Er--;)Yt[Er]=arguments[Er];if(wt)var nr=ki(Ft),xr=cD(Yt,nr);if(y&&(Yt=C0(Yt,y,A,wt)),T&&(Yt=F0(Yt,T,R,wt)),kt-=xr,wt&&kt<Q){var Ne=Rn(Yt,nr);return $0(o,u,Yo,Ft.placeholder,_,Yt,Ne,q,Y,Q-kt)}var Kr=ot?_:this,bn=dt?Kr[o]:o;return kt=Yt.length,q?Yt=vE(Yt,q):Ct&&kt>1&&Yt.reverse(),et&&Y<kt&&(Yt.length=Y),this&&this!==Ve&&this instanceof Ft&&(bn=Rt||ms(bn)),bn.apply(Kr,Yt)}return Ft}function T0(o,u){return function(_,y){return Cb(_,o,u(y),{})}}function Vo(o,u){return function(_,y){var A;if(_===e&&y===e)return u;if(_!==e&&(A=_),y!==e){if(A===e)return y;typeof _=="string"||typeof y=="string"?(_=Dr(_),y=Dr(y)):(_=v0(_),y=v0(y)),A=o(_,y)}return A}}function Xu(o){return vn(function(u){return u=De(u,yr(At())),Pt(function(_){var y=this;return o(u,function(A){return wr(A,y,_)})})})}function Zo(o,u){u=u===e?" ":Dr(u);var _=u.length;if(_<2)return _?Yu(u,o):u;var y=Yu(u,To(o/Ti(u)));return Oi(u)?Un(Vr(y),0,o).join(""):y.slice(0,o)}function Qb(o,u,_,y){var A=u&D,T=ms(o);function R(){for(var q=-1,Y=arguments.length,Q=-1,et=y.length,ot=H(et+Y),dt=this&&this!==Ve&&this instanceof R?T:o;++Q<et;)ot[Q]=y[Q];for(;Y--;)ot[Q++]=arguments[++q];return wr(dt,A?_:this,ot)}return R}function I0(o){return function(u,_,y){return y&&typeof y!="number"&&rr(u,_,y)&&(_=y=e),u=Dn(u),_===e?(_=u,u=0):_=Dn(_),y=y===e?u<_?1:-1:Dn(y),Pb(u,_,y,o)}}function Go(o){return function(u,_){return typeof u=="string"&&typeof _=="string"||(u=Rr(u),_=Rr(_)),o(u,_)}}function $0(o,u,_,y,A,T,R,q,Y,Q){var et=u&b,ot=et?R:e,dt=et?e:R,wt=et?T:e,Ct=et?e:T;u|=et?x:F,u&=~(et?F:x),u&E||(u&=~(D|v));var Rt=[o,u,A,wt,ot,Ct,dt,q,Y,Q],Ft=_.apply(e,Rt);return ol(o)&&Z0(Ft,Rt),Ft.placeholder=y,G0(Ft,o,u)}function Qu(o){var u=Pe[o];return function(_,y){if(_=Rr(_),y=y==null?0:Je(Lt(y),292),y&&Gh(_)){var A=(ie(_)+"e").split("e"),T=u(A[0]+"e"+(+A[1]+y));return A=(ie(T)+"e").split("e"),+(A[0]+"e"+(+A[1]-y))}return u(_)}}var tE=Li&&1/Eo(new Li([,-0]))[1]==G?function(o){return new Li(o)}:Dl;function L0(o){return function(u){var _=Xe(u);return _==Jt?Nu(u):_==mr?gD(u):lD(u,o(u))}}function gn(o,u,_,y,A,T,R,q){var Y=u&v;if(!Y&&typeof o!="function")throw new Or(a);var Q=y?y.length:0;if(Q||(u&=~(x|F),y=A=e),R=R===e?R:ze(Lt(R),0),q=q===e?q:Lt(q),Q-=A?A.length:0,u&F){var et=y,ot=A;y=A=e}var dt=Y?e:rl(o),wt=[o,u,_,y,A,et,ot,T,R,q];if(dt&&_E(wt,dt),o=wt[0],u=wt[1],_=wt[2],y=wt[3],A=wt[4],q=wt[9]=wt[9]===e?Y?0:o.length:ze(wt[9]-Q,0),!q&&u&(b|N)&&(u&=~(b|N)),!u||u==D)var Ct=Jb(o,u,_);else u==b||u==N?Ct=Xb(o,u,q):(u==x||u==(D|x))&&!A.length?Ct=Qb(o,u,_,y):Ct=Yo.apply(e,wt);var Rt=dt?m0:Z0;return G0(Rt(Ct,wt),o,u)}function R0(o,u,_,y){return o===e||Gr(o,$i[_])&&!ae.call(y,_)?u:o}function P0(o,u,_,y,A,T){return xe(o)&&xe(u)&&(T.set(u,o),ko(o,u,e,P0,T),T.delete(u)),o}function eE(o){return ws(o)?e:o}function z0(o,u,_,y,A,T){var R=_&w,q=o.length,Y=u.length;if(q!=Y&&!(R&&Y>q))return!1;var Q=T.get(o),et=T.get(u);if(Q&&et)return Q==u&&et==o;var ot=-1,dt=!0,wt=_&m?new si:e;for(T.set(o,u),T.set(u,o);++ot<q;){var Ct=o[ot],Rt=u[ot];if(y)var Ft=R?y(Rt,Ct,ot,u,o,T):y(Ct,Rt,ot,o,u,T);if(Ft!==e){if(Ft)continue;dt=!1;break}if(wt){if(!Eu(u,function(kt,Yt){if(!ss(wt,Yt)&&(Ct===kt||A(Ct,kt,_,y,T)))return wt.push(Yt)})){dt=!1;break}}else if(!(Ct===Rt||A(Ct,Rt,_,y,T))){dt=!1;break}}return T.delete(o),T.delete(u),dt}function rE(o,u,_,y,A,T,R){switch(_){case rt:if(o.byteLength!=u.byteLength||o.byteOffset!=u.byteOffset)return!1;o=o.buffer,u=u.buffer;case st:return!(o.byteLength!=u.byteLength||!T(new No(o),new No(u)));case oe:case Tt:case Te:return Gr(+o,+u);case ue:return o.name==u.name&&o.message==u.message;case pn:case On:return o==u+"";case Jt:var q=Nu;case mr:var Y=y&w;if(q||(q=Eo),o.size!=u.size&&!Y)return!1;var Q=R.get(o);if(Q)return Q==u;y|=m,R.set(o,u);var et=z0(q(o),q(u),y,A,T,R);return R.delete(o),et;case $:if(cs)return cs.call(o)==cs.call(u)}return!1}function nE(o,u,_,y,A,T){var R=_&w,q=tl(o),Y=q.length,Q=tl(u),et=Q.length;if(Y!=et&&!R)return!1;for(var ot=Y;ot--;){var dt=q[ot];if(!(R?dt in u:ae.call(u,dt)))return!1}var wt=T.get(o),Ct=T.get(u);if(wt&&Ct)return wt==u&&Ct==o;var Rt=!0;T.set(o,u),T.set(u,o);for(var Ft=R;++ot<Y;){dt=q[ot];var kt=o[dt],Yt=u[dt];if(y)var Er=R?y(Yt,kt,dt,u,o,T):y(kt,Yt,dt,o,u,T);if(!(Er===e?kt===Yt||A(kt,Yt,_,y,T):Er)){Rt=!1;break}Ft||(Ft=dt=="constructor")}if(Rt&&!Ft){var nr=o.constructor,xr=u.constructor;nr!=xr&&"constructor"in o&&"constructor"in u&&!(typeof nr=="function"&&nr instanceof nr&&typeof xr=="function"&&xr instanceof xr)&&(Rt=!1)}return T.delete(o),T.delete(u),Rt}function vn(o){return ul(Y0(o,e,tp),o+"")}function tl(o){return s0(o,ke,il)}function el(o){return s0(o,cr,q0)}var rl=$o?function(o){return $o.get(o)}:Dl;function Ko(o){for(var u=o.name+"",_=Ri[u],y=ae.call(Ri,u)?_.length:0;y--;){var A=_[y],T=A.func;if(T==null||T==o)return A.name}return u}function ki(o){var u=ae.call(B,"placeholder")?B:o;return u.placeholder}function At(){var o=B.iteratee||wl;return o=o===wl?u0:o,arguments.length?o(arguments[0],arguments[1]):o}function Ho(o,u){var _=o.__data__;return fE(u)?_[typeof u=="string"?"string":"hash"]:_.map}function nl(o){for(var u=ke(o),_=u.length;_--;){var y=u[_],A=o[y];u[_]=[y,A,W0(A)]}return u}function ui(o,u){var _=dD(o,u);return a0(_)?_:e}function iE(o){var u=ae.call(o,ni),_=o[ni];try{o[ni]=e;var y=!0}catch{}var A=Fo.call(o);return y&&(u?o[ni]=_:delete o[ni]),A}var il=Bu?function(o){return o==null?[]:(o=fe(o),$n(Bu(o),function(u){return Vh.call(o,u)}))}:bl,q0=Bu?function(o){for(var u=[];o;)Ln(u,il(o)),o=So(o);return u}:bl,Xe=er;(Ou&&Xe(new Ou(new ArrayBuffer(1)))!=rt||as&&Xe(new as)!=Jt||Tu&&Xe(Tu.resolve())!=hn||Li&&Xe(new Li)!=mr||us&&Xe(new us)!=K)&&(Xe=function(o){var u=er(o),_=u==Le?o.constructor:e,y=_?li(_):"";if(y)switch(y){case qD:return rt;case kD:return Jt;case UD:return hn;case WD:return mr;case jD:return K}return u});function sE(o,u,_){for(var y=-1,A=_.length;++y<A;){var T=_[y],R=T.size;switch(T.type){case"drop":o+=R;break;case"dropRight":u-=R;break;case"take":u=Je(u,o+R);break;case"takeRight":o=ze(o,u-R);break}}return{start:o,end:u}}function oE(o){var u=o.match(eu);return u?u[1].split(ru):[]}function k0(o,u,_){u=kn(u,o);for(var y=-1,A=u.length,T=!1;++y<A;){var R=nn(u[y]);if(!(T=o!=null&&_(o,R)))break;o=o[R]}return T||++y!=A?T:(A=o==null?0:o.length,!!A&&na(A)&&wn(R,A)&&(It(o)||ci(o)))}function aE(o){var u=o.length,_=new o.constructor(u);return u&&typeof o[0]=="string"&&ae.call(o,"index")&&(_.index=o.index,_.input=o.input),_}function U0(o){return typeof o.constructor=="function"&&!gs(o)?Pi(So(o)):{}}function uE(o,u,_){var y=o.constructor;switch(u){case st:return Ju(o);case oe:case Tt:return new y(+o);case rt:return Yb(o,_);case ft:case ut:case ht:case at:case Xt:case ne:case ye:case qe:case Re:return x0(o,_);case Jt:return new y;case Te:case On:return new y(o);case pn:return Vb(o);case mr:return new y;case $:return Zb(o)}}function lE(o,u){var _=u.length;if(!_)return o;var y=_-1;return u[y]=(_>1?"& ":"")+u[y],u=u.join(_>2?", ":" "),o.replace(tu,`{
8
+ */jn.exports,function(i,t){(function(){var e,r="4.17.21",n=200,s="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",a="Expected a function",l="Invalid `variable` option passed into `_.template`",c="__lodash_hash_undefined__",h=500,p="__lodash_placeholder__",f=1,d=2,g=4,y=1,m=2,D=1,v=2,E=4,b=8,N=16,x=32,F=64,M=128,S=256,I=512,C=30,O="...",L=800,U=16,k=1,W=2,P=3,G=1/0,Z=9007199254740991,X=17976931348623157e292,tt=NaN,ct=4294967295,vt=ct-1,lt=ct>>>1,wt=[["ary",M],["bind",D],["bindKey",v],["curry",b],["curryRight",N],["flip",I],["partial",x],["partialRight",F],["rearg",S]],bt="[object Arguments]",Bt="[object Array]",Et="[object AsyncFunction]",oe="[object Boolean]",Tt="[object Date]",Nt="[object DOMException]",ue="[object Error]",re="[object Function]",qt="[object GeneratorFunction]",Jt="[object Map]",Te="[object Number]",_r="[object Null]",Le="[object Object]",hn="[object Promise]",Bn="[object Proxy]",pn="[object RegExp]",mr="[object Set]",On="[object String]",$="[object Symbol]",V="[object Undefined]",K="[object WeakMap]",nt="[object WeakSet]",st="[object ArrayBuffer]",rt="[object DataView]",ft="[object Float32Array]",ut="[object Float64Array]",ht="[object Int8Array]",at="[object Int16Array]",Xt="[object Int32Array]",ne="[object Uint8Array]",we="[object Uint8ClampedArray]",qe="[object Uint16Array]",Re="[object Uint32Array]",gr=/\b__p \+= '';/g,vr=/\b(__p \+=) '' \+/g,Tn=/(__e\(.*?\)|\b__t\)) \+\n'';/g,ti=/&(?:amp|lt|gt|quot|#39);/g,mo=/[&<>"']/g,Ya=RegExp(ti.source),Va=RegExp(mo.source),Za=/<%-([\s\S]+?)%>/g,Ga=/<%([\s\S]+?)%>/g,go=/<%=([\s\S]+?)%>/g,Ka=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Ha=/^\w*$/,Ja=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ns=/[\\^$.*+?()[\]{}|]/g,Xa=RegExp(ns.source),is=/^\s+/,Qa=/\s/,tu=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,eu=/\{\n\/\* \[wrapped with (.+)\] \*/,ru=/,? & /,nu=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,iu=/[()=,{}\[\]\/\s]/,su=/\\(\\)?/g,ou=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,vo=/\w*$/,au=/^[-+]0x[0-9a-f]+$/i,uu=/^0b[01]+$/i,lu=/^\[object .+?Constructor\]$/,cu=/^0o[0-7]+$/i,fu=/^(?:0|[1-9]\d*)$/,hu=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Mi=/($^)/,ei=/['\n\r\u2028\u2029\\]/g,Zt="\\ud800-\\udfff",He="\\u0300-\\u036f",pu="\\ufe20-\\ufe2f",Ni="\\u20d0-\\u20ff",In=He+pu+Ni,yo="\\u2700-\\u27bf",lh="a-z\\xdf-\\xf6\\xf8-\\xff",Mw="\\xac\\xb1\\xd7\\xf7",Nw="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Sw="\\u2000-\\u206f",Bw=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",ch="A-Z\\xc0-\\xd6\\xd8-\\xde",fh="\\ufe0e\\ufe0f",hh=Mw+Nw+Sw+Bw,du="['’]",Ow="["+Zt+"]",ph="["+hh+"]",wo="["+In+"]",dh="\\d+",Tw="["+yo+"]",_h="["+lh+"]",mh="[^"+Zt+hh+dh+yo+lh+ch+"]",_u="\\ud83c[\\udffb-\\udfff]",Iw="(?:"+wo+"|"+_u+")",gh="[^"+Zt+"]",mu="(?:\\ud83c[\\udde6-\\uddff]){2}",gu="[\\ud800-\\udbff][\\udc00-\\udfff]",Si="["+ch+"]",vh="\\u200d",yh="(?:"+_h+"|"+mh+")",$w="(?:"+Si+"|"+mh+")",wh="(?:"+du+"(?:d|ll|m|re|s|t|ve))?",Dh="(?:"+du+"(?:D|LL|M|RE|S|T|VE))?",bh=Iw+"?",Eh="["+fh+"]?",Lw="(?:"+vh+"(?:"+[gh,mu,gu].join("|")+")"+Eh+bh+")*",Rw="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Pw="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",xh=Eh+bh+Lw,zw="(?:"+[Tw,mu,gu].join("|")+")"+xh,qw="(?:"+[gh+wo+"?",wo,mu,gu,Ow].join("|")+")",kw=RegExp(du,"g"),Uw=RegExp(wo,"g"),vu=RegExp(_u+"(?="+_u+")|"+qw+xh,"g"),Ww=RegExp([Si+"?"+_h+"+"+wh+"(?="+[ph,Si,"$"].join("|")+")",$w+"+"+Dh+"(?="+[ph,Si+yh,"$"].join("|")+")",Si+"?"+yh+"+"+wh,Si+"+"+Dh,Pw,Rw,dh,zw].join("|"),"g"),jw=RegExp("["+vh+Zt+In+fh+"]"),Yw=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Vw=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Zw=-1,ge={};ge[ft]=ge[ut]=ge[ht]=ge[at]=ge[Xt]=ge[ne]=ge[we]=ge[qe]=ge[Re]=!0,ge[bt]=ge[Bt]=ge[st]=ge[oe]=ge[rt]=ge[Tt]=ge[ue]=ge[re]=ge[Jt]=ge[Te]=ge[Le]=ge[pn]=ge[mr]=ge[On]=ge[K]=!1;var pe={};pe[bt]=pe[Bt]=pe[st]=pe[rt]=pe[oe]=pe[Tt]=pe[ft]=pe[ut]=pe[ht]=pe[at]=pe[Xt]=pe[Jt]=pe[Te]=pe[Le]=pe[pn]=pe[mr]=pe[On]=pe[$]=pe[ne]=pe[we]=pe[qe]=pe[Re]=!0,pe[ue]=pe[re]=pe[K]=!1;var Gw={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},Kw={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},Hw={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"},Jw={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Xw=parseFloat,Qw=parseInt,Ah=typeof Vt=="object"&&Vt&&Vt.Object===Object&&Vt,tD=typeof self=="object"&&self&&self.Object===Object&&self,Ve=Ah||tD||Function("return this")(),yu=t&&!t.nodeType&&t,ri=yu&&!0&&i&&!i.nodeType&&i,Ch=ri&&ri.exports===yu,wu=Ch&&Ah.process,Sr=function(){try{var j=ri&&ri.require&&ri.require("util").types;return j||wu&&wu.binding&&wu.binding("util")}catch{}}(),Fh=Sr&&Sr.isArrayBuffer,Mh=Sr&&Sr.isDate,Nh=Sr&&Sr.isMap,Sh=Sr&&Sr.isRegExp,Bh=Sr&&Sr.isSet,Oh=Sr&&Sr.isTypedArray;function yr(j,J,H){switch(H.length){case 0:return j.call(J);case 1:return j.call(J,H[0]);case 2:return j.call(J,H[0],H[1]);case 3:return j.call(J,H[0],H[1],H[2])}return j.apply(J,H)}function eD(j,J,H,gt){for(var Ot=-1,te=j==null?0:j.length;++Ot<te;){var Pe=j[Ot];J(gt,Pe,H(Pe),j)}return gt}function Br(j,J){for(var H=-1,gt=j==null?0:j.length;++H<gt&&J(j[H],H,j)!==!1;);return j}function rD(j,J){for(var H=j==null?0:j.length;H--&&J(j[H],H,j)!==!1;);return j}function Th(j,J){for(var H=-1,gt=j==null?0:j.length;++H<gt;)if(!J(j[H],H,j))return!1;return!0}function $n(j,J){for(var H=-1,gt=j==null?0:j.length,Ot=0,te=[];++H<gt;){var Pe=j[H];J(Pe,H,j)&&(te[Ot++]=Pe)}return te}function Do(j,J){var H=j==null?0:j.length;return!!H&&Bi(j,J,0)>-1}function Du(j,J,H){for(var gt=-1,Ot=j==null?0:j.length;++gt<Ot;)if(H(J,j[gt]))return!0;return!1}function De(j,J){for(var H=-1,gt=j==null?0:j.length,Ot=Array(gt);++H<gt;)Ot[H]=J(j[H],H,j);return Ot}function Ln(j,J){for(var H=-1,gt=J.length,Ot=j.length;++H<gt;)j[Ot+H]=J[H];return j}function bu(j,J,H,gt){var Ot=-1,te=j==null?0:j.length;for(gt&&te&&(H=j[++Ot]);++Ot<te;)H=J(H,j[Ot],Ot,j);return H}function nD(j,J,H,gt){var Ot=j==null?0:j.length;for(gt&&Ot&&(H=j[--Ot]);Ot--;)H=J(H,j[Ot],Ot,j);return H}function Eu(j,J){for(var H=-1,gt=j==null?0:j.length;++H<gt;)if(J(j[H],H,j))return!0;return!1}var iD=xu("length");function sD(j){return j.split("")}function oD(j){return j.match(nu)||[]}function Ih(j,J,H){var gt;return H(j,function(Ot,te,Pe){if(J(Ot,te,Pe))return gt=te,!1}),gt}function bo(j,J,H,gt){for(var Ot=j.length,te=H+(gt?1:-1);gt?te--:++te<Ot;)if(J(j[te],te,j))return te;return-1}function Bi(j,J,H){return J===J?vD(j,J,H):bo(j,$h,H)}function aD(j,J,H,gt){for(var Ot=H-1,te=j.length;++Ot<te;)if(gt(j[Ot],J))return Ot;return-1}function $h(j){return j!==j}function Lh(j,J){var H=j==null?0:j.length;return H?Cu(j,J)/H:tt}function xu(j){return function(J){return J==null?e:J[j]}}function Au(j){return function(J){return j==null?e:j[J]}}function Rh(j,J,H,gt,Ot){return Ot(j,function(te,Pe,fe){H=gt?(gt=!1,te):J(H,te,Pe,fe)}),H}function uD(j,J){var H=j.length;for(j.sort(J);H--;)j[H]=j[H].value;return j}function Cu(j,J){for(var H,gt=-1,Ot=j.length;++gt<Ot;){var te=J(j[gt]);te!==e&&(H=H===e?te:H+te)}return H}function Fu(j,J){for(var H=-1,gt=Array(j);++H<j;)gt[H]=J(H);return gt}function lD(j,J){return De(J,function(H){return[H,j[H]]})}function Ph(j){return j&&j.slice(0,Uh(j)+1).replace(is,"")}function wr(j){return function(J){return j(J)}}function Mu(j,J){return De(J,function(H){return j[H]})}function ss(j,J){return j.has(J)}function zh(j,J){for(var H=-1,gt=j.length;++H<gt&&Bi(J,j[H],0)>-1;);return H}function qh(j,J){for(var H=j.length;H--&&Bi(J,j[H],0)>-1;);return H}function cD(j,J){for(var H=j.length,gt=0;H--;)j[H]===J&&++gt;return gt}var fD=Au(Gw),hD=Au(Kw);function pD(j){return"\\"+Jw[j]}function dD(j,J){return j==null?e:j[J]}function Oi(j){return jw.test(j)}function _D(j){return Yw.test(j)}function mD(j){for(var J,H=[];!(J=j.next()).done;)H.push(J.value);return H}function Nu(j){var J=-1,H=Array(j.size);return j.forEach(function(gt,Ot){H[++J]=[Ot,gt]}),H}function kh(j,J){return function(H){return j(J(H))}}function Rn(j,J){for(var H=-1,gt=j.length,Ot=0,te=[];++H<gt;){var Pe=j[H];(Pe===J||Pe===p)&&(j[H]=p,te[Ot++]=H)}return te}function Eo(j){var J=-1,H=Array(j.size);return j.forEach(function(gt){H[++J]=gt}),H}function gD(j){var J=-1,H=Array(j.size);return j.forEach(function(gt){H[++J]=[gt,gt]}),H}function vD(j,J,H){for(var gt=H-1,Ot=j.length;++gt<Ot;)if(j[gt]===J)return gt;return-1}function yD(j,J,H){for(var gt=H+1;gt--;)if(j[gt]===J)return gt;return gt}function Ti(j){return Oi(j)?DD(j):iD(j)}function Vr(j){return Oi(j)?bD(j):sD(j)}function Uh(j){for(var J=j.length;J--&&Qa.test(j.charAt(J)););return J}var wD=Au(Hw);function DD(j){for(var J=vu.lastIndex=0;vu.test(j);)++J;return J}function bD(j){return j.match(vu)||[]}function ED(j){return j.match(Ww)||[]}var xD=function j(J){J=J==null?Ve:Ii.defaults(Ve.Object(),J,Ii.pick(Ve,Vw));var H=J.Array,gt=J.Date,Ot=J.Error,te=J.Function,Pe=J.Math,fe=J.Object,Su=J.RegExp,AD=J.String,Or=J.TypeError,xo=H.prototype,CD=te.prototype,$i=fe.prototype,Ao=J["__core-js_shared__"],Co=CD.toString,ae=$i.hasOwnProperty,FD=0,Wh=function(){var o=/[^.]+$/.exec(Ao&&Ao.keys&&Ao.keys.IE_PROTO||"");return o?"Symbol(src)_1."+o:""}(),Fo=$i.toString,MD=Co.call(fe),ND=Ve._,SD=Su("^"+Co.call(ae).replace(ns,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Mo=Ch?J.Buffer:e,Pn=J.Symbol,No=J.Uint8Array,jh=Mo?Mo.allocUnsafe:e,So=kh(fe.getPrototypeOf,fe),Yh=fe.create,Vh=$i.propertyIsEnumerable,Bo=xo.splice,Zh=Pn?Pn.isConcatSpreadable:e,os=Pn?Pn.iterator:e,ni=Pn?Pn.toStringTag:e,Oo=function(){try{var o=ui(fe,"defineProperty");return o({},"",{}),o}catch{}}(),BD=J.clearTimeout!==Ve.clearTimeout&&J.clearTimeout,OD=gt&&gt.now!==Ve.Date.now&&gt.now,TD=J.setTimeout!==Ve.setTimeout&&J.setTimeout,To=Pe.ceil,Io=Pe.floor,Bu=fe.getOwnPropertySymbols,ID=Mo?Mo.isBuffer:e,Gh=J.isFinite,$D=xo.join,LD=kh(fe.keys,fe),ze=Pe.max,Je=Pe.min,RD=gt.now,PD=J.parseInt,Kh=Pe.random,zD=xo.reverse,Ou=ui(J,"DataView"),as=ui(J,"Map"),Tu=ui(J,"Promise"),Li=ui(J,"Set"),us=ui(J,"WeakMap"),ls=ui(fe,"create"),$o=us&&new us,Ri={},qD=li(Ou),kD=li(as),UD=li(Tu),WD=li(Li),jD=li(us),Lo=Pn?Pn.prototype:e,cs=Lo?Lo.valueOf:e,Hh=Lo?Lo.toString:e;function B(o){if(Ae(o)&&!It(o)&&!(o instanceof Wt)){if(o instanceof Tr)return o;if(ae.call(o,"__wrapped__"))return J0(o)}return new Tr(o)}var Pi=function(){function o(){}return function(u){if(!xe(u))return{};if(Yh)return Yh(u);o.prototype=u;var _=new o;return o.prototype=e,_}}();function Ro(){}function Tr(o,u){this.__wrapped__=o,this.__actions__=[],this.__chain__=!!u,this.__index__=0,this.__values__=e}B.templateSettings={escape:Za,evaluate:Ga,interpolate:go,variable:"",imports:{_:B}},B.prototype=Ro.prototype,B.prototype.constructor=B,Tr.prototype=Pi(Ro.prototype),Tr.prototype.constructor=Tr;function Wt(o){this.__wrapped__=o,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=ct,this.__views__=[]}function YD(){var o=new Wt(this.__wrapped__);return o.__actions__=ur(this.__actions__),o.__dir__=this.__dir__,o.__filtered__=this.__filtered__,o.__iteratees__=ur(this.__iteratees__),o.__takeCount__=this.__takeCount__,o.__views__=ur(this.__views__),o}function VD(){if(this.__filtered__){var o=new Wt(this);o.__dir__=-1,o.__filtered__=!0}else o=this.clone(),o.__dir__*=-1;return o}function ZD(){var o=this.__wrapped__.value(),u=this.__dir__,_=It(o),w=u<0,A=_?o.length:0,T=sE(0,A,this.__views__),R=T.start,q=T.end,Y=q-R,Q=w?q:R-1,et=this.__iteratees__,ot=et.length,dt=0,yt=Je(Y,this.__takeCount__);if(!_||!w&&A==Y&&yt==Y)return w0(o,this.__actions__);var Ct=[];t:for(;Y--&&dt<yt;){Q+=u;for(var Rt=-1,Ft=o[Q];++Rt<ot;){var kt=et[Rt],Yt=kt.iteratee,Er=kt.type,nr=Yt(Ft);if(Er==W)Ft=nr;else if(!nr){if(Er==k)continue t;break t}}Ct[dt++]=Ft}return Ct}Wt.prototype=Pi(Ro.prototype),Wt.prototype.constructor=Wt;function ii(o){var u=-1,_=o==null?0:o.length;for(this.clear();++u<_;){var w=o[u];this.set(w[0],w[1])}}function GD(){this.__data__=ls?ls(null):{},this.size=0}function KD(o){var u=this.has(o)&&delete this.__data__[o];return this.size-=u?1:0,u}function HD(o){var u=this.__data__;if(ls){var _=u[o];return _===c?e:_}return ae.call(u,o)?u[o]:e}function JD(o){var u=this.__data__;return ls?u[o]!==e:ae.call(u,o)}function XD(o,u){var _=this.__data__;return this.size+=this.has(o)?0:1,_[o]=ls&&u===e?c:u,this}ii.prototype.clear=GD,ii.prototype.delete=KD,ii.prototype.get=HD,ii.prototype.has=JD,ii.prototype.set=XD;function dn(o){var u=-1,_=o==null?0:o.length;for(this.clear();++u<_;){var w=o[u];this.set(w[0],w[1])}}function QD(){this.__data__=[],this.size=0}function tb(o){var u=this.__data__,_=Po(u,o);if(_<0)return!1;var w=u.length-1;return _==w?u.pop():Bo.call(u,_,1),--this.size,!0}function eb(o){var u=this.__data__,_=Po(u,o);return _<0?e:u[_][1]}function rb(o){return Po(this.__data__,o)>-1}function nb(o,u){var _=this.__data__,w=Po(_,o);return w<0?(++this.size,_.push([o,u])):_[w][1]=u,this}dn.prototype.clear=QD,dn.prototype.delete=tb,dn.prototype.get=eb,dn.prototype.has=rb,dn.prototype.set=nb;function _n(o){var u=-1,_=o==null?0:o.length;for(this.clear();++u<_;){var w=o[u];this.set(w[0],w[1])}}function ib(){this.size=0,this.__data__={hash:new ii,map:new(as||dn),string:new ii}}function sb(o){var u=Ho(this,o).delete(o);return this.size-=u?1:0,u}function ob(o){return Ho(this,o).get(o)}function ab(o){return Ho(this,o).has(o)}function ub(o,u){var _=Ho(this,o),w=_.size;return _.set(o,u),this.size+=_.size==w?0:1,this}_n.prototype.clear=ib,_n.prototype.delete=sb,_n.prototype.get=ob,_n.prototype.has=ab,_n.prototype.set=ub;function si(o){var u=-1,_=o==null?0:o.length;for(this.__data__=new _n;++u<_;)this.add(o[u])}function lb(o){return this.__data__.set(o,c),this}function cb(o){return this.__data__.has(o)}si.prototype.add=si.prototype.push=lb,si.prototype.has=cb;function Zr(o){var u=this.__data__=new dn(o);this.size=u.size}function fb(){this.__data__=new dn,this.size=0}function hb(o){var u=this.__data__,_=u.delete(o);return this.size=u.size,_}function pb(o){return this.__data__.get(o)}function db(o){return this.__data__.has(o)}function _b(o,u){var _=this.__data__;if(_ instanceof dn){var w=_.__data__;if(!as||w.length<n-1)return w.push([o,u]),this.size=++_.size,this;_=this.__data__=new _n(w)}return _.set(o,u),this.size=_.size,this}Zr.prototype.clear=fb,Zr.prototype.delete=hb,Zr.prototype.get=pb,Zr.prototype.has=db,Zr.prototype.set=_b;function Jh(o,u){var _=It(o),w=!_&&ci(o),A=!_&&!w&&Wn(o),T=!_&&!w&&!A&&Ui(o),R=_||w||A||T,q=R?Fu(o.length,AD):[],Y=q.length;for(var Q in o)(u||ae.call(o,Q))&&!(R&&(Q=="length"||A&&(Q=="offset"||Q=="parent")||T&&(Q=="buffer"||Q=="byteLength"||Q=="byteOffset")||yn(Q,Y)))&&q.push(Q);return q}function Xh(o){var u=o.length;return u?o[ju(0,u-1)]:e}function mb(o,u){return Jo(ur(o),oi(u,0,o.length))}function gb(o){return Jo(ur(o))}function Iu(o,u,_){(_!==e&&!Gr(o[u],_)||_===e&&!(u in o))&&mn(o,u,_)}function fs(o,u,_){var w=o[u];(!(ae.call(o,u)&&Gr(w,_))||_===e&&!(u in o))&&mn(o,u,_)}function Po(o,u){for(var _=o.length;_--;)if(Gr(o[_][0],u))return _;return-1}function vb(o,u,_,w){return zn(o,function(A,T,R){u(w,A,_(A),R)}),w}function Qh(o,u){return o&&rn(u,ke(u),o)}function yb(o,u){return o&&rn(u,cr(u),o)}function mn(o,u,_){u=="__proto__"&&Oo?Oo(o,u,{configurable:!0,enumerable:!0,value:_,writable:!0}):o[u]=_}function $u(o,u){for(var _=-1,w=u.length,A=H(w),T=o==null;++_<w;)A[_]=T?e:_l(o,u[_]);return A}function oi(o,u,_){return o===o&&(_!==e&&(o=o<=_?o:_),u!==e&&(o=o>=u?o:u)),o}function Ir(o,u,_,w,A,T){var R,q=u&f,Y=u&d,Q=u&g;if(_&&(R=A?_(o,w,A,T):_(o)),R!==e)return R;if(!xe(o))return o;var et=It(o);if(et){if(R=aE(o),!q)return ur(o,R)}else{var ot=Xe(o),dt=ot==re||ot==qt;if(Wn(o))return E0(o,q);if(ot==Le||ot==bt||dt&&!A){if(R=Y||dt?{}:U0(o),!q)return Y?Hb(o,yb(R,o)):Kb(o,Qh(R,o))}else{if(!pe[ot])return A?o:{};R=uE(o,ot,q)}}T||(T=new Zr);var yt=T.get(o);if(yt)return yt;T.set(o,R),gp(o)?o.forEach(function(Ft){R.add(Ir(Ft,u,_,Ft,o,T))}):_p(o)&&o.forEach(function(Ft,kt){R.set(kt,Ir(Ft,u,_,kt,o,T))});var Ct=Q?Y?el:tl:Y?cr:ke,Rt=et?e:Ct(o);return Br(Rt||o,function(Ft,kt){Rt&&(kt=Ft,Ft=o[kt]),fs(R,kt,Ir(Ft,u,_,kt,o,T))}),R}function wb(o){var u=ke(o);return function(_){return t0(_,o,u)}}function t0(o,u,_){var w=_.length;if(o==null)return!w;for(o=fe(o);w--;){var A=_[w],T=u[A],R=o[A];if(R===e&&!(A in o)||!T(R))return!1}return!0}function e0(o,u,_){if(typeof o!="function")throw new Or(a);return vs(function(){o.apply(e,_)},u)}function hs(o,u,_,w){var A=-1,T=Do,R=!0,q=o.length,Y=[],Q=u.length;if(!q)return Y;_&&(u=De(u,wr(_))),w?(T=Du,R=!1):u.length>=n&&(T=ss,R=!1,u=new si(u));t:for(;++A<q;){var et=o[A],ot=_==null?et:_(et);if(et=w||et!==0?et:0,R&&ot===ot){for(var dt=Q;dt--;)if(u[dt]===ot)continue t;Y.push(et)}else T(u,ot,w)||Y.push(et)}return Y}var zn=M0(en),r0=M0(Ru,!0);function Db(o,u){var _=!0;return zn(o,function(w,A,T){return _=!!u(w,A,T),_}),_}function zo(o,u,_){for(var w=-1,A=o.length;++w<A;){var T=o[w],R=u(T);if(R!=null&&(q===e?R===R&&!br(R):_(R,q)))var q=R,Y=T}return Y}function bb(o,u,_,w){var A=o.length;for(_=Lt(_),_<0&&(_=-_>A?0:A+_),w=w===e||w>A?A:Lt(w),w<0&&(w+=A),w=_>w?0:yp(w);_<w;)o[_++]=u;return o}function n0(o,u){var _=[];return zn(o,function(w,A,T){u(w,A,T)&&_.push(w)}),_}function Ze(o,u,_,w,A){var T=-1,R=o.length;for(_||(_=cE),A||(A=[]);++T<R;){var q=o[T];u>0&&_(q)?u>1?Ze(q,u-1,_,w,A):Ln(A,q):w||(A[A.length]=q)}return A}var Lu=N0(),i0=N0(!0);function en(o,u){return o&&Lu(o,u,ke)}function Ru(o,u){return o&&i0(o,u,ke)}function qo(o,u){return $n(u,function(_){return wn(o[_])})}function ai(o,u){u=kn(u,o);for(var _=0,w=u.length;o!=null&&_<w;)o=o[nn(u[_++])];return _&&_==w?o:e}function s0(o,u,_){var w=u(o);return It(o)?w:Ln(w,_(o))}function er(o){return o==null?o===e?V:_r:ni&&ni in fe(o)?iE(o):gE(o)}function Pu(o,u){return o>u}function Eb(o,u){return o!=null&&ae.call(o,u)}function xb(o,u){return o!=null&&u in fe(o)}function Ab(o,u,_){return o>=Je(u,_)&&o<ze(u,_)}function zu(o,u,_){for(var w=_?Du:Do,A=o[0].length,T=o.length,R=T,q=H(T),Y=1/0,Q=[];R--;){var et=o[R];R&&u&&(et=De(et,wr(u))),Y=Je(et.length,Y),q[R]=!_&&(u||A>=120&&et.length>=120)?new si(R&&et):e}et=o[0];var ot=-1,dt=q[0];t:for(;++ot<A&&Q.length<Y;){var yt=et[ot],Ct=u?u(yt):yt;if(yt=_||yt!==0?yt:0,!(dt?ss(dt,Ct):w(Q,Ct,_))){for(R=T;--R;){var Rt=q[R];if(!(Rt?ss(Rt,Ct):w(o[R],Ct,_)))continue t}dt&&dt.push(Ct),Q.push(yt)}}return Q}function Cb(o,u,_,w){return en(o,function(A,T,R){u(w,_(A),T,R)}),w}function ps(o,u,_){u=kn(u,o),o=V0(o,u);var w=o==null?o:o[nn(Lr(u))];return w==null?e:yr(w,o,_)}function o0(o){return Ae(o)&&er(o)==bt}function Fb(o){return Ae(o)&&er(o)==st}function Mb(o){return Ae(o)&&er(o)==Tt}function ds(o,u,_,w,A){return o===u?!0:o==null||u==null||!Ae(o)&&!Ae(u)?o!==o&&u!==u:Nb(o,u,_,w,ds,A)}function Nb(o,u,_,w,A,T){var R=It(o),q=It(u),Y=R?Bt:Xe(o),Q=q?Bt:Xe(u);Y=Y==bt?Le:Y,Q=Q==bt?Le:Q;var et=Y==Le,ot=Q==Le,dt=Y==Q;if(dt&&Wn(o)){if(!Wn(u))return!1;R=!0,et=!1}if(dt&&!et)return T||(T=new Zr),R||Ui(o)?z0(o,u,_,w,A,T):rE(o,u,Y,_,w,A,T);if(!(_&y)){var yt=et&&ae.call(o,"__wrapped__"),Ct=ot&&ae.call(u,"__wrapped__");if(yt||Ct){var Rt=yt?o.value():o,Ft=Ct?u.value():u;return T||(T=new Zr),A(Rt,Ft,_,w,T)}}return dt?(T||(T=new Zr),nE(o,u,_,w,A,T)):!1}function Sb(o){return Ae(o)&&Xe(o)==Jt}function qu(o,u,_,w){var A=_.length,T=A,R=!w;if(o==null)return!T;for(o=fe(o);A--;){var q=_[A];if(R&&q[2]?q[1]!==o[q[0]]:!(q[0]in o))return!1}for(;++A<T;){q=_[A];var Y=q[0],Q=o[Y],et=q[1];if(R&&q[2]){if(Q===e&&!(Y in o))return!1}else{var ot=new Zr;if(w)var dt=w(Q,et,Y,o,u,ot);if(!(dt===e?ds(et,Q,y|m,w,ot):dt))return!1}}return!0}function a0(o){if(!xe(o)||hE(o))return!1;var u=wn(o)?SD:lu;return u.test(li(o))}function Bb(o){return Ae(o)&&er(o)==pn}function Ob(o){return Ae(o)&&Xe(o)==mr}function Tb(o){return Ae(o)&&na(o.length)&&!!ge[er(o)]}function u0(o){return typeof o=="function"?o:o==null?fr:typeof o=="object"?It(o)?f0(o[0],o[1]):c0(o):Sp(o)}function ku(o){if(!gs(o))return LD(o);var u=[];for(var _ in fe(o))ae.call(o,_)&&_!="constructor"&&u.push(_);return u}function Ib(o){if(!xe(o))return mE(o);var u=gs(o),_=[];for(var w in o)w=="constructor"&&(u||!ae.call(o,w))||_.push(w);return _}function Uu(o,u){return o<u}function l0(o,u){var _=-1,w=lr(o)?H(o.length):[];return zn(o,function(A,T,R){w[++_]=u(A,T,R)}),w}function c0(o){var u=nl(o);return u.length==1&&u[0][2]?j0(u[0][0],u[0][1]):function(_){return _===o||qu(_,o,u)}}function f0(o,u){return sl(o)&&W0(u)?j0(nn(o),u):function(_){var w=_l(_,o);return w===e&&w===u?ml(_,o):ds(u,w,y|m)}}function ko(o,u,_,w,A){o!==u&&Lu(u,function(T,R){if(A||(A=new Zr),xe(T))$b(o,u,R,_,ko,w,A);else{var q=w?w(al(o,R),T,R+"",o,u,A):e;q===e&&(q=T),Iu(o,R,q)}},cr)}function $b(o,u,_,w,A,T,R){var q=al(o,_),Y=al(u,_),Q=R.get(Y);if(Q){Iu(o,_,Q);return}var et=T?T(q,Y,_+"",o,u,R):e,ot=et===e;if(ot){var dt=It(Y),yt=!dt&&Wn(Y),Ct=!dt&&!yt&&Ui(Y);et=Y,dt||yt||Ct?It(q)?et=q:Me(q)?et=ur(q):yt?(ot=!1,et=E0(Y,!0)):Ct?(ot=!1,et=x0(Y,!0)):et=[]:ys(Y)||ci(Y)?(et=q,ci(q)?et=wp(q):(!xe(q)||wn(q))&&(et=U0(Y))):ot=!1}ot&&(R.set(Y,et),A(et,Y,w,T,R),R.delete(Y)),Iu(o,_,et)}function h0(o,u){var _=o.length;if(_)return u+=u<0?_:0,yn(u,_)?o[u]:e}function p0(o,u,_){u.length?u=De(u,function(T){return It(T)?function(R){return ai(R,T.length===1?T[0]:T)}:T}):u=[fr];var w=-1;u=De(u,wr(At()));var A=l0(o,function(T,R,q){var Y=De(u,function(Q){return Q(T)});return{criteria:Y,index:++w,value:T}});return uD(A,function(T,R){return Gb(T,R,_)})}function Lb(o,u){return d0(o,u,function(_,w){return ml(o,w)})}function d0(o,u,_){for(var w=-1,A=u.length,T={};++w<A;){var R=u[w],q=ai(o,R);_(q,R)&&_s(T,kn(R,o),q)}return T}function Rb(o){return function(u){return ai(u,o)}}function Wu(o,u,_,w){var A=w?aD:Bi,T=-1,R=u.length,q=o;for(o===u&&(u=ur(u)),_&&(q=De(o,wr(_)));++T<R;)for(var Y=0,Q=u[T],et=_?_(Q):Q;(Y=A(q,et,Y,w))>-1;)q!==o&&Bo.call(q,Y,1),Bo.call(o,Y,1);return o}function _0(o,u){for(var _=o?u.length:0,w=_-1;_--;){var A=u[_];if(_==w||A!==T){var T=A;yn(A)?Bo.call(o,A,1):Zu(o,A)}}return o}function ju(o,u){return o+Io(Kh()*(u-o+1))}function Pb(o,u,_,w){for(var A=-1,T=ze(To((u-o)/(_||1)),0),R=H(T);T--;)R[w?T:++A]=o,o+=_;return R}function Yu(o,u){var _="";if(!o||u<1||u>Z)return _;do u%2&&(_+=o),u=Io(u/2),u&&(o+=o);while(u);return _}function Pt(o,u){return ul(Y0(o,u,fr),o+"")}function zb(o){return Xh(Wi(o))}function qb(o,u){var _=Wi(o);return Jo(_,oi(u,0,_.length))}function _s(o,u,_,w){if(!xe(o))return o;u=kn(u,o);for(var A=-1,T=u.length,R=T-1,q=o;q!=null&&++A<T;){var Y=nn(u[A]),Q=_;if(Y==="__proto__"||Y==="constructor"||Y==="prototype")return o;if(A!=R){var et=q[Y];Q=w?w(et,Y,q):e,Q===e&&(Q=xe(et)?et:yn(u[A+1])?[]:{})}fs(q,Y,Q),q=q[Y]}return o}var m0=$o?function(o,u){return $o.set(o,u),o}:fr,kb=Oo?function(o,u){return Oo(o,"toString",{configurable:!0,enumerable:!1,value:vl(u),writable:!0})}:fr;function Ub(o){return Jo(Wi(o))}function $r(o,u,_){var w=-1,A=o.length;u<0&&(u=-u>A?0:A+u),_=_>A?A:_,_<0&&(_+=A),A=u>_?0:_-u>>>0,u>>>=0;for(var T=H(A);++w<A;)T[w]=o[w+u];return T}function Wb(o,u){var _;return zn(o,function(w,A,T){return _=u(w,A,T),!_}),!!_}function Uo(o,u,_){var w=0,A=o==null?w:o.length;if(typeof u=="number"&&u===u&&A<=lt){for(;w<A;){var T=w+A>>>1,R=o[T];R!==null&&!br(R)&&(_?R<=u:R<u)?w=T+1:A=T}return A}return Vu(o,u,fr,_)}function Vu(o,u,_,w){var A=0,T=o==null?0:o.length;if(T===0)return 0;u=_(u);for(var R=u!==u,q=u===null,Y=br(u),Q=u===e;A<T;){var et=Io((A+T)/2),ot=_(o[et]),dt=ot!==e,yt=ot===null,Ct=ot===ot,Rt=br(ot);if(R)var Ft=w||Ct;else Q?Ft=Ct&&(w||dt):q?Ft=Ct&&dt&&(w||!yt):Y?Ft=Ct&&dt&&!yt&&(w||!Rt):yt||Rt?Ft=!1:Ft=w?ot<=u:ot<u;Ft?A=et+1:T=et}return Je(T,vt)}function g0(o,u){for(var _=-1,w=o.length,A=0,T=[];++_<w;){var R=o[_],q=u?u(R):R;if(!_||!Gr(q,Y)){var Y=q;T[A++]=R===0?0:R}}return T}function v0(o){return typeof o=="number"?o:br(o)?tt:+o}function Dr(o){if(typeof o=="string")return o;if(It(o))return De(o,Dr)+"";if(br(o))return Hh?Hh.call(o):"";var u=o+"";return u=="0"&&1/o==-G?"-0":u}function qn(o,u,_){var w=-1,A=Do,T=o.length,R=!0,q=[],Y=q;if(_)R=!1,A=Du;else if(T>=n){var Q=u?null:tE(o);if(Q)return Eo(Q);R=!1,A=ss,Y=new si}else Y=u?[]:q;t:for(;++w<T;){var et=o[w],ot=u?u(et):et;if(et=_||et!==0?et:0,R&&ot===ot){for(var dt=Y.length;dt--;)if(Y[dt]===ot)continue t;u&&Y.push(ot),q.push(et)}else A(Y,ot,_)||(Y!==q&&Y.push(ot),q.push(et))}return q}function Zu(o,u){return u=kn(u,o),o=V0(o,u),o==null||delete o[nn(Lr(u))]}function y0(o,u,_,w){return _s(o,u,_(ai(o,u)),w)}function Wo(o,u,_,w){for(var A=o.length,T=w?A:-1;(w?T--:++T<A)&&u(o[T],T,o););return _?$r(o,w?0:T,w?T+1:A):$r(o,w?T+1:0,w?A:T)}function w0(o,u){var _=o;return _ instanceof Wt&&(_=_.value()),bu(u,function(w,A){return A.func.apply(A.thisArg,Ln([w],A.args))},_)}function Gu(o,u,_){var w=o.length;if(w<2)return w?qn(o[0]):[];for(var A=-1,T=H(w);++A<w;)for(var R=o[A],q=-1;++q<w;)q!=A&&(T[A]=hs(T[A]||R,o[q],u,_));return qn(Ze(T,1),u,_)}function D0(o,u,_){for(var w=-1,A=o.length,T=u.length,R={};++w<A;){var q=w<T?u[w]:e;_(R,o[w],q)}return R}function Ku(o){return Me(o)?o:[]}function Hu(o){return typeof o=="function"?o:fr}function kn(o,u){return It(o)?o:sl(o,u)?[o]:H0(ie(o))}var jb=Pt;function Un(o,u,_){var w=o.length;return _=_===e?w:_,!u&&_>=w?o:$r(o,u,_)}var b0=BD||function(o){return Ve.clearTimeout(o)};function E0(o,u){if(u)return o.slice();var _=o.length,w=jh?jh(_):new o.constructor(_);return o.copy(w),w}function Ju(o){var u=new o.constructor(o.byteLength);return new No(u).set(new No(o)),u}function Yb(o,u){var _=u?Ju(o.buffer):o.buffer;return new o.constructor(_,o.byteOffset,o.byteLength)}function Vb(o){var u=new o.constructor(o.source,vo.exec(o));return u.lastIndex=o.lastIndex,u}function Zb(o){return cs?fe(cs.call(o)):{}}function x0(o,u){var _=u?Ju(o.buffer):o.buffer;return new o.constructor(_,o.byteOffset,o.length)}function A0(o,u){if(o!==u){var _=o!==e,w=o===null,A=o===o,T=br(o),R=u!==e,q=u===null,Y=u===u,Q=br(u);if(!q&&!Q&&!T&&o>u||T&&R&&Y&&!q&&!Q||w&&R&&Y||!_&&Y||!A)return 1;if(!w&&!T&&!Q&&o<u||Q&&_&&A&&!w&&!T||q&&_&&A||!R&&A||!Y)return-1}return 0}function Gb(o,u,_){for(var w=-1,A=o.criteria,T=u.criteria,R=A.length,q=_.length;++w<R;){var Y=A0(A[w],T[w]);if(Y){if(w>=q)return Y;var Q=_[w];return Y*(Q=="desc"?-1:1)}}return o.index-u.index}function C0(o,u,_,w){for(var A=-1,T=o.length,R=_.length,q=-1,Y=u.length,Q=ze(T-R,0),et=H(Y+Q),ot=!w;++q<Y;)et[q]=u[q];for(;++A<R;)(ot||A<T)&&(et[_[A]]=o[A]);for(;Q--;)et[q++]=o[A++];return et}function F0(o,u,_,w){for(var A=-1,T=o.length,R=-1,q=_.length,Y=-1,Q=u.length,et=ze(T-q,0),ot=H(et+Q),dt=!w;++A<et;)ot[A]=o[A];for(var yt=A;++Y<Q;)ot[yt+Y]=u[Y];for(;++R<q;)(dt||A<T)&&(ot[yt+_[R]]=o[A++]);return ot}function ur(o,u){var _=-1,w=o.length;for(u||(u=H(w));++_<w;)u[_]=o[_];return u}function rn(o,u,_,w){var A=!_;_||(_={});for(var T=-1,R=u.length;++T<R;){var q=u[T],Y=w?w(_[q],o[q],q,_,o):e;Y===e&&(Y=o[q]),A?mn(_,q,Y):fs(_,q,Y)}return _}function Kb(o,u){return rn(o,il(o),u)}function Hb(o,u){return rn(o,q0(o),u)}function jo(o,u){return function(_,w){var A=It(_)?eD:vb,T=u?u():{};return A(_,o,At(w,2),T)}}function zi(o){return Pt(function(u,_){var w=-1,A=_.length,T=A>1?_[A-1]:e,R=A>2?_[2]:e;for(T=o.length>3&&typeof T=="function"?(A--,T):e,R&&rr(_[0],_[1],R)&&(T=A<3?e:T,A=1),u=fe(u);++w<A;){var q=_[w];q&&o(u,q,w,T)}return u})}function M0(o,u){return function(_,w){if(_==null)return _;if(!lr(_))return o(_,w);for(var A=_.length,T=u?A:-1,R=fe(_);(u?T--:++T<A)&&w(R[T],T,R)!==!1;);return _}}function N0(o){return function(u,_,w){for(var A=-1,T=fe(u),R=w(u),q=R.length;q--;){var Y=R[o?q:++A];if(_(T[Y],Y,T)===!1)break}return u}}function Jb(o,u,_){var w=u&D,A=ms(o);function T(){var R=this&&this!==Ve&&this instanceof T?A:o;return R.apply(w?_:this,arguments)}return T}function S0(o){return function(u){u=ie(u);var _=Oi(u)?Vr(u):e,w=_?_[0]:u.charAt(0),A=_?Un(_,1).join(""):u.slice(1);return w[o]()+A}}function qi(o){return function(u){return bu(Mp(Fp(u).replace(kw,"")),o,"")}}function ms(o){return function(){var u=arguments;switch(u.length){case 0:return new o;case 1:return new o(u[0]);case 2:return new o(u[0],u[1]);case 3:return new o(u[0],u[1],u[2]);case 4:return new o(u[0],u[1],u[2],u[3]);case 5:return new o(u[0],u[1],u[2],u[3],u[4]);case 6:return new o(u[0],u[1],u[2],u[3],u[4],u[5]);case 7:return new o(u[0],u[1],u[2],u[3],u[4],u[5],u[6])}var _=Pi(o.prototype),w=o.apply(_,u);return xe(w)?w:_}}function Xb(o,u,_){var w=ms(o);function A(){for(var T=arguments.length,R=H(T),q=T,Y=ki(A);q--;)R[q]=arguments[q];var Q=T<3&&R[0]!==Y&&R[T-1]!==Y?[]:Rn(R,Y);if(T-=Q.length,T<_)return $0(o,u,Yo,A.placeholder,e,R,Q,e,e,_-T);var et=this&&this!==Ve&&this instanceof A?w:o;return yr(et,this,R)}return A}function B0(o){return function(u,_,w){var A=fe(u);if(!lr(u)){var T=At(_,3);u=ke(u),_=function(q){return T(A[q],q,A)}}var R=o(u,_,w);return R>-1?A[T?u[R]:R]:e}}function O0(o){return vn(function(u){var _=u.length,w=_,A=Tr.prototype.thru;for(o&&u.reverse();w--;){var T=u[w];if(typeof T!="function")throw new Or(a);if(A&&!R&&Ko(T)=="wrapper")var R=new Tr([],!0)}for(w=R?w:_;++w<_;){T=u[w];var q=Ko(T),Y=q=="wrapper"?rl(T):e;Y&&ol(Y[0])&&Y[1]==(M|b|x|S)&&!Y[4].length&&Y[9]==1?R=R[Ko(Y[0])].apply(R,Y[3]):R=T.length==1&&ol(T)?R[q]():R.thru(T)}return function(){var Q=arguments,et=Q[0];if(R&&Q.length==1&&It(et))return R.plant(et).value();for(var ot=0,dt=_?u[ot].apply(this,Q):et;++ot<_;)dt=u[ot].call(this,dt);return dt}})}function Yo(o,u,_,w,A,T,R,q,Y,Q){var et=u&M,ot=u&D,dt=u&v,yt=u&(b|N),Ct=u&I,Rt=dt?e:ms(o);function Ft(){for(var kt=arguments.length,Yt=H(kt),Er=kt;Er--;)Yt[Er]=arguments[Er];if(yt)var nr=ki(Ft),xr=cD(Yt,nr);if(w&&(Yt=C0(Yt,w,A,yt)),T&&(Yt=F0(Yt,T,R,yt)),kt-=xr,yt&&kt<Q){var Ne=Rn(Yt,nr);return $0(o,u,Yo,Ft.placeholder,_,Yt,Ne,q,Y,Q-kt)}var Kr=ot?_:this,bn=dt?Kr[o]:o;return kt=Yt.length,q?Yt=vE(Yt,q):Ct&&kt>1&&Yt.reverse(),et&&Y<kt&&(Yt.length=Y),this&&this!==Ve&&this instanceof Ft&&(bn=Rt||ms(bn)),bn.apply(Kr,Yt)}return Ft}function T0(o,u){return function(_,w){return Cb(_,o,u(w),{})}}function Vo(o,u){return function(_,w){var A;if(_===e&&w===e)return u;if(_!==e&&(A=_),w!==e){if(A===e)return w;typeof _=="string"||typeof w=="string"?(_=Dr(_),w=Dr(w)):(_=v0(_),w=v0(w)),A=o(_,w)}return A}}function Xu(o){return vn(function(u){return u=De(u,wr(At())),Pt(function(_){var w=this;return o(u,function(A){return yr(A,w,_)})})})}function Zo(o,u){u=u===e?" ":Dr(u);var _=u.length;if(_<2)return _?Yu(u,o):u;var w=Yu(u,To(o/Ti(u)));return Oi(u)?Un(Vr(w),0,o).join(""):w.slice(0,o)}function Qb(o,u,_,w){var A=u&D,T=ms(o);function R(){for(var q=-1,Y=arguments.length,Q=-1,et=w.length,ot=H(et+Y),dt=this&&this!==Ve&&this instanceof R?T:o;++Q<et;)ot[Q]=w[Q];for(;Y--;)ot[Q++]=arguments[++q];return yr(dt,A?_:this,ot)}return R}function I0(o){return function(u,_,w){return w&&typeof w!="number"&&rr(u,_,w)&&(_=w=e),u=Dn(u),_===e?(_=u,u=0):_=Dn(_),w=w===e?u<_?1:-1:Dn(w),Pb(u,_,w,o)}}function Go(o){return function(u,_){return typeof u=="string"&&typeof _=="string"||(u=Rr(u),_=Rr(_)),o(u,_)}}function $0(o,u,_,w,A,T,R,q,Y,Q){var et=u&b,ot=et?R:e,dt=et?e:R,yt=et?T:e,Ct=et?e:T;u|=et?x:F,u&=~(et?F:x),u&E||(u&=~(D|v));var Rt=[o,u,A,yt,ot,Ct,dt,q,Y,Q],Ft=_.apply(e,Rt);return ol(o)&&Z0(Ft,Rt),Ft.placeholder=w,G0(Ft,o,u)}function Qu(o){var u=Pe[o];return function(_,w){if(_=Rr(_),w=w==null?0:Je(Lt(w),292),w&&Gh(_)){var A=(ie(_)+"e").split("e"),T=u(A[0]+"e"+(+A[1]+w));return A=(ie(T)+"e").split("e"),+(A[0]+"e"+(+A[1]-w))}return u(_)}}var tE=Li&&1/Eo(new Li([,-0]))[1]==G?function(o){return new Li(o)}:Dl;function L0(o){return function(u){var _=Xe(u);return _==Jt?Nu(u):_==mr?gD(u):lD(u,o(u))}}function gn(o,u,_,w,A,T,R,q){var Y=u&v;if(!Y&&typeof o!="function")throw new Or(a);var Q=w?w.length:0;if(Q||(u&=~(x|F),w=A=e),R=R===e?R:ze(Lt(R),0),q=q===e?q:Lt(q),Q-=A?A.length:0,u&F){var et=w,ot=A;w=A=e}var dt=Y?e:rl(o),yt=[o,u,_,w,A,et,ot,T,R,q];if(dt&&_E(yt,dt),o=yt[0],u=yt[1],_=yt[2],w=yt[3],A=yt[4],q=yt[9]=yt[9]===e?Y?0:o.length:ze(yt[9]-Q,0),!q&&u&(b|N)&&(u&=~(b|N)),!u||u==D)var Ct=Jb(o,u,_);else u==b||u==N?Ct=Xb(o,u,q):(u==x||u==(D|x))&&!A.length?Ct=Qb(o,u,_,w):Ct=Yo.apply(e,yt);var Rt=dt?m0:Z0;return G0(Rt(Ct,yt),o,u)}function R0(o,u,_,w){return o===e||Gr(o,$i[_])&&!ae.call(w,_)?u:o}function P0(o,u,_,w,A,T){return xe(o)&&xe(u)&&(T.set(u,o),ko(o,u,e,P0,T),T.delete(u)),o}function eE(o){return ys(o)?e:o}function z0(o,u,_,w,A,T){var R=_&y,q=o.length,Y=u.length;if(q!=Y&&!(R&&Y>q))return!1;var Q=T.get(o),et=T.get(u);if(Q&&et)return Q==u&&et==o;var ot=-1,dt=!0,yt=_&m?new si:e;for(T.set(o,u),T.set(u,o);++ot<q;){var Ct=o[ot],Rt=u[ot];if(w)var Ft=R?w(Rt,Ct,ot,u,o,T):w(Ct,Rt,ot,o,u,T);if(Ft!==e){if(Ft)continue;dt=!1;break}if(yt){if(!Eu(u,function(kt,Yt){if(!ss(yt,Yt)&&(Ct===kt||A(Ct,kt,_,w,T)))return yt.push(Yt)})){dt=!1;break}}else if(!(Ct===Rt||A(Ct,Rt,_,w,T))){dt=!1;break}}return T.delete(o),T.delete(u),dt}function rE(o,u,_,w,A,T,R){switch(_){case rt:if(o.byteLength!=u.byteLength||o.byteOffset!=u.byteOffset)return!1;o=o.buffer,u=u.buffer;case st:return!(o.byteLength!=u.byteLength||!T(new No(o),new No(u)));case oe:case Tt:case Te:return Gr(+o,+u);case ue:return o.name==u.name&&o.message==u.message;case pn:case On:return o==u+"";case Jt:var q=Nu;case mr:var Y=w&y;if(q||(q=Eo),o.size!=u.size&&!Y)return!1;var Q=R.get(o);if(Q)return Q==u;w|=m,R.set(o,u);var et=z0(q(o),q(u),w,A,T,R);return R.delete(o),et;case $:if(cs)return cs.call(o)==cs.call(u)}return!1}function nE(o,u,_,w,A,T){var R=_&y,q=tl(o),Y=q.length,Q=tl(u),et=Q.length;if(Y!=et&&!R)return!1;for(var ot=Y;ot--;){var dt=q[ot];if(!(R?dt in u:ae.call(u,dt)))return!1}var yt=T.get(o),Ct=T.get(u);if(yt&&Ct)return yt==u&&Ct==o;var Rt=!0;T.set(o,u),T.set(u,o);for(var Ft=R;++ot<Y;){dt=q[ot];var kt=o[dt],Yt=u[dt];if(w)var Er=R?w(Yt,kt,dt,u,o,T):w(kt,Yt,dt,o,u,T);if(!(Er===e?kt===Yt||A(kt,Yt,_,w,T):Er)){Rt=!1;break}Ft||(Ft=dt=="constructor")}if(Rt&&!Ft){var nr=o.constructor,xr=u.constructor;nr!=xr&&"constructor"in o&&"constructor"in u&&!(typeof nr=="function"&&nr instanceof nr&&typeof xr=="function"&&xr instanceof xr)&&(Rt=!1)}return T.delete(o),T.delete(u),Rt}function vn(o){return ul(Y0(o,e,tp),o+"")}function tl(o){return s0(o,ke,il)}function el(o){return s0(o,cr,q0)}var rl=$o?function(o){return $o.get(o)}:Dl;function Ko(o){for(var u=o.name+"",_=Ri[u],w=ae.call(Ri,u)?_.length:0;w--;){var A=_[w],T=A.func;if(T==null||T==o)return A.name}return u}function ki(o){var u=ae.call(B,"placeholder")?B:o;return u.placeholder}function At(){var o=B.iteratee||yl;return o=o===yl?u0:o,arguments.length?o(arguments[0],arguments[1]):o}function Ho(o,u){var _=o.__data__;return fE(u)?_[typeof u=="string"?"string":"hash"]:_.map}function nl(o){for(var u=ke(o),_=u.length;_--;){var w=u[_],A=o[w];u[_]=[w,A,W0(A)]}return u}function ui(o,u){var _=dD(o,u);return a0(_)?_:e}function iE(o){var u=ae.call(o,ni),_=o[ni];try{o[ni]=e;var w=!0}catch{}var A=Fo.call(o);return w&&(u?o[ni]=_:delete o[ni]),A}var il=Bu?function(o){return o==null?[]:(o=fe(o),$n(Bu(o),function(u){return Vh.call(o,u)}))}:bl,q0=Bu?function(o){for(var u=[];o;)Ln(u,il(o)),o=So(o);return u}:bl,Xe=er;(Ou&&Xe(new Ou(new ArrayBuffer(1)))!=rt||as&&Xe(new as)!=Jt||Tu&&Xe(Tu.resolve())!=hn||Li&&Xe(new Li)!=mr||us&&Xe(new us)!=K)&&(Xe=function(o){var u=er(o),_=u==Le?o.constructor:e,w=_?li(_):"";if(w)switch(w){case qD:return rt;case kD:return Jt;case UD:return hn;case WD:return mr;case jD:return K}return u});function sE(o,u,_){for(var w=-1,A=_.length;++w<A;){var T=_[w],R=T.size;switch(T.type){case"drop":o+=R;break;case"dropRight":u-=R;break;case"take":u=Je(u,o+R);break;case"takeRight":o=ze(o,u-R);break}}return{start:o,end:u}}function oE(o){var u=o.match(eu);return u?u[1].split(ru):[]}function k0(o,u,_){u=kn(u,o);for(var w=-1,A=u.length,T=!1;++w<A;){var R=nn(u[w]);if(!(T=o!=null&&_(o,R)))break;o=o[R]}return T||++w!=A?T:(A=o==null?0:o.length,!!A&&na(A)&&yn(R,A)&&(It(o)||ci(o)))}function aE(o){var u=o.length,_=new o.constructor(u);return u&&typeof o[0]=="string"&&ae.call(o,"index")&&(_.index=o.index,_.input=o.input),_}function U0(o){return typeof o.constructor=="function"&&!gs(o)?Pi(So(o)):{}}function uE(o,u,_){var w=o.constructor;switch(u){case st:return Ju(o);case oe:case Tt:return new w(+o);case rt:return Yb(o,_);case ft:case ut:case ht:case at:case Xt:case ne:case we:case qe:case Re:return x0(o,_);case Jt:return new w;case Te:case On:return new w(o);case pn:return Vb(o);case mr:return new w;case $:return Zb(o)}}function lE(o,u){var _=u.length;if(!_)return o;var w=_-1;return u[w]=(_>1?"& ":"")+u[w],u=u.join(_>2?", ":" "),o.replace(tu,`{
9
9
  /* [wrapped with `+u+`] */
10
- `)}function cE(o){return It(o)||ci(o)||!!(Zh&&o&&o[Zh])}function wn(o,u){var _=typeof o;return u=u??Z,!!u&&(_=="number"||_!="symbol"&&fu.test(o))&&o>-1&&o%1==0&&o<u}function rr(o,u,_){if(!xe(_))return!1;var y=typeof u;return(y=="number"?lr(_)&&wn(u,_.length):y=="string"&&u in _)?Gr(_[u],o):!1}function sl(o,u){if(It(o))return!1;var _=typeof o;return _=="number"||_=="symbol"||_=="boolean"||o==null||br(o)?!0:Ha.test(o)||!Ka.test(o)||u!=null&&o in fe(u)}function fE(o){var u=typeof o;return u=="string"||u=="number"||u=="symbol"||u=="boolean"?o!=="__proto__":o===null}function ol(o){var u=Ko(o),_=B[u];if(typeof _!="function"||!(u in Wt.prototype))return!1;if(o===_)return!0;var y=rl(_);return!!y&&o===y[0]}function hE(o){return!!Wh&&Wh in o}var pE=Ao?yn:El;function gs(o){var u=o&&o.constructor,_=typeof u=="function"&&u.prototype||$i;return o===_}function W0(o){return o===o&&!xe(o)}function j0(o,u){return function(_){return _==null?!1:_[o]===u&&(u!==e||o in fe(_))}}function dE(o){var u=ea(o,function(y){return _.size===h&&_.clear(),y}),_=u.cache;return u}function _E(o,u){var _=o[1],y=u[1],A=_|y,T=A<(D|v|M),R=y==M&&_==b||y==M&&_==S&&o[7].length<=u[8]||y==(M|S)&&u[7].length<=u[8]&&_==b;if(!(T||R))return o;y&D&&(o[2]=u[2],A|=_&D?0:E);var q=u[3];if(q){var Y=o[3];o[3]=Y?C0(Y,q,u[4]):q,o[4]=Y?Rn(o[3],p):u[4]}return q=u[5],q&&(Y=o[5],o[5]=Y?F0(Y,q,u[6]):q,o[6]=Y?Rn(o[5],p):u[6]),q=u[7],q&&(o[7]=q),y&M&&(o[8]=o[8]==null?u[8]:Je(o[8],u[8])),o[9]==null&&(o[9]=u[9]),o[0]=u[0],o[1]=A,o}function mE(o){var u=[];if(o!=null)for(var _ in fe(o))u.push(_);return u}function gE(o){return Fo.call(o)}function Y0(o,u,_){return u=ze(u===e?o.length-1:u,0),function(){for(var y=arguments,A=-1,T=ze(y.length-u,0),R=H(T);++A<T;)R[A]=y[u+A];A=-1;for(var q=H(u+1);++A<u;)q[A]=y[A];return q[u]=_(R),wr(o,this,q)}}function V0(o,u){return u.length<2?o:ai(o,$r(u,0,-1))}function vE(o,u){for(var _=o.length,y=Je(u.length,_),A=ur(o);y--;){var T=u[y];o[y]=wn(T,_)?A[T]:e}return o}function al(o,u){if(!(u==="constructor"&&typeof o[u]=="function")&&u!="__proto__")return o[u]}var Z0=K0(m0),vs=TD||function(o,u){return Ve.setTimeout(o,u)},ul=K0(kb);function G0(o,u,_){var y=u+"";return ul(o,lE(y,wE(oE(y),_)))}function K0(o){var u=0,_=0;return function(){var y=RD(),A=k-(y-_);if(_=y,A>0){if(++u>=L)return arguments[0]}else u=0;return o.apply(e,arguments)}}function Jo(o,u){var _=-1,y=o.length,A=y-1;for(u=u===e?y:u;++_<u;){var T=ju(_,A),R=o[T];o[T]=o[_],o[_]=R}return o.length=u,o}var H0=dE(function(o){var u=[];return o.charCodeAt(0)===46&&u.push(""),o.replace(Ja,function(_,y,A,T){u.push(A?T.replace(su,"$1"):y||_)}),u});function nn(o){if(typeof o=="string"||br(o))return o;var u=o+"";return u=="0"&&1/o==-G?"-0":u}function li(o){if(o!=null){try{return Co.call(o)}catch{}try{return o+""}catch{}}return""}function wE(o,u){return Br(yt,function(_){var y="_."+_[0];u&_[1]&&!Do(o,y)&&o.push(y)}),o.sort()}function J0(o){if(o instanceof Wt)return o.clone();var u=new Tr(o.__wrapped__,o.__chain__);return u.__actions__=ur(o.__actions__),u.__index__=o.__index__,u.__values__=o.__values__,u}function yE(o,u,_){(_?rr(o,u,_):u===e)?u=1:u=ze(Lt(u),0);var y=o==null?0:o.length;if(!y||u<1)return[];for(var A=0,T=0,R=H(To(y/u));A<y;)R[T++]=$r(o,A,A+=u);return R}function DE(o){for(var u=-1,_=o==null?0:o.length,y=0,A=[];++u<_;){var T=o[u];T&&(A[y++]=T)}return A}function bE(){var o=arguments.length;if(!o)return[];for(var u=H(o-1),_=arguments[0],y=o;y--;)u[y-1]=arguments[y];return Ln(It(_)?ur(_):[_],Ze(u,1))}var EE=Pt(function(o,u){return Me(o)?hs(o,Ze(u,1,Me,!0)):[]}),xE=Pt(function(o,u){var _=Lr(u);return Me(_)&&(_=e),Me(o)?hs(o,Ze(u,1,Me,!0),At(_,2)):[]}),AE=Pt(function(o,u){var _=Lr(u);return Me(_)&&(_=e),Me(o)?hs(o,Ze(u,1,Me,!0),e,_):[]});function CE(o,u,_){var y=o==null?0:o.length;return y?(u=_||u===e?1:Lt(u),$r(o,u<0?0:u,y)):[]}function FE(o,u,_){var y=o==null?0:o.length;return y?(u=_||u===e?1:Lt(u),u=y-u,$r(o,0,u<0?0:u)):[]}function ME(o,u){return o&&o.length?Wo(o,At(u,3),!0,!0):[]}function NE(o,u){return o&&o.length?Wo(o,At(u,3),!0):[]}function SE(o,u,_,y){var A=o==null?0:o.length;return A?(_&&typeof _!="number"&&rr(o,u,_)&&(_=0,y=A),bb(o,u,_,y)):[]}function X0(o,u,_){var y=o==null?0:o.length;if(!y)return-1;var A=_==null?0:Lt(_);return A<0&&(A=ze(y+A,0)),bo(o,At(u,3),A)}function Q0(o,u,_){var y=o==null?0:o.length;if(!y)return-1;var A=y-1;return _!==e&&(A=Lt(_),A=_<0?ze(y+A,0):Je(A,y-1)),bo(o,At(u,3),A,!0)}function tp(o){var u=o==null?0:o.length;return u?Ze(o,1):[]}function BE(o){var u=o==null?0:o.length;return u?Ze(o,G):[]}function OE(o,u){var _=o==null?0:o.length;return _?(u=u===e?1:Lt(u),Ze(o,u)):[]}function TE(o){for(var u=-1,_=o==null?0:o.length,y={};++u<_;){var A=o[u];y[A[0]]=A[1]}return y}function ep(o){return o&&o.length?o[0]:e}function IE(o,u,_){var y=o==null?0:o.length;if(!y)return-1;var A=_==null?0:Lt(_);return A<0&&(A=ze(y+A,0)),Bi(o,u,A)}function $E(o){var u=o==null?0:o.length;return u?$r(o,0,-1):[]}var LE=Pt(function(o){var u=De(o,Ku);return u.length&&u[0]===o[0]?zu(u):[]}),RE=Pt(function(o){var u=Lr(o),_=De(o,Ku);return u===Lr(_)?u=e:_.pop(),_.length&&_[0]===o[0]?zu(_,At(u,2)):[]}),PE=Pt(function(o){var u=Lr(o),_=De(o,Ku);return u=typeof u=="function"?u:e,u&&_.pop(),_.length&&_[0]===o[0]?zu(_,e,u):[]});function zE(o,u){return o==null?"":$D.call(o,u)}function Lr(o){var u=o==null?0:o.length;return u?o[u-1]:e}function qE(o,u,_){var y=o==null?0:o.length;if(!y)return-1;var A=y;return _!==e&&(A=Lt(_),A=A<0?ze(y+A,0):Je(A,y-1)),u===u?wD(o,u,A):bo(o,$h,A,!0)}function kE(o,u){return o&&o.length?h0(o,Lt(u)):e}var UE=Pt(rp);function rp(o,u){return o&&o.length&&u&&u.length?Wu(o,u):o}function WE(o,u,_){return o&&o.length&&u&&u.length?Wu(o,u,At(_,2)):o}function jE(o,u,_){return o&&o.length&&u&&u.length?Wu(o,u,e,_):o}var YE=vn(function(o,u){var _=o==null?0:o.length,y=$u(o,u);return _0(o,De(u,function(A){return wn(A,_)?+A:A}).sort(A0)),y});function VE(o,u){var _=[];if(!(o&&o.length))return _;var y=-1,A=[],T=o.length;for(u=At(u,3);++y<T;){var R=o[y];u(R,y,o)&&(_.push(R),A.push(y))}return _0(o,A),_}function ll(o){return o==null?o:zD.call(o)}function ZE(o,u,_){var y=o==null?0:o.length;return y?(_&&typeof _!="number"&&rr(o,u,_)?(u=0,_=y):(u=u==null?0:Lt(u),_=_===e?y:Lt(_)),$r(o,u,_)):[]}function GE(o,u){return Uo(o,u)}function KE(o,u,_){return Vu(o,u,At(_,2))}function HE(o,u){var _=o==null?0:o.length;if(_){var y=Uo(o,u);if(y<_&&Gr(o[y],u))return y}return-1}function JE(o,u){return Uo(o,u,!0)}function XE(o,u,_){return Vu(o,u,At(_,2),!0)}function QE(o,u){var _=o==null?0:o.length;if(_){var y=Uo(o,u,!0)-1;if(Gr(o[y],u))return y}return-1}function tx(o){return o&&o.length?g0(o):[]}function ex(o,u){return o&&o.length?g0(o,At(u,2)):[]}function rx(o){var u=o==null?0:o.length;return u?$r(o,1,u):[]}function nx(o,u,_){return o&&o.length?(u=_||u===e?1:Lt(u),$r(o,0,u<0?0:u)):[]}function ix(o,u,_){var y=o==null?0:o.length;return y?(u=_||u===e?1:Lt(u),u=y-u,$r(o,u<0?0:u,y)):[]}function sx(o,u){return o&&o.length?Wo(o,At(u,3),!1,!0):[]}function ox(o,u){return o&&o.length?Wo(o,At(u,3)):[]}var ax=Pt(function(o){return qn(Ze(o,1,Me,!0))}),ux=Pt(function(o){var u=Lr(o);return Me(u)&&(u=e),qn(Ze(o,1,Me,!0),At(u,2))}),lx=Pt(function(o){var u=Lr(o);return u=typeof u=="function"?u:e,qn(Ze(o,1,Me,!0),e,u)});function cx(o){return o&&o.length?qn(o):[]}function fx(o,u){return o&&o.length?qn(o,At(u,2)):[]}function hx(o,u){return u=typeof u=="function"?u:e,o&&o.length?qn(o,e,u):[]}function cl(o){if(!(o&&o.length))return[];var u=0;return o=$n(o,function(_){if(Me(_))return u=ze(_.length,u),!0}),Fu(u,function(_){return De(o,xu(_))})}function np(o,u){if(!(o&&o.length))return[];var _=cl(o);return u==null?_:De(_,function(y){return wr(u,e,y)})}var px=Pt(function(o,u){return Me(o)?hs(o,u):[]}),dx=Pt(function(o){return Gu($n(o,Me))}),_x=Pt(function(o){var u=Lr(o);return Me(u)&&(u=e),Gu($n(o,Me),At(u,2))}),mx=Pt(function(o){var u=Lr(o);return u=typeof u=="function"?u:e,Gu($n(o,Me),e,u)}),gx=Pt(cl);function vx(o,u){return D0(o||[],u||[],fs)}function wx(o,u){return D0(o||[],u||[],_s)}var yx=Pt(function(o){var u=o.length,_=u>1?o[u-1]:e;return _=typeof _=="function"?(o.pop(),_):e,np(o,_)});function ip(o){var u=B(o);return u.__chain__=!0,u}function Dx(o,u){return u(o),o}function Xo(o,u){return u(o)}var bx=vn(function(o){var u=o.length,_=u?o[0]:0,y=this.__wrapped__,A=function(T){return $u(T,o)};return u>1||this.__actions__.length||!(y instanceof Wt)||!wn(_)?this.thru(A):(y=y.slice(_,+_+(u?1:0)),y.__actions__.push({func:Xo,args:[A],thisArg:e}),new Tr(y,this.__chain__).thru(function(T){return u&&!T.length&&T.push(e),T}))});function Ex(){return ip(this)}function xx(){return new Tr(this.value(),this.__chain__)}function Ax(){this.__values__===e&&(this.__values__=vp(this.value()));var o=this.__index__>=this.__values__.length,u=o?e:this.__values__[this.__index__++];return{done:o,value:u}}function Cx(){return this}function Fx(o){for(var u,_=this;_ instanceof Ro;){var y=J0(_);y.__index__=0,y.__values__=e,u?A.__wrapped__=y:u=y;var A=y;_=_.__wrapped__}return A.__wrapped__=o,u}function Mx(){var o=this.__wrapped__;if(o instanceof Wt){var u=o;return this.__actions__.length&&(u=new Wt(this)),u=u.reverse(),u.__actions__.push({func:Xo,args:[ll],thisArg:e}),new Tr(u,this.__chain__)}return this.thru(ll)}function Nx(){return y0(this.__wrapped__,this.__actions__)}var Sx=jo(function(o,u,_){ae.call(o,_)?++o[_]:mn(o,_,1)});function Bx(o,u,_){var y=It(o)?Th:Db;return _&&rr(o,u,_)&&(u=e),y(o,At(u,3))}function Ox(o,u){var _=It(o)?$n:n0;return _(o,At(u,3))}var Tx=B0(X0),Ix=B0(Q0);function $x(o,u){return Ze(Qo(o,u),1)}function Lx(o,u){return Ze(Qo(o,u),G)}function Rx(o,u,_){return _=_===e?1:Lt(_),Ze(Qo(o,u),_)}function sp(o,u){var _=It(o)?Br:zn;return _(o,At(u,3))}function op(o,u){var _=It(o)?rD:r0;return _(o,At(u,3))}var Px=jo(function(o,u,_){ae.call(o,_)?o[_].push(u):mn(o,_,[u])});function zx(o,u,_,y){o=lr(o)?o:Wi(o),_=_&&!y?Lt(_):0;var A=o.length;return _<0&&(_=ze(A+_,0)),ia(o)?_<=A&&o.indexOf(u,_)>-1:!!A&&Bi(o,u,_)>-1}var qx=Pt(function(o,u,_){var y=-1,A=typeof u=="function",T=lr(o)?H(o.length):[];return zn(o,function(R){T[++y]=A?wr(u,R,_):ps(R,u,_)}),T}),kx=jo(function(o,u,_){mn(o,_,u)});function Qo(o,u){var _=It(o)?De:l0;return _(o,At(u,3))}function Ux(o,u,_,y){return o==null?[]:(It(u)||(u=u==null?[]:[u]),_=y?e:_,It(_)||(_=_==null?[]:[_]),p0(o,u,_))}var Wx=jo(function(o,u,_){o[_?0:1].push(u)},function(){return[[],[]]});function jx(o,u,_){var y=It(o)?bu:Rh,A=arguments.length<3;return y(o,At(u,4),_,A,zn)}function Yx(o,u,_){var y=It(o)?nD:Rh,A=arguments.length<3;return y(o,At(u,4),_,A,r0)}function Vx(o,u){var _=It(o)?$n:n0;return _(o,ra(At(u,3)))}function Zx(o){var u=It(o)?Xh:zb;return u(o)}function Gx(o,u,_){(_?rr(o,u,_):u===e)?u=1:u=Lt(u);var y=It(o)?mb:qb;return y(o,u)}function Kx(o){var u=It(o)?gb:Ub;return u(o)}function Hx(o){if(o==null)return 0;if(lr(o))return ia(o)?Ti(o):o.length;var u=Xe(o);return u==Jt||u==mr?o.size:ku(o).length}function Jx(o,u,_){var y=It(o)?Eu:Wb;return _&&rr(o,u,_)&&(u=e),y(o,At(u,3))}var Xx=Pt(function(o,u){if(o==null)return[];var _=u.length;return _>1&&rr(o,u[0],u[1])?u=[]:_>2&&rr(u[0],u[1],u[2])&&(u=[u[0]]),p0(o,Ze(u,1),[])}),ta=OD||function(){return Ve.Date.now()};function Qx(o,u){if(typeof u!="function")throw new Or(a);return o=Lt(o),function(){if(--o<1)return u.apply(this,arguments)}}function ap(o,u,_){return u=_?e:u,u=o&&u==null?o.length:u,gn(o,M,e,e,e,e,u)}function up(o,u){var _;if(typeof u!="function")throw new Or(a);return o=Lt(o),function(){return--o>0&&(_=u.apply(this,arguments)),o<=1&&(u=e),_}}var fl=Pt(function(o,u,_){var y=D;if(_.length){var A=Rn(_,ki(fl));y|=x}return gn(o,y,u,_,A)}),lp=Pt(function(o,u,_){var y=D|v;if(_.length){var A=Rn(_,ki(lp));y|=x}return gn(u,y,o,_,A)});function cp(o,u,_){u=_?e:u;var y=gn(o,b,e,e,e,e,e,u);return y.placeholder=cp.placeholder,y}function fp(o,u,_){u=_?e:u;var y=gn(o,N,e,e,e,e,e,u);return y.placeholder=fp.placeholder,y}function hp(o,u,_){var y,A,T,R,q,Y,Q=0,et=!1,ot=!1,dt=!0;if(typeof o!="function")throw new Or(a);u=Rr(u)||0,xe(_)&&(et=!!_.leading,ot="maxWait"in _,T=ot?ze(Rr(_.maxWait)||0,u):T,dt="trailing"in _?!!_.trailing:dt);function wt(Ne){var Kr=y,bn=A;return y=A=e,Q=Ne,R=o.apply(bn,Kr),R}function Ct(Ne){return Q=Ne,q=vs(kt,u),et?wt(Ne):R}function Rt(Ne){var Kr=Ne-Y,bn=Ne-Q,Bp=u-Kr;return ot?Je(Bp,T-bn):Bp}function Ft(Ne){var Kr=Ne-Y,bn=Ne-Q;return Y===e||Kr>=u||Kr<0||ot&&bn>=T}function kt(){var Ne=ta();if(Ft(Ne))return Yt(Ne);q=vs(kt,Rt(Ne))}function Yt(Ne){return q=e,dt&&y?wt(Ne):(y=A=e,R)}function Er(){q!==e&&b0(q),Q=0,y=Y=A=q=e}function nr(){return q===e?R:Yt(ta())}function xr(){var Ne=ta(),Kr=Ft(Ne);if(y=arguments,A=this,Y=Ne,Kr){if(q===e)return Ct(Y);if(ot)return b0(q),q=vs(kt,u),wt(Y)}return q===e&&(q=vs(kt,u)),R}return xr.cancel=Er,xr.flush=nr,xr}var tA=Pt(function(o,u){return e0(o,1,u)}),eA=Pt(function(o,u,_){return e0(o,Rr(u)||0,_)});function rA(o){return gn(o,I)}function ea(o,u){if(typeof o!="function"||u!=null&&typeof u!="function")throw new Or(a);var _=function(){var y=arguments,A=u?u.apply(this,y):y[0],T=_.cache;if(T.has(A))return T.get(A);var R=o.apply(this,y);return _.cache=T.set(A,R)||T,R};return _.cache=new(ea.Cache||_n),_}ea.Cache=_n;function ra(o){if(typeof o!="function")throw new Or(a);return function(){var u=arguments;switch(u.length){case 0:return!o.call(this);case 1:return!o.call(this,u[0]);case 2:return!o.call(this,u[0],u[1]);case 3:return!o.call(this,u[0],u[1],u[2])}return!o.apply(this,u)}}function nA(o){return up(2,o)}var iA=jb(function(o,u){u=u.length==1&&It(u[0])?De(u[0],yr(At())):De(Ze(u,1),yr(At()));var _=u.length;return Pt(function(y){for(var A=-1,T=Je(y.length,_);++A<T;)y[A]=u[A].call(this,y[A]);return wr(o,this,y)})}),hl=Pt(function(o,u){var _=Rn(u,ki(hl));return gn(o,x,e,u,_)}),pp=Pt(function(o,u){var _=Rn(u,ki(pp));return gn(o,F,e,u,_)}),sA=vn(function(o,u){return gn(o,S,e,e,e,u)});function oA(o,u){if(typeof o!="function")throw new Or(a);return u=u===e?u:Lt(u),Pt(o,u)}function aA(o,u){if(typeof o!="function")throw new Or(a);return u=u==null?0:ze(Lt(u),0),Pt(function(_){var y=_[u],A=Un(_,0,u);return y&&Ln(A,y),wr(o,this,A)})}function uA(o,u,_){var y=!0,A=!0;if(typeof o!="function")throw new Or(a);return xe(_)&&(y="leading"in _?!!_.leading:y,A="trailing"in _?!!_.trailing:A),hp(o,u,{leading:y,maxWait:u,trailing:A})}function lA(o){return ap(o,1)}function cA(o,u){return hl(Hu(u),o)}function fA(){if(!arguments.length)return[];var o=arguments[0];return It(o)?o:[o]}function hA(o){return Ir(o,g)}function pA(o,u){return u=typeof u=="function"?u:e,Ir(o,g,u)}function dA(o){return Ir(o,f|g)}function _A(o,u){return u=typeof u=="function"?u:e,Ir(o,f|g,u)}function mA(o,u){return u==null||t0(o,u,ke(u))}function Gr(o,u){return o===u||o!==o&&u!==u}var gA=Go(Pu),vA=Go(function(o,u){return o>=u}),ci=o0(function(){return arguments}())?o0:function(o){return Ae(o)&&ae.call(o,"callee")&&!Vh.call(o,"callee")},It=H.isArray,wA=Fh?yr(Fh):Fb;function lr(o){return o!=null&&na(o.length)&&!yn(o)}function Me(o){return Ae(o)&&lr(o)}function yA(o){return o===!0||o===!1||Ae(o)&&er(o)==oe}var Wn=ID||El,DA=Mh?yr(Mh):Mb;function bA(o){return Ae(o)&&o.nodeType===1&&!ws(o)}function EA(o){if(o==null)return!0;if(lr(o)&&(It(o)||typeof o=="string"||typeof o.splice=="function"||Wn(o)||Ui(o)||ci(o)))return!o.length;var u=Xe(o);if(u==Jt||u==mr)return!o.size;if(gs(o))return!ku(o).length;for(var _ in o)if(ae.call(o,_))return!1;return!0}function xA(o,u){return ds(o,u)}function AA(o,u,_){_=typeof _=="function"?_:e;var y=_?_(o,u):e;return y===e?ds(o,u,e,_):!!y}function pl(o){if(!Ae(o))return!1;var u=er(o);return u==ue||u==Nt||typeof o.message=="string"&&typeof o.name=="string"&&!ws(o)}function CA(o){return typeof o=="number"&&Gh(o)}function yn(o){if(!xe(o))return!1;var u=er(o);return u==re||u==qt||u==Et||u==Bn}function dp(o){return typeof o=="number"&&o==Lt(o)}function na(o){return typeof o=="number"&&o>-1&&o%1==0&&o<=Z}function xe(o){var u=typeof o;return o!=null&&(u=="object"||u=="function")}function Ae(o){return o!=null&&typeof o=="object"}var _p=Nh?yr(Nh):Sb;function FA(o,u){return o===u||qu(o,u,nl(u))}function MA(o,u,_){return _=typeof _=="function"?_:e,qu(o,u,nl(u),_)}function NA(o){return mp(o)&&o!=+o}function SA(o){if(pE(o))throw new Ot(s);return a0(o)}function BA(o){return o===null}function OA(o){return o==null}function mp(o){return typeof o=="number"||Ae(o)&&er(o)==Te}function ws(o){if(!Ae(o)||er(o)!=Le)return!1;var u=So(o);if(u===null)return!0;var _=ae.call(u,"constructor")&&u.constructor;return typeof _=="function"&&_ instanceof _&&Co.call(_)==MD}var dl=Sh?yr(Sh):Bb;function TA(o){return dp(o)&&o>=-Z&&o<=Z}var gp=Bh?yr(Bh):Ob;function ia(o){return typeof o=="string"||!It(o)&&Ae(o)&&er(o)==On}function br(o){return typeof o=="symbol"||Ae(o)&&er(o)==$}var Ui=Oh?yr(Oh):Tb;function IA(o){return o===e}function $A(o){return Ae(o)&&Xe(o)==K}function LA(o){return Ae(o)&&er(o)==nt}var RA=Go(Uu),PA=Go(function(o,u){return o<=u});function vp(o){if(!o)return[];if(lr(o))return ia(o)?Vr(o):ur(o);if(os&&o[os])return mD(o[os]());var u=Xe(o),_=u==Jt?Nu:u==mr?Eo:Wi;return _(o)}function Dn(o){if(!o)return o===0?o:0;if(o=Rr(o),o===G||o===-G){var u=o<0?-1:1;return u*X}return o===o?o:0}function Lt(o){var u=Dn(o),_=u%1;return u===u?_?u-_:u:0}function wp(o){return o?oi(Lt(o),0,ct):0}function Rr(o){if(typeof o=="number")return o;if(br(o))return tt;if(xe(o)){var u=typeof o.valueOf=="function"?o.valueOf():o;o=xe(u)?u+"":u}if(typeof o!="string")return o===0?o:+o;o=Ph(o);var _=uu.test(o);return _||cu.test(o)?Qy(o.slice(2),_?2:8):au.test(o)?tt:+o}function yp(o){return rn(o,cr(o))}function zA(o){return o?oi(Lt(o),-Z,Z):o===0?o:0}function ie(o){return o==null?"":Dr(o)}var qA=zi(function(o,u){if(gs(u)||lr(u)){rn(u,ke(u),o);return}for(var _ in u)ae.call(u,_)&&fs(o,_,u[_])}),Dp=zi(function(o,u){rn(u,cr(u),o)}),sa=zi(function(o,u,_,y){rn(u,cr(u),o,y)}),kA=zi(function(o,u,_,y){rn(u,ke(u),o,y)}),UA=vn($u);function WA(o,u){var _=Pi(o);return u==null?_:Qh(_,u)}var jA=Pt(function(o,u){o=fe(o);var _=-1,y=u.length,A=y>2?u[2]:e;for(A&&rr(u[0],u[1],A)&&(y=1);++_<y;)for(var T=u[_],R=cr(T),q=-1,Y=R.length;++q<Y;){var Q=R[q],et=o[Q];(et===e||Gr(et,$i[Q])&&!ae.call(o,Q))&&(o[Q]=T[Q])}return o}),YA=Pt(function(o){return o.push(e,P0),wr(bp,e,o)});function VA(o,u){return Ih(o,At(u,3),en)}function ZA(o,u){return Ih(o,At(u,3),Ru)}function GA(o,u){return o==null?o:Lu(o,At(u,3),cr)}function KA(o,u){return o==null?o:i0(o,At(u,3),cr)}function HA(o,u){return o&&en(o,At(u,3))}function JA(o,u){return o&&Ru(o,At(u,3))}function XA(o){return o==null?[]:qo(o,ke(o))}function QA(o){return o==null?[]:qo(o,cr(o))}function _l(o,u,_){var y=o==null?e:ai(o,u);return y===e?_:y}function tC(o,u){return o!=null&&k0(o,u,Eb)}function ml(o,u){return o!=null&&k0(o,u,xb)}var eC=T0(function(o,u,_){u!=null&&typeof u.toString!="function"&&(u=Fo.call(u)),o[u]=_},vl(fr)),rC=T0(function(o,u,_){u!=null&&typeof u.toString!="function"&&(u=Fo.call(u)),ae.call(o,u)?o[u].push(_):o[u]=[_]},At),nC=Pt(ps);function ke(o){return lr(o)?Jh(o):ku(o)}function cr(o){return lr(o)?Jh(o,!0):Ib(o)}function iC(o,u){var _={};return u=At(u,3),en(o,function(y,A,T){mn(_,u(y,A,T),y)}),_}function sC(o,u){var _={};return u=At(u,3),en(o,function(y,A,T){mn(_,A,u(y,A,T))}),_}var oC=zi(function(o,u,_){ko(o,u,_)}),bp=zi(function(o,u,_,y){ko(o,u,_,y)}),aC=vn(function(o,u){var _={};if(o==null)return _;var y=!1;u=De(u,function(T){return T=kn(T,o),y||(y=T.length>1),T}),rn(o,el(o),_),y&&(_=Ir(_,f|d|g,eE));for(var A=u.length;A--;)Zu(_,u[A]);return _});function uC(o,u){return Ep(o,ra(At(u)))}var lC=vn(function(o,u){return o==null?{}:Lb(o,u)});function Ep(o,u){if(o==null)return{};var _=De(el(o),function(y){return[y]});return u=At(u),d0(o,_,function(y,A){return u(y,A[0])})}function cC(o,u,_){u=kn(u,o);var y=-1,A=u.length;for(A||(A=1,o=e);++y<A;){var T=o==null?e:o[nn(u[y])];T===e&&(y=A,T=_),o=yn(T)?T.call(o):T}return o}function fC(o,u,_){return o==null?o:_s(o,u,_)}function hC(o,u,_,y){return y=typeof y=="function"?y:e,o==null?o:_s(o,u,_,y)}var xp=L0(ke),Ap=L0(cr);function pC(o,u,_){var y=It(o),A=y||Wn(o)||Ui(o);if(u=At(u,4),_==null){var T=o&&o.constructor;A?_=y?new T:[]:xe(o)?_=yn(T)?Pi(So(o)):{}:_={}}return(A?Br:en)(o,function(R,q,Y){return u(_,R,q,Y)}),_}function dC(o,u){return o==null?!0:Zu(o,u)}function _C(o,u,_){return o==null?o:w0(o,u,Hu(_))}function mC(o,u,_,y){return y=typeof y=="function"?y:e,o==null?o:w0(o,u,Hu(_),y)}function Wi(o){return o==null?[]:Mu(o,ke(o))}function gC(o){return o==null?[]:Mu(o,cr(o))}function vC(o,u,_){return _===e&&(_=u,u=e),_!==e&&(_=Rr(_),_=_===_?_:0),u!==e&&(u=Rr(u),u=u===u?u:0),oi(Rr(o),u,_)}function wC(o,u,_){return u=Dn(u),_===e?(_=u,u=0):_=Dn(_),o=Rr(o),Ab(o,u,_)}function yC(o,u,_){if(_&&typeof _!="boolean"&&rr(o,u,_)&&(u=_=e),_===e&&(typeof u=="boolean"?(_=u,u=e):typeof o=="boolean"&&(_=o,o=e)),o===e&&u===e?(o=0,u=1):(o=Dn(o),u===e?(u=o,o=0):u=Dn(u)),o>u){var y=o;o=u,u=y}if(_||o%1||u%1){var A=Kh();return Je(o+A*(u-o+Xy("1e-"+((A+"").length-1))),u)}return ju(o,u)}var DC=qi(function(o,u,_){return u=u.toLowerCase(),o+(_?Cp(u):u)});function Cp(o){return gl(ie(o).toLowerCase())}function Fp(o){return o=ie(o),o&&o.replace(hu,fD).replace(Uy,"")}function bC(o,u,_){o=ie(o),u=Dr(u);var y=o.length;_=_===e?y:oi(Lt(_),0,y);var A=_;return _-=u.length,_>=0&&o.slice(_,A)==u}function EC(o){return o=ie(o),o&&Va.test(o)?o.replace(mo,hD):o}function xC(o){return o=ie(o),o&&Xa.test(o)?o.replace(ns,"\\$&"):o}var AC=qi(function(o,u,_){return o+(_?"-":"")+u.toLowerCase()}),CC=qi(function(o,u,_){return o+(_?" ":"")+u.toLowerCase()}),FC=S0("toLowerCase");function MC(o,u,_){o=ie(o),u=Lt(u);var y=u?Ti(o):0;if(!u||y>=u)return o;var A=(u-y)/2;return Zo(Io(A),_)+o+Zo(To(A),_)}function NC(o,u,_){o=ie(o),u=Lt(u);var y=u?Ti(o):0;return u&&y<u?o+Zo(u-y,_):o}function SC(o,u,_){o=ie(o),u=Lt(u);var y=u?Ti(o):0;return u&&y<u?Zo(u-y,_)+o:o}function BC(o,u,_){return _||u==null?u=0:u&&(u=+u),PD(ie(o).replace(is,""),u||0)}function OC(o,u,_){return(_?rr(o,u,_):u===e)?u=1:u=Lt(u),Yu(ie(o),u)}function TC(){var o=arguments,u=ie(o[0]);return o.length<3?u:u.replace(o[1],o[2])}var IC=qi(function(o,u,_){return o+(_?"_":"")+u.toLowerCase()});function $C(o,u,_){return _&&typeof _!="number"&&rr(o,u,_)&&(u=_=e),_=_===e?ct:_>>>0,_?(o=ie(o),o&&(typeof u=="string"||u!=null&&!dl(u))&&(u=Dr(u),!u&&Oi(o))?Un(Vr(o),0,_):o.split(u,_)):[]}var LC=qi(function(o,u,_){return o+(_?" ":"")+gl(u)});function RC(o,u,_){return o=ie(o),_=_==null?0:oi(Lt(_),0,o.length),u=Dr(u),o.slice(_,_+u.length)==u}function PC(o,u,_){var y=B.templateSettings;_&&rr(o,u,_)&&(u=e),o=ie(o),u=sa({},u,y,R0);var A=sa({},u.imports,y.imports,R0),T=ke(A),R=Mu(A,T),q,Y,Q=0,et=u.interpolate||Mi,ot="__p += '",dt=Su((u.escape||Mi).source+"|"+et.source+"|"+(et===go?ou:Mi).source+"|"+(u.evaluate||Mi).source+"|$","g"),wt="//# sourceURL="+(ae.call(u,"sourceURL")?(u.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Zy+"]")+`
10
+ `)}function cE(o){return It(o)||ci(o)||!!(Zh&&o&&o[Zh])}function yn(o,u){var _=typeof o;return u=u??Z,!!u&&(_=="number"||_!="symbol"&&fu.test(o))&&o>-1&&o%1==0&&o<u}function rr(o,u,_){if(!xe(_))return!1;var w=typeof u;return(w=="number"?lr(_)&&yn(u,_.length):w=="string"&&u in _)?Gr(_[u],o):!1}function sl(o,u){if(It(o))return!1;var _=typeof o;return _=="number"||_=="symbol"||_=="boolean"||o==null||br(o)?!0:Ha.test(o)||!Ka.test(o)||u!=null&&o in fe(u)}function fE(o){var u=typeof o;return u=="string"||u=="number"||u=="symbol"||u=="boolean"?o!=="__proto__":o===null}function ol(o){var u=Ko(o),_=B[u];if(typeof _!="function"||!(u in Wt.prototype))return!1;if(o===_)return!0;var w=rl(_);return!!w&&o===w[0]}function hE(o){return!!Wh&&Wh in o}var pE=Ao?wn:El;function gs(o){var u=o&&o.constructor,_=typeof u=="function"&&u.prototype||$i;return o===_}function W0(o){return o===o&&!xe(o)}function j0(o,u){return function(_){return _==null?!1:_[o]===u&&(u!==e||o in fe(_))}}function dE(o){var u=ea(o,function(w){return _.size===h&&_.clear(),w}),_=u.cache;return u}function _E(o,u){var _=o[1],w=u[1],A=_|w,T=A<(D|v|M),R=w==M&&_==b||w==M&&_==S&&o[7].length<=u[8]||w==(M|S)&&u[7].length<=u[8]&&_==b;if(!(T||R))return o;w&D&&(o[2]=u[2],A|=_&D?0:E);var q=u[3];if(q){var Y=o[3];o[3]=Y?C0(Y,q,u[4]):q,o[4]=Y?Rn(o[3],p):u[4]}return q=u[5],q&&(Y=o[5],o[5]=Y?F0(Y,q,u[6]):q,o[6]=Y?Rn(o[5],p):u[6]),q=u[7],q&&(o[7]=q),w&M&&(o[8]=o[8]==null?u[8]:Je(o[8],u[8])),o[9]==null&&(o[9]=u[9]),o[0]=u[0],o[1]=A,o}function mE(o){var u=[];if(o!=null)for(var _ in fe(o))u.push(_);return u}function gE(o){return Fo.call(o)}function Y0(o,u,_){return u=ze(u===e?o.length-1:u,0),function(){for(var w=arguments,A=-1,T=ze(w.length-u,0),R=H(T);++A<T;)R[A]=w[u+A];A=-1;for(var q=H(u+1);++A<u;)q[A]=w[A];return q[u]=_(R),yr(o,this,q)}}function V0(o,u){return u.length<2?o:ai(o,$r(u,0,-1))}function vE(o,u){for(var _=o.length,w=Je(u.length,_),A=ur(o);w--;){var T=u[w];o[w]=yn(T,_)?A[T]:e}return o}function al(o,u){if(!(u==="constructor"&&typeof o[u]=="function")&&u!="__proto__")return o[u]}var Z0=K0(m0),vs=TD||function(o,u){return Ve.setTimeout(o,u)},ul=K0(kb);function G0(o,u,_){var w=u+"";return ul(o,lE(w,yE(oE(w),_)))}function K0(o){var u=0,_=0;return function(){var w=RD(),A=U-(w-_);if(_=w,A>0){if(++u>=L)return arguments[0]}else u=0;return o.apply(e,arguments)}}function Jo(o,u){var _=-1,w=o.length,A=w-1;for(u=u===e?w:u;++_<u;){var T=ju(_,A),R=o[T];o[T]=o[_],o[_]=R}return o.length=u,o}var H0=dE(function(o){var u=[];return o.charCodeAt(0)===46&&u.push(""),o.replace(Ja,function(_,w,A,T){u.push(A?T.replace(su,"$1"):w||_)}),u});function nn(o){if(typeof o=="string"||br(o))return o;var u=o+"";return u=="0"&&1/o==-G?"-0":u}function li(o){if(o!=null){try{return Co.call(o)}catch{}try{return o+""}catch{}}return""}function yE(o,u){return Br(wt,function(_){var w="_."+_[0];u&_[1]&&!Do(o,w)&&o.push(w)}),o.sort()}function J0(o){if(o instanceof Wt)return o.clone();var u=new Tr(o.__wrapped__,o.__chain__);return u.__actions__=ur(o.__actions__),u.__index__=o.__index__,u.__values__=o.__values__,u}function wE(o,u,_){(_?rr(o,u,_):u===e)?u=1:u=ze(Lt(u),0);var w=o==null?0:o.length;if(!w||u<1)return[];for(var A=0,T=0,R=H(To(w/u));A<w;)R[T++]=$r(o,A,A+=u);return R}function DE(o){for(var u=-1,_=o==null?0:o.length,w=0,A=[];++u<_;){var T=o[u];T&&(A[w++]=T)}return A}function bE(){var o=arguments.length;if(!o)return[];for(var u=H(o-1),_=arguments[0],w=o;w--;)u[w-1]=arguments[w];return Ln(It(_)?ur(_):[_],Ze(u,1))}var EE=Pt(function(o,u){return Me(o)?hs(o,Ze(u,1,Me,!0)):[]}),xE=Pt(function(o,u){var _=Lr(u);return Me(_)&&(_=e),Me(o)?hs(o,Ze(u,1,Me,!0),At(_,2)):[]}),AE=Pt(function(o,u){var _=Lr(u);return Me(_)&&(_=e),Me(o)?hs(o,Ze(u,1,Me,!0),e,_):[]});function CE(o,u,_){var w=o==null?0:o.length;return w?(u=_||u===e?1:Lt(u),$r(o,u<0?0:u,w)):[]}function FE(o,u,_){var w=o==null?0:o.length;return w?(u=_||u===e?1:Lt(u),u=w-u,$r(o,0,u<0?0:u)):[]}function ME(o,u){return o&&o.length?Wo(o,At(u,3),!0,!0):[]}function NE(o,u){return o&&o.length?Wo(o,At(u,3),!0):[]}function SE(o,u,_,w){var A=o==null?0:o.length;return A?(_&&typeof _!="number"&&rr(o,u,_)&&(_=0,w=A),bb(o,u,_,w)):[]}function X0(o,u,_){var w=o==null?0:o.length;if(!w)return-1;var A=_==null?0:Lt(_);return A<0&&(A=ze(w+A,0)),bo(o,At(u,3),A)}function Q0(o,u,_){var w=o==null?0:o.length;if(!w)return-1;var A=w-1;return _!==e&&(A=Lt(_),A=_<0?ze(w+A,0):Je(A,w-1)),bo(o,At(u,3),A,!0)}function tp(o){var u=o==null?0:o.length;return u?Ze(o,1):[]}function BE(o){var u=o==null?0:o.length;return u?Ze(o,G):[]}function OE(o,u){var _=o==null?0:o.length;return _?(u=u===e?1:Lt(u),Ze(o,u)):[]}function TE(o){for(var u=-1,_=o==null?0:o.length,w={};++u<_;){var A=o[u];w[A[0]]=A[1]}return w}function ep(o){return o&&o.length?o[0]:e}function IE(o,u,_){var w=o==null?0:o.length;if(!w)return-1;var A=_==null?0:Lt(_);return A<0&&(A=ze(w+A,0)),Bi(o,u,A)}function $E(o){var u=o==null?0:o.length;return u?$r(o,0,-1):[]}var LE=Pt(function(o){var u=De(o,Ku);return u.length&&u[0]===o[0]?zu(u):[]}),RE=Pt(function(o){var u=Lr(o),_=De(o,Ku);return u===Lr(_)?u=e:_.pop(),_.length&&_[0]===o[0]?zu(_,At(u,2)):[]}),PE=Pt(function(o){var u=Lr(o),_=De(o,Ku);return u=typeof u=="function"?u:e,u&&_.pop(),_.length&&_[0]===o[0]?zu(_,e,u):[]});function zE(o,u){return o==null?"":$D.call(o,u)}function Lr(o){var u=o==null?0:o.length;return u?o[u-1]:e}function qE(o,u,_){var w=o==null?0:o.length;if(!w)return-1;var A=w;return _!==e&&(A=Lt(_),A=A<0?ze(w+A,0):Je(A,w-1)),u===u?yD(o,u,A):bo(o,$h,A,!0)}function kE(o,u){return o&&o.length?h0(o,Lt(u)):e}var UE=Pt(rp);function rp(o,u){return o&&o.length&&u&&u.length?Wu(o,u):o}function WE(o,u,_){return o&&o.length&&u&&u.length?Wu(o,u,At(_,2)):o}function jE(o,u,_){return o&&o.length&&u&&u.length?Wu(o,u,e,_):o}var YE=vn(function(o,u){var _=o==null?0:o.length,w=$u(o,u);return _0(o,De(u,function(A){return yn(A,_)?+A:A}).sort(A0)),w});function VE(o,u){var _=[];if(!(o&&o.length))return _;var w=-1,A=[],T=o.length;for(u=At(u,3);++w<T;){var R=o[w];u(R,w,o)&&(_.push(R),A.push(w))}return _0(o,A),_}function ll(o){return o==null?o:zD.call(o)}function ZE(o,u,_){var w=o==null?0:o.length;return w?(_&&typeof _!="number"&&rr(o,u,_)?(u=0,_=w):(u=u==null?0:Lt(u),_=_===e?w:Lt(_)),$r(o,u,_)):[]}function GE(o,u){return Uo(o,u)}function KE(o,u,_){return Vu(o,u,At(_,2))}function HE(o,u){var _=o==null?0:o.length;if(_){var w=Uo(o,u);if(w<_&&Gr(o[w],u))return w}return-1}function JE(o,u){return Uo(o,u,!0)}function XE(o,u,_){return Vu(o,u,At(_,2),!0)}function QE(o,u){var _=o==null?0:o.length;if(_){var w=Uo(o,u,!0)-1;if(Gr(o[w],u))return w}return-1}function tx(o){return o&&o.length?g0(o):[]}function ex(o,u){return o&&o.length?g0(o,At(u,2)):[]}function rx(o){var u=o==null?0:o.length;return u?$r(o,1,u):[]}function nx(o,u,_){return o&&o.length?(u=_||u===e?1:Lt(u),$r(o,0,u<0?0:u)):[]}function ix(o,u,_){var w=o==null?0:o.length;return w?(u=_||u===e?1:Lt(u),u=w-u,$r(o,u<0?0:u,w)):[]}function sx(o,u){return o&&o.length?Wo(o,At(u,3),!1,!0):[]}function ox(o,u){return o&&o.length?Wo(o,At(u,3)):[]}var ax=Pt(function(o){return qn(Ze(o,1,Me,!0))}),ux=Pt(function(o){var u=Lr(o);return Me(u)&&(u=e),qn(Ze(o,1,Me,!0),At(u,2))}),lx=Pt(function(o){var u=Lr(o);return u=typeof u=="function"?u:e,qn(Ze(o,1,Me,!0),e,u)});function cx(o){return o&&o.length?qn(o):[]}function fx(o,u){return o&&o.length?qn(o,At(u,2)):[]}function hx(o,u){return u=typeof u=="function"?u:e,o&&o.length?qn(o,e,u):[]}function cl(o){if(!(o&&o.length))return[];var u=0;return o=$n(o,function(_){if(Me(_))return u=ze(_.length,u),!0}),Fu(u,function(_){return De(o,xu(_))})}function np(o,u){if(!(o&&o.length))return[];var _=cl(o);return u==null?_:De(_,function(w){return yr(u,e,w)})}var px=Pt(function(o,u){return Me(o)?hs(o,u):[]}),dx=Pt(function(o){return Gu($n(o,Me))}),_x=Pt(function(o){var u=Lr(o);return Me(u)&&(u=e),Gu($n(o,Me),At(u,2))}),mx=Pt(function(o){var u=Lr(o);return u=typeof u=="function"?u:e,Gu($n(o,Me),e,u)}),gx=Pt(cl);function vx(o,u){return D0(o||[],u||[],fs)}function yx(o,u){return D0(o||[],u||[],_s)}var wx=Pt(function(o){var u=o.length,_=u>1?o[u-1]:e;return _=typeof _=="function"?(o.pop(),_):e,np(o,_)});function ip(o){var u=B(o);return u.__chain__=!0,u}function Dx(o,u){return u(o),o}function Xo(o,u){return u(o)}var bx=vn(function(o){var u=o.length,_=u?o[0]:0,w=this.__wrapped__,A=function(T){return $u(T,o)};return u>1||this.__actions__.length||!(w instanceof Wt)||!yn(_)?this.thru(A):(w=w.slice(_,+_+(u?1:0)),w.__actions__.push({func:Xo,args:[A],thisArg:e}),new Tr(w,this.__chain__).thru(function(T){return u&&!T.length&&T.push(e),T}))});function Ex(){return ip(this)}function xx(){return new Tr(this.value(),this.__chain__)}function Ax(){this.__values__===e&&(this.__values__=vp(this.value()));var o=this.__index__>=this.__values__.length,u=o?e:this.__values__[this.__index__++];return{done:o,value:u}}function Cx(){return this}function Fx(o){for(var u,_=this;_ instanceof Ro;){var w=J0(_);w.__index__=0,w.__values__=e,u?A.__wrapped__=w:u=w;var A=w;_=_.__wrapped__}return A.__wrapped__=o,u}function Mx(){var o=this.__wrapped__;if(o instanceof Wt){var u=o;return this.__actions__.length&&(u=new Wt(this)),u=u.reverse(),u.__actions__.push({func:Xo,args:[ll],thisArg:e}),new Tr(u,this.__chain__)}return this.thru(ll)}function Nx(){return w0(this.__wrapped__,this.__actions__)}var Sx=jo(function(o,u,_){ae.call(o,_)?++o[_]:mn(o,_,1)});function Bx(o,u,_){var w=It(o)?Th:Db;return _&&rr(o,u,_)&&(u=e),w(o,At(u,3))}function Ox(o,u){var _=It(o)?$n:n0;return _(o,At(u,3))}var Tx=B0(X0),Ix=B0(Q0);function $x(o,u){return Ze(Qo(o,u),1)}function Lx(o,u){return Ze(Qo(o,u),G)}function Rx(o,u,_){return _=_===e?1:Lt(_),Ze(Qo(o,u),_)}function sp(o,u){var _=It(o)?Br:zn;return _(o,At(u,3))}function op(o,u){var _=It(o)?rD:r0;return _(o,At(u,3))}var Px=jo(function(o,u,_){ae.call(o,_)?o[_].push(u):mn(o,_,[u])});function zx(o,u,_,w){o=lr(o)?o:Wi(o),_=_&&!w?Lt(_):0;var A=o.length;return _<0&&(_=ze(A+_,0)),ia(o)?_<=A&&o.indexOf(u,_)>-1:!!A&&Bi(o,u,_)>-1}var qx=Pt(function(o,u,_){var w=-1,A=typeof u=="function",T=lr(o)?H(o.length):[];return zn(o,function(R){T[++w]=A?yr(u,R,_):ps(R,u,_)}),T}),kx=jo(function(o,u,_){mn(o,_,u)});function Qo(o,u){var _=It(o)?De:l0;return _(o,At(u,3))}function Ux(o,u,_,w){return o==null?[]:(It(u)||(u=u==null?[]:[u]),_=w?e:_,It(_)||(_=_==null?[]:[_]),p0(o,u,_))}var Wx=jo(function(o,u,_){o[_?0:1].push(u)},function(){return[[],[]]});function jx(o,u,_){var w=It(o)?bu:Rh,A=arguments.length<3;return w(o,At(u,4),_,A,zn)}function Yx(o,u,_){var w=It(o)?nD:Rh,A=arguments.length<3;return w(o,At(u,4),_,A,r0)}function Vx(o,u){var _=It(o)?$n:n0;return _(o,ra(At(u,3)))}function Zx(o){var u=It(o)?Xh:zb;return u(o)}function Gx(o,u,_){(_?rr(o,u,_):u===e)?u=1:u=Lt(u);var w=It(o)?mb:qb;return w(o,u)}function Kx(o){var u=It(o)?gb:Ub;return u(o)}function Hx(o){if(o==null)return 0;if(lr(o))return ia(o)?Ti(o):o.length;var u=Xe(o);return u==Jt||u==mr?o.size:ku(o).length}function Jx(o,u,_){var w=It(o)?Eu:Wb;return _&&rr(o,u,_)&&(u=e),w(o,At(u,3))}var Xx=Pt(function(o,u){if(o==null)return[];var _=u.length;return _>1&&rr(o,u[0],u[1])?u=[]:_>2&&rr(u[0],u[1],u[2])&&(u=[u[0]]),p0(o,Ze(u,1),[])}),ta=OD||function(){return Ve.Date.now()};function Qx(o,u){if(typeof u!="function")throw new Or(a);return o=Lt(o),function(){if(--o<1)return u.apply(this,arguments)}}function ap(o,u,_){return u=_?e:u,u=o&&u==null?o.length:u,gn(o,M,e,e,e,e,u)}function up(o,u){var _;if(typeof u!="function")throw new Or(a);return o=Lt(o),function(){return--o>0&&(_=u.apply(this,arguments)),o<=1&&(u=e),_}}var fl=Pt(function(o,u,_){var w=D;if(_.length){var A=Rn(_,ki(fl));w|=x}return gn(o,w,u,_,A)}),lp=Pt(function(o,u,_){var w=D|v;if(_.length){var A=Rn(_,ki(lp));w|=x}return gn(u,w,o,_,A)});function cp(o,u,_){u=_?e:u;var w=gn(o,b,e,e,e,e,e,u);return w.placeholder=cp.placeholder,w}function fp(o,u,_){u=_?e:u;var w=gn(o,N,e,e,e,e,e,u);return w.placeholder=fp.placeholder,w}function hp(o,u,_){var w,A,T,R,q,Y,Q=0,et=!1,ot=!1,dt=!0;if(typeof o!="function")throw new Or(a);u=Rr(u)||0,xe(_)&&(et=!!_.leading,ot="maxWait"in _,T=ot?ze(Rr(_.maxWait)||0,u):T,dt="trailing"in _?!!_.trailing:dt);function yt(Ne){var Kr=w,bn=A;return w=A=e,Q=Ne,R=o.apply(bn,Kr),R}function Ct(Ne){return Q=Ne,q=vs(kt,u),et?yt(Ne):R}function Rt(Ne){var Kr=Ne-Y,bn=Ne-Q,Bp=u-Kr;return ot?Je(Bp,T-bn):Bp}function Ft(Ne){var Kr=Ne-Y,bn=Ne-Q;return Y===e||Kr>=u||Kr<0||ot&&bn>=T}function kt(){var Ne=ta();if(Ft(Ne))return Yt(Ne);q=vs(kt,Rt(Ne))}function Yt(Ne){return q=e,dt&&w?yt(Ne):(w=A=e,R)}function Er(){q!==e&&b0(q),Q=0,w=Y=A=q=e}function nr(){return q===e?R:Yt(ta())}function xr(){var Ne=ta(),Kr=Ft(Ne);if(w=arguments,A=this,Y=Ne,Kr){if(q===e)return Ct(Y);if(ot)return b0(q),q=vs(kt,u),yt(Y)}return q===e&&(q=vs(kt,u)),R}return xr.cancel=Er,xr.flush=nr,xr}var tA=Pt(function(o,u){return e0(o,1,u)}),eA=Pt(function(o,u,_){return e0(o,Rr(u)||0,_)});function rA(o){return gn(o,I)}function ea(o,u){if(typeof o!="function"||u!=null&&typeof u!="function")throw new Or(a);var _=function(){var w=arguments,A=u?u.apply(this,w):w[0],T=_.cache;if(T.has(A))return T.get(A);var R=o.apply(this,w);return _.cache=T.set(A,R)||T,R};return _.cache=new(ea.Cache||_n),_}ea.Cache=_n;function ra(o){if(typeof o!="function")throw new Or(a);return function(){var u=arguments;switch(u.length){case 0:return!o.call(this);case 1:return!o.call(this,u[0]);case 2:return!o.call(this,u[0],u[1]);case 3:return!o.call(this,u[0],u[1],u[2])}return!o.apply(this,u)}}function nA(o){return up(2,o)}var iA=jb(function(o,u){u=u.length==1&&It(u[0])?De(u[0],wr(At())):De(Ze(u,1),wr(At()));var _=u.length;return Pt(function(w){for(var A=-1,T=Je(w.length,_);++A<T;)w[A]=u[A].call(this,w[A]);return yr(o,this,w)})}),hl=Pt(function(o,u){var _=Rn(u,ki(hl));return gn(o,x,e,u,_)}),pp=Pt(function(o,u){var _=Rn(u,ki(pp));return gn(o,F,e,u,_)}),sA=vn(function(o,u){return gn(o,S,e,e,e,u)});function oA(o,u){if(typeof o!="function")throw new Or(a);return u=u===e?u:Lt(u),Pt(o,u)}function aA(o,u){if(typeof o!="function")throw new Or(a);return u=u==null?0:ze(Lt(u),0),Pt(function(_){var w=_[u],A=Un(_,0,u);return w&&Ln(A,w),yr(o,this,A)})}function uA(o,u,_){var w=!0,A=!0;if(typeof o!="function")throw new Or(a);return xe(_)&&(w="leading"in _?!!_.leading:w,A="trailing"in _?!!_.trailing:A),hp(o,u,{leading:w,maxWait:u,trailing:A})}function lA(o){return ap(o,1)}function cA(o,u){return hl(Hu(u),o)}function fA(){if(!arguments.length)return[];var o=arguments[0];return It(o)?o:[o]}function hA(o){return Ir(o,g)}function pA(o,u){return u=typeof u=="function"?u:e,Ir(o,g,u)}function dA(o){return Ir(o,f|g)}function _A(o,u){return u=typeof u=="function"?u:e,Ir(o,f|g,u)}function mA(o,u){return u==null||t0(o,u,ke(u))}function Gr(o,u){return o===u||o!==o&&u!==u}var gA=Go(Pu),vA=Go(function(o,u){return o>=u}),ci=o0(function(){return arguments}())?o0:function(o){return Ae(o)&&ae.call(o,"callee")&&!Vh.call(o,"callee")},It=H.isArray,yA=Fh?wr(Fh):Fb;function lr(o){return o!=null&&na(o.length)&&!wn(o)}function Me(o){return Ae(o)&&lr(o)}function wA(o){return o===!0||o===!1||Ae(o)&&er(o)==oe}var Wn=ID||El,DA=Mh?wr(Mh):Mb;function bA(o){return Ae(o)&&o.nodeType===1&&!ys(o)}function EA(o){if(o==null)return!0;if(lr(o)&&(It(o)||typeof o=="string"||typeof o.splice=="function"||Wn(o)||Ui(o)||ci(o)))return!o.length;var u=Xe(o);if(u==Jt||u==mr)return!o.size;if(gs(o))return!ku(o).length;for(var _ in o)if(ae.call(o,_))return!1;return!0}function xA(o,u){return ds(o,u)}function AA(o,u,_){_=typeof _=="function"?_:e;var w=_?_(o,u):e;return w===e?ds(o,u,e,_):!!w}function pl(o){if(!Ae(o))return!1;var u=er(o);return u==ue||u==Nt||typeof o.message=="string"&&typeof o.name=="string"&&!ys(o)}function CA(o){return typeof o=="number"&&Gh(o)}function wn(o){if(!xe(o))return!1;var u=er(o);return u==re||u==qt||u==Et||u==Bn}function dp(o){return typeof o=="number"&&o==Lt(o)}function na(o){return typeof o=="number"&&o>-1&&o%1==0&&o<=Z}function xe(o){var u=typeof o;return o!=null&&(u=="object"||u=="function")}function Ae(o){return o!=null&&typeof o=="object"}var _p=Nh?wr(Nh):Sb;function FA(o,u){return o===u||qu(o,u,nl(u))}function MA(o,u,_){return _=typeof _=="function"?_:e,qu(o,u,nl(u),_)}function NA(o){return mp(o)&&o!=+o}function SA(o){if(pE(o))throw new Ot(s);return a0(o)}function BA(o){return o===null}function OA(o){return o==null}function mp(o){return typeof o=="number"||Ae(o)&&er(o)==Te}function ys(o){if(!Ae(o)||er(o)!=Le)return!1;var u=So(o);if(u===null)return!0;var _=ae.call(u,"constructor")&&u.constructor;return typeof _=="function"&&_ instanceof _&&Co.call(_)==MD}var dl=Sh?wr(Sh):Bb;function TA(o){return dp(o)&&o>=-Z&&o<=Z}var gp=Bh?wr(Bh):Ob;function ia(o){return typeof o=="string"||!It(o)&&Ae(o)&&er(o)==On}function br(o){return typeof o=="symbol"||Ae(o)&&er(o)==$}var Ui=Oh?wr(Oh):Tb;function IA(o){return o===e}function $A(o){return Ae(o)&&Xe(o)==K}function LA(o){return Ae(o)&&er(o)==nt}var RA=Go(Uu),PA=Go(function(o,u){return o<=u});function vp(o){if(!o)return[];if(lr(o))return ia(o)?Vr(o):ur(o);if(os&&o[os])return mD(o[os]());var u=Xe(o),_=u==Jt?Nu:u==mr?Eo:Wi;return _(o)}function Dn(o){if(!o)return o===0?o:0;if(o=Rr(o),o===G||o===-G){var u=o<0?-1:1;return u*X}return o===o?o:0}function Lt(o){var u=Dn(o),_=u%1;return u===u?_?u-_:u:0}function yp(o){return o?oi(Lt(o),0,ct):0}function Rr(o){if(typeof o=="number")return o;if(br(o))return tt;if(xe(o)){var u=typeof o.valueOf=="function"?o.valueOf():o;o=xe(u)?u+"":u}if(typeof o!="string")return o===0?o:+o;o=Ph(o);var _=uu.test(o);return _||cu.test(o)?Qw(o.slice(2),_?2:8):au.test(o)?tt:+o}function wp(o){return rn(o,cr(o))}function zA(o){return o?oi(Lt(o),-Z,Z):o===0?o:0}function ie(o){return o==null?"":Dr(o)}var qA=zi(function(o,u){if(gs(u)||lr(u)){rn(u,ke(u),o);return}for(var _ in u)ae.call(u,_)&&fs(o,_,u[_])}),Dp=zi(function(o,u){rn(u,cr(u),o)}),sa=zi(function(o,u,_,w){rn(u,cr(u),o,w)}),kA=zi(function(o,u,_,w){rn(u,ke(u),o,w)}),UA=vn($u);function WA(o,u){var _=Pi(o);return u==null?_:Qh(_,u)}var jA=Pt(function(o,u){o=fe(o);var _=-1,w=u.length,A=w>2?u[2]:e;for(A&&rr(u[0],u[1],A)&&(w=1);++_<w;)for(var T=u[_],R=cr(T),q=-1,Y=R.length;++q<Y;){var Q=R[q],et=o[Q];(et===e||Gr(et,$i[Q])&&!ae.call(o,Q))&&(o[Q]=T[Q])}return o}),YA=Pt(function(o){return o.push(e,P0),yr(bp,e,o)});function VA(o,u){return Ih(o,At(u,3),en)}function ZA(o,u){return Ih(o,At(u,3),Ru)}function GA(o,u){return o==null?o:Lu(o,At(u,3),cr)}function KA(o,u){return o==null?o:i0(o,At(u,3),cr)}function HA(o,u){return o&&en(o,At(u,3))}function JA(o,u){return o&&Ru(o,At(u,3))}function XA(o){return o==null?[]:qo(o,ke(o))}function QA(o){return o==null?[]:qo(o,cr(o))}function _l(o,u,_){var w=o==null?e:ai(o,u);return w===e?_:w}function tC(o,u){return o!=null&&k0(o,u,Eb)}function ml(o,u){return o!=null&&k0(o,u,xb)}var eC=T0(function(o,u,_){u!=null&&typeof u.toString!="function"&&(u=Fo.call(u)),o[u]=_},vl(fr)),rC=T0(function(o,u,_){u!=null&&typeof u.toString!="function"&&(u=Fo.call(u)),ae.call(o,u)?o[u].push(_):o[u]=[_]},At),nC=Pt(ps);function ke(o){return lr(o)?Jh(o):ku(o)}function cr(o){return lr(o)?Jh(o,!0):Ib(o)}function iC(o,u){var _={};return u=At(u,3),en(o,function(w,A,T){mn(_,u(w,A,T),w)}),_}function sC(o,u){var _={};return u=At(u,3),en(o,function(w,A,T){mn(_,A,u(w,A,T))}),_}var oC=zi(function(o,u,_){ko(o,u,_)}),bp=zi(function(o,u,_,w){ko(o,u,_,w)}),aC=vn(function(o,u){var _={};if(o==null)return _;var w=!1;u=De(u,function(T){return T=kn(T,o),w||(w=T.length>1),T}),rn(o,el(o),_),w&&(_=Ir(_,f|d|g,eE));for(var A=u.length;A--;)Zu(_,u[A]);return _});function uC(o,u){return Ep(o,ra(At(u)))}var lC=vn(function(o,u){return o==null?{}:Lb(o,u)});function Ep(o,u){if(o==null)return{};var _=De(el(o),function(w){return[w]});return u=At(u),d0(o,_,function(w,A){return u(w,A[0])})}function cC(o,u,_){u=kn(u,o);var w=-1,A=u.length;for(A||(A=1,o=e);++w<A;){var T=o==null?e:o[nn(u[w])];T===e&&(w=A,T=_),o=wn(T)?T.call(o):T}return o}function fC(o,u,_){return o==null?o:_s(o,u,_)}function hC(o,u,_,w){return w=typeof w=="function"?w:e,o==null?o:_s(o,u,_,w)}var xp=L0(ke),Ap=L0(cr);function pC(o,u,_){var w=It(o),A=w||Wn(o)||Ui(o);if(u=At(u,4),_==null){var T=o&&o.constructor;A?_=w?new T:[]:xe(o)?_=wn(T)?Pi(So(o)):{}:_={}}return(A?Br:en)(o,function(R,q,Y){return u(_,R,q,Y)}),_}function dC(o,u){return o==null?!0:Zu(o,u)}function _C(o,u,_){return o==null?o:y0(o,u,Hu(_))}function mC(o,u,_,w){return w=typeof w=="function"?w:e,o==null?o:y0(o,u,Hu(_),w)}function Wi(o){return o==null?[]:Mu(o,ke(o))}function gC(o){return o==null?[]:Mu(o,cr(o))}function vC(o,u,_){return _===e&&(_=u,u=e),_!==e&&(_=Rr(_),_=_===_?_:0),u!==e&&(u=Rr(u),u=u===u?u:0),oi(Rr(o),u,_)}function yC(o,u,_){return u=Dn(u),_===e?(_=u,u=0):_=Dn(_),o=Rr(o),Ab(o,u,_)}function wC(o,u,_){if(_&&typeof _!="boolean"&&rr(o,u,_)&&(u=_=e),_===e&&(typeof u=="boolean"?(_=u,u=e):typeof o=="boolean"&&(_=o,o=e)),o===e&&u===e?(o=0,u=1):(o=Dn(o),u===e?(u=o,o=0):u=Dn(u)),o>u){var w=o;o=u,u=w}if(_||o%1||u%1){var A=Kh();return Je(o+A*(u-o+Xw("1e-"+((A+"").length-1))),u)}return ju(o,u)}var DC=qi(function(o,u,_){return u=u.toLowerCase(),o+(_?Cp(u):u)});function Cp(o){return gl(ie(o).toLowerCase())}function Fp(o){return o=ie(o),o&&o.replace(hu,fD).replace(Uw,"")}function bC(o,u,_){o=ie(o),u=Dr(u);var w=o.length;_=_===e?w:oi(Lt(_),0,w);var A=_;return _-=u.length,_>=0&&o.slice(_,A)==u}function EC(o){return o=ie(o),o&&Va.test(o)?o.replace(mo,hD):o}function xC(o){return o=ie(o),o&&Xa.test(o)?o.replace(ns,"\\$&"):o}var AC=qi(function(o,u,_){return o+(_?"-":"")+u.toLowerCase()}),CC=qi(function(o,u,_){return o+(_?" ":"")+u.toLowerCase()}),FC=S0("toLowerCase");function MC(o,u,_){o=ie(o),u=Lt(u);var w=u?Ti(o):0;if(!u||w>=u)return o;var A=(u-w)/2;return Zo(Io(A),_)+o+Zo(To(A),_)}function NC(o,u,_){o=ie(o),u=Lt(u);var w=u?Ti(o):0;return u&&w<u?o+Zo(u-w,_):o}function SC(o,u,_){o=ie(o),u=Lt(u);var w=u?Ti(o):0;return u&&w<u?Zo(u-w,_)+o:o}function BC(o,u,_){return _||u==null?u=0:u&&(u=+u),PD(ie(o).replace(is,""),u||0)}function OC(o,u,_){return(_?rr(o,u,_):u===e)?u=1:u=Lt(u),Yu(ie(o),u)}function TC(){var o=arguments,u=ie(o[0]);return o.length<3?u:u.replace(o[1],o[2])}var IC=qi(function(o,u,_){return o+(_?"_":"")+u.toLowerCase()});function $C(o,u,_){return _&&typeof _!="number"&&rr(o,u,_)&&(u=_=e),_=_===e?ct:_>>>0,_?(o=ie(o),o&&(typeof u=="string"||u!=null&&!dl(u))&&(u=Dr(u),!u&&Oi(o))?Un(Vr(o),0,_):o.split(u,_)):[]}var LC=qi(function(o,u,_){return o+(_?" ":"")+gl(u)});function RC(o,u,_){return o=ie(o),_=_==null?0:oi(Lt(_),0,o.length),u=Dr(u),o.slice(_,_+u.length)==u}function PC(o,u,_){var w=B.templateSettings;_&&rr(o,u,_)&&(u=e),o=ie(o),u=sa({},u,w,R0);var A=sa({},u.imports,w.imports,R0),T=ke(A),R=Mu(A,T),q,Y,Q=0,et=u.interpolate||Mi,ot="__p += '",dt=Su((u.escape||Mi).source+"|"+et.source+"|"+(et===go?ou:Mi).source+"|"+(u.evaluate||Mi).source+"|$","g"),yt="//# sourceURL="+(ae.call(u,"sourceURL")?(u.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Zw+"]")+`
11
11
  `;o.replace(dt,function(Ft,kt,Yt,Er,nr,xr){return Yt||(Yt=Er),ot+=o.slice(Q,xr).replace(ei,pD),kt&&(q=!0,ot+=`' +
12
12
  __e(`+kt+`) +
13
13
  '`),nr&&(Y=!0,ot+=`';
@@ -24,43 +24,43 @@ __p += '`),Yt&&(ot+=`' +
24
24
  function print() { __p += __j.call(arguments, '') }
25
25
  `:`;
26
26
  `)+ot+`return __p
27
- }`;var Rt=Np(function(){return te(T,wt+"return "+ot).apply(e,R)});if(Rt.source=ot,pl(Rt))throw Rt;return Rt}function zC(o){return ie(o).toLowerCase()}function qC(o){return ie(o).toUpperCase()}function kC(o,u,_){if(o=ie(o),o&&(_||u===e))return Ph(o);if(!o||!(u=Dr(u)))return o;var y=Vr(o),A=Vr(u),T=zh(y,A),R=qh(y,A)+1;return Un(y,T,R).join("")}function UC(o,u,_){if(o=ie(o),o&&(_||u===e))return o.slice(0,Uh(o)+1);if(!o||!(u=Dr(u)))return o;var y=Vr(o),A=qh(y,Vr(u))+1;return Un(y,0,A).join("")}function WC(o,u,_){if(o=ie(o),o&&(_||u===e))return o.replace(is,"");if(!o||!(u=Dr(u)))return o;var y=Vr(o),A=zh(y,Vr(u));return Un(y,A).join("")}function jC(o,u){var _=C,y=O;if(xe(u)){var A="separator"in u?u.separator:A;_="length"in u?Lt(u.length):_,y="omission"in u?Dr(u.omission):y}o=ie(o);var T=o.length;if(Oi(o)){var R=Vr(o);T=R.length}if(_>=T)return o;var q=_-Ti(y);if(q<1)return y;var Y=R?Un(R,0,q).join(""):o.slice(0,q);if(A===e)return Y+y;if(R&&(q+=Y.length-q),dl(A)){if(o.slice(q).search(A)){var Q,et=Y;for(A.global||(A=Su(A.source,ie(vo.exec(A))+"g")),A.lastIndex=0;Q=A.exec(et);)var ot=Q.index;Y=Y.slice(0,ot===e?q:ot)}}else if(o.indexOf(Dr(A),q)!=q){var dt=Y.lastIndexOf(A);dt>-1&&(Y=Y.slice(0,dt))}return Y+y}function YC(o){return o=ie(o),o&&Ya.test(o)?o.replace(ti,yD):o}var VC=qi(function(o,u,_){return o+(_?" ":"")+u.toUpperCase()}),gl=S0("toUpperCase");function Mp(o,u,_){return o=ie(o),u=_?e:u,u===e?_D(o)?ED(o):oD(o):o.match(u)||[]}var Np=Pt(function(o,u){try{return wr(o,e,u)}catch(_){return pl(_)?_:new Ot(_)}}),ZC=vn(function(o,u){return Br(u,function(_){_=nn(_),mn(o,_,fl(o[_],o))}),o});function GC(o){var u=o==null?0:o.length,_=At();return o=u?De(o,function(y){if(typeof y[1]!="function")throw new Or(a);return[_(y[0]),y[1]]}):[],Pt(function(y){for(var A=-1;++A<u;){var T=o[A];if(wr(T[0],this,y))return wr(T[1],this,y)}})}function KC(o){return yb(Ir(o,f))}function vl(o){return function(){return o}}function HC(o,u){return o==null||o!==o?u:o}var JC=O0(),XC=O0(!0);function fr(o){return o}function wl(o){return u0(typeof o=="function"?o:Ir(o,f))}function QC(o){return c0(Ir(o,f))}function t2(o,u){return f0(o,Ir(u,f))}var e2=Pt(function(o,u){return function(_){return ps(_,o,u)}}),r2=Pt(function(o,u){return function(_){return ps(o,_,u)}});function yl(o,u,_){var y=ke(u),A=qo(u,y);_==null&&!(xe(u)&&(A.length||!y.length))&&(_=u,u=o,o=this,A=qo(u,ke(u)));var T=!(xe(_)&&"chain"in _)||!!_.chain,R=yn(o);return Br(A,function(q){var Y=u[q];o[q]=Y,R&&(o.prototype[q]=function(){var Q=this.__chain__;if(T||Q){var et=o(this.__wrapped__),ot=et.__actions__=ur(this.__actions__);return ot.push({func:Y,args:arguments,thisArg:o}),et.__chain__=Q,et}return Y.apply(o,Ln([this.value()],arguments))})}),o}function n2(){return Ve._===this&&(Ve._=ND),this}function Dl(){}function i2(o){return o=Lt(o),Pt(function(u){return h0(u,o)})}var s2=Xu(De),o2=Xu(Th),a2=Xu(Eu);function Sp(o){return sl(o)?xu(nn(o)):Rb(o)}function u2(o){return function(u){return o==null?e:ai(o,u)}}var l2=I0(),c2=I0(!0);function bl(){return[]}function El(){return!1}function f2(){return{}}function h2(){return""}function p2(){return!0}function d2(o,u){if(o=Lt(o),o<1||o>Z)return[];var _=ct,y=Je(o,ct);u=At(u),o-=ct;for(var A=Fu(y,u);++_<o;)u(_);return A}function _2(o){return It(o)?De(o,nn):br(o)?[o]:ur(H0(ie(o)))}function m2(o){var u=++FD;return ie(o)+u}var g2=Vo(function(o,u){return o+u},0),v2=Qu("ceil"),w2=Vo(function(o,u){return o/u},1),y2=Qu("floor");function D2(o){return o&&o.length?zo(o,fr,Pu):e}function b2(o,u){return o&&o.length?zo(o,At(u,2),Pu):e}function E2(o){return Lh(o,fr)}function x2(o,u){return Lh(o,At(u,2))}function A2(o){return o&&o.length?zo(o,fr,Uu):e}function C2(o,u){return o&&o.length?zo(o,At(u,2),Uu):e}var F2=Vo(function(o,u){return o*u},1),M2=Qu("round"),N2=Vo(function(o,u){return o-u},0);function S2(o){return o&&o.length?Cu(o,fr):0}function B2(o,u){return o&&o.length?Cu(o,At(u,2)):0}return B.after=Qx,B.ary=ap,B.assign=qA,B.assignIn=Dp,B.assignInWith=sa,B.assignWith=kA,B.at=UA,B.before=up,B.bind=fl,B.bindAll=ZC,B.bindKey=lp,B.castArray=fA,B.chain=ip,B.chunk=yE,B.compact=DE,B.concat=bE,B.cond=GC,B.conforms=KC,B.constant=vl,B.countBy=Sx,B.create=WA,B.curry=cp,B.curryRight=fp,B.debounce=hp,B.defaults=jA,B.defaultsDeep=YA,B.defer=tA,B.delay=eA,B.difference=EE,B.differenceBy=xE,B.differenceWith=AE,B.drop=CE,B.dropRight=FE,B.dropRightWhile=ME,B.dropWhile=NE,B.fill=SE,B.filter=Ox,B.flatMap=$x,B.flatMapDeep=Lx,B.flatMapDepth=Rx,B.flatten=tp,B.flattenDeep=BE,B.flattenDepth=OE,B.flip=rA,B.flow=JC,B.flowRight=XC,B.fromPairs=TE,B.functions=XA,B.functionsIn=QA,B.groupBy=Px,B.initial=$E,B.intersection=LE,B.intersectionBy=RE,B.intersectionWith=PE,B.invert=eC,B.invertBy=rC,B.invokeMap=qx,B.iteratee=wl,B.keyBy=kx,B.keys=ke,B.keysIn=cr,B.map=Qo,B.mapKeys=iC,B.mapValues=sC,B.matches=QC,B.matchesProperty=t2,B.memoize=ea,B.merge=oC,B.mergeWith=bp,B.method=e2,B.methodOf=r2,B.mixin=yl,B.negate=ra,B.nthArg=i2,B.omit=aC,B.omitBy=uC,B.once=nA,B.orderBy=Ux,B.over=s2,B.overArgs=iA,B.overEvery=o2,B.overSome=a2,B.partial=hl,B.partialRight=pp,B.partition=Wx,B.pick=lC,B.pickBy=Ep,B.property=Sp,B.propertyOf=u2,B.pull=UE,B.pullAll=rp,B.pullAllBy=WE,B.pullAllWith=jE,B.pullAt=YE,B.range=l2,B.rangeRight=c2,B.rearg=sA,B.reject=Vx,B.remove=VE,B.rest=oA,B.reverse=ll,B.sampleSize=Gx,B.set=fC,B.setWith=hC,B.shuffle=Kx,B.slice=ZE,B.sortBy=Xx,B.sortedUniq=tx,B.sortedUniqBy=ex,B.split=$C,B.spread=aA,B.tail=rx,B.take=nx,B.takeRight=ix,B.takeRightWhile=sx,B.takeWhile=ox,B.tap=Dx,B.throttle=uA,B.thru=Xo,B.toArray=vp,B.toPairs=xp,B.toPairsIn=Ap,B.toPath=_2,B.toPlainObject=yp,B.transform=pC,B.unary=lA,B.union=ax,B.unionBy=ux,B.unionWith=lx,B.uniq=cx,B.uniqBy=fx,B.uniqWith=hx,B.unset=dC,B.unzip=cl,B.unzipWith=np,B.update=_C,B.updateWith=mC,B.values=Wi,B.valuesIn=gC,B.without=px,B.words=Mp,B.wrap=cA,B.xor=dx,B.xorBy=_x,B.xorWith=mx,B.zip=gx,B.zipObject=vx,B.zipObjectDeep=wx,B.zipWith=yx,B.entries=xp,B.entriesIn=Ap,B.extend=Dp,B.extendWith=sa,yl(B,B),B.add=g2,B.attempt=Np,B.camelCase=DC,B.capitalize=Cp,B.ceil=v2,B.clamp=vC,B.clone=hA,B.cloneDeep=dA,B.cloneDeepWith=_A,B.cloneWith=pA,B.conformsTo=mA,B.deburr=Fp,B.defaultTo=HC,B.divide=w2,B.endsWith=bC,B.eq=Gr,B.escape=EC,B.escapeRegExp=xC,B.every=Bx,B.find=Tx,B.findIndex=X0,B.findKey=VA,B.findLast=Ix,B.findLastIndex=Q0,B.findLastKey=ZA,B.floor=y2,B.forEach=sp,B.forEachRight=op,B.forIn=GA,B.forInRight=KA,B.forOwn=HA,B.forOwnRight=JA,B.get=_l,B.gt=gA,B.gte=vA,B.has=tC,B.hasIn=ml,B.head=ep,B.identity=fr,B.includes=zx,B.indexOf=IE,B.inRange=wC,B.invoke=nC,B.isArguments=ci,B.isArray=It,B.isArrayBuffer=wA,B.isArrayLike=lr,B.isArrayLikeObject=Me,B.isBoolean=yA,B.isBuffer=Wn,B.isDate=DA,B.isElement=bA,B.isEmpty=EA,B.isEqual=xA,B.isEqualWith=AA,B.isError=pl,B.isFinite=CA,B.isFunction=yn,B.isInteger=dp,B.isLength=na,B.isMap=_p,B.isMatch=FA,B.isMatchWith=MA,B.isNaN=NA,B.isNative=SA,B.isNil=OA,B.isNull=BA,B.isNumber=mp,B.isObject=xe,B.isObjectLike=Ae,B.isPlainObject=ws,B.isRegExp=dl,B.isSafeInteger=TA,B.isSet=gp,B.isString=ia,B.isSymbol=br,B.isTypedArray=Ui,B.isUndefined=IA,B.isWeakMap=$A,B.isWeakSet=LA,B.join=zE,B.kebabCase=AC,B.last=Lr,B.lastIndexOf=qE,B.lowerCase=CC,B.lowerFirst=FC,B.lt=RA,B.lte=PA,B.max=D2,B.maxBy=b2,B.mean=E2,B.meanBy=x2,B.min=A2,B.minBy=C2,B.stubArray=bl,B.stubFalse=El,B.stubObject=f2,B.stubString=h2,B.stubTrue=p2,B.multiply=F2,B.nth=kE,B.noConflict=n2,B.noop=Dl,B.now=ta,B.pad=MC,B.padEnd=NC,B.padStart=SC,B.parseInt=BC,B.random=yC,B.reduce=jx,B.reduceRight=Yx,B.repeat=OC,B.replace=TC,B.result=cC,B.round=M2,B.runInContext=j,B.sample=Zx,B.size=Hx,B.snakeCase=IC,B.some=Jx,B.sortedIndex=GE,B.sortedIndexBy=KE,B.sortedIndexOf=HE,B.sortedLastIndex=JE,B.sortedLastIndexBy=XE,B.sortedLastIndexOf=QE,B.startCase=LC,B.startsWith=RC,B.subtract=N2,B.sum=S2,B.sumBy=B2,B.template=PC,B.times=d2,B.toFinite=Dn,B.toInteger=Lt,B.toLength=wp,B.toLower=zC,B.toNumber=Rr,B.toSafeInteger=zA,B.toString=ie,B.toUpper=qC,B.trim=kC,B.trimEnd=UC,B.trimStart=WC,B.truncate=jC,B.unescape=YC,B.uniqueId=m2,B.upperCase=VC,B.upperFirst=gl,B.each=sp,B.eachRight=op,B.first=ep,yl(B,function(){var o={};return en(B,function(u,_){ae.call(B.prototype,_)||(o[_]=u)}),o}(),{chain:!1}),B.VERSION=r,Br(["bind","bindKey","curry","curryRight","partial","partialRight"],function(o){B[o].placeholder=B}),Br(["drop","take"],function(o,u){Wt.prototype[o]=function(_){_=_===e?1:ze(Lt(_),0);var y=this.__filtered__&&!u?new Wt(this):this.clone();return y.__filtered__?y.__takeCount__=Je(_,y.__takeCount__):y.__views__.push({size:Je(_,ct),type:o+(y.__dir__<0?"Right":"")}),y},Wt.prototype[o+"Right"]=function(_){return this.reverse()[o](_).reverse()}}),Br(["filter","map","takeWhile"],function(o,u){var _=u+1,y=_==U||_==P;Wt.prototype[o]=function(A){var T=this.clone();return T.__iteratees__.push({iteratee:At(A,3),type:_}),T.__filtered__=T.__filtered__||y,T}}),Br(["head","last"],function(o,u){var _="take"+(u?"Right":"");Wt.prototype[o]=function(){return this[_](1).value()[0]}}),Br(["initial","tail"],function(o,u){var _="drop"+(u?"":"Right");Wt.prototype[o]=function(){return this.__filtered__?new Wt(this):this[_](1)}}),Wt.prototype.compact=function(){return this.filter(fr)},Wt.prototype.find=function(o){return this.filter(o).head()},Wt.prototype.findLast=function(o){return this.reverse().find(o)},Wt.prototype.invokeMap=Pt(function(o,u){return typeof o=="function"?new Wt(this):this.map(function(_){return ps(_,o,u)})}),Wt.prototype.reject=function(o){return this.filter(ra(At(o)))},Wt.prototype.slice=function(o,u){o=Lt(o);var _=this;return _.__filtered__&&(o>0||u<0)?new Wt(_):(o<0?_=_.takeRight(-o):o&&(_=_.drop(o)),u!==e&&(u=Lt(u),_=u<0?_.dropRight(-u):_.take(u-o)),_)},Wt.prototype.takeRightWhile=function(o){return this.reverse().takeWhile(o).reverse()},Wt.prototype.toArray=function(){return this.take(ct)},en(Wt.prototype,function(o,u){var _=/^(?:filter|find|map|reject)|While$/.test(u),y=/^(?:head|last)$/.test(u),A=B[y?"take"+(u=="last"?"Right":""):u],T=y||/^find/.test(u);A&&(B.prototype[u]=function(){var R=this.__wrapped__,q=y?[1]:arguments,Y=R instanceof Wt,Q=q[0],et=Y||It(R),ot=function(kt){var Yt=A.apply(B,Ln([kt],q));return y&&dt?Yt[0]:Yt};et&&_&&typeof Q=="function"&&Q.length!=1&&(Y=et=!1);var dt=this.__chain__,wt=!!this.__actions__.length,Ct=T&&!dt,Rt=Y&&!wt;if(!T&&et){R=Rt?R:new Wt(this);var Ft=o.apply(R,q);return Ft.__actions__.push({func:Xo,args:[ot],thisArg:e}),new Tr(Ft,dt)}return Ct&&Rt?o.apply(this,q):(Ft=this.thru(ot),Ct?y?Ft.value()[0]:Ft.value():Ft)})}),Br(["pop","push","shift","sort","splice","unshift"],function(o){var u=xo[o],_=/^(?:push|sort|unshift)$/.test(o)?"tap":"thru",y=/^(?:pop|shift)$/.test(o);B.prototype[o]=function(){var A=arguments;if(y&&!this.__chain__){var T=this.value();return u.apply(It(T)?T:[],A)}return this[_](function(R){return u.apply(It(R)?R:[],A)})}}),en(Wt.prototype,function(o,u){var _=B[u];if(_){var y=_.name+"";ae.call(Ri,y)||(Ri[y]=[]),Ri[y].push({name:u,func:_})}}),Ri[Yo(e,v).name]=[{name:"wrapper",func:e}],Wt.prototype.clone=YD,Wt.prototype.reverse=VD,Wt.prototype.value=ZD,B.prototype.at=bx,B.prototype.chain=Ex,B.prototype.commit=xx,B.prototype.next=Ax,B.prototype.plant=Fx,B.prototype.reverse=Mx,B.prototype.toJSON=B.prototype.valueOf=B.prototype.value=Nx,B.prototype.first=B.prototype.head,os&&(B.prototype[os]=Cx),B},Ii=xD();ri?((ri.exports=Ii)._=Ii,wu._=Ii):Ve._=Ii}).call(Vt)}(jn,jn.exports);var Pr=jn.exports;class Op{constructor(t,e){z(this,"_defaultParams");z(this,"_UserTypeFileds");z(this,"_varipKeys");this._defaultParams=t,this._UserTypeFileds=this._createDynamicClass(),this._varipKeys=e}copy(t){return Pr.cloneDeep(t)}new(t={}){return new this._UserTypeFileds(Object.assign(Pr.cloneDeep(this._defaultParams),t),this._varipKeys)}addNewMethod(t,e){this._UserTypeFileds.prototype[t]=e}_createDynamicClass(){return class{constructor(t,e){z(this,"_varipKeys");Object.assign(this,t),this._varipKeys=e}get varipKeys(){return[...this._varipKeys]}copy(){return Pr.cloneDeep(this)}}}}var Ml={exports:{}};(function(i,t){(function(e,r){i.exports=r()})(Vt,function(){var e=1e3,r=6e4,n=36e5,s="millisecond",a="second",l="minute",c="hour",h="day",p="week",f="month",d="quarter",g="year",w="date",m="Invalid Date",D=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,v=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,E={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(U){var W=["th","st","nd","rd"],P=U%100;return"["+U+(W[(P-20)%10]||W[P]||W[0])+"]"}},b=function(U,W,P){var G=String(U);return!G||G.length>=W?U:""+Array(W+1-G.length).join(P)+U},N={s:b,z:function(U){var W=-U.utcOffset(),P=Math.abs(W),G=Math.floor(P/60),Z=P%60;return(W<=0?"+":"-")+b(G,2,"0")+":"+b(Z,2,"0")},m:function U(W,P){if(W.date()<P.date())return-U(P,W);var G=12*(P.year()-W.year())+(P.month()-W.month()),Z=W.clone().add(G,f),X=P-Z<0,tt=W.clone().add(G+(X?-1:1),f);return+(-(G+(P-Z)/(X?Z-tt:tt-Z))||0)},a:function(U){return U<0?Math.ceil(U)||0:Math.floor(U)},p:function(U){return{M:f,y:g,w:p,d:h,D:w,h:c,m:l,s:a,ms:s,Q:d}[U]||String(U||"").toLowerCase().replace(/s$/,"")},u:function(U){return U===void 0}},x="en",F={};F[x]=E;var M="$isDayjsObject",S=function(U){return U instanceof L||!(!U||!U[M])},I=function U(W,P,G){var Z;if(!W)return x;if(typeof W=="string"){var X=W.toLowerCase();F[X]&&(Z=X),P&&(F[X]=P,Z=X);var tt=W.split("-");if(!Z&&tt.length>1)return U(tt[0])}else{var ct=W.name;F[ct]=W,Z=ct}return!G&&Z&&(x=Z),Z||!G&&x},C=function(U,W){if(S(U))return U.clone();var P=typeof W=="object"?W:{};return P.date=U,P.args=arguments,new L(P)},O=N;O.l=I,O.i=S,O.w=function(U,W){return C(U,{locale:W.$L,utc:W.$u,x:W.$x,$offset:W.$offset})};var L=function(){function U(P){this.$L=I(P.locale,null,!0),this.parse(P),this.$x=this.$x||P.x||{},this[M]=!0}var W=U.prototype;return W.parse=function(P){this.$d=function(G){var Z=G.date,X=G.utc;if(Z===null)return new Date(NaN);if(O.u(Z))return new Date;if(Z instanceof Date)return new Date(Z);if(typeof Z=="string"&&!/Z$/i.test(Z)){var tt=Z.match(D);if(tt){var ct=tt[2]-1||0,vt=(tt[7]||"0").substring(0,3);return X?new Date(Date.UTC(tt[1],ct,tt[3]||1,tt[4]||0,tt[5]||0,tt[6]||0,vt)):new Date(tt[1],ct,tt[3]||1,tt[4]||0,tt[5]||0,tt[6]||0,vt)}}return new Date(Z)}(P),this.init()},W.init=function(){var P=this.$d;this.$y=P.getFullYear(),this.$M=P.getMonth(),this.$D=P.getDate(),this.$W=P.getDay(),this.$H=P.getHours(),this.$m=P.getMinutes(),this.$s=P.getSeconds(),this.$ms=P.getMilliseconds()},W.$utils=function(){return O},W.isValid=function(){return this.$d.toString()!==m},W.isSame=function(P,G){var Z=C(P);return this.startOf(G)<=Z&&Z<=this.endOf(G)},W.isAfter=function(P,G){return C(P)<this.startOf(G)},W.isBefore=function(P,G){return this.endOf(G)<C(P)},W.$g=function(P,G,Z){return O.u(P)?this[G]:this.set(Z,P)},W.unix=function(){return Math.floor(this.valueOf()/1e3)},W.valueOf=function(){return this.$d.getTime()},W.startOf=function(P,G){var Z=this,X=!!O.u(G)||G,tt=O.p(P),ct=function(Tt,Nt){var ue=O.w(Z.$u?Date.UTC(Z.$y,Nt,Tt):new Date(Z.$y,Nt,Tt),Z);return X?ue:ue.endOf(h)},vt=function(Tt,Nt){return O.w(Z.toDate()[Tt].apply(Z.toDate("s"),(X?[0,0,0,0]:[23,59,59,999]).slice(Nt)),Z)},lt=this.$W,yt=this.$M,bt=this.$D,Bt="set"+(this.$u?"UTC":"");switch(tt){case g:return X?ct(1,0):ct(31,11);case f:return X?ct(1,yt):ct(0,yt+1);case p:var Et=this.$locale().weekStart||0,oe=(lt<Et?lt+7:lt)-Et;return ct(X?bt-oe:bt+(6-oe),yt);case h:case w:return vt(Bt+"Hours",0);case c:return vt(Bt+"Minutes",1);case l:return vt(Bt+"Seconds",2);case a:return vt(Bt+"Milliseconds",3);default:return this.clone()}},W.endOf=function(P){return this.startOf(P,!1)},W.$set=function(P,G){var Z,X=O.p(P),tt="set"+(this.$u?"UTC":""),ct=(Z={},Z[h]=tt+"Date",Z[w]=tt+"Date",Z[f]=tt+"Month",Z[g]=tt+"FullYear",Z[c]=tt+"Hours",Z[l]=tt+"Minutes",Z[a]=tt+"Seconds",Z[s]=tt+"Milliseconds",Z)[X],vt=X===h?this.$D+(G-this.$W):G;if(X===f||X===g){var lt=this.clone().set(w,1);lt.$d[ct](vt),lt.init(),this.$d=lt.set(w,Math.min(this.$D,lt.daysInMonth())).$d}else ct&&this.$d[ct](vt);return this.init(),this},W.set=function(P,G){return this.clone().$set(P,G)},W.get=function(P){return this[O.p(P)]()},W.add=function(P,G){var Z,X=this;P=Number(P);var tt=O.p(G),ct=function(yt){var bt=C(X);return O.w(bt.date(bt.date()+Math.round(yt*P)),X)};if(tt===f)return this.set(f,this.$M+P);if(tt===g)return this.set(g,this.$y+P);if(tt===h)return ct(1);if(tt===p)return ct(7);var vt=(Z={},Z[l]=r,Z[c]=n,Z[a]=e,Z)[tt]||1,lt=this.$d.getTime()+P*vt;return O.w(lt,this)},W.subtract=function(P,G){return this.add(-1*P,G)},W.format=function(P){var G=this,Z=this.$locale();if(!this.isValid())return Z.invalidDate||m;var X=P||"YYYY-MM-DDTHH:mm:ssZ",tt=O.z(this),ct=this.$H,vt=this.$m,lt=this.$M,yt=Z.weekdays,bt=Z.months,Bt=Z.meridiem,Et=function(Nt,ue,re,qt){return Nt&&(Nt[ue]||Nt(G,X))||re[ue].slice(0,qt)},oe=function(Nt){return O.s(ct%12||12,Nt,"0")},Tt=Bt||function(Nt,ue,re){var qt=Nt<12?"AM":"PM";return re?qt.toLowerCase():qt};return X.replace(v,function(Nt,ue){return ue||function(re){switch(re){case"YY":return String(G.$y).slice(-2);case"YYYY":return O.s(G.$y,4,"0");case"M":return lt+1;case"MM":return O.s(lt+1,2,"0");case"MMM":return Et(Z.monthsShort,lt,bt,3);case"MMMM":return Et(bt,lt);case"D":return G.$D;case"DD":return O.s(G.$D,2,"0");case"d":return String(G.$W);case"dd":return Et(Z.weekdaysMin,G.$W,yt,2);case"ddd":return Et(Z.weekdaysShort,G.$W,yt,3);case"dddd":return yt[G.$W];case"H":return String(ct);case"HH":return O.s(ct,2,"0");case"h":return oe(1);case"hh":return oe(2);case"a":return Tt(ct,vt,!0);case"A":return Tt(ct,vt,!1);case"m":return String(vt);case"mm":return O.s(vt,2,"0");case"s":return String(G.$s);case"ss":return O.s(G.$s,2,"0");case"SSS":return O.s(G.$ms,3,"0");case"Z":return tt}return null}(Nt)||tt.replace(":","")})},W.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},W.diff=function(P,G,Z){var X,tt=this,ct=O.p(G),vt=C(P),lt=(vt.utcOffset()-this.utcOffset())*r,yt=this-vt,bt=function(){return O.m(tt,vt)};switch(ct){case g:X=bt()/12;break;case f:X=bt();break;case d:X=bt()/3;break;case p:X=(yt-lt)/6048e5;break;case h:X=(yt-lt)/864e5;break;case c:X=yt/n;break;case l:X=yt/r;break;case a:X=yt/e;break;default:X=yt}return Z?X:O.a(X)},W.daysInMonth=function(){return this.endOf(f).$D},W.$locale=function(){return F[this.$L]},W.locale=function(P,G){if(!P)return this.$L;var Z=this.clone(),X=I(P,G,!0);return X&&(Z.$L=X),Z},W.clone=function(){return O.w(this.$d,this)},W.toDate=function(){return new Date(this.valueOf())},W.toJSON=function(){return this.isValid()?this.toISOString():null},W.toISOString=function(){return this.$d.toISOString()},W.toString=function(){return this.$d.toUTCString()},U}(),k=L.prototype;return C.prototype=k,[["$ms",s],["$s",a],["$m",l],["$H",c],["$W",h],["$M",f],["$y",g],["$D",w]].forEach(function(U){k[U[1]]=function(W){return this.$g(W,U[0],U[1])}}),C.extend=function(U,W){return U.$i||(U(W,L,C),U.$i=!0),C},C.locale=I,C.isDayjs=S,C.unix=function(U){return C(1e3*U)},C.en=F[x],C.Ls=F,C.p={},C})})(Ml);var Tp=Ml.exports,ee=Kt(Tp),Nl={exports:{}};(function(i,t){(function(e,r){i.exports=r()})(Vt,function(){var e="minute",r=/[+-]\d\d(?::?\d\d)?/g,n=/([+-]|\d\d)/g;return function(s,a,l){var c=a.prototype;l.utc=function(m){var D={date:m,utc:!0,args:arguments};return new a(D)},c.utc=function(m){var D=l(this.toDate(),{locale:this.$L,utc:!0});return m?D.add(this.utcOffset(),e):D},c.local=function(){return l(this.toDate(),{locale:this.$L,utc:!1})};var h=c.parse;c.parse=function(m){m.utc&&(this.$u=!0),this.$utils().u(m.$offset)||(this.$offset=m.$offset),h.call(this,m)};var p=c.init;c.init=function(){if(this.$u){var m=this.$d;this.$y=m.getUTCFullYear(),this.$M=m.getUTCMonth(),this.$D=m.getUTCDate(),this.$W=m.getUTCDay(),this.$H=m.getUTCHours(),this.$m=m.getUTCMinutes(),this.$s=m.getUTCSeconds(),this.$ms=m.getUTCMilliseconds()}else p.call(this)};var f=c.utcOffset;c.utcOffset=function(m,D){var v=this.$utils().u;if(v(m))return this.$u?0:v(this.$offset)?f.call(this):this.$offset;if(typeof m=="string"&&(m=function(x){x===void 0&&(x="");var F=x.match(r);if(!F)return null;var M=(""+F[0]).match(n)||["-",0,0],S=M[0],I=60*+M[1]+ +M[2];return I===0?0:S==="+"?I:-I}(m),m===null))return this;var E=Math.abs(m)<=16?60*m:m,b=this;if(D)return b.$offset=E,b.$u=m===0,b;if(m!==0){var N=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(b=this.local().add(E+N,e)).$offset=E,b.$x.$localOffset=N}else b=this.utc();return b};var d=c.format;c.format=function(m){var D=m||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return d.call(this,D)},c.valueOf=function(){var m=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*m},c.isUTC=function(){return!!this.$u},c.toISOString=function(){return this.toDate().toISOString()},c.toString=function(){return this.toDate().toUTCString()};var g=c.toDate;c.toDate=function(m){return m==="s"&&this.$offset?l(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():g.call(this)};var w=c.diff;c.diff=function(m,D,v){if(m&&this.$u===m.$u)return w.call(this,m,D,v);var E=this.local(),b=l(m).local();return w.call(E,b,D,v)}}})})(Nl);var Ip=Nl.exports,Sl=Kt(Ip),Bl={exports:{}};(function(i,t){(function(e,r){i.exports=r()})(Vt,function(){var e={year:0,month:1,day:2,hour:3,minute:4,second:5},r={};return function(n,s,a){var l,c=function(d,g,w){w===void 0&&(w={});var m=new Date(d),D=function(v,E){E===void 0&&(E={});var b=E.timeZoneName||"short",N=v+"|"+b,x=r[N];return x||(x=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:v,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:b}),r[N]=x),x}(g,w);return D.formatToParts(m)},h=function(d,g){for(var w=c(d,g),m=[],D=0;D<w.length;D+=1){var v=w[D],E=v.type,b=v.value,N=e[E];N>=0&&(m[N]=parseInt(b,10))}var x=m[3],F=x===24?0:x,M=m[0]+"-"+m[1]+"-"+m[2]+" "+F+":"+m[4]+":"+m[5]+":000",S=+d;return(a.utc(M).valueOf()-(S-=S%1e3))/6e4},p=s.prototype;p.tz=function(d,g){d===void 0&&(d=l);var w=this.utcOffset(),m=this.toDate(),D=m.toLocaleString("en-US",{timeZone:d}),v=Math.round((m-new Date(D))/1e3/60),E=a(D,{locale:this.$L}).$set("millisecond",this.$ms).utcOffset(15*-Math.round(m.getTimezoneOffset()/15)-v,!0);if(g){var b=E.utcOffset();E=E.add(w-b,"minute")}return E.$x.$timezone=d,E},p.offsetName=function(d){var g=this.$x.$timezone||a.tz.guess(),w=c(this.valueOf(),g,{timeZoneName:d}).find(function(m){return m.type.toLowerCase()==="timezonename"});return w&&w.value};var f=p.startOf;p.startOf=function(d,g){if(!this.$x||!this.$x.$timezone)return f.call(this,d,g);var w=a(this.format("YYYY-MM-DD HH:mm:ss:SSS"),{locale:this.$L});return f.call(w,d,g).tz(this.$x.$timezone,!0)},a.tz=function(d,g,w){var m=w&&g,D=w||g||l,v=h(+a(),D);if(typeof d!="string")return a(d).tz(D);var E=function(F,M,S){var I=F-60*M*1e3,C=h(I,S);if(M===C)return[I,M];var O=h(I-=60*(C-M)*1e3,S);return C===O?[I,C]:[F-60*Math.min(C,O)*1e3,Math.max(C,O)]}(a.utc(d,m).valueOf(),v,D),b=E[0],N=E[1],x=a(b).utcOffset(N);return x.$x.$timezone=D,x},a.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},a.tz.setDefault=function(d){l=d}}})})(Bl);var $p=Bl.exports,Lp=Kt($p),Ol={exports:{}};(function(i,t){(function(e,r){i.exports=r()})(Vt,function(){var e="week",r="year";return function(n,s,a){var l=s.prototype;l.week=function(c){if(c===void 0&&(c=null),c!==null)return this.add(7*(c-this.week()),"day");var h=this.$locale().yearStart||1;if(this.month()===11&&this.date()>25){var p=a(this).startOf(r).add(1,r).date(h),f=a(this).endOf(e);if(p.isBefore(f))return 1}var d=a(this).startOf(r).date(h).startOf(e).subtract(1,"millisecond"),g=this.diff(d,e,!0);return g<0?a(this).startOf("week").week():Math.ceil(g)},l.weeks=function(c){return c===void 0&&(c=null),this.week(c)}}})})(Ol);var Rp=Ol.exports,Pp=Kt(Rp);function Qe(i,t){return i.replace(/\$(\w+)/g,(e,r)=>String(t[r])||e)}function ys(i){const t=parseInt(i)||1;let e=i.replace(/\d+/,"");return e==="m"||e==="M"?e="M":e?e=e.toLocaleLowerCase():e="m",[t,e]}function zp(i){const t=/([+-])(\d{1,2})(\d{0,2})/,e=i.replace(/GMT|UTC/,"").match(t);if(!e)throw new Error("Invalid timezone string");const[,r,n,s]=e,a=parseInt(n,10)*60||0,l=parseInt(s,10)||0;return(r==="+"?-1:1)*(a+l)}function zr(i,t){return t&&(t.startsWith("UTC")||t.startsWith("GMT"))?ee(i).utcOffset(zp(t)):ee(i).tz(t)}function sn(i){const[t,e]=ys(i);let r=0;switch(e){case"m":r=60;break;case"s":r=1;break;case"M":r=31*24*60*60;break;case"d":r=24*60*60;break;case"w":r=7*24*60*60;break;default:r=60*60;break}return Math.round(Number(t)*r)}function _t(i){return typeof i!="number"||isNaN(i)}var Jr=(i=>(i.BOOL="bool",i.INT="int",i.FLOAT="float",i.ARRAY="array",i.BOX="box",i.CHART_POINT="chart.point",i.COLOR="color",i.CONST="const",i.LABEL="label",i.LINE="line",i.LINEFILL="linefill",i.MAP="map",i.MATRIX="matrix",i.POLYLINE="polyline",i.SERIES="series",i.SIMPLE="simple",i.STRING="string",i.TABLE="table",i.UNDETERMINED="undetermined type",i.INPUT="input",i.NA="na",i.VOID="void",i))(Jr||{}),Ds=(i=>(i.dividends="dividends",i.none="none",i.splits="splits",i))(Ds||{}),qr=(i=>(i.freqAll="freq_all",i.freqOncePerBar="freq_once_per_bar",i.freqOncePerBarClose="freq_once_per_bar_close",i))(qr||{}),ji=(i=>(i.gapsOff="gaps_off",i.gapsOn="gaps_on",i.lookaheadOff="lookahead_off",i.lookaheadOn="lookahead_on",i))(ji||{}),Ue=(i=>(i.all="all",i.dataWindow="data_window",i.none="none",i.pane="pane",i.priceScale="price_scale",i.statusLine="status_line",i))(Ue||{}),kr=(i=>(i.both="both",i.left="left",i.none="none",i.right="right",i))(kr||{}),Gt=(i=>(i.inherit="inherit",i.mintick="mintick",i.percent="percent",i.price="price",i.volume="volume",i))(Gt||{}),bs=(i=>(i.styleDashed="style_dashed",i.styleDotted="style_dotted",i.styleSolid="style_solid",i))(bs||{}),de=(i=>(i.styleArrowdown="style_arrowdown",i.styleArrowup="style_arrowup",i.styleCircle="style_circle",i.styleCross="style_cross",i.styleDiamond="style_diamond",i.styleFlag="style_flag",i.styleLabelCenter="style_label_center",i.styleLabelDown="style_label_down",i.styleLabelLeft="style_label_left",i.styleLabelLowerLeft="style_label_lower_left",i.styleLabelLowerRight="style_label_lower_right",i.styleLabelRight="style_label_right",i.styleLabelUp="style_label_up",i.styleLabelUpperLeft="style_label_upper_left",i.styleLabelUpperRight="style_label_upper_right",i.styleNone="style_none",i.styleSquare="style_square",i.styleTextOutline="style_text_outline",i.styleTriangledown="style_triangledown",i.styleTriangleup="style_triangleup",i.styleXcross="style_xcross",i))(de||{}),Ie=(i=>(i.styleArrowBoth="style_arrow_both",i.styleArrowLeft="style_arrow_left",i.styleArrowRight="style_arrow_right",i.styleDashed="style_dashed",i.styleDotted="style_dotted",i.styleSolid="style_solid",i))(Ie||{}),on=(i=>(i.abovebar="abovebar",i.absolute="absolute",i.belowbar="belowbar",i.bottom="bottom",i.top="top",i))(on||{}),Yn=(i=>(i.ascending="ascending",i.descending="descending",i))(Yn||{}),Ar=(i=>(i.styleArea="Area",i.styleAreabr="Area With Breaks",i.styleCircles="Circles",i.styleColumns="Columns",i.styleCross="Cross",i.styleHistogram="Histogram",i.styleLine="Line",i.styleLinebr="Line With Breaks",i.styleStepline="Step Line",i.styleSteplineDiamond="Step Line With Diamonds",i.styleSteplinebr="Step line with Breaks",i))(Ar||{}),hr=(i=>(i.bottomCenter="bottom_center",i.bottomLeft="bottom_left",i.bottomRight="bottom_right",i.middleCenter="middle_center",i.middleLeft="middle_left",i.middleRight="middle_right",i.topCenter="top_center",i.topLeft="top_left",i.topRight="top_right",i))(hr||{}),Es=(i=>(i.left="left",i.none="none",i.right="right",i))(Es||{}),aa=(i=>(i.extended="extended",i.regular="regular",i))(aa||{}),ir=(i=>(i.arrowdown="arrowdown",i.arrowup="arrowup",i.circle="circle",i.cross="cross",i.diamond="diamond",i.flag="flag",i.labeldown="labeldown",i.labelup="labelup",i.square="square",i.triangledown="triangledown",i.triangleup="triangleup",i.xcross="xcross",i))(ir||{}),tr=(i=>(i.auto="auto",i.huge="huge",i.large="large",i.normal="normal",i.small="small",i.tiny="tiny",i))(tr||{}),Vn=(i=>(i.familyDefault="default",i.familyMonospace="monospace",i))(Vn||{}),Se=(i=>(i.cash="cash",i.fixed="fixed",i.percentOfEquity="percent_of_equity",i))(Se||{}),Cr=(i=>(i.cashPerContract="cash_per_contract",i.cashPerOrder="cash_per_order",i.percent="percent",i))(Cr||{}),_e=(i=>(i.all="all",i.long="long",i.short="short",i))(_e||{}),an=(i=>(i.cancel="cancel",i.none="none",i.reduce="reduce",i))(an||{}),Ut=(i=>(i.alignBottom="align_bottom",i.alignCenter="align_center",i.alignLeft="align_left",i.alignRight="align_right",i.alignTop="align_top",i.wrapAuto="wrap_auto",i.wrapNone="wrap_none",i))(Ut||{}),ve=(i=>(i.bar_index="bar_index",i.bar_time="bar_time",i))(ve||{}),Ur=(i=>(i.abovebar="abovebar",i.belowbar="belowbar",i.price="price",i))(Ur||{}),xs=(i=>(i.actual="actual",i.estimate="estimate",i.standardized="standardized",i))(xs||{}),Zn=(i=>(i.traditional="Traditional",i.fibonacci="Fibonacci",i.woodie="Woodie",i.classic="Classic",i.dm="DM",i.camarilla="Camarilla",i))(Zn||{}),sr=(i=>(i.INT="int",i.BOOL="bool",i.TIME="time",i.COLOR="color",i.FLOAT="float",i.PRICE="price",i.SOURCE="source",i.STRING="string",i.SYMBOL="symbol",i.SESSION="session",i.TEXT_AREA="text_area",i.TIMEFRAME="timeframe",i))(sr||{}),jt=(i=>(i[i.Hint=1]="Hint",i[i.Info=2]="Info",i[i.Warning=4]="Warning",i[i.Error=8]="Error",i))(jt||{});class qp{constructor(t){z(this,"_errorListener");this._errorListener=t}new({size:t,initial_value:e}={}){return new Qt(t,e,this._errorListener)}new_float({size:t,initial_value:e}={}){return new Qt(t,e,this._errorListener)}new_int({size:t,initial_value:e}={}){return new Qt(t,e,this._errorListener)}new_color({size:t,initial_value:e}={}){return new Qt(t,e,this._errorListener)}new_bool({size:t,initial_value:e}={}){return new Qt(t,e,this._errorListener)}new_string({size:t,initial_value:e}={}){return new Qt(t,e,this._errorListener)}new_line({size:t,initial_value:e}={}){return new Qt(t,e,this._errorListener)}new_box({size:t,initial_value:e}={}){return new Qt(t,e,this._errorListener)}new_table({size:t,initial_value:e}={}){return new Qt(t,e,this._errorListener)}new_linefill({size:t,initial_value:e}={}){return new Qt(t,e,this._errorListener)}new_label({size:t,initial_value:e}={}){return new Qt(t,e,this._errorListener)}copy({id:t}){return t==null?void 0:t.copy()}slice({id:t,index_from:e,index_to:r}){return t==null?void 0:t.slice({index_from:e,index_to:r})}size({id:t}){return t==null?void 0:t.size()}first({id:t}){return t==null?void 0:t.first()}abs({id:t},e){return t==null?void 0:t.abs(e)}avg({id:t},e){return t==null?void 0:t.avg(e)}binary_search({id:t,val:e},r){return t==null?void 0:t.binary_search({val:e},r)}binary_search_leftmost({id:t,val:e},r){return t==null?void 0:t.binary_search_leftmost({val:e},r)}binary_search_rightmost({id:t,val:e},r){return t==null?void 0:t.binary_search_rightmost({val:e},r)}clear({id:t}){t==null||t.clear()}concat({id1:t,id2:e}){return t==null?void 0:t.concat({id2:e})}covariance({id1:t,id2:e,biased:r},n){return t==null?void 0:t.covariance({id2:e,biased:r},n)}every({id:t},e){return t==null?void 0:t.every(e)}from(t,e){const r=new Qt(0,void 0,this._errorListener);return r._value=e,r}fill({id:t,value:e,index_from:r,index_to:n}){t==null||t.fill({value:e,index_from:r,index_to:n})}get({id:t,index:e}){return t==null?void 0:t.get({index:e})}includes({id:t,value:e}){return t==null?void 0:t.includes({value:e})}indexof({id:t,value:e}){return t==null?void 0:t.indexof({value:e})}insert({id:t,index:e,value:r}){t==null||t.insert({index:e,value:r})}join({id:t,separator:e},r){return t==null?void 0:t.join({separator:e},r)}last({id:t}){return t==null?void 0:t.last()}lastindexof({id:t,value:e}){return t==null?void 0:t.lastindexof({value:e})}max({id:t,nth:e},r){return t==null?void 0:t.max({nth:e},r)}median({id:t},e){return t==null?void 0:t.median(e)}min({id:t,nth:e},r){return t==null?void 0:t.min({nth:e},r)}mode({id:t},e){return t==null?void 0:t.mode(e)}percentile_linear_interpolation({id:t,percentage:e},r){return t==null?void 0:t.percentile_linear_interpolation({percentage:e},r)}percentile_nearest_rank({id:t,percentage:e},r){return t==null?void 0:t.percentile_nearest_rank({percentage:e},r)}percentrank({id:t,index:e},r){return t==null?void 0:t.percentrank({index:e},r)}pop({id:t}){return t==null?void 0:t.pop()}push({id:t,value:e}){t==null||t.push({value:e})}range({id:t},e){return t==null?void 0:t.range(e)}remove({id:t,index:e}){return t==null?void 0:t.remove({index:e})}reverse({id:t}){return t==null?void 0:t.reverse()}set({id:t,index:e,value:r}){t==null||t.set({index:e,value:r})}shift({id:t}){return t==null?void 0:t.shift()}some({id:t},e){return t==null?void 0:t.some(e)}sort({id:t,order:e},r){t==null||t.sort({order:e},r)}sort_indices({id:t,order:e},r){return t==null?void 0:t.sort_indices({order:e},r)}standardize({id:t},e){return t==null?void 0:t.standardize(e)}stdev({id:t,biased:e},r){return t==null?void 0:t.stdev({biased:e},r)}sum({id:t},e){return t==null?void 0:t.sum(e)}unshift({id:t,value:e}){t==null||t.unshift({value:e})}variance({id:t,biased:e},r){return t==null?void 0:t.variance({biased:e},r)}}class Qt{constructor(t=0,e,r){z(this,"_arrInstance");z(this,"_errorListener");this._errorListener=r,this._arrInstance=Array.from(new Array(t||0),()=>Pr.cloneDeep(e))}get isArray(){return!0}get _value(){return[...this._arrInstance]}set _value(t){this._arrInstance=[...t]}_deepCopyData(t){this._arrInstance=Pr.cloneDeep(t)}_copyData(t){this._arrInstance=t}copy(){const t=new Qt(0,void 0,this._errorListener);return t._deepCopyData(this._arrInstance),t}slice({index_from:t,index_to:e}){const r=new Qt(0,void 0,this._errorListener);return r._copyData(this._arrInstance.slice(t,e)),r}size(){return this._arrInstance.length}first(){return this._arrInstance[0]}abs(t){const e=new Qt(0,void 0,this._errorListener);this._verifySimpleType("number","abs","int/float",t);const r=this._arrInstance.map(n=>Math.abs(n));return e._copyData(r),e}avg(t){return this._verifySimpleType("number","avg","int/float",t),Pr.mean(this._arrInstance)}binary_search({val:t},e){return this._verifySimpleType("number","binary_search","int/float",e),_t(t)?-1:this._binarySearch(this._arrInstance,t)}binary_search_leftmost({val:t},e){return this._verifySimpleType("number","binary_search_leftmost","int/float",e),_t(t)?this._arrInstance.length-1:this._binarySearchLeftMost(this._arrInstance,t)}binary_search_rightmost({val:t},e){return this._verifySimpleType("number","binary_search_rightmost","int/float",e),_t(t)?this._arrInstance.length:this._binarySearchRightMost(this._arrInstance,t)}clear(){this._arrInstance=[]}concat({id2:t}){return this._arrInstance=this._arrInstance.concat(t==null?void 0:t._value),this}covariance({id2:t,biased:e},r){return this._verifySimpleType("number","covariance","int/float",r),this._verifySimpleType("number","covariance","int/float",r,t==null?void 0:t._value),this._covariance(this._arrInstance,t._value,e,r)}every(t){return this._verifySimpleType("number|boolean","every","int/float/bool",t),this._arrInstance.every(e=>!!e)}fill({value:t,index_from:e=0,index_to:r}){this._arrInstance=this._setElements(this._arrInstance,t,e,r)}get({index:t}){if(!_t(t))return this._arrInstance[t]}includes({value:t}){return this._arrInstance.includes(t)}indexof({value:t}){return this._arrInstance.indexOf(t)}insert({index:t,value:e}){_t(t)||this._arrInstance.splice(t,0,e)}join({separator:t}={},e){return this._verifySimpleType("number|string","join","int/float/string",e),this._arrInstance.join(t)}last(){return this._arrInstance[this._arrInstance.length-1]}lastindexof({value:t}){return this._arrInstance.lastIndexOf(t)}max({nth:t}={},e){return this._verifySimpleType("number","max","int/float",e),this._maxNth([...this._arrInstance],t)}median(t){return this._verifySimpleType("number","median","int/float",t),this._median([...this._arrInstance])}min({nth:t}={},e){return this._verifySimpleType("number","min","int/float",e),this._minNth([...this._arrInstance],t)}mode(t){return this._verifySimpleType("number","mode","int/float",t),this._mode([...this._arrInstance])}percentile_linear_interpolation({percentage:t},e){return this._verifySimpleType("number","percentile_linear_interpolation","int/float",e),this._percentileLinearInterpolation([...this._arrInstance],t)}percentile_nearest_rank({percentage:t=0},e){var r;if(this._arrInstance.length===0||t<0||t>100||_t(t)){(r=this._errorListener)==null||r.addError("Invalid percentile or empty array",e,jt.Error);return}return this._verifySimpleType("number","percentile_nearest_rank","int/float",e),this._getNearestRankPercentile([...this._arrInstance],t)}percentrank({index:t},e){return this._verifySimpleType("number","percentrank","int/float",e),this._getPercentileRank([...this._arrInstance],t)}pop(){return this._arrInstance.pop()}push({value:t}){this._arrInstance.push(t)}range(t){var s;if(this._arrInstance.length===0){(s=this._errorListener)==null||s.addError("Array must not be empty",t,jt.Error);return}this._verifySimpleType("number","range","int/float",t);const e=Math.min(...this._arrInstance);return Math.max(...this._arrInstance)-e}remove({index:t}){if(!_t(t))return this._arrInstance.splice(t,1)[0]}reverse(){this._arrInstance.reverse()}set({index:t,value:e}){_t(t)||(this._arrInstance[t]=e)}shift(){return this._arrInstance.shift()}some(t){return this._verifySimpleType("number|boolean","some","int/float/bool",t),this._arrInstance.some(e=>!!e)}sort({order:t}={},e){this._verifySimpleType("number","sort","int/float",e),this._arrInstance.sort((r,n)=>t!==Yn.descending?r-n:n-r)}sort_indices({order:t}={},e){this._verifySimpleType("number","sort_indices","int/float",e);const r=this._arrInstance.map((s,a)=>a);r.sort((s,a)=>t!==Yn.descending?this._arrInstance[s]-this._arrInstance[a]:this._arrInstance[a]-this._arrInstance[s]);const n=new Qt(0,void 0,this._errorListener);return n._copyData(r),n}standardize(t){this._verifySimpleType("number","standardize","int/float",t);const e=new Qt(0,void 0,this._errorListener);return e._copyData(this._standardizeArray([...this._arrInstance])),e}stdev({biased:t}={},e){var r;if(this._arrInstance.length===0){(r=this._errorListener)==null||r.addError("Array must not be empty",e,jt.Error);return}return this._verifySimpleType("number","stdev","int/float",e),this._calculateStandardDeviations([...this._arrInstance],t)}sum(t){return this._verifySimpleType("number","sum","int/float",t),this._arrInstance.reduce((r,n)=>r+(n||0),0)}unshift({value:t}){this._arrInstance.unshift(t)}variance({biased:t}={},e){var r;if(this._arrInstance.length===0){(r=this._errorListener)==null||r.addError("Array must not be empty",e,jt.Error);return}return this._verifySimpleType("number","variance","int/float",e),this._calculateVariances([...this._arrInstance],t)}_calculateVariances(t,e=!0){const r=t.reduce((a,l)=>a+(l||0),0)/t.length,n=t.reduce((a,l)=>a+((l||0)-r)**2,0),s=n/t.length;return e?s:t.length>1?n/(t.length-1):s}_calculateStandardDeviations(t,e=!0){const r=t.reduce((a,l)=>a+(l||0),0)/t.length,n=t.reduce((a,l)=>{const c=(l||0)-r;return a+c*c},0),s=Math.sqrt(n/t.length);return e?s:t.length>1?Math.sqrt(n/(t.length-1)):s}_standardizeArray(t){const e=t.reduce((s,a)=>s+(a||0),0)/t.length,r=Math.sqrt(t.reduce((s,a)=>s+Math.pow((a||0)-e,2),0)/t.length);return t.map(s=>((s||0)-e)/r)}_getPercentileRank(t,e=0){if(_t(e))return;const r=t[e];let n=0;for(let a=0;a<t.length;a++)(t[a]<r||t[a]===r&&a!=e)&&n++;return n/(t.length-1)*100}_getNearestRankPercentile(t,e=0){const r=t.slice().sort((a,l)=>a-l),n=e/100*r.length,s=Math.ceil(n)-1;return r[s>=r.length?r.length-1:s]}_percentileLinearInterpolation(t,e=0){if(e<0||e>100||_t(e))return;t.sort(function(s,a){return s-a});const r=t.length;e/=100;const n=1/(r*2);if(e<=n)return t[0];if(e>=1-1/(r*2))return t[r-1];for(const[s,a]of t.entries()){const l=t[s-1];if(e<(s+.5)/r)return l+(a-l)*(e-(s-.5)/r)/(1/r)}}_mode(t){const e={};let r=0;const n=[];for(const s of t)e[s]=(e[s]||0)+1,r=Math.max(r,e[s]);for(const s in e)e[s]===r&&n.push(Number(s));return Math.min(...r===1?t:n)}_median(t){t.sort(function(r,n){return r-n});const e=Math.floor(t.length/2);return t.length%2?t[e]:(t[e-1]+t[e])/2}_minNth(t,e=0){return t.sort(function(r,n){return r-n}),t[e]}_maxNth(t,e=0){return t.sort(function(r,n){return n-r}),t[e]}_setElements(t,e,r=0,n){n===void 0&&(n=t.length);for(let s=r;s<n;s++)t[s]=e;return t}_covariance(t,e,r=!0,n){var c;if(t.length!=e.length){(c=this._errorListener)==null||c.addError("Arrays have different lengths",n,jt.Error);return}t=t.filter(h=>h!==void 0),e=e.filter(h=>h!==void 0);const s=t.reduce((h,p)=>h+p,0)/t.length,a=e.reduce((h,p)=>h+p,0)/e.length;let l=0;for(let h=0;h<t.length;h++)l+=(t[h]-s)*(e[h]-a);return r?l/t.length:l/(t.length-1)}_verifySimpleType(t,e,r,n,s=this._arrInstance){var l;s.filter(c=>c!==void 0).some(c=>!t.split("|").includes(typeof c))&&((l=this._errorListener)==null||l.addError(`数组类型错误,array.${e}方法只能使用${r}类型数组!`,n,jt.Error))}_binarySearch(t,e){let r=0,n=t.length-1;for(;r<=n;){const s=Math.floor((r+n)/2);if(t[s]===e)return s;t[s]<e?r=s+1:n=s-1}return-1}_binarySearchLeftMost(t,e){let r=0,n=t.length-1;const s=[];for(;r<=n;){const a=Math.floor((r+n)/2);t[a]===e&&s.push(a),t[a]<e?r=a+1:n=a-1}return s.length?Math.min(...s):r-1}_binarySearchRightMost(t,e){let r=0,n=t.length-1;const s=[];for(;r<=n;){const a=Math.floor((r+n)/2);t[a]===e&&s.push(a),t[a]<=e?r=a+1:n=a-1}return s.length?Math.max(...s):r}}class kp{constructor(t,e){z(this,"_randomNums");z(this,"_mintick");z(this,"_cacheData");z(this,"_barIndex");z(this,"_errorListener");this._mintick=t,this._randomNums={},this._cacheData={},this._barIndex=0,this._errorListener=e}update(t){this._barIndex=t,this._randomNums={}}abs({number:t}){if(!_t(t))return Math.abs(t)}acos({angle:t}){if(_t(t))return;const e=Math.acos(t);return isNaN(e)?void 0:e}asin({angle:t}){if(_t(t))return;const e=Math.asin(t);return isNaN(e)?void 0:e}atan({angle:t}){if(_t(t))return;const e=Math.atan(t);return isNaN(e)?void 0:e}avg(t,e){return Pr.mean(e)}ceil({number:t}){if(!_t(t))return Math.ceil(t)}floor({number:t}){if(!_t(t))return Math.floor(t)}cos({angle:t}){if(_t(t))return;const e=Math.cos(t);return isNaN(e)?void 0:e}sin({angle:t}){if(_t(t))return;const e=Math.sin(t);return isNaN(e)?void 0:e}tan({angle:t}){if(_t(t))return;const e=Math.tan(t);return isNaN(e)?void 0:e}exp({number:t}){if(!_t(t))return Math.exp(t)}log({number:t}){if(!_t(t))return Math.log(t)}log10({number:t}){if(!_t(t))return Math.log10(t)}max(t,e){return e=e.filter(r=>!_t(r)),Math.max(...e)}min(t,e){return e=e.filter(r=>!_t(r)),Math.min(...e)}pow({base:t,exponent:e}){if(!(_t(t)||_t(e)))return Math.pow(t,e)}random({min:t=0,max:e=1,seed:r},n){if(_t(t)&&(t=0),_t(e)&&(e=1),r&&this._randomNums[r])return this._randomNums[r];if(t>=e){this._errorListener.addError("min must be less than max",n,jt.Error);return}let s;do s=Math.random()*(e-t)+t;while(s===t||s===e);return r&&(this._randomNums[r]=s),s}round({number:t,precision:e}){if(!_t(t))return _t(e)?Math.round(t):Number(t==null?void 0:t.toFixed(e))}round_to_mintick({number:t}){if(!_t(t))return Number(t==null?void 0:t.toFixed(this._mintick))}sign({number:t}){if(!_t(t))return t&&Math.sign(t)}sqrt({number:t}){if(!_t(t))return Math.sqrt(t)}sum({source:t,length:e=1},r){let n=this._cacheData[`sum_${r}`];n||(n=[]),n[this._barIndex]=t,this._cacheData[`sum_${r}`]=n;const s=n.filter(a=>!_t(a));if(!(s.length<e))return Pr.sum(s.slice(-e))}todegrees({radians:t}){if(!_t(t))return t*(180/Math.PI)}toradians({degrees:t}){if(!_t(t))return t*(Math.PI/180)}}function As(){return As=Object.assign?Object.assign.bind():function(i){for(var t=1;t<arguments.length;t++){var e=arguments[t];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(i[r]=e[r])}return i},As.apply(this,arguments)}var Tl={epsilon:1e-12,matrix:"Matrix",number:"number",precision:64,predictable:!1,randomSeed:null};function he(i){return typeof i=="number"}function Fe(i){return!i||typeof i!="object"||typeof i.constructor!="function"?!1:i.isBigNumber===!0&&typeof i.constructor.prototype=="object"&&i.constructor.prototype.isBigNumber===!0||typeof i.constructor.isDecimal=="function"&&i.constructor.isDecimal(i)===!0}function Il(i){return i&&typeof i=="object"&&Object.getPrototypeOf(i).isComplex===!0||!1}function $l(i){return i&&typeof i=="object"&&Object.getPrototypeOf(i).isFraction===!0||!1}function Ll(i){return i&&i.constructor.prototype.isUnit===!0||!1}function Xr(i){return typeof i=="string"}var be=Array.isArray;function me(i){return i&&i.constructor.prototype.isMatrix===!0||!1}function Yi(i){return Array.isArray(i)||me(i)}function Up(i){return i&&i.isDenseMatrix&&i.constructor.prototype.isMatrix===!0||!1}function Wp(i){return i&&i.isSparseMatrix&&i.constructor.prototype.isMatrix===!0||!1}function jp(i){return i&&i.constructor.prototype.isRange===!0||!1}function ua(i){return i&&i.constructor.prototype.isIndex===!0||!1}function Yp(i){return typeof i=="boolean"}function Vp(i){return i&&i.constructor.prototype.isResultSet===!0||!1}function Zp(i){return i&&i.constructor.prototype.isHelp===!0||!1}function Gp(i){return typeof i=="function"}function Kp(i){return i instanceof Date}function Hp(i){return i instanceof RegExp}function la(i){return!!(i&&typeof i=="object"&&i.constructor===Object&&!Il(i)&&!$l(i))}function Jp(i){return i===null}function Xp(i){return i===void 0}function Qp(i){return i&&i.isAccessorNode===!0&&i.constructor.prototype.isNode===!0||!1}function td(i){return i&&i.isArrayNode===!0&&i.constructor.prototype.isNode===!0||!1}function ed(i){return i&&i.isAssignmentNode===!0&&i.constructor.prototype.isNode===!0||!1}function rd(i){return i&&i.isBlockNode===!0&&i.constructor.prototype.isNode===!0||!1}function nd(i){return i&&i.isConditionalNode===!0&&i.constructor.prototype.isNode===!0||!1}function id(i){return i&&i.isConstantNode===!0&&i.constructor.prototype.isNode===!0||!1}function sd(i){return i&&i.isFunctionAssignmentNode===!0&&i.constructor.prototype.isNode===!0||!1}function od(i){return i&&i.isFunctionNode===!0&&i.constructor.prototype.isNode===!0||!1}function ad(i){return i&&i.isIndexNode===!0&&i.constructor.prototype.isNode===!0||!1}function ud(i){return i&&i.isNode===!0&&i.constructor.prototype.isNode===!0||!1}function ld(i){return i&&i.isObjectNode===!0&&i.constructor.prototype.isNode===!0||!1}function cd(i){return i&&i.isOperatorNode===!0&&i.constructor.prototype.isNode===!0||!1}function fd(i){return i&&i.isParenthesisNode===!0&&i.constructor.prototype.isNode===!0||!1}function hd(i){return i&&i.isRangeNode===!0&&i.constructor.prototype.isNode===!0||!1}function pd(i){return i&&i.isRelationalNode===!0&&i.constructor.prototype.isNode===!0||!1}function dd(i){return i&&i.isSymbolNode===!0&&i.constructor.prototype.isNode===!0||!1}function _d(i){return i&&i.constructor.prototype.isChain===!0||!1}function En(i){var t=typeof i;return t==="object"?i===null?"null":Fe(i)?"BigNumber":i.constructor&&i.constructor.name?i.constructor.name:"Object":t}function se(i){var t=typeof i;if(t==="number"||t==="string"||t==="boolean"||i===null||i===void 0)return i;if(typeof i.clone=="function")return i.clone();if(Array.isArray(i))return i.map(function(e){return se(e)});if(i instanceof Date)return new Date(i.valueOf());if(Fe(i))return i;if(la(i))return md(i,se);throw new TypeError("Cannot clone: unknown type of value (value: ".concat(i,")"))}function md(i,t){var e={};for(var r in i)Vi(i,r)&&(e[r]=t(i[r]));return e}function Rl(i,t){for(var e in t)Vi(t,e)&&(i[e]=t[e]);return i}function fi(i,t){var e,r,n;if(Array.isArray(i)){if(!Array.isArray(t)||i.length!==t.length)return!1;for(r=0,n=i.length;r<n;r++)if(!fi(i[r],t[r]))return!1;return!0}else{if(typeof i=="function")return i===t;if(i instanceof Object){if(Array.isArray(t)||!(t instanceof Object))return!1;for(e in i)if(!(e in t)||!fi(i[e],t[e]))return!1;for(e in t)if(!(e in i))return!1;return!0}else return i===t}}function Vi(i,t){return i&&Object.hasOwnProperty.call(i,t)}function gd(i,t){for(var e={},r=0;r<t.length;r++){var n=t[r],s=i[n];s!==void 0&&(e[n]=s)}return e}var vd=["Matrix","Array"],wd=["number","BigNumber","Fraction"],pr=function(t){if(t)throw new Error(`The global config is readonly.
27
+ }`;var Rt=Np(function(){return te(T,yt+"return "+ot).apply(e,R)});if(Rt.source=ot,pl(Rt))throw Rt;return Rt}function zC(o){return ie(o).toLowerCase()}function qC(o){return ie(o).toUpperCase()}function kC(o,u,_){if(o=ie(o),o&&(_||u===e))return Ph(o);if(!o||!(u=Dr(u)))return o;var w=Vr(o),A=Vr(u),T=zh(w,A),R=qh(w,A)+1;return Un(w,T,R).join("")}function UC(o,u,_){if(o=ie(o),o&&(_||u===e))return o.slice(0,Uh(o)+1);if(!o||!(u=Dr(u)))return o;var w=Vr(o),A=qh(w,Vr(u))+1;return Un(w,0,A).join("")}function WC(o,u,_){if(o=ie(o),o&&(_||u===e))return o.replace(is,"");if(!o||!(u=Dr(u)))return o;var w=Vr(o),A=zh(w,Vr(u));return Un(w,A).join("")}function jC(o,u){var _=C,w=O;if(xe(u)){var A="separator"in u?u.separator:A;_="length"in u?Lt(u.length):_,w="omission"in u?Dr(u.omission):w}o=ie(o);var T=o.length;if(Oi(o)){var R=Vr(o);T=R.length}if(_>=T)return o;var q=_-Ti(w);if(q<1)return w;var Y=R?Un(R,0,q).join(""):o.slice(0,q);if(A===e)return Y+w;if(R&&(q+=Y.length-q),dl(A)){if(o.slice(q).search(A)){var Q,et=Y;for(A.global||(A=Su(A.source,ie(vo.exec(A))+"g")),A.lastIndex=0;Q=A.exec(et);)var ot=Q.index;Y=Y.slice(0,ot===e?q:ot)}}else if(o.indexOf(Dr(A),q)!=q){var dt=Y.lastIndexOf(A);dt>-1&&(Y=Y.slice(0,dt))}return Y+w}function YC(o){return o=ie(o),o&&Ya.test(o)?o.replace(ti,wD):o}var VC=qi(function(o,u,_){return o+(_?" ":"")+u.toUpperCase()}),gl=S0("toUpperCase");function Mp(o,u,_){return o=ie(o),u=_?e:u,u===e?_D(o)?ED(o):oD(o):o.match(u)||[]}var Np=Pt(function(o,u){try{return yr(o,e,u)}catch(_){return pl(_)?_:new Ot(_)}}),ZC=vn(function(o,u){return Br(u,function(_){_=nn(_),mn(o,_,fl(o[_],o))}),o});function GC(o){var u=o==null?0:o.length,_=At();return o=u?De(o,function(w){if(typeof w[1]!="function")throw new Or(a);return[_(w[0]),w[1]]}):[],Pt(function(w){for(var A=-1;++A<u;){var T=o[A];if(yr(T[0],this,w))return yr(T[1],this,w)}})}function KC(o){return wb(Ir(o,f))}function vl(o){return function(){return o}}function HC(o,u){return o==null||o!==o?u:o}var JC=O0(),XC=O0(!0);function fr(o){return o}function yl(o){return u0(typeof o=="function"?o:Ir(o,f))}function QC(o){return c0(Ir(o,f))}function t2(o,u){return f0(o,Ir(u,f))}var e2=Pt(function(o,u){return function(_){return ps(_,o,u)}}),r2=Pt(function(o,u){return function(_){return ps(o,_,u)}});function wl(o,u,_){var w=ke(u),A=qo(u,w);_==null&&!(xe(u)&&(A.length||!w.length))&&(_=u,u=o,o=this,A=qo(u,ke(u)));var T=!(xe(_)&&"chain"in _)||!!_.chain,R=wn(o);return Br(A,function(q){var Y=u[q];o[q]=Y,R&&(o.prototype[q]=function(){var Q=this.__chain__;if(T||Q){var et=o(this.__wrapped__),ot=et.__actions__=ur(this.__actions__);return ot.push({func:Y,args:arguments,thisArg:o}),et.__chain__=Q,et}return Y.apply(o,Ln([this.value()],arguments))})}),o}function n2(){return Ve._===this&&(Ve._=ND),this}function Dl(){}function i2(o){return o=Lt(o),Pt(function(u){return h0(u,o)})}var s2=Xu(De),o2=Xu(Th),a2=Xu(Eu);function Sp(o){return sl(o)?xu(nn(o)):Rb(o)}function u2(o){return function(u){return o==null?e:ai(o,u)}}var l2=I0(),c2=I0(!0);function bl(){return[]}function El(){return!1}function f2(){return{}}function h2(){return""}function p2(){return!0}function d2(o,u){if(o=Lt(o),o<1||o>Z)return[];var _=ct,w=Je(o,ct);u=At(u),o-=ct;for(var A=Fu(w,u);++_<o;)u(_);return A}function _2(o){return It(o)?De(o,nn):br(o)?[o]:ur(H0(ie(o)))}function m2(o){var u=++FD;return ie(o)+u}var g2=Vo(function(o,u){return o+u},0),v2=Qu("ceil"),y2=Vo(function(o,u){return o/u},1),w2=Qu("floor");function D2(o){return o&&o.length?zo(o,fr,Pu):e}function b2(o,u){return o&&o.length?zo(o,At(u,2),Pu):e}function E2(o){return Lh(o,fr)}function x2(o,u){return Lh(o,At(u,2))}function A2(o){return o&&o.length?zo(o,fr,Uu):e}function C2(o,u){return o&&o.length?zo(o,At(u,2),Uu):e}var F2=Vo(function(o,u){return o*u},1),M2=Qu("round"),N2=Vo(function(o,u){return o-u},0);function S2(o){return o&&o.length?Cu(o,fr):0}function B2(o,u){return o&&o.length?Cu(o,At(u,2)):0}return B.after=Qx,B.ary=ap,B.assign=qA,B.assignIn=Dp,B.assignInWith=sa,B.assignWith=kA,B.at=UA,B.before=up,B.bind=fl,B.bindAll=ZC,B.bindKey=lp,B.castArray=fA,B.chain=ip,B.chunk=wE,B.compact=DE,B.concat=bE,B.cond=GC,B.conforms=KC,B.constant=vl,B.countBy=Sx,B.create=WA,B.curry=cp,B.curryRight=fp,B.debounce=hp,B.defaults=jA,B.defaultsDeep=YA,B.defer=tA,B.delay=eA,B.difference=EE,B.differenceBy=xE,B.differenceWith=AE,B.drop=CE,B.dropRight=FE,B.dropRightWhile=ME,B.dropWhile=NE,B.fill=SE,B.filter=Ox,B.flatMap=$x,B.flatMapDeep=Lx,B.flatMapDepth=Rx,B.flatten=tp,B.flattenDeep=BE,B.flattenDepth=OE,B.flip=rA,B.flow=JC,B.flowRight=XC,B.fromPairs=TE,B.functions=XA,B.functionsIn=QA,B.groupBy=Px,B.initial=$E,B.intersection=LE,B.intersectionBy=RE,B.intersectionWith=PE,B.invert=eC,B.invertBy=rC,B.invokeMap=qx,B.iteratee=yl,B.keyBy=kx,B.keys=ke,B.keysIn=cr,B.map=Qo,B.mapKeys=iC,B.mapValues=sC,B.matches=QC,B.matchesProperty=t2,B.memoize=ea,B.merge=oC,B.mergeWith=bp,B.method=e2,B.methodOf=r2,B.mixin=wl,B.negate=ra,B.nthArg=i2,B.omit=aC,B.omitBy=uC,B.once=nA,B.orderBy=Ux,B.over=s2,B.overArgs=iA,B.overEvery=o2,B.overSome=a2,B.partial=hl,B.partialRight=pp,B.partition=Wx,B.pick=lC,B.pickBy=Ep,B.property=Sp,B.propertyOf=u2,B.pull=UE,B.pullAll=rp,B.pullAllBy=WE,B.pullAllWith=jE,B.pullAt=YE,B.range=l2,B.rangeRight=c2,B.rearg=sA,B.reject=Vx,B.remove=VE,B.rest=oA,B.reverse=ll,B.sampleSize=Gx,B.set=fC,B.setWith=hC,B.shuffle=Kx,B.slice=ZE,B.sortBy=Xx,B.sortedUniq=tx,B.sortedUniqBy=ex,B.split=$C,B.spread=aA,B.tail=rx,B.take=nx,B.takeRight=ix,B.takeRightWhile=sx,B.takeWhile=ox,B.tap=Dx,B.throttle=uA,B.thru=Xo,B.toArray=vp,B.toPairs=xp,B.toPairsIn=Ap,B.toPath=_2,B.toPlainObject=wp,B.transform=pC,B.unary=lA,B.union=ax,B.unionBy=ux,B.unionWith=lx,B.uniq=cx,B.uniqBy=fx,B.uniqWith=hx,B.unset=dC,B.unzip=cl,B.unzipWith=np,B.update=_C,B.updateWith=mC,B.values=Wi,B.valuesIn=gC,B.without=px,B.words=Mp,B.wrap=cA,B.xor=dx,B.xorBy=_x,B.xorWith=mx,B.zip=gx,B.zipObject=vx,B.zipObjectDeep=yx,B.zipWith=wx,B.entries=xp,B.entriesIn=Ap,B.extend=Dp,B.extendWith=sa,wl(B,B),B.add=g2,B.attempt=Np,B.camelCase=DC,B.capitalize=Cp,B.ceil=v2,B.clamp=vC,B.clone=hA,B.cloneDeep=dA,B.cloneDeepWith=_A,B.cloneWith=pA,B.conformsTo=mA,B.deburr=Fp,B.defaultTo=HC,B.divide=y2,B.endsWith=bC,B.eq=Gr,B.escape=EC,B.escapeRegExp=xC,B.every=Bx,B.find=Tx,B.findIndex=X0,B.findKey=VA,B.findLast=Ix,B.findLastIndex=Q0,B.findLastKey=ZA,B.floor=w2,B.forEach=sp,B.forEachRight=op,B.forIn=GA,B.forInRight=KA,B.forOwn=HA,B.forOwnRight=JA,B.get=_l,B.gt=gA,B.gte=vA,B.has=tC,B.hasIn=ml,B.head=ep,B.identity=fr,B.includes=zx,B.indexOf=IE,B.inRange=yC,B.invoke=nC,B.isArguments=ci,B.isArray=It,B.isArrayBuffer=yA,B.isArrayLike=lr,B.isArrayLikeObject=Me,B.isBoolean=wA,B.isBuffer=Wn,B.isDate=DA,B.isElement=bA,B.isEmpty=EA,B.isEqual=xA,B.isEqualWith=AA,B.isError=pl,B.isFinite=CA,B.isFunction=wn,B.isInteger=dp,B.isLength=na,B.isMap=_p,B.isMatch=FA,B.isMatchWith=MA,B.isNaN=NA,B.isNative=SA,B.isNil=OA,B.isNull=BA,B.isNumber=mp,B.isObject=xe,B.isObjectLike=Ae,B.isPlainObject=ys,B.isRegExp=dl,B.isSafeInteger=TA,B.isSet=gp,B.isString=ia,B.isSymbol=br,B.isTypedArray=Ui,B.isUndefined=IA,B.isWeakMap=$A,B.isWeakSet=LA,B.join=zE,B.kebabCase=AC,B.last=Lr,B.lastIndexOf=qE,B.lowerCase=CC,B.lowerFirst=FC,B.lt=RA,B.lte=PA,B.max=D2,B.maxBy=b2,B.mean=E2,B.meanBy=x2,B.min=A2,B.minBy=C2,B.stubArray=bl,B.stubFalse=El,B.stubObject=f2,B.stubString=h2,B.stubTrue=p2,B.multiply=F2,B.nth=kE,B.noConflict=n2,B.noop=Dl,B.now=ta,B.pad=MC,B.padEnd=NC,B.padStart=SC,B.parseInt=BC,B.random=wC,B.reduce=jx,B.reduceRight=Yx,B.repeat=OC,B.replace=TC,B.result=cC,B.round=M2,B.runInContext=j,B.sample=Zx,B.size=Hx,B.snakeCase=IC,B.some=Jx,B.sortedIndex=GE,B.sortedIndexBy=KE,B.sortedIndexOf=HE,B.sortedLastIndex=JE,B.sortedLastIndexBy=XE,B.sortedLastIndexOf=QE,B.startCase=LC,B.startsWith=RC,B.subtract=N2,B.sum=S2,B.sumBy=B2,B.template=PC,B.times=d2,B.toFinite=Dn,B.toInteger=Lt,B.toLength=yp,B.toLower=zC,B.toNumber=Rr,B.toSafeInteger=zA,B.toString=ie,B.toUpper=qC,B.trim=kC,B.trimEnd=UC,B.trimStart=WC,B.truncate=jC,B.unescape=YC,B.uniqueId=m2,B.upperCase=VC,B.upperFirst=gl,B.each=sp,B.eachRight=op,B.first=ep,wl(B,function(){var o={};return en(B,function(u,_){ae.call(B.prototype,_)||(o[_]=u)}),o}(),{chain:!1}),B.VERSION=r,Br(["bind","bindKey","curry","curryRight","partial","partialRight"],function(o){B[o].placeholder=B}),Br(["drop","take"],function(o,u){Wt.prototype[o]=function(_){_=_===e?1:ze(Lt(_),0);var w=this.__filtered__&&!u?new Wt(this):this.clone();return w.__filtered__?w.__takeCount__=Je(_,w.__takeCount__):w.__views__.push({size:Je(_,ct),type:o+(w.__dir__<0?"Right":"")}),w},Wt.prototype[o+"Right"]=function(_){return this.reverse()[o](_).reverse()}}),Br(["filter","map","takeWhile"],function(o,u){var _=u+1,w=_==k||_==P;Wt.prototype[o]=function(A){var T=this.clone();return T.__iteratees__.push({iteratee:At(A,3),type:_}),T.__filtered__=T.__filtered__||w,T}}),Br(["head","last"],function(o,u){var _="take"+(u?"Right":"");Wt.prototype[o]=function(){return this[_](1).value()[0]}}),Br(["initial","tail"],function(o,u){var _="drop"+(u?"":"Right");Wt.prototype[o]=function(){return this.__filtered__?new Wt(this):this[_](1)}}),Wt.prototype.compact=function(){return this.filter(fr)},Wt.prototype.find=function(o){return this.filter(o).head()},Wt.prototype.findLast=function(o){return this.reverse().find(o)},Wt.prototype.invokeMap=Pt(function(o,u){return typeof o=="function"?new Wt(this):this.map(function(_){return ps(_,o,u)})}),Wt.prototype.reject=function(o){return this.filter(ra(At(o)))},Wt.prototype.slice=function(o,u){o=Lt(o);var _=this;return _.__filtered__&&(o>0||u<0)?new Wt(_):(o<0?_=_.takeRight(-o):o&&(_=_.drop(o)),u!==e&&(u=Lt(u),_=u<0?_.dropRight(-u):_.take(u-o)),_)},Wt.prototype.takeRightWhile=function(o){return this.reverse().takeWhile(o).reverse()},Wt.prototype.toArray=function(){return this.take(ct)},en(Wt.prototype,function(o,u){var _=/^(?:filter|find|map|reject)|While$/.test(u),w=/^(?:head|last)$/.test(u),A=B[w?"take"+(u=="last"?"Right":""):u],T=w||/^find/.test(u);A&&(B.prototype[u]=function(){var R=this.__wrapped__,q=w?[1]:arguments,Y=R instanceof Wt,Q=q[0],et=Y||It(R),ot=function(kt){var Yt=A.apply(B,Ln([kt],q));return w&&dt?Yt[0]:Yt};et&&_&&typeof Q=="function"&&Q.length!=1&&(Y=et=!1);var dt=this.__chain__,yt=!!this.__actions__.length,Ct=T&&!dt,Rt=Y&&!yt;if(!T&&et){R=Rt?R:new Wt(this);var Ft=o.apply(R,q);return Ft.__actions__.push({func:Xo,args:[ot],thisArg:e}),new Tr(Ft,dt)}return Ct&&Rt?o.apply(this,q):(Ft=this.thru(ot),Ct?w?Ft.value()[0]:Ft.value():Ft)})}),Br(["pop","push","shift","sort","splice","unshift"],function(o){var u=xo[o],_=/^(?:push|sort|unshift)$/.test(o)?"tap":"thru",w=/^(?:pop|shift)$/.test(o);B.prototype[o]=function(){var A=arguments;if(w&&!this.__chain__){var T=this.value();return u.apply(It(T)?T:[],A)}return this[_](function(R){return u.apply(It(R)?R:[],A)})}}),en(Wt.prototype,function(o,u){var _=B[u];if(_){var w=_.name+"";ae.call(Ri,w)||(Ri[w]=[]),Ri[w].push({name:u,func:_})}}),Ri[Yo(e,v).name]=[{name:"wrapper",func:e}],Wt.prototype.clone=YD,Wt.prototype.reverse=VD,Wt.prototype.value=ZD,B.prototype.at=bx,B.prototype.chain=Ex,B.prototype.commit=xx,B.prototype.next=Ax,B.prototype.plant=Fx,B.prototype.reverse=Mx,B.prototype.toJSON=B.prototype.valueOf=B.prototype.value=Nx,B.prototype.first=B.prototype.head,os&&(B.prototype[os]=Cx),B},Ii=xD();ri?((ri.exports=Ii)._=Ii,yu._=Ii):Ve._=Ii}).call(Vt)}(jn,jn.exports);var Pr=jn.exports;class Op{constructor(t,e){z(this,"_defaultParams");z(this,"_UserTypeFileds");z(this,"_varipKeys");this._defaultParams=t,this._UserTypeFileds=this._createDynamicClass(),this._varipKeys=e}copy(t){return Pr.cloneDeep(t)}new(t={}){return new this._UserTypeFileds(Object.assign(Pr.cloneDeep(this._defaultParams),t),this._varipKeys)}addNewMethod(t,e){this._UserTypeFileds.prototype[t]=e}_createDynamicClass(){return class{constructor(t,e){z(this,"_varipKeys");Object.assign(this,t),this._varipKeys=e}get varipKeys(){return[...this._varipKeys]}copy(){return Pr.cloneDeep(this)}}}}var Ml={exports:{}};(function(i,t){(function(e,r){i.exports=r()})(Vt,function(){var e=1e3,r=6e4,n=36e5,s="millisecond",a="second",l="minute",c="hour",h="day",p="week",f="month",d="quarter",g="year",y="date",m="Invalid Date",D=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,v=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,E={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(k){var W=["th","st","nd","rd"],P=k%100;return"["+k+(W[(P-20)%10]||W[P]||W[0])+"]"}},b=function(k,W,P){var G=String(k);return!G||G.length>=W?k:""+Array(W+1-G.length).join(P)+k},N={s:b,z:function(k){var W=-k.utcOffset(),P=Math.abs(W),G=Math.floor(P/60),Z=P%60;return(W<=0?"+":"-")+b(G,2,"0")+":"+b(Z,2,"0")},m:function k(W,P){if(W.date()<P.date())return-k(P,W);var G=12*(P.year()-W.year())+(P.month()-W.month()),Z=W.clone().add(G,f),X=P-Z<0,tt=W.clone().add(G+(X?-1:1),f);return+(-(G+(P-Z)/(X?Z-tt:tt-Z))||0)},a:function(k){return k<0?Math.ceil(k)||0:Math.floor(k)},p:function(k){return{M:f,y:g,w:p,d:h,D:y,h:c,m:l,s:a,ms:s,Q:d}[k]||String(k||"").toLowerCase().replace(/s$/,"")},u:function(k){return k===void 0}},x="en",F={};F[x]=E;var M="$isDayjsObject",S=function(k){return k instanceof L||!(!k||!k[M])},I=function k(W,P,G){var Z;if(!W)return x;if(typeof W=="string"){var X=W.toLowerCase();F[X]&&(Z=X),P&&(F[X]=P,Z=X);var tt=W.split("-");if(!Z&&tt.length>1)return k(tt[0])}else{var ct=W.name;F[ct]=W,Z=ct}return!G&&Z&&(x=Z),Z||!G&&x},C=function(k,W){if(S(k))return k.clone();var P=typeof W=="object"?W:{};return P.date=k,P.args=arguments,new L(P)},O=N;O.l=I,O.i=S,O.w=function(k,W){return C(k,{locale:W.$L,utc:W.$u,x:W.$x,$offset:W.$offset})};var L=function(){function k(P){this.$L=I(P.locale,null,!0),this.parse(P),this.$x=this.$x||P.x||{},this[M]=!0}var W=k.prototype;return W.parse=function(P){this.$d=function(G){var Z=G.date,X=G.utc;if(Z===null)return new Date(NaN);if(O.u(Z))return new Date;if(Z instanceof Date)return new Date(Z);if(typeof Z=="string"&&!/Z$/i.test(Z)){var tt=Z.match(D);if(tt){var ct=tt[2]-1||0,vt=(tt[7]||"0").substring(0,3);return X?new Date(Date.UTC(tt[1],ct,tt[3]||1,tt[4]||0,tt[5]||0,tt[6]||0,vt)):new Date(tt[1],ct,tt[3]||1,tt[4]||0,tt[5]||0,tt[6]||0,vt)}}return new Date(Z)}(P),this.init()},W.init=function(){var P=this.$d;this.$y=P.getFullYear(),this.$M=P.getMonth(),this.$D=P.getDate(),this.$W=P.getDay(),this.$H=P.getHours(),this.$m=P.getMinutes(),this.$s=P.getSeconds(),this.$ms=P.getMilliseconds()},W.$utils=function(){return O},W.isValid=function(){return this.$d.toString()!==m},W.isSame=function(P,G){var Z=C(P);return this.startOf(G)<=Z&&Z<=this.endOf(G)},W.isAfter=function(P,G){return C(P)<this.startOf(G)},W.isBefore=function(P,G){return this.endOf(G)<C(P)},W.$g=function(P,G,Z){return O.u(P)?this[G]:this.set(Z,P)},W.unix=function(){return Math.floor(this.valueOf()/1e3)},W.valueOf=function(){return this.$d.getTime()},W.startOf=function(P,G){var Z=this,X=!!O.u(G)||G,tt=O.p(P),ct=function(Tt,Nt){var ue=O.w(Z.$u?Date.UTC(Z.$y,Nt,Tt):new Date(Z.$y,Nt,Tt),Z);return X?ue:ue.endOf(h)},vt=function(Tt,Nt){return O.w(Z.toDate()[Tt].apply(Z.toDate("s"),(X?[0,0,0,0]:[23,59,59,999]).slice(Nt)),Z)},lt=this.$W,wt=this.$M,bt=this.$D,Bt="set"+(this.$u?"UTC":"");switch(tt){case g:return X?ct(1,0):ct(31,11);case f:return X?ct(1,wt):ct(0,wt+1);case p:var Et=this.$locale().weekStart||0,oe=(lt<Et?lt+7:lt)-Et;return ct(X?bt-oe:bt+(6-oe),wt);case h:case y:return vt(Bt+"Hours",0);case c:return vt(Bt+"Minutes",1);case l:return vt(Bt+"Seconds",2);case a:return vt(Bt+"Milliseconds",3);default:return this.clone()}},W.endOf=function(P){return this.startOf(P,!1)},W.$set=function(P,G){var Z,X=O.p(P),tt="set"+(this.$u?"UTC":""),ct=(Z={},Z[h]=tt+"Date",Z[y]=tt+"Date",Z[f]=tt+"Month",Z[g]=tt+"FullYear",Z[c]=tt+"Hours",Z[l]=tt+"Minutes",Z[a]=tt+"Seconds",Z[s]=tt+"Milliseconds",Z)[X],vt=X===h?this.$D+(G-this.$W):G;if(X===f||X===g){var lt=this.clone().set(y,1);lt.$d[ct](vt),lt.init(),this.$d=lt.set(y,Math.min(this.$D,lt.daysInMonth())).$d}else ct&&this.$d[ct](vt);return this.init(),this},W.set=function(P,G){return this.clone().$set(P,G)},W.get=function(P){return this[O.p(P)]()},W.add=function(P,G){var Z,X=this;P=Number(P);var tt=O.p(G),ct=function(wt){var bt=C(X);return O.w(bt.date(bt.date()+Math.round(wt*P)),X)};if(tt===f)return this.set(f,this.$M+P);if(tt===g)return this.set(g,this.$y+P);if(tt===h)return ct(1);if(tt===p)return ct(7);var vt=(Z={},Z[l]=r,Z[c]=n,Z[a]=e,Z)[tt]||1,lt=this.$d.getTime()+P*vt;return O.w(lt,this)},W.subtract=function(P,G){return this.add(-1*P,G)},W.format=function(P){var G=this,Z=this.$locale();if(!this.isValid())return Z.invalidDate||m;var X=P||"YYYY-MM-DDTHH:mm:ssZ",tt=O.z(this),ct=this.$H,vt=this.$m,lt=this.$M,wt=Z.weekdays,bt=Z.months,Bt=Z.meridiem,Et=function(Nt,ue,re,qt){return Nt&&(Nt[ue]||Nt(G,X))||re[ue].slice(0,qt)},oe=function(Nt){return O.s(ct%12||12,Nt,"0")},Tt=Bt||function(Nt,ue,re){var qt=Nt<12?"AM":"PM";return re?qt.toLowerCase():qt};return X.replace(v,function(Nt,ue){return ue||function(re){switch(re){case"YY":return String(G.$y).slice(-2);case"YYYY":return O.s(G.$y,4,"0");case"M":return lt+1;case"MM":return O.s(lt+1,2,"0");case"MMM":return Et(Z.monthsShort,lt,bt,3);case"MMMM":return Et(bt,lt);case"D":return G.$D;case"DD":return O.s(G.$D,2,"0");case"d":return String(G.$W);case"dd":return Et(Z.weekdaysMin,G.$W,wt,2);case"ddd":return Et(Z.weekdaysShort,G.$W,wt,3);case"dddd":return wt[G.$W];case"H":return String(ct);case"HH":return O.s(ct,2,"0");case"h":return oe(1);case"hh":return oe(2);case"a":return Tt(ct,vt,!0);case"A":return Tt(ct,vt,!1);case"m":return String(vt);case"mm":return O.s(vt,2,"0");case"s":return String(G.$s);case"ss":return O.s(G.$s,2,"0");case"SSS":return O.s(G.$ms,3,"0");case"Z":return tt}return null}(Nt)||tt.replace(":","")})},W.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},W.diff=function(P,G,Z){var X,tt=this,ct=O.p(G),vt=C(P),lt=(vt.utcOffset()-this.utcOffset())*r,wt=this-vt,bt=function(){return O.m(tt,vt)};switch(ct){case g:X=bt()/12;break;case f:X=bt();break;case d:X=bt()/3;break;case p:X=(wt-lt)/6048e5;break;case h:X=(wt-lt)/864e5;break;case c:X=wt/n;break;case l:X=wt/r;break;case a:X=wt/e;break;default:X=wt}return Z?X:O.a(X)},W.daysInMonth=function(){return this.endOf(f).$D},W.$locale=function(){return F[this.$L]},W.locale=function(P,G){if(!P)return this.$L;var Z=this.clone(),X=I(P,G,!0);return X&&(Z.$L=X),Z},W.clone=function(){return O.w(this.$d,this)},W.toDate=function(){return new Date(this.valueOf())},W.toJSON=function(){return this.isValid()?this.toISOString():null},W.toISOString=function(){return this.$d.toISOString()},W.toString=function(){return this.$d.toUTCString()},k}(),U=L.prototype;return C.prototype=U,[["$ms",s],["$s",a],["$m",l],["$H",c],["$W",h],["$M",f],["$y",g],["$D",y]].forEach(function(k){U[k[1]]=function(W){return this.$g(W,k[0],k[1])}}),C.extend=function(k,W){return k.$i||(k(W,L,C),k.$i=!0),C},C.locale=I,C.isDayjs=S,C.unix=function(k){return C(1e3*k)},C.en=F[x],C.Ls=F,C.p={},C})})(Ml);var Tp=Ml.exports,ee=Kt(Tp),Nl={exports:{}};(function(i,t){(function(e,r){i.exports=r()})(Vt,function(){var e="minute",r=/[+-]\d\d(?::?\d\d)?/g,n=/([+-]|\d\d)/g;return function(s,a,l){var c=a.prototype;l.utc=function(m){var D={date:m,utc:!0,args:arguments};return new a(D)},c.utc=function(m){var D=l(this.toDate(),{locale:this.$L,utc:!0});return m?D.add(this.utcOffset(),e):D},c.local=function(){return l(this.toDate(),{locale:this.$L,utc:!1})};var h=c.parse;c.parse=function(m){m.utc&&(this.$u=!0),this.$utils().u(m.$offset)||(this.$offset=m.$offset),h.call(this,m)};var p=c.init;c.init=function(){if(this.$u){var m=this.$d;this.$y=m.getUTCFullYear(),this.$M=m.getUTCMonth(),this.$D=m.getUTCDate(),this.$W=m.getUTCDay(),this.$H=m.getUTCHours(),this.$m=m.getUTCMinutes(),this.$s=m.getUTCSeconds(),this.$ms=m.getUTCMilliseconds()}else p.call(this)};var f=c.utcOffset;c.utcOffset=function(m,D){var v=this.$utils().u;if(v(m))return this.$u?0:v(this.$offset)?f.call(this):this.$offset;if(typeof m=="string"&&(m=function(x){x===void 0&&(x="");var F=x.match(r);if(!F)return null;var M=(""+F[0]).match(n)||["-",0,0],S=M[0],I=60*+M[1]+ +M[2];return I===0?0:S==="+"?I:-I}(m),m===null))return this;var E=Math.abs(m)<=16?60*m:m,b=this;if(D)return b.$offset=E,b.$u=m===0,b;if(m!==0){var N=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(b=this.local().add(E+N,e)).$offset=E,b.$x.$localOffset=N}else b=this.utc();return b};var d=c.format;c.format=function(m){var D=m||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return d.call(this,D)},c.valueOf=function(){var m=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*m},c.isUTC=function(){return!!this.$u},c.toISOString=function(){return this.toDate().toISOString()},c.toString=function(){return this.toDate().toUTCString()};var g=c.toDate;c.toDate=function(m){return m==="s"&&this.$offset?l(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():g.call(this)};var y=c.diff;c.diff=function(m,D,v){if(m&&this.$u===m.$u)return y.call(this,m,D,v);var E=this.local(),b=l(m).local();return y.call(E,b,D,v)}}})})(Nl);var Ip=Nl.exports,Sl=Kt(Ip),Bl={exports:{}};(function(i,t){(function(e,r){i.exports=r()})(Vt,function(){var e={year:0,month:1,day:2,hour:3,minute:4,second:5},r={};return function(n,s,a){var l,c=function(d,g,y){y===void 0&&(y={});var m=new Date(d),D=function(v,E){E===void 0&&(E={});var b=E.timeZoneName||"short",N=v+"|"+b,x=r[N];return x||(x=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:v,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:b}),r[N]=x),x}(g,y);return D.formatToParts(m)},h=function(d,g){for(var y=c(d,g),m=[],D=0;D<y.length;D+=1){var v=y[D],E=v.type,b=v.value,N=e[E];N>=0&&(m[N]=parseInt(b,10))}var x=m[3],F=x===24?0:x,M=m[0]+"-"+m[1]+"-"+m[2]+" "+F+":"+m[4]+":"+m[5]+":000",S=+d;return(a.utc(M).valueOf()-(S-=S%1e3))/6e4},p=s.prototype;p.tz=function(d,g){d===void 0&&(d=l);var y=this.utcOffset(),m=this.toDate(),D=m.toLocaleString("en-US",{timeZone:d}),v=Math.round((m-new Date(D))/1e3/60),E=a(D,{locale:this.$L}).$set("millisecond",this.$ms).utcOffset(15*-Math.round(m.getTimezoneOffset()/15)-v,!0);if(g){var b=E.utcOffset();E=E.add(y-b,"minute")}return E.$x.$timezone=d,E},p.offsetName=function(d){var g=this.$x.$timezone||a.tz.guess(),y=c(this.valueOf(),g,{timeZoneName:d}).find(function(m){return m.type.toLowerCase()==="timezonename"});return y&&y.value};var f=p.startOf;p.startOf=function(d,g){if(!this.$x||!this.$x.$timezone)return f.call(this,d,g);var y=a(this.format("YYYY-MM-DD HH:mm:ss:SSS"),{locale:this.$L});return f.call(y,d,g).tz(this.$x.$timezone,!0)},a.tz=function(d,g,y){var m=y&&g,D=y||g||l,v=h(+a(),D);if(typeof d!="string")return a(d).tz(D);var E=function(F,M,S){var I=F-60*M*1e3,C=h(I,S);if(M===C)return[I,M];var O=h(I-=60*(C-M)*1e3,S);return C===O?[I,C]:[F-60*Math.min(C,O)*1e3,Math.max(C,O)]}(a.utc(d,m).valueOf(),v,D),b=E[0],N=E[1],x=a(b).utcOffset(N);return x.$x.$timezone=D,x},a.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},a.tz.setDefault=function(d){l=d}}})})(Bl);var $p=Bl.exports,Lp=Kt($p),Ol={exports:{}};(function(i,t){(function(e,r){i.exports=r()})(Vt,function(){var e="week",r="year";return function(n,s,a){var l=s.prototype;l.week=function(c){if(c===void 0&&(c=null),c!==null)return this.add(7*(c-this.week()),"day");var h=this.$locale().yearStart||1;if(this.month()===11&&this.date()>25){var p=a(this).startOf(r).add(1,r).date(h),f=a(this).endOf(e);if(p.isBefore(f))return 1}var d=a(this).startOf(r).date(h).startOf(e).subtract(1,"millisecond"),g=this.diff(d,e,!0);return g<0?a(this).startOf("week").week():Math.ceil(g)},l.weeks=function(c){return c===void 0&&(c=null),this.week(c)}}})})(Ol);var Rp=Ol.exports,Pp=Kt(Rp);function Qe(i,t){return i.replace(/\$(\w+)/g,(e,r)=>String(t[r])||e)}function ws(i){const t=parseInt(i)||1;let e=i.replace(/\d+/,"");return e==="m"||e==="M"?e="M":e?e=e.toLocaleLowerCase():e="m",[t,e]}function zp(i){const t=/([+-])(\d{1,2})(\d{0,2})/,e=i.replace(/GMT|UTC/,"").match(t);if(!e)throw new Error("Invalid timezone string");const[,r,n,s]=e,a=parseInt(n,10)*60||0,l=parseInt(s,10)||0;return(r==="+"?-1:1)*(a+l)}function zr(i,t){return t&&(t.startsWith("UTC")||t.startsWith("GMT"))?ee(i).utcOffset(zp(t)):ee(i).tz(t)}function sn(i){const[t,e]=ws(i);let r=0;switch(e){case"m":r=60;break;case"s":r=1;break;case"M":r=31*24*60*60;break;case"d":r=24*60*60;break;case"w":r=7*24*60*60;break;default:r=60*60;break}return Math.round(Number(t)*r)}function _t(i){return typeof i!="number"||isNaN(i)}var Jr=(i=>(i.BOOL="bool",i.INT="int",i.FLOAT="float",i.ARRAY="array",i.BOX="box",i.CHART_POINT="chart.point",i.COLOR="color",i.CONST="const",i.LABEL="label",i.LINE="line",i.LINEFILL="linefill",i.MAP="map",i.MATRIX="matrix",i.POLYLINE="polyline",i.SERIES="series",i.SIMPLE="simple",i.STRING="string",i.TABLE="table",i.UNDETERMINED="undetermined type",i.INPUT="input",i.NA="na",i.VOID="void",i))(Jr||{}),Ds=(i=>(i.dividends="dividends",i.none="none",i.splits="splits",i))(Ds||{}),qr=(i=>(i.freqAll="freq_all",i.freqOncePerBar="freq_once_per_bar",i.freqOncePerBarClose="freq_once_per_bar_close",i))(qr||{}),ji=(i=>(i.gapsOff="gaps_off",i.gapsOn="gaps_on",i.lookaheadOff="lookahead_off",i.lookaheadOn="lookahead_on",i))(ji||{}),Ue=(i=>(i.all="all",i.dataWindow="data_window",i.none="none",i.pane="pane",i.priceScale="price_scale",i.statusLine="status_line",i))(Ue||{}),kr=(i=>(i.both="both",i.left="left",i.none="none",i.right="right",i))(kr||{}),Gt=(i=>(i.inherit="inherit",i.mintick="mintick",i.percent="percent",i.price="price",i.volume="volume",i))(Gt||{}),bs=(i=>(i.styleDashed="style_dashed",i.styleDotted="style_dotted",i.styleSolid="style_solid",i))(bs||{}),de=(i=>(i.styleArrowdown="style_arrowdown",i.styleArrowup="style_arrowup",i.styleCircle="style_circle",i.styleCross="style_cross",i.styleDiamond="style_diamond",i.styleFlag="style_flag",i.styleLabelCenter="style_label_center",i.styleLabelDown="style_label_down",i.styleLabelLeft="style_label_left",i.styleLabelLowerLeft="style_label_lower_left",i.styleLabelLowerRight="style_label_lower_right",i.styleLabelRight="style_label_right",i.styleLabelUp="style_label_up",i.styleLabelUpperLeft="style_label_upper_left",i.styleLabelUpperRight="style_label_upper_right",i.styleNone="style_none",i.styleSquare="style_square",i.styleTextOutline="style_text_outline",i.styleTriangledown="style_triangledown",i.styleTriangleup="style_triangleup",i.styleXcross="style_xcross",i))(de||{}),Ie=(i=>(i.styleArrowBoth="style_arrow_both",i.styleArrowLeft="style_arrow_left",i.styleArrowRight="style_arrow_right",i.styleDashed="style_dashed",i.styleDotted="style_dotted",i.styleSolid="style_solid",i))(Ie||{}),on=(i=>(i.abovebar="abovebar",i.absolute="absolute",i.belowbar="belowbar",i.bottom="bottom",i.top="top",i))(on||{}),Yn=(i=>(i.ascending="ascending",i.descending="descending",i))(Yn||{}),Ar=(i=>(i.styleArea="Area",i.styleAreabr="Area With Breaks",i.styleCircles="Circles",i.styleColumns="Columns",i.styleCross="Cross",i.styleHistogram="Histogram",i.styleLine="Line",i.styleLinebr="Line With Breaks",i.styleStepline="Step Line",i.styleSteplineDiamond="Step Line With Diamonds",i.styleSteplinebr="Step line with Breaks",i))(Ar||{}),hr=(i=>(i.bottomCenter="bottom_center",i.bottomLeft="bottom_left",i.bottomRight="bottom_right",i.middleCenter="middle_center",i.middleLeft="middle_left",i.middleRight="middle_right",i.topCenter="top_center",i.topLeft="top_left",i.topRight="top_right",i))(hr||{}),Es=(i=>(i.left="left",i.none="none",i.right="right",i))(Es||{}),aa=(i=>(i.extended="extended",i.regular="regular",i))(aa||{}),ir=(i=>(i.arrowdown="arrowdown",i.arrowup="arrowup",i.circle="circle",i.cross="cross",i.diamond="diamond",i.flag="flag",i.labeldown="labeldown",i.labelup="labelup",i.square="square",i.triangledown="triangledown",i.triangleup="triangleup",i.xcross="xcross",i))(ir||{}),tr=(i=>(i.auto="auto",i.huge="huge",i.large="large",i.normal="normal",i.small="small",i.tiny="tiny",i))(tr||{}),Vn=(i=>(i.familyDefault="default",i.familyMonospace="monospace",i))(Vn||{}),Se=(i=>(i.cash="cash",i.fixed="fixed",i.percentOfEquity="percent_of_equity",i))(Se||{}),Cr=(i=>(i.cashPerContract="cash_per_contract",i.cashPerOrder="cash_per_order",i.percent="percent",i))(Cr||{}),_e=(i=>(i.all="all",i.long="long",i.short="short",i))(_e||{}),an=(i=>(i.cancel="cancel",i.none="none",i.reduce="reduce",i))(an||{}),Ut=(i=>(i.alignBottom="align_bottom",i.alignCenter="align_center",i.alignLeft="align_left",i.alignRight="align_right",i.alignTop="align_top",i.wrapAuto="wrap_auto",i.wrapNone="wrap_none",i))(Ut||{}),ve=(i=>(i.bar_index="bar_index",i.bar_time="bar_time",i))(ve||{}),Ur=(i=>(i.abovebar="abovebar",i.belowbar="belowbar",i.price="price",i))(Ur||{}),xs=(i=>(i.actual="actual",i.estimate="estimate",i.standardized="standardized",i))(xs||{}),Zn=(i=>(i.traditional="Traditional",i.fibonacci="Fibonacci",i.woodie="Woodie",i.classic="Classic",i.dm="DM",i.camarilla="Camarilla",i))(Zn||{}),sr=(i=>(i.INT="int",i.BOOL="bool",i.TIME="time",i.COLOR="color",i.FLOAT="float",i.PRICE="price",i.SOURCE="source",i.STRING="string",i.SYMBOL="symbol",i.SESSION="session",i.TEXT_AREA="text_area",i.TIMEFRAME="timeframe",i))(sr||{}),jt=(i=>(i[i.Hint=1]="Hint",i[i.Info=2]="Info",i[i.Warning=4]="Warning",i[i.Error=8]="Error",i))(jt||{});class qp{constructor(t){z(this,"_errorListener");this._errorListener=t}new({size:t,initial_value:e}={}){return new Qt(t,e,this._errorListener)}new_float({size:t,initial_value:e}={}){return new Qt(t,e,this._errorListener)}new_int({size:t,initial_value:e}={}){return new Qt(t,e,this._errorListener)}new_color({size:t,initial_value:e}={}){return new Qt(t,e,this._errorListener)}new_bool({size:t,initial_value:e}={}){return new Qt(t,e,this._errorListener)}new_string({size:t,initial_value:e}={}){return new Qt(t,e,this._errorListener)}new_line({size:t,initial_value:e}={}){return new Qt(t,e,this._errorListener)}new_box({size:t,initial_value:e}={}){return new Qt(t,e,this._errorListener)}new_table({size:t,initial_value:e}={}){return new Qt(t,e,this._errorListener)}new_linefill({size:t,initial_value:e}={}){return new Qt(t,e,this._errorListener)}new_label({size:t,initial_value:e}={}){return new Qt(t,e,this._errorListener)}copy({id:t}){return t==null?void 0:t.copy()}slice({id:t,index_from:e,index_to:r}){return t==null?void 0:t.slice({index_from:e,index_to:r})}size({id:t}){return t==null?void 0:t.size()}first({id:t}){return t==null?void 0:t.first()}abs({id:t},e){return t==null?void 0:t.abs(e)}avg({id:t},e){return t==null?void 0:t.avg(e)}binary_search({id:t,val:e},r){return t==null?void 0:t.binary_search({val:e},r)}binary_search_leftmost({id:t,val:e},r){return t==null?void 0:t.binary_search_leftmost({val:e},r)}binary_search_rightmost({id:t,val:e},r){return t==null?void 0:t.binary_search_rightmost({val:e},r)}clear({id:t}){t==null||t.clear()}concat({id1:t,id2:e}){return t==null?void 0:t.concat({id2:e})}covariance({id1:t,id2:e,biased:r},n){return t==null?void 0:t.covariance({id2:e,biased:r},n)}every({id:t},e){return t==null?void 0:t.every(e)}from(t,e){const r=new Qt(0,void 0,this._errorListener);return r._value=e,r}fill({id:t,value:e,index_from:r,index_to:n}){t==null||t.fill({value:e,index_from:r,index_to:n})}get({id:t,index:e}){return t==null?void 0:t.get({index:e})}includes({id:t,value:e}){return t==null?void 0:t.includes({value:e})}indexof({id:t,value:e}){return t==null?void 0:t.indexof({value:e})}insert({id:t,index:e,value:r}){t==null||t.insert({index:e,value:r})}join({id:t,separator:e},r){return t==null?void 0:t.join({separator:e},r)}last({id:t}){return t==null?void 0:t.last()}lastindexof({id:t,value:e}){return t==null?void 0:t.lastindexof({value:e})}max({id:t,nth:e},r){return t==null?void 0:t.max({nth:e},r)}median({id:t},e){return t==null?void 0:t.median(e)}min({id:t,nth:e},r){return t==null?void 0:t.min({nth:e},r)}mode({id:t},e){return t==null?void 0:t.mode(e)}percentile_linear_interpolation({id:t,percentage:e},r){return t==null?void 0:t.percentile_linear_interpolation({percentage:e},r)}percentile_nearest_rank({id:t,percentage:e},r){return t==null?void 0:t.percentile_nearest_rank({percentage:e},r)}percentrank({id:t,index:e},r){return t==null?void 0:t.percentrank({index:e},r)}pop({id:t}){return t==null?void 0:t.pop()}push({id:t,value:e}){t==null||t.push({value:e})}range({id:t},e){return t==null?void 0:t.range(e)}remove({id:t,index:e}){return t==null?void 0:t.remove({index:e})}reverse({id:t}){return t==null?void 0:t.reverse()}set({id:t,index:e,value:r}){t==null||t.set({index:e,value:r})}shift({id:t}){return t==null?void 0:t.shift()}some({id:t},e){return t==null?void 0:t.some(e)}sort({id:t,order:e},r){t==null||t.sort({order:e},r)}sort_indices({id:t,order:e},r){return t==null?void 0:t.sort_indices({order:e},r)}standardize({id:t},e){return t==null?void 0:t.standardize(e)}stdev({id:t,biased:e},r){return t==null?void 0:t.stdev({biased:e},r)}sum({id:t},e){return t==null?void 0:t.sum(e)}unshift({id:t,value:e}){t==null||t.unshift({value:e})}variance({id:t,biased:e},r){return t==null?void 0:t.variance({biased:e},r)}}class Qt{constructor(t=0,e,r){z(this,"_arrInstance");z(this,"_errorListener");this._errorListener=r,this._arrInstance=Array.from(new Array(t||0),()=>Pr.cloneDeep(e))}get isArray(){return!0}get _value(){return[...this._arrInstance]}set _value(t){this._arrInstance=[...t]}_deepCopyData(t){this._arrInstance=Pr.cloneDeep(t)}_copyData(t){this._arrInstance=t}copy(){const t=new Qt(0,void 0,this._errorListener);return t._deepCopyData(this._arrInstance),t}slice({index_from:t,index_to:e}){const r=new Qt(0,void 0,this._errorListener);return r._copyData(this._arrInstance.slice(t,e)),r}size(){return this._arrInstance.length}first(){return this._arrInstance[0]}abs(t){const e=new Qt(0,void 0,this._errorListener);this._verifySimpleType("number","abs","int/float",t);const r=this._arrInstance.map(n=>Math.abs(n));return e._copyData(r),e}avg(t){return this._verifySimpleType("number","avg","int/float",t),Pr.mean(this._arrInstance)}binary_search({val:t},e){return this._verifySimpleType("number","binary_search","int/float",e),_t(t)?-1:this._binarySearch(this._arrInstance,t)}binary_search_leftmost({val:t},e){return this._verifySimpleType("number","binary_search_leftmost","int/float",e),_t(t)?this._arrInstance.length-1:this._binarySearchLeftMost(this._arrInstance,t)}binary_search_rightmost({val:t},e){return this._verifySimpleType("number","binary_search_rightmost","int/float",e),_t(t)?this._arrInstance.length:this._binarySearchRightMost(this._arrInstance,t)}clear(){this._arrInstance=[]}concat({id2:t}){return this._arrInstance=this._arrInstance.concat(t==null?void 0:t._value),this}covariance({id2:t,biased:e},r){return this._verifySimpleType("number","covariance","int/float",r),this._verifySimpleType("number","covariance","int/float",r,t==null?void 0:t._value),this._covariance(this._arrInstance,t._value,e,r)}every(t){return this._verifySimpleType("number|boolean","every","int/float/bool",t),this._arrInstance.every(e=>!!e)}fill({value:t,index_from:e=0,index_to:r}){this._arrInstance=this._setElements(this._arrInstance,t,e,r)}get({index:t}){if(!_t(t))return this._arrInstance[t]}includes({value:t}){return this._arrInstance.includes(t)}indexof({value:t}){return this._arrInstance.indexOf(t)}insert({index:t,value:e}){_t(t)||this._arrInstance.splice(t,0,e)}join({separator:t}={},e){return this._verifySimpleType("number|string","join","int/float/string",e),this._arrInstance.join(t)}last(){return this._arrInstance[this._arrInstance.length-1]}lastindexof({value:t}){return this._arrInstance.lastIndexOf(t)}max({nth:t}={},e){return this._verifySimpleType("number","max","int/float",e),this._maxNth([...this._arrInstance],t)}median(t){return this._verifySimpleType("number","median","int/float",t),this._median([...this._arrInstance])}min({nth:t}={},e){return this._verifySimpleType("number","min","int/float",e),this._minNth([...this._arrInstance],t)}mode(t){return this._verifySimpleType("number","mode","int/float",t),this._mode([...this._arrInstance])}percentile_linear_interpolation({percentage:t},e){return this._verifySimpleType("number","percentile_linear_interpolation","int/float",e),this._percentileLinearInterpolation([...this._arrInstance],t)}percentile_nearest_rank({percentage:t=0},e){var r;if(this._arrInstance.length===0||t<0||t>100||_t(t)){(r=this._errorListener)==null||r.addError("Invalid percentile or empty array",e,jt.Error);return}return this._verifySimpleType("number","percentile_nearest_rank","int/float",e),this._getNearestRankPercentile([...this._arrInstance],t)}percentrank({index:t},e){return this._verifySimpleType("number","percentrank","int/float",e),this._getPercentileRank([...this._arrInstance],t)}pop(){return this._arrInstance.pop()}push({value:t}){this._arrInstance.push(t)}range(t){var s;if(this._arrInstance.length===0){(s=this._errorListener)==null||s.addError("Array must not be empty",t,jt.Error);return}this._verifySimpleType("number","range","int/float",t);const e=Math.min(...this._arrInstance);return Math.max(...this._arrInstance)-e}remove({index:t}){if(!_t(t))return this._arrInstance.splice(t,1)[0]}reverse(){this._arrInstance.reverse()}set({index:t,value:e}){_t(t)||(this._arrInstance[t]=e)}shift(){return this._arrInstance.shift()}some(t){return this._verifySimpleType("number|boolean","some","int/float/bool",t),this._arrInstance.some(e=>!!e)}sort({order:t}={},e){this._verifySimpleType("number","sort","int/float",e),this._arrInstance.sort((r,n)=>t!==Yn.descending?r-n:n-r)}sort_indices({order:t}={},e){this._verifySimpleType("number","sort_indices","int/float",e);const r=this._arrInstance.map((s,a)=>a);r.sort((s,a)=>t!==Yn.descending?this._arrInstance[s]-this._arrInstance[a]:this._arrInstance[a]-this._arrInstance[s]);const n=new Qt(0,void 0,this._errorListener);return n._copyData(r),n}standardize(t){this._verifySimpleType("number","standardize","int/float",t);const e=new Qt(0,void 0,this._errorListener);return e._copyData(this._standardizeArray([...this._arrInstance])),e}stdev({biased:t}={},e){var r;if(this._arrInstance.length===0){(r=this._errorListener)==null||r.addError("Array must not be empty",e,jt.Error);return}return this._verifySimpleType("number","stdev","int/float",e),this._calculateStandardDeviations([...this._arrInstance],t)}sum(t){return this._verifySimpleType("number","sum","int/float",t),this._arrInstance.reduce((r,n)=>r+(n||0),0)}unshift({value:t}){this._arrInstance.unshift(t)}variance({biased:t}={},e){var r;if(this._arrInstance.length===0){(r=this._errorListener)==null||r.addError("Array must not be empty",e,jt.Error);return}return this._verifySimpleType("number","variance","int/float",e),this._calculateVariances([...this._arrInstance],t)}_calculateVariances(t,e=!0){const r=t.reduce((a,l)=>a+(l||0),0)/t.length,n=t.reduce((a,l)=>a+((l||0)-r)**2,0),s=n/t.length;return e?s:t.length>1?n/(t.length-1):s}_calculateStandardDeviations(t,e=!0){const r=t.reduce((a,l)=>a+(l||0),0)/t.length,n=t.reduce((a,l)=>{const c=(l||0)-r;return a+c*c},0),s=Math.sqrt(n/t.length);return e?s:t.length>1?Math.sqrt(n/(t.length-1)):s}_standardizeArray(t){const e=t.reduce((s,a)=>s+(a||0),0)/t.length,r=Math.sqrt(t.reduce((s,a)=>s+Math.pow((a||0)-e,2),0)/t.length);return t.map(s=>((s||0)-e)/r)}_getPercentileRank(t,e=0){if(_t(e))return;const r=t[e];let n=0;for(let a=0;a<t.length;a++)(t[a]<r||t[a]===r&&a!=e)&&n++;return n/(t.length-1)*100}_getNearestRankPercentile(t,e=0){const r=t.slice().sort((a,l)=>a-l),n=e/100*r.length,s=Math.ceil(n)-1;return r[s>=r.length?r.length-1:s]}_percentileLinearInterpolation(t,e=0){if(e<0||e>100||_t(e))return;t.sort(function(s,a){return s-a});const r=t.length;e/=100;const n=1/(r*2);if(e<=n)return t[0];if(e>=1-1/(r*2))return t[r-1];for(const[s,a]of t.entries()){const l=t[s-1];if(e<(s+.5)/r)return l+(a-l)*(e-(s-.5)/r)/(1/r)}}_mode(t){const e={};let r=0;const n=[];for(const s of t)e[s]=(e[s]||0)+1,r=Math.max(r,e[s]);for(const s in e)e[s]===r&&n.push(Number(s));return Math.min(...r===1?t:n)}_median(t){t.sort(function(r,n){return r-n});const e=Math.floor(t.length/2);return t.length%2?t[e]:(t[e-1]+t[e])/2}_minNth(t,e=0){return t.sort(function(r,n){return r-n}),t[e]}_maxNth(t,e=0){return t.sort(function(r,n){return n-r}),t[e]}_setElements(t,e,r=0,n){n===void 0&&(n=t.length);for(let s=r;s<n;s++)t[s]=e;return t}_covariance(t,e,r=!0,n){var c;if(t.length!=e.length){(c=this._errorListener)==null||c.addError("Arrays have different lengths",n,jt.Error);return}t=t.filter(h=>h!==void 0),e=e.filter(h=>h!==void 0);const s=t.reduce((h,p)=>h+p,0)/t.length,a=e.reduce((h,p)=>h+p,0)/e.length;let l=0;for(let h=0;h<t.length;h++)l+=(t[h]-s)*(e[h]-a);return r?l/t.length:l/(t.length-1)}_verifySimpleType(t,e,r,n,s=this._arrInstance){var l;s.filter(c=>c!==void 0).some(c=>!t.split("|").includes(typeof c))&&((l=this._errorListener)==null||l.addError(`数组类型错误,array.${e}方法只能使用${r}类型数组!`,n,jt.Error))}_binarySearch(t,e){let r=0,n=t.length-1;for(;r<=n;){const s=Math.floor((r+n)/2);if(t[s]===e)return s;t[s]<e?r=s+1:n=s-1}return-1}_binarySearchLeftMost(t,e){let r=0,n=t.length-1;const s=[];for(;r<=n;){const a=Math.floor((r+n)/2);t[a]===e&&s.push(a),t[a]<e?r=a+1:n=a-1}return s.length?Math.min(...s):r-1}_binarySearchRightMost(t,e){let r=0,n=t.length-1;const s=[];for(;r<=n;){const a=Math.floor((r+n)/2);t[a]===e&&s.push(a),t[a]<=e?r=a+1:n=a-1}return s.length?Math.max(...s):r}}class kp{constructor(t,e){z(this,"_randomNums");z(this,"_mintick");z(this,"_cacheData");z(this,"_barIndex");z(this,"_errorListener");this._mintick=t,this._randomNums={},this._cacheData={},this._barIndex=0,this._errorListener=e}update(t){this._barIndex=t,this._randomNums={}}abs({number:t}){if(!_t(t))return Math.abs(t)}acos({angle:t}){if(_t(t))return;const e=Math.acos(t);return isNaN(e)?void 0:e}asin({angle:t}){if(_t(t))return;const e=Math.asin(t);return isNaN(e)?void 0:e}atan({angle:t}){if(_t(t))return;const e=Math.atan(t);return isNaN(e)?void 0:e}avg(t,e){return Pr.mean(e)}ceil({number:t}){if(!_t(t))return Math.ceil(t)}floor({number:t}){if(!_t(t))return Math.floor(t)}cos({angle:t}){if(_t(t))return;const e=Math.cos(t);return isNaN(e)?void 0:e}sin({angle:t}){if(_t(t))return;const e=Math.sin(t);return isNaN(e)?void 0:e}tan({angle:t}){if(_t(t))return;const e=Math.tan(t);return isNaN(e)?void 0:e}exp({number:t}){if(!_t(t))return Math.exp(t)}log({number:t}){if(!_t(t))return Math.log(t)}log10({number:t}){if(!_t(t))return Math.log10(t)}max(t,e){return e=e.filter(r=>!_t(r)),Math.max(...e)}min(t,e){return e=e.filter(r=>!_t(r)),Math.min(...e)}pow({base:t,exponent:e}){if(!(_t(t)||_t(e)))return Math.pow(t,e)}random({min:t=0,max:e=1,seed:r},n){if(_t(t)&&(t=0),_t(e)&&(e=1),r&&this._randomNums[r])return this._randomNums[r];if(t>=e){this._errorListener.addError("min must be less than max",n,jt.Error);return}let s;do s=Math.random()*(e-t)+t;while(s===t||s===e);return r&&(this._randomNums[r]=s),s}round({number:t,precision:e}){if(!_t(t))return _t(e)?Math.round(t):Number(t==null?void 0:t.toFixed(e))}round_to_mintick({number:t}){if(!_t(t))return Number(t==null?void 0:t.toFixed(this._mintick))}sign({number:t}){if(!_t(t))return t&&Math.sign(t)}sqrt({number:t}){if(!_t(t))return Math.sqrt(t)}sum({source:t,length:e=1},r){let n=this._cacheData[`sum_${r}`];n||(n=[]),n[this._barIndex]=t,this._cacheData[`sum_${r}`]=n;const s=n.filter(a=>!_t(a));if(!(s.length<e))return Pr.sum(s.slice(-e))}todegrees({radians:t}){if(!_t(t))return t*(180/Math.PI)}toradians({degrees:t}){if(!_t(t))return t*(Math.PI/180)}}function As(){return As=Object.assign?Object.assign.bind():function(i){for(var t=1;t<arguments.length;t++){var e=arguments[t];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(i[r]=e[r])}return i},As.apply(this,arguments)}var Tl={epsilon:1e-12,matrix:"Matrix",number:"number",precision:64,predictable:!1,randomSeed:null};function he(i){return typeof i=="number"}function Fe(i){return!i||typeof i!="object"||typeof i.constructor!="function"?!1:i.isBigNumber===!0&&typeof i.constructor.prototype=="object"&&i.constructor.prototype.isBigNumber===!0||typeof i.constructor.isDecimal=="function"&&i.constructor.isDecimal(i)===!0}function Il(i){return i&&typeof i=="object"&&Object.getPrototypeOf(i).isComplex===!0||!1}function $l(i){return i&&typeof i=="object"&&Object.getPrototypeOf(i).isFraction===!0||!1}function Ll(i){return i&&i.constructor.prototype.isUnit===!0||!1}function Xr(i){return typeof i=="string"}var be=Array.isArray;function me(i){return i&&i.constructor.prototype.isMatrix===!0||!1}function Yi(i){return Array.isArray(i)||me(i)}function Up(i){return i&&i.isDenseMatrix&&i.constructor.prototype.isMatrix===!0||!1}function Wp(i){return i&&i.isSparseMatrix&&i.constructor.prototype.isMatrix===!0||!1}function jp(i){return i&&i.constructor.prototype.isRange===!0||!1}function ua(i){return i&&i.constructor.prototype.isIndex===!0||!1}function Yp(i){return typeof i=="boolean"}function Vp(i){return i&&i.constructor.prototype.isResultSet===!0||!1}function Zp(i){return i&&i.constructor.prototype.isHelp===!0||!1}function Gp(i){return typeof i=="function"}function Kp(i){return i instanceof Date}function Hp(i){return i instanceof RegExp}function la(i){return!!(i&&typeof i=="object"&&i.constructor===Object&&!Il(i)&&!$l(i))}function Jp(i){return i===null}function Xp(i){return i===void 0}function Qp(i){return i&&i.isAccessorNode===!0&&i.constructor.prototype.isNode===!0||!1}function td(i){return i&&i.isArrayNode===!0&&i.constructor.prototype.isNode===!0||!1}function ed(i){return i&&i.isAssignmentNode===!0&&i.constructor.prototype.isNode===!0||!1}function rd(i){return i&&i.isBlockNode===!0&&i.constructor.prototype.isNode===!0||!1}function nd(i){return i&&i.isConditionalNode===!0&&i.constructor.prototype.isNode===!0||!1}function id(i){return i&&i.isConstantNode===!0&&i.constructor.prototype.isNode===!0||!1}function sd(i){return i&&i.isFunctionAssignmentNode===!0&&i.constructor.prototype.isNode===!0||!1}function od(i){return i&&i.isFunctionNode===!0&&i.constructor.prototype.isNode===!0||!1}function ad(i){return i&&i.isIndexNode===!0&&i.constructor.prototype.isNode===!0||!1}function ud(i){return i&&i.isNode===!0&&i.constructor.prototype.isNode===!0||!1}function ld(i){return i&&i.isObjectNode===!0&&i.constructor.prototype.isNode===!0||!1}function cd(i){return i&&i.isOperatorNode===!0&&i.constructor.prototype.isNode===!0||!1}function fd(i){return i&&i.isParenthesisNode===!0&&i.constructor.prototype.isNode===!0||!1}function hd(i){return i&&i.isRangeNode===!0&&i.constructor.prototype.isNode===!0||!1}function pd(i){return i&&i.isRelationalNode===!0&&i.constructor.prototype.isNode===!0||!1}function dd(i){return i&&i.isSymbolNode===!0&&i.constructor.prototype.isNode===!0||!1}function _d(i){return i&&i.constructor.prototype.isChain===!0||!1}function En(i){var t=typeof i;return t==="object"?i===null?"null":Fe(i)?"BigNumber":i.constructor&&i.constructor.name?i.constructor.name:"Object":t}function se(i){var t=typeof i;if(t==="number"||t==="string"||t==="boolean"||i===null||i===void 0)return i;if(typeof i.clone=="function")return i.clone();if(Array.isArray(i))return i.map(function(e){return se(e)});if(i instanceof Date)return new Date(i.valueOf());if(Fe(i))return i;if(la(i))return md(i,se);throw new TypeError("Cannot clone: unknown type of value (value: ".concat(i,")"))}function md(i,t){var e={};for(var r in i)Vi(i,r)&&(e[r]=t(i[r]));return e}function Rl(i,t){for(var e in t)Vi(t,e)&&(i[e]=t[e]);return i}function fi(i,t){var e,r,n;if(Array.isArray(i)){if(!Array.isArray(t)||i.length!==t.length)return!1;for(r=0,n=i.length;r<n;r++)if(!fi(i[r],t[r]))return!1;return!0}else{if(typeof i=="function")return i===t;if(i instanceof Object){if(Array.isArray(t)||!(t instanceof Object))return!1;for(e in i)if(!(e in t)||!fi(i[e],t[e]))return!1;for(e in t)if(!(e in i))return!1;return!0}else return i===t}}function Vi(i,t){return i&&Object.hasOwnProperty.call(i,t)}function gd(i,t){for(var e={},r=0;r<t.length;r++){var n=t[r],s=i[n];s!==void 0&&(e[n]=s)}return e}var vd=["Matrix","Array"],yd=["number","BigNumber","Fraction"],pr=function(t){if(t)throw new Error(`The global config is readonly.
28
28
  Please create a mathjs instance if you want to change the default configuration.
29
29
  Example:
30
30
 
31
31
  import { create, all } from 'mathjs';
32
32
  const mathjs = create(all);
33
33
  mathjs.config({ number: 'BigNumber' });
34
- `);return Object.freeze(Tl)};As(pr,Tl,{MATRIX_OPTIONS:vd,NUMBER_OPTIONS:wd});function Pl(){return!0}function Fr(){return!1}function hi(){}const zl="Argument is not a typed-function.";function ql(){function i($){return typeof $=="object"&&$!==null&&$.constructor===Object}const t=[{name:"number",test:function($){return typeof $=="number"}},{name:"string",test:function($){return typeof $=="string"}},{name:"boolean",test:function($){return typeof $=="boolean"}},{name:"Function",test:function($){return typeof $=="function"}},{name:"Array",test:Array.isArray},{name:"Date",test:function($){return $ instanceof Date}},{name:"RegExp",test:function($){return $ instanceof RegExp}},{name:"Object",test:i},{name:"null",test:function($){return $===null}},{name:"undefined",test:function($){return $===void 0}}],e={name:"any",test:Pl,isAny:!0};let r,n,s=0,a={createCount:0};function l($){const V=r.get($);if(V)return V;let K='Unknown type "'+$+'"';const nt=$.toLowerCase();let st;for(st of n)if(st.toLowerCase()===nt){K+='. Did you mean "'+st+'" ?';break}throw new TypeError(K)}function c($){let V=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"any";const K=V?l(V).index:n.length,nt=[];for(let rt=0;rt<$.length;++rt){if(!$[rt]||typeof $[rt].name!="string"||typeof $[rt].test!="function")throw new TypeError("Object with properties {name: string, test: function} expected");const ft=$[rt].name;if(r.has(ft))throw new TypeError('Duplicate type name "'+ft+'"');nt.push(ft),r.set(ft,{name:ft,test:$[rt].test,isAny:$[rt].isAny,index:K+rt,conversionsTo:[]})}const st=n.slice(K);n=n.slice(0,K).concat(nt).concat(st);for(let rt=K+nt.length;rt<n.length;++rt)r.get(n[rt]).index=rt}function h(){r=new Map,n=[],s=0,c([e],!1)}h(),c(t);function p(){let $;for($ of n)r.get($).conversionsTo=[];s=0}function f($){const V=n.filter(K=>{const nt=r.get(K);return!nt.isAny&&nt.test($)});return V.length?V:["any"]}function d($){return $&&typeof $=="function"&&"_typedFunctionData"in $}function g($,V,K){if(!d($))throw new TypeError(zl);const nt=K&&K.exact,st=Array.isArray(V)?V.join(","):V,rt=N(st),ft=D(rt);if(!nt||ft in $.signatures){const Xt=$._typedFunctionData.signatureMap.get(ft);if(Xt)return Xt}const ut=rt.length;let ht;if(nt){ht=[];let Xt;for(Xt in $.signatures)ht.push($._typedFunctionData.signatureMap.get(Xt))}else ht=$._typedFunctionData.signatures;for(let Xt=0;Xt<ut;++Xt){const ne=rt[Xt],ye=[];let qe;for(qe of ht){const Re=S(qe.params,Xt);if(!(!Re||ne.restParam&&!Re.restParam)){if(!Re.hasAny){const gr=b(Re);if(ne.types.some(vr=>!gr.has(vr.name)))continue}ye.push(qe)}}if(ht=ye,ht.length===0)break}let at;for(at of ht)if(at.params.length<=ut)return at;throw new TypeError("Signature not found (signature: "+($.name||"unnamed")+"("+D(rt,", ")+"))")}function w($,V,K){return g($,V,K).implementation}function m($,V){const K=l(V);if(K.test($))return $;const nt=K.conversionsTo;if(nt.length===0)throw new Error("There are no conversions to "+V+" defined.");for(let st=0;st<nt.length;st++)if(l(nt[st].from).test($))return nt[st].convert($);throw new Error("Cannot convert "+$+" to "+V)}function D($){let V=arguments.length>1&&arguments[1]!==void 0?arguments[1]:",";return $.map(K=>K.name).join(V)}function v($){const V=$.indexOf("...")===0,nt=(V?$.length>3?$.slice(3):"any":$).split("|").map(ut=>l(ut.trim()));let st=!1,rt=V?"...":"";return{types:nt.map(function(ut){return st=ut.isAny||st,rt+=ut.name+"|",{name:ut.name,typeIndex:ut.index,test:ut.test,isAny:ut.isAny,conversion:null,conversionIndex:-1}}),name:rt.slice(0,-1),hasAny:st,hasConversion:!1,restParam:V}}function E($){const V=$.types.map(ft=>ft.name),K=G(V);let nt=$.hasAny,st=$.name;const rt=K.map(function(ft){const ut=l(ft.from);return nt=ut.isAny||nt,st+="|"+ft.from,{name:ft.from,typeIndex:ut.index,test:ut.test,isAny:ut.isAny,conversion:ft,conversionIndex:ft.index}});return{types:$.types.concat(rt),name:st,hasAny:nt,hasConversion:rt.length>0,restParam:$.restParam}}function b($){return $.typeSet||($.typeSet=new Set,$.types.forEach(V=>$.typeSet.add(V.name))),$.typeSet}function N($){const V=[];if(typeof $!="string")throw new TypeError("Signatures must be strings");const K=$.trim();if(K==="")return V;const nt=K.split(",");for(let st=0;st<nt.length;++st){const rt=v(nt[st].trim());if(rt.restParam&&st!==nt.length-1)throw new SyntaxError('Unexpected rest parameter "'+nt[st]+'": only allowed for the last parameter');if(rt.types.length===0)return null;V.push(rt)}return V}function x($){const V=Tt($);return V?V.restParam:!1}function F($){if(!$||$.types.length===0)return Pl;if($.types.length===1)return l($.types[0].name).test;if($.types.length===2){const V=l($.types[0].name).test,K=l($.types[1].name).test;return function(st){return V(st)||K(st)}}else{const V=$.types.map(function(K){return l(K.name).test});return function(nt){for(let st=0;st<V.length;st++)if(V[st](nt))return!0;return!1}}}function M($){let V,K,nt;if(x($)){V=oe($).map(F);const st=V.length,rt=F(Tt($)),ft=function(ut){for(let ht=st;ht<ut.length;ht++)if(!rt(ut[ht]))return!1;return!0};return function(ht){for(let at=0;at<V.length;at++)if(!V[at](ht[at]))return!1;return ft(ht)&&ht.length>=st+1}}else return $.length===0?function(rt){return rt.length===0}:$.length===1?(K=F($[0]),function(rt){return K(rt[0])&&rt.length===1}):$.length===2?(K=F($[0]),nt=F($[1]),function(rt){return K(rt[0])&&nt(rt[1])&&rt.length===2}):(V=$.map(F),function(rt){for(let ft=0;ft<V.length;ft++)if(!V[ft](rt[ft]))return!1;return rt.length===V.length})}function S($,V){return V<$.length?$[V]:x($)?Tt($):null}function I($,V){const K=S($,V);return K?b(K):new Set}function C($){return $.conversion===null||$.conversion===void 0}function O($,V){const K=new Set;return $.forEach(nt=>{const st=I(nt.params,V);let rt;for(rt of st)K.add(rt)}),K.has("any")?["any"]:Array.from(K)}function L($,V,K){let nt,st;const rt=$||"unnamed";let ft=K,ut;for(ut=0;ut<V.length;ut++){const ne=[];if(ft.forEach(ye=>{const qe=S(ye.params,ut),Re=F(qe);(ut<ye.params.length||x(ye.params))&&Re(V[ut])&&ne.push(ye)}),ne.length===0){if(st=O(ft,ut),st.length>0){const ye=f(V[ut]);return nt=new TypeError("Unexpected type of argument in function "+rt+" (expected: "+st.join(" or ")+", actual: "+ye.join(" | ")+", index: "+ut+")"),nt.data={category:"wrongType",fn:rt,index:ut,actual:ye,expected:st},nt}}else ft=ne}const ht=ft.map(function(ne){return x(ne.params)?1/0:ne.params.length});if(V.length<Math.min.apply(null,ht))return st=O(ft,ut),nt=new TypeError("Too few arguments in function "+rt+" (expected: "+st.join(" or ")+", index: "+V.length+")"),nt.data={category:"tooFewArgs",fn:rt,index:V.length,expected:st},nt;const at=Math.max.apply(null,ht);if(V.length>at)return nt=new TypeError("Too many arguments in function "+rt+" (expected: "+at+", actual: "+V.length+")"),nt.data={category:"tooManyArgs",fn:rt,index:V.length,expectedLength:at},nt;const Xt=[];for(let ne=0;ne<V.length;++ne)Xt.push(f(V[ne]).join("|"));return nt=new TypeError('Arguments of type "'+Xt.join(", ")+'" do not match any of the defined signatures of function '+rt+"."),nt.data={category:"mismatch",actual:Xt},nt}function k($){let V=n.length+1;for(let K=0;K<$.types.length;K++)C($.types[K])&&(V=Math.min(V,$.types[K].typeIndex));return V}function U($){let V=s+1;for(let K=0;K<$.types.length;K++)C($.types[K])||(V=Math.min(V,$.types[K].conversionIndex));return V}function W($,V){if($.hasAny){if(!V.hasAny)return 1}else if(V.hasAny)return-1;if($.restParam){if(!V.restParam)return 1}else if(V.restParam)return-1;if($.hasConversion){if(!V.hasConversion)return 1}else if(V.hasConversion)return-1;const K=k($)-k(V);if(K<0)return-1;if(K>0)return 1;const nt=U($)-U(V);return nt<0?-1:nt>0?1:0}function P($,V){const K=$.params,nt=V.params,st=Tt(K),rt=Tt(nt),ft=x(K),ut=x(nt);if(ft&&st.hasAny){if(!ut||!rt.hasAny)return 1}else if(ut&&rt.hasAny)return-1;let ht=0,at=0,Xt;for(Xt of K)Xt.hasAny&&++ht,Xt.hasConversion&&++at;let ne=0,ye=0;for(Xt of nt)Xt.hasAny&&++ne,Xt.hasConversion&&++ye;if(ht!==ne)return ht-ne;if(ft&&st.hasConversion){if(!ut||!rt.hasConversion)return 1}else if(ut&&rt.hasConversion)return-1;if(at!==ye)return at-ye;if(ft){if(!ut)return 1}else if(ut)return-1;const qe=(K.length-nt.length)*(ft?-1:1);if(qe!==0)return qe;const Re=[];let gr=0;for(let Tn=0;Tn<K.length;++Tn){const ti=W(K[Tn],nt[Tn]);Re.push(ti),gr+=ti}if(gr!==0)return gr;let vr;for(vr of Re)if(vr!==0)return vr;return 0}function G($){if($.length===0)return[];const V=$.map(l);$.length>1&&V.sort((st,rt)=>st.index-rt.index);let K=V[0].conversionsTo;if($.length===1)return K;K=K.concat([]);const nt=new Set($);for(let st=1;st<V.length;++st){let rt;for(rt of V[st].conversionsTo)nt.has(rt.from)||(K.push(rt),nt.add(rt.from))}return K}function Z($,V){let K=V;if($.some(st=>st.hasConversion)){const st=x($),rt=$.map(X);K=function(){const ut=[],ht=st?arguments.length-1:arguments.length;for(let at=0;at<ht;at++)ut[at]=rt[at](arguments[at]);return st&&(ut[ht]=arguments[ht].map(rt[ht])),V.apply(this,ut)}}let nt=K;if(x($)){const st=$.length-1;nt=function(){return K.apply(this,Nt(arguments,0,st).concat([Nt(arguments,st)]))}}return nt}function X($){let V,K,nt,st;const rt=[],ft=[];switch($.types.forEach(function(ut){ut.conversion&&(rt.push(l(ut.conversion.from).test),ft.push(ut.conversion.convert))}),ft.length){case 0:return function(ht){return ht};case 1:return V=rt[0],nt=ft[0],function(ht){return V(ht)?nt(ht):ht};case 2:return V=rt[0],K=rt[1],nt=ft[0],st=ft[1],function(ht){return V(ht)?nt(ht):K(ht)?st(ht):ht};default:return function(ht){for(let at=0;at<ft.length;at++)if(rt[at](ht))return ft[at](ht);return ht}}}function tt($){function V(K,nt,st){if(nt<K.length){const rt=K[nt];let ft=[];if(rt.restParam){const ut=rt.types.filter(C);ut.length<rt.types.length&&ft.push({types:ut,name:"..."+ut.map(ht=>ht.name).join("|"),hasAny:ut.some(ht=>ht.isAny),hasConversion:!1,restParam:!0}),ft.push(rt)}else ft=rt.types.map(function(ut){return{types:[ut],name:ut.name,hasAny:ut.isAny,hasConversion:ut.conversion,restParam:!1}});return re(ft,function(ut){return V(K,nt+1,st.concat([ut]))})}else return[st]}return V($,0,[])}function ct($,V){const K=Math.max($.length,V.length);for(let ut=0;ut<K;ut++){const ht=I($,ut),at=I(V,ut);let Xt=!1,ne;for(ne of at)if(ht.has(ne)){Xt=!0;break}if(!Xt)return!1}const nt=$.length,st=V.length,rt=x($),ft=x(V);return rt?ft?nt===st:st>=nt:ft?nt>=st:nt===st}function vt($){return $.map(V=>Le(V)?Te(V.referToSelf.callback):_r(V)?Jt(V.referTo.references,V.referTo.callback):V)}function lt($,V,K){const nt=[];let st;for(st of $){let rt=K[st];if(typeof rt!="number")throw new TypeError('No definition for referenced signature "'+st+'"');if(rt=V[rt],typeof rt!="function")return!1;nt.push(rt)}return nt}function yt($,V,K){const nt=vt($),st=new Array(nt.length).fill(!1);let rt=!0;for(;rt;){rt=!1;let ft=!0;for(let ut=0;ut<nt.length;++ut){if(st[ut])continue;const ht=nt[ut];if(Le(ht))nt[ut]=ht.referToSelf.callback(K),nt[ut].referToSelf=ht.referToSelf,st[ut]=!0,ft=!1;else if(_r(ht)){const at=lt(ht.referTo.references,nt,V);at?(nt[ut]=ht.referTo.callback.apply(this,at),nt[ut].referTo=ht.referTo,st[ut]=!0,ft=!1):rt=!0}}if(ft&&rt)throw new SyntaxError("Circular reference detected in resolving typed.referTo")}return nt}function bt($){const V=/\bthis(\(|\.signatures\b)/;Object.keys($).forEach(K=>{const nt=$[K];if(V.test(nt.toString()))throw new SyntaxError("Using `this` to self-reference a function is deprecated since typed-function@3. Use typed.referTo and typed.referToSelf instead.")})}function Bt($,V){if(a.createCount++,Object.keys(V).length===0)throw new SyntaxError("No signatures provided");a.warnAgainstDeprecatedThis&&bt(V);const K=[],nt=[],st={},rt=[];let ft;for(ft in V){if(!Object.prototype.hasOwnProperty.call(V,ft))continue;const Zt=N(ft);if(!Zt)continue;K.forEach(function(In){if(ct(In,Zt))throw new TypeError('Conflicting signatures "'+D(In)+'" and "'+D(Zt)+'".')}),K.push(Zt);const He=nt.length;nt.push(V[ft]);const pu=Zt.map(E);let Ni;for(Ni of tt(pu)){const In=D(Ni);rt.push({params:Ni,name:In,fn:He}),Ni.every(wo=>!wo.hasConversion)&&(st[In]=He)}}rt.sort(P);const ut=yt(nt,st,ei);let ht;for(ht in st)Object.prototype.hasOwnProperty.call(st,ht)&&(st[ht]=ut[st[ht]]);const at=[],Xt=new Map;for(ht of rt)Xt.has(ht.name)||(ht.fn=ut[ht.fn],at.push(ht),Xt.set(ht.name,ht));const ne=at[0]&&at[0].params.length<=2&&!x(at[0].params),ye=at[1]&&at[1].params.length<=2&&!x(at[1].params),qe=at[2]&&at[2].params.length<=2&&!x(at[2].params),Re=at[3]&&at[3].params.length<=2&&!x(at[3].params),gr=at[4]&&at[4].params.length<=2&&!x(at[4].params),vr=at[5]&&at[5].params.length<=2&&!x(at[5].params),Tn=ne&&ye&&qe&&Re&&gr&&vr;for(let Zt=0;Zt<at.length;++Zt)at[Zt].test=M(at[Zt].params);const ti=ne?F(at[0].params[0]):Fr,mo=ye?F(at[1].params[0]):Fr,Ya=qe?F(at[2].params[0]):Fr,Va=Re?F(at[3].params[0]):Fr,Za=gr?F(at[4].params[0]):Fr,Ga=vr?F(at[5].params[0]):Fr,go=ne?F(at[0].params[1]):Fr,Ka=ye?F(at[1].params[1]):Fr,Ha=qe?F(at[2].params[1]):Fr,Ja=Re?F(at[3].params[1]):Fr,ns=gr?F(at[4].params[1]):Fr,Xa=vr?F(at[5].params[1]):Fr;for(let Zt=0;Zt<at.length;++Zt)at[Zt].implementation=Z(at[Zt].params,at[Zt].fn);const is=ne?at[0].implementation:hi,Qa=ye?at[1].implementation:hi,tu=qe?at[2].implementation:hi,eu=Re?at[3].implementation:hi,ru=gr?at[4].implementation:hi,nu=vr?at[5].implementation:hi,iu=ne?at[0].params.length:-1,su=ye?at[1].params.length:-1,ou=qe?at[2].params.length:-1,vo=Re?at[3].params.length:-1,au=gr?at[4].params.length:-1,uu=vr?at[5].params.length:-1,lu=Tn?6:0,cu=at.length,fu=at.map(Zt=>Zt.test),hu=at.map(Zt=>Zt.implementation),Mi=function(){for(let He=lu;He<cu;He++)if(fu[He](arguments))return hu[He].apply(this,arguments);return a.onMismatch($,arguments,at)};function ei(Zt,He){return arguments.length===iu&&ti(Zt)&&go(He)?is.apply(this,arguments):arguments.length===su&&mo(Zt)&&Ka(He)?Qa.apply(this,arguments):arguments.length===ou&&Ya(Zt)&&Ha(He)?tu.apply(this,arguments):arguments.length===vo&&Va(Zt)&&Ja(He)?eu.apply(this,arguments):arguments.length===au&&Za(Zt)&&ns(He)?ru.apply(this,arguments):arguments.length===uu&&Ga(Zt)&&Xa(He)?nu.apply(this,arguments):Mi.apply(this,arguments)}try{Object.defineProperty(ei,"name",{value:$})}catch{}return ei.signatures=st,ei._typedFunctionData={signatures:at,signatureMap:Xt},ei}function Et($,V,K){throw L($,V,K)}function oe($){return Nt($,0,$.length-1)}function Tt($){return $[$.length-1]}function Nt($,V,K){return Array.prototype.slice.call($,V,K)}function ue($,V){for(let K=0;K<$.length;K++)if(V($[K]))return $[K]}function re($,V){return Array.prototype.concat.apply([],$.map(V))}function qt(){const $=oe(arguments).map(K=>D(N(K))),V=Tt(arguments);if(typeof V!="function")throw new TypeError("Callback function expected as last argument");return Jt($,V)}function Jt($,V){return{referTo:{references:$,callback:V}}}function Te($){if(typeof $!="function")throw new TypeError("Callback function expected as first argument");return{referToSelf:{callback:$}}}function _r($){return $&&typeof $.referTo=="object"&&Array.isArray($.referTo.references)&&typeof $.referTo.callback=="function"}function Le($){return $&&typeof $.referToSelf=="object"&&typeof $.referToSelf.callback=="function"}function hn($,V){if(!$)return V;if(V&&V!==$){const K=new Error("Function names do not match (expected: "+$+", actual: "+V+")");throw K.data={actual:V,expected:$},K}return $}function Bn($){let V;for(const K in $)Object.prototype.hasOwnProperty.call($,K)&&(d($[K])||typeof $[K].signature=="string")&&(V=hn(V,$[K].name));return V}function pn($,V){let K;for(K in V)if(Object.prototype.hasOwnProperty.call(V,K)){if(K in $&&V[K]!==$[K]){const nt=new Error('Signature "'+K+'" is defined twice');throw nt.data={signature:K,sourceFunction:V[K],destFunction:$[K]},nt}$[K]=V[K]}}const mr=a;a=function($){const V=typeof $=="string",K=V?1:0;let nt=V?$:"";const st={};for(let rt=K;rt<arguments.length;++rt){const ft=arguments[rt];let ut={},ht;if(typeof ft=="function"?(ht=ft.name,typeof ft.signature=="string"?ut[ft.signature]=ft:d(ft)&&(ut=ft.signatures)):i(ft)&&(ut=ft,V||(ht=Bn(ft))),Object.keys(ut).length===0){const at=new TypeError("Argument to 'typed' at index "+rt+" is not a (typed) function, nor an object with signatures as keys and functions as values.");throw at.data={index:rt,argument:ft},at}V||(nt=hn(nt,ht)),pn(st,ut)}return Bt(nt||"",st)},a.create=ql,a.createCount=mr.createCount,a.onMismatch=Et,a.throwMismatchError=Et,a.createError=L,a.clear=h,a.clearConversions=p,a.addTypes=c,a._findType=l,a.referTo=qt,a.referToSelf=Te,a.convert=m,a.findSignature=g,a.find=w,a.isTypedFunction=d,a.warnAgainstDeprecatedThis=!0,a.addType=function($,V){let K="any";V!==!1&&r.has("Object")&&(K="Object"),a.addTypes([$],K)};function On($){if(!$||typeof $.from!="string"||typeof $.to!="string"||typeof $.convert!="function")throw new TypeError("Object with properties {from: string, to: string, convert: function} expected");if($.to===$.from)throw new SyntaxError('Illegal to define conversion from "'+$.from+'" to itself.')}return a.addConversion=function($){On($);const V=l($.to);if(V.conversionsTo.every(function(K){return K.from!==$.from}))V.conversionsTo.push({from:$.from,convert:$.convert,index:s++});else throw new Error('There is already a conversion from "'+$.from+'" to "'+V.name+'"')},a.addConversions=function($){$.forEach(a.addConversion)},a.removeConversion=function($){On($);const V=l($.to),K=ue(V.conversionsTo,st=>st.from===$.from);if(!K)throw new Error("Attempt to remove nonexistent conversion from "+$.from+" to "+$.to);if(K.convert!==$.convert)throw new Error("Conversion to remove does not match existing conversion");const nt=V.conversionsTo.indexOf(K);V.conversionsTo.splice(nt,1)},a.resolve=function($,V){if(!d($))throw new TypeError(zl);const K=$._typedFunctionData.signatures;for(let nt=0;nt<K.length;++nt)if(K[nt].test(V))return K[nt];return null},a}var kl=ql();function we(i){return typeof i=="boolean"?!0:isFinite(i)?i===Math.round(i):!1}function ca(i,t,e){var r={2:"0b",8:"0o",16:"0x"},n=r[t],s="";if(e){if(e<1)throw new Error("size must be in greater than 0");if(!we(e))throw new Error("size must be an integer");if(i>2**(e-1)-1||i<-(2**(e-1)))throw new Error("Value must be in range [-2^".concat(e-1,", 2^").concat(e-1,"-1]"));if(!we(i))throw new Error("Value must be an integer");i<0&&(i=i+2**e),s="i".concat(e)}var a="";return i<0&&(i=-i,a="-"),"".concat(a).concat(n).concat(i.toString(t)).concat(s)}function fa(i,t){if(typeof t=="function")return t(i);if(i===1/0)return"Infinity";if(i===-1/0)return"-Infinity";if(isNaN(i))return"NaN";var{notation:e,precision:r,wordSize:n}=Ul(t);switch(e){case"fixed":return Dd(i,r);case"exponential":return Wl(i,r);case"engineering":return yd(i,r);case"bin":return ca(i,2,n);case"oct":return ca(i,8,n);case"hex":return ca(i,16,n);case"auto":return bd(i,r,t).replace(/((\.\d*?)(0+))($|e)/,function(){var s=arguments[2],a=arguments[4];return s!=="."?s+a:a});default:throw new Error('Unknown notation "'+e+'". Choose "auto", "exponential", "fixed", "bin", "oct", or "hex.')}}function Ul(i){var t="auto",e,r;if(i!==void 0)if(he(i))e=i;else if(Fe(i))e=i.toNumber();else if(la(i))i.precision!==void 0&&(e=jl(i.precision,()=>{throw new Error('Option "precision" must be a number or BigNumber')})),i.wordSize!==void 0&&(r=jl(i.wordSize,()=>{throw new Error('Option "wordSize" must be a number or BigNumber')})),i.notation&&(t=i.notation);else throw new Error("Unsupported type of options, number, BigNumber, or object expected");return{notation:t,precision:e,wordSize:r}}function Cs(i){var t=String(i).toLowerCase().match(/^(-?)(\d+\.?\d*)(e([+-]?\d+))?$/);if(!t)throw new SyntaxError("Invalid number "+i);var e=t[1],r=t[2],n=parseFloat(t[4]||"0"),s=r.indexOf(".");n+=s!==-1?s-1:r.length-1;var a=r.replace(".","").replace(/^0*/,function(l){return n-=l.length,""}).replace(/0*$/,"").split("").map(function(l){return parseInt(l)});return a.length===0&&(a.push(0),n++),{sign:e,coefficients:a,exponent:n}}function yd(i,t){if(isNaN(i)||!isFinite(i))return String(i);var e=Cs(i),r=Fs(e,t),n=r.exponent,s=r.coefficients,a=n%3===0?n:n<0?n-3-n%3:n-n%3;if(he(t))for(;t>s.length||n-a+1>s.length;)s.push(0);else for(var l=Math.abs(n-a)-(s.length-1),c=0;c<l;c++)s.push(0);for(var h=Math.abs(n-a),p=1;h>0;)p++,h--;var f=s.slice(p).join(""),d=he(t)&&f.length||f.match(/[1-9]/)?"."+f:"",g=s.slice(0,p).join("")+d+"e"+(n>=0?"+":"")+a.toString();return r.sign+g}function Dd(i,t){if(isNaN(i)||!isFinite(i))return String(i);var e=Cs(i),r=typeof t=="number"?Fs(e,e.exponent+1+t):e,n=r.coefficients,s=r.exponent+1,a=s+(t||0);return n.length<a&&(n=n.concat(pi(a-n.length))),s<0&&(n=pi(-s+1).concat(n),s=1),s<n.length&&n.splice(s,0,s===0?"0.":"."),r.sign+n.join("")}function Wl(i,t){if(isNaN(i)||!isFinite(i))return String(i);var e=Cs(i),r=t?Fs(e,t):e,n=r.coefficients,s=r.exponent;n.length<t&&(n=n.concat(pi(t-n.length)));var a=n.shift();return r.sign+a+(n.length>0?"."+n.join(""):"")+"e"+(s>=0?"+":"")+s}function bd(i,t,e){if(isNaN(i)||!isFinite(i))return String(i);var r=Yl(e==null?void 0:e.lowerExp,-3),n=Yl(e==null?void 0:e.upperExp,5),s=Cs(i),a=t?Fs(s,t):s;if(a.exponent<r||a.exponent>=n)return Wl(i,t);var l=a.coefficients,c=a.exponent;l.length<t&&(l=l.concat(pi(t-l.length))),l=l.concat(pi(c-l.length+1+(l.length<t?t-l.length:0))),l=pi(-c).concat(l);var h=c>0?c:0;return h<l.length-1&&l.splice(h+1,0,"."),a.sign+l.join("")}function Fs(i,t){for(var e={sign:i.sign,coefficients:i.coefficients,exponent:i.exponent},r=e.coefficients;t<=0;)r.unshift(0),e.exponent++,t++;if(r.length>t){var n=r.splice(t,r.length-t);if(n[0]>=5){var s=t-1;for(r[s]++;r[s]===10;)r.pop(),s===0&&(r.unshift(0),e.exponent++,s++),s--,r[s]++}}return e}function pi(i){for(var t=[],e=0;e<i;e++)t.push(0);return t}function Ed(i){return i.toExponential().replace(/e.*$/,"").replace(/^0\.?0*|\./,"").length}var xd=Number.EPSILON||2220446049250313e-31;function Gn(i,t,e){if(e==null)return i===t;if(i===t)return!0;if(isNaN(i)||isNaN(t))return!1;if(isFinite(i)&&isFinite(t)){var r=Math.abs(i-t);return r<=xd?!0:r<=Math.max(Math.abs(i),Math.abs(t))*e}return!1}function jl(i,t){if(he(i))return i;if(Fe(i))return i.toNumber();t()}function Yl(i,t){return he(i)?i:Fe(i)?i.toNumber():t}function ha(i,t,e){var r=i.constructor,n=new r(2),s="";if(e){if(e<1)throw new Error("size must be in greater than 0");if(!we(e))throw new Error("size must be an integer");if(i.greaterThan(n.pow(e-1).sub(1))||i.lessThan(n.pow(e-1).mul(-1)))throw new Error("Value must be in range [-2^".concat(e-1,", 2^").concat(e-1,"-1]"));if(!i.isInteger())throw new Error("Value must be an integer");i.lessThan(0)&&(i=i.add(n.pow(e))),s="i".concat(e)}switch(t){case 2:return"".concat(i.toBinary()).concat(s);case 8:return"".concat(i.toOctal()).concat(s);case 16:return"".concat(i.toHexadecimal()).concat(s);default:throw new Error("Base ".concat(t," not supported "))}}function Ad(i,t){if(typeof t=="function")return t(i);if(!i.isFinite())return i.isNaN()?"NaN":i.gt(0)?"Infinity":"-Infinity";var{notation:e,precision:r,wordSize:n}=Ul(t);switch(e){case"fixed":return Fd(i,r);case"exponential":return Vl(i,r);case"engineering":return Cd(i,r);case"bin":return ha(i,2,n);case"oct":return ha(i,8,n);case"hex":return ha(i,16,n);case"auto":{var s=Zl(t==null?void 0:t.lowerExp,-3),a=Zl(t==null?void 0:t.upperExp,5);if(i.isZero())return"0";var l,c=i.toSignificantDigits(r),h=c.e;return h>=s&&h<a?l=c.toFixed():l=Vl(i,r),l.replace(/((\.\d*?)(0+))($|e)/,function(){var p=arguments[2],f=arguments[4];return p!=="."?p+f:f})}default:throw new Error('Unknown notation "'+e+'". Choose "auto", "exponential", "fixed", "bin", "oct", or "hex.')}}function Cd(i,t){var e=i.e,r=e%3===0?e:e<0?e-3-e%3:e-e%3,n=i.mul(Math.pow(10,-r)),s=n.toPrecision(t);if(s.indexOf("e")!==-1){var a=i.constructor;s=new a(s).toFixed()}return s+"e"+(e>=0?"+":"")+r.toString()}function Vl(i,t){return t!==void 0?i.toExponential(t-1):i.toExponential()}function Fd(i,t){return i.toFixed(t)}function Zl(i,t){return he(i)?i:Fe(i)?i.toNumber():t}function le(i,t){var e=Md(i,t);return t&&typeof t=="object"&&"truncate"in t&&e.length>t.truncate?e.substring(0,t.truncate-3)+"...":e}function Md(i,t){if(typeof i=="number")return fa(i,t);if(Fe(i))return Ad(i,t);if(Nd(i))return!t||t.fraction!=="decimal"?i.s*i.n+"/"+i.d:i.toString();if(Array.isArray(i))return Hl(i,t);if(Xr(i))return Gl(i);if(typeof i=="function")return i.syntax?String(i.syntax):"function";if(i&&typeof i=="object"){if(typeof i.format=="function")return i.format(t);if(i&&i.toString(t)!=={}.toString())return i.toString(t);var e=Object.keys(i).map(r=>Gl(r)+": "+le(i[r],t));return"{"+e.join(", ")+"}"}return String(i)}function Gl(i){for(var t=String(i),e="",r=0;r<t.length;){var n=t.charAt(r);e+=n in Kl?Kl[n]:n,r++}return'"'+e+'"'}var Kl={'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t"};function Hl(i,t){if(Array.isArray(i)){for(var e="[",r=i.length,n=0;n<r;n++)n!==0&&(e+=", "),e+=Hl(i[n],t);return e+="]",e}else return le(i,t)}function Nd(i){return i&&typeof i=="object"&&typeof i.s=="number"&&typeof i.n=="number"&&typeof i.d=="number"||!1}function Ht(i,t,e){if(!(this instanceof Ht))throw new SyntaxError("Constructor must be called with the new operator");this.actual=i,this.expected=t,this.relation=e,this.message="Dimension mismatch ("+(Array.isArray(i)?"["+i.join(", ")+"]":i)+" "+(this.relation||"!=")+" "+(Array.isArray(t)?"["+t.join(", ")+"]":t)+")",this.stack=new Error().stack}Ht.prototype=new RangeError,Ht.prototype.constructor=RangeError,Ht.prototype.name="DimensionError",Ht.prototype.isDimensionError=!0;function xn(i,t,e){if(!(this instanceof xn))throw new SyntaxError("Constructor must be called with the new operator");this.index=i,arguments.length<3?(this.min=0,this.max=t):(this.min=t,this.max=e),this.min!==void 0&&this.index<this.min?this.message="Index out of range ("+this.index+" < "+this.min+")":this.max!==void 0&&this.index>=this.max?this.message="Index out of range ("+this.index+" > "+(this.max-1)+")":this.message="Index out of range ("+this.index+")",this.stack=new Error().stack}xn.prototype=new RangeError,xn.prototype.constructor=RangeError,xn.prototype.name="IndexError",xn.prototype.isIndexError=!0;function Be(i){for(var t=[];Array.isArray(i);)t.push(i.length),i=i[0];return t}function Jl(i,t,e){var r,n=i.length;if(n!==t[e])throw new Ht(n,t[e]);if(e<t.length-1){var s=e+1;for(r=0;r<n;r++){var a=i[r];if(!Array.isArray(a))throw new Ht(t.length-1,t.length,"<");Jl(i[r],t,s)}}else for(r=0;r<n;r++)if(Array.isArray(i[r]))throw new Ht(t.length+1,t.length,">")}function Xl(i,t){var e=t.length===0;if(e){if(Array.isArray(i))throw new Ht(i.length,0)}else Jl(i,t,0)}function Ee(i,t){if(i!==void 0){if(!he(i)||!we(i))throw new TypeError("Index must be an integer (value: "+i+")");if(i<0||typeof t=="number"&&i>=t)throw new xn(i,t)}}function pa(i,t,e){if(!Array.isArray(t))throw new TypeError("Array expected");if(t.length===0)throw new Error("Resizing to scalar is not supported");t.forEach(function(n){if(!he(n)||!we(n)||n<0)throw new TypeError("Invalid size, must contain positive integers (size: "+le(t)+")")}),(he(i)||Fe(i))&&(i=[i]);var r=e!==void 0?e:0;return da(i,t,0,r),i}function da(i,t,e,r){var n,s,a=i.length,l=t[e],c=Math.min(a,l);if(i.length=l,e<t.length-1){var h=e+1;for(n=0;n<c;n++)s=i[n],Array.isArray(s)||(s=[s],i[n]=s),da(s,t,h,r);for(n=c;n<l;n++)s=[],i[n]=s,da(s,t,h,r)}else{for(n=0;n<c;n++)for(;Array.isArray(i[n]);)i[n]=i[n][0];for(n=c;n<l;n++)i[n]=r}}function _a(i,t){var e=ga(i),r=e.length;if(!Array.isArray(i)||!Array.isArray(t))throw new TypeError("Array expected");if(t.length===0)throw new Ht(0,r,"!=");t=ma(t,r);var n=Ql(t);if(r!==n)throw new Ht(n,r,"!=");try{return Sd(e,t)}catch(s){throw s instanceof Ht?new Ht(n,r,"!="):s}}function ma(i,t){var e=Ql(i),r=i.slice(),n=-1,s=i.indexOf(n),a=i.indexOf(n,s+1)>=0;if(a)throw new Error("More than one wildcard in sizes");var l=s>=0,c=t%e===0;if(l)if(c)r[s]=-t/e;else throw new Error("Could not replace wildcard, since "+t+" is no multiple of "+-e);return r}function Ql(i){return i.reduce((t,e)=>t*e,1)}function Sd(i,t){for(var e=i,r,n=t.length-1;n>0;n--){var s=t[n];r=[];for(var a=e.length/s,l=0;l<a;l++)r.push(e.slice(l*s,(l+1)*s));e=r}return e}function tc(i,t,e,r){var n=r||Be(i);if(e)for(var s=0;s<e;s++)i=[i],n.unshift(1);for(i=ec(i,t,0);n.length<t;)n.push(1);return i}function ec(i,t,e){var r,n;if(Array.isArray(i)){var s=e+1;for(r=0,n=i.length;r<n;r++)i[r]=ec(i[r],t,s)}else for(var a=e;a<t;a++)i=[i];return i}function ga(i){if(!Array.isArray(i))return i;var t=[];return i.forEach(function e(r){Array.isArray(r)?r.forEach(e):t.push(r)}),t}function Ms(i,t){for(var e,r=0,n=0;n<i.length;n++){var s=i[n],a=Array.isArray(s);if(n===0&&a&&(r=s.length),a&&s.length!==r)return;var l=a?Ms(s,t):t(s);if(e===void 0)e=l;else if(e!==l)return"mixed"}return e}function rc(i,t,e,r){if(r<e){if(i.length!==t.length)throw new Ht(i.length,t.length);for(var n=[],s=0;s<i.length;s++)n[s]=rc(i[s],t[s],e,r+1);return n}else return i.concat(t)}function nc(){var i=Array.prototype.slice.call(arguments,0,-1),t=Array.prototype.slice.call(arguments,-1);if(i.length===1)return i[0];if(i.length>1)return i.slice(1).reduce(function(e,r){return rc(e,r,t,0)},i[0]);throw new Error("Wrong number of arguments in function concat")}function Bd(){for(var i=arguments.length,t=new Array(i),e=0;e<i;e++)t[e]=arguments[e];for(var r=t.map(d=>d.length),n=Math.max(...r),s=new Array(n).fill(null),a=0;a<t.length;a++)for(var l=t[a],c=r[a],h=0;h<c;h++){var p=n-c+h;l[h]>s[p]&&(s[p]=l[h])}for(var f=0;f<t.length;f++)Ns(t[f],s);return s}function Ns(i,t){for(var e=t.length,r=i.length,n=0;n<r;n++){var s=e-r+n;if(i[n]<t[s]&&i[n]>1||i[n]>t[s])throw new Error("shape missmatch: missmatch is found in arg with shape (".concat(i,") not possible to broadcast dimension ").concat(r," with size ").concat(i[n]," to size ").concat(t[s]))}}function ic(i,t){var e=Be(i);if(fi(e,t))return i;Ns(e,t);var r=Bd(e,t),n=r.length,s=[...Array(n-e.length).fill(1),...e],a=Td(i);e.length<n&&(a=_a(a,s),e=Be(a));for(var l=0;l<n;l++)e[l]<r[l]&&(a=Od(a,r[l],l),e=Be(a));return a}function Od(i,t,e){return nc(...Array(t).fill(i),e)}function Td(i){return As([],i)}function mt(i,t,e,r){function n(s){var a=gd(s,t.map(Ld));return Id(i,t,s),e(a)}return n.isFactory=!0,n.fn=i,n.dependencies=t.slice().sort(),r&&(n.meta=r),n}function Id(i,t,e){var r=t.filter(s=>!$d(s)).every(s=>e[s]!==void 0);if(!r){var n=t.filter(s=>e[s]===void 0);throw new Error('Cannot create function "'.concat(i,'", ')+"some dependencies are missing: ".concat(n.map(s=>'"'.concat(s,'"')).join(", "),"."))}}function $d(i){return i&&i[0]==="?"}function Ld(i){return i&&i[0]==="?"?i.slice(1):i}function Rd(i,t){if(oc(i)&&sc(i,t))return i[t];throw typeof i[t]=="function"&&qd(i,t)?new Error('Cannot access method "'+t+'" as a property'):new Error('No access to property "'+t+'"')}function Pd(i,t,e){if(oc(i)&&sc(i,t))return i[t]=e,e;throw new Error('No access to property "'+t+'"')}function zd(i,t){return t in i}function sc(i,t){return!i||typeof i!="object"?!1:Vi(kd,t)?!0:!(t in Object.prototype||t in Function.prototype)}function qd(i,t){return i==null||typeof i[t]!="function"||Vi(i,t)&&Object.getPrototypeOf&&t in Object.getPrototypeOf(i)?!1:Vi(Ud,t)?!0:!(t in Object.prototype||t in Function.prototype)}function oc(i){return typeof i=="object"&&i&&i.constructor===Object}var kd={length:!0,name:!0},Ud={toString:!0,valueOf:!0,toLocaleString:!0};class Wd{constructor(t){this.wrappedObject=t,this[Symbol.iterator]=this.entries}keys(){return Object.keys(this.wrappedObject).values()}get(t){return Rd(this.wrappedObject,t)}set(t,e){return Pd(this.wrappedObject,t,e),this}has(t){return zd(this.wrappedObject,t)}entries(){return jd(this.keys(),t=>[t,this.get(t)])}forEach(t){for(var e of this.keys())t(this.get(e),e,this)}delete(t){delete this.wrappedObject[t]}clear(){for(var t of this.keys())this.delete(t)}get size(){return Object.keys(this.wrappedObject).length}}function jd(i,t){return{next:()=>{var e=i.next();return e.done?e:{value:t(e.value),done:!1}}}}function Yd(i){return i?i instanceof Map||i instanceof Wd||typeof i.set=="function"&&typeof i.get=="function"&&typeof i.keys=="function"&&typeof i.has=="function":!1}var ac=function(){return ac=kl.create,kl},Vd=["?BigNumber","?Complex","?DenseMatrix","?Fraction"],Zd=mt("typed",Vd,function(t){var{BigNumber:e,Complex:r,DenseMatrix:n,Fraction:s}=t,a=ac();return a.clear(),a.addTypes([{name:"number",test:he},{name:"Complex",test:Il},{name:"BigNumber",test:Fe},{name:"Fraction",test:$l},{name:"Unit",test:Ll},{name:"identifier",test:l=>Xr&&/^(?:[A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF])(?:[0-9A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF])*$/.test(l)},{name:"string",test:Xr},{name:"Chain",test:_d},{name:"Array",test:be},{name:"Matrix",test:me},{name:"DenseMatrix",test:Up},{name:"SparseMatrix",test:Wp},{name:"Range",test:jp},{name:"Index",test:ua},{name:"boolean",test:Yp},{name:"ResultSet",test:Vp},{name:"Help",test:Zp},{name:"function",test:Gp},{name:"Date",test:Kp},{name:"RegExp",test:Hp},{name:"null",test:Jp},{name:"undefined",test:Xp},{name:"AccessorNode",test:Qp},{name:"ArrayNode",test:td},{name:"AssignmentNode",test:ed},{name:"BlockNode",test:rd},{name:"ConditionalNode",test:nd},{name:"ConstantNode",test:id},{name:"FunctionNode",test:od},{name:"FunctionAssignmentNode",test:sd},{name:"IndexNode",test:ad},{name:"Node",test:ud},{name:"ObjectNode",test:ld},{name:"OperatorNode",test:cd},{name:"ParenthesisNode",test:fd},{name:"RangeNode",test:hd},{name:"RelationalNode",test:pd},{name:"SymbolNode",test:dd},{name:"Map",test:Yd},{name:"Object",test:la}]),a.addConversions([{from:"number",to:"BigNumber",convert:function(c){if(e||va(c),Ed(c)>15)throw new TypeError("Cannot implicitly convert a number with >15 significant digits to BigNumber (value: "+c+"). Use function bignumber(x) to convert to BigNumber.");return new e(c)}},{from:"number",to:"Complex",convert:function(c){return r||Ss(c),new r(c,0)}},{from:"BigNumber",to:"Complex",convert:function(c){return r||Ss(c),new r(c.toNumber(),0)}},{from:"Fraction",to:"BigNumber",convert:function(c){throw new TypeError("Cannot implicitly convert a Fraction to BigNumber or vice versa. Use function bignumber(x) to convert to BigNumber or fraction(x) to convert to Fraction.")}},{from:"Fraction",to:"Complex",convert:function(c){return r||Ss(c),new r(c.valueOf(),0)}},{from:"number",to:"Fraction",convert:function(c){s||wa(c);var h=new s(c);if(h.valueOf()!==c)throw new TypeError("Cannot implicitly convert a number to a Fraction when there will be a loss of precision (value: "+c+"). Use function fraction(x) to convert to Fraction.");return h}},{from:"string",to:"number",convert:function(c){var h=Number(c);if(isNaN(h))throw new Error('Cannot convert "'+c+'" to a number');return h}},{from:"string",to:"BigNumber",convert:function(c){e||va(c);try{return new e(c)}catch{throw new Error('Cannot convert "'+c+'" to BigNumber')}}},{from:"string",to:"Fraction",convert:function(c){s||wa(c);try{return new s(c)}catch{throw new Error('Cannot convert "'+c+'" to Fraction')}}},{from:"string",to:"Complex",convert:function(c){r||Ss(c);try{return new r(c)}catch{throw new Error('Cannot convert "'+c+'" to Complex')}}},{from:"boolean",to:"number",convert:function(c){return+c}},{from:"boolean",to:"BigNumber",convert:function(c){return e||va(c),new e(+c)}},{from:"boolean",to:"Fraction",convert:function(c){return s||wa(c),new s(+c)}},{from:"boolean",to:"string",convert:function(c){return String(c)}},{from:"Array",to:"Matrix",convert:function(c){return n||Gd(),new n(c)}},{from:"Matrix",to:"Array",convert:function(c){return c.valueOf()}}]),a.onMismatch=(l,c,h)=>{var p=a.createError(l,c,h);if(["wrongType","mismatch"].includes(p.data.category)&&c.length===1&&Yi(c[0])&&h.some(d=>!d.params.includes(","))){var f=new TypeError("Function '".concat(l,"' doesn't apply to matrices. To call it ")+"elementwise on a matrix 'M', try 'map(M, ".concat(l,")'."));throw f.data=p.data,f}throw p},a.onMismatch=(l,c,h)=>{var p=a.createError(l,c,h);if(["wrongType","mismatch"].includes(p.data.category)&&c.length===1&&Yi(c[0])&&h.some(d=>!d.params.includes(","))){var f=new TypeError("Function '".concat(l,"' doesn't apply to matrices. To call it ")+"elementwise on a matrix 'M', try 'map(M, ".concat(l,")'."));throw f.data=p.data,f}throw p},a});function va(i){throw new Error("Cannot convert value ".concat(i," into a BigNumber: no class 'BigNumber' provided"))}function Ss(i){throw new Error("Cannot convert value ".concat(i," into a Complex number: no class 'Complex' provided"))}function Gd(){throw new Error("Cannot convert array into a Matrix: no class 'DenseMatrix' provided")}function wa(i){throw new Error("Cannot convert value ".concat(i," into a Fraction, no class 'Fraction' provided."))}/*!
34
+ `);return Object.freeze(Tl)};As(pr,Tl,{MATRIX_OPTIONS:vd,NUMBER_OPTIONS:yd});function Pl(){return!0}function Fr(){return!1}function hi(){}const zl="Argument is not a typed-function.";function ql(){function i($){return typeof $=="object"&&$!==null&&$.constructor===Object}const t=[{name:"number",test:function($){return typeof $=="number"}},{name:"string",test:function($){return typeof $=="string"}},{name:"boolean",test:function($){return typeof $=="boolean"}},{name:"Function",test:function($){return typeof $=="function"}},{name:"Array",test:Array.isArray},{name:"Date",test:function($){return $ instanceof Date}},{name:"RegExp",test:function($){return $ instanceof RegExp}},{name:"Object",test:i},{name:"null",test:function($){return $===null}},{name:"undefined",test:function($){return $===void 0}}],e={name:"any",test:Pl,isAny:!0};let r,n,s=0,a={createCount:0};function l($){const V=r.get($);if(V)return V;let K='Unknown type "'+$+'"';const nt=$.toLowerCase();let st;for(st of n)if(st.toLowerCase()===nt){K+='. Did you mean "'+st+'" ?';break}throw new TypeError(K)}function c($){let V=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"any";const K=V?l(V).index:n.length,nt=[];for(let rt=0;rt<$.length;++rt){if(!$[rt]||typeof $[rt].name!="string"||typeof $[rt].test!="function")throw new TypeError("Object with properties {name: string, test: function} expected");const ft=$[rt].name;if(r.has(ft))throw new TypeError('Duplicate type name "'+ft+'"');nt.push(ft),r.set(ft,{name:ft,test:$[rt].test,isAny:$[rt].isAny,index:K+rt,conversionsTo:[]})}const st=n.slice(K);n=n.slice(0,K).concat(nt).concat(st);for(let rt=K+nt.length;rt<n.length;++rt)r.get(n[rt]).index=rt}function h(){r=new Map,n=[],s=0,c([e],!1)}h(),c(t);function p(){let $;for($ of n)r.get($).conversionsTo=[];s=0}function f($){const V=n.filter(K=>{const nt=r.get(K);return!nt.isAny&&nt.test($)});return V.length?V:["any"]}function d($){return $&&typeof $=="function"&&"_typedFunctionData"in $}function g($,V,K){if(!d($))throw new TypeError(zl);const nt=K&&K.exact,st=Array.isArray(V)?V.join(","):V,rt=N(st),ft=D(rt);if(!nt||ft in $.signatures){const Xt=$._typedFunctionData.signatureMap.get(ft);if(Xt)return Xt}const ut=rt.length;let ht;if(nt){ht=[];let Xt;for(Xt in $.signatures)ht.push($._typedFunctionData.signatureMap.get(Xt))}else ht=$._typedFunctionData.signatures;for(let Xt=0;Xt<ut;++Xt){const ne=rt[Xt],we=[];let qe;for(qe of ht){const Re=S(qe.params,Xt);if(!(!Re||ne.restParam&&!Re.restParam)){if(!Re.hasAny){const gr=b(Re);if(ne.types.some(vr=>!gr.has(vr.name)))continue}we.push(qe)}}if(ht=we,ht.length===0)break}let at;for(at of ht)if(at.params.length<=ut)return at;throw new TypeError("Signature not found (signature: "+($.name||"unnamed")+"("+D(rt,", ")+"))")}function y($,V,K){return g($,V,K).implementation}function m($,V){const K=l(V);if(K.test($))return $;const nt=K.conversionsTo;if(nt.length===0)throw new Error("There are no conversions to "+V+" defined.");for(let st=0;st<nt.length;st++)if(l(nt[st].from).test($))return nt[st].convert($);throw new Error("Cannot convert "+$+" to "+V)}function D($){let V=arguments.length>1&&arguments[1]!==void 0?arguments[1]:",";return $.map(K=>K.name).join(V)}function v($){const V=$.indexOf("...")===0,nt=(V?$.length>3?$.slice(3):"any":$).split("|").map(ut=>l(ut.trim()));let st=!1,rt=V?"...":"";return{types:nt.map(function(ut){return st=ut.isAny||st,rt+=ut.name+"|",{name:ut.name,typeIndex:ut.index,test:ut.test,isAny:ut.isAny,conversion:null,conversionIndex:-1}}),name:rt.slice(0,-1),hasAny:st,hasConversion:!1,restParam:V}}function E($){const V=$.types.map(ft=>ft.name),K=G(V);let nt=$.hasAny,st=$.name;const rt=K.map(function(ft){const ut=l(ft.from);return nt=ut.isAny||nt,st+="|"+ft.from,{name:ft.from,typeIndex:ut.index,test:ut.test,isAny:ut.isAny,conversion:ft,conversionIndex:ft.index}});return{types:$.types.concat(rt),name:st,hasAny:nt,hasConversion:rt.length>0,restParam:$.restParam}}function b($){return $.typeSet||($.typeSet=new Set,$.types.forEach(V=>$.typeSet.add(V.name))),$.typeSet}function N($){const V=[];if(typeof $!="string")throw new TypeError("Signatures must be strings");const K=$.trim();if(K==="")return V;const nt=K.split(",");for(let st=0;st<nt.length;++st){const rt=v(nt[st].trim());if(rt.restParam&&st!==nt.length-1)throw new SyntaxError('Unexpected rest parameter "'+nt[st]+'": only allowed for the last parameter');if(rt.types.length===0)return null;V.push(rt)}return V}function x($){const V=Tt($);return V?V.restParam:!1}function F($){if(!$||$.types.length===0)return Pl;if($.types.length===1)return l($.types[0].name).test;if($.types.length===2){const V=l($.types[0].name).test,K=l($.types[1].name).test;return function(st){return V(st)||K(st)}}else{const V=$.types.map(function(K){return l(K.name).test});return function(nt){for(let st=0;st<V.length;st++)if(V[st](nt))return!0;return!1}}}function M($){let V,K,nt;if(x($)){V=oe($).map(F);const st=V.length,rt=F(Tt($)),ft=function(ut){for(let ht=st;ht<ut.length;ht++)if(!rt(ut[ht]))return!1;return!0};return function(ht){for(let at=0;at<V.length;at++)if(!V[at](ht[at]))return!1;return ft(ht)&&ht.length>=st+1}}else return $.length===0?function(rt){return rt.length===0}:$.length===1?(K=F($[0]),function(rt){return K(rt[0])&&rt.length===1}):$.length===2?(K=F($[0]),nt=F($[1]),function(rt){return K(rt[0])&&nt(rt[1])&&rt.length===2}):(V=$.map(F),function(rt){for(let ft=0;ft<V.length;ft++)if(!V[ft](rt[ft]))return!1;return rt.length===V.length})}function S($,V){return V<$.length?$[V]:x($)?Tt($):null}function I($,V){const K=S($,V);return K?b(K):new Set}function C($){return $.conversion===null||$.conversion===void 0}function O($,V){const K=new Set;return $.forEach(nt=>{const st=I(nt.params,V);let rt;for(rt of st)K.add(rt)}),K.has("any")?["any"]:Array.from(K)}function L($,V,K){let nt,st;const rt=$||"unnamed";let ft=K,ut;for(ut=0;ut<V.length;ut++){const ne=[];if(ft.forEach(we=>{const qe=S(we.params,ut),Re=F(qe);(ut<we.params.length||x(we.params))&&Re(V[ut])&&ne.push(we)}),ne.length===0){if(st=O(ft,ut),st.length>0){const we=f(V[ut]);return nt=new TypeError("Unexpected type of argument in function "+rt+" (expected: "+st.join(" or ")+", actual: "+we.join(" | ")+", index: "+ut+")"),nt.data={category:"wrongType",fn:rt,index:ut,actual:we,expected:st},nt}}else ft=ne}const ht=ft.map(function(ne){return x(ne.params)?1/0:ne.params.length});if(V.length<Math.min.apply(null,ht))return st=O(ft,ut),nt=new TypeError("Too few arguments in function "+rt+" (expected: "+st.join(" or ")+", index: "+V.length+")"),nt.data={category:"tooFewArgs",fn:rt,index:V.length,expected:st},nt;const at=Math.max.apply(null,ht);if(V.length>at)return nt=new TypeError("Too many arguments in function "+rt+" (expected: "+at+", actual: "+V.length+")"),nt.data={category:"tooManyArgs",fn:rt,index:V.length,expectedLength:at},nt;const Xt=[];for(let ne=0;ne<V.length;++ne)Xt.push(f(V[ne]).join("|"));return nt=new TypeError('Arguments of type "'+Xt.join(", ")+'" do not match any of the defined signatures of function '+rt+"."),nt.data={category:"mismatch",actual:Xt},nt}function U($){let V=n.length+1;for(let K=0;K<$.types.length;K++)C($.types[K])&&(V=Math.min(V,$.types[K].typeIndex));return V}function k($){let V=s+1;for(let K=0;K<$.types.length;K++)C($.types[K])||(V=Math.min(V,$.types[K].conversionIndex));return V}function W($,V){if($.hasAny){if(!V.hasAny)return 1}else if(V.hasAny)return-1;if($.restParam){if(!V.restParam)return 1}else if(V.restParam)return-1;if($.hasConversion){if(!V.hasConversion)return 1}else if(V.hasConversion)return-1;const K=U($)-U(V);if(K<0)return-1;if(K>0)return 1;const nt=k($)-k(V);return nt<0?-1:nt>0?1:0}function P($,V){const K=$.params,nt=V.params,st=Tt(K),rt=Tt(nt),ft=x(K),ut=x(nt);if(ft&&st.hasAny){if(!ut||!rt.hasAny)return 1}else if(ut&&rt.hasAny)return-1;let ht=0,at=0,Xt;for(Xt of K)Xt.hasAny&&++ht,Xt.hasConversion&&++at;let ne=0,we=0;for(Xt of nt)Xt.hasAny&&++ne,Xt.hasConversion&&++we;if(ht!==ne)return ht-ne;if(ft&&st.hasConversion){if(!ut||!rt.hasConversion)return 1}else if(ut&&rt.hasConversion)return-1;if(at!==we)return at-we;if(ft){if(!ut)return 1}else if(ut)return-1;const qe=(K.length-nt.length)*(ft?-1:1);if(qe!==0)return qe;const Re=[];let gr=0;for(let Tn=0;Tn<K.length;++Tn){const ti=W(K[Tn],nt[Tn]);Re.push(ti),gr+=ti}if(gr!==0)return gr;let vr;for(vr of Re)if(vr!==0)return vr;return 0}function G($){if($.length===0)return[];const V=$.map(l);$.length>1&&V.sort((st,rt)=>st.index-rt.index);let K=V[0].conversionsTo;if($.length===1)return K;K=K.concat([]);const nt=new Set($);for(let st=1;st<V.length;++st){let rt;for(rt of V[st].conversionsTo)nt.has(rt.from)||(K.push(rt),nt.add(rt.from))}return K}function Z($,V){let K=V;if($.some(st=>st.hasConversion)){const st=x($),rt=$.map(X);K=function(){const ut=[],ht=st?arguments.length-1:arguments.length;for(let at=0;at<ht;at++)ut[at]=rt[at](arguments[at]);return st&&(ut[ht]=arguments[ht].map(rt[ht])),V.apply(this,ut)}}let nt=K;if(x($)){const st=$.length-1;nt=function(){return K.apply(this,Nt(arguments,0,st).concat([Nt(arguments,st)]))}}return nt}function X($){let V,K,nt,st;const rt=[],ft=[];switch($.types.forEach(function(ut){ut.conversion&&(rt.push(l(ut.conversion.from).test),ft.push(ut.conversion.convert))}),ft.length){case 0:return function(ht){return ht};case 1:return V=rt[0],nt=ft[0],function(ht){return V(ht)?nt(ht):ht};case 2:return V=rt[0],K=rt[1],nt=ft[0],st=ft[1],function(ht){return V(ht)?nt(ht):K(ht)?st(ht):ht};default:return function(ht){for(let at=0;at<ft.length;at++)if(rt[at](ht))return ft[at](ht);return ht}}}function tt($){function V(K,nt,st){if(nt<K.length){const rt=K[nt];let ft=[];if(rt.restParam){const ut=rt.types.filter(C);ut.length<rt.types.length&&ft.push({types:ut,name:"..."+ut.map(ht=>ht.name).join("|"),hasAny:ut.some(ht=>ht.isAny),hasConversion:!1,restParam:!0}),ft.push(rt)}else ft=rt.types.map(function(ut){return{types:[ut],name:ut.name,hasAny:ut.isAny,hasConversion:ut.conversion,restParam:!1}});return re(ft,function(ut){return V(K,nt+1,st.concat([ut]))})}else return[st]}return V($,0,[])}function ct($,V){const K=Math.max($.length,V.length);for(let ut=0;ut<K;ut++){const ht=I($,ut),at=I(V,ut);let Xt=!1,ne;for(ne of at)if(ht.has(ne)){Xt=!0;break}if(!Xt)return!1}const nt=$.length,st=V.length,rt=x($),ft=x(V);return rt?ft?nt===st:st>=nt:ft?nt>=st:nt===st}function vt($){return $.map(V=>Le(V)?Te(V.referToSelf.callback):_r(V)?Jt(V.referTo.references,V.referTo.callback):V)}function lt($,V,K){const nt=[];let st;for(st of $){let rt=K[st];if(typeof rt!="number")throw new TypeError('No definition for referenced signature "'+st+'"');if(rt=V[rt],typeof rt!="function")return!1;nt.push(rt)}return nt}function wt($,V,K){const nt=vt($),st=new Array(nt.length).fill(!1);let rt=!0;for(;rt;){rt=!1;let ft=!0;for(let ut=0;ut<nt.length;++ut){if(st[ut])continue;const ht=nt[ut];if(Le(ht))nt[ut]=ht.referToSelf.callback(K),nt[ut].referToSelf=ht.referToSelf,st[ut]=!0,ft=!1;else if(_r(ht)){const at=lt(ht.referTo.references,nt,V);at?(nt[ut]=ht.referTo.callback.apply(this,at),nt[ut].referTo=ht.referTo,st[ut]=!0,ft=!1):rt=!0}}if(ft&&rt)throw new SyntaxError("Circular reference detected in resolving typed.referTo")}return nt}function bt($){const V=/\bthis(\(|\.signatures\b)/;Object.keys($).forEach(K=>{const nt=$[K];if(V.test(nt.toString()))throw new SyntaxError("Using `this` to self-reference a function is deprecated since typed-function@3. Use typed.referTo and typed.referToSelf instead.")})}function Bt($,V){if(a.createCount++,Object.keys(V).length===0)throw new SyntaxError("No signatures provided");a.warnAgainstDeprecatedThis&&bt(V);const K=[],nt=[],st={},rt=[];let ft;for(ft in V){if(!Object.prototype.hasOwnProperty.call(V,ft))continue;const Zt=N(ft);if(!Zt)continue;K.forEach(function(In){if(ct(In,Zt))throw new TypeError('Conflicting signatures "'+D(In)+'" and "'+D(Zt)+'".')}),K.push(Zt);const He=nt.length;nt.push(V[ft]);const pu=Zt.map(E);let Ni;for(Ni of tt(pu)){const In=D(Ni);rt.push({params:Ni,name:In,fn:He}),Ni.every(yo=>!yo.hasConversion)&&(st[In]=He)}}rt.sort(P);const ut=wt(nt,st,ei);let ht;for(ht in st)Object.prototype.hasOwnProperty.call(st,ht)&&(st[ht]=ut[st[ht]]);const at=[],Xt=new Map;for(ht of rt)Xt.has(ht.name)||(ht.fn=ut[ht.fn],at.push(ht),Xt.set(ht.name,ht));const ne=at[0]&&at[0].params.length<=2&&!x(at[0].params),we=at[1]&&at[1].params.length<=2&&!x(at[1].params),qe=at[2]&&at[2].params.length<=2&&!x(at[2].params),Re=at[3]&&at[3].params.length<=2&&!x(at[3].params),gr=at[4]&&at[4].params.length<=2&&!x(at[4].params),vr=at[5]&&at[5].params.length<=2&&!x(at[5].params),Tn=ne&&we&&qe&&Re&&gr&&vr;for(let Zt=0;Zt<at.length;++Zt)at[Zt].test=M(at[Zt].params);const ti=ne?F(at[0].params[0]):Fr,mo=we?F(at[1].params[0]):Fr,Ya=qe?F(at[2].params[0]):Fr,Va=Re?F(at[3].params[0]):Fr,Za=gr?F(at[4].params[0]):Fr,Ga=vr?F(at[5].params[0]):Fr,go=ne?F(at[0].params[1]):Fr,Ka=we?F(at[1].params[1]):Fr,Ha=qe?F(at[2].params[1]):Fr,Ja=Re?F(at[3].params[1]):Fr,ns=gr?F(at[4].params[1]):Fr,Xa=vr?F(at[5].params[1]):Fr;for(let Zt=0;Zt<at.length;++Zt)at[Zt].implementation=Z(at[Zt].params,at[Zt].fn);const is=ne?at[0].implementation:hi,Qa=we?at[1].implementation:hi,tu=qe?at[2].implementation:hi,eu=Re?at[3].implementation:hi,ru=gr?at[4].implementation:hi,nu=vr?at[5].implementation:hi,iu=ne?at[0].params.length:-1,su=we?at[1].params.length:-1,ou=qe?at[2].params.length:-1,vo=Re?at[3].params.length:-1,au=gr?at[4].params.length:-1,uu=vr?at[5].params.length:-1,lu=Tn?6:0,cu=at.length,fu=at.map(Zt=>Zt.test),hu=at.map(Zt=>Zt.implementation),Mi=function(){for(let He=lu;He<cu;He++)if(fu[He](arguments))return hu[He].apply(this,arguments);return a.onMismatch($,arguments,at)};function ei(Zt,He){return arguments.length===iu&&ti(Zt)&&go(He)?is.apply(this,arguments):arguments.length===su&&mo(Zt)&&Ka(He)?Qa.apply(this,arguments):arguments.length===ou&&Ya(Zt)&&Ha(He)?tu.apply(this,arguments):arguments.length===vo&&Va(Zt)&&Ja(He)?eu.apply(this,arguments):arguments.length===au&&Za(Zt)&&ns(He)?ru.apply(this,arguments):arguments.length===uu&&Ga(Zt)&&Xa(He)?nu.apply(this,arguments):Mi.apply(this,arguments)}try{Object.defineProperty(ei,"name",{value:$})}catch{}return ei.signatures=st,ei._typedFunctionData={signatures:at,signatureMap:Xt},ei}function Et($,V,K){throw L($,V,K)}function oe($){return Nt($,0,$.length-1)}function Tt($){return $[$.length-1]}function Nt($,V,K){return Array.prototype.slice.call($,V,K)}function ue($,V){for(let K=0;K<$.length;K++)if(V($[K]))return $[K]}function re($,V){return Array.prototype.concat.apply([],$.map(V))}function qt(){const $=oe(arguments).map(K=>D(N(K))),V=Tt(arguments);if(typeof V!="function")throw new TypeError("Callback function expected as last argument");return Jt($,V)}function Jt($,V){return{referTo:{references:$,callback:V}}}function Te($){if(typeof $!="function")throw new TypeError("Callback function expected as first argument");return{referToSelf:{callback:$}}}function _r($){return $&&typeof $.referTo=="object"&&Array.isArray($.referTo.references)&&typeof $.referTo.callback=="function"}function Le($){return $&&typeof $.referToSelf=="object"&&typeof $.referToSelf.callback=="function"}function hn($,V){if(!$)return V;if(V&&V!==$){const K=new Error("Function names do not match (expected: "+$+", actual: "+V+")");throw K.data={actual:V,expected:$},K}return $}function Bn($){let V;for(const K in $)Object.prototype.hasOwnProperty.call($,K)&&(d($[K])||typeof $[K].signature=="string")&&(V=hn(V,$[K].name));return V}function pn($,V){let K;for(K in V)if(Object.prototype.hasOwnProperty.call(V,K)){if(K in $&&V[K]!==$[K]){const nt=new Error('Signature "'+K+'" is defined twice');throw nt.data={signature:K,sourceFunction:V[K],destFunction:$[K]},nt}$[K]=V[K]}}const mr=a;a=function($){const V=typeof $=="string",K=V?1:0;let nt=V?$:"";const st={};for(let rt=K;rt<arguments.length;++rt){const ft=arguments[rt];let ut={},ht;if(typeof ft=="function"?(ht=ft.name,typeof ft.signature=="string"?ut[ft.signature]=ft:d(ft)&&(ut=ft.signatures)):i(ft)&&(ut=ft,V||(ht=Bn(ft))),Object.keys(ut).length===0){const at=new TypeError("Argument to 'typed' at index "+rt+" is not a (typed) function, nor an object with signatures as keys and functions as values.");throw at.data={index:rt,argument:ft},at}V||(nt=hn(nt,ht)),pn(st,ut)}return Bt(nt||"",st)},a.create=ql,a.createCount=mr.createCount,a.onMismatch=Et,a.throwMismatchError=Et,a.createError=L,a.clear=h,a.clearConversions=p,a.addTypes=c,a._findType=l,a.referTo=qt,a.referToSelf=Te,a.convert=m,a.findSignature=g,a.find=y,a.isTypedFunction=d,a.warnAgainstDeprecatedThis=!0,a.addType=function($,V){let K="any";V!==!1&&r.has("Object")&&(K="Object"),a.addTypes([$],K)};function On($){if(!$||typeof $.from!="string"||typeof $.to!="string"||typeof $.convert!="function")throw new TypeError("Object with properties {from: string, to: string, convert: function} expected");if($.to===$.from)throw new SyntaxError('Illegal to define conversion from "'+$.from+'" to itself.')}return a.addConversion=function($){On($);const V=l($.to);if(V.conversionsTo.every(function(K){return K.from!==$.from}))V.conversionsTo.push({from:$.from,convert:$.convert,index:s++});else throw new Error('There is already a conversion from "'+$.from+'" to "'+V.name+'"')},a.addConversions=function($){$.forEach(a.addConversion)},a.removeConversion=function($){On($);const V=l($.to),K=ue(V.conversionsTo,st=>st.from===$.from);if(!K)throw new Error("Attempt to remove nonexistent conversion from "+$.from+" to "+$.to);if(K.convert!==$.convert)throw new Error("Conversion to remove does not match existing conversion");const nt=V.conversionsTo.indexOf(K);V.conversionsTo.splice(nt,1)},a.resolve=function($,V){if(!d($))throw new TypeError(zl);const K=$._typedFunctionData.signatures;for(let nt=0;nt<K.length;++nt)if(K[nt].test(V))return K[nt];return null},a}var kl=ql();function ye(i){return typeof i=="boolean"?!0:isFinite(i)?i===Math.round(i):!1}function ca(i,t,e){var r={2:"0b",8:"0o",16:"0x"},n=r[t],s="";if(e){if(e<1)throw new Error("size must be in greater than 0");if(!ye(e))throw new Error("size must be an integer");if(i>2**(e-1)-1||i<-(2**(e-1)))throw new Error("Value must be in range [-2^".concat(e-1,", 2^").concat(e-1,"-1]"));if(!ye(i))throw new Error("Value must be an integer");i<0&&(i=i+2**e),s="i".concat(e)}var a="";return i<0&&(i=-i,a="-"),"".concat(a).concat(n).concat(i.toString(t)).concat(s)}function fa(i,t){if(typeof t=="function")return t(i);if(i===1/0)return"Infinity";if(i===-1/0)return"-Infinity";if(isNaN(i))return"NaN";var{notation:e,precision:r,wordSize:n}=Ul(t);switch(e){case"fixed":return Dd(i,r);case"exponential":return Wl(i,r);case"engineering":return wd(i,r);case"bin":return ca(i,2,n);case"oct":return ca(i,8,n);case"hex":return ca(i,16,n);case"auto":return bd(i,r,t).replace(/((\.\d*?)(0+))($|e)/,function(){var s=arguments[2],a=arguments[4];return s!=="."?s+a:a});default:throw new Error('Unknown notation "'+e+'". Choose "auto", "exponential", "fixed", "bin", "oct", or "hex.')}}function Ul(i){var t="auto",e,r;if(i!==void 0)if(he(i))e=i;else if(Fe(i))e=i.toNumber();else if(la(i))i.precision!==void 0&&(e=jl(i.precision,()=>{throw new Error('Option "precision" must be a number or BigNumber')})),i.wordSize!==void 0&&(r=jl(i.wordSize,()=>{throw new Error('Option "wordSize" must be a number or BigNumber')})),i.notation&&(t=i.notation);else throw new Error("Unsupported type of options, number, BigNumber, or object expected");return{notation:t,precision:e,wordSize:r}}function Cs(i){var t=String(i).toLowerCase().match(/^(-?)(\d+\.?\d*)(e([+-]?\d+))?$/);if(!t)throw new SyntaxError("Invalid number "+i);var e=t[1],r=t[2],n=parseFloat(t[4]||"0"),s=r.indexOf(".");n+=s!==-1?s-1:r.length-1;var a=r.replace(".","").replace(/^0*/,function(l){return n-=l.length,""}).replace(/0*$/,"").split("").map(function(l){return parseInt(l)});return a.length===0&&(a.push(0),n++),{sign:e,coefficients:a,exponent:n}}function wd(i,t){if(isNaN(i)||!isFinite(i))return String(i);var e=Cs(i),r=Fs(e,t),n=r.exponent,s=r.coefficients,a=n%3===0?n:n<0?n-3-n%3:n-n%3;if(he(t))for(;t>s.length||n-a+1>s.length;)s.push(0);else for(var l=Math.abs(n-a)-(s.length-1),c=0;c<l;c++)s.push(0);for(var h=Math.abs(n-a),p=1;h>0;)p++,h--;var f=s.slice(p).join(""),d=he(t)&&f.length||f.match(/[1-9]/)?"."+f:"",g=s.slice(0,p).join("")+d+"e"+(n>=0?"+":"")+a.toString();return r.sign+g}function Dd(i,t){if(isNaN(i)||!isFinite(i))return String(i);var e=Cs(i),r=typeof t=="number"?Fs(e,e.exponent+1+t):e,n=r.coefficients,s=r.exponent+1,a=s+(t||0);return n.length<a&&(n=n.concat(pi(a-n.length))),s<0&&(n=pi(-s+1).concat(n),s=1),s<n.length&&n.splice(s,0,s===0?"0.":"."),r.sign+n.join("")}function Wl(i,t){if(isNaN(i)||!isFinite(i))return String(i);var e=Cs(i),r=t?Fs(e,t):e,n=r.coefficients,s=r.exponent;n.length<t&&(n=n.concat(pi(t-n.length)));var a=n.shift();return r.sign+a+(n.length>0?"."+n.join(""):"")+"e"+(s>=0?"+":"")+s}function bd(i,t,e){if(isNaN(i)||!isFinite(i))return String(i);var r=Yl(e==null?void 0:e.lowerExp,-3),n=Yl(e==null?void 0:e.upperExp,5),s=Cs(i),a=t?Fs(s,t):s;if(a.exponent<r||a.exponent>=n)return Wl(i,t);var l=a.coefficients,c=a.exponent;l.length<t&&(l=l.concat(pi(t-l.length))),l=l.concat(pi(c-l.length+1+(l.length<t?t-l.length:0))),l=pi(-c).concat(l);var h=c>0?c:0;return h<l.length-1&&l.splice(h+1,0,"."),a.sign+l.join("")}function Fs(i,t){for(var e={sign:i.sign,coefficients:i.coefficients,exponent:i.exponent},r=e.coefficients;t<=0;)r.unshift(0),e.exponent++,t++;if(r.length>t){var n=r.splice(t,r.length-t);if(n[0]>=5){var s=t-1;for(r[s]++;r[s]===10;)r.pop(),s===0&&(r.unshift(0),e.exponent++,s++),s--,r[s]++}}return e}function pi(i){for(var t=[],e=0;e<i;e++)t.push(0);return t}function Ed(i){return i.toExponential().replace(/e.*$/,"").replace(/^0\.?0*|\./,"").length}var xd=Number.EPSILON||2220446049250313e-31;function Gn(i,t,e){if(e==null)return i===t;if(i===t)return!0;if(isNaN(i)||isNaN(t))return!1;if(isFinite(i)&&isFinite(t)){var r=Math.abs(i-t);return r<=xd?!0:r<=Math.max(Math.abs(i),Math.abs(t))*e}return!1}function jl(i,t){if(he(i))return i;if(Fe(i))return i.toNumber();t()}function Yl(i,t){return he(i)?i:Fe(i)?i.toNumber():t}function ha(i,t,e){var r=i.constructor,n=new r(2),s="";if(e){if(e<1)throw new Error("size must be in greater than 0");if(!ye(e))throw new Error("size must be an integer");if(i.greaterThan(n.pow(e-1).sub(1))||i.lessThan(n.pow(e-1).mul(-1)))throw new Error("Value must be in range [-2^".concat(e-1,", 2^").concat(e-1,"-1]"));if(!i.isInteger())throw new Error("Value must be an integer");i.lessThan(0)&&(i=i.add(n.pow(e))),s="i".concat(e)}switch(t){case 2:return"".concat(i.toBinary()).concat(s);case 8:return"".concat(i.toOctal()).concat(s);case 16:return"".concat(i.toHexadecimal()).concat(s);default:throw new Error("Base ".concat(t," not supported "))}}function Ad(i,t){if(typeof t=="function")return t(i);if(!i.isFinite())return i.isNaN()?"NaN":i.gt(0)?"Infinity":"-Infinity";var{notation:e,precision:r,wordSize:n}=Ul(t);switch(e){case"fixed":return Fd(i,r);case"exponential":return Vl(i,r);case"engineering":return Cd(i,r);case"bin":return ha(i,2,n);case"oct":return ha(i,8,n);case"hex":return ha(i,16,n);case"auto":{var s=Zl(t==null?void 0:t.lowerExp,-3),a=Zl(t==null?void 0:t.upperExp,5);if(i.isZero())return"0";var l,c=i.toSignificantDigits(r),h=c.e;return h>=s&&h<a?l=c.toFixed():l=Vl(i,r),l.replace(/((\.\d*?)(0+))($|e)/,function(){var p=arguments[2],f=arguments[4];return p!=="."?p+f:f})}default:throw new Error('Unknown notation "'+e+'". Choose "auto", "exponential", "fixed", "bin", "oct", or "hex.')}}function Cd(i,t){var e=i.e,r=e%3===0?e:e<0?e-3-e%3:e-e%3,n=i.mul(Math.pow(10,-r)),s=n.toPrecision(t);if(s.indexOf("e")!==-1){var a=i.constructor;s=new a(s).toFixed()}return s+"e"+(e>=0?"+":"")+r.toString()}function Vl(i,t){return t!==void 0?i.toExponential(t-1):i.toExponential()}function Fd(i,t){return i.toFixed(t)}function Zl(i,t){return he(i)?i:Fe(i)?i.toNumber():t}function le(i,t){var e=Md(i,t);return t&&typeof t=="object"&&"truncate"in t&&e.length>t.truncate?e.substring(0,t.truncate-3)+"...":e}function Md(i,t){if(typeof i=="number")return fa(i,t);if(Fe(i))return Ad(i,t);if(Nd(i))return!t||t.fraction!=="decimal"?i.s*i.n+"/"+i.d:i.toString();if(Array.isArray(i))return Hl(i,t);if(Xr(i))return Gl(i);if(typeof i=="function")return i.syntax?String(i.syntax):"function";if(i&&typeof i=="object"){if(typeof i.format=="function")return i.format(t);if(i&&i.toString(t)!=={}.toString())return i.toString(t);var e=Object.keys(i).map(r=>Gl(r)+": "+le(i[r],t));return"{"+e.join(", ")+"}"}return String(i)}function Gl(i){for(var t=String(i),e="",r=0;r<t.length;){var n=t.charAt(r);e+=n in Kl?Kl[n]:n,r++}return'"'+e+'"'}var Kl={'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t"};function Hl(i,t){if(Array.isArray(i)){for(var e="[",r=i.length,n=0;n<r;n++)n!==0&&(e+=", "),e+=Hl(i[n],t);return e+="]",e}else return le(i,t)}function Nd(i){return i&&typeof i=="object"&&typeof i.s=="number"&&typeof i.n=="number"&&typeof i.d=="number"||!1}function Ht(i,t,e){if(!(this instanceof Ht))throw new SyntaxError("Constructor must be called with the new operator");this.actual=i,this.expected=t,this.relation=e,this.message="Dimension mismatch ("+(Array.isArray(i)?"["+i.join(", ")+"]":i)+" "+(this.relation||"!=")+" "+(Array.isArray(t)?"["+t.join(", ")+"]":t)+")",this.stack=new Error().stack}Ht.prototype=new RangeError,Ht.prototype.constructor=RangeError,Ht.prototype.name="DimensionError",Ht.prototype.isDimensionError=!0;function xn(i,t,e){if(!(this instanceof xn))throw new SyntaxError("Constructor must be called with the new operator");this.index=i,arguments.length<3?(this.min=0,this.max=t):(this.min=t,this.max=e),this.min!==void 0&&this.index<this.min?this.message="Index out of range ("+this.index+" < "+this.min+")":this.max!==void 0&&this.index>=this.max?this.message="Index out of range ("+this.index+" > "+(this.max-1)+")":this.message="Index out of range ("+this.index+")",this.stack=new Error().stack}xn.prototype=new RangeError,xn.prototype.constructor=RangeError,xn.prototype.name="IndexError",xn.prototype.isIndexError=!0;function Be(i){for(var t=[];Array.isArray(i);)t.push(i.length),i=i[0];return t}function Jl(i,t,e){var r,n=i.length;if(n!==t[e])throw new Ht(n,t[e]);if(e<t.length-1){var s=e+1;for(r=0;r<n;r++){var a=i[r];if(!Array.isArray(a))throw new Ht(t.length-1,t.length,"<");Jl(i[r],t,s)}}else for(r=0;r<n;r++)if(Array.isArray(i[r]))throw new Ht(t.length+1,t.length,">")}function Xl(i,t){var e=t.length===0;if(e){if(Array.isArray(i))throw new Ht(i.length,0)}else Jl(i,t,0)}function Ee(i,t){if(i!==void 0){if(!he(i)||!ye(i))throw new TypeError("Index must be an integer (value: "+i+")");if(i<0||typeof t=="number"&&i>=t)throw new xn(i,t)}}function pa(i,t,e){if(!Array.isArray(t))throw new TypeError("Array expected");if(t.length===0)throw new Error("Resizing to scalar is not supported");t.forEach(function(n){if(!he(n)||!ye(n)||n<0)throw new TypeError("Invalid size, must contain positive integers (size: "+le(t)+")")}),(he(i)||Fe(i))&&(i=[i]);var r=e!==void 0?e:0;return da(i,t,0,r),i}function da(i,t,e,r){var n,s,a=i.length,l=t[e],c=Math.min(a,l);if(i.length=l,e<t.length-1){var h=e+1;for(n=0;n<c;n++)s=i[n],Array.isArray(s)||(s=[s],i[n]=s),da(s,t,h,r);for(n=c;n<l;n++)s=[],i[n]=s,da(s,t,h,r)}else{for(n=0;n<c;n++)for(;Array.isArray(i[n]);)i[n]=i[n][0];for(n=c;n<l;n++)i[n]=r}}function _a(i,t){var e=ga(i),r=e.length;if(!Array.isArray(i)||!Array.isArray(t))throw new TypeError("Array expected");if(t.length===0)throw new Ht(0,r,"!=");t=ma(t,r);var n=Ql(t);if(r!==n)throw new Ht(n,r,"!=");try{return Sd(e,t)}catch(s){throw s instanceof Ht?new Ht(n,r,"!="):s}}function ma(i,t){var e=Ql(i),r=i.slice(),n=-1,s=i.indexOf(n),a=i.indexOf(n,s+1)>=0;if(a)throw new Error("More than one wildcard in sizes");var l=s>=0,c=t%e===0;if(l)if(c)r[s]=-t/e;else throw new Error("Could not replace wildcard, since "+t+" is no multiple of "+-e);return r}function Ql(i){return i.reduce((t,e)=>t*e,1)}function Sd(i,t){for(var e=i,r,n=t.length-1;n>0;n--){var s=t[n];r=[];for(var a=e.length/s,l=0;l<a;l++)r.push(e.slice(l*s,(l+1)*s));e=r}return e}function tc(i,t,e,r){var n=r||Be(i);if(e)for(var s=0;s<e;s++)i=[i],n.unshift(1);for(i=ec(i,t,0);n.length<t;)n.push(1);return i}function ec(i,t,e){var r,n;if(Array.isArray(i)){var s=e+1;for(r=0,n=i.length;r<n;r++)i[r]=ec(i[r],t,s)}else for(var a=e;a<t;a++)i=[i];return i}function ga(i){if(!Array.isArray(i))return i;var t=[];return i.forEach(function e(r){Array.isArray(r)?r.forEach(e):t.push(r)}),t}function Ms(i,t){for(var e,r=0,n=0;n<i.length;n++){var s=i[n],a=Array.isArray(s);if(n===0&&a&&(r=s.length),a&&s.length!==r)return;var l=a?Ms(s,t):t(s);if(e===void 0)e=l;else if(e!==l)return"mixed"}return e}function rc(i,t,e,r){if(r<e){if(i.length!==t.length)throw new Ht(i.length,t.length);for(var n=[],s=0;s<i.length;s++)n[s]=rc(i[s],t[s],e,r+1);return n}else return i.concat(t)}function nc(){var i=Array.prototype.slice.call(arguments,0,-1),t=Array.prototype.slice.call(arguments,-1);if(i.length===1)return i[0];if(i.length>1)return i.slice(1).reduce(function(e,r){return rc(e,r,t,0)},i[0]);throw new Error("Wrong number of arguments in function concat")}function Bd(){for(var i=arguments.length,t=new Array(i),e=0;e<i;e++)t[e]=arguments[e];for(var r=t.map(d=>d.length),n=Math.max(...r),s=new Array(n).fill(null),a=0;a<t.length;a++)for(var l=t[a],c=r[a],h=0;h<c;h++){var p=n-c+h;l[h]>s[p]&&(s[p]=l[h])}for(var f=0;f<t.length;f++)Ns(t[f],s);return s}function Ns(i,t){for(var e=t.length,r=i.length,n=0;n<r;n++){var s=e-r+n;if(i[n]<t[s]&&i[n]>1||i[n]>t[s])throw new Error("shape missmatch: missmatch is found in arg with shape (".concat(i,") not possible to broadcast dimension ").concat(r," with size ").concat(i[n]," to size ").concat(t[s]))}}function ic(i,t){var e=Be(i);if(fi(e,t))return i;Ns(e,t);var r=Bd(e,t),n=r.length,s=[...Array(n-e.length).fill(1),...e],a=Td(i);e.length<n&&(a=_a(a,s),e=Be(a));for(var l=0;l<n;l++)e[l]<r[l]&&(a=Od(a,r[l],l),e=Be(a));return a}function Od(i,t,e){return nc(...Array(t).fill(i),e)}function Td(i){return As([],i)}function mt(i,t,e,r){function n(s){var a=gd(s,t.map(Ld));return Id(i,t,s),e(a)}return n.isFactory=!0,n.fn=i,n.dependencies=t.slice().sort(),r&&(n.meta=r),n}function Id(i,t,e){var r=t.filter(s=>!$d(s)).every(s=>e[s]!==void 0);if(!r){var n=t.filter(s=>e[s]===void 0);throw new Error('Cannot create function "'.concat(i,'", ')+"some dependencies are missing: ".concat(n.map(s=>'"'.concat(s,'"')).join(", "),"."))}}function $d(i){return i&&i[0]==="?"}function Ld(i){return i&&i[0]==="?"?i.slice(1):i}function Rd(i,t){if(oc(i)&&sc(i,t))return i[t];throw typeof i[t]=="function"&&qd(i,t)?new Error('Cannot access method "'+t+'" as a property'):new Error('No access to property "'+t+'"')}function Pd(i,t,e){if(oc(i)&&sc(i,t))return i[t]=e,e;throw new Error('No access to property "'+t+'"')}function zd(i,t){return t in i}function sc(i,t){return!i||typeof i!="object"?!1:Vi(kd,t)?!0:!(t in Object.prototype||t in Function.prototype)}function qd(i,t){return i==null||typeof i[t]!="function"||Vi(i,t)&&Object.getPrototypeOf&&t in Object.getPrototypeOf(i)?!1:Vi(Ud,t)?!0:!(t in Object.prototype||t in Function.prototype)}function oc(i){return typeof i=="object"&&i&&i.constructor===Object}var kd={length:!0,name:!0},Ud={toString:!0,valueOf:!0,toLocaleString:!0};class Wd{constructor(t){this.wrappedObject=t,this[Symbol.iterator]=this.entries}keys(){return Object.keys(this.wrappedObject).values()}get(t){return Rd(this.wrappedObject,t)}set(t,e){return Pd(this.wrappedObject,t,e),this}has(t){return zd(this.wrappedObject,t)}entries(){return jd(this.keys(),t=>[t,this.get(t)])}forEach(t){for(var e of this.keys())t(this.get(e),e,this)}delete(t){delete this.wrappedObject[t]}clear(){for(var t of this.keys())this.delete(t)}get size(){return Object.keys(this.wrappedObject).length}}function jd(i,t){return{next:()=>{var e=i.next();return e.done?e:{value:t(e.value),done:!1}}}}function Yd(i){return i?i instanceof Map||i instanceof Wd||typeof i.set=="function"&&typeof i.get=="function"&&typeof i.keys=="function"&&typeof i.has=="function":!1}var ac=function(){return ac=kl.create,kl},Vd=["?BigNumber","?Complex","?DenseMatrix","?Fraction"],Zd=mt("typed",Vd,function(t){var{BigNumber:e,Complex:r,DenseMatrix:n,Fraction:s}=t,a=ac();return a.clear(),a.addTypes([{name:"number",test:he},{name:"Complex",test:Il},{name:"BigNumber",test:Fe},{name:"Fraction",test:$l},{name:"Unit",test:Ll},{name:"identifier",test:l=>Xr&&/^(?:[A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF])(?:[0-9A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF])*$/.test(l)},{name:"string",test:Xr},{name:"Chain",test:_d},{name:"Array",test:be},{name:"Matrix",test:me},{name:"DenseMatrix",test:Up},{name:"SparseMatrix",test:Wp},{name:"Range",test:jp},{name:"Index",test:ua},{name:"boolean",test:Yp},{name:"ResultSet",test:Vp},{name:"Help",test:Zp},{name:"function",test:Gp},{name:"Date",test:Kp},{name:"RegExp",test:Hp},{name:"null",test:Jp},{name:"undefined",test:Xp},{name:"AccessorNode",test:Qp},{name:"ArrayNode",test:td},{name:"AssignmentNode",test:ed},{name:"BlockNode",test:rd},{name:"ConditionalNode",test:nd},{name:"ConstantNode",test:id},{name:"FunctionNode",test:od},{name:"FunctionAssignmentNode",test:sd},{name:"IndexNode",test:ad},{name:"Node",test:ud},{name:"ObjectNode",test:ld},{name:"OperatorNode",test:cd},{name:"ParenthesisNode",test:fd},{name:"RangeNode",test:hd},{name:"RelationalNode",test:pd},{name:"SymbolNode",test:dd},{name:"Map",test:Yd},{name:"Object",test:la}]),a.addConversions([{from:"number",to:"BigNumber",convert:function(c){if(e||va(c),Ed(c)>15)throw new TypeError("Cannot implicitly convert a number with >15 significant digits to BigNumber (value: "+c+"). Use function bignumber(x) to convert to BigNumber.");return new e(c)}},{from:"number",to:"Complex",convert:function(c){return r||Ss(c),new r(c,0)}},{from:"BigNumber",to:"Complex",convert:function(c){return r||Ss(c),new r(c.toNumber(),0)}},{from:"Fraction",to:"BigNumber",convert:function(c){throw new TypeError("Cannot implicitly convert a Fraction to BigNumber or vice versa. Use function bignumber(x) to convert to BigNumber or fraction(x) to convert to Fraction.")}},{from:"Fraction",to:"Complex",convert:function(c){return r||Ss(c),new r(c.valueOf(),0)}},{from:"number",to:"Fraction",convert:function(c){s||ya(c);var h=new s(c);if(h.valueOf()!==c)throw new TypeError("Cannot implicitly convert a number to a Fraction when there will be a loss of precision (value: "+c+"). Use function fraction(x) to convert to Fraction.");return h}},{from:"string",to:"number",convert:function(c){var h=Number(c);if(isNaN(h))throw new Error('Cannot convert "'+c+'" to a number');return h}},{from:"string",to:"BigNumber",convert:function(c){e||va(c);try{return new e(c)}catch{throw new Error('Cannot convert "'+c+'" to BigNumber')}}},{from:"string",to:"Fraction",convert:function(c){s||ya(c);try{return new s(c)}catch{throw new Error('Cannot convert "'+c+'" to Fraction')}}},{from:"string",to:"Complex",convert:function(c){r||Ss(c);try{return new r(c)}catch{throw new Error('Cannot convert "'+c+'" to Complex')}}},{from:"boolean",to:"number",convert:function(c){return+c}},{from:"boolean",to:"BigNumber",convert:function(c){return e||va(c),new e(+c)}},{from:"boolean",to:"Fraction",convert:function(c){return s||ya(c),new s(+c)}},{from:"boolean",to:"string",convert:function(c){return String(c)}},{from:"Array",to:"Matrix",convert:function(c){return n||Gd(),new n(c)}},{from:"Matrix",to:"Array",convert:function(c){return c.valueOf()}}]),a.onMismatch=(l,c,h)=>{var p=a.createError(l,c,h);if(["wrongType","mismatch"].includes(p.data.category)&&c.length===1&&Yi(c[0])&&h.some(d=>!d.params.includes(","))){var f=new TypeError("Function '".concat(l,"' doesn't apply to matrices. To call it ")+"elementwise on a matrix 'M', try 'map(M, ".concat(l,")'."));throw f.data=p.data,f}throw p},a.onMismatch=(l,c,h)=>{var p=a.createError(l,c,h);if(["wrongType","mismatch"].includes(p.data.category)&&c.length===1&&Yi(c[0])&&h.some(d=>!d.params.includes(","))){var f=new TypeError("Function '".concat(l,"' doesn't apply to matrices. To call it ")+"elementwise on a matrix 'M', try 'map(M, ".concat(l,")'."));throw f.data=p.data,f}throw p},a});function va(i){throw new Error("Cannot convert value ".concat(i," into a BigNumber: no class 'BigNumber' provided"))}function Ss(i){throw new Error("Cannot convert value ".concat(i," into a Complex number: no class 'Complex' provided"))}function Gd(){throw new Error("Cannot convert array into a Matrix: no class 'DenseMatrix' provided")}function ya(i){throw new Error("Cannot convert value ".concat(i," into a Fraction, no class 'Fraction' provided."))}/*!
35
35
  * decimal.js v10.4.3
36
36
  * An arbitrary-precision Decimal type for JavaScript.
37
37
  * https://github.com/MikeMcl/decimal.js
38
38
  * Copyright (c) 2022 Michael Mclaughlin <M8ch88l@gmail.com>
39
39
  * MIT Licence
40
- */var di=9e15,An=1e9,ya="0123456789abcdef",Bs="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",Os="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",Da={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-di,maxE:di,crypto:!1},uc,un,St=!0,Ts="[DecimalError] ",Cn=Ts+"Invalid argument: ",lc=Ts+"Precision limit exceeded",cc=Ts+"crypto unavailable",fc="[object Decimal]",Ge=Math.floor,$e=Math.pow,Kd=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,Hd=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,Jd=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,hc=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,Wr=1e7,xt=7,Xd=9007199254740991,Qd=Bs.length-1,ba=Os.length-1,it={toStringTag:fc};it.absoluteValue=it.abs=function(){var i=new this.constructor(this);return i.s<0&&(i.s=1),Dt(i)},it.ceil=function(){return Dt(new this.constructor(this),this.e+1,2)},it.clampedTo=it.clamp=function(i,t){var e,r=this,n=r.constructor;if(i=new n(i),t=new n(t),!i.s||!t.s)return new n(NaN);if(i.gt(t))throw Error(Cn+t);return e=r.cmp(i),e<0?i:r.cmp(t)>0?t:new n(r)},it.comparedTo=it.cmp=function(i){var t,e,r,n,s=this,a=s.d,l=(i=new s.constructor(i)).d,c=s.s,h=i.s;if(!a||!l)return!c||!h?NaN:c!==h?c:a===l?0:!a^c<0?1:-1;if(!a[0]||!l[0])return a[0]?c:l[0]?-h:0;if(c!==h)return c;if(s.e!==i.e)return s.e>i.e^c<0?1:-1;for(r=a.length,n=l.length,t=0,e=r<n?r:n;t<e;++t)if(a[t]!==l[t])return a[t]>l[t]^c<0?1:-1;return r===n?0:r>n^c<0?1:-1},it.cosine=it.cos=function(){var i,t,e=this,r=e.constructor;return e.d?e.d[0]?(i=r.precision,t=r.rounding,r.precision=i+Math.max(e.e,e.sd())+xt,r.rounding=1,e=t_(r,vc(r,e)),r.precision=i,r.rounding=t,Dt(un==2||un==3?e.neg():e,i,t,!0)):new r(1):new r(NaN)},it.cubeRoot=it.cbrt=function(){var i,t,e,r,n,s,a,l,c,h,p=this,f=p.constructor;if(!p.isFinite()||p.isZero())return new f(p);for(St=!1,s=p.s*$e(p.s*p,1/3),!s||Math.abs(s)==1/0?(e=We(p.d),i=p.e,(s=(i-e.length+1)%3)&&(e+=s==1||s==-2?"0":"00"),s=$e(e,1/3),i=Ge((i+1)/3)-(i%3==(i<0?-1:2)),s==1/0?e="5e"+i:(e=s.toExponential(),e=e.slice(0,e.indexOf("e")+1)+i),r=new f(e),r.s=p.s):r=new f(s.toString()),a=(i=f.precision)+3;;)if(l=r,c=l.times(l).times(l),h=c.plus(p),r=ce(h.plus(p).times(l),h.plus(c),a+2,1),We(l.d).slice(0,a)===(e=We(r.d)).slice(0,a))if(e=e.slice(a-3,a+1),e=="9999"||!n&&e=="4999"){if(!n&&(Dt(l,i+1,0),l.times(l).times(l).eq(p))){r=l;break}a+=4,n=1}else{(!+e||!+e.slice(1)&&e.charAt(0)=="5")&&(Dt(r,i+1,1),t=!r.times(r).times(r).eq(p));break}return St=!0,Dt(r,i,f.rounding,t)},it.decimalPlaces=it.dp=function(){var i,t=this.d,e=NaN;if(t){if(i=t.length-1,e=(i-Ge(this.e/xt))*xt,i=t[i],i)for(;i%10==0;i/=10)e--;e<0&&(e=0)}return e},it.dividedBy=it.div=function(i){return ce(this,new this.constructor(i))},it.dividedToIntegerBy=it.divToInt=function(i){var t=this,e=t.constructor;return Dt(ce(t,new e(i),0,1,1),e.precision,e.rounding)},it.equals=it.eq=function(i){return this.cmp(i)===0},it.floor=function(){return Dt(new this.constructor(this),this.e+1,3)},it.greaterThan=it.gt=function(i){return this.cmp(i)>0},it.greaterThanOrEqualTo=it.gte=function(i){var t=this.cmp(i);return t==1||t===0},it.hyperbolicCosine=it.cosh=function(){var i,t,e,r,n,s=this,a=s.constructor,l=new a(1);if(!s.isFinite())return new a(s.s?1/0:NaN);if(s.isZero())return l;e=a.precision,r=a.rounding,a.precision=e+Math.max(s.e,s.sd())+4,a.rounding=1,n=s.d.length,n<32?(i=Math.ceil(n/3),t=(1/Rs(4,i)).toString()):(i=16,t="2.3283064365386962890625e-10"),s=_i(a,1,s.times(t),new a(1),!0);for(var c,h=i,p=new a(8);h--;)c=s.times(s),s=l.minus(c.times(p.minus(c.times(p))));return Dt(s,a.precision=e,a.rounding=r,!0)},it.hyperbolicSine=it.sinh=function(){var i,t,e,r,n=this,s=n.constructor;if(!n.isFinite()||n.isZero())return new s(n);if(t=s.precision,e=s.rounding,s.precision=t+Math.max(n.e,n.sd())+4,s.rounding=1,r=n.d.length,r<3)n=_i(s,2,n,n,!0);else{i=1.4*Math.sqrt(r),i=i>16?16:i|0,n=n.times(1/Rs(5,i)),n=_i(s,2,n,n,!0);for(var a,l=new s(5),c=new s(16),h=new s(20);i--;)a=n.times(n),n=n.times(l.plus(a.times(c.times(a).plus(h))))}return s.precision=t,s.rounding=e,Dt(n,t,e,!0)},it.hyperbolicTangent=it.tanh=function(){var i,t,e=this,r=e.constructor;return e.isFinite()?e.isZero()?new r(e):(i=r.precision,t=r.rounding,r.precision=i+7,r.rounding=1,ce(e.sinh(),e.cosh(),r.precision=i,r.rounding=t)):new r(e.s)},it.inverseCosine=it.acos=function(){var i,t=this,e=t.constructor,r=t.abs().cmp(1),n=e.precision,s=e.rounding;return r!==-1?r===0?t.isNeg()?jr(e,n,s):new e(0):new e(NaN):t.isZero()?jr(e,n+4,s).times(.5):(e.precision=n+6,e.rounding=1,t=t.asin(),i=jr(e,n+4,s).times(.5),e.precision=n,e.rounding=s,i.minus(t))},it.inverseHyperbolicCosine=it.acosh=function(){var i,t,e=this,r=e.constructor;return e.lte(1)?new r(e.eq(1)?0:NaN):e.isFinite()?(i=r.precision,t=r.rounding,r.precision=i+Math.max(Math.abs(e.e),e.sd())+4,r.rounding=1,St=!1,e=e.times(e).minus(1).sqrt().plus(e),St=!0,r.precision=i,r.rounding=t,e.ln()):new r(e)},it.inverseHyperbolicSine=it.asinh=function(){var i,t,e=this,r=e.constructor;return!e.isFinite()||e.isZero()?new r(e):(i=r.precision,t=r.rounding,r.precision=i+2*Math.max(Math.abs(e.e),e.sd())+6,r.rounding=1,St=!1,e=e.times(e).plus(1).sqrt().plus(e),St=!0,r.precision=i,r.rounding=t,e.ln())},it.inverseHyperbolicTangent=it.atanh=function(){var i,t,e,r,n=this,s=n.constructor;return n.isFinite()?n.e>=0?new s(n.abs().eq(1)?n.s/0:n.isZero()?n:NaN):(i=s.precision,t=s.rounding,r=n.sd(),Math.max(r,i)<2*-n.e-1?Dt(new s(n),i,t,!0):(s.precision=e=r-n.e,n=ce(n.plus(1),new s(1).minus(n),e+i,1),s.precision=i+4,s.rounding=1,n=n.ln(),s.precision=i,s.rounding=t,n.times(.5))):new s(NaN)},it.inverseSine=it.asin=function(){var i,t,e,r,n=this,s=n.constructor;return n.isZero()?new s(n):(t=n.abs().cmp(1),e=s.precision,r=s.rounding,t!==-1?t===0?(i=jr(s,e+4,r).times(.5),i.s=n.s,i):new s(NaN):(s.precision=e+6,s.rounding=1,n=n.div(new s(1).minus(n.times(n)).sqrt().plus(1)).atan(),s.precision=e,s.rounding=r,n.times(2)))},it.inverseTangent=it.atan=function(){var i,t,e,r,n,s,a,l,c,h=this,p=h.constructor,f=p.precision,d=p.rounding;if(h.isFinite()){if(h.isZero())return new p(h);if(h.abs().eq(1)&&f+4<=ba)return a=jr(p,f+4,d).times(.25),a.s=h.s,a}else{if(!h.s)return new p(NaN);if(f+4<=ba)return a=jr(p,f+4,d).times(.5),a.s=h.s,a}for(p.precision=l=f+10,p.rounding=1,e=Math.min(28,l/xt+2|0),i=e;i;--i)h=h.div(h.times(h).plus(1).sqrt().plus(1));for(St=!1,t=Math.ceil(l/xt),r=1,c=h.times(h),a=new p(h),n=h;i!==-1;)if(n=n.times(c),s=a.minus(n.div(r+=2)),n=n.times(c),a=s.plus(n.div(r+=2)),a.d[t]!==void 0)for(i=t;a.d[i]===s.d[i]&&i--;);return e&&(a=a.times(2<<e-1)),St=!0,Dt(a,p.precision=f,p.rounding=d,!0)},it.isFinite=function(){return!!this.d},it.isInteger=it.isInt=function(){return!!this.d&&Ge(this.e/xt)>this.d.length-2},it.isNaN=function(){return!this.s},it.isNegative=it.isNeg=function(){return this.s<0},it.isPositive=it.isPos=function(){return this.s>0},it.isZero=function(){return!!this.d&&this.d[0]===0},it.lessThan=it.lt=function(i){return this.cmp(i)<0},it.lessThanOrEqualTo=it.lte=function(i){return this.cmp(i)<1},it.logarithm=it.log=function(i){var t,e,r,n,s,a,l,c,h=this,p=h.constructor,f=p.precision,d=p.rounding,g=5;if(i==null)i=new p(10),t=!0;else{if(i=new p(i),e=i.d,i.s<0||!e||!e[0]||i.eq(1))return new p(NaN);t=i.eq(10)}if(e=h.d,h.s<0||!e||!e[0]||h.eq(1))return new p(e&&!e[0]?-1/0:h.s!=1?NaN:e?0:1/0);if(t)if(e.length>1)s=!0;else{for(n=e[0];n%10===0;)n/=10;s=n!==1}if(St=!1,l=f+g,a=Mn(h,l),r=t?Ls(p,l+10):Mn(i,l),c=ce(a,r,l,1),Zi(c.d,n=f,d))do if(l+=10,a=Mn(h,l),r=t?Ls(p,l+10):Mn(i,l),c=ce(a,r,l,1),!s){+We(c.d).slice(n+1,n+15)+1==1e14&&(c=Dt(c,f+1,0));break}while(Zi(c.d,n+=10,d));return St=!0,Dt(c,f,d)},it.minus=it.sub=function(i){var t,e,r,n,s,a,l,c,h,p,f,d,g=this,w=g.constructor;if(i=new w(i),!g.d||!i.d)return!g.s||!i.s?i=new w(NaN):g.d?i.s=-i.s:i=new w(i.d||g.s!==i.s?g:NaN),i;if(g.s!=i.s)return i.s=-i.s,g.plus(i);if(h=g.d,d=i.d,l=w.precision,c=w.rounding,!h[0]||!d[0]){if(d[0])i.s=-i.s;else if(h[0])i=new w(g);else return new w(c===3?-0:0);return St?Dt(i,l,c):i}if(e=Ge(i.e/xt),p=Ge(g.e/xt),h=h.slice(),s=p-e,s){for(f=s<0,f?(t=h,s=-s,a=d.length):(t=d,e=p,a=h.length),r=Math.max(Math.ceil(l/xt),a)+2,s>r&&(s=r,t.length=1),t.reverse(),r=s;r--;)t.push(0);t.reverse()}else{for(r=h.length,a=d.length,f=r<a,f&&(a=r),r=0;r<a;r++)if(h[r]!=d[r]){f=h[r]<d[r];break}s=0}for(f&&(t=h,h=d,d=t,i.s=-i.s),a=h.length,r=d.length-a;r>0;--r)h[a++]=0;for(r=d.length;r>s;){if(h[--r]<d[r]){for(n=r;n&&h[--n]===0;)h[n]=Wr-1;--h[n],h[r]+=Wr}h[r]-=d[r]}for(;h[--a]===0;)h.pop();for(;h[0]===0;h.shift())--e;return h[0]?(i.d=h,i.e=$s(h,e),St?Dt(i,l,c):i):new w(c===3?-0:0)},it.modulo=it.mod=function(i){var t,e=this,r=e.constructor;return i=new r(i),!e.d||!i.s||i.d&&!i.d[0]?new r(NaN):!i.d||e.d&&!e.d[0]?Dt(new r(e),r.precision,r.rounding):(St=!1,r.modulo==9?(t=ce(e,i.abs(),0,3,1),t.s*=i.s):t=ce(e,i,0,r.modulo,1),t=t.times(i),St=!0,e.minus(t))},it.naturalExponential=it.exp=function(){return Ea(this)},it.naturalLogarithm=it.ln=function(){return Mn(this)},it.negated=it.neg=function(){var i=new this.constructor(this);return i.s=-i.s,Dt(i)},it.plus=it.add=function(i){var t,e,r,n,s,a,l,c,h,p,f=this,d=f.constructor;if(i=new d(i),!f.d||!i.d)return!f.s||!i.s?i=new d(NaN):f.d||(i=new d(i.d||f.s===i.s?f:NaN)),i;if(f.s!=i.s)return i.s=-i.s,f.minus(i);if(h=f.d,p=i.d,l=d.precision,c=d.rounding,!h[0]||!p[0])return p[0]||(i=new d(f)),St?Dt(i,l,c):i;if(s=Ge(f.e/xt),r=Ge(i.e/xt),h=h.slice(),n=s-r,n){for(n<0?(e=h,n=-n,a=p.length):(e=p,r=s,a=h.length),s=Math.ceil(l/xt),a=s>a?s+1:a+1,n>a&&(n=a,e.length=1),e.reverse();n--;)e.push(0);e.reverse()}for(a=h.length,n=p.length,a-n<0&&(n=a,e=p,p=h,h=e),t=0;n;)t=(h[--n]=h[n]+p[n]+t)/Wr|0,h[n]%=Wr;for(t&&(h.unshift(t),++r),a=h.length;h[--a]==0;)h.pop();return i.d=h,i.e=$s(h,r),St?Dt(i,l,c):i},it.precision=it.sd=function(i){var t,e=this;if(i!==void 0&&i!==!!i&&i!==1&&i!==0)throw Error(Cn+i);return e.d?(t=pc(e.d),i&&e.e+1>t&&(t=e.e+1)):t=NaN,t},it.round=function(){var i=this,t=i.constructor;return Dt(new t(i),i.e+1,t.rounding)},it.sine=it.sin=function(){var i,t,e=this,r=e.constructor;return e.isFinite()?e.isZero()?new r(e):(i=r.precision,t=r.rounding,r.precision=i+Math.max(e.e,e.sd())+xt,r.rounding=1,e=r_(r,vc(r,e)),r.precision=i,r.rounding=t,Dt(un>2?e.neg():e,i,t,!0)):new r(NaN)},it.squareRoot=it.sqrt=function(){var i,t,e,r,n,s,a=this,l=a.d,c=a.e,h=a.s,p=a.constructor;if(h!==1||!l||!l[0])return new p(!h||h<0&&(!l||l[0])?NaN:l?a:1/0);for(St=!1,h=Math.sqrt(+a),h==0||h==1/0?(t=We(l),(t.length+c)%2==0&&(t+="0"),h=Math.sqrt(t),c=Ge((c+1)/2)-(c<0||c%2),h==1/0?t="5e"+c:(t=h.toExponential(),t=t.slice(0,t.indexOf("e")+1)+c),r=new p(t)):r=new p(h.toString()),e=(c=p.precision)+3;;)if(s=r,r=s.plus(ce(a,s,e+2,1)).times(.5),We(s.d).slice(0,e)===(t=We(r.d)).slice(0,e))if(t=t.slice(e-3,e+1),t=="9999"||!n&&t=="4999"){if(!n&&(Dt(s,c+1,0),s.times(s).eq(a))){r=s;break}e+=4,n=1}else{(!+t||!+t.slice(1)&&t.charAt(0)=="5")&&(Dt(r,c+1,1),i=!r.times(r).eq(a));break}return St=!0,Dt(r,c,p.rounding,i)},it.tangent=it.tan=function(){var i,t,e=this,r=e.constructor;return e.isFinite()?e.isZero()?new r(e):(i=r.precision,t=r.rounding,r.precision=i+10,r.rounding=1,e=e.sin(),e.s=1,e=ce(e,new r(1).minus(e.times(e)).sqrt(),i+10,0),r.precision=i,r.rounding=t,Dt(un==2||un==4?e.neg():e,i,t,!0)):new r(NaN)},it.times=it.mul=function(i){var t,e,r,n,s,a,l,c,h,p=this,f=p.constructor,d=p.d,g=(i=new f(i)).d;if(i.s*=p.s,!d||!d[0]||!g||!g[0])return new f(!i.s||d&&!d[0]&&!g||g&&!g[0]&&!d?NaN:!d||!g?i.s/0:i.s*0);for(e=Ge(p.e/xt)+Ge(i.e/xt),c=d.length,h=g.length,c<h&&(s=d,d=g,g=s,a=c,c=h,h=a),s=[],a=c+h,r=a;r--;)s.push(0);for(r=h;--r>=0;){for(t=0,n=c+r;n>r;)l=s[n]+g[r]*d[n-r-1]+t,s[n--]=l%Wr|0,t=l/Wr|0;s[n]=(s[n]+t)%Wr|0}for(;!s[--a];)s.pop();return t?++e:s.shift(),i.d=s,i.e=$s(s,e),St?Dt(i,f.precision,f.rounding):i},it.toBinary=function(i,t){return Aa(this,2,i,t)},it.toDecimalPlaces=it.toDP=function(i,t){var e=this,r=e.constructor;return e=new r(e),i===void 0?e:(or(i,0,An),t===void 0?t=r.rounding:or(t,0,8),Dt(e,i+e.e+1,t))},it.toExponential=function(i,t){var e,r=this,n=r.constructor;return i===void 0?e=Qr(r,!0):(or(i,0,An),t===void 0?t=n.rounding:or(t,0,8),r=Dt(new n(r),i+1,t),e=Qr(r,!0,i+1)),r.isNeg()&&!r.isZero()?"-"+e:e},it.toFixed=function(i,t){var e,r,n=this,s=n.constructor;return i===void 0?e=Qr(n):(or(i,0,An),t===void 0?t=s.rounding:or(t,0,8),r=Dt(new s(n),i+n.e+1,t),e=Qr(r,!1,i+r.e+1)),n.isNeg()&&!n.isZero()?"-"+e:e},it.toFraction=function(i){var t,e,r,n,s,a,l,c,h,p,f,d,g=this,w=g.d,m=g.constructor;if(!w)return new m(g);if(h=e=new m(1),r=c=new m(0),t=new m(r),s=t.e=pc(w)-g.e-1,a=s%xt,t.d[0]=$e(10,a<0?xt+a:a),i==null)i=s>0?t:h;else{if(l=new m(i),!l.isInt()||l.lt(h))throw Error(Cn+l);i=l.gt(t)?s>0?t:h:l}for(St=!1,l=new m(We(w)),p=m.precision,m.precision=s=w.length*xt*2;f=ce(l,t,0,1,1),n=e.plus(f.times(r)),n.cmp(i)!=1;)e=r,r=n,n=h,h=c.plus(f.times(n)),c=n,n=t,t=l.minus(f.times(n)),l=n;return n=ce(i.minus(e),r,0,1,1),c=c.plus(n.times(h)),e=e.plus(n.times(r)),c.s=h.s=g.s,d=ce(h,r,s,1).minus(g).abs().cmp(ce(c,e,s,1).minus(g).abs())<1?[h,r]:[c,e],m.precision=p,St=!0,d},it.toHexadecimal=it.toHex=function(i,t){return Aa(this,16,i,t)},it.toNearest=function(i,t){var e=this,r=e.constructor;if(e=new r(e),i==null){if(!e.d)return e;i=new r(1),t=r.rounding}else{if(i=new r(i),t===void 0?t=r.rounding:or(t,0,8),!e.d)return i.s?e:i;if(!i.d)return i.s&&(i.s=e.s),i}return i.d[0]?(St=!1,e=ce(e,i,0,t,1).times(i),St=!0,Dt(e)):(i.s=e.s,e=i),e},it.toNumber=function(){return+this},it.toOctal=function(i,t){return Aa(this,8,i,t)},it.toPower=it.pow=function(i){var t,e,r,n,s,a,l=this,c=l.constructor,h=+(i=new c(i));if(!l.d||!i.d||!l.d[0]||!i.d[0])return new c($e(+l,h));if(l=new c(l),l.eq(1))return l;if(r=c.precision,s=c.rounding,i.eq(1))return Dt(l,r,s);if(t=Ge(i.e/xt),t>=i.d.length-1&&(e=h<0?-h:h)<=Xd)return n=dc(c,l,e,r),i.s<0?new c(1).div(n):Dt(n,r,s);if(a=l.s,a<0){if(t<i.d.length-1)return new c(NaN);if(i.d[t]&1||(a=1),l.e==0&&l.d[0]==1&&l.d.length==1)return l.s=a,l}return e=$e(+l,h),t=e==0||!isFinite(e)?Ge(h*(Math.log("0."+We(l.d))/Math.LN10+l.e+1)):new c(e+"").e,t>c.maxE+1||t<c.minE-1?new c(t>0?a/0:0):(St=!1,c.rounding=l.s=1,e=Math.min(12,(t+"").length),n=Ea(i.times(Mn(l,r+e)),r),n.d&&(n=Dt(n,r+5,1),Zi(n.d,r,s)&&(t=r+10,n=Dt(Ea(i.times(Mn(l,t+e)),t),t+5,1),+We(n.d).slice(r+1,r+15)+1==1e14&&(n=Dt(n,r+1,0)))),n.s=a,St=!0,c.rounding=s,Dt(n,r,s))},it.toPrecision=function(i,t){var e,r=this,n=r.constructor;return i===void 0?e=Qr(r,r.e<=n.toExpNeg||r.e>=n.toExpPos):(or(i,1,An),t===void 0?t=n.rounding:or(t,0,8),r=Dt(new n(r),i,t),e=Qr(r,i<=r.e||r.e<=n.toExpNeg,i)),r.isNeg()&&!r.isZero()?"-"+e:e},it.toSignificantDigits=it.toSD=function(i,t){var e=this,r=e.constructor;return i===void 0?(i=r.precision,t=r.rounding):(or(i,1,An),t===void 0?t=r.rounding:or(t,0,8)),Dt(new r(e),i,t)},it.toString=function(){var i=this,t=i.constructor,e=Qr(i,i.e<=t.toExpNeg||i.e>=t.toExpPos);return i.isNeg()&&!i.isZero()?"-"+e:e},it.truncated=it.trunc=function(){return Dt(new this.constructor(this),this.e+1,1)},it.valueOf=it.toJSON=function(){var i=this,t=i.constructor,e=Qr(i,i.e<=t.toExpNeg||i.e>=t.toExpPos);return i.isNeg()?"-"+e:e};function We(i){var t,e,r,n=i.length-1,s="",a=i[0];if(n>0){for(s+=a,t=1;t<n;t++)r=i[t]+"",e=xt-r.length,e&&(s+=Fn(e)),s+=r;a=i[t],r=a+"",e=xt-r.length,e&&(s+=Fn(e))}else if(a===0)return"0";for(;a%10===0;)a/=10;return s+a}function or(i,t,e){if(i!==~~i||i<t||i>e)throw Error(Cn+i)}function Zi(i,t,e,r){var n,s,a,l;for(s=i[0];s>=10;s/=10)--t;return--t<0?(t+=xt,n=0):(n=Math.ceil((t+1)/xt),t%=xt),s=$e(10,xt-t),l=i[n]%s|0,r==null?t<3?(t==0?l=l/100|0:t==1&&(l=l/10|0),a=e<4&&l==99999||e>3&&l==49999||l==5e4||l==0):a=(e<4&&l+1==s||e>3&&l+1==s/2)&&(i[n+1]/s/100|0)==$e(10,t-2)-1||(l==s/2||l==0)&&(i[n+1]/s/100|0)==0:t<4?(t==0?l=l/1e3|0:t==1?l=l/100|0:t==2&&(l=l/10|0),a=(r||e<4)&&l==9999||!r&&e>3&&l==4999):a=((r||e<4)&&l+1==s||!r&&e>3&&l+1==s/2)&&(i[n+1]/s/1e3|0)==$e(10,t-3)-1,a}function Is(i,t,e){for(var r,n=[0],s,a=0,l=i.length;a<l;){for(s=n.length;s--;)n[s]*=t;for(n[0]+=ya.indexOf(i.charAt(a++)),r=0;r<n.length;r++)n[r]>e-1&&(n[r+1]===void 0&&(n[r+1]=0),n[r+1]+=n[r]/e|0,n[r]%=e)}return n.reverse()}function t_(i,t){var e,r,n;if(t.isZero())return t;r=t.d.length,r<32?(e=Math.ceil(r/3),n=(1/Rs(4,e)).toString()):(e=16,n="2.3283064365386962890625e-10"),i.precision+=e,t=_i(i,1,t.times(n),new i(1));for(var s=e;s--;){var a=t.times(t);t=a.times(a).minus(a).times(8).plus(1)}return i.precision-=e,t}var ce=function(){function i(r,n,s){var a,l=0,c=r.length;for(r=r.slice();c--;)a=r[c]*n+l,r[c]=a%s|0,l=a/s|0;return l&&r.unshift(l),r}function t(r,n,s,a){var l,c;if(s!=a)c=s>a?1:-1;else for(l=c=0;l<s;l++)if(r[l]!=n[l]){c=r[l]>n[l]?1:-1;break}return c}function e(r,n,s,a){for(var l=0;s--;)r[s]-=l,l=r[s]<n[s]?1:0,r[s]=l*a+r[s]-n[s];for(;!r[0]&&r.length>1;)r.shift()}return function(r,n,s,a,l,c){var h,p,f,d,g,w,m,D,v,E,b,N,x,F,M,S,I,C,O,L,k=r.constructor,U=r.s==n.s?1:-1,W=r.d,P=n.d;if(!W||!W[0]||!P||!P[0])return new k(!r.s||!n.s||(W?P&&W[0]==P[0]:!P)?NaN:W&&W[0]==0||!P?U*0:U/0);for(c?(g=1,p=r.e-n.e):(c=Wr,g=xt,p=Ge(r.e/g)-Ge(n.e/g)),O=P.length,I=W.length,v=new k(U),E=v.d=[],f=0;P[f]==(W[f]||0);f++);if(P[f]>(W[f]||0)&&p--,s==null?(F=s=k.precision,a=k.rounding):l?F=s+(r.e-n.e)+1:F=s,F<0)E.push(1),w=!0;else{if(F=F/g+2|0,f=0,O==1){for(d=0,P=P[0],F++;(f<I||d)&&F--;f++)M=d*c+(W[f]||0),E[f]=M/P|0,d=M%P|0;w=d||f<I}else{for(d=c/(P[0]+1)|0,d>1&&(P=i(P,d,c),W=i(W,d,c),O=P.length,I=W.length),S=O,b=W.slice(0,O),N=b.length;N<O;)b[N++]=0;L=P.slice(),L.unshift(0),C=P[0],P[1]>=c/2&&++C;do d=0,h=t(P,b,O,N),h<0?(x=b[0],O!=N&&(x=x*c+(b[1]||0)),d=x/C|0,d>1?(d>=c&&(d=c-1),m=i(P,d,c),D=m.length,N=b.length,h=t(m,b,D,N),h==1&&(d--,e(m,O<D?L:P,D,c))):(d==0&&(h=d=1),m=P.slice()),D=m.length,D<N&&m.unshift(0),e(b,m,N,c),h==-1&&(N=b.length,h=t(P,b,O,N),h<1&&(d++,e(b,O<N?L:P,N,c))),N=b.length):h===0&&(d++,b=[0]),E[f++]=d,h&&b[0]?b[N++]=W[S]||0:(b=[W[S]],N=1);while((S++<I||b[0]!==void 0)&&F--);w=b[0]!==void 0}E[0]||E.shift()}if(g==1)v.e=p,uc=w;else{for(f=1,d=E[0];d>=10;d/=10)f++;v.e=f+p*g-1,Dt(v,l?s+v.e+1:s,a,w)}return v}}();function Dt(i,t,e,r){var n,s,a,l,c,h,p,f,d,g=i.constructor;t:if(t!=null){if(f=i.d,!f)return i;for(n=1,l=f[0];l>=10;l/=10)n++;if(s=t-n,s<0)s+=xt,a=t,p=f[d=0],c=p/$e(10,n-a-1)%10|0;else if(d=Math.ceil((s+1)/xt),l=f.length,d>=l)if(r){for(;l++<=d;)f.push(0);p=c=0,n=1,s%=xt,a=s-xt+1}else break t;else{for(p=l=f[d],n=1;l>=10;l/=10)n++;s%=xt,a=s-xt+n,c=a<0?0:p/$e(10,n-a-1)%10|0}if(r=r||t<0||f[d+1]!==void 0||(a<0?p:p%$e(10,n-a-1)),h=e<4?(c||r)&&(e==0||e==(i.s<0?3:2)):c>5||c==5&&(e==4||r||e==6&&(s>0?a>0?p/$e(10,n-a):0:f[d-1])%10&1||e==(i.s<0?8:7)),t<1||!f[0])return f.length=0,h?(t-=i.e+1,f[0]=$e(10,(xt-t%xt)%xt),i.e=-t||0):f[0]=i.e=0,i;if(s==0?(f.length=d,l=1,d--):(f.length=d+1,l=$e(10,xt-s),f[d]=a>0?(p/$e(10,n-a)%$e(10,a)|0)*l:0),h)for(;;)if(d==0){for(s=1,a=f[0];a>=10;a/=10)s++;for(a=f[0]+=l,l=1;a>=10;a/=10)l++;s!=l&&(i.e++,f[0]==Wr&&(f[0]=1));break}else{if(f[d]+=l,f[d]!=Wr)break;f[d--]=0,l=1}for(s=f.length;f[--s]===0;)f.pop()}return St&&(i.e>g.maxE?(i.d=null,i.e=NaN):i.e<g.minE&&(i.e=0,i.d=[0])),i}function Qr(i,t,e){if(!i.isFinite())return gc(i);var r,n=i.e,s=We(i.d),a=s.length;return t?(e&&(r=e-a)>0?s=s.charAt(0)+"."+s.slice(1)+Fn(r):a>1&&(s=s.charAt(0)+"."+s.slice(1)),s=s+(i.e<0?"e":"e+")+i.e):n<0?(s="0."+Fn(-n-1)+s,e&&(r=e-a)>0&&(s+=Fn(r))):n>=a?(s+=Fn(n+1-a),e&&(r=e-n-1)>0&&(s=s+"."+Fn(r))):((r=n+1)<a&&(s=s.slice(0,r)+"."+s.slice(r)),e&&(r=e-a)>0&&(n+1===a&&(s+="."),s+=Fn(r))),s}function $s(i,t){var e=i[0];for(t*=xt;e>=10;e/=10)t++;return t}function Ls(i,t,e){if(t>Qd)throw St=!0,e&&(i.precision=e),Error(lc);return Dt(new i(Bs),t,1,!0)}function jr(i,t,e){if(t>ba)throw Error(lc);return Dt(new i(Os),t,e,!0)}function pc(i){var t=i.length-1,e=t*xt+1;if(t=i[t],t){for(;t%10==0;t/=10)e--;for(t=i[0];t>=10;t/=10)e++}return e}function Fn(i){for(var t="";i--;)t+="0";return t}function dc(i,t,e,r){var n,s=new i(1),a=Math.ceil(r/xt+4);for(St=!1;;){if(e%2&&(s=s.times(t),wc(s.d,a)&&(n=!0)),e=Ge(e/2),e===0){e=s.d.length-1,n&&s.d[e]===0&&++s.d[e];break}t=t.times(t),wc(t.d,a)}return St=!0,s}function _c(i){return i.d[i.d.length-1]&1}function mc(i,t,e){for(var r,n=new i(t[0]),s=0;++s<t.length;)if(r=new i(t[s]),r.s)n[e](r)&&(n=r);else{n=r;break}return n}function Ea(i,t){var e,r,n,s,a,l,c,h=0,p=0,f=0,d=i.constructor,g=d.rounding,w=d.precision;if(!i.d||!i.d[0]||i.e>17)return new d(i.d?i.d[0]?i.s<0?0:1/0:1:i.s?i.s<0?0:i:NaN);for(t==null?(St=!1,c=w):c=t,l=new d(.03125);i.e>-2;)i=i.times(l),f+=5;for(r=Math.log($e(2,f))/Math.LN10*2+5|0,c+=r,e=s=a=new d(1),d.precision=c;;){if(s=Dt(s.times(i),c,1),e=e.times(++p),l=a.plus(ce(s,e,c,1)),We(l.d).slice(0,c)===We(a.d).slice(0,c)){for(n=f;n--;)a=Dt(a.times(a),c,1);if(t==null)if(h<3&&Zi(a.d,c-r,g,h))d.precision=c+=10,e=s=l=new d(1),p=0,h++;else return Dt(a,d.precision=w,g,St=!0);else return d.precision=w,a}a=l}}function Mn(i,t){var e,r,n,s,a,l,c,h,p,f,d,g=1,w=10,m=i,D=m.d,v=m.constructor,E=v.rounding,b=v.precision;if(m.s<0||!D||!D[0]||!m.e&&D[0]==1&&D.length==1)return new v(D&&!D[0]?-1/0:m.s!=1?NaN:D?0:m);if(t==null?(St=!1,p=b):p=t,v.precision=p+=w,e=We(D),r=e.charAt(0),Math.abs(s=m.e)<15e14){for(;r<7&&r!=1||r==1&&e.charAt(1)>3;)m=m.times(i),e=We(m.d),r=e.charAt(0),g++;s=m.e,r>1?(m=new v("0."+e),s++):m=new v(r+"."+e.slice(1))}else return h=Ls(v,p+2,b).times(s+""),m=Mn(new v(r+"."+e.slice(1)),p-w).plus(h),v.precision=b,t==null?Dt(m,b,E,St=!0):m;for(f=m,c=a=m=ce(m.minus(1),m.plus(1),p,1),d=Dt(m.times(m),p,1),n=3;;){if(a=Dt(a.times(d),p,1),h=c.plus(ce(a,new v(n),p,1)),We(h.d).slice(0,p)===We(c.d).slice(0,p))if(c=c.times(2),s!==0&&(c=c.plus(Ls(v,p+2,b).times(s+""))),c=ce(c,new v(g),p,1),t==null)if(Zi(c.d,p-w,E,l))v.precision=p+=w,h=a=m=ce(f.minus(1),f.plus(1),p,1),d=Dt(m.times(m),p,1),n=l=1;else return Dt(c,v.precision=b,E,St=!0);else return v.precision=b,c;c=h,n+=2}}function gc(i){return String(i.s*i.s/0)}function xa(i,t){var e,r,n;for((e=t.indexOf("."))>-1&&(t=t.replace(".","")),(r=t.search(/e/i))>0?(e<0&&(e=r),e+=+t.slice(r+1),t=t.substring(0,r)):e<0&&(e=t.length),r=0;t.charCodeAt(r)===48;r++);for(n=t.length;t.charCodeAt(n-1)===48;--n);if(t=t.slice(r,n),t){if(n-=r,i.e=e=e-r-1,i.d=[],r=(e+1)%xt,e<0&&(r+=xt),r<n){for(r&&i.d.push(+t.slice(0,r)),n-=xt;r<n;)i.d.push(+t.slice(r,r+=xt));t=t.slice(r),r=xt-t.length}else r-=n;for(;r--;)t+="0";i.d.push(+t),St&&(i.e>i.constructor.maxE?(i.d=null,i.e=NaN):i.e<i.constructor.minE&&(i.e=0,i.d=[0]))}else i.e=0,i.d=[0];return i}function e_(i,t){var e,r,n,s,a,l,c,h,p;if(t.indexOf("_")>-1){if(t=t.replace(/(\d)_(?=\d)/g,"$1"),hc.test(t))return xa(i,t)}else if(t==="Infinity"||t==="NaN")return+t||(i.s=NaN),i.e=NaN,i.d=null,i;if(Hd.test(t))e=16,t=t.toLowerCase();else if(Kd.test(t))e=2;else if(Jd.test(t))e=8;else throw Error(Cn+t);for(s=t.search(/p/i),s>0?(c=+t.slice(s+1),t=t.substring(2,s)):t=t.slice(2),s=t.indexOf("."),a=s>=0,r=i.constructor,a&&(t=t.replace(".",""),l=t.length,s=l-s,n=dc(r,new r(e),s,s*2)),h=Is(t,e,Wr),p=h.length-1,s=p;h[s]===0;--s)h.pop();return s<0?new r(i.s*0):(i.e=$s(h,p),i.d=h,St=!1,a&&(i=ce(i,n,l*4)),c&&(i=i.times(Math.abs(c)<54?$e(2,c):mi.pow(2,c))),St=!0,i)}function r_(i,t){var e,r=t.d.length;if(r<3)return t.isZero()?t:_i(i,2,t,t);e=1.4*Math.sqrt(r),e=e>16?16:e|0,t=t.times(1/Rs(5,e)),t=_i(i,2,t,t);for(var n,s=new i(5),a=new i(16),l=new i(20);e--;)n=t.times(t),t=t.times(s.plus(n.times(a.times(n).minus(l))));return t}function _i(i,t,e,r,n){var s,a,l,c,h=i.precision,p=Math.ceil(h/xt);for(St=!1,c=e.times(e),l=new i(r);;){if(a=ce(l.times(c),new i(t++*t++),h,1),l=n?r.plus(a):r.minus(a),r=ce(a.times(c),new i(t++*t++),h,1),a=l.plus(r),a.d[p]!==void 0){for(s=p;a.d[s]===l.d[s]&&s--;);if(s==-1)break}s=l,l=r,r=a,a=s}return St=!0,a.d.length=p+1,a}function Rs(i,t){for(var e=i;--t;)e*=i;return e}function vc(i,t){var e,r=t.s<0,n=jr(i,i.precision,1),s=n.times(.5);if(t=t.abs(),t.lte(s))return un=r?4:1,t;if(e=t.divToInt(n),e.isZero())un=r?3:2;else{if(t=t.minus(e.times(n)),t.lte(s))return un=_c(e)?r?2:3:r?4:1,t;un=_c(e)?r?1:4:r?3:2}return t.minus(n).abs()}function Aa(i,t,e,r){var n,s,a,l,c,h,p,f,d,g=i.constructor,w=e!==void 0;if(w?(or(e,1,An),r===void 0?r=g.rounding:or(r,0,8)):(e=g.precision,r=g.rounding),!i.isFinite())p=gc(i);else{for(p=Qr(i),a=p.indexOf("."),w?(n=2,t==16?e=e*4-3:t==8&&(e=e*3-2)):n=t,a>=0&&(p=p.replace(".",""),d=new g(1),d.e=p.length-a,d.d=Is(Qr(d),10,n),d.e=d.d.length),f=Is(p,10,n),s=c=f.length;f[--c]==0;)f.pop();if(!f[0])p=w?"0p+0":"0";else{if(a<0?s--:(i=new g(i),i.d=f,i.e=s,i=ce(i,d,e,r,0,n),f=i.d,s=i.e,h=uc),a=f[e],l=n/2,h=h||f[e+1]!==void 0,h=r<4?(a!==void 0||h)&&(r===0||r===(i.s<0?3:2)):a>l||a===l&&(r===4||h||r===6&&f[e-1]&1||r===(i.s<0?8:7)),f.length=e,h)for(;++f[--e]>n-1;)f[e]=0,e||(++s,f.unshift(1));for(c=f.length;!f[c-1];--c);for(a=0,p="";a<c;a++)p+=ya.charAt(f[a]);if(w){if(c>1)if(t==16||t==8){for(a=t==16?4:3,--c;c%a;c++)p+="0";for(f=Is(p,n,t),c=f.length;!f[c-1];--c);for(a=1,p="1.";a<c;a++)p+=ya.charAt(f[a])}else p=p.charAt(0)+"."+p.slice(1);p=p+(s<0?"p":"p+")+s}else if(s<0){for(;++s;)p="0"+p;p="0."+p}else if(++s>c)for(s-=c;s--;)p+="0";else s<c&&(p=p.slice(0,s)+"."+p.slice(s))}p=(t==16?"0x":t==2?"0b":t==8?"0o":"")+p}return i.s<0?"-"+p:p}function wc(i,t){if(i.length>t)return i.length=t,!0}function n_(i){return new this(i).abs()}function i_(i){return new this(i).acos()}function s_(i){return new this(i).acosh()}function o_(i,t){return new this(i).plus(t)}function a_(i){return new this(i).asin()}function u_(i){return new this(i).asinh()}function l_(i){return new this(i).atan()}function c_(i){return new this(i).atanh()}function f_(i,t){i=new this(i),t=new this(t);var e,r=this.precision,n=this.rounding,s=r+4;return!i.s||!t.s?e=new this(NaN):!i.d&&!t.d?(e=jr(this,s,1).times(t.s>0?.25:.75),e.s=i.s):!t.d||i.isZero()?(e=t.s<0?jr(this,r,n):new this(0),e.s=i.s):!i.d||t.isZero()?(e=jr(this,s,1).times(.5),e.s=i.s):t.s<0?(this.precision=s,this.rounding=1,e=this.atan(ce(i,t,s,1)),t=jr(this,s,1),this.precision=r,this.rounding=n,e=i.s<0?e.minus(t):e.plus(t)):e=this.atan(ce(i,t,s,1)),e}function h_(i){return new this(i).cbrt()}function p_(i){return Dt(i=new this(i),i.e+1,2)}function d_(i,t,e){return new this(i).clamp(t,e)}function __(i){if(!i||typeof i!="object")throw Error(Ts+"Object expected");var t,e,r,n=i.defaults===!0,s=["precision",1,An,"rounding",0,8,"toExpNeg",-di,0,"toExpPos",0,di,"maxE",0,di,"minE",-di,0,"modulo",0,9];for(t=0;t<s.length;t+=3)if(e=s[t],n&&(this[e]=Da[e]),(r=i[e])!==void 0)if(Ge(r)===r&&r>=s[t+1]&&r<=s[t+2])this[e]=r;else throw Error(Cn+e+": "+r);if(e="crypto",n&&(this[e]=Da[e]),(r=i[e])!==void 0)if(r===!0||r===!1||r===0||r===1)if(r)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[e]=!0;else throw Error(cc);else this[e]=!1;else throw Error(Cn+e+": "+r);return this}function m_(i){return new this(i).cos()}function g_(i){return new this(i).cosh()}function yc(i){var t,e,r;function n(s){var a,l,c,h=this;if(!(h instanceof n))return new n(s);if(h.constructor=n,Dc(s)){h.s=s.s,St?!s.d||s.e>n.maxE?(h.e=NaN,h.d=null):s.e<n.minE?(h.e=0,h.d=[0]):(h.e=s.e,h.d=s.d.slice()):(h.e=s.e,h.d=s.d?s.d.slice():s.d);return}if(c=typeof s,c==="number"){if(s===0){h.s=1/s<0?-1:1,h.e=0,h.d=[0];return}if(s<0?(s=-s,h.s=-1):h.s=1,s===~~s&&s<1e7){for(a=0,l=s;l>=10;l/=10)a++;St?a>n.maxE?(h.e=NaN,h.d=null):a<n.minE?(h.e=0,h.d=[0]):(h.e=a,h.d=[s]):(h.e=a,h.d=[s]);return}else if(s*0!==0){s||(h.s=NaN),h.e=NaN,h.d=null;return}return xa(h,s.toString())}else if(c!=="string")throw Error(Cn+s);return(l=s.charCodeAt(0))===45?(s=s.slice(1),h.s=-1):(l===43&&(s=s.slice(1)),h.s=1),hc.test(s)?xa(h,s):e_(h,s)}if(n.prototype=it,n.ROUND_UP=0,n.ROUND_DOWN=1,n.ROUND_CEIL=2,n.ROUND_FLOOR=3,n.ROUND_HALF_UP=4,n.ROUND_HALF_DOWN=5,n.ROUND_HALF_EVEN=6,n.ROUND_HALF_CEIL=7,n.ROUND_HALF_FLOOR=8,n.EUCLID=9,n.config=n.set=__,n.clone=yc,n.isDecimal=Dc,n.abs=n_,n.acos=i_,n.acosh=s_,n.add=o_,n.asin=a_,n.asinh=u_,n.atan=l_,n.atanh=c_,n.atan2=f_,n.cbrt=h_,n.ceil=p_,n.clamp=d_,n.cos=m_,n.cosh=g_,n.div=v_,n.exp=w_,n.floor=y_,n.hypot=D_,n.ln=b_,n.log=E_,n.log10=A_,n.log2=x_,n.max=C_,n.min=F_,n.mod=M_,n.mul=N_,n.pow=S_,n.random=B_,n.round=O_,n.sign=T_,n.sin=I_,n.sinh=$_,n.sqrt=L_,n.sub=R_,n.sum=P_,n.tan=z_,n.tanh=q_,n.trunc=k_,i===void 0&&(i={}),i&&i.defaults!==!0)for(r=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],t=0;t<r.length;)i.hasOwnProperty(e=r[t++])||(i[e]=this[e]);return n.config(i),n}function v_(i,t){return new this(i).div(t)}function w_(i){return new this(i).exp()}function y_(i){return Dt(i=new this(i),i.e+1,3)}function D_(){var i,t,e=new this(0);for(St=!1,i=0;i<arguments.length;)if(t=new this(arguments[i++]),t.d)e.d&&(e=e.plus(t.times(t)));else{if(t.s)return St=!0,new this(1/0);e=t}return St=!0,e.sqrt()}function Dc(i){return i instanceof mi||i&&i.toStringTag===fc||!1}function b_(i){return new this(i).ln()}function E_(i,t){return new this(i).log(t)}function x_(i){return new this(i).log(2)}function A_(i){return new this(i).log(10)}function C_(){return mc(this,arguments,"lt")}function F_(){return mc(this,arguments,"gt")}function M_(i,t){return new this(i).mod(t)}function N_(i,t){return new this(i).mul(t)}function S_(i,t){return new this(i).pow(t)}function B_(i){var t,e,r,n,s=0,a=new this(1),l=[];if(i===void 0?i=this.precision:or(i,1,An),r=Math.ceil(i/xt),this.crypto)if(crypto.getRandomValues)for(t=crypto.getRandomValues(new Uint32Array(r));s<r;)n=t[s],n>=429e7?t[s]=crypto.getRandomValues(new Uint32Array(1))[0]:l[s++]=n%1e7;else if(crypto.randomBytes){for(t=crypto.randomBytes(r*=4);s<r;)n=t[s]+(t[s+1]<<8)+(t[s+2]<<16)+((t[s+3]&127)<<24),n>=214e7?crypto.randomBytes(4).copy(t,s):(l.push(n%1e7),s+=4);s=r/4}else throw Error(cc);else for(;s<r;)l[s++]=Math.random()*1e7|0;for(r=l[--s],i%=xt,r&&i&&(n=$e(10,xt-i),l[s]=(r/n|0)*n);l[s]===0;s--)l.pop();if(s<0)e=0,l=[0];else{for(e=-1;l[0]===0;e-=xt)l.shift();for(r=1,n=l[0];n>=10;n/=10)r++;r<xt&&(e-=xt-r)}return a.e=e,a.d=l,a}function O_(i){return Dt(i=new this(i),i.e+1,this.rounding)}function T_(i){return i=new this(i),i.d?i.d[0]?i.s:0*i.s:i.s||NaN}function I_(i){return new this(i).sin()}function $_(i){return new this(i).sinh()}function L_(i){return new this(i).sqrt()}function R_(i,t){return new this(i).sub(t)}function P_(){var i=0,t=arguments,e=new this(t[i]);for(St=!1;e.s&&++i<t.length;)e=e.plus(t[i]);return St=!0,Dt(e,this.precision,this.rounding)}function z_(i){return new this(i).tan()}function q_(i){return new this(i).tanh()}function k_(i){return Dt(i=new this(i),i.e+1,1)}it[Symbol.for("nodejs.util.inspect.custom")]=it.toString,it[Symbol.toStringTag]="Decimal";var mi=it.constructor=yc(Da);Bs=new mi(Bs),Os=new mi(Os);var U_="BigNumber",W_=["?on","config"],j_=mt(U_,W_,i=>{var{on:t,config:e}=i,r=mi.clone({precision:e.precision,modulo:mi.EUCLID});return r.prototype=Object.create(r.prototype),r.prototype.type="BigNumber",r.prototype.isBigNumber=!0,r.prototype.toJSON=function(){return{mathjs:"BigNumber",value:this.toString()}},r.fromJSON=function(n){return new r(n.value)},t&&t("config",function(n,s){n.precision!==s.precision&&r.config({precision:n.precision})}),r},{isClass:!0}),bc={exports:{}};/**
40
+ */var di=9e15,An=1e9,wa="0123456789abcdef",Bs="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",Os="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",Da={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-di,maxE:di,crypto:!1},uc,un,St=!0,Ts="[DecimalError] ",Cn=Ts+"Invalid argument: ",lc=Ts+"Precision limit exceeded",cc=Ts+"crypto unavailable",fc="[object Decimal]",Ge=Math.floor,$e=Math.pow,Kd=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,Hd=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,Jd=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,hc=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,Wr=1e7,xt=7,Xd=9007199254740991,Qd=Bs.length-1,ba=Os.length-1,it={toStringTag:fc};it.absoluteValue=it.abs=function(){var i=new this.constructor(this);return i.s<0&&(i.s=1),Dt(i)},it.ceil=function(){return Dt(new this.constructor(this),this.e+1,2)},it.clampedTo=it.clamp=function(i,t){var e,r=this,n=r.constructor;if(i=new n(i),t=new n(t),!i.s||!t.s)return new n(NaN);if(i.gt(t))throw Error(Cn+t);return e=r.cmp(i),e<0?i:r.cmp(t)>0?t:new n(r)},it.comparedTo=it.cmp=function(i){var t,e,r,n,s=this,a=s.d,l=(i=new s.constructor(i)).d,c=s.s,h=i.s;if(!a||!l)return!c||!h?NaN:c!==h?c:a===l?0:!a^c<0?1:-1;if(!a[0]||!l[0])return a[0]?c:l[0]?-h:0;if(c!==h)return c;if(s.e!==i.e)return s.e>i.e^c<0?1:-1;for(r=a.length,n=l.length,t=0,e=r<n?r:n;t<e;++t)if(a[t]!==l[t])return a[t]>l[t]^c<0?1:-1;return r===n?0:r>n^c<0?1:-1},it.cosine=it.cos=function(){var i,t,e=this,r=e.constructor;return e.d?e.d[0]?(i=r.precision,t=r.rounding,r.precision=i+Math.max(e.e,e.sd())+xt,r.rounding=1,e=t_(r,vc(r,e)),r.precision=i,r.rounding=t,Dt(un==2||un==3?e.neg():e,i,t,!0)):new r(1):new r(NaN)},it.cubeRoot=it.cbrt=function(){var i,t,e,r,n,s,a,l,c,h,p=this,f=p.constructor;if(!p.isFinite()||p.isZero())return new f(p);for(St=!1,s=p.s*$e(p.s*p,1/3),!s||Math.abs(s)==1/0?(e=We(p.d),i=p.e,(s=(i-e.length+1)%3)&&(e+=s==1||s==-2?"0":"00"),s=$e(e,1/3),i=Ge((i+1)/3)-(i%3==(i<0?-1:2)),s==1/0?e="5e"+i:(e=s.toExponential(),e=e.slice(0,e.indexOf("e")+1)+i),r=new f(e),r.s=p.s):r=new f(s.toString()),a=(i=f.precision)+3;;)if(l=r,c=l.times(l).times(l),h=c.plus(p),r=ce(h.plus(p).times(l),h.plus(c),a+2,1),We(l.d).slice(0,a)===(e=We(r.d)).slice(0,a))if(e=e.slice(a-3,a+1),e=="9999"||!n&&e=="4999"){if(!n&&(Dt(l,i+1,0),l.times(l).times(l).eq(p))){r=l;break}a+=4,n=1}else{(!+e||!+e.slice(1)&&e.charAt(0)=="5")&&(Dt(r,i+1,1),t=!r.times(r).times(r).eq(p));break}return St=!0,Dt(r,i,f.rounding,t)},it.decimalPlaces=it.dp=function(){var i,t=this.d,e=NaN;if(t){if(i=t.length-1,e=(i-Ge(this.e/xt))*xt,i=t[i],i)for(;i%10==0;i/=10)e--;e<0&&(e=0)}return e},it.dividedBy=it.div=function(i){return ce(this,new this.constructor(i))},it.dividedToIntegerBy=it.divToInt=function(i){var t=this,e=t.constructor;return Dt(ce(t,new e(i),0,1,1),e.precision,e.rounding)},it.equals=it.eq=function(i){return this.cmp(i)===0},it.floor=function(){return Dt(new this.constructor(this),this.e+1,3)},it.greaterThan=it.gt=function(i){return this.cmp(i)>0},it.greaterThanOrEqualTo=it.gte=function(i){var t=this.cmp(i);return t==1||t===0},it.hyperbolicCosine=it.cosh=function(){var i,t,e,r,n,s=this,a=s.constructor,l=new a(1);if(!s.isFinite())return new a(s.s?1/0:NaN);if(s.isZero())return l;e=a.precision,r=a.rounding,a.precision=e+Math.max(s.e,s.sd())+4,a.rounding=1,n=s.d.length,n<32?(i=Math.ceil(n/3),t=(1/Rs(4,i)).toString()):(i=16,t="2.3283064365386962890625e-10"),s=_i(a,1,s.times(t),new a(1),!0);for(var c,h=i,p=new a(8);h--;)c=s.times(s),s=l.minus(c.times(p.minus(c.times(p))));return Dt(s,a.precision=e,a.rounding=r,!0)},it.hyperbolicSine=it.sinh=function(){var i,t,e,r,n=this,s=n.constructor;if(!n.isFinite()||n.isZero())return new s(n);if(t=s.precision,e=s.rounding,s.precision=t+Math.max(n.e,n.sd())+4,s.rounding=1,r=n.d.length,r<3)n=_i(s,2,n,n,!0);else{i=1.4*Math.sqrt(r),i=i>16?16:i|0,n=n.times(1/Rs(5,i)),n=_i(s,2,n,n,!0);for(var a,l=new s(5),c=new s(16),h=new s(20);i--;)a=n.times(n),n=n.times(l.plus(a.times(c.times(a).plus(h))))}return s.precision=t,s.rounding=e,Dt(n,t,e,!0)},it.hyperbolicTangent=it.tanh=function(){var i,t,e=this,r=e.constructor;return e.isFinite()?e.isZero()?new r(e):(i=r.precision,t=r.rounding,r.precision=i+7,r.rounding=1,ce(e.sinh(),e.cosh(),r.precision=i,r.rounding=t)):new r(e.s)},it.inverseCosine=it.acos=function(){var i,t=this,e=t.constructor,r=t.abs().cmp(1),n=e.precision,s=e.rounding;return r!==-1?r===0?t.isNeg()?jr(e,n,s):new e(0):new e(NaN):t.isZero()?jr(e,n+4,s).times(.5):(e.precision=n+6,e.rounding=1,t=t.asin(),i=jr(e,n+4,s).times(.5),e.precision=n,e.rounding=s,i.minus(t))},it.inverseHyperbolicCosine=it.acosh=function(){var i,t,e=this,r=e.constructor;return e.lte(1)?new r(e.eq(1)?0:NaN):e.isFinite()?(i=r.precision,t=r.rounding,r.precision=i+Math.max(Math.abs(e.e),e.sd())+4,r.rounding=1,St=!1,e=e.times(e).minus(1).sqrt().plus(e),St=!0,r.precision=i,r.rounding=t,e.ln()):new r(e)},it.inverseHyperbolicSine=it.asinh=function(){var i,t,e=this,r=e.constructor;return!e.isFinite()||e.isZero()?new r(e):(i=r.precision,t=r.rounding,r.precision=i+2*Math.max(Math.abs(e.e),e.sd())+6,r.rounding=1,St=!1,e=e.times(e).plus(1).sqrt().plus(e),St=!0,r.precision=i,r.rounding=t,e.ln())},it.inverseHyperbolicTangent=it.atanh=function(){var i,t,e,r,n=this,s=n.constructor;return n.isFinite()?n.e>=0?new s(n.abs().eq(1)?n.s/0:n.isZero()?n:NaN):(i=s.precision,t=s.rounding,r=n.sd(),Math.max(r,i)<2*-n.e-1?Dt(new s(n),i,t,!0):(s.precision=e=r-n.e,n=ce(n.plus(1),new s(1).minus(n),e+i,1),s.precision=i+4,s.rounding=1,n=n.ln(),s.precision=i,s.rounding=t,n.times(.5))):new s(NaN)},it.inverseSine=it.asin=function(){var i,t,e,r,n=this,s=n.constructor;return n.isZero()?new s(n):(t=n.abs().cmp(1),e=s.precision,r=s.rounding,t!==-1?t===0?(i=jr(s,e+4,r).times(.5),i.s=n.s,i):new s(NaN):(s.precision=e+6,s.rounding=1,n=n.div(new s(1).minus(n.times(n)).sqrt().plus(1)).atan(),s.precision=e,s.rounding=r,n.times(2)))},it.inverseTangent=it.atan=function(){var i,t,e,r,n,s,a,l,c,h=this,p=h.constructor,f=p.precision,d=p.rounding;if(h.isFinite()){if(h.isZero())return new p(h);if(h.abs().eq(1)&&f+4<=ba)return a=jr(p,f+4,d).times(.25),a.s=h.s,a}else{if(!h.s)return new p(NaN);if(f+4<=ba)return a=jr(p,f+4,d).times(.5),a.s=h.s,a}for(p.precision=l=f+10,p.rounding=1,e=Math.min(28,l/xt+2|0),i=e;i;--i)h=h.div(h.times(h).plus(1).sqrt().plus(1));for(St=!1,t=Math.ceil(l/xt),r=1,c=h.times(h),a=new p(h),n=h;i!==-1;)if(n=n.times(c),s=a.minus(n.div(r+=2)),n=n.times(c),a=s.plus(n.div(r+=2)),a.d[t]!==void 0)for(i=t;a.d[i]===s.d[i]&&i--;);return e&&(a=a.times(2<<e-1)),St=!0,Dt(a,p.precision=f,p.rounding=d,!0)},it.isFinite=function(){return!!this.d},it.isInteger=it.isInt=function(){return!!this.d&&Ge(this.e/xt)>this.d.length-2},it.isNaN=function(){return!this.s},it.isNegative=it.isNeg=function(){return this.s<0},it.isPositive=it.isPos=function(){return this.s>0},it.isZero=function(){return!!this.d&&this.d[0]===0},it.lessThan=it.lt=function(i){return this.cmp(i)<0},it.lessThanOrEqualTo=it.lte=function(i){return this.cmp(i)<1},it.logarithm=it.log=function(i){var t,e,r,n,s,a,l,c,h=this,p=h.constructor,f=p.precision,d=p.rounding,g=5;if(i==null)i=new p(10),t=!0;else{if(i=new p(i),e=i.d,i.s<0||!e||!e[0]||i.eq(1))return new p(NaN);t=i.eq(10)}if(e=h.d,h.s<0||!e||!e[0]||h.eq(1))return new p(e&&!e[0]?-1/0:h.s!=1?NaN:e?0:1/0);if(t)if(e.length>1)s=!0;else{for(n=e[0];n%10===0;)n/=10;s=n!==1}if(St=!1,l=f+g,a=Mn(h,l),r=t?Ls(p,l+10):Mn(i,l),c=ce(a,r,l,1),Zi(c.d,n=f,d))do if(l+=10,a=Mn(h,l),r=t?Ls(p,l+10):Mn(i,l),c=ce(a,r,l,1),!s){+We(c.d).slice(n+1,n+15)+1==1e14&&(c=Dt(c,f+1,0));break}while(Zi(c.d,n+=10,d));return St=!0,Dt(c,f,d)},it.minus=it.sub=function(i){var t,e,r,n,s,a,l,c,h,p,f,d,g=this,y=g.constructor;if(i=new y(i),!g.d||!i.d)return!g.s||!i.s?i=new y(NaN):g.d?i.s=-i.s:i=new y(i.d||g.s!==i.s?g:NaN),i;if(g.s!=i.s)return i.s=-i.s,g.plus(i);if(h=g.d,d=i.d,l=y.precision,c=y.rounding,!h[0]||!d[0]){if(d[0])i.s=-i.s;else if(h[0])i=new y(g);else return new y(c===3?-0:0);return St?Dt(i,l,c):i}if(e=Ge(i.e/xt),p=Ge(g.e/xt),h=h.slice(),s=p-e,s){for(f=s<0,f?(t=h,s=-s,a=d.length):(t=d,e=p,a=h.length),r=Math.max(Math.ceil(l/xt),a)+2,s>r&&(s=r,t.length=1),t.reverse(),r=s;r--;)t.push(0);t.reverse()}else{for(r=h.length,a=d.length,f=r<a,f&&(a=r),r=0;r<a;r++)if(h[r]!=d[r]){f=h[r]<d[r];break}s=0}for(f&&(t=h,h=d,d=t,i.s=-i.s),a=h.length,r=d.length-a;r>0;--r)h[a++]=0;for(r=d.length;r>s;){if(h[--r]<d[r]){for(n=r;n&&h[--n]===0;)h[n]=Wr-1;--h[n],h[r]+=Wr}h[r]-=d[r]}for(;h[--a]===0;)h.pop();for(;h[0]===0;h.shift())--e;return h[0]?(i.d=h,i.e=$s(h,e),St?Dt(i,l,c):i):new y(c===3?-0:0)},it.modulo=it.mod=function(i){var t,e=this,r=e.constructor;return i=new r(i),!e.d||!i.s||i.d&&!i.d[0]?new r(NaN):!i.d||e.d&&!e.d[0]?Dt(new r(e),r.precision,r.rounding):(St=!1,r.modulo==9?(t=ce(e,i.abs(),0,3,1),t.s*=i.s):t=ce(e,i,0,r.modulo,1),t=t.times(i),St=!0,e.minus(t))},it.naturalExponential=it.exp=function(){return Ea(this)},it.naturalLogarithm=it.ln=function(){return Mn(this)},it.negated=it.neg=function(){var i=new this.constructor(this);return i.s=-i.s,Dt(i)},it.plus=it.add=function(i){var t,e,r,n,s,a,l,c,h,p,f=this,d=f.constructor;if(i=new d(i),!f.d||!i.d)return!f.s||!i.s?i=new d(NaN):f.d||(i=new d(i.d||f.s===i.s?f:NaN)),i;if(f.s!=i.s)return i.s=-i.s,f.minus(i);if(h=f.d,p=i.d,l=d.precision,c=d.rounding,!h[0]||!p[0])return p[0]||(i=new d(f)),St?Dt(i,l,c):i;if(s=Ge(f.e/xt),r=Ge(i.e/xt),h=h.slice(),n=s-r,n){for(n<0?(e=h,n=-n,a=p.length):(e=p,r=s,a=h.length),s=Math.ceil(l/xt),a=s>a?s+1:a+1,n>a&&(n=a,e.length=1),e.reverse();n--;)e.push(0);e.reverse()}for(a=h.length,n=p.length,a-n<0&&(n=a,e=p,p=h,h=e),t=0;n;)t=(h[--n]=h[n]+p[n]+t)/Wr|0,h[n]%=Wr;for(t&&(h.unshift(t),++r),a=h.length;h[--a]==0;)h.pop();return i.d=h,i.e=$s(h,r),St?Dt(i,l,c):i},it.precision=it.sd=function(i){var t,e=this;if(i!==void 0&&i!==!!i&&i!==1&&i!==0)throw Error(Cn+i);return e.d?(t=pc(e.d),i&&e.e+1>t&&(t=e.e+1)):t=NaN,t},it.round=function(){var i=this,t=i.constructor;return Dt(new t(i),i.e+1,t.rounding)},it.sine=it.sin=function(){var i,t,e=this,r=e.constructor;return e.isFinite()?e.isZero()?new r(e):(i=r.precision,t=r.rounding,r.precision=i+Math.max(e.e,e.sd())+xt,r.rounding=1,e=r_(r,vc(r,e)),r.precision=i,r.rounding=t,Dt(un>2?e.neg():e,i,t,!0)):new r(NaN)},it.squareRoot=it.sqrt=function(){var i,t,e,r,n,s,a=this,l=a.d,c=a.e,h=a.s,p=a.constructor;if(h!==1||!l||!l[0])return new p(!h||h<0&&(!l||l[0])?NaN:l?a:1/0);for(St=!1,h=Math.sqrt(+a),h==0||h==1/0?(t=We(l),(t.length+c)%2==0&&(t+="0"),h=Math.sqrt(t),c=Ge((c+1)/2)-(c<0||c%2),h==1/0?t="5e"+c:(t=h.toExponential(),t=t.slice(0,t.indexOf("e")+1)+c),r=new p(t)):r=new p(h.toString()),e=(c=p.precision)+3;;)if(s=r,r=s.plus(ce(a,s,e+2,1)).times(.5),We(s.d).slice(0,e)===(t=We(r.d)).slice(0,e))if(t=t.slice(e-3,e+1),t=="9999"||!n&&t=="4999"){if(!n&&(Dt(s,c+1,0),s.times(s).eq(a))){r=s;break}e+=4,n=1}else{(!+t||!+t.slice(1)&&t.charAt(0)=="5")&&(Dt(r,c+1,1),i=!r.times(r).eq(a));break}return St=!0,Dt(r,c,p.rounding,i)},it.tangent=it.tan=function(){var i,t,e=this,r=e.constructor;return e.isFinite()?e.isZero()?new r(e):(i=r.precision,t=r.rounding,r.precision=i+10,r.rounding=1,e=e.sin(),e.s=1,e=ce(e,new r(1).minus(e.times(e)).sqrt(),i+10,0),r.precision=i,r.rounding=t,Dt(un==2||un==4?e.neg():e,i,t,!0)):new r(NaN)},it.times=it.mul=function(i){var t,e,r,n,s,a,l,c,h,p=this,f=p.constructor,d=p.d,g=(i=new f(i)).d;if(i.s*=p.s,!d||!d[0]||!g||!g[0])return new f(!i.s||d&&!d[0]&&!g||g&&!g[0]&&!d?NaN:!d||!g?i.s/0:i.s*0);for(e=Ge(p.e/xt)+Ge(i.e/xt),c=d.length,h=g.length,c<h&&(s=d,d=g,g=s,a=c,c=h,h=a),s=[],a=c+h,r=a;r--;)s.push(0);for(r=h;--r>=0;){for(t=0,n=c+r;n>r;)l=s[n]+g[r]*d[n-r-1]+t,s[n--]=l%Wr|0,t=l/Wr|0;s[n]=(s[n]+t)%Wr|0}for(;!s[--a];)s.pop();return t?++e:s.shift(),i.d=s,i.e=$s(s,e),St?Dt(i,f.precision,f.rounding):i},it.toBinary=function(i,t){return Aa(this,2,i,t)},it.toDecimalPlaces=it.toDP=function(i,t){var e=this,r=e.constructor;return e=new r(e),i===void 0?e:(or(i,0,An),t===void 0?t=r.rounding:or(t,0,8),Dt(e,i+e.e+1,t))},it.toExponential=function(i,t){var e,r=this,n=r.constructor;return i===void 0?e=Qr(r,!0):(or(i,0,An),t===void 0?t=n.rounding:or(t,0,8),r=Dt(new n(r),i+1,t),e=Qr(r,!0,i+1)),r.isNeg()&&!r.isZero()?"-"+e:e},it.toFixed=function(i,t){var e,r,n=this,s=n.constructor;return i===void 0?e=Qr(n):(or(i,0,An),t===void 0?t=s.rounding:or(t,0,8),r=Dt(new s(n),i+n.e+1,t),e=Qr(r,!1,i+r.e+1)),n.isNeg()&&!n.isZero()?"-"+e:e},it.toFraction=function(i){var t,e,r,n,s,a,l,c,h,p,f,d,g=this,y=g.d,m=g.constructor;if(!y)return new m(g);if(h=e=new m(1),r=c=new m(0),t=new m(r),s=t.e=pc(y)-g.e-1,a=s%xt,t.d[0]=$e(10,a<0?xt+a:a),i==null)i=s>0?t:h;else{if(l=new m(i),!l.isInt()||l.lt(h))throw Error(Cn+l);i=l.gt(t)?s>0?t:h:l}for(St=!1,l=new m(We(y)),p=m.precision,m.precision=s=y.length*xt*2;f=ce(l,t,0,1,1),n=e.plus(f.times(r)),n.cmp(i)!=1;)e=r,r=n,n=h,h=c.plus(f.times(n)),c=n,n=t,t=l.minus(f.times(n)),l=n;return n=ce(i.minus(e),r,0,1,1),c=c.plus(n.times(h)),e=e.plus(n.times(r)),c.s=h.s=g.s,d=ce(h,r,s,1).minus(g).abs().cmp(ce(c,e,s,1).minus(g).abs())<1?[h,r]:[c,e],m.precision=p,St=!0,d},it.toHexadecimal=it.toHex=function(i,t){return Aa(this,16,i,t)},it.toNearest=function(i,t){var e=this,r=e.constructor;if(e=new r(e),i==null){if(!e.d)return e;i=new r(1),t=r.rounding}else{if(i=new r(i),t===void 0?t=r.rounding:or(t,0,8),!e.d)return i.s?e:i;if(!i.d)return i.s&&(i.s=e.s),i}return i.d[0]?(St=!1,e=ce(e,i,0,t,1).times(i),St=!0,Dt(e)):(i.s=e.s,e=i),e},it.toNumber=function(){return+this},it.toOctal=function(i,t){return Aa(this,8,i,t)},it.toPower=it.pow=function(i){var t,e,r,n,s,a,l=this,c=l.constructor,h=+(i=new c(i));if(!l.d||!i.d||!l.d[0]||!i.d[0])return new c($e(+l,h));if(l=new c(l),l.eq(1))return l;if(r=c.precision,s=c.rounding,i.eq(1))return Dt(l,r,s);if(t=Ge(i.e/xt),t>=i.d.length-1&&(e=h<0?-h:h)<=Xd)return n=dc(c,l,e,r),i.s<0?new c(1).div(n):Dt(n,r,s);if(a=l.s,a<0){if(t<i.d.length-1)return new c(NaN);if(i.d[t]&1||(a=1),l.e==0&&l.d[0]==1&&l.d.length==1)return l.s=a,l}return e=$e(+l,h),t=e==0||!isFinite(e)?Ge(h*(Math.log("0."+We(l.d))/Math.LN10+l.e+1)):new c(e+"").e,t>c.maxE+1||t<c.minE-1?new c(t>0?a/0:0):(St=!1,c.rounding=l.s=1,e=Math.min(12,(t+"").length),n=Ea(i.times(Mn(l,r+e)),r),n.d&&(n=Dt(n,r+5,1),Zi(n.d,r,s)&&(t=r+10,n=Dt(Ea(i.times(Mn(l,t+e)),t),t+5,1),+We(n.d).slice(r+1,r+15)+1==1e14&&(n=Dt(n,r+1,0)))),n.s=a,St=!0,c.rounding=s,Dt(n,r,s))},it.toPrecision=function(i,t){var e,r=this,n=r.constructor;return i===void 0?e=Qr(r,r.e<=n.toExpNeg||r.e>=n.toExpPos):(or(i,1,An),t===void 0?t=n.rounding:or(t,0,8),r=Dt(new n(r),i,t),e=Qr(r,i<=r.e||r.e<=n.toExpNeg,i)),r.isNeg()&&!r.isZero()?"-"+e:e},it.toSignificantDigits=it.toSD=function(i,t){var e=this,r=e.constructor;return i===void 0?(i=r.precision,t=r.rounding):(or(i,1,An),t===void 0?t=r.rounding:or(t,0,8)),Dt(new r(e),i,t)},it.toString=function(){var i=this,t=i.constructor,e=Qr(i,i.e<=t.toExpNeg||i.e>=t.toExpPos);return i.isNeg()&&!i.isZero()?"-"+e:e},it.truncated=it.trunc=function(){return Dt(new this.constructor(this),this.e+1,1)},it.valueOf=it.toJSON=function(){var i=this,t=i.constructor,e=Qr(i,i.e<=t.toExpNeg||i.e>=t.toExpPos);return i.isNeg()?"-"+e:e};function We(i){var t,e,r,n=i.length-1,s="",a=i[0];if(n>0){for(s+=a,t=1;t<n;t++)r=i[t]+"",e=xt-r.length,e&&(s+=Fn(e)),s+=r;a=i[t],r=a+"",e=xt-r.length,e&&(s+=Fn(e))}else if(a===0)return"0";for(;a%10===0;)a/=10;return s+a}function or(i,t,e){if(i!==~~i||i<t||i>e)throw Error(Cn+i)}function Zi(i,t,e,r){var n,s,a,l;for(s=i[0];s>=10;s/=10)--t;return--t<0?(t+=xt,n=0):(n=Math.ceil((t+1)/xt),t%=xt),s=$e(10,xt-t),l=i[n]%s|0,r==null?t<3?(t==0?l=l/100|0:t==1&&(l=l/10|0),a=e<4&&l==99999||e>3&&l==49999||l==5e4||l==0):a=(e<4&&l+1==s||e>3&&l+1==s/2)&&(i[n+1]/s/100|0)==$e(10,t-2)-1||(l==s/2||l==0)&&(i[n+1]/s/100|0)==0:t<4?(t==0?l=l/1e3|0:t==1?l=l/100|0:t==2&&(l=l/10|0),a=(r||e<4)&&l==9999||!r&&e>3&&l==4999):a=((r||e<4)&&l+1==s||!r&&e>3&&l+1==s/2)&&(i[n+1]/s/1e3|0)==$e(10,t-3)-1,a}function Is(i,t,e){for(var r,n=[0],s,a=0,l=i.length;a<l;){for(s=n.length;s--;)n[s]*=t;for(n[0]+=wa.indexOf(i.charAt(a++)),r=0;r<n.length;r++)n[r]>e-1&&(n[r+1]===void 0&&(n[r+1]=0),n[r+1]+=n[r]/e|0,n[r]%=e)}return n.reverse()}function t_(i,t){var e,r,n;if(t.isZero())return t;r=t.d.length,r<32?(e=Math.ceil(r/3),n=(1/Rs(4,e)).toString()):(e=16,n="2.3283064365386962890625e-10"),i.precision+=e,t=_i(i,1,t.times(n),new i(1));for(var s=e;s--;){var a=t.times(t);t=a.times(a).minus(a).times(8).plus(1)}return i.precision-=e,t}var ce=function(){function i(r,n,s){var a,l=0,c=r.length;for(r=r.slice();c--;)a=r[c]*n+l,r[c]=a%s|0,l=a/s|0;return l&&r.unshift(l),r}function t(r,n,s,a){var l,c;if(s!=a)c=s>a?1:-1;else for(l=c=0;l<s;l++)if(r[l]!=n[l]){c=r[l]>n[l]?1:-1;break}return c}function e(r,n,s,a){for(var l=0;s--;)r[s]-=l,l=r[s]<n[s]?1:0,r[s]=l*a+r[s]-n[s];for(;!r[0]&&r.length>1;)r.shift()}return function(r,n,s,a,l,c){var h,p,f,d,g,y,m,D,v,E,b,N,x,F,M,S,I,C,O,L,U=r.constructor,k=r.s==n.s?1:-1,W=r.d,P=n.d;if(!W||!W[0]||!P||!P[0])return new U(!r.s||!n.s||(W?P&&W[0]==P[0]:!P)?NaN:W&&W[0]==0||!P?k*0:k/0);for(c?(g=1,p=r.e-n.e):(c=Wr,g=xt,p=Ge(r.e/g)-Ge(n.e/g)),O=P.length,I=W.length,v=new U(k),E=v.d=[],f=0;P[f]==(W[f]||0);f++);if(P[f]>(W[f]||0)&&p--,s==null?(F=s=U.precision,a=U.rounding):l?F=s+(r.e-n.e)+1:F=s,F<0)E.push(1),y=!0;else{if(F=F/g+2|0,f=0,O==1){for(d=0,P=P[0],F++;(f<I||d)&&F--;f++)M=d*c+(W[f]||0),E[f]=M/P|0,d=M%P|0;y=d||f<I}else{for(d=c/(P[0]+1)|0,d>1&&(P=i(P,d,c),W=i(W,d,c),O=P.length,I=W.length),S=O,b=W.slice(0,O),N=b.length;N<O;)b[N++]=0;L=P.slice(),L.unshift(0),C=P[0],P[1]>=c/2&&++C;do d=0,h=t(P,b,O,N),h<0?(x=b[0],O!=N&&(x=x*c+(b[1]||0)),d=x/C|0,d>1?(d>=c&&(d=c-1),m=i(P,d,c),D=m.length,N=b.length,h=t(m,b,D,N),h==1&&(d--,e(m,O<D?L:P,D,c))):(d==0&&(h=d=1),m=P.slice()),D=m.length,D<N&&m.unshift(0),e(b,m,N,c),h==-1&&(N=b.length,h=t(P,b,O,N),h<1&&(d++,e(b,O<N?L:P,N,c))),N=b.length):h===0&&(d++,b=[0]),E[f++]=d,h&&b[0]?b[N++]=W[S]||0:(b=[W[S]],N=1);while((S++<I||b[0]!==void 0)&&F--);y=b[0]!==void 0}E[0]||E.shift()}if(g==1)v.e=p,uc=y;else{for(f=1,d=E[0];d>=10;d/=10)f++;v.e=f+p*g-1,Dt(v,l?s+v.e+1:s,a,y)}return v}}();function Dt(i,t,e,r){var n,s,a,l,c,h,p,f,d,g=i.constructor;t:if(t!=null){if(f=i.d,!f)return i;for(n=1,l=f[0];l>=10;l/=10)n++;if(s=t-n,s<0)s+=xt,a=t,p=f[d=0],c=p/$e(10,n-a-1)%10|0;else if(d=Math.ceil((s+1)/xt),l=f.length,d>=l)if(r){for(;l++<=d;)f.push(0);p=c=0,n=1,s%=xt,a=s-xt+1}else break t;else{for(p=l=f[d],n=1;l>=10;l/=10)n++;s%=xt,a=s-xt+n,c=a<0?0:p/$e(10,n-a-1)%10|0}if(r=r||t<0||f[d+1]!==void 0||(a<0?p:p%$e(10,n-a-1)),h=e<4?(c||r)&&(e==0||e==(i.s<0?3:2)):c>5||c==5&&(e==4||r||e==6&&(s>0?a>0?p/$e(10,n-a):0:f[d-1])%10&1||e==(i.s<0?8:7)),t<1||!f[0])return f.length=0,h?(t-=i.e+1,f[0]=$e(10,(xt-t%xt)%xt),i.e=-t||0):f[0]=i.e=0,i;if(s==0?(f.length=d,l=1,d--):(f.length=d+1,l=$e(10,xt-s),f[d]=a>0?(p/$e(10,n-a)%$e(10,a)|0)*l:0),h)for(;;)if(d==0){for(s=1,a=f[0];a>=10;a/=10)s++;for(a=f[0]+=l,l=1;a>=10;a/=10)l++;s!=l&&(i.e++,f[0]==Wr&&(f[0]=1));break}else{if(f[d]+=l,f[d]!=Wr)break;f[d--]=0,l=1}for(s=f.length;f[--s]===0;)f.pop()}return St&&(i.e>g.maxE?(i.d=null,i.e=NaN):i.e<g.minE&&(i.e=0,i.d=[0])),i}function Qr(i,t,e){if(!i.isFinite())return gc(i);var r,n=i.e,s=We(i.d),a=s.length;return t?(e&&(r=e-a)>0?s=s.charAt(0)+"."+s.slice(1)+Fn(r):a>1&&(s=s.charAt(0)+"."+s.slice(1)),s=s+(i.e<0?"e":"e+")+i.e):n<0?(s="0."+Fn(-n-1)+s,e&&(r=e-a)>0&&(s+=Fn(r))):n>=a?(s+=Fn(n+1-a),e&&(r=e-n-1)>0&&(s=s+"."+Fn(r))):((r=n+1)<a&&(s=s.slice(0,r)+"."+s.slice(r)),e&&(r=e-a)>0&&(n+1===a&&(s+="."),s+=Fn(r))),s}function $s(i,t){var e=i[0];for(t*=xt;e>=10;e/=10)t++;return t}function Ls(i,t,e){if(t>Qd)throw St=!0,e&&(i.precision=e),Error(lc);return Dt(new i(Bs),t,1,!0)}function jr(i,t,e){if(t>ba)throw Error(lc);return Dt(new i(Os),t,e,!0)}function pc(i){var t=i.length-1,e=t*xt+1;if(t=i[t],t){for(;t%10==0;t/=10)e--;for(t=i[0];t>=10;t/=10)e++}return e}function Fn(i){for(var t="";i--;)t+="0";return t}function dc(i,t,e,r){var n,s=new i(1),a=Math.ceil(r/xt+4);for(St=!1;;){if(e%2&&(s=s.times(t),yc(s.d,a)&&(n=!0)),e=Ge(e/2),e===0){e=s.d.length-1,n&&s.d[e]===0&&++s.d[e];break}t=t.times(t),yc(t.d,a)}return St=!0,s}function _c(i){return i.d[i.d.length-1]&1}function mc(i,t,e){for(var r,n=new i(t[0]),s=0;++s<t.length;)if(r=new i(t[s]),r.s)n[e](r)&&(n=r);else{n=r;break}return n}function Ea(i,t){var e,r,n,s,a,l,c,h=0,p=0,f=0,d=i.constructor,g=d.rounding,y=d.precision;if(!i.d||!i.d[0]||i.e>17)return new d(i.d?i.d[0]?i.s<0?0:1/0:1:i.s?i.s<0?0:i:NaN);for(t==null?(St=!1,c=y):c=t,l=new d(.03125);i.e>-2;)i=i.times(l),f+=5;for(r=Math.log($e(2,f))/Math.LN10*2+5|0,c+=r,e=s=a=new d(1),d.precision=c;;){if(s=Dt(s.times(i),c,1),e=e.times(++p),l=a.plus(ce(s,e,c,1)),We(l.d).slice(0,c)===We(a.d).slice(0,c)){for(n=f;n--;)a=Dt(a.times(a),c,1);if(t==null)if(h<3&&Zi(a.d,c-r,g,h))d.precision=c+=10,e=s=l=new d(1),p=0,h++;else return Dt(a,d.precision=y,g,St=!0);else return d.precision=y,a}a=l}}function Mn(i,t){var e,r,n,s,a,l,c,h,p,f,d,g=1,y=10,m=i,D=m.d,v=m.constructor,E=v.rounding,b=v.precision;if(m.s<0||!D||!D[0]||!m.e&&D[0]==1&&D.length==1)return new v(D&&!D[0]?-1/0:m.s!=1?NaN:D?0:m);if(t==null?(St=!1,p=b):p=t,v.precision=p+=y,e=We(D),r=e.charAt(0),Math.abs(s=m.e)<15e14){for(;r<7&&r!=1||r==1&&e.charAt(1)>3;)m=m.times(i),e=We(m.d),r=e.charAt(0),g++;s=m.e,r>1?(m=new v("0."+e),s++):m=new v(r+"."+e.slice(1))}else return h=Ls(v,p+2,b).times(s+""),m=Mn(new v(r+"."+e.slice(1)),p-y).plus(h),v.precision=b,t==null?Dt(m,b,E,St=!0):m;for(f=m,c=a=m=ce(m.minus(1),m.plus(1),p,1),d=Dt(m.times(m),p,1),n=3;;){if(a=Dt(a.times(d),p,1),h=c.plus(ce(a,new v(n),p,1)),We(h.d).slice(0,p)===We(c.d).slice(0,p))if(c=c.times(2),s!==0&&(c=c.plus(Ls(v,p+2,b).times(s+""))),c=ce(c,new v(g),p,1),t==null)if(Zi(c.d,p-y,E,l))v.precision=p+=y,h=a=m=ce(f.minus(1),f.plus(1),p,1),d=Dt(m.times(m),p,1),n=l=1;else return Dt(c,v.precision=b,E,St=!0);else return v.precision=b,c;c=h,n+=2}}function gc(i){return String(i.s*i.s/0)}function xa(i,t){var e,r,n;for((e=t.indexOf("."))>-1&&(t=t.replace(".","")),(r=t.search(/e/i))>0?(e<0&&(e=r),e+=+t.slice(r+1),t=t.substring(0,r)):e<0&&(e=t.length),r=0;t.charCodeAt(r)===48;r++);for(n=t.length;t.charCodeAt(n-1)===48;--n);if(t=t.slice(r,n),t){if(n-=r,i.e=e=e-r-1,i.d=[],r=(e+1)%xt,e<0&&(r+=xt),r<n){for(r&&i.d.push(+t.slice(0,r)),n-=xt;r<n;)i.d.push(+t.slice(r,r+=xt));t=t.slice(r),r=xt-t.length}else r-=n;for(;r--;)t+="0";i.d.push(+t),St&&(i.e>i.constructor.maxE?(i.d=null,i.e=NaN):i.e<i.constructor.minE&&(i.e=0,i.d=[0]))}else i.e=0,i.d=[0];return i}function e_(i,t){var e,r,n,s,a,l,c,h,p;if(t.indexOf("_")>-1){if(t=t.replace(/(\d)_(?=\d)/g,"$1"),hc.test(t))return xa(i,t)}else if(t==="Infinity"||t==="NaN")return+t||(i.s=NaN),i.e=NaN,i.d=null,i;if(Hd.test(t))e=16,t=t.toLowerCase();else if(Kd.test(t))e=2;else if(Jd.test(t))e=8;else throw Error(Cn+t);for(s=t.search(/p/i),s>0?(c=+t.slice(s+1),t=t.substring(2,s)):t=t.slice(2),s=t.indexOf("."),a=s>=0,r=i.constructor,a&&(t=t.replace(".",""),l=t.length,s=l-s,n=dc(r,new r(e),s,s*2)),h=Is(t,e,Wr),p=h.length-1,s=p;h[s]===0;--s)h.pop();return s<0?new r(i.s*0):(i.e=$s(h,p),i.d=h,St=!1,a&&(i=ce(i,n,l*4)),c&&(i=i.times(Math.abs(c)<54?$e(2,c):mi.pow(2,c))),St=!0,i)}function r_(i,t){var e,r=t.d.length;if(r<3)return t.isZero()?t:_i(i,2,t,t);e=1.4*Math.sqrt(r),e=e>16?16:e|0,t=t.times(1/Rs(5,e)),t=_i(i,2,t,t);for(var n,s=new i(5),a=new i(16),l=new i(20);e--;)n=t.times(t),t=t.times(s.plus(n.times(a.times(n).minus(l))));return t}function _i(i,t,e,r,n){var s,a,l,c,h=i.precision,p=Math.ceil(h/xt);for(St=!1,c=e.times(e),l=new i(r);;){if(a=ce(l.times(c),new i(t++*t++),h,1),l=n?r.plus(a):r.minus(a),r=ce(a.times(c),new i(t++*t++),h,1),a=l.plus(r),a.d[p]!==void 0){for(s=p;a.d[s]===l.d[s]&&s--;);if(s==-1)break}s=l,l=r,r=a,a=s}return St=!0,a.d.length=p+1,a}function Rs(i,t){for(var e=i;--t;)e*=i;return e}function vc(i,t){var e,r=t.s<0,n=jr(i,i.precision,1),s=n.times(.5);if(t=t.abs(),t.lte(s))return un=r?4:1,t;if(e=t.divToInt(n),e.isZero())un=r?3:2;else{if(t=t.minus(e.times(n)),t.lte(s))return un=_c(e)?r?2:3:r?4:1,t;un=_c(e)?r?1:4:r?3:2}return t.minus(n).abs()}function Aa(i,t,e,r){var n,s,a,l,c,h,p,f,d,g=i.constructor,y=e!==void 0;if(y?(or(e,1,An),r===void 0?r=g.rounding:or(r,0,8)):(e=g.precision,r=g.rounding),!i.isFinite())p=gc(i);else{for(p=Qr(i),a=p.indexOf("."),y?(n=2,t==16?e=e*4-3:t==8&&(e=e*3-2)):n=t,a>=0&&(p=p.replace(".",""),d=new g(1),d.e=p.length-a,d.d=Is(Qr(d),10,n),d.e=d.d.length),f=Is(p,10,n),s=c=f.length;f[--c]==0;)f.pop();if(!f[0])p=y?"0p+0":"0";else{if(a<0?s--:(i=new g(i),i.d=f,i.e=s,i=ce(i,d,e,r,0,n),f=i.d,s=i.e,h=uc),a=f[e],l=n/2,h=h||f[e+1]!==void 0,h=r<4?(a!==void 0||h)&&(r===0||r===(i.s<0?3:2)):a>l||a===l&&(r===4||h||r===6&&f[e-1]&1||r===(i.s<0?8:7)),f.length=e,h)for(;++f[--e]>n-1;)f[e]=0,e||(++s,f.unshift(1));for(c=f.length;!f[c-1];--c);for(a=0,p="";a<c;a++)p+=wa.charAt(f[a]);if(y){if(c>1)if(t==16||t==8){for(a=t==16?4:3,--c;c%a;c++)p+="0";for(f=Is(p,n,t),c=f.length;!f[c-1];--c);for(a=1,p="1.";a<c;a++)p+=wa.charAt(f[a])}else p=p.charAt(0)+"."+p.slice(1);p=p+(s<0?"p":"p+")+s}else if(s<0){for(;++s;)p="0"+p;p="0."+p}else if(++s>c)for(s-=c;s--;)p+="0";else s<c&&(p=p.slice(0,s)+"."+p.slice(s))}p=(t==16?"0x":t==2?"0b":t==8?"0o":"")+p}return i.s<0?"-"+p:p}function yc(i,t){if(i.length>t)return i.length=t,!0}function n_(i){return new this(i).abs()}function i_(i){return new this(i).acos()}function s_(i){return new this(i).acosh()}function o_(i,t){return new this(i).plus(t)}function a_(i){return new this(i).asin()}function u_(i){return new this(i).asinh()}function l_(i){return new this(i).atan()}function c_(i){return new this(i).atanh()}function f_(i,t){i=new this(i),t=new this(t);var e,r=this.precision,n=this.rounding,s=r+4;return!i.s||!t.s?e=new this(NaN):!i.d&&!t.d?(e=jr(this,s,1).times(t.s>0?.25:.75),e.s=i.s):!t.d||i.isZero()?(e=t.s<0?jr(this,r,n):new this(0),e.s=i.s):!i.d||t.isZero()?(e=jr(this,s,1).times(.5),e.s=i.s):t.s<0?(this.precision=s,this.rounding=1,e=this.atan(ce(i,t,s,1)),t=jr(this,s,1),this.precision=r,this.rounding=n,e=i.s<0?e.minus(t):e.plus(t)):e=this.atan(ce(i,t,s,1)),e}function h_(i){return new this(i).cbrt()}function p_(i){return Dt(i=new this(i),i.e+1,2)}function d_(i,t,e){return new this(i).clamp(t,e)}function __(i){if(!i||typeof i!="object")throw Error(Ts+"Object expected");var t,e,r,n=i.defaults===!0,s=["precision",1,An,"rounding",0,8,"toExpNeg",-di,0,"toExpPos",0,di,"maxE",0,di,"minE",-di,0,"modulo",0,9];for(t=0;t<s.length;t+=3)if(e=s[t],n&&(this[e]=Da[e]),(r=i[e])!==void 0)if(Ge(r)===r&&r>=s[t+1]&&r<=s[t+2])this[e]=r;else throw Error(Cn+e+": "+r);if(e="crypto",n&&(this[e]=Da[e]),(r=i[e])!==void 0)if(r===!0||r===!1||r===0||r===1)if(r)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[e]=!0;else throw Error(cc);else this[e]=!1;else throw Error(Cn+e+": "+r);return this}function m_(i){return new this(i).cos()}function g_(i){return new this(i).cosh()}function wc(i){var t,e,r;function n(s){var a,l,c,h=this;if(!(h instanceof n))return new n(s);if(h.constructor=n,Dc(s)){h.s=s.s,St?!s.d||s.e>n.maxE?(h.e=NaN,h.d=null):s.e<n.minE?(h.e=0,h.d=[0]):(h.e=s.e,h.d=s.d.slice()):(h.e=s.e,h.d=s.d?s.d.slice():s.d);return}if(c=typeof s,c==="number"){if(s===0){h.s=1/s<0?-1:1,h.e=0,h.d=[0];return}if(s<0?(s=-s,h.s=-1):h.s=1,s===~~s&&s<1e7){for(a=0,l=s;l>=10;l/=10)a++;St?a>n.maxE?(h.e=NaN,h.d=null):a<n.minE?(h.e=0,h.d=[0]):(h.e=a,h.d=[s]):(h.e=a,h.d=[s]);return}else if(s*0!==0){s||(h.s=NaN),h.e=NaN,h.d=null;return}return xa(h,s.toString())}else if(c!=="string")throw Error(Cn+s);return(l=s.charCodeAt(0))===45?(s=s.slice(1),h.s=-1):(l===43&&(s=s.slice(1)),h.s=1),hc.test(s)?xa(h,s):e_(h,s)}if(n.prototype=it,n.ROUND_UP=0,n.ROUND_DOWN=1,n.ROUND_CEIL=2,n.ROUND_FLOOR=3,n.ROUND_HALF_UP=4,n.ROUND_HALF_DOWN=5,n.ROUND_HALF_EVEN=6,n.ROUND_HALF_CEIL=7,n.ROUND_HALF_FLOOR=8,n.EUCLID=9,n.config=n.set=__,n.clone=wc,n.isDecimal=Dc,n.abs=n_,n.acos=i_,n.acosh=s_,n.add=o_,n.asin=a_,n.asinh=u_,n.atan=l_,n.atanh=c_,n.atan2=f_,n.cbrt=h_,n.ceil=p_,n.clamp=d_,n.cos=m_,n.cosh=g_,n.div=v_,n.exp=y_,n.floor=w_,n.hypot=D_,n.ln=b_,n.log=E_,n.log10=A_,n.log2=x_,n.max=C_,n.min=F_,n.mod=M_,n.mul=N_,n.pow=S_,n.random=B_,n.round=O_,n.sign=T_,n.sin=I_,n.sinh=$_,n.sqrt=L_,n.sub=R_,n.sum=P_,n.tan=z_,n.tanh=q_,n.trunc=k_,i===void 0&&(i={}),i&&i.defaults!==!0)for(r=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],t=0;t<r.length;)i.hasOwnProperty(e=r[t++])||(i[e]=this[e]);return n.config(i),n}function v_(i,t){return new this(i).div(t)}function y_(i){return new this(i).exp()}function w_(i){return Dt(i=new this(i),i.e+1,3)}function D_(){var i,t,e=new this(0);for(St=!1,i=0;i<arguments.length;)if(t=new this(arguments[i++]),t.d)e.d&&(e=e.plus(t.times(t)));else{if(t.s)return St=!0,new this(1/0);e=t}return St=!0,e.sqrt()}function Dc(i){return i instanceof mi||i&&i.toStringTag===fc||!1}function b_(i){return new this(i).ln()}function E_(i,t){return new this(i).log(t)}function x_(i){return new this(i).log(2)}function A_(i){return new this(i).log(10)}function C_(){return mc(this,arguments,"lt")}function F_(){return mc(this,arguments,"gt")}function M_(i,t){return new this(i).mod(t)}function N_(i,t){return new this(i).mul(t)}function S_(i,t){return new this(i).pow(t)}function B_(i){var t,e,r,n,s=0,a=new this(1),l=[];if(i===void 0?i=this.precision:or(i,1,An),r=Math.ceil(i/xt),this.crypto)if(crypto.getRandomValues)for(t=crypto.getRandomValues(new Uint32Array(r));s<r;)n=t[s],n>=429e7?t[s]=crypto.getRandomValues(new Uint32Array(1))[0]:l[s++]=n%1e7;else if(crypto.randomBytes){for(t=crypto.randomBytes(r*=4);s<r;)n=t[s]+(t[s+1]<<8)+(t[s+2]<<16)+((t[s+3]&127)<<24),n>=214e7?crypto.randomBytes(4).copy(t,s):(l.push(n%1e7),s+=4);s=r/4}else throw Error(cc);else for(;s<r;)l[s++]=Math.random()*1e7|0;for(r=l[--s],i%=xt,r&&i&&(n=$e(10,xt-i),l[s]=(r/n|0)*n);l[s]===0;s--)l.pop();if(s<0)e=0,l=[0];else{for(e=-1;l[0]===0;e-=xt)l.shift();for(r=1,n=l[0];n>=10;n/=10)r++;r<xt&&(e-=xt-r)}return a.e=e,a.d=l,a}function O_(i){return Dt(i=new this(i),i.e+1,this.rounding)}function T_(i){return i=new this(i),i.d?i.d[0]?i.s:0*i.s:i.s||NaN}function I_(i){return new this(i).sin()}function $_(i){return new this(i).sinh()}function L_(i){return new this(i).sqrt()}function R_(i,t){return new this(i).sub(t)}function P_(){var i=0,t=arguments,e=new this(t[i]);for(St=!1;e.s&&++i<t.length;)e=e.plus(t[i]);return St=!0,Dt(e,this.precision,this.rounding)}function z_(i){return new this(i).tan()}function q_(i){return new this(i).tanh()}function k_(i){return Dt(i=new this(i),i.e+1,1)}it[Symbol.for("nodejs.util.inspect.custom")]=it.toString,it[Symbol.toStringTag]="Decimal";var mi=it.constructor=wc(Da);Bs=new mi(Bs),Os=new mi(Os);var U_="BigNumber",W_=["?on","config"],j_=mt(U_,W_,i=>{var{on:t,config:e}=i,r=mi.clone({precision:e.precision,modulo:mi.EUCLID});return r.prototype=Object.create(r.prototype),r.prototype.type="BigNumber",r.prototype.isBigNumber=!0,r.prototype.toJSON=function(){return{mathjs:"BigNumber",value:this.toString()}},r.fromJSON=function(n){return new r(n.value)},t&&t("config",function(n,s){n.precision!==s.precision&&r.config({precision:n.precision})}),r},{isClass:!0}),bc={exports:{}};/**
41
41
  * @license Complex.js v2.1.1 12/05/2020
42
42
  *
43
43
  * Copyright (c) 2020, Robert Eisele (robert@xarg.org)
44
44
  * Dual licensed under the MIT or GPL Version 2 licenses.
45
- **/(function(i,t){(function(e){var r=Math.cosh||function(f){return Math.abs(f)<1e-9?1-f:(Math.exp(f)+Math.exp(-f))*.5},n=Math.sinh||function(f){return Math.abs(f)<1e-9?f:(Math.exp(f)-Math.exp(-f))*.5},s=function(f){var d=Math.PI/4;if(-d>f||f>d)return Math.cos(f)-1;var g=f*f;return g*(g*(g*(g*(g*(g*(g*(g/20922789888e3-1/87178291200)+1/479001600)-1/3628800)+1/40320)-1/720)+1/24)-1/2)},a=function(f,d){var g=Math.abs(f),w=Math.abs(d);return g<3e3&&w<3e3?Math.sqrt(g*g+w*w):(g<w?(g=w,w=f/d):w=d/f,g*Math.sqrt(1+w*w))},l=function(){throw SyntaxError("Invalid Param")};function c(f,d){var g=Math.abs(f),w=Math.abs(d);return f===0?Math.log(w):d===0?Math.log(g):g<3e3&&w<3e3?Math.log(f*f+d*d)*.5:(f=f/2,d=d/2,.5*Math.log(f*f+d*d)+Math.LN2)}var h=function(f,d){var g={re:0,im:0};if(f==null)g.re=g.im=0;else if(d!==void 0)g.re=f,g.im=d;else switch(typeof f){case"object":if("im"in f&&"re"in f)g.re=f.re,g.im=f.im;else if("abs"in f&&"arg"in f){if(!Number.isFinite(f.abs)&&Number.isFinite(f.arg))return p.INFINITY;g.re=f.abs*Math.cos(f.arg),g.im=f.abs*Math.sin(f.arg)}else if("r"in f&&"phi"in f){if(!Number.isFinite(f.r)&&Number.isFinite(f.phi))return p.INFINITY;g.re=f.r*Math.cos(f.phi),g.im=f.r*Math.sin(f.phi)}else f.length===2?(g.re=f[0],g.im=f[1]):l();break;case"string":g.im=g.re=0;var w=f.match(/\d+\.?\d*e[+-]?\d+|\d+\.?\d*|\.\d+|./g),m=1,D=0;w===null&&l();for(var v=0;v<w.length;v++){var E=w[v];E===" "||E===" "||E===`
46
- `||(E==="+"?m++:E==="-"?D++:E==="i"||E==="I"?(m+D===0&&l(),w[v+1]!==" "&&!isNaN(w[v+1])?(g.im+=parseFloat((D%2?"-":"")+w[v+1]),v++):g.im+=parseFloat((D%2?"-":"")+"1"),m=D=0):((m+D===0||isNaN(E))&&l(),w[v+1]==="i"||w[v+1]==="I"?(g.im+=parseFloat((D%2?"-":"")+E),v++):g.re+=parseFloat((D%2?"-":"")+E),m=D=0))}m+D>0&&l();break;case"number":g.im=0,g.re=f;break;default:l()}return isNaN(g.re)||isNaN(g.im),g};function p(f,d){if(!(this instanceof p))return new p(f,d);var g=h(f,d);this.re=g.re,this.im=g.im}p.prototype={re:0,im:0,sign:function(){var f=this.abs();return new p(this.re/f,this.im/f)},add:function(f,d){var g=new p(f,d);return this.isInfinite()&&g.isInfinite()?p.NAN:this.isInfinite()||g.isInfinite()?p.INFINITY:new p(this.re+g.re,this.im+g.im)},sub:function(f,d){var g=new p(f,d);return this.isInfinite()&&g.isInfinite()?p.NAN:this.isInfinite()||g.isInfinite()?p.INFINITY:new p(this.re-g.re,this.im-g.im)},mul:function(f,d){var g=new p(f,d);return this.isInfinite()&&g.isZero()||this.isZero()&&g.isInfinite()?p.NAN:this.isInfinite()||g.isInfinite()?p.INFINITY:g.im===0&&this.im===0?new p(this.re*g.re,0):new p(this.re*g.re-this.im*g.im,this.re*g.im+this.im*g.re)},div:function(f,d){var g=new p(f,d);if(this.isZero()&&g.isZero()||this.isInfinite()&&g.isInfinite())return p.NAN;if(this.isInfinite()||g.isZero())return p.INFINITY;if(this.isZero()||g.isInfinite())return p.ZERO;f=this.re,d=this.im;var w=g.re,m=g.im,D,v;return m===0?new p(f/w,d/w):Math.abs(w)<Math.abs(m)?(v=w/m,D=w*v+m,new p((f*v+d)/D,(d*v-f)/D)):(v=m/w,D=m*v+w,new p((f+d*v)/D,(d-f*v)/D))},pow:function(f,d){var g=new p(f,d);if(f=this.re,d=this.im,g.isZero())return p.ONE;if(g.im===0){if(d===0&&f>0)return new p(Math.pow(f,g.re),0);if(f===0)switch((g.re%4+4)%4){case 0:return new p(Math.pow(d,g.re),0);case 1:return new p(0,Math.pow(d,g.re));case 2:return new p(-Math.pow(d,g.re),0);case 3:return new p(0,-Math.pow(d,g.re))}}if(f===0&&d===0&&g.re>0&&g.im>=0)return p.ZERO;var w=Math.atan2(d,f),m=c(f,d);return f=Math.exp(g.re*m-g.im*w),d=g.im*m+g.re*w,new p(f*Math.cos(d),f*Math.sin(d))},sqrt:function(){var f=this.re,d=this.im,g=this.abs(),w,m;if(f>=0){if(d===0)return new p(Math.sqrt(f),0);w=.5*Math.sqrt(2*(g+f))}else w=Math.abs(d)/Math.sqrt(2*(g-f));return f<=0?m=.5*Math.sqrt(2*(g-f)):m=Math.abs(d)/Math.sqrt(2*(g+f)),new p(w,d<0?-m:m)},exp:function(){var f=Math.exp(this.re);return this.im,new p(f*Math.cos(this.im),f*Math.sin(this.im))},expm1:function(){var f=this.re,d=this.im;return new p(Math.expm1(f)*Math.cos(d)+s(d),Math.exp(f)*Math.sin(d))},log:function(){var f=this.re,d=this.im;return new p(c(f,d),Math.atan2(d,f))},abs:function(){return a(this.re,this.im)},arg:function(){return Math.atan2(this.im,this.re)},sin:function(){var f=this.re,d=this.im;return new p(Math.sin(f)*r(d),Math.cos(f)*n(d))},cos:function(){var f=this.re,d=this.im;return new p(Math.cos(f)*r(d),-Math.sin(f)*n(d))},tan:function(){var f=2*this.re,d=2*this.im,g=Math.cos(f)+r(d);return new p(Math.sin(f)/g,n(d)/g)},cot:function(){var f=2*this.re,d=2*this.im,g=Math.cos(f)-r(d);return new p(-Math.sin(f)/g,n(d)/g)},sec:function(){var f=this.re,d=this.im,g=.5*r(2*d)+.5*Math.cos(2*f);return new p(Math.cos(f)*r(d)/g,Math.sin(f)*n(d)/g)},csc:function(){var f=this.re,d=this.im,g=.5*r(2*d)-.5*Math.cos(2*f);return new p(Math.sin(f)*r(d)/g,-Math.cos(f)*n(d)/g)},asin:function(){var f=this.re,d=this.im,g=new p(d*d-f*f+1,-2*f*d).sqrt(),w=new p(g.re-d,g.im+f).log();return new p(w.im,-w.re)},acos:function(){var f=this.re,d=this.im,g=new p(d*d-f*f+1,-2*f*d).sqrt(),w=new p(g.re-d,g.im+f).log();return new p(Math.PI/2-w.im,w.re)},atan:function(){var f=this.re,d=this.im;if(f===0){if(d===1)return new p(0,1/0);if(d===-1)return new p(0,-1/0)}var g=f*f+(1-d)*(1-d),w=new p((1-d*d-f*f)/g,-2*f/g).log();return new p(-.5*w.im,.5*w.re)},acot:function(){var f=this.re,d=this.im;if(d===0)return new p(Math.atan2(1,f),0);var g=f*f+d*d;return g!==0?new p(f/g,-d/g).atan():new p(f!==0?f/0:0,d!==0?-d/0:0).atan()},asec:function(){var f=this.re,d=this.im;if(f===0&&d===0)return new p(0,1/0);var g=f*f+d*d;return g!==0?new p(f/g,-d/g).acos():new p(f!==0?f/0:0,d!==0?-d/0:0).acos()},acsc:function(){var f=this.re,d=this.im;if(f===0&&d===0)return new p(Math.PI/2,1/0);var g=f*f+d*d;return g!==0?new p(f/g,-d/g).asin():new p(f!==0?f/0:0,d!==0?-d/0:0).asin()},sinh:function(){var f=this.re,d=this.im;return new p(n(f)*Math.cos(d),r(f)*Math.sin(d))},cosh:function(){var f=this.re,d=this.im;return new p(r(f)*Math.cos(d),n(f)*Math.sin(d))},tanh:function(){var f=2*this.re,d=2*this.im,g=r(f)+Math.cos(d);return new p(n(f)/g,Math.sin(d)/g)},coth:function(){var f=2*this.re,d=2*this.im,g=r(f)-Math.cos(d);return new p(n(f)/g,-Math.sin(d)/g)},csch:function(){var f=this.re,d=this.im,g=Math.cos(2*d)-r(2*f);return new p(-2*n(f)*Math.cos(d)/g,2*r(f)*Math.sin(d)/g)},sech:function(){var f=this.re,d=this.im,g=Math.cos(2*d)+r(2*f);return new p(2*r(f)*Math.cos(d)/g,-2*n(f)*Math.sin(d)/g)},asinh:function(){var f=this.im;this.im=-this.re,this.re=f;var d=this.asin();return this.re=-this.im,this.im=f,f=d.re,d.re=-d.im,d.im=f,d},acosh:function(){var f=this.acos();if(f.im<=0){var d=f.re;f.re=-f.im,f.im=d}else{var d=f.im;f.im=-f.re,f.re=d}return f},atanh:function(){var f=this.re,d=this.im,g=f>1&&d===0,w=1-f,m=1+f,D=w*w+d*d,v=D!==0?new p((m*w-d*d)/D,(d*w+m*d)/D):new p(f!==-1?f/0:0,d!==0?d/0:0),E=v.re;return v.re=c(v.re,v.im)/2,v.im=Math.atan2(v.im,E)/2,g&&(v.im=-v.im),v},acoth:function(){var f=this.re,d=this.im;if(f===0&&d===0)return new p(0,Math.PI/2);var g=f*f+d*d;return g!==0?new p(f/g,-d/g).atanh():new p(f!==0?f/0:0,d!==0?-d/0:0).atanh()},acsch:function(){var f=this.re,d=this.im;if(d===0)return new p(f!==0?Math.log(f+Math.sqrt(f*f+1)):1/0,0);var g=f*f+d*d;return g!==0?new p(f/g,-d/g).asinh():new p(f!==0?f/0:0,d!==0?-d/0:0).asinh()},asech:function(){var f=this.re,d=this.im;if(this.isZero())return p.INFINITY;var g=f*f+d*d;return g!==0?new p(f/g,-d/g).acosh():new p(f!==0?f/0:0,d!==0?-d/0:0).acosh()},inverse:function(){if(this.isZero())return p.INFINITY;if(this.isInfinite())return p.ZERO;var f=this.re,d=this.im,g=f*f+d*d;return new p(f/g,-d/g)},conjugate:function(){return new p(this.re,-this.im)},neg:function(){return new p(-this.re,-this.im)},ceil:function(f){return f=Math.pow(10,f||0),new p(Math.ceil(this.re*f)/f,Math.ceil(this.im*f)/f)},floor:function(f){return f=Math.pow(10,f||0),new p(Math.floor(this.re*f)/f,Math.floor(this.im*f)/f)},round:function(f){return f=Math.pow(10,f||0),new p(Math.round(this.re*f)/f,Math.round(this.im*f)/f)},equals:function(f,d){var g=new p(f,d);return Math.abs(g.re-this.re)<=p.EPSILON&&Math.abs(g.im-this.im)<=p.EPSILON},clone:function(){return new p(this.re,this.im)},toString:function(){var f=this.re,d=this.im,g="";return this.isNaN()?"NaN":this.isInfinite()?"Infinity":(Math.abs(f)<p.EPSILON&&(f=0),Math.abs(d)<p.EPSILON&&(d=0),d===0?g+f:(f!==0?(g+=f,g+=" ",d<0?(d=-d,g+="-"):g+="+",g+=" "):d<0&&(d=-d,g+="-"),d!==1&&(g+=d),g+"i"))},toVector:function(){return[this.re,this.im]},valueOf:function(){return this.im===0?this.re:null},isNaN:function(){return isNaN(this.re)||isNaN(this.im)},isZero:function(){return this.im===0&&this.re===0},isFinite:function(){return isFinite(this.re)&&isFinite(this.im)},isInfinite:function(){return!(this.isNaN()||this.isFinite())}},p.ZERO=new p(0,0),p.ONE=new p(1,0),p.I=new p(0,1),p.PI=new p(Math.PI,0),p.E=new p(Math.E,0),p.INFINITY=new p(1/0,1/0),p.NAN=new p(NaN,NaN),p.EPSILON=1e-15,Object.defineProperty(p,"__esModule",{value:!0}),p.default=p,p.Complex=p,i.exports=p})()})(bc);var Y_=bc.exports,je=Kt(Y_),V_="Complex",Z_=[],G_=mt(V_,Z_,()=>(Object.defineProperty(je,"name",{value:"Complex"}),je.prototype.constructor=je,je.prototype.type="Complex",je.prototype.isComplex=!0,je.prototype.toJSON=function(){return{mathjs:"Complex",re:this.re,im:this.im}},je.prototype.toPolar=function(){return{r:this.abs(),phi:this.arg()}},je.prototype.format=function(i){var t="",e=this.im,r=this.re,n=fa(this.re,i),s=fa(this.im,i),a=he(i)?i:i?i.precision:null;if(a!==null){var l=Math.pow(10,-a);Math.abs(r/e)<l&&(r=0),Math.abs(e/r)<l&&(e=0)}return e===0?t=n:r===0?e===1?t="i":e===-1?t="-i":t=s+"i":e<0?e===-1?t=n+" - i":t=n+" - "+s.substring(1)+"i":e===1?t=n+" + i":t=n+" + "+s+"i",t},je.fromPolar=function(i){switch(arguments.length){case 1:{var t=arguments[0];if(typeof t=="object")return je(t);throw new TypeError("Input has to be an object with r and phi keys.")}case 2:{var e=arguments[0],r=arguments[1];if(he(e)){if(Ll(r)&&r.hasBase("ANGLE")&&(r=r.toNumber("rad")),he(r))return new je({r:e,phi:r});throw new TypeError("Phi is not a number nor an angle unit.")}else throw new TypeError("Radius r is not a number.")}default:throw new SyntaxError("Wrong number of arguments in function fromPolar")}},je.prototype.valueOf=je.prototype.toString,je.fromJSON=function(i){return new je(i)},je.compare=function(i,t){return i.re>t.re?1:i.re<t.re?-1:i.im>t.im?1:i.im<t.im?-1:0},je),{isClass:!0}),Ec={exports:{}};/**
45
+ **/(function(i,t){(function(e){var r=Math.cosh||function(f){return Math.abs(f)<1e-9?1-f:(Math.exp(f)+Math.exp(-f))*.5},n=Math.sinh||function(f){return Math.abs(f)<1e-9?f:(Math.exp(f)-Math.exp(-f))*.5},s=function(f){var d=Math.PI/4;if(-d>f||f>d)return Math.cos(f)-1;var g=f*f;return g*(g*(g*(g*(g*(g*(g*(g/20922789888e3-1/87178291200)+1/479001600)-1/3628800)+1/40320)-1/720)+1/24)-1/2)},a=function(f,d){var g=Math.abs(f),y=Math.abs(d);return g<3e3&&y<3e3?Math.sqrt(g*g+y*y):(g<y?(g=y,y=f/d):y=d/f,g*Math.sqrt(1+y*y))},l=function(){throw SyntaxError("Invalid Param")};function c(f,d){var g=Math.abs(f),y=Math.abs(d);return f===0?Math.log(y):d===0?Math.log(g):g<3e3&&y<3e3?Math.log(f*f+d*d)*.5:(f=f/2,d=d/2,.5*Math.log(f*f+d*d)+Math.LN2)}var h=function(f,d){var g={re:0,im:0};if(f==null)g.re=g.im=0;else if(d!==void 0)g.re=f,g.im=d;else switch(typeof f){case"object":if("im"in f&&"re"in f)g.re=f.re,g.im=f.im;else if("abs"in f&&"arg"in f){if(!Number.isFinite(f.abs)&&Number.isFinite(f.arg))return p.INFINITY;g.re=f.abs*Math.cos(f.arg),g.im=f.abs*Math.sin(f.arg)}else if("r"in f&&"phi"in f){if(!Number.isFinite(f.r)&&Number.isFinite(f.phi))return p.INFINITY;g.re=f.r*Math.cos(f.phi),g.im=f.r*Math.sin(f.phi)}else f.length===2?(g.re=f[0],g.im=f[1]):l();break;case"string":g.im=g.re=0;var y=f.match(/\d+\.?\d*e[+-]?\d+|\d+\.?\d*|\.\d+|./g),m=1,D=0;y===null&&l();for(var v=0;v<y.length;v++){var E=y[v];E===" "||E===" "||E===`
46
+ `||(E==="+"?m++:E==="-"?D++:E==="i"||E==="I"?(m+D===0&&l(),y[v+1]!==" "&&!isNaN(y[v+1])?(g.im+=parseFloat((D%2?"-":"")+y[v+1]),v++):g.im+=parseFloat((D%2?"-":"")+"1"),m=D=0):((m+D===0||isNaN(E))&&l(),y[v+1]==="i"||y[v+1]==="I"?(g.im+=parseFloat((D%2?"-":"")+E),v++):g.re+=parseFloat((D%2?"-":"")+E),m=D=0))}m+D>0&&l();break;case"number":g.im=0,g.re=f;break;default:l()}return isNaN(g.re)||isNaN(g.im),g};function p(f,d){if(!(this instanceof p))return new p(f,d);var g=h(f,d);this.re=g.re,this.im=g.im}p.prototype={re:0,im:0,sign:function(){var f=this.abs();return new p(this.re/f,this.im/f)},add:function(f,d){var g=new p(f,d);return this.isInfinite()&&g.isInfinite()?p.NAN:this.isInfinite()||g.isInfinite()?p.INFINITY:new p(this.re+g.re,this.im+g.im)},sub:function(f,d){var g=new p(f,d);return this.isInfinite()&&g.isInfinite()?p.NAN:this.isInfinite()||g.isInfinite()?p.INFINITY:new p(this.re-g.re,this.im-g.im)},mul:function(f,d){var g=new p(f,d);return this.isInfinite()&&g.isZero()||this.isZero()&&g.isInfinite()?p.NAN:this.isInfinite()||g.isInfinite()?p.INFINITY:g.im===0&&this.im===0?new p(this.re*g.re,0):new p(this.re*g.re-this.im*g.im,this.re*g.im+this.im*g.re)},div:function(f,d){var g=new p(f,d);if(this.isZero()&&g.isZero()||this.isInfinite()&&g.isInfinite())return p.NAN;if(this.isInfinite()||g.isZero())return p.INFINITY;if(this.isZero()||g.isInfinite())return p.ZERO;f=this.re,d=this.im;var y=g.re,m=g.im,D,v;return m===0?new p(f/y,d/y):Math.abs(y)<Math.abs(m)?(v=y/m,D=y*v+m,new p((f*v+d)/D,(d*v-f)/D)):(v=m/y,D=m*v+y,new p((f+d*v)/D,(d-f*v)/D))},pow:function(f,d){var g=new p(f,d);if(f=this.re,d=this.im,g.isZero())return p.ONE;if(g.im===0){if(d===0&&f>0)return new p(Math.pow(f,g.re),0);if(f===0)switch((g.re%4+4)%4){case 0:return new p(Math.pow(d,g.re),0);case 1:return new p(0,Math.pow(d,g.re));case 2:return new p(-Math.pow(d,g.re),0);case 3:return new p(0,-Math.pow(d,g.re))}}if(f===0&&d===0&&g.re>0&&g.im>=0)return p.ZERO;var y=Math.atan2(d,f),m=c(f,d);return f=Math.exp(g.re*m-g.im*y),d=g.im*m+g.re*y,new p(f*Math.cos(d),f*Math.sin(d))},sqrt:function(){var f=this.re,d=this.im,g=this.abs(),y,m;if(f>=0){if(d===0)return new p(Math.sqrt(f),0);y=.5*Math.sqrt(2*(g+f))}else y=Math.abs(d)/Math.sqrt(2*(g-f));return f<=0?m=.5*Math.sqrt(2*(g-f)):m=Math.abs(d)/Math.sqrt(2*(g+f)),new p(y,d<0?-m:m)},exp:function(){var f=Math.exp(this.re);return this.im,new p(f*Math.cos(this.im),f*Math.sin(this.im))},expm1:function(){var f=this.re,d=this.im;return new p(Math.expm1(f)*Math.cos(d)+s(d),Math.exp(f)*Math.sin(d))},log:function(){var f=this.re,d=this.im;return new p(c(f,d),Math.atan2(d,f))},abs:function(){return a(this.re,this.im)},arg:function(){return Math.atan2(this.im,this.re)},sin:function(){var f=this.re,d=this.im;return new p(Math.sin(f)*r(d),Math.cos(f)*n(d))},cos:function(){var f=this.re,d=this.im;return new p(Math.cos(f)*r(d),-Math.sin(f)*n(d))},tan:function(){var f=2*this.re,d=2*this.im,g=Math.cos(f)+r(d);return new p(Math.sin(f)/g,n(d)/g)},cot:function(){var f=2*this.re,d=2*this.im,g=Math.cos(f)-r(d);return new p(-Math.sin(f)/g,n(d)/g)},sec:function(){var f=this.re,d=this.im,g=.5*r(2*d)+.5*Math.cos(2*f);return new p(Math.cos(f)*r(d)/g,Math.sin(f)*n(d)/g)},csc:function(){var f=this.re,d=this.im,g=.5*r(2*d)-.5*Math.cos(2*f);return new p(Math.sin(f)*r(d)/g,-Math.cos(f)*n(d)/g)},asin:function(){var f=this.re,d=this.im,g=new p(d*d-f*f+1,-2*f*d).sqrt(),y=new p(g.re-d,g.im+f).log();return new p(y.im,-y.re)},acos:function(){var f=this.re,d=this.im,g=new p(d*d-f*f+1,-2*f*d).sqrt(),y=new p(g.re-d,g.im+f).log();return new p(Math.PI/2-y.im,y.re)},atan:function(){var f=this.re,d=this.im;if(f===0){if(d===1)return new p(0,1/0);if(d===-1)return new p(0,-1/0)}var g=f*f+(1-d)*(1-d),y=new p((1-d*d-f*f)/g,-2*f/g).log();return new p(-.5*y.im,.5*y.re)},acot:function(){var f=this.re,d=this.im;if(d===0)return new p(Math.atan2(1,f),0);var g=f*f+d*d;return g!==0?new p(f/g,-d/g).atan():new p(f!==0?f/0:0,d!==0?-d/0:0).atan()},asec:function(){var f=this.re,d=this.im;if(f===0&&d===0)return new p(0,1/0);var g=f*f+d*d;return g!==0?new p(f/g,-d/g).acos():new p(f!==0?f/0:0,d!==0?-d/0:0).acos()},acsc:function(){var f=this.re,d=this.im;if(f===0&&d===0)return new p(Math.PI/2,1/0);var g=f*f+d*d;return g!==0?new p(f/g,-d/g).asin():new p(f!==0?f/0:0,d!==0?-d/0:0).asin()},sinh:function(){var f=this.re,d=this.im;return new p(n(f)*Math.cos(d),r(f)*Math.sin(d))},cosh:function(){var f=this.re,d=this.im;return new p(r(f)*Math.cos(d),n(f)*Math.sin(d))},tanh:function(){var f=2*this.re,d=2*this.im,g=r(f)+Math.cos(d);return new p(n(f)/g,Math.sin(d)/g)},coth:function(){var f=2*this.re,d=2*this.im,g=r(f)-Math.cos(d);return new p(n(f)/g,-Math.sin(d)/g)},csch:function(){var f=this.re,d=this.im,g=Math.cos(2*d)-r(2*f);return new p(-2*n(f)*Math.cos(d)/g,2*r(f)*Math.sin(d)/g)},sech:function(){var f=this.re,d=this.im,g=Math.cos(2*d)+r(2*f);return new p(2*r(f)*Math.cos(d)/g,-2*n(f)*Math.sin(d)/g)},asinh:function(){var f=this.im;this.im=-this.re,this.re=f;var d=this.asin();return this.re=-this.im,this.im=f,f=d.re,d.re=-d.im,d.im=f,d},acosh:function(){var f=this.acos();if(f.im<=0){var d=f.re;f.re=-f.im,f.im=d}else{var d=f.im;f.im=-f.re,f.re=d}return f},atanh:function(){var f=this.re,d=this.im,g=f>1&&d===0,y=1-f,m=1+f,D=y*y+d*d,v=D!==0?new p((m*y-d*d)/D,(d*y+m*d)/D):new p(f!==-1?f/0:0,d!==0?d/0:0),E=v.re;return v.re=c(v.re,v.im)/2,v.im=Math.atan2(v.im,E)/2,g&&(v.im=-v.im),v},acoth:function(){var f=this.re,d=this.im;if(f===0&&d===0)return new p(0,Math.PI/2);var g=f*f+d*d;return g!==0?new p(f/g,-d/g).atanh():new p(f!==0?f/0:0,d!==0?-d/0:0).atanh()},acsch:function(){var f=this.re,d=this.im;if(d===0)return new p(f!==0?Math.log(f+Math.sqrt(f*f+1)):1/0,0);var g=f*f+d*d;return g!==0?new p(f/g,-d/g).asinh():new p(f!==0?f/0:0,d!==0?-d/0:0).asinh()},asech:function(){var f=this.re,d=this.im;if(this.isZero())return p.INFINITY;var g=f*f+d*d;return g!==0?new p(f/g,-d/g).acosh():new p(f!==0?f/0:0,d!==0?-d/0:0).acosh()},inverse:function(){if(this.isZero())return p.INFINITY;if(this.isInfinite())return p.ZERO;var f=this.re,d=this.im,g=f*f+d*d;return new p(f/g,-d/g)},conjugate:function(){return new p(this.re,-this.im)},neg:function(){return new p(-this.re,-this.im)},ceil:function(f){return f=Math.pow(10,f||0),new p(Math.ceil(this.re*f)/f,Math.ceil(this.im*f)/f)},floor:function(f){return f=Math.pow(10,f||0),new p(Math.floor(this.re*f)/f,Math.floor(this.im*f)/f)},round:function(f){return f=Math.pow(10,f||0),new p(Math.round(this.re*f)/f,Math.round(this.im*f)/f)},equals:function(f,d){var g=new p(f,d);return Math.abs(g.re-this.re)<=p.EPSILON&&Math.abs(g.im-this.im)<=p.EPSILON},clone:function(){return new p(this.re,this.im)},toString:function(){var f=this.re,d=this.im,g="";return this.isNaN()?"NaN":this.isInfinite()?"Infinity":(Math.abs(f)<p.EPSILON&&(f=0),Math.abs(d)<p.EPSILON&&(d=0),d===0?g+f:(f!==0?(g+=f,g+=" ",d<0?(d=-d,g+="-"):g+="+",g+=" "):d<0&&(d=-d,g+="-"),d!==1&&(g+=d),g+"i"))},toVector:function(){return[this.re,this.im]},valueOf:function(){return this.im===0?this.re:null},isNaN:function(){return isNaN(this.re)||isNaN(this.im)},isZero:function(){return this.im===0&&this.re===0},isFinite:function(){return isFinite(this.re)&&isFinite(this.im)},isInfinite:function(){return!(this.isNaN()||this.isFinite())}},p.ZERO=new p(0,0),p.ONE=new p(1,0),p.I=new p(0,1),p.PI=new p(Math.PI,0),p.E=new p(Math.E,0),p.INFINITY=new p(1/0,1/0),p.NAN=new p(NaN,NaN),p.EPSILON=1e-15,Object.defineProperty(p,"__esModule",{value:!0}),p.default=p,p.Complex=p,i.exports=p})()})(bc);var Y_=bc.exports,je=Kt(Y_),V_="Complex",Z_=[],G_=mt(V_,Z_,()=>(Object.defineProperty(je,"name",{value:"Complex"}),je.prototype.constructor=je,je.prototype.type="Complex",je.prototype.isComplex=!0,je.prototype.toJSON=function(){return{mathjs:"Complex",re:this.re,im:this.im}},je.prototype.toPolar=function(){return{r:this.abs(),phi:this.arg()}},je.prototype.format=function(i){var t="",e=this.im,r=this.re,n=fa(this.re,i),s=fa(this.im,i),a=he(i)?i:i?i.precision:null;if(a!==null){var l=Math.pow(10,-a);Math.abs(r/e)<l&&(r=0),Math.abs(e/r)<l&&(e=0)}return e===0?t=n:r===0?e===1?t="i":e===-1?t="-i":t=s+"i":e<0?e===-1?t=n+" - i":t=n+" - "+s.substring(1)+"i":e===1?t=n+" + i":t=n+" + "+s+"i",t},je.fromPolar=function(i){switch(arguments.length){case 1:{var t=arguments[0];if(typeof t=="object")return je(t);throw new TypeError("Input has to be an object with r and phi keys.")}case 2:{var e=arguments[0],r=arguments[1];if(he(e)){if(Ll(r)&&r.hasBase("ANGLE")&&(r=r.toNumber("rad")),he(r))return new je({r:e,phi:r});throw new TypeError("Phi is not a number nor an angle unit.")}else throw new TypeError("Radius r is not a number.")}default:throw new SyntaxError("Wrong number of arguments in function fromPolar")}},je.prototype.valueOf=je.prototype.toString,je.fromJSON=function(i){return new je(i)},je.compare=function(i,t){return i.re>t.re?1:i.re<t.re?-1:i.im>t.im?1:i.im<t.im?-1:0},je),{isClass:!0}),Ec={exports:{}};/**
47
47
  * @license Fraction.js v4.3.0 20/08/2023
48
48
  * https://www.xarg.org/2014/03/rational-numbers-in-javascript/
49
49
  *
50
50
  * Copyright (c) 2023, Robert Eisele (robert@raw.org)
51
51
  * Dual licensed under the MIT or GPL Version 2 licenses.
52
- **/(function(i,t){(function(e){var r=2e3,n={s:1,n:0,d:1};function s(v,E){if(isNaN(v=parseInt(v,10)))throw m();return v*E}function a(v,E){if(E===0)throw w();var b=Object.create(g.prototype);b.s=v<0?-1:1,v=v<0?-v:v;var N=d(v,E);return b.n=v/N,b.d=E/N,b}function l(v){for(var E={},b=v,N=2,x=4;x<=b;){for(;b%N===0;)b/=N,E[N]=(E[N]||0)+1;x+=1+2*N++}return b!==v?b>1&&(E[b]=(E[b]||0)+1):E[v]=(E[v]||0)+1,E}var c=function(v,E){var b=0,N=1,x=1,F=0,M=0,S=0,I=1,C=1,O=0,L=1,k=1,U=1,W=1e7,P;if(v!=null)if(E!==void 0){if(b=v,N=E,x=b*N,b%1!==0||N%1!==0)throw D()}else switch(typeof v){case"object":{if("d"in v&&"n"in v)b=v.n,N=v.d,"s"in v&&(b*=v.s);else if(0 in v)b=v[0],1 in v&&(N=v[1]);else throw m();x=b*N;break}case"number":{if(v<0&&(x=v,v=-v),v%1===0)b=v;else if(v>0){for(v>=1&&(C=Math.pow(10,Math.floor(1+Math.log(v)/Math.LN10)),v/=C);L<=W&&U<=W;)if(P=(O+k)/(L+U),v===P){L+U<=W?(b=O+k,N=L+U):U>L?(b=k,N=U):(b=O,N=L);break}else v>P?(O+=k,L+=U):(k+=O,U+=L),L>W?(b=k,N=U):(b=O,N=L);b*=C}else(isNaN(v)||isNaN(E))&&(N=b=NaN);break}case"string":{if(L=v.match(/\d+|./g),L===null)throw m();if(L[O]==="-"?(x=-1,O++):L[O]==="+"&&O++,L.length===O+1?M=s(L[O++],x):L[O+1]==="."||L[O]==="."?(L[O]!=="."&&(F=s(L[O++],x)),O++,(O+1===L.length||L[O+1]==="("&&L[O+3]===")"||L[O+1]==="'"&&L[O+3]==="'")&&(M=s(L[O],x),I=Math.pow(10,L[O].length),O++),(L[O]==="("&&L[O+2]===")"||L[O]==="'"&&L[O+2]==="'")&&(S=s(L[O+1],x),C=Math.pow(10,L[O+1].length)-1,O+=3)):L[O+1]==="/"||L[O+1]===":"?(M=s(L[O],x),I=s(L[O+2],1),O+=3):L[O+3]==="/"&&L[O+1]===" "&&(F=s(L[O],x),M=s(L[O+2],x),I=s(L[O+4],1),O+=5),L.length<=O){N=I*C,x=b=S+N*F+C*M;break}}default:throw m()}if(N===0)throw w();n.s=x<0?-1:1,n.n=Math.abs(b),n.d=Math.abs(N)};function h(v,E,b){for(var N=1;E>0;v=v*v%b,E>>=1)E&1&&(N=N*v%b);return N}function p(v,E){for(;E%2===0;E/=2);for(;E%5===0;E/=5);if(E===1)return 0;for(var b=10%E,N=1;b!==1;N++)if(b=b*10%E,N>r)return 0;return N}function f(v,E,b){for(var N=1,x=h(10,b,E),F=0;F<300;F++){if(N===x)return F;N=N*10%E,x=x*10%E}return 0}function d(v,E){if(!v)return E;if(!E)return v;for(;;){if(v%=E,!v)return E;if(E%=v,!E)return v}}function g(v,E){if(c(v,E),this instanceof g)v=d(n.d,n.n),this.s=n.s,this.n=n.n/v,this.d=n.d/v;else return a(n.s*n.n,n.d)}var w=function(){return new Error("Division by Zero")},m=function(){return new Error("Invalid argument")},D=function(){return new Error("Parameters must be integer")};g.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(v,E){return c(v,E),a(this.s*this.n*n.d+n.s*this.d*n.n,this.d*n.d)},sub:function(v,E){return c(v,E),a(this.s*this.n*n.d-n.s*this.d*n.n,this.d*n.d)},mul:function(v,E){return c(v,E),a(this.s*n.s*this.n*n.n,this.d*n.d)},div:function(v,E){return c(v,E),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(v,E){if(isNaN(this.n)||isNaN(this.d))return new g(NaN);if(v===void 0)return a(this.s*this.n%this.d,1);if(c(v,E),n.n===0&&this.d===0)throw w();return a(this.s*(n.d*this.n)%(n.n*this.d),n.d*this.d)},gcd:function(v,E){return c(v,E),a(d(n.n,this.n)*d(n.d,this.d),n.d*this.d)},lcm:function(v,E){return c(v,E),n.n===0&&this.n===0?a(0,1):a(n.n*this.n,d(n.n,this.n)*d(n.d,this.d))},ceil:function(v){return v=Math.pow(10,v||0),isNaN(this.n)||isNaN(this.d)?new g(NaN):a(Math.ceil(v*this.s*this.n/this.d),v)},floor:function(v){return v=Math.pow(10,v||0),isNaN(this.n)||isNaN(this.d)?new g(NaN):a(Math.floor(v*this.s*this.n/this.d),v)},round:function(v){return v=Math.pow(10,v||0),isNaN(this.n)||isNaN(this.d)?new g(NaN):a(Math.round(v*this.s*this.n/this.d),v)},inverse:function(){return a(this.s*this.d,this.n)},pow:function(v,E){if(c(v,E),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 b=l(this.n),N=l(this.d),x=1,F=1;for(var M in b)if(M!=="1"){if(M==="0"){x=0;break}if(b[M]*=n.n,b[M]%n.d===0)b[M]/=n.d;else return null;x*=Math.pow(M,b[M])}for(var M in N)if(M!=="1"){if(N[M]*=n.n,N[M]%n.d===0)N[M]/=n.d;else return null;F*=Math.pow(M,N[M])}return n.s<0?a(F,x):a(x,F)},equals:function(v,E){return c(v,E),this.s*this.n*n.d===n.s*n.n*this.d},compare:function(v,E){c(v,E);var b=this.s*this.n*n.d-n.s*n.n*this.d;return(0<b)-(b<0)},simplify:function(v){if(isNaN(this.n)||isNaN(this.d))return this;v=v||.001;for(var E=this.abs(),b=E.toContinued(),N=1;N<b.length;N++){for(var x=a(b[N-1],1),F=N-2;F>=0;F--)x=x.inverse().add(b[F]);if(Math.abs(x.sub(E).valueOf())<v)return x.mul(this.s)}return this},divisible:function(v,E){return c(v,E),!(!(n.n*this.d)||this.n*n.d%(n.n*this.d))},valueOf:function(){return this.s*this.n/this.d},toFraction:function(v){var E,b="",N=this.n,x=this.d;return this.s<0&&(b+="-"),x===1?b+=N:(v&&(E=Math.floor(N/x))>0&&(b+=E,b+=" ",N%=x),b+=N,b+="/",b+=x),b},toLatex:function(v){var E,b="",N=this.n,x=this.d;return this.s<0&&(b+="-"),x===1?b+=N:(v&&(E=Math.floor(N/x))>0&&(b+=E,N%=x),b+="\\frac{",b+=N,b+="}{",b+=x,b+="}"),b},toContinued:function(){var v,E=this.n,b=this.d,N=[];if(isNaN(E)||isNaN(b))return N;do N.push(Math.floor(E/b)),v=E%b,E=b,b=v;while(E!==1);return N},toString:function(v){var E=this.n,b=this.d;if(isNaN(E)||isNaN(b))return"NaN";v=v||15;var N=p(E,b),x=f(E,b,N),F=this.s<0?"-":"";if(F+=E/b|0,E%=b,E*=10,E&&(F+="."),N){for(var M=x;M--;)F+=E/b|0,E%=b,E*=10;F+="(";for(var M=N;M--;)F+=E/b|0,E%=b,E*=10;F+=")"}else for(var M=v;E&&M--;)F+=E/b|0,E%=b,E*=10;return F}},Object.defineProperty(g,"__esModule",{value:!0}),g.default=g,g.Fraction=g,i.exports=g})()})(Ec);var K_=Ec.exports,ln=Kt(K_),H_="Fraction",J_=[],X_=mt(H_,J_,()=>(Object.defineProperty(ln,"name",{value:"Fraction"}),ln.prototype.constructor=ln,ln.prototype.type="Fraction",ln.prototype.isFraction=!0,ln.prototype.toJSON=function(){return{mathjs:"Fraction",n:this.s*this.n,d:this.d}},ln.fromJSON=function(i){return new ln(i)},ln),{isClass:!0}),Q_="Matrix",tm=[],em=mt(Q_,tm,()=>{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 xc(i){return Object.keys(i.signatures||{}).reduce(function(t,e){var r=(e.match(/,/g)||[]).length+1;return Math.max(t,r)},-1)}var rm="DenseMatrix",nm=["Matrix"],im=mt(rm,nm,i=>{var{Matrix:t}=i;function e(p,f){if(!(this instanceof e))throw new SyntaxError("Constructor must be called with the new operator");if(f&&!Xr(f))throw new Error("Invalid datatype: "+f);if(me(p))p.type==="DenseMatrix"?(this._data=se(p._data),this._size=se(p._size),this._datatype=f||p._datatype):(this._data=p.toArray(),this._size=p.size(),this._datatype=f||p._datatype);else if(p&&be(p.data)&&be(p.size))this._data=p.data,this._size=p.size,Xl(this._data,this._size),this._datatype=f||p.datatype;else if(be(p))this._data=h(p),this._size=Be(this._data),Xl(this._data,this._size),this._datatype=f;else{if(p)throw new TypeError("Unsupported type of data ("+En(p)+")");this._data=[],this._size=[0],this._datatype=f}}e.prototype=new t,e.prototype.createDenseMatrix=function(p,f){return new e(p,f)},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,En)},e.prototype.storage=function(){return"dense"},e.prototype.datatype=function(){return this._datatype},e.prototype.create=function(p,f){return new e(p,f)},e.prototype.subset=function(p,f,d){switch(arguments.length){case 1:return r(this,p);case 2:case 3:return s(this,p,f,d);default:throw new SyntaxError("Wrong number of arguments")}},e.prototype.get=function(p){if(!be(p))throw new TypeError("Array expected");if(p.length!==this._size.length)throw new Ht(p.length,this._size.length);for(var f=0;f<p.length;f++)Ee(p[f],this._size[f]);for(var d=this._data,g=0,w=p.length;g<w;g++){var m=p[g];Ee(m,d.length),d=d[m]}return d},e.prototype.set=function(p,f,d){if(!be(p))throw new TypeError("Array expected");if(p.length<this._size.length)throw new Ht(p.length,this._size.length,"<");var g,w,m,D=p.map(function(E){return E+1});c(this,D,d);var v=this._data;for(g=0,w=p.length-1;g<w;g++)m=p[g],Ee(m,v.length),v=v[m];return m=p[p.length-1],Ee(m,v.length),v[m]=f,this};function r(p,f){if(!ua(f))throw new TypeError("Invalid index");var d=f.isScalar();if(d)return p.get(f.min());var g=f.size();if(g.length!==p._size.length)throw new Ht(g.length,p._size.length);for(var w=f.min(),m=f.max(),D=0,v=p._size.length;D<v;D++)Ee(w[D],p._size[D]),Ee(m[D],p._size[D]);return new e(n(p._data,f,g.length,0),p._datatype)}function n(p,f,d,g){var w=g===d-1,m=f.dimension(g);return w?m.map(function(D){return Ee(D,p.length),p[D]}).valueOf():m.map(function(D){Ee(D,p.length);var v=p[D];return n(v,f,d,g+1)}).valueOf()}function s(p,f,d,g){if(!f||f.isIndex!==!0)throw new TypeError("Invalid index");var w=f.size(),m=f.isScalar(),D;if(me(d)?(D=d.size(),d=d.valueOf()):D=Be(d),m){if(D.length!==0)throw new TypeError("Scalar expected");p.set(f.min(),d,g)}else{if(!fi(D,w))try{D.length===0?d=ic([d],w):d=ic(d,w),D=Be(d)}catch{}if(w.length<p._size.length)throw new Ht(w.length,p._size.length,"<");if(D.length<w.length){for(var v=0,E=0;w[v]===1&&D[v]===1;)v++;for(;w[v]===1;)E++,v++;d=tc(d,w.length,E,D)}if(!fi(w,D))throw new Ht(w,D,">");var b=f.max().map(function(F){return F+1});c(p,b,g);var N=w.length,x=0;a(p._data,f,d,N,x)}return p}function a(p,f,d,g,w){var m=w===g-1,D=f.dimension(w);m?D.forEach(function(v,E){Ee(v),p[v]=d[E[0]]}):D.forEach(function(v,E){Ee(v),a(p[v],f,d[E[0]],g,w+1)})}e.prototype.resize=function(p,f,d){if(!Yi(p))throw new TypeError("Array or Matrix expected");var g=p.valueOf().map(m=>Array.isArray(m)&&m.length===1?m[0]:m),w=d?this.clone():this;return l(w,g,f)};function l(p,f,d){if(f.length===0){for(var g=p._data;be(g);)g=g[0];return g}return p._size=f.slice(0),p._data=pa(p._data,p._size,d),p}e.prototype.reshape=function(p,f){var d=f?this.clone():this;d._data=_a(d._data,p);var g=d._size.reduce((w,m)=>w*m);return d._size=ma(p,g),d};function c(p,f,d){for(var g=p._size.slice(0),w=!1;g.length<f.length;)g.push(0),w=!0;for(var m=0,D=f.length;m<D;m++)f[m]>g[m]&&(g[m]=f[m],w=!0);w&&l(p,g,d)}e.prototype.clone=function(){var p=new e({data:se(this._data),size:se(this._size),datatype:this._datatype});return p},e.prototype.size=function(){return this._size.slice(0)},e.prototype.map=function(p){var f=this,d=xc(p),g=function D(v,E){return be(v)?v.map(function(b,N){return D(b,E.concat(N))}):d===1?p(v):d===2?p(v,E):p(v,E,f)},w=g(this._data,[]),m=this._datatype!==void 0?Ms(w,En):void 0;return new e(w,m)},e.prototype.forEach=function(p){var f=this,d=function g(w,m){be(w)?w.forEach(function(D,v){g(D,m.concat(v))}):p(w,m,f)};d(this._data,[])},e.prototype[Symbol.iterator]=function*(){var p=function*f(d,g){if(be(d))for(var w=0;w<d.length;w++)yield*f(d[w],g.concat(w));else yield{value:d,index:g}};yield*p(this._data,[])},e.prototype.rows=function(){var p=[],f=this.size();if(f.length!==2)throw new TypeError("Rows can only be returned for a 2D matrix.");var d=this._data;for(var g of d)p.push(new e([g],this._datatype));return p},e.prototype.columns=function(){var p=this,f=[],d=this.size();if(d.length!==2)throw new TypeError("Rows can only be returned for a 2D matrix.");for(var g=this._data,w=function(v){var E=g.map(b=>[b[v]]);f.push(new e(E,p._datatype))},m=0;m<d[1];m++)w(m);return f},e.prototype.toArray=function(){return se(this._data)},e.prototype.valueOf=function(){return this._data},e.prototype.format=function(p){return le(this._data,p)},e.prototype.toString=function(){return le(this._data)},e.prototype.toJSON=function(){return{mathjs:"DenseMatrix",data:this._data,size:this._size,datatype:this._datatype}},e.prototype.diagonal=function(p){if(p){if(Fe(p)&&(p=p.toNumber()),!he(p)||!we(p))throw new TypeError("The parameter k must be an integer number")}else p=0;for(var f=p>0?p:0,d=p<0?-p:0,g=this._size[0],w=this._size[1],m=Math.min(g-d,w-f),D=[],v=0;v<m;v++)D[v]=this._data[v+d][v+f];return new e({data:D,size:[m],datatype:this._datatype})},e.diagonal=function(p,f,d,g){if(!be(p))throw new TypeError("Array expected, size parameter");if(p.length!==2)throw new Error("Only two dimensions matrix are supported");if(p=p.map(function(M){if(Fe(M)&&(M=M.toNumber()),!he(M)||!we(M)||M<1)throw new Error("Size values must be positive integers");return M}),d){if(Fe(d)&&(d=d.toNumber()),!he(d)||!we(d))throw new TypeError("The parameter k must be an integer number")}else d=0;var w=d>0?d:0,m=d<0?-d:0,D=p[0],v=p[1],E=Math.min(D-m,v-w),b;if(be(f)){if(f.length!==E)throw new Error("Invalid value array length");b=function(S){return f[S]}}else if(me(f)){var N=f.size();if(N.length!==1||N[0]!==E)throw new Error("Invalid matrix length");b=function(S){return f.get([S])}}else b=function(){return f};g||(g=Fe(b(0))?b(0).mul(0):0);var x=[];if(p.length>0){x=pa(x,p,g);for(var F=0;F<E;F++)x[F+m][F+w]=b(F)}return new e({data:x,size:[D,v]})},e.fromJSON=function(p){return new e(p)},e.prototype.swapRows=function(p,f){if(!he(p)||!we(p)||!he(f)||!we(f))throw new Error("Row index must be positive integers");if(this._size.length!==2)throw new Error("Only two dimensional matrix is supported");return Ee(p,this._size[0]),Ee(f,this._size[0]),e._swapRows(p,f,this._data),this},e._swapRows=function(p,f,d){var g=d[p];d[p]=d[f],d[f]=g};function h(p){return me(p)?h(p.valueOf()):be(p)?p.map(h):p}return e},{isClass:!0});function sm(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 Ps(i){for(var t=0;t<i.length;t++)if(Yi(i[t]))return!0;return!1}function Gi(i,t){me(i)&&(i=i.valueOf());for(var e=0,r=i.length;e<r;e++){var n=i[e];Array.isArray(n)?Gi(n,t):t(n)}}function Yr(i,t,e){return i&&typeof i.map=="function"?i.map(function(r){return Yr(r,t)}):t(i)}function Ca(i,t,e){var r=Array.isArray(i)?Be(i):i.size();if(t<0||t>=r.length)throw new xn(t,r.length);return me(i)?i.create(zs(i.valueOf(),t,e)):zs(i,t,e)}function zs(i,t,e){var r,n,s,a;if(t<=0)if(Array.isArray(i[0])){for(a=sm(i),n=[],r=0;r<a.length;r++)n[r]=zs(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]=zs(i[r],t-1,e);return n}}var Ac="isInteger",om=["typed"],am=mt(Ac,om,i=>{var{typed:t}=i;return t(Ac,{number:we,BigNumber:function(r){return r.isInt()},Fraction:function(r){return r.d===1&&isFinite(r.n)},"Array | Matrix":t.referToSelf(e=>r=>Yr(r,e))})}),Cc="number",qs="number, number";function Fc(i){return Math.abs(i)}Fc.signature=Cc;function Mc(i,t){return i+t}Mc.signature=qs;function Nc(i,t){return i-t}Nc.signature=qs;function Sc(i,t){return i*t}Sc.signature=qs;function Bc(i){return-i}Bc.signature=Cc;function Oc(i,t){return i*i<1&&t===1/0||i*i>1&&t===-1/0?0:Math.pow(i,t)}Oc.signature=qs;var Tc="number";function Ic(i){return i===0}Ic.signature=Tc;function $c(i){return Number.isNaN(i)}$c.signature=Tc;var Lc="isNumeric",um=["typed"],lm=mt(Lc,um,i=>{var{typed:t}=i;return t(Lc,{"number | BigNumber | Fraction | boolean":()=>!0,"Complex | Unit | string | null | undefined | Node":()=>!1,"Array | Matrix":t.referToSelf(e=>r=>Yr(r,e))})}),Rc="isZero",cm=["typed"],fm=mt(Rc,cm,i=>{var{typed:t}=i;return t(Rc,{number:Ic,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=>Yr(r,e))})}),Pc="isNaN",hm=["typed"],pm=mt(Pc,hm,i=>{var{typed:t}=i;return t(Pc,{number:$c,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 Yr(r,Number.isNaN)}})});function ks(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 dm(i,t,e){return Gn(i.re,t.re,e)&&Gn(i.im,t.im,e)}var Us=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)})}}),Ws="equalScalar",_m=["typed","config"],mm=mt(Ws,_m,i=>{var{typed:t,config:e}=i,r=Us({typed:t});return t(Ws,{"boolean, boolean":function(s,a){return s===a},"number, number":function(s,a){return Gn(s,a,e.epsilon)},"BigNumber, BigNumber":function(s,a){return s.eq(a)||ks(s,a,e.epsilon)},"Fraction, Fraction":function(s,a){return s.equals(a)},"Complex, Complex":function(s,a){return dm(s,a,e.epsilon)}},r)});mt(Ws,["typed","config"],i=>{var{typed:t,config:e}=i;return t(Ws,{"number, number":function(n,s){return Gn(n,s,e.epsilon)}})});var gm="SparseMatrix",vm=["typed","equalScalar","Matrix"],wm=mt(gm,vm,i=>{var{typed:t,equalScalar:e,Matrix:r}=i;function n(m,D){if(!(this instanceof n))throw new SyntaxError("Constructor must be called with the new operator");if(D&&!Xr(D))throw new Error("Invalid datatype: "+D);if(me(m))s(this,m,D);else if(m&&be(m.index)&&be(m.ptr)&&be(m.size))this._values=m.values,this._index=m.index,this._ptr=m.ptr,this._size=m.size,this._datatype=D||m.datatype;else if(be(m))a(this,m,D);else{if(m)throw new TypeError("Unsupported type of data ("+En(m)+")");this._values=[],this._index=[],this._ptr=[0],this._size=[0,0],this._datatype=D}}function s(m,D,v){D.type==="SparseMatrix"?(m._values=D._values?se(D._values):void 0,m._index=se(D._index),m._ptr=se(D._ptr),m._size=se(D._size),m._datatype=v||D._datatype):a(m,D.valueOf(),v||D._datatype)}function a(m,D,v){m._values=[],m._index=[],m._ptr=[],m._datatype=v;var E=D.length,b=0,N=e,x=0;if(Xr(v)&&(N=t.find(e,[v,v])||e,x=t.convert(0,v)),E>0){var F=0;do{m._ptr.push(m._index.length);for(var M=0;M<E;M++){var S=D[M];if(be(S)){if(F===0&&b<S.length&&(b=S.length),F<S.length){var I=S[F];N(I,x)||(m._values.push(I),m._index.push(M))}}else F===0&&b<1&&(b=1),N(S,x)||(m._values.push(S),m._index.push(M))}F++}while(F<b)}m._ptr.push(m._index.length),m._size=[E,b]}n.prototype=new r,n.prototype.createSparseMatrix=function(m,D){return new n(m,D)},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,En)},n.prototype.storage=function(){return"sparse"},n.prototype.datatype=function(){return this._datatype},n.prototype.create=function(m,D){return new n(m,D)},n.prototype.density=function(){var m=this._size[0],D=this._size[1];return m!==0&&D!==0?this._index.length/(m*D):0},n.prototype.subset=function(m,D,v){if(!this._values)throw new Error("Cannot invoke subset on a Pattern only matrix");switch(arguments.length){case 1:return l(this,m);case 2:case 3:return c(this,m,D,v);default:throw new SyntaxError("Wrong number of arguments")}};function l(m,D){if(!ua(D))throw new TypeError("Invalid index");var v=D.isScalar();if(v)return m.get(D.min());var E=D.size();if(E.length!==m._size.length)throw new Ht(E.length,m._size.length);var b,N,x,F,M=D.min(),S=D.max();for(b=0,N=m._size.length;b<N;b++)Ee(M[b],m._size[b]),Ee(S[b],m._size[b]);var I=m._values,C=m._index,O=m._ptr,L=D.dimension(0),k=D.dimension(1),U=[],W=[];L.forEach(function(X,tt){W[X]=tt[0],U[X]=!0});var P=I?[]:void 0,G=[],Z=[];return k.forEach(function(X){for(Z.push(G.length),x=O[X],F=O[X+1];x<F;x++)b=C[x],U[b]===!0&&(G.push(W[b]),P&&P.push(I[x]))}),Z.push(G.length),new n({values:P,index:G,ptr:Z,size:E,datatype:m._datatype})}function c(m,D,v,E){if(!D||D.isIndex!==!0)throw new TypeError("Invalid index");var b=D.size(),N=D.isScalar(),x;if(me(v)?(x=v.size(),v=v.toArray()):x=Be(v),N){if(x.length!==0)throw new TypeError("Scalar expected");m.set(D.min(),v,E)}else{if(b.length!==1&&b.length!==2)throw new Ht(b.length,m._size.length,"<");if(x.length<b.length){for(var F=0,M=0;b[F]===1&&x[F]===1;)F++;for(;b[F]===1;)M++,F++;v=tc(v,b.length,M,x)}if(!fi(b,x))throw new Ht(b,x,">");if(b.length===1){var S=D.dimension(0);S.forEach(function(O,L){Ee(O),m.set([O,0],v[L[0]],E)})}else{var I=D.dimension(0),C=D.dimension(1);I.forEach(function(O,L){Ee(O),C.forEach(function(k,U){Ee(k),m.set([O,k],v[L[0]][U[0]],E)})})}}return m}n.prototype.get=function(m){if(!be(m))throw new TypeError("Array expected");if(m.length!==this._size.length)throw new Ht(m.length,this._size.length);if(!this._values)throw new Error("Cannot invoke get on a Pattern only matrix");var D=m[0],v=m[1];Ee(D,this._size[0]),Ee(v,this._size[1]);var E=h(D,this._ptr[v],this._ptr[v+1],this._index);return E<this._ptr[v+1]&&this._index[E]===D?this._values[E]:0},n.prototype.set=function(m,D,v){if(!be(m))throw new TypeError("Array expected");if(m.length!==this._size.length)throw new Ht(m.length,this._size.length);if(!this._values)throw new Error("Cannot invoke set on a Pattern only matrix");var E=m[0],b=m[1],N=this._size[0],x=this._size[1],F=e,M=0;Xr(this._datatype)&&(F=t.find(e,[this._datatype,this._datatype])||e,M=t.convert(0,this._datatype)),(E>N-1||b>x-1)&&(d(this,Math.max(E+1,N),Math.max(b+1,x),v),N=this._size[0],x=this._size[1]),Ee(E,N),Ee(b,x);var S=h(E,this._ptr[b],this._ptr[b+1],this._index);return S<this._ptr[b+1]&&this._index[S]===E?F(D,M)?p(S,b,this._values,this._index,this._ptr):this._values[S]=D:F(D,M)||f(S,E,b,D,this._values,this._index,this._ptr),this};function h(m,D,v,E){if(v-D===0)return v;for(var b=D;b<v;b++)if(E[b]===m)return b;return D}function p(m,D,v,E,b){v.splice(m,1),E.splice(m,1);for(var N=D+1;N<b.length;N++)b[N]--}function f(m,D,v,E,b,N,x){b.splice(m,0,E),N.splice(m,0,D);for(var F=v+1;F<x.length;F++)x[F]++}n.prototype.resize=function(m,D,v){if(!Yi(m))throw new TypeError("Array or Matrix expected");var E=m.valueOf().map(N=>Array.isArray(N)&&N.length===1?N[0]:N);if(E.length!==2)throw new Error("Only two dimensions matrix are supported");E.forEach(function(N){if(!he(N)||!we(N)||N<0)throw new TypeError("Invalid size, must contain positive integers (size: "+le(E)+")")});var b=v?this.clone():this;return d(b,E[0],E[1],D)};function d(m,D,v,E){var b=E||0,N=e,x=0;Xr(m._datatype)&&(N=t.find(e,[m._datatype,m._datatype])||e,x=t.convert(0,m._datatype),b=t.convert(b,m._datatype));var F=!N(b,x),M=m._size[0],S=m._size[1],I,C,O;if(v>S){for(C=S;C<v;C++)if(m._ptr[C]=m._values.length,F)for(I=0;I<M;I++)m._values.push(b),m._index.push(I);m._ptr[v]=m._values.length}else v<S&&(m._ptr.splice(v+1,S-v),m._values.splice(m._ptr[v],m._values.length),m._index.splice(m._ptr[v],m._index.length));if(S=v,D>M){if(F){var L=0;for(C=0;C<S;C++){m._ptr[C]=m._ptr[C]+L,O=m._ptr[C+1]+L;var k=0;for(I=M;I<D;I++,k++)m._values.splice(O+k,0,b),m._index.splice(O+k,0,I),L++}m._ptr[S]=m._values.length}}else if(D<M){var U=0;for(C=0;C<S;C++){m._ptr[C]=m._ptr[C]-U;var W=m._ptr[C],P=m._ptr[C+1]-U;for(O=W;O<P;O++)I=m._index[O],I>D-1&&(m._values.splice(O,1),m._index.splice(O,1),U++)}m._ptr[C]=m._values.length}return m._size[0]=D,m._size[1]=v,m}n.prototype.reshape=function(m,D){if(!be(m))throw new TypeError("Array expected");if(m.length!==2)throw new Error("Sparse matrices can only be reshaped in two dimensions");m.forEach(function(X){if(!he(X)||!we(X)||X<=-2||X===0)throw new TypeError("Invalid size, must contain positive integers or -1 (size: "+le(m)+")")});var v=this._size[0]*this._size[1];m=ma(m,v);var E=m[0]*m[1];if(v!==E)throw new Error("Reshaping sparse matrix will result in the wrong number of elements");var b=D?this.clone():this;if(this._size[0]===m[0]&&this._size[1]===m[1])return b;for(var N=[],x=0;x<b._ptr.length;x++)for(var F=0;F<b._ptr[x+1]-b._ptr[x];F++)N.push(x);for(var M=b._values.slice(),S=b._index.slice(),I=0;I<b._index.length;I++){var C=S[I],O=N[I],L=C*b._size[1]+O;N[I]=L%m[1],S[I]=Math.floor(L/m[1])}b._values.length=0,b._index.length=0,b._ptr.length=m[1]+1,b._size=m.slice();for(var k=0;k<b._ptr.length;k++)b._ptr[k]=0;for(var U=0;U<M.length;U++){var W=S[U],P=N[U],G=M[U],Z=h(W,b._ptr[P],b._ptr[P+1],b._index);f(Z,W,P,G,b._values,b._index,b._ptr)}return b},n.prototype.clone=function(){var m=new n({values:this._values?se(this._values):void 0,index:se(this._index),ptr:se(this._ptr),size:se(this._size),datatype:this._datatype});return m},n.prototype.size=function(){return this._size.slice(0)},n.prototype.map=function(m,D){if(!this._values)throw new Error("Cannot invoke map on a Pattern only matrix");var v=this,E=this._size[0],b=this._size[1],N=xc(m),x=function(M,S,I){return N===1?m(M):N===2?m(M,[S,I]):m(M,[S,I],v)};return g(this,0,E-1,0,b-1,x,D)};function g(m,D,v,E,b,N,x){var F=[],M=[],S=[],I=e,C=0;Xr(m._datatype)&&(I=t.find(e,[m._datatype,m._datatype])||e,C=t.convert(0,m._datatype));for(var O=function(lt,yt,bt){lt=N(lt,yt,bt),I(lt,C)||(F.push(lt),M.push(yt))},L=E;L<=b;L++){S.push(F.length);var k=m._ptr[L],U=m._ptr[L+1];if(x)for(var W=k;W<U;W++){var P=m._index[W];P>=D&&P<=v&&O(m._values[W],P-D,L-E)}else{for(var G={},Z=k;Z<U;Z++){var X=m._index[Z];G[X]=m._values[Z]}for(var tt=D;tt<=v;tt++){var ct=tt in G?G[tt]:0;O(ct,tt-D,L-E)}}}return S.push(F.length),new n({values:F,index:M,ptr:S,size:[v-D+1,b-E+1]})}n.prototype.forEach=function(m,D){if(!this._values)throw new Error("Cannot invoke forEach on a Pattern only matrix");for(var v=this,E=this._size[0],b=this._size[1],N=0;N<b;N++){var x=this._ptr[N],F=this._ptr[N+1];if(D)for(var M=x;M<F;M++){var S=this._index[M];m(this._values[M],[S,N],v)}else{for(var I={},C=x;C<F;C++){var O=this._index[C];I[O]=this._values[C]}for(var L=0;L<E;L++){var k=L in I?I[L]:0;m(k,[L,N],v)}}}},n.prototype[Symbol.iterator]=function*(){if(!this._values)throw new Error("Cannot iterate a Pattern only matrix");for(var m=this._size[1],D=0;D<m;D++)for(var v=this._ptr[D],E=this._ptr[D+1],b=v;b<E;b++){var N=this._index[b];yield{value:this._values[b],index:[N,D]}}},n.prototype.toArray=function(){return w(this._values,this._index,this._ptr,this._size,!0)},n.prototype.valueOf=function(){return w(this._values,this._index,this._ptr,this._size,!1)};function w(m,D,v,E,b){var N=E[0],x=E[1],F=[],M,S;for(M=0;M<N;M++)for(F[M]=[],S=0;S<x;S++)F[M][S]=0;for(S=0;S<x;S++)for(var I=v[S],C=v[S+1],O=I;O<C;O++)M=D[O],F[M][S]=m?b?se(m[O]):m[O]:1;return F}return n.prototype.format=function(m){for(var D=this._size[0],v=this._size[1],E=this.density(),b="Sparse Matrix ["+le(D,m)+" x "+le(v,m)+"] density: "+le(E,m)+`
52
+ **/(function(i,t){(function(e){var r=2e3,n={s:1,n:0,d:1};function s(v,E){if(isNaN(v=parseInt(v,10)))throw m();return v*E}function a(v,E){if(E===0)throw y();var b=Object.create(g.prototype);b.s=v<0?-1:1,v=v<0?-v:v;var N=d(v,E);return b.n=v/N,b.d=E/N,b}function l(v){for(var E={},b=v,N=2,x=4;x<=b;){for(;b%N===0;)b/=N,E[N]=(E[N]||0)+1;x+=1+2*N++}return b!==v?b>1&&(E[b]=(E[b]||0)+1):E[v]=(E[v]||0)+1,E}var c=function(v,E){var b=0,N=1,x=1,F=0,M=0,S=0,I=1,C=1,O=0,L=1,U=1,k=1,W=1e7,P;if(v!=null)if(E!==void 0){if(b=v,N=E,x=b*N,b%1!==0||N%1!==0)throw D()}else switch(typeof v){case"object":{if("d"in v&&"n"in v)b=v.n,N=v.d,"s"in v&&(b*=v.s);else if(0 in v)b=v[0],1 in v&&(N=v[1]);else throw m();x=b*N;break}case"number":{if(v<0&&(x=v,v=-v),v%1===0)b=v;else if(v>0){for(v>=1&&(C=Math.pow(10,Math.floor(1+Math.log(v)/Math.LN10)),v/=C);L<=W&&k<=W;)if(P=(O+U)/(L+k),v===P){L+k<=W?(b=O+U,N=L+k):k>L?(b=U,N=k):(b=O,N=L);break}else v>P?(O+=U,L+=k):(U+=O,k+=L),L>W?(b=U,N=k):(b=O,N=L);b*=C}else(isNaN(v)||isNaN(E))&&(N=b=NaN);break}case"string":{if(L=v.match(/\d+|./g),L===null)throw m();if(L[O]==="-"?(x=-1,O++):L[O]==="+"&&O++,L.length===O+1?M=s(L[O++],x):L[O+1]==="."||L[O]==="."?(L[O]!=="."&&(F=s(L[O++],x)),O++,(O+1===L.length||L[O+1]==="("&&L[O+3]===")"||L[O+1]==="'"&&L[O+3]==="'")&&(M=s(L[O],x),I=Math.pow(10,L[O].length),O++),(L[O]==="("&&L[O+2]===")"||L[O]==="'"&&L[O+2]==="'")&&(S=s(L[O+1],x),C=Math.pow(10,L[O+1].length)-1,O+=3)):L[O+1]==="/"||L[O+1]===":"?(M=s(L[O],x),I=s(L[O+2],1),O+=3):L[O+3]==="/"&&L[O+1]===" "&&(F=s(L[O],x),M=s(L[O+2],x),I=s(L[O+4],1),O+=5),L.length<=O){N=I*C,x=b=S+N*F+C*M;break}}default:throw m()}if(N===0)throw y();n.s=x<0?-1:1,n.n=Math.abs(b),n.d=Math.abs(N)};function h(v,E,b){for(var N=1;E>0;v=v*v%b,E>>=1)E&1&&(N=N*v%b);return N}function p(v,E){for(;E%2===0;E/=2);for(;E%5===0;E/=5);if(E===1)return 0;for(var b=10%E,N=1;b!==1;N++)if(b=b*10%E,N>r)return 0;return N}function f(v,E,b){for(var N=1,x=h(10,b,E),F=0;F<300;F++){if(N===x)return F;N=N*10%E,x=x*10%E}return 0}function d(v,E){if(!v)return E;if(!E)return v;for(;;){if(v%=E,!v)return E;if(E%=v,!E)return v}}function g(v,E){if(c(v,E),this instanceof g)v=d(n.d,n.n),this.s=n.s,this.n=n.n/v,this.d=n.d/v;else return a(n.s*n.n,n.d)}var y=function(){return new Error("Division by Zero")},m=function(){return new Error("Invalid argument")},D=function(){return new Error("Parameters must be integer")};g.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(v,E){return c(v,E),a(this.s*this.n*n.d+n.s*this.d*n.n,this.d*n.d)},sub:function(v,E){return c(v,E),a(this.s*this.n*n.d-n.s*this.d*n.n,this.d*n.d)},mul:function(v,E){return c(v,E),a(this.s*n.s*this.n*n.n,this.d*n.d)},div:function(v,E){return c(v,E),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(v,E){if(isNaN(this.n)||isNaN(this.d))return new g(NaN);if(v===void 0)return a(this.s*this.n%this.d,1);if(c(v,E),n.n===0&&this.d===0)throw y();return a(this.s*(n.d*this.n)%(n.n*this.d),n.d*this.d)},gcd:function(v,E){return c(v,E),a(d(n.n,this.n)*d(n.d,this.d),n.d*this.d)},lcm:function(v,E){return c(v,E),n.n===0&&this.n===0?a(0,1):a(n.n*this.n,d(n.n,this.n)*d(n.d,this.d))},ceil:function(v){return v=Math.pow(10,v||0),isNaN(this.n)||isNaN(this.d)?new g(NaN):a(Math.ceil(v*this.s*this.n/this.d),v)},floor:function(v){return v=Math.pow(10,v||0),isNaN(this.n)||isNaN(this.d)?new g(NaN):a(Math.floor(v*this.s*this.n/this.d),v)},round:function(v){return v=Math.pow(10,v||0),isNaN(this.n)||isNaN(this.d)?new g(NaN):a(Math.round(v*this.s*this.n/this.d),v)},inverse:function(){return a(this.s*this.d,this.n)},pow:function(v,E){if(c(v,E),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 b=l(this.n),N=l(this.d),x=1,F=1;for(var M in b)if(M!=="1"){if(M==="0"){x=0;break}if(b[M]*=n.n,b[M]%n.d===0)b[M]/=n.d;else return null;x*=Math.pow(M,b[M])}for(var M in N)if(M!=="1"){if(N[M]*=n.n,N[M]%n.d===0)N[M]/=n.d;else return null;F*=Math.pow(M,N[M])}return n.s<0?a(F,x):a(x,F)},equals:function(v,E){return c(v,E),this.s*this.n*n.d===n.s*n.n*this.d},compare:function(v,E){c(v,E);var b=this.s*this.n*n.d-n.s*n.n*this.d;return(0<b)-(b<0)},simplify:function(v){if(isNaN(this.n)||isNaN(this.d))return this;v=v||.001;for(var E=this.abs(),b=E.toContinued(),N=1;N<b.length;N++){for(var x=a(b[N-1],1),F=N-2;F>=0;F--)x=x.inverse().add(b[F]);if(Math.abs(x.sub(E).valueOf())<v)return x.mul(this.s)}return this},divisible:function(v,E){return c(v,E),!(!(n.n*this.d)||this.n*n.d%(n.n*this.d))},valueOf:function(){return this.s*this.n/this.d},toFraction:function(v){var E,b="",N=this.n,x=this.d;return this.s<0&&(b+="-"),x===1?b+=N:(v&&(E=Math.floor(N/x))>0&&(b+=E,b+=" ",N%=x),b+=N,b+="/",b+=x),b},toLatex:function(v){var E,b="",N=this.n,x=this.d;return this.s<0&&(b+="-"),x===1?b+=N:(v&&(E=Math.floor(N/x))>0&&(b+=E,N%=x),b+="\\frac{",b+=N,b+="}{",b+=x,b+="}"),b},toContinued:function(){var v,E=this.n,b=this.d,N=[];if(isNaN(E)||isNaN(b))return N;do N.push(Math.floor(E/b)),v=E%b,E=b,b=v;while(E!==1);return N},toString:function(v){var E=this.n,b=this.d;if(isNaN(E)||isNaN(b))return"NaN";v=v||15;var N=p(E,b),x=f(E,b,N),F=this.s<0?"-":"";if(F+=E/b|0,E%=b,E*=10,E&&(F+="."),N){for(var M=x;M--;)F+=E/b|0,E%=b,E*=10;F+="(";for(var M=N;M--;)F+=E/b|0,E%=b,E*=10;F+=")"}else for(var M=v;E&&M--;)F+=E/b|0,E%=b,E*=10;return F}},Object.defineProperty(g,"__esModule",{value:!0}),g.default=g,g.Fraction=g,i.exports=g})()})(Ec);var K_=Ec.exports,ln=Kt(K_),H_="Fraction",J_=[],X_=mt(H_,J_,()=>(Object.defineProperty(ln,"name",{value:"Fraction"}),ln.prototype.constructor=ln,ln.prototype.type="Fraction",ln.prototype.isFraction=!0,ln.prototype.toJSON=function(){return{mathjs:"Fraction",n:this.s*this.n,d:this.d}},ln.fromJSON=function(i){return new ln(i)},ln),{isClass:!0}),Q_="Matrix",tm=[],em=mt(Q_,tm,()=>{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 xc(i){return Object.keys(i.signatures||{}).reduce(function(t,e){var r=(e.match(/,/g)||[]).length+1;return Math.max(t,r)},-1)}var rm="DenseMatrix",nm=["Matrix"],im=mt(rm,nm,i=>{var{Matrix:t}=i;function e(p,f){if(!(this instanceof e))throw new SyntaxError("Constructor must be called with the new operator");if(f&&!Xr(f))throw new Error("Invalid datatype: "+f);if(me(p))p.type==="DenseMatrix"?(this._data=se(p._data),this._size=se(p._size),this._datatype=f||p._datatype):(this._data=p.toArray(),this._size=p.size(),this._datatype=f||p._datatype);else if(p&&be(p.data)&&be(p.size))this._data=p.data,this._size=p.size,Xl(this._data,this._size),this._datatype=f||p.datatype;else if(be(p))this._data=h(p),this._size=Be(this._data),Xl(this._data,this._size),this._datatype=f;else{if(p)throw new TypeError("Unsupported type of data ("+En(p)+")");this._data=[],this._size=[0],this._datatype=f}}e.prototype=new t,e.prototype.createDenseMatrix=function(p,f){return new e(p,f)},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,En)},e.prototype.storage=function(){return"dense"},e.prototype.datatype=function(){return this._datatype},e.prototype.create=function(p,f){return new e(p,f)},e.prototype.subset=function(p,f,d){switch(arguments.length){case 1:return r(this,p);case 2:case 3:return s(this,p,f,d);default:throw new SyntaxError("Wrong number of arguments")}},e.prototype.get=function(p){if(!be(p))throw new TypeError("Array expected");if(p.length!==this._size.length)throw new Ht(p.length,this._size.length);for(var f=0;f<p.length;f++)Ee(p[f],this._size[f]);for(var d=this._data,g=0,y=p.length;g<y;g++){var m=p[g];Ee(m,d.length),d=d[m]}return d},e.prototype.set=function(p,f,d){if(!be(p))throw new TypeError("Array expected");if(p.length<this._size.length)throw new Ht(p.length,this._size.length,"<");var g,y,m,D=p.map(function(E){return E+1});c(this,D,d);var v=this._data;for(g=0,y=p.length-1;g<y;g++)m=p[g],Ee(m,v.length),v=v[m];return m=p[p.length-1],Ee(m,v.length),v[m]=f,this};function r(p,f){if(!ua(f))throw new TypeError("Invalid index");var d=f.isScalar();if(d)return p.get(f.min());var g=f.size();if(g.length!==p._size.length)throw new Ht(g.length,p._size.length);for(var y=f.min(),m=f.max(),D=0,v=p._size.length;D<v;D++)Ee(y[D],p._size[D]),Ee(m[D],p._size[D]);return new e(n(p._data,f,g.length,0),p._datatype)}function n(p,f,d,g){var y=g===d-1,m=f.dimension(g);return y?m.map(function(D){return Ee(D,p.length),p[D]}).valueOf():m.map(function(D){Ee(D,p.length);var v=p[D];return n(v,f,d,g+1)}).valueOf()}function s(p,f,d,g){if(!f||f.isIndex!==!0)throw new TypeError("Invalid index");var y=f.size(),m=f.isScalar(),D;if(me(d)?(D=d.size(),d=d.valueOf()):D=Be(d),m){if(D.length!==0)throw new TypeError("Scalar expected");p.set(f.min(),d,g)}else{if(!fi(D,y))try{D.length===0?d=ic([d],y):d=ic(d,y),D=Be(d)}catch{}if(y.length<p._size.length)throw new Ht(y.length,p._size.length,"<");if(D.length<y.length){for(var v=0,E=0;y[v]===1&&D[v]===1;)v++;for(;y[v]===1;)E++,v++;d=tc(d,y.length,E,D)}if(!fi(y,D))throw new Ht(y,D,">");var b=f.max().map(function(F){return F+1});c(p,b,g);var N=y.length,x=0;a(p._data,f,d,N,x)}return p}function a(p,f,d,g,y){var m=y===g-1,D=f.dimension(y);m?D.forEach(function(v,E){Ee(v),p[v]=d[E[0]]}):D.forEach(function(v,E){Ee(v),a(p[v],f,d[E[0]],g,y+1)})}e.prototype.resize=function(p,f,d){if(!Yi(p))throw new TypeError("Array or Matrix expected");var g=p.valueOf().map(m=>Array.isArray(m)&&m.length===1?m[0]:m),y=d?this.clone():this;return l(y,g,f)};function l(p,f,d){if(f.length===0){for(var g=p._data;be(g);)g=g[0];return g}return p._size=f.slice(0),p._data=pa(p._data,p._size,d),p}e.prototype.reshape=function(p,f){var d=f?this.clone():this;d._data=_a(d._data,p);var g=d._size.reduce((y,m)=>y*m);return d._size=ma(p,g),d};function c(p,f,d){for(var g=p._size.slice(0),y=!1;g.length<f.length;)g.push(0),y=!0;for(var m=0,D=f.length;m<D;m++)f[m]>g[m]&&(g[m]=f[m],y=!0);y&&l(p,g,d)}e.prototype.clone=function(){var p=new e({data:se(this._data),size:se(this._size),datatype:this._datatype});return p},e.prototype.size=function(){return this._size.slice(0)},e.prototype.map=function(p){var f=this,d=xc(p),g=function D(v,E){return be(v)?v.map(function(b,N){return D(b,E.concat(N))}):d===1?p(v):d===2?p(v,E):p(v,E,f)},y=g(this._data,[]),m=this._datatype!==void 0?Ms(y,En):void 0;return new e(y,m)},e.prototype.forEach=function(p){var f=this,d=function g(y,m){be(y)?y.forEach(function(D,v){g(D,m.concat(v))}):p(y,m,f)};d(this._data,[])},e.prototype[Symbol.iterator]=function*(){var p=function*f(d,g){if(be(d))for(var y=0;y<d.length;y++)yield*f(d[y],g.concat(y));else yield{value:d,index:g}};yield*p(this._data,[])},e.prototype.rows=function(){var p=[],f=this.size();if(f.length!==2)throw new TypeError("Rows can only be returned for a 2D matrix.");var d=this._data;for(var g of d)p.push(new e([g],this._datatype));return p},e.prototype.columns=function(){var p=this,f=[],d=this.size();if(d.length!==2)throw new TypeError("Rows can only be returned for a 2D matrix.");for(var g=this._data,y=function(v){var E=g.map(b=>[b[v]]);f.push(new e(E,p._datatype))},m=0;m<d[1];m++)y(m);return f},e.prototype.toArray=function(){return se(this._data)},e.prototype.valueOf=function(){return this._data},e.prototype.format=function(p){return le(this._data,p)},e.prototype.toString=function(){return le(this._data)},e.prototype.toJSON=function(){return{mathjs:"DenseMatrix",data:this._data,size:this._size,datatype:this._datatype}},e.prototype.diagonal=function(p){if(p){if(Fe(p)&&(p=p.toNumber()),!he(p)||!ye(p))throw new TypeError("The parameter k must be an integer number")}else p=0;for(var f=p>0?p:0,d=p<0?-p:0,g=this._size[0],y=this._size[1],m=Math.min(g-d,y-f),D=[],v=0;v<m;v++)D[v]=this._data[v+d][v+f];return new e({data:D,size:[m],datatype:this._datatype})},e.diagonal=function(p,f,d,g){if(!be(p))throw new TypeError("Array expected, size parameter");if(p.length!==2)throw new Error("Only two dimensions matrix are supported");if(p=p.map(function(M){if(Fe(M)&&(M=M.toNumber()),!he(M)||!ye(M)||M<1)throw new Error("Size values must be positive integers");return M}),d){if(Fe(d)&&(d=d.toNumber()),!he(d)||!ye(d))throw new TypeError("The parameter k must be an integer number")}else d=0;var y=d>0?d:0,m=d<0?-d:0,D=p[0],v=p[1],E=Math.min(D-m,v-y),b;if(be(f)){if(f.length!==E)throw new Error("Invalid value array length");b=function(S){return f[S]}}else if(me(f)){var N=f.size();if(N.length!==1||N[0]!==E)throw new Error("Invalid matrix length");b=function(S){return f.get([S])}}else b=function(){return f};g||(g=Fe(b(0))?b(0).mul(0):0);var x=[];if(p.length>0){x=pa(x,p,g);for(var F=0;F<E;F++)x[F+m][F+y]=b(F)}return new e({data:x,size:[D,v]})},e.fromJSON=function(p){return new e(p)},e.prototype.swapRows=function(p,f){if(!he(p)||!ye(p)||!he(f)||!ye(f))throw new Error("Row index must be positive integers");if(this._size.length!==2)throw new Error("Only two dimensional matrix is supported");return Ee(p,this._size[0]),Ee(f,this._size[0]),e._swapRows(p,f,this._data),this},e._swapRows=function(p,f,d){var g=d[p];d[p]=d[f],d[f]=g};function h(p){return me(p)?h(p.valueOf()):be(p)?p.map(h):p}return e},{isClass:!0});function sm(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 Ps(i){for(var t=0;t<i.length;t++)if(Yi(i[t]))return!0;return!1}function Gi(i,t){me(i)&&(i=i.valueOf());for(var e=0,r=i.length;e<r;e++){var n=i[e];Array.isArray(n)?Gi(n,t):t(n)}}function Yr(i,t,e){return i&&typeof i.map=="function"?i.map(function(r){return Yr(r,t)}):t(i)}function Ca(i,t,e){var r=Array.isArray(i)?Be(i):i.size();if(t<0||t>=r.length)throw new xn(t,r.length);return me(i)?i.create(zs(i.valueOf(),t,e)):zs(i,t,e)}function zs(i,t,e){var r,n,s,a;if(t<=0)if(Array.isArray(i[0])){for(a=sm(i),n=[],r=0;r<a.length;r++)n[r]=zs(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]=zs(i[r],t-1,e);return n}}var Ac="isInteger",om=["typed"],am=mt(Ac,om,i=>{var{typed:t}=i;return t(Ac,{number:ye,BigNumber:function(r){return r.isInt()},Fraction:function(r){return r.d===1&&isFinite(r.n)},"Array | Matrix":t.referToSelf(e=>r=>Yr(r,e))})}),Cc="number",qs="number, number";function Fc(i){return Math.abs(i)}Fc.signature=Cc;function Mc(i,t){return i+t}Mc.signature=qs;function Nc(i,t){return i-t}Nc.signature=qs;function Sc(i,t){return i*t}Sc.signature=qs;function Bc(i){return-i}Bc.signature=Cc;function Oc(i,t){return i*i<1&&t===1/0||i*i>1&&t===-1/0?0:Math.pow(i,t)}Oc.signature=qs;var Tc="number";function Ic(i){return i===0}Ic.signature=Tc;function $c(i){return Number.isNaN(i)}$c.signature=Tc;var Lc="isNumeric",um=["typed"],lm=mt(Lc,um,i=>{var{typed:t}=i;return t(Lc,{"number | BigNumber | Fraction | boolean":()=>!0,"Complex | Unit | string | null | undefined | Node":()=>!1,"Array | Matrix":t.referToSelf(e=>r=>Yr(r,e))})}),Rc="isZero",cm=["typed"],fm=mt(Rc,cm,i=>{var{typed:t}=i;return t(Rc,{number:Ic,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=>Yr(r,e))})}),Pc="isNaN",hm=["typed"],pm=mt(Pc,hm,i=>{var{typed:t}=i;return t(Pc,{number:$c,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 Yr(r,Number.isNaN)}})});function ks(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 dm(i,t,e){return Gn(i.re,t.re,e)&&Gn(i.im,t.im,e)}var Us=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)})}}),Ws="equalScalar",_m=["typed","config"],mm=mt(Ws,_m,i=>{var{typed:t,config:e}=i,r=Us({typed:t});return t(Ws,{"boolean, boolean":function(s,a){return s===a},"number, number":function(s,a){return Gn(s,a,e.epsilon)},"BigNumber, BigNumber":function(s,a){return s.eq(a)||ks(s,a,e.epsilon)},"Fraction, Fraction":function(s,a){return s.equals(a)},"Complex, Complex":function(s,a){return dm(s,a,e.epsilon)}},r)});mt(Ws,["typed","config"],i=>{var{typed:t,config:e}=i;return t(Ws,{"number, number":function(n,s){return Gn(n,s,e.epsilon)}})});var gm="SparseMatrix",vm=["typed","equalScalar","Matrix"],ym=mt(gm,vm,i=>{var{typed:t,equalScalar:e,Matrix:r}=i;function n(m,D){if(!(this instanceof n))throw new SyntaxError("Constructor must be called with the new operator");if(D&&!Xr(D))throw new Error("Invalid datatype: "+D);if(me(m))s(this,m,D);else if(m&&be(m.index)&&be(m.ptr)&&be(m.size))this._values=m.values,this._index=m.index,this._ptr=m.ptr,this._size=m.size,this._datatype=D||m.datatype;else if(be(m))a(this,m,D);else{if(m)throw new TypeError("Unsupported type of data ("+En(m)+")");this._values=[],this._index=[],this._ptr=[0],this._size=[0,0],this._datatype=D}}function s(m,D,v){D.type==="SparseMatrix"?(m._values=D._values?se(D._values):void 0,m._index=se(D._index),m._ptr=se(D._ptr),m._size=se(D._size),m._datatype=v||D._datatype):a(m,D.valueOf(),v||D._datatype)}function a(m,D,v){m._values=[],m._index=[],m._ptr=[],m._datatype=v;var E=D.length,b=0,N=e,x=0;if(Xr(v)&&(N=t.find(e,[v,v])||e,x=t.convert(0,v)),E>0){var F=0;do{m._ptr.push(m._index.length);for(var M=0;M<E;M++){var S=D[M];if(be(S)){if(F===0&&b<S.length&&(b=S.length),F<S.length){var I=S[F];N(I,x)||(m._values.push(I),m._index.push(M))}}else F===0&&b<1&&(b=1),N(S,x)||(m._values.push(S),m._index.push(M))}F++}while(F<b)}m._ptr.push(m._index.length),m._size=[E,b]}n.prototype=new r,n.prototype.createSparseMatrix=function(m,D){return new n(m,D)},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,En)},n.prototype.storage=function(){return"sparse"},n.prototype.datatype=function(){return this._datatype},n.prototype.create=function(m,D){return new n(m,D)},n.prototype.density=function(){var m=this._size[0],D=this._size[1];return m!==0&&D!==0?this._index.length/(m*D):0},n.prototype.subset=function(m,D,v){if(!this._values)throw new Error("Cannot invoke subset on a Pattern only matrix");switch(arguments.length){case 1:return l(this,m);case 2:case 3:return c(this,m,D,v);default:throw new SyntaxError("Wrong number of arguments")}};function l(m,D){if(!ua(D))throw new TypeError("Invalid index");var v=D.isScalar();if(v)return m.get(D.min());var E=D.size();if(E.length!==m._size.length)throw new Ht(E.length,m._size.length);var b,N,x,F,M=D.min(),S=D.max();for(b=0,N=m._size.length;b<N;b++)Ee(M[b],m._size[b]),Ee(S[b],m._size[b]);var I=m._values,C=m._index,O=m._ptr,L=D.dimension(0),U=D.dimension(1),k=[],W=[];L.forEach(function(X,tt){W[X]=tt[0],k[X]=!0});var P=I?[]:void 0,G=[],Z=[];return U.forEach(function(X){for(Z.push(G.length),x=O[X],F=O[X+1];x<F;x++)b=C[x],k[b]===!0&&(G.push(W[b]),P&&P.push(I[x]))}),Z.push(G.length),new n({values:P,index:G,ptr:Z,size:E,datatype:m._datatype})}function c(m,D,v,E){if(!D||D.isIndex!==!0)throw new TypeError("Invalid index");var b=D.size(),N=D.isScalar(),x;if(me(v)?(x=v.size(),v=v.toArray()):x=Be(v),N){if(x.length!==0)throw new TypeError("Scalar expected");m.set(D.min(),v,E)}else{if(b.length!==1&&b.length!==2)throw new Ht(b.length,m._size.length,"<");if(x.length<b.length){for(var F=0,M=0;b[F]===1&&x[F]===1;)F++;for(;b[F]===1;)M++,F++;v=tc(v,b.length,M,x)}if(!fi(b,x))throw new Ht(b,x,">");if(b.length===1){var S=D.dimension(0);S.forEach(function(O,L){Ee(O),m.set([O,0],v[L[0]],E)})}else{var I=D.dimension(0),C=D.dimension(1);I.forEach(function(O,L){Ee(O),C.forEach(function(U,k){Ee(U),m.set([O,U],v[L[0]][k[0]],E)})})}}return m}n.prototype.get=function(m){if(!be(m))throw new TypeError("Array expected");if(m.length!==this._size.length)throw new Ht(m.length,this._size.length);if(!this._values)throw new Error("Cannot invoke get on a Pattern only matrix");var D=m[0],v=m[1];Ee(D,this._size[0]),Ee(v,this._size[1]);var E=h(D,this._ptr[v],this._ptr[v+1],this._index);return E<this._ptr[v+1]&&this._index[E]===D?this._values[E]:0},n.prototype.set=function(m,D,v){if(!be(m))throw new TypeError("Array expected");if(m.length!==this._size.length)throw new Ht(m.length,this._size.length);if(!this._values)throw new Error("Cannot invoke set on a Pattern only matrix");var E=m[0],b=m[1],N=this._size[0],x=this._size[1],F=e,M=0;Xr(this._datatype)&&(F=t.find(e,[this._datatype,this._datatype])||e,M=t.convert(0,this._datatype)),(E>N-1||b>x-1)&&(d(this,Math.max(E+1,N),Math.max(b+1,x),v),N=this._size[0],x=this._size[1]),Ee(E,N),Ee(b,x);var S=h(E,this._ptr[b],this._ptr[b+1],this._index);return S<this._ptr[b+1]&&this._index[S]===E?F(D,M)?p(S,b,this._values,this._index,this._ptr):this._values[S]=D:F(D,M)||f(S,E,b,D,this._values,this._index,this._ptr),this};function h(m,D,v,E){if(v-D===0)return v;for(var b=D;b<v;b++)if(E[b]===m)return b;return D}function p(m,D,v,E,b){v.splice(m,1),E.splice(m,1);for(var N=D+1;N<b.length;N++)b[N]--}function f(m,D,v,E,b,N,x){b.splice(m,0,E),N.splice(m,0,D);for(var F=v+1;F<x.length;F++)x[F]++}n.prototype.resize=function(m,D,v){if(!Yi(m))throw new TypeError("Array or Matrix expected");var E=m.valueOf().map(N=>Array.isArray(N)&&N.length===1?N[0]:N);if(E.length!==2)throw new Error("Only two dimensions matrix are supported");E.forEach(function(N){if(!he(N)||!ye(N)||N<0)throw new TypeError("Invalid size, must contain positive integers (size: "+le(E)+")")});var b=v?this.clone():this;return d(b,E[0],E[1],D)};function d(m,D,v,E){var b=E||0,N=e,x=0;Xr(m._datatype)&&(N=t.find(e,[m._datatype,m._datatype])||e,x=t.convert(0,m._datatype),b=t.convert(b,m._datatype));var F=!N(b,x),M=m._size[0],S=m._size[1],I,C,O;if(v>S){for(C=S;C<v;C++)if(m._ptr[C]=m._values.length,F)for(I=0;I<M;I++)m._values.push(b),m._index.push(I);m._ptr[v]=m._values.length}else v<S&&(m._ptr.splice(v+1,S-v),m._values.splice(m._ptr[v],m._values.length),m._index.splice(m._ptr[v],m._index.length));if(S=v,D>M){if(F){var L=0;for(C=0;C<S;C++){m._ptr[C]=m._ptr[C]+L,O=m._ptr[C+1]+L;var U=0;for(I=M;I<D;I++,U++)m._values.splice(O+U,0,b),m._index.splice(O+U,0,I),L++}m._ptr[S]=m._values.length}}else if(D<M){var k=0;for(C=0;C<S;C++){m._ptr[C]=m._ptr[C]-k;var W=m._ptr[C],P=m._ptr[C+1]-k;for(O=W;O<P;O++)I=m._index[O],I>D-1&&(m._values.splice(O,1),m._index.splice(O,1),k++)}m._ptr[C]=m._values.length}return m._size[0]=D,m._size[1]=v,m}n.prototype.reshape=function(m,D){if(!be(m))throw new TypeError("Array expected");if(m.length!==2)throw new Error("Sparse matrices can only be reshaped in two dimensions");m.forEach(function(X){if(!he(X)||!ye(X)||X<=-2||X===0)throw new TypeError("Invalid size, must contain positive integers or -1 (size: "+le(m)+")")});var v=this._size[0]*this._size[1];m=ma(m,v);var E=m[0]*m[1];if(v!==E)throw new Error("Reshaping sparse matrix will result in the wrong number of elements");var b=D?this.clone():this;if(this._size[0]===m[0]&&this._size[1]===m[1])return b;for(var N=[],x=0;x<b._ptr.length;x++)for(var F=0;F<b._ptr[x+1]-b._ptr[x];F++)N.push(x);for(var M=b._values.slice(),S=b._index.slice(),I=0;I<b._index.length;I++){var C=S[I],O=N[I],L=C*b._size[1]+O;N[I]=L%m[1],S[I]=Math.floor(L/m[1])}b._values.length=0,b._index.length=0,b._ptr.length=m[1]+1,b._size=m.slice();for(var U=0;U<b._ptr.length;U++)b._ptr[U]=0;for(var k=0;k<M.length;k++){var W=S[k],P=N[k],G=M[k],Z=h(W,b._ptr[P],b._ptr[P+1],b._index);f(Z,W,P,G,b._values,b._index,b._ptr)}return b},n.prototype.clone=function(){var m=new n({values:this._values?se(this._values):void 0,index:se(this._index),ptr:se(this._ptr),size:se(this._size),datatype:this._datatype});return m},n.prototype.size=function(){return this._size.slice(0)},n.prototype.map=function(m,D){if(!this._values)throw new Error("Cannot invoke map on a Pattern only matrix");var v=this,E=this._size[0],b=this._size[1],N=xc(m),x=function(M,S,I){return N===1?m(M):N===2?m(M,[S,I]):m(M,[S,I],v)};return g(this,0,E-1,0,b-1,x,D)};function g(m,D,v,E,b,N,x){var F=[],M=[],S=[],I=e,C=0;Xr(m._datatype)&&(I=t.find(e,[m._datatype,m._datatype])||e,C=t.convert(0,m._datatype));for(var O=function(lt,wt,bt){lt=N(lt,wt,bt),I(lt,C)||(F.push(lt),M.push(wt))},L=E;L<=b;L++){S.push(F.length);var U=m._ptr[L],k=m._ptr[L+1];if(x)for(var W=U;W<k;W++){var P=m._index[W];P>=D&&P<=v&&O(m._values[W],P-D,L-E)}else{for(var G={},Z=U;Z<k;Z++){var X=m._index[Z];G[X]=m._values[Z]}for(var tt=D;tt<=v;tt++){var ct=tt in G?G[tt]:0;O(ct,tt-D,L-E)}}}return S.push(F.length),new n({values:F,index:M,ptr:S,size:[v-D+1,b-E+1]})}n.prototype.forEach=function(m,D){if(!this._values)throw new Error("Cannot invoke forEach on a Pattern only matrix");for(var v=this,E=this._size[0],b=this._size[1],N=0;N<b;N++){var x=this._ptr[N],F=this._ptr[N+1];if(D)for(var M=x;M<F;M++){var S=this._index[M];m(this._values[M],[S,N],v)}else{for(var I={},C=x;C<F;C++){var O=this._index[C];I[O]=this._values[C]}for(var L=0;L<E;L++){var U=L in I?I[L]:0;m(U,[L,N],v)}}}},n.prototype[Symbol.iterator]=function*(){if(!this._values)throw new Error("Cannot iterate a Pattern only matrix");for(var m=this._size[1],D=0;D<m;D++)for(var v=this._ptr[D],E=this._ptr[D+1],b=v;b<E;b++){var N=this._index[b];yield{value:this._values[b],index:[N,D]}}},n.prototype.toArray=function(){return y(this._values,this._index,this._ptr,this._size,!0)},n.prototype.valueOf=function(){return y(this._values,this._index,this._ptr,this._size,!1)};function y(m,D,v,E,b){var N=E[0],x=E[1],F=[],M,S;for(M=0;M<N;M++)for(F[M]=[],S=0;S<x;S++)F[M][S]=0;for(S=0;S<x;S++)for(var I=v[S],C=v[S+1],O=I;O<C;O++)M=D[O],F[M][S]=m?b?se(m[O]):m[O]:1;return F}return n.prototype.format=function(m){for(var D=this._size[0],v=this._size[1],E=this.density(),b="Sparse Matrix ["+le(D,m)+" x "+le(v,m)+"] density: "+le(E,m)+`
53
53
  `,N=0;N<v;N++)for(var x=this._ptr[N],F=this._ptr[N+1],M=x;M<F;M++){var S=this._index[M];b+=`
54
- (`+le(S,m)+", "+le(N,m)+") ==> "+(this._values?le(this._values[M],m):"X")}return b},n.prototype.toString=function(){return le(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(m){if(m){if(Fe(m)&&(m=m.toNumber()),!he(m)||!we(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,E=this._size[0],b=this._size[1],N=Math.min(E-v,b-D),x=[],F=[],M=[];M[0]=0;for(var S=D;S<b&&x.length<N;S++)for(var I=this._ptr[S],C=this._ptr[S+1],O=I;O<C;O++){var L=this._index[O];if(L===S-D+v){x.push(this._values[O]),F[x.length-1]=L-v;break}}return M.push(x.length),new n({values:x,index:F,ptr:M,size:[N,1]})},n.fromJSON=function(m){return new n(m)},n.diagonal=function(m,D,v,E,b){if(!be(m))throw new TypeError("Array expected, size parameter");if(m.length!==2)throw new Error("Only two dimensions matrix are supported");if(m=m.map(function(X){if(Fe(X)&&(X=X.toNumber()),!he(X)||!we(X)||X<1)throw new Error("Size values must be positive integers");return X}),v){if(Fe(v)&&(v=v.toNumber()),!he(v)||!we(v))throw new TypeError("The parameter k must be an integer number")}else v=0;var N=e,x=0;Xr(b)&&(N=t.find(e,[b,b])||e,x=t.convert(0,b));var F=v>0?v:0,M=v<0?-v:0,S=m[0],I=m[1],C=Math.min(S-M,I-F),O;if(be(D)){if(D.length!==C)throw new Error("Invalid value array length");O=function(tt){return D[tt]}}else if(me(D)){var L=D.size();if(L.length!==1||L[0]!==C)throw new Error("Invalid matrix length");O=function(tt){return D.get([tt])}}else O=function(){return D};for(var k=[],U=[],W=[],P=0;P<I;P++){W.push(k.length);var G=P-F;if(G>=0&&G<C){var Z=O(G);N(Z,x)||(U.push(G+M),k.push(Z))}}return W.push(k.length),new n({values:k,index:U,ptr:W,size:[S,I]})},n.prototype.swapRows=function(m,D){if(!he(m)||!we(m)||!he(D)||!we(D))throw new Error("Row index must be positive integers");if(this._size.length!==2)throw new Error("Only two dimensional matrix is supported");return Ee(m,this._size[0]),Ee(D,this._size[0]),n._swapRows(m,D,this._size[1],this._values,this._index,this._ptr),this},n._forEachRow=function(m,D,v,E,b){for(var N=E[m],x=E[m+1],F=N;F<x;F++)b(v[F],D[F])},n._swapRows=function(m,D,v,E,b,N){for(var x=0;x<v;x++){var F=N[x],M=N[x+1],S=h(m,F,M,b),I=h(D,F,M,b);if(S<M&&I<M&&b[S]===m&&b[I]===D){if(E){var C=E[S];E[S]=E[I],E[I]=C}continue}if(S<M&&b[S]===m&&(I>=M||b[I]!==D)){var O=E?E[S]:void 0;b.splice(I,0,D),E&&E.splice(I,0,O),b.splice(I<=S?S+1:S,1),E&&E.splice(I<=S?S+1:S,1);continue}if(I<M&&b[I]===D&&(S>=M||b[S]!==m)){var L=E?E[I]:void 0;b.splice(S,0,m),E&&E.splice(S,0,L),b.splice(S<=I?I+1:I,1),E&&E.splice(S<=I?I+1:I,1)}}},n},{isClass:!0}),ym="number",Dm=["typed"];function bm(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 Em(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 xm=mt(ym,Dm,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=bm(n);if(s)return Em(s);var a=0,l=n.match(/(0[box][0-9a-fA-F]*)i([0-9]*)/);l&&(a=Number(l[2]),n=l[1]);var c=Number(n);if(isNaN(c))throw new SyntaxError('String "'+n+'" is not a valid number');if(l){if(c>2**a-1)throw new SyntaxError('String "'.concat(n,'" is out of range'));c>=2**(a-1)&&(c=c-2**a)}return c},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=>Yr(n,r))});return e.fromJSON=function(r){return parseFloat(r.value)},e}),Am="bignumber",Cm=["typed","BigNumber"],Fm=mt(Am,Cm,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],l=e(s[1]),c=new e(2).pow(Number(a));if(l.gt(c.sub(1)))throw new SyntaxError('String "'.concat(n,'" is out of range'));var h=new e(2).pow(Number(a)-1);return l.gte(h)?l.sub(c):l}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=>Yr(n,r))})}),Mm="fraction",Nm=["typed","Fraction"],Sm=mt(Mm,Nm,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=>Yr(n,r))})}),zc="matrix",Bm=["typed","Matrix","DenseMatrix","SparseMatrix"],Om=mt(zc,Bm,i=>{var{typed:t,Matrix:e,DenseMatrix:r,SparseMatrix:n}=i;return t(zc,{"":function(){return s([])},string:function(l){return s([],l)},"string, string":function(l,c){return s([],l,c)},Array:function(l){return s(l)},Matrix:function(l){return s(l,l.storage())},"Array | Matrix, string":s,"Array | Matrix, string, string":s});function s(a,l,c){if(l==="dense"||l==="default"||l===void 0)return new r(a,c);if(l==="sparse")return new n(a,c);throw new TypeError("Unknown matrix type "+JSON.stringify(l)+".")}}),qc="unaryMinus",Tm=["typed"],Im=mt(qc,Tm,i=>{var{typed:t}=i;return t(qc,{number:Bc,"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=>Yr(r,e))})}),kc="abs",$m=["typed"],Lm=mt(kc,$m,i=>{var{typed:t}=i;return t(kc,{number:Fc,"Complex | BigNumber | Fraction | Unit":e=>e.abs(),"Array | Matrix":t.referToSelf(e=>r=>Yr(r,e))})}),Uc="addScalar",Rm=["typed"],Pm=mt(Uc,Rm,i=>{var{typed:t}=i;return t(Uc,{"number, number":Mc,"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})})}),Wc="subtractScalar",zm=["typed"],qm=mt(Wc,zm,i=>{var{typed:t}=i;return t(Wc,{"number, number":Nc,"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})})}),km="matAlgo11xS0s",Um=["typed","equalScalar"],Fa=mt(km,Um,i=>{var{typed:t,equalScalar:e}=i;return function(n,s,a,l){var c=n._values,h=n._index,p=n._ptr,f=n._size,d=n._datatype;if(!c)throw new Error("Cannot perform operation on Pattern Sparse Matrix and Scalar value");var g=f[0],w=f[1],m,D=e,v=0,E=a;typeof d=="string"&&(m=d,D=t.find(e,[m,m]),v=t.convert(0,m),s=t.convert(s,m),E=t.find(a,[m,m]));for(var b=[],N=[],x=[],F=0;F<w;F++){x[F]=N.length;for(var M=p[F],S=p[F+1],I=M;I<S;I++){var C=h[I],O=l?E(s,c[I]):E(c[I],s);D(O,v)||(N.push(C),b.push(O))}}return x[w]=N.length,n.createSparseMatrix({values:b,index:N,ptr:x,size:[g,w],datatype:m})}}),Wm="matAlgo12xSfs",jm=["typed","DenseMatrix"],gi=mt(Wm,jm,i=>{var{typed:t,DenseMatrix:e}=i;return function(n,s,a,l){var c=n._values,h=n._index,p=n._ptr,f=n._size,d=n._datatype;if(!c)throw new Error("Cannot perform operation on Pattern Sparse Matrix and Scalar value");var g=f[0],w=f[1],m,D=a;typeof d=="string"&&(m=d,s=t.convert(s,m),D=t.find(a,[m,m]));for(var v=[],E=[],b=[],N=0;N<w;N++){for(var x=N+1,F=p[N],M=p[N+1],S=F;S<M;S++){var I=h[S];E[I]=c[S],b[I]=x}for(var C=0;C<g;C++)N===0&&(v[C]=[]),b[C]===x?v[C][N]=l?D(s,E[C]):D(E[C],s):v[C][N]=l?D(s,0):D(0,s)}return new e({data:v,size:[g,w],datatype:m})}}),Ym="matAlgo14xDs",Vm=["typed"],Ma=mt(Ym,Vm,i=>{var{typed:t}=i;return function(n,s,a,l){var c=n._data,h=n._size,p=n._datatype,f,d=a;typeof p=="string"&&(f=p,s=t.convert(s,f),d=t.find(a,[f,f]));var g=h.length>0?e(d,0,h,h[0],c,s,l):[];return n.createDenseMatrix({data:g,size:se(h),datatype:f})};function e(r,n,s,a,l,c,h){var p=[];if(n===s.length-1)for(var f=0;f<a;f++)p[f]=h?r(c,l[f]):r(l[f],c);else for(var d=0;d<a;d++)p[d]=e(r,n+1,s,s[n+1],l[d],c,h);return p}}),Zm="matAlgo02xDS0",Gm=["typed","equalScalar"],Km=mt(Zm,Gm,i=>{var{typed:t,equalScalar:e}=i;return function(n,s,a,l){var c=n._data,h=n._size,p=n._datatype||n.getDataType(),f=s._values,d=s._index,g=s._ptr,w=s._size,m=s._datatype||s._data===void 0?s._datatype:s.getDataType();if(h.length!==w.length)throw new Ht(h.length,w.length);if(h[0]!==w[0]||h[1]!==w[1])throw new RangeError("Dimension mismatch. Matrix A ("+h+") must match Matrix B ("+w+")");if(!f)throw new Error("Cannot perform operation on Dense Matrix and Pattern Sparse Matrix");var D=h[0],v=h[1],E,b=e,N=0,x=a;typeof p=="string"&&p===m&&p!=="mixed"&&(E=p,b=t.find(e,[E,E]),N=t.convert(0,E),x=t.find(a,[E,E]));for(var F=[],M=[],S=[],I=0;I<v;I++){S[I]=M.length;for(var C=g[I],O=g[I+1],L=C;L<O;L++){var k=d[L],U=l?x(f[L],c[k][I]):x(c[k][I],f[L]);b(U,N)||(M.push(k),F.push(U))}}return S[v]=M.length,s.createSparseMatrix({values:F,index:M,ptr:S,size:[D,v],datatype:p===n._datatype&&m===s._datatype?E:void 0})}}),Hm="matAlgo03xDSf",Jm=["typed"],vi=mt(Hm,Jm,i=>{var{typed:t}=i;return function(r,n,s,a){var l=r._data,c=r._size,h=r._datatype||r.getDataType(),p=n._values,f=n._index,d=n._ptr,g=n._size,w=n._datatype||n._data===void 0?n._datatype:n.getDataType();if(c.length!==g.length)throw new Ht(c.length,g.length);if(c[0]!==g[0]||c[1]!==g[1])throw new RangeError("Dimension mismatch. Matrix A ("+c+") must match Matrix B ("+g+")");if(!p)throw new Error("Cannot perform operation on Dense Matrix and Pattern Sparse Matrix");var m=c[0],D=c[1],v,E=0,b=s;typeof h=="string"&&h===w&&h!=="mixed"&&(v=h,E=t.convert(0,v),b=t.find(s,[v,v]));for(var N=[],x=0;x<m;x++)N[x]=[];for(var F=[],M=[],S=0;S<D;S++){for(var I=S+1,C=d[S],O=d[S+1],L=C;L<O;L++){var k=f[L];F[k]=a?b(p[L],l[k][S]):b(l[k][S],p[L]),M[k]=I}for(var U=0;U<m;U++)M[U]===I?N[U][S]=F[U]:N[U][S]=a?b(E,l[U][S]):b(l[U][S],E)}return r.createDenseMatrix({data:N,size:[m,D],datatype:h===r._datatype&&w===n._datatype?v:void 0})}}),Xm="matAlgo05xSfSf",Qm=["typed","equalScalar"],jc=mt(Xm,Qm,i=>{var{typed:t,equalScalar:e}=i;return function(n,s,a){var l=n._values,c=n._index,h=n._ptr,p=n._size,f=n._datatype||n._data===void 0?n._datatype:n.getDataType(),d=s._values,g=s._index,w=s._ptr,m=s._size,D=s._datatype||s._data===void 0?s._datatype:s.getDataType();if(p.length!==m.length)throw new Ht(p.length,m.length);if(p[0]!==m[0]||p[1]!==m[1])throw new RangeError("Dimension mismatch. Matrix A ("+p+") must match Matrix B ("+m+")");var v=p[0],E=p[1],b,N=e,x=0,F=a;typeof f=="string"&&f===D&&f!=="mixed"&&(b=f,N=t.find(e,[b,b]),x=t.convert(0,b),F=t.find(a,[b,b]));var M=l&&d?[]:void 0,S=[],I=[],C=M?[]:void 0,O=M?[]:void 0,L=[],k=[],U,W,P,G;for(W=0;W<E;W++){I[W]=S.length;var Z=W+1;for(P=h[W],G=h[W+1];P<G;P++)U=c[P],S.push(U),L[U]=Z,C&&(C[U]=l[P]);for(P=w[W],G=w[W+1];P<G;P++)U=g[P],L[U]!==Z&&S.push(U),k[U]=Z,O&&(O[U]=d[P]);if(M)for(P=I[W];P<S.length;){U=S[P];var X=L[U],tt=k[U];if(X===Z||tt===Z){var ct=X===Z?C[U]:x,vt=tt===Z?O[U]:x,lt=F(ct,vt);N(lt,x)?S.splice(P,1):(M.push(lt),P++)}}}return I[E]=S.length,n.createSparseMatrix({values:M,index:S,ptr:I,size:[v,E],datatype:f===n._datatype&&D===s._datatype?b:void 0})}}),tg="matAlgo13xDD",eg=["typed"],rg=mt(tg,eg,i=>{var{typed:t}=i;return function(n,s,a){var l=n._data,c=n._size,h=n._datatype,p=s._data,f=s._size,d=s._datatype,g=[];if(c.length!==f.length)throw new Ht(c.length,f.length);for(var w=0;w<c.length;w++){if(c[w]!==f[w])throw new RangeError("Dimension mismatch. Matrix A ("+c+") must match Matrix B ("+f+")");g[w]=c[w]}var m,D=a;typeof h=="string"&&h===d&&(m=h,D=t.find(a,[m,m]));var v=g.length>0?e(D,0,g,g[0],l,p):[];return n.createDenseMatrix({data:v,size:g,datatype:m})};function e(r,n,s,a,l,c){var h=[];if(n===s.length-1)for(var p=0;p<a;p++)h[p]=r(l[p],c[p]);else for(var f=0;f<a;f++)h[f]=e(r,n+1,s,s[n+1],l[f],c[f]);return h}}),ng="broadcast",ig=["concat"],sg=mt(ng,ig,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((w,m)=>w===s._size[m]))return[n,s];for(var l=e(n._size,a,0),c=e(s._size,a,0),h=[],p=0;p<a;p++)h[p]=Math.max(l[p],c[p]);Ns(l,h),Ns(c,h);var f=n.clone(),d=s.clone();f._size.length<a?f.reshape(e(f._size,a,1)):d._size.length<a&&d.reshape(e(d._size,a,1));for(var g=0;g<a;g++)f._size[g]<h[g]&&(f=r(f,h[g],g)),d._size[g]<h[g]&&(d=r(d,h[g],g));return[f,d]};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)}}),og="matrixAlgorithmSuite",ag=["typed","matrix","concat"],Kn=mt(og,ag,i=>{var{typed:t,matrix:e,concat:r}=i,n=rg({typed:t}),s=Ma({typed:t}),a=sg({concat:r});return function(c){var h=c.elop,p=c.SD||c.DS,f;h?(f={"DenseMatrix, DenseMatrix":(m,D)=>n(...a(m,D),h),"Array, Array":(m,D)=>n(...a(e(m),e(D)),h).valueOf(),"Array, DenseMatrix":(m,D)=>n(...a(e(m),D),h),"DenseMatrix, Array":(m,D)=>n(...a(m,e(D)),h)},c.SS&&(f["SparseMatrix, SparseMatrix"]=(m,D)=>c.SS(...a(m,D),h,!1)),c.DS&&(f["DenseMatrix, SparseMatrix"]=(m,D)=>c.DS(...a(m,D),h,!1),f["Array, SparseMatrix"]=(m,D)=>c.DS(...a(e(m),D),h,!1)),p&&(f["SparseMatrix, DenseMatrix"]=(m,D)=>p(...a(D,m),h,!0),f["SparseMatrix, Array"]=(m,D)=>p(...a(e(D),m),h,!0))):(f={"DenseMatrix, DenseMatrix":t.referToSelf(m=>(D,v)=>n(...a(D,v),m)),"Array, Array":t.referToSelf(m=>(D,v)=>n(...a(e(D),e(v)),m).valueOf()),"Array, DenseMatrix":t.referToSelf(m=>(D,v)=>n(...a(e(D),v),m)),"DenseMatrix, Array":t.referToSelf(m=>(D,v)=>n(...a(D,e(v)),m))},c.SS&&(f["SparseMatrix, SparseMatrix"]=t.referToSelf(m=>(D,v)=>c.SS(...a(D,v),m,!1))),c.DS&&(f["DenseMatrix, SparseMatrix"]=t.referToSelf(m=>(D,v)=>c.DS(...a(D,v),m,!1)),f["Array, SparseMatrix"]=t.referToSelf(m=>(D,v)=>c.DS(...a(e(D),v),m,!1))),p&&(f["SparseMatrix, DenseMatrix"]=t.referToSelf(m=>(D,v)=>p(...a(v,D),m,!0)),f["SparseMatrix, Array"]=t.referToSelf(m=>(D,v)=>p(...a(e(v),D),m,!0))));var d=c.scalar||"any",g=c.Ds||c.Ss;g&&(h?(f["DenseMatrix,"+d]=(m,D)=>s(m,D,h,!1),f[d+", DenseMatrix"]=(m,D)=>s(D,m,h,!0),f["Array,"+d]=(m,D)=>s(e(m),D,h,!1).valueOf(),f[d+", Array"]=(m,D)=>s(e(D),m,h,!0).valueOf()):(f["DenseMatrix,"+d]=t.referToSelf(m=>(D,v)=>s(D,v,m,!1)),f[d+", DenseMatrix"]=t.referToSelf(m=>(D,v)=>s(v,D,m,!0)),f["Array,"+d]=t.referToSelf(m=>(D,v)=>s(e(D),v,m,!1).valueOf()),f[d+", Array"]=t.referToSelf(m=>(D,v)=>s(e(v),D,m,!0).valueOf())));var w=c.sS!==void 0?c.sS:c.Ss;return h?(c.Ss&&(f["SparseMatrix,"+d]=(m,D)=>c.Ss(m,D,h,!1)),w&&(f[d+", SparseMatrix"]=(m,D)=>w(D,m,h,!0))):(c.Ss&&(f["SparseMatrix,"+d]=t.referToSelf(m=>(D,v)=>c.Ss(D,v,m,!1))),w&&(f[d+", SparseMatrix"]=t.referToSelf(m=>(D,v)=>w(v,D,m,!0)))),h&&h.signatures&&Rl(f,h.signatures),f}}),ug="matAlgo01xDSid",lg=["typed"],Yc=mt(ug,lg,i=>{var{typed:t}=i;return function(r,n,s,a){var l=r._data,c=r._size,h=r._datatype||r.getDataType(),p=n._values,f=n._index,d=n._ptr,g=n._size,w=n._datatype||n._data===void 0?n._datatype:n.getDataType();if(c.length!==g.length)throw new Ht(c.length,g.length);if(c[0]!==g[0]||c[1]!==g[1])throw new RangeError("Dimension mismatch. Matrix A ("+c+") must match Matrix B ("+g+")");if(!p)throw new Error("Cannot perform operation on Dense Matrix and Pattern Sparse Matrix");var m=c[0],D=c[1],v=typeof h=="string"&&h!=="mixed"&&h===w?h:void 0,E=v?t.find(s,[v,v]):s,b,N,x=[];for(b=0;b<m;b++)x[b]=[];var F=[],M=[];for(N=0;N<D;N++){for(var S=N+1,I=d[N],C=d[N+1],O=I;O<C;O++)b=f[O],F[b]=a?E(p[O],l[b][N]):E(l[b][N],p[O]),M[b]=S;for(b=0;b<m;b++)M[b]===S?x[b][N]=F[b]:x[b][N]=l[b][N]}return r.createDenseMatrix({data:x,size:[m,D],datatype:h===r._datatype&&w===n._datatype?v:void 0})}}),cg="matAlgo04xSidSid",fg=["typed","equalScalar"],hg=mt(cg,fg,i=>{var{typed:t,equalScalar:e}=i;return function(n,s,a){var l=n._values,c=n._index,h=n._ptr,p=n._size,f=n._datatype||n._data===void 0?n._datatype:n.getDataType(),d=s._values,g=s._index,w=s._ptr,m=s._size,D=s._datatype||s._data===void 0?s._datatype:s.getDataType();if(p.length!==m.length)throw new Ht(p.length,m.length);if(p[0]!==m[0]||p[1]!==m[1])throw new RangeError("Dimension mismatch. Matrix A ("+p+") must match Matrix B ("+m+")");var v=p[0],E=p[1],b,N=e,x=0,F=a;typeof f=="string"&&f===D&&f!=="mixed"&&(b=f,N=t.find(e,[b,b]),x=t.convert(0,b),F=t.find(a,[b,b]));var M=l&&d?[]:void 0,S=[],I=[],C=l&&d?[]:void 0,O=l&&d?[]:void 0,L=[],k=[],U,W,P,G,Z;for(W=0;W<E;W++){I[W]=S.length;var X=W+1;for(G=h[W],Z=h[W+1],P=G;P<Z;P++)U=c[P],S.push(U),L[U]=X,C&&(C[U]=l[P]);for(G=w[W],Z=w[W+1],P=G;P<Z;P++)if(U=g[P],L[U]===X){if(C){var tt=F(C[U],d[P]);N(tt,x)?L[U]=null:C[U]=tt}}else S.push(U),k[U]=X,O&&(O[U]=d[P]);if(C&&O)for(P=I[W];P<S.length;)U=S[P],L[U]===X?(M[P]=C[U],P++):k[U]===X?(M[P]=O[U],P++):S.splice(P,1)}return I[E]=S.length,n.createSparseMatrix({values:M,index:S,ptr:I,size:[v,E],datatype:f===n._datatype&&D===s._datatype?b:void 0})}}),pg="matAlgo10xSids",dg=["typed","DenseMatrix"],Vc=mt(pg,dg,i=>{var{typed:t,DenseMatrix:e}=i;return function(n,s,a,l){var c=n._values,h=n._index,p=n._ptr,f=n._size,d=n._datatype;if(!c)throw new Error("Cannot perform operation on Pattern Sparse Matrix and Scalar value");var g=f[0],w=f[1],m,D=a;typeof d=="string"&&(m=d,s=t.convert(s,m),D=t.find(a,[m,m]));for(var v=[],E=[],b=[],N=0;N<w;N++){for(var x=N+1,F=p[N],M=p[N+1],S=F;S<M;S++){var I=h[S];E[I]=c[S],b[I]=x}for(var C=0;C<g;C++)N===0&&(v[C]=[]),b[C]===x?v[C][N]=l?D(s,E[C]):D(E[C],s):v[C][N]=s}return new e({data:v,size:[g,w],datatype:m})}}),_g="multiplyScalar",mg=["typed"],gg=mt(_g,mg,i=>{var{typed:t}=i;return t("multiplyScalar",{"number, number":Sc,"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)})}),Zc="multiply",vg=["typed","matrix","addScalar","multiplyScalar","equalScalar","dot"],wg=mt(Zc,vg,i=>{var{typed:t,matrix:e,addScalar:r,multiplyScalar:n,equalScalar:s,dot:a}=i,l=Fa({typed:t,equalScalar:s}),c=Ma({typed:t});function h(x,F){switch(x.length){case 1:switch(F.length){case 1:if(x[0]!==F[0])throw new RangeError("Dimension mismatch in multiplication. Vectors must have the same length");break;case 2:if(x[0]!==F[0])throw new RangeError("Dimension mismatch in multiplication. Vector length ("+x[0]+") must match Matrix rows ("+F[0]+")");break;default:throw new Error("Can only multiply a 1 or 2 dimensional matrix (Matrix B has "+F.length+" dimensions)")}break;case 2:switch(F.length){case 1:if(x[1]!==F[0])throw new RangeError("Dimension mismatch in multiplication. Matrix columns ("+x[1]+") must match Vector length ("+F[0]+")");break;case 2:if(x[1]!==F[0])throw new RangeError("Dimension mismatch in multiplication. Matrix A columns ("+x[1]+") must match Matrix B rows ("+F[0]+")");break;default:throw new Error("Can only multiply a 1 or 2 dimensional matrix (Matrix B has "+F.length+" dimensions)")}break;default:throw new Error("Can only multiply a 1 or 2 dimensional matrix (Matrix A has "+x.length+" dimensions)")}}function p(x,F,M){if(M===0)throw new Error("Cannot multiply two empty vectors");return a(x,F)}function f(x,F){if(F.storage()!=="dense")throw new Error("Support for SparseMatrix not implemented");return d(x,F)}function d(x,F){var M=x._data,S=x._size,I=x._datatype||x.getDataType(),C=F._data,O=F._size,L=F._datatype||F.getDataType(),k=S[0],U=O[1],W,P=r,G=n;I&&L&&I===L&&typeof I=="string"&&I!=="mixed"&&(W=I,P=t.find(r,[W,W]),G=t.find(n,[W,W]));for(var Z=[],X=0;X<U;X++){for(var tt=G(M[0],C[0][X]),ct=1;ct<k;ct++)tt=P(tt,G(M[ct],C[ct][X]));Z[X]=tt}return x.createDenseMatrix({data:Z,size:[U],datatype:I===x._datatype&&L===F._datatype?W:void 0})}var g=t("_multiplyMatrixVector",{"DenseMatrix, any":m,"SparseMatrix, any":E}),w=t("_multiplyMatrixMatrix",{"DenseMatrix, DenseMatrix":D,"DenseMatrix, SparseMatrix":v,"SparseMatrix, DenseMatrix":b,"SparseMatrix, SparseMatrix":N});function m(x,F){var M=x._data,S=x._size,I=x._datatype||x.getDataType(),C=F._data,O=F._datatype||F.getDataType(),L=S[0],k=S[1],U,W=r,P=n;I&&O&&I===O&&typeof I=="string"&&I!=="mixed"&&(U=I,W=t.find(r,[U,U]),P=t.find(n,[U,U]));for(var G=[],Z=0;Z<L;Z++){for(var X=M[Z],tt=P(X[0],C[0]),ct=1;ct<k;ct++)tt=W(tt,P(X[ct],C[ct]));G[Z]=tt}return x.createDenseMatrix({data:G,size:[L],datatype:I===x._datatype&&O===F._datatype?U:void 0})}function D(x,F){var M=x._data,S=x._size,I=x._datatype||x.getDataType(),C=F._data,O=F._size,L=F._datatype||F.getDataType(),k=S[0],U=S[1],W=O[1],P,G=r,Z=n;I&&L&&I===L&&typeof I=="string"&&I!=="mixed"&&I!=="mixed"&&(P=I,G=t.find(r,[P,P]),Z=t.find(n,[P,P]));for(var X=[],tt=0;tt<k;tt++){var ct=M[tt];X[tt]=[];for(var vt=0;vt<W;vt++){for(var lt=Z(ct[0],C[0][vt]),yt=1;yt<U;yt++)lt=G(lt,Z(ct[yt],C[yt][vt]));X[tt][vt]=lt}}return x.createDenseMatrix({data:X,size:[k,W],datatype:I===x._datatype&&L===F._datatype?P:void 0})}function v(x,F){var M=x._data,S=x._size,I=x._datatype||x.getDataType(),C=F._values,O=F._index,L=F._ptr,k=F._size,U=F._datatype||F._data===void 0?F._datatype:F.getDataType();if(!C)throw new Error("Cannot multiply Dense Matrix times Pattern only Matrix");var W=S[0],P=k[1],G,Z=r,X=n,tt=s,ct=0;I&&U&&I===U&&typeof I=="string"&&I!=="mixed"&&(G=I,Z=t.find(r,[G,G]),X=t.find(n,[G,G]),tt=t.find(s,[G,G]),ct=t.convert(0,G));for(var vt=[],lt=[],yt=[],bt=F.createSparseMatrix({values:vt,index:lt,ptr:yt,size:[W,P],datatype:I===x._datatype&&U===F._datatype?G:void 0}),Bt=0;Bt<P;Bt++){yt[Bt]=lt.length;var Et=L[Bt],oe=L[Bt+1];if(oe>Et)for(var Tt=0,Nt=0;Nt<W;Nt++){for(var ue=Nt+1,re=void 0,qt=Et;qt<oe;qt++){var Jt=O[qt];Tt!==ue?(re=X(M[Nt][Jt],C[qt]),Tt=ue):re=Z(re,X(M[Nt][Jt],C[qt]))}Tt===ue&&!tt(re,ct)&&(lt.push(Nt),vt.push(re))}}return yt[P]=lt.length,bt}function E(x,F){var M=x._values,S=x._index,I=x._ptr,C=x._datatype||x._data===void 0?x._datatype:x.getDataType();if(!M)throw new Error("Cannot multiply Pattern only Matrix times Dense Matrix");var O=F._data,L=F._datatype||F.getDataType(),k=x._size[0],U=F._size[0],W=[],P=[],G=[],Z,X=r,tt=n,ct=s,vt=0;C&&L&&C===L&&typeof C=="string"&&C!=="mixed"&&(Z=C,X=t.find(r,[Z,Z]),tt=t.find(n,[Z,Z]),ct=t.find(s,[Z,Z]),vt=t.convert(0,Z));var lt=[],yt=[];G[0]=0;for(var bt=0;bt<U;bt++){var Bt=O[bt];if(!ct(Bt,vt))for(var Et=I[bt],oe=I[bt+1],Tt=Et;Tt<oe;Tt++){var Nt=S[Tt];yt[Nt]?lt[Nt]=X(lt[Nt],tt(Bt,M[Tt])):(yt[Nt]=!0,P.push(Nt),lt[Nt]=tt(Bt,M[Tt]))}}for(var ue=P.length,re=0;re<ue;re++){var qt=P[re];W[re]=lt[qt]}return G[1]=P.length,x.createSparseMatrix({values:W,index:P,ptr:G,size:[k,1],datatype:C===x._datatype&&L===F._datatype?Z:void 0})}function b(x,F){var M=x._values,S=x._index,I=x._ptr,C=x._datatype||x._data===void 0?x._datatype:x.getDataType();if(!M)throw new Error("Cannot multiply Pattern only Matrix times Dense Matrix");var O=F._data,L=F._datatype||F.getDataType(),k=x._size[0],U=F._size[0],W=F._size[1],P,G=r,Z=n,X=s,tt=0;C&&L&&C===L&&typeof C=="string"&&C!=="mixed"&&(P=C,G=t.find(r,[P,P]),Z=t.find(n,[P,P]),X=t.find(s,[P,P]),tt=t.convert(0,P));for(var ct=[],vt=[],lt=[],yt=x.createSparseMatrix({values:ct,index:vt,ptr:lt,size:[k,W],datatype:C===x._datatype&&L===F._datatype?P:void 0}),bt=[],Bt=[],Et=0;Et<W;Et++){lt[Et]=vt.length;for(var oe=Et+1,Tt=0;Tt<U;Tt++){var Nt=O[Tt][Et];if(!X(Nt,tt))for(var ue=I[Tt],re=I[Tt+1],qt=ue;qt<re;qt++){var Jt=S[qt];Bt[Jt]!==oe?(Bt[Jt]=oe,vt.push(Jt),bt[Jt]=Z(Nt,M[qt])):bt[Jt]=G(bt[Jt],Z(Nt,M[qt]))}}for(var Te=lt[Et],_r=vt.length,Le=Te;Le<_r;Le++){var hn=vt[Le];ct[Le]=bt[hn]}}return lt[W]=vt.length,yt}function N(x,F){var M=x._values,S=x._index,I=x._ptr,C=x._datatype||x._data===void 0?x._datatype:x.getDataType(),O=F._values,L=F._index,k=F._ptr,U=F._datatype||F._data===void 0?F._datatype:F.getDataType(),W=x._size[0],P=F._size[1],G=M&&O,Z,X=r,tt=n;C&&U&&C===U&&typeof C=="string"&&C!=="mixed"&&(Z=C,X=t.find(r,[Z,Z]),tt=t.find(n,[Z,Z]));for(var ct=G?[]:void 0,vt=[],lt=[],yt=x.createSparseMatrix({values:ct,index:vt,ptr:lt,size:[W,P],datatype:C===x._datatype&&U===F._datatype?Z:void 0}),bt=G?[]:void 0,Bt=[],Et,oe,Tt,Nt,ue,re,qt,Jt,Te=0;Te<P;Te++){lt[Te]=vt.length;var _r=Te+1;for(ue=k[Te],re=k[Te+1],Nt=ue;Nt<re;Nt++)if(Jt=L[Nt],G)for(oe=I[Jt],Tt=I[Jt+1],Et=oe;Et<Tt;Et++)qt=S[Et],Bt[qt]!==_r?(Bt[qt]=_r,vt.push(qt),bt[qt]=tt(O[Nt],M[Et])):bt[qt]=X(bt[qt],tt(O[Nt],M[Et]));else for(oe=I[Jt],Tt=I[Jt+1],Et=oe;Et<Tt;Et++)qt=S[Et],Bt[qt]!==_r&&(Bt[qt]=_r,vt.push(qt));if(G)for(var Le=lt[Te],hn=vt.length,Bn=Le;Bn<hn;Bn++){var pn=vt[Bn];ct[Bn]=bt[pn]}}return lt[P]=vt.length,yt}return t(Zc,n,{"Array, Array":t.referTo("Matrix, Matrix",x=>(F,M)=>{h(Be(F),Be(M));var S=x(e(F),e(M));return me(S)?S.valueOf():S}),"Matrix, Matrix":function(F,M){var S=F.size(),I=M.size();return h(S,I),S.length===1?I.length===1?p(F,M,S[0]):f(F,M):I.length===1?g(F,M):w(F,M)},"Matrix, Array":t.referTo("Matrix,Matrix",x=>(F,M)=>x(F,e(M))),"Array, Matrix":t.referToSelf(x=>(F,M)=>x(e(F,M.storage()),M)),"SparseMatrix, any":function(F,M){return l(F,M,n,!1)},"DenseMatrix, any":function(F,M){return c(F,M,n,!1)},"any, SparseMatrix":function(F,M){return l(M,F,n,!0)},"any, DenseMatrix":function(F,M){return c(M,F,n,!0)},"Array, any":function(F,M){return c(e(F),M,n,!1).valueOf()},"any, Array":function(F,M){return c(e(M),F,n,!0).valueOf()},"any, any":n,"any, any, ...any":t.referToSelf(x=>(F,M,S)=>{for(var I=x(F,M),C=0;C<S.length;C++)I=x(I,S[C]);return I})})}),Gc="subtract",yg=["typed","matrix","equalScalar","subtractScalar","unaryMinus","DenseMatrix","concat"],Dg=mt(Gc,yg,i=>{var{typed:t,matrix:e,equalScalar:r,subtractScalar:n,unaryMinus:s,DenseMatrix:a,concat:l}=i,c=Yc({typed:t}),h=vi({typed:t}),p=jc({typed:t,equalScalar:r}),f=Vc({typed:t,DenseMatrix:a}),d=gi({typed:t,DenseMatrix:a}),g=Kn({typed:t,matrix:e,concat:l});return t(Gc,{"any, any":n},g({elop:n,SS:p,DS:c,SD:h,Ss:d,sS:f}))}),bg="matAlgo07xSSf",Eg=["typed","DenseMatrix"],js=mt(bg,Eg,i=>{var{typed:t,DenseMatrix:e}=i;return function(s,a,l){var c=s._size,h=s._datatype||s._data===void 0?s._datatype:s.getDataType(),p=a._size,f=a._datatype||a._data===void 0?a._datatype:a.getDataType();if(c.length!==p.length)throw new Ht(c.length,p.length);if(c[0]!==p[0]||c[1]!==p[1])throw new RangeError("Dimension mismatch. Matrix A ("+c+") must match Matrix B ("+p+")");var d=c[0],g=c[1],w,m=0,D=l;typeof h=="string"&&h===f&&h!=="mixed"&&(w=h,m=t.convert(0,w),D=t.find(l,[w,w]));var v,E,b=[];for(v=0;v<d;v++)b[v]=[];var N=[],x=[],F=[],M=[];for(E=0;E<g;E++){var S=E+1;for(r(s,E,F,N,S),r(a,E,M,x,S),v=0;v<d;v++){var I=F[v]===S?N[v]:m,C=M[v]===S?x[v]:m;b[v][E]=D(I,C)}}return new e({data:b,size:[d,g],datatype:h===s._datatype&&f===a._datatype?w:void 0})};function r(n,s,a,l,c){for(var h=n._values,p=n._index,f=n._ptr,d=f[s],g=f[s+1];d<g;d++){var w=p[d];a[w]=c,l[w]=h[d]}}}),Kc="conj",xg=["typed"],Ag=mt(Kc,xg,i=>{var{typed:t}=i;return t(Kc,{"number | BigNumber | Fraction":e=>e,Complex:e=>e.conjugate(),"Array | Matrix":t.referToSelf(e=>r=>Yr(r,e))})}),Hc="concat",Cg=["typed","matrix","isInteger"],Fg=mt(Hc,Cg,i=>{var{typed:t,matrix:e,isInteger:r}=i;return t(Hc,{"...Array | Matrix | number | BigNumber":function(s){var a,l=s.length,c=-1,h,p=!1,f=[];for(a=0;a<l;a++){var d=s[a];if(me(d)&&(p=!0),he(d)||Fe(d)){if(a!==l-1)throw new Error("Dimension must be specified as last argument");if(h=c,c=d.valueOf(),!r(c))throw new TypeError("Integer number expected for dimension");if(c<0||a>0&&c>h)throw new xn(c,h+1)}else{var g=se(d).valueOf(),w=Be(g);if(f[a]=g,h=c,c=w.length-1,a>0&&c!==h)throw new Ht(h+1,c+1)}}if(f.length===0)throw new SyntaxError("At least one matrix expected");for(var m=f.shift();f.length;)m=nc(m,f.shift(),c);return p?e(m):m},"...string":function(s){return s.join("")}})}),Jc="count",Mg=["typed","size","prod"],Ng=mt(Jc,Mg,i=>{var{typed:t,size:e,prod:r}=i;return t(Jc,{string:function(s){return s.length},"Matrix | Array":function(s){return r(e(s))}})}),Xc="identity",Sg=["typed","config","matrix","BigNumber","DenseMatrix","SparseMatrix"],Bg=mt(Xc,Sg,i=>{var{typed:t,config:e,matrix:r,BigNumber:n,DenseMatrix:s,SparseMatrix:a}=i;return t(Xc,{"":function(){return e.matrix==="Matrix"?r([]):[]},string:function(p){return r(p)},"number | BigNumber":function(p){return c(p,p,e.matrix==="Matrix"?"dense":void 0)},"number | BigNumber, string":function(p,f){return c(p,p,f)},"number | BigNumber, number | BigNumber":function(p,f){return c(p,f,e.matrix==="Matrix"?"dense":void 0)},"number | BigNumber, number | BigNumber, string":function(p,f,d){return c(p,f,d)},Array:function(p){return l(p)},"Array, string":function(p,f){return l(p,f)},Matrix:function(p){return l(p.valueOf(),p.storage())},"Matrix, string":function(p,f){return l(p.valueOf(),f)}});function l(h,p){switch(h.length){case 0:return p?r(p):[];case 1:return c(h[0],h[0],p);case 2:return c(h[0],h[1],p);default:throw new Error("Vector containing two values expected")}}function c(h,p,f){var d=Fe(h)||Fe(p)?n:null;if(Fe(h)&&(h=h.toNumber()),Fe(p)&&(p=p.toNumber()),!we(h)||h<1)throw new Error("Parameters in function identity must be positive integers");if(!we(p)||p<1)throw new Error("Parameters in function identity must be positive integers");var g=d?new n(1):1,w=d?new d(0):0,m=[h,p];if(f){if(f==="sparse")return a.diagonal(m,g,0,w);if(f==="dense")return s.diagonal(m,g,0,w);throw new TypeError('Unknown matrix type "'.concat(f,'"'))}for(var D=pa([],m,w),v=h<p?h:p,E=0;E<v;E++)D[E][E]=g;return D}}),Qc="kron",Og=["typed","matrix","multiplyScalar"],Tg=mt(Qc,Og,i=>{var{typed:t,matrix:e,multiplyScalar:r}=i;return t(Qc,{"Matrix, Matrix":function(a,l){return e(n(a.toArray(),l.toArray()))},"Matrix, Array":function(a,l){return e(n(a.toArray(),l))},"Array, Matrix":function(a,l){return e(n(a,l.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 l=[],c=[];return s.map(function(h){return a.map(function(p){return c=[],l.push(c),h.map(function(f){return p.map(function(d){return c.push(r(f,d))})})})})&&l}});function Ig(){throw new Error('No "bignumber" implementation available')}function $g(){throw new Error('No "fraction" implementation available')}function Lg(){throw new Error('No "matrix" implementation available')}var tf="reshape",Rg=["typed","isInteger","matrix"],Pg=mt(tf,Rg,i=>{var{typed:t,isInteger:e}=i;return t(tf,{"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)}),_a(n,s)}})}),ef="size",zg=["typed","config","?matrix"],qg=mt(ef,zg,i=>{var{typed:t,config:e,matrix:r}=i;return t(ef,{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([]):Lg()}})}),rf="transpose",kg=["typed","matrix"],Ug=mt(rf,kg,i=>{var{typed:t,matrix:e}=i;return t(rf,{Array:a=>r(e(a)).valueOf(),Matrix:r,any:se});function r(a){var l=a.size(),c;switch(l.length){case 1:c=a.clone();break;case 2:{var h=l[0],p=l[1];if(p===0)throw new RangeError("Cannot transpose a 2D matrix with no columns (size: "+le(l)+")");switch(a.storage()){case"dense":c=n(a,h,p);break;case"sparse":c=s(a,h,p);break}}break;default:throw new RangeError("Matrix must be a vector or two dimensional (size: "+le(l)+")")}return c}function n(a,l,c){for(var h=a._data,p=[],f,d=0;d<c;d++){f=p[d]=[];for(var g=0;g<l;g++)f[g]=se(h[g][d])}return a.createDenseMatrix({data:p,size:[c,l],datatype:a._datatype})}function s(a,l,c){for(var h=a._values,p=a._index,f=a._ptr,d=h?[]:void 0,g=[],w=[],m=[],D=0;D<l;D++)m[D]=0;var v,E,b;for(v=0,E=p.length;v<E;v++)m[p[v]]++;for(var N=0,x=0;x<l;x++)w.push(N),N+=m[x],m[x]=w[x];for(w.push(N),b=0;b<c;b++)for(var F=f[b],M=f[b+1],S=F;S<M;S++){var I=m[p[S]]++;g[I]=b,h&&(d[I]=se(h[S]))}return a.createSparseMatrix({values:d,index:g,ptr:w,size:[c,l],datatype:a._datatype})}}),nf="ctranspose",Wg=["typed","transpose","conj"],jg=mt(nf,Wg,i=>{var{typed:t,transpose:e,conj:r}=i;return t(nf,{any:function(s){return r(e(s))}})}),sf="mode",Yg=["typed","isNaN","isNumeric"],Vg=mt(sf,Yg,i=>{var{typed:t,isNaN:e,isNumeric:r}=i;return t(sf,{"Array | Matrix":n,"...":function(a){return n(a)}});function n(s){s=ga(s.valueOf());var a=s.length;if(a===0)throw new Error("Cannot calculate mode of an empty array");for(var l={},c=[],h=0,p=0;p<s.length;p++){var f=s[p];if(r(f)&&e(f))throw new Error("Cannot calculate mode of an array containing NaN values");f in l||(l[f]=0),l[f]++,l[f]===h?c.push(f):l[f]>h&&(h=l[f],c=[f])}return c}});function Nn(i,t,e){var r;return String(i).indexOf("Unexpected type")!==-1?(r=arguments.length>2?" (type: "+En(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: "+En(e)+", value: "+JSON.stringify(e)+")":"",new TypeError("Cannot calculate "+t+", no ordering relation is defined for complex numbers"+r)):i}var of="prod",Zg=["typed","config","multiplyScalar","numeric"],Gg=mt(of,Zg,i=>{var{typed:t,config:e,multiplyScalar:r,numeric:n}=i;return t(of,{"Array | Matrix":s,"Array | Matrix, number | BigNumber":function(l,c){throw new Error("prod(A, dim) is not yet supported")},"...":function(l){return s(l)}});function s(a){var l;if(Gi(a,function(c){try{l=l===void 0?c:r(l,c)}catch(h){throw Nn(h,"prod",c)}}),typeof l=="string"&&(l=n(l,e.number)),l===void 0)throw new Error("Cannot calculate prod of an empty array");return l}}),Kg="numeric",Hg=["number","?bignumber","?fraction"],Jg=mt(Kg,Hg,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):Ig,Fraction:r?a=>r(a):$g};return function(l){var c=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"number",h=arguments.length>2?arguments[2]:void 0;if(h!==void 0)throw new SyntaxError("numeric() takes one or two arguments");var p=En(l);if(!(p in n))throw new TypeError("Cannot convert "+l+' of type "'+p+'"; valid input types are '+Object.keys(n).join(", "));if(!(c in s))throw new TypeError("Cannot convert "+l+' to type "'+c+'"; valid output types are '+Object.keys(s).join(", "));return c===p?l:s[c](l)}}),af="divideScalar",Xg=["typed","numeric"],Qg=mt(af,Xg,i=>{var{typed:t,numeric:e}=i;return t(af,{"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)})}),uf="pow",tv=["typed","config","identity","multiply","matrix","inv","fraction","number","Complex"],ev=mt(uf,tv,i=>{var{typed:t,config:e,identity:r,multiply:n,matrix:s,inv:a,number:l,fraction:c,Complex:h}=i;return t(uf,{"number, number":p,"Complex, Complex":function(w,m){return w.pow(m)},"BigNumber, BigNumber":function(w,m){return m.isInteger()||w>=0||e.predictable?w.pow(m):new h(w.toNumber(),0).pow(m.toNumber(),0)},"Fraction, Fraction":function(w,m){var D=w.pow(m);if(D!=null)return D;if(e.predictable)throw new Error("Result of pow is non-rational and cannot be expressed as a fraction");return p(w.valueOf(),m.valueOf())},"Array, number":f,"Array, BigNumber":function(w,m){return f(w,m.toNumber())},"Matrix, number":d,"Matrix, BigNumber":function(w,m){return d(w,m.toNumber())},"Unit, number | BigNumber":function(w,m){return w.pow(m)}});function p(g,w){if(e.predictable&&!we(w)&&g<0)try{var m=c(w),D=l(m);if((w===D||Math.abs((w-D)/w)<1e-14)&&m.d%2===1)return(m.n%2===0?1:-1)*Math.pow(-g,w)}catch{}return e.predictable&&(g<-1&&w===1/0||g>-1&&g<0&&w===-1/0)?NaN:we(w)||g>=0||e.predictable?Oc(g,w):g*g<1&&w===1/0||g*g>1&&w===-1/0?0:new h(g,0).pow(w,0)}function f(g,w){if(!we(w))throw new TypeError("For A^b, b must be an integer (value is "+w+")");var m=Be(g);if(m.length!==2)throw new Error("For A^b, A must be 2 dimensional (A has "+m.length+" dimensions)");if(m[0]!==m[1])throw new Error("For A^b, A must be square (size is "+m[0]+"x"+m[1]+")");if(w<0)try{return f(a(g),-w)}catch(E){throw E.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 "+w+")"):E}for(var D=r(m[0]).valueOf(),v=g;w>=1;)(w&1)===1&&(D=n(v,D)),w>>=1,v=n(v,v);return D}function d(g,w){return s(f(g.valueOf(),w))}}),lf="dotDivide",rv=["typed","matrix","equalScalar","divideScalar","DenseMatrix","concat"],nv=mt(lf,rv,i=>{var{typed:t,matrix:e,equalScalar:r,divideScalar:n,DenseMatrix:s,concat:a}=i,l=Km({typed:t,equalScalar:r}),c=vi({typed:t}),h=js({typed:t,DenseMatrix:s}),p=Fa({typed:t,equalScalar:r}),f=gi({typed:t,DenseMatrix:s}),d=Kn({typed:t,matrix:e,concat:a});return t(lf,d({elop:n,SS:h,DS:c,SD:l,Ss:p,sS:f}))}),Ys="compare",iv=["typed","config","matrix","equalScalar","BigNumber","Fraction","DenseMatrix","concat"],sv=mt(Ys,iv,i=>{var{typed:t,config:e,equalScalar:r,matrix:n,BigNumber:s,Fraction:a,DenseMatrix:l,concat:c}=i,h=vi({typed:t}),p=jc({typed:t,equalScalar:r}),f=gi({typed:t,DenseMatrix:l}),d=Kn({typed:t,matrix:n,concat:c}),g=Us({typed:t});return t(Ys,ov({typed:t,config:e}),{"boolean, boolean":function(m,D){return m===D?0:m>D?1:-1},"BigNumber, BigNumber":function(m,D){return ks(m,D,e.epsilon)?new s(0):new s(m.cmp(D))},"Fraction, Fraction":function(m,D){return new a(m.compare(D))},"Complex, Complex":function(){throw new TypeError("No ordering relation is defined for complex numbers")}},g,d({SS:p,DS:h,Ss:f}))}),ov=mt(Ys,["typed","config"],i=>{var{typed:t,config:e}=i;return t(Ys,{"number, number":function(n,s){return Gn(n,s,e.epsilon)?0:n>s?1:-1}})}),Vs="equal",av=["typed","matrix","equalScalar","DenseMatrix","concat"],uv=mt(Vs,av,i=>{var{typed:t,matrix:e,equalScalar:r,DenseMatrix:n,concat:s}=i,a=vi({typed:t}),l=js({typed:t,DenseMatrix:n}),c=gi({typed:t,DenseMatrix:n}),h=Kn({typed:t,matrix:e,concat:s});return t(Vs,lv({typed:t,equalScalar:r}),h({elop:r,SS:l,DS:a,Ss:c}))}),lv=mt(Vs,["typed","equalScalar"],i=>{var{typed:t,equalScalar:e}=i;return t(Vs,{"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)}})}),Zs="smaller",cv=["typed","config","matrix","DenseMatrix","concat"],fv=mt(Zs,cv,i=>{var{typed:t,config:e,matrix:r,DenseMatrix:n,concat:s}=i,a=vi({typed:t}),l=js({typed:t,DenseMatrix:n}),c=gi({typed:t,DenseMatrix:n}),h=Kn({typed:t,matrix:r,concat:s}),p=Us({typed:t});return t(Zs,hv({typed:t,config:e}),{"boolean, boolean":(f,d)=>f<d,"BigNumber, BigNumber":function(d,g){return d.lt(g)&&!ks(d,g,e.epsilon)},"Fraction, Fraction":(f,d)=>f.compare(d)===-1,"Complex, Complex":function(d,g){throw new TypeError("No ordering relation is defined for complex numbers")}},p,h({SS:l,DS:a,Ss:c}))}),hv=mt(Zs,["typed","config"],i=>{var{typed:t,config:e}=i;return t(Zs,{"number, number":function(n,s){return n<s&&!Gn(n,s,e.epsilon)}})}),Gs="larger",pv=["typed","config","matrix","DenseMatrix","concat"],dv=mt(Gs,pv,i=>{var{typed:t,config:e,matrix:r,DenseMatrix:n,concat:s}=i,a=vi({typed:t}),l=js({typed:t,DenseMatrix:n}),c=gi({typed:t,DenseMatrix:n}),h=Kn({typed:t,matrix:r,concat:s}),p=Us({typed:t});return t(Gs,_v({typed:t,config:e}),{"boolean, boolean":(f,d)=>f>d,"BigNumber, BigNumber":function(d,g){return d.gt(g)&&!ks(d,g,e.epsilon)},"Fraction, Fraction":(f,d)=>f.compare(d)===1,"Complex, Complex":function(){throw new TypeError("No ordering relation is defined for complex numbers")}},p,h({SS:l,DS:a,Ss:c}))}),_v=mt(Gs,["typed","config"],i=>{var{typed:t,config:e}=i;return t(Gs,{"number, number":function(n,s){return n>s&&!Gn(n,s,e.epsilon)}})}),cf="deepEqual",mv=["typed","equal"],gv=mt(cf,mv,i=>{var{typed:t,equal:e}=i;return t(cf,{"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 l=0;l<a;l++)if(!r(n[l],s[l]))return!1;return!0}else return!1;else return Array.isArray(s)?!1:e(n,s)}}),ff="partitionSelect",vv=["typed","isNumeric","isNaN","compare"],wv=mt(ff,vv,i=>{var{typed:t,isNumeric:e,isNaN:r,compare:n}=i,s=n,a=(h,p)=>-n(h,p);return t(ff,{"Array | Matrix, number":function(p,f){return l(p,f,s)},"Array | Matrix, number, string":function(p,f,d){if(d==="asc")return l(p,f,s);if(d==="desc")return l(p,f,a);throw new Error('Compare string must be "asc" or "desc"')},"Array | Matrix, number, function":l});function l(h,p,f){if(!we(p)||p<0)throw new Error("k must be a non-negative integer");if(me(h)){var d=h.size();if(d.length>1)throw new Error("Only one dimensional matrices supported");return c(h.valueOf(),p,f)}if(Array.isArray(h))return c(h,p,f)}function c(h,p,f){if(p>=h.length)throw new Error("k out of bounds");for(var d=0;d<h.length;d++)if(e(h[d])&&r(h[d]))return h[d];for(var g=0,w=h.length-1;g<w;){for(var m=g,D=w,v=h[Math.floor(Math.random()*(w-g+1))+g];m<D;)if(f(h[m],v)>=0){var E=h[D];h[D]=h[m],h[m]=E,--D}else++m;f(h[m],v)>0&&--m,p<=m?w=m:g=m+1}return h[p]}}),hf="max",yv=["typed","config","numeric","larger"],Dv=mt(hf,yv,i=>{var{typed:t,config:e,numeric:r,larger:n}=i;return t(hf,{"Array | Matrix":a,"Array | Matrix, number | BigNumber":function(c,h){return Ca(c,h.valueOf(),s)},"...":function(c){if(Ps(c))throw new TypeError("Scalar values expected in function max");return a(c)}});function s(l,c){try{return n(l,c)?l:c}catch(h){throw Nn(h,"max",c)}}function a(l){var c;if(Gi(l,function(h){try{isNaN(h)&&typeof h=="number"?c=NaN:(c===void 0||n(h,c))&&(c=h)}catch(p){throw Nn(p,"max",h)}}),c===void 0)throw new Error("Cannot calculate max of an empty array");return typeof c=="string"&&(c=r(c,e.number)),c}}),pf="min",bv=["typed","config","numeric","smaller"],Ev=mt(pf,bv,i=>{var{typed:t,config:e,numeric:r,smaller:n}=i;return t(pf,{"Array | Matrix":a,"Array | Matrix, number | BigNumber":function(c,h){return Ca(c,h.valueOf(),s)},"...":function(c){if(Ps(c))throw new TypeError("Scalar values expected in function min");return a(c)}});function s(l,c){try{return n(l,c)?l:c}catch(h){throw Nn(h,"min",c)}}function a(l){var c;if(Gi(l,function(h){try{isNaN(h)&&typeof h=="number"?c=NaN:(c===void 0||n(h,c))&&(c=h)}catch(p){throw Nn(p,"min",h)}}),c===void 0)throw new Error("Cannot calculate min of an empty array");return typeof c=="string"&&(c=r(c,e.number)),c}}),df="add",xv=["typed","matrix","addScalar","equalScalar","DenseMatrix","SparseMatrix","concat"],Av=mt(df,xv,i=>{var{typed:t,matrix:e,addScalar:r,equalScalar:n,DenseMatrix:s,SparseMatrix:a,concat:l}=i,c=Yc({typed:t}),h=hg({typed:t,equalScalar:n}),p=Vc({typed:t,DenseMatrix:s}),f=Kn({typed:t,matrix:e,concat:l});return t(df,{"any, any":r,"any, any, ...any":t.referToSelf(d=>(g,w,m)=>{for(var D=d(g,w),v=0;v<m.length;v++)D=d(D,m[v]);return D})},f({elop:r,DS:c,SS:h,Ss:p}))}),_f="dot",Cv=["typed","addScalar","multiplyScalar","conj","size"],Fv=mt(_f,Cv,i=>{var{typed:t,addScalar:e,multiplyScalar:r,conj:n,size:s}=i;return t(_f,{"Array | DenseMatrix, Array | DenseMatrix":l,"SparseMatrix, SparseMatrix":c});function a(p,f){var d=h(p),g=h(f),w,m;if(d.length===1)w=d[0];else if(d.length===2&&d[1]===1)w=d[0];else throw new RangeError("Expected a column vector, instead got a matrix of size ("+d.join(", ")+")");if(g.length===1)m=g[0];else if(g.length===2&&g[1]===1)m=g[0];else throw new RangeError("Expected a column vector, instead got a matrix of size ("+g.join(", ")+")");if(w!==m)throw new RangeError("Vectors must have equal length ("+w+" != "+m+")");if(w===0)throw new RangeError("Cannot calculate the dot product of empty vectors");return w}function l(p,f){var d=a(p,f),g=me(p)?p._data:p,w=me(p)?p._datatype||p.getDataType():void 0,m=me(f)?f._data:f,D=me(f)?f._datatype||f.getDataType():void 0,v=h(p).length===2,E=h(f).length===2,b=e,N=r;if(w&&D&&w===D&&typeof w=="string"&&w!=="mixed"){var x=w;b=t.find(e,[x,x]),N=t.find(r,[x,x])}if(!v&&!E){for(var F=N(n(g[0]),m[0]),M=1;M<d;M++)F=b(F,N(n(g[M]),m[M]));return F}if(!v&&E){for(var S=N(n(g[0]),m[0][0]),I=1;I<d;I++)S=b(S,N(n(g[I]),m[I][0]));return S}if(v&&!E){for(var C=N(n(g[0][0]),m[0]),O=1;O<d;O++)C=b(C,N(n(g[O][0]),m[O]));return C}if(v&&E){for(var L=N(n(g[0][0]),m[0][0]),k=1;k<d;k++)L=b(L,N(n(g[k][0]),m[k][0]));return L}}function c(p,f){a(p,f);for(var d=p._index,g=p._values,w=f._index,m=f._values,D=0,v=e,E=r,b=0,N=0;b<d.length&&N<w.length;){var x=d[b],F=w[N];if(x<F){b++;continue}if(x>F){N++;continue}x===F&&(D=v(D,E(g[b],m[N])),b++,N++)}return D}function h(p){return me(p)?p.size():s(p)}}),Mv="trace",Nv=["typed","matrix","add"],Sv=mt(Mv,Nv,i=>{var{typed:t,matrix:e,add:r}=i;return t("trace",{Array:function(l){return n(e(l))},SparseMatrix:s,DenseMatrix:n,any:se});function n(a){var l=a._size,c=a._data;switch(l.length){case 1:if(l[0]===1)return se(c[0]);throw new RangeError("Matrix must be square (size: "+le(l)+")");case 2:{var h=l[0],p=l[1];if(h===p){for(var f=0,d=0;d<h;d++)f=r(f,c[d][d]);return f}else throw new RangeError("Matrix must be square (size: "+le(l)+")")}default:throw new RangeError("Matrix must be two dimensional (size: "+le(l)+")")}}function s(a){var l=a._values,c=a._index,h=a._ptr,p=a._size,f=p[0],d=p[1];if(f===d){var g=0;if(l.length>0)for(var w=0;w<d;w++)for(var m=h[w],D=h[w+1],v=m;v<D;v++){var E=c[v];if(E===w){g=r(g,l[v]);break}if(E>w)break}return g}throw new RangeError("Matrix must be square (size: "+le(p)+")")}}),mf="det",Bv=["typed","matrix","subtractScalar","multiply","divideScalar","isZero","unaryMinus"],Ov=mt(mf,Bv,i=>{var{typed:t,matrix:e,subtractScalar:r,multiply:n,divideScalar:s,isZero:a,unaryMinus:l}=i;return t(mf,{any:function(p){return se(p)},"Array | Matrix":function(p){var f;switch(me(p)?f=p.size():Array.isArray(p)?(p=e(p),f=p.size()):f=[],f.length){case 0:return se(p);case 1:if(f[0]===1)return se(p.valueOf()[0]);if(f[0]===0)return 1;throw new RangeError("Matrix must be square (size: "+le(f)+")");case 2:{var d=f[0],g=f[1];if(d===g)return c(p.clone().valueOf(),d);if(g===0)return 1;throw new RangeError("Matrix must be square (size: "+le(f)+")")}default:throw new RangeError("Matrix must be two dimensional (size: "+le(f)+")")}}});function c(h,p,f){if(p===1)return se(h[0][0]);if(p===2)return r(n(h[0][0],h[1][1]),n(h[1][0],h[0][1]));for(var d=!1,g=new Array(p).fill(0).map((M,S)=>S),w=0;w<p;w++){var m=g[w];if(a(h[m][w])){var D=void 0;for(D=w+1;D<p;D++)if(!a(h[g[D]][w])){m=g[D],g[D]=g[w],g[w]=m,d=!d;break}if(D===p)return h[m][w]}for(var v=h[m][w],E=w===0?1:h[g[w-1]][w-1],b=w+1;b<p;b++)for(var N=g[b],x=w+1;x<p;x++)h[N][x]=s(r(n(h[N][x],v),n(h[N][w],h[m][x])),E)}var F=h[g[p-1]][p-1];return d?l(F):F}}),gf="inv",Tv=["typed","matrix","divideScalar","addScalar","multiply","unaryMinus","det","identity","abs"],Iv=mt(gf,Tv,i=>{var{typed:t,matrix:e,divideScalar:r,addScalar:n,multiply:s,unaryMinus:a,det:l,identity:c,abs:h}=i;return t(gf,{"Array | Matrix":function(d){var g=me(d)?d.size():Be(d);switch(g.length){case 1:if(g[0]===1)return me(d)?e([r(1,d.valueOf()[0])]):[r(1,d[0])];throw new RangeError("Matrix must be square (size: "+le(g)+")");case 2:{var w=g[0],m=g[1];if(w===m)return me(d)?e(p(d.valueOf(),w,m),d.storage()):p(d,w,m);throw new RangeError("Matrix must be square (size: "+le(g)+")")}default:throw new RangeError("Matrix must be two dimensional (size: "+le(g)+")")}},any:function(d){return r(1,d)}});function p(f,d,g){var w,m,D,v,E;if(d===1){if(v=f[0][0],v===0)throw Error("Cannot calculate inverse, determinant is zero");return[[r(1,v)]]}else if(d===2){var b=l(f);if(b===0)throw Error("Cannot calculate inverse, determinant is zero");return[[r(f[1][1],b),r(a(f[0][1]),b)],[r(a(f[1][0]),b),r(f[0][0],b)]]}else{var N=f.concat();for(w=0;w<d;w++)N[w]=N[w].concat();for(var x=c(d).valueOf(),F=0;F<g;F++){var M=h(N[F][F]),S=F;for(w=F+1;w<d;)h(N[w][F])>M&&(M=h(N[w][F]),S=w),w++;if(M===0)throw Error("Cannot calculate inverse, determinant is zero");w=S,w!==F&&(E=N[F],N[F]=N[w],N[w]=E,E=x[F],x[F]=x[w],x[w]=E);var I=N[F],C=x[F];for(w=0;w<d;w++){var O=N[w],L=x[w];if(w!==F){if(O[F]!==0){for(D=r(a(O[F]),I[F]),m=F;m<g;m++)O[m]=n(O[m],s(D,I[m]));for(m=0;m<g;m++)L[m]=n(L[m],s(D,C[m]))}}else{for(D=I[F],m=F;m<g;m++)O[m]=r(O[m],D);for(m=0;m<g;m++)L[m]=r(L[m],D)}}}return x}}}),vf="pinv",$v=["typed","matrix","inv","deepEqual","equal","dotDivide","dot","ctranspose","divideScalar","multiply","add","Complex"],Lv=mt(vf,$v,i=>{var{typed:t,matrix:e,inv:r,deepEqual:n,equal:s,dotDivide:a,dot:l,ctranspose:c,divideScalar:h,multiply:p,add:f,Complex:d}=i;return t(vf,{"Array | Matrix":function(b){var N=me(b)?b.size():Be(b);switch(N.length){case 1:return v(b)?c(b):N[0]===1?r(b):a(c(b),l(b,b));case 2:{if(v(b))return c(b);var x=N[0],F=N[1];if(x===F)try{return r(b)}catch(M){if(!(M instanceof Error&&M.message.match(/Cannot calculate inverse, determinant is zero/)))throw M}return me(b)?e(g(b.valueOf(),x,F),b.storage()):g(b,x,F)}default:throw new RangeError("Matrix must be two dimensional (size: "+le(N)+")")}},any:function(b){return s(b,0)?se(b):h(1,b)}});function g(E,b,N){var{C:x,F}=m(E,b,N),M=p(r(p(c(x),x)),c(x)),S=p(c(F),r(p(F,c(F))));return p(S,M)}function w(E,b,N){for(var x=se(E),F=0,M=0;M<b;M++){if(N<=F)return x;for(var S=M;D(x[S][F]);)if(S++,b===S&&(S=M,F++,N===F))return x;[x[S],x[M]]=[x[M],x[S]];for(var I=x[M][F],C=0;C<N;C++)x[M][C]=a(x[M][C],I);for(var O=0;O<b;O++)if(O!==M){I=x[O][F];for(var L=0;L<N;L++)x[O][L]=f(x[O][L],p(-1,p(I,x[M][L])))}F++}return x}function m(E,b,N){var x=w(E,b,N),F=E.map((S,I)=>S.filter((C,O)=>O<b&&!D(l(x[O],x[O])))),M=x.filter((S,I)=>!D(l(x[I],x[I])));return{C:F,F:M}}function D(E){return s(f(E,d(1,1)),f(0,d(1,1)))}function v(E){return n(f(E,d(1,1)),f(p(E,0),d(1,1)))}}),Rv="divide",Pv=["typed","matrix","multiply","equalScalar","divideScalar","inv"],zv=mt(Rv,Pv,i=>{var{typed:t,matrix:e,multiply:r,equalScalar:n,divideScalar:s,inv:a}=i,l=Fa({typed:t,equalScalar:n}),c=Ma({typed:t});return t("divide",Rl({"Array | Matrix, Array | Matrix":function(p,f){return r(p,a(f))},"DenseMatrix, any":function(p,f){return c(p,f,s,!1)},"SparseMatrix, any":function(p,f){return l(p,f,s,!1)},"Array, any":function(p,f){return c(e(p),f,s,!1).valueOf()},"any, Array | Matrix":function(p,f){return r(p,a(f))}},s.signatures))}),wf="sum",qv=["typed","config","add","numeric"],kv=mt(wf,qv,i=>{var{typed:t,config:e,add:r,numeric:n}=i;return t(wf,{"Array | Matrix":s,"Array | Matrix, number | BigNumber":a,"...":function(c){if(Ps(c))throw new TypeError("Scalar values expected in function sum");return s(c)}});function s(l){var c;return Gi(l,function(h){try{c=c===void 0?h:r(c,h)}catch(p){throw Nn(p,"sum",h)}}),c===void 0&&(c=n(0,e.number)),typeof c=="string"&&(c=n(c,e.number)),c}function a(l,c){try{var h=Ca(l,c,r);return h}catch(p){throw Nn(p,"sum")}}}),yf="median",Uv=["typed","add","divide","compare","partitionSelect"],Wv=mt(yf,Uv,i=>{var{typed:t,add:e,divide:r,compare:n,partitionSelect:s}=i;function a(h){try{h=ga(h.valueOf());var p=h.length;if(p===0)throw new Error("Cannot calculate median of an empty array");if(p%2===0){for(var f=p/2-1,d=s(h,f+1),g=h[f],w=0;w<f;++w)n(h[w],g)>0&&(g=h[w]);return c(g,d)}else{var m=s(h,(p-1)/2);return l(m)}}catch(D){throw Nn(D,"median")}}var l=t({"number | BigNumber | Complex | Unit":function(p){return p}}),c=t({"number | BigNumber | Complex | Unit, number | BigNumber | Complex | Unit":function(p,f){return r(e(p,f),2)}});return t(yf,{"Array | Matrix":a,"Array | Matrix, number | BigNumber":function(p,f){throw new Error("median(A, dim) is not yet supported")},"...":function(p){if(Ps(p))throw new TypeError("Scalar values expected in function median");return a(p)}})}),Ks=j_({config:pr}),Na=G_({}),Sa=X_({}),Ba=em({}),tn=im({Matrix:Ba}),Mt=Zd({BigNumber:Ks,Complex:Na,DenseMatrix:tn,Fraction:Sa}),jv=Lm({typed:Mt}),Hs=Pm({typed:Mt}),Yv=Fm({BigNumber:Ks,typed:Mt}),Df=Ag({typed:Mt}),Sn=mm({config:pr,typed:Mt}),Js=am({typed:Mt}),Vv=fm({typed:Mt}),Xs=gg({typed:Mt}),bf=xm({typed:Mt}),Oa=wm({Matrix:Ba,equalScalar:Sn,typed:Mt}),Ef=qm({typed:Mt}),xf=pm({typed:Mt}),Ta=Im({typed:Mt}),Af=Sm({Fraction:Sa,typed:Mt}),Cf=lm({typed:Mt}),Oe=Om({DenseMatrix:tn,Matrix:Ba,SparseMatrix:Oa,typed:Mt}),Ff=Vg({isNaN:xf,isNumeric:Cf,typed:Mt}),Ki=Jg({bignumber:Yv,fraction:Af,number:bf}),Zv=Gg({config:pr,multiplyScalar:Xs,numeric:Ki,typed:Mt}),Gv=Pg({isInteger:Js,matrix:Oe,typed:Mt}),Mf=qg({matrix:Oe,config:pr,typed:Mt}),Nf=Ug({matrix:Oe,typed:Mt}),Hn=Fg({isInteger:Js,matrix:Oe,typed:Mt}),Kv=Ng({prod:Zv,size:Mf,typed:Mt}),Hv=jg({conj:Df,transpose:Nf,typed:Mt}),Hi=Qg({numeric:Ki,typed:Mt}),Jv=nv({DenseMatrix:tn,concat:Hn,divideScalar:Hi,equalScalar:Sn,matrix:Oe,typed:Mt}),Sf=uv({DenseMatrix:tn,concat:Hn,equalScalar:Sn,matrix:Oe,typed:Mt}),Bf=Bg({BigNumber:Ks,DenseMatrix:tn,SparseMatrix:Oa,config:pr,matrix:Oe,typed:Mt}),Xv=Tg({matrix:Oe,multiplyScalar:Xs,typed:Mt}),Qv=fv({DenseMatrix:tn,concat:Hn,config:pr,matrix:Oe,typed:Mt}),t1=Dg({DenseMatrix:tn,concat:Hn,equalScalar:Sn,matrix:Oe,subtractScalar:Ef,typed:Mt,unaryMinus:Ta}),Ji=Av({DenseMatrix:tn,SparseMatrix:Oa,addScalar:Hs,concat:Hn,equalScalar:Sn,matrix:Oe,typed:Mt}),Of=sv({BigNumber:Ks,DenseMatrix:tn,Fraction:Sa,concat:Hn,config:pr,equalScalar:Sn,matrix:Oe,typed:Mt}),e1=gv({equal:Sf,typed:Mt}),Tf=Fv({addScalar:Hs,conj:Df,multiplyScalar:Xs,size:Mf,typed:Mt}),r1=dv({DenseMatrix:tn,concat:Hn,config:pr,matrix:Oe,typed:Mt}),Ia=Ev({config:pr,numeric:Ki,smaller:Qv,typed:Mt}),wi=wg({addScalar:Hs,dot:Tf,equalScalar:Sn,matrix:Oe,multiplyScalar:Xs,typed:Mt}),n1=wv({compare:Of,isNaN:xf,isNumeric:Cf,typed:Mt}),i1=kv({add:Ji,config:pr,numeric:Ki,typed:Mt}),s1=Sv({add:Ji,matrix:Oe,typed:Mt}),If=Ov({divideScalar:Hi,isZero:Vv,matrix:Oe,multiply:wi,subtractScalar:Ef,typed:Mt,unaryMinus:Ta}),o1=Dv({config:pr,larger:r1,numeric:Ki,typed:Mt}),Qs=Iv({abs:jv,addScalar:Hs,det:If,divideScalar:Hi,identity:Bf,matrix:Oe,multiply:wi,typed:Mt,unaryMinus:Ta}),a1=Lv({Complex:Na,add:Ji,ctranspose:Hv,deepEqual:e1,divideScalar:Hi,dot:Tf,dotDivide:Jv,equal:Sf,inv:Qs,matrix:Oe,multiply:wi,typed:Mt}),u1=ev({Complex:Na,config:pr,fraction:Af,identity:Bf,inv:Qs,matrix:Oe,multiply:wi,number:bf,typed:Mt}),l1=zv({divideScalar:Hi,equalScalar:Sn,inv:Qs,matrix:Oe,multiply:wi,typed:Mt}),$f=Wv({add:Ji,compare:Of,divide:l1,partitionSelect:n1,typed:Mt});class c1{constructor(t,e,r){z(this,"_cacheData");z(this,"_variables");z(this,"_math");z(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(e===void 0||r===void 0||n===void 0)return;const l=this._cacheDataList(t,e,`alma_${a}`);if(l===void 0)return;let c=r*(e-1);s&&(c=Math.floor(c));const h=e/n;let p=0,f=0;for(let d=0;d<=e-1;d++){const g=Math.exp(-1*Math.pow(d-c,2)/(2*Math.pow(h,2)));p+=g,f+=l[l.length-1-(e-d-1)]*g}return f/p}sma({source:t,length:e},r){if(t===void 0||isNaN(t)||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=i1(...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,l=s===void 0?this.sma({source:t,length:e},r):a*t+(1-a)*(s||0);return this._cacheDataHandle(`rma_${r}`,{sum:l}),l}atr({length:t},e){const{high:r,close:n}=this._cacheData[`atr_${e}`]||{},{high:s,close:a,low:l}=this._variables,c=r===void 0?s-l:Math.max(Math.max(s-l,Math.abs(s-n)),Math.abs(l-n));return this._cacheDataHandle(`atr_${e}`,{high:s,close:a}),this.rma({source:c,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||isNaN(t)||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 l=0;for(let c=0;c<e;c++){const h=this._sum(s[s.length-1-c],-(a||0));l+=h*h}return r||e<=1?Math.sqrt(l/e):Math.sqrt(l/(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||isNaN(t)||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 l=r*a;return[s,s+l,s-l]}bbw({series:t,length:e,mult:r},n){if(t===void 0||isNaN(t)||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 l=r*a;return(s+l-(s-l))/s}cci({source:t,length:e},r){if(t===void 0||isNaN(t)||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){const n=this._cacheData[`change_${r}`]||[];n[this._variables.bar_index]=t,this._cacheData[`change_${r}`]=n;const s=n[n.length-1-e];if(!(t===void 0||isNaN(t)))return s===void 0?s:typeof t=="boolean"?s!==t:t-s}cmo({series:t,length:e},r){if(t===void 0||isNaN(t)||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||isNaN(t)||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 l=0;l<e;l++){const c=n[n.length-1-l];a+=c*(l+1)}return-a/s}correlation({source1:t,source2:e,length:r},n){if(t===void 0||isNaN(t)||e===void 0||isNaN(e)||r===void 0)return;const s=this._cacheDataList([t,e],r,`correlation_${n}`),a=this.sma({source:t,length:r},`sma1_${n}`),l=this.sma({source:e,length:r},`sma2_${n}`);if(a===void 0||l===void 0||s===void 0)return;let c=0,h=0,p=0;for(let d=0;d<r;d++){const[g,w]=s[s.length-1-d],m=g-a,D=w-l;c+=m*D,h+=m*m,p+=D*D}return isNaN(h)||isNaN(c)||isNaN(p)?void 0:c/Math.sqrt(h*p)}cross({source1:t,source2:e},r){if(t===void 0||e===void 0)return!1;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!1;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!1;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){t=isNaN(t)?0:t;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||isNaN(t)||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 l=0;l<e;l++){const c=a[a.length-1-l];s+=Math.abs(c-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:l,PDMS:c,NDMS:h,TRS:p,ADX:f,count:d=0}=this._cacheData[n]||{},{low:g,high:w,close:m}=this._variables;if(s===void 0||a===void 0||l===void 0)return this._cacheData[n]={low:g,high:w,close:m,PDMS:c,NDMS:h,TRS:w-g,count:1},[void 0,void 0,void 0];let D=w-a,v=s-g;D=D>v&&D>0?D:0,v=v>D&&v>0?v:0,D===v&&(D=v=0);const E=Math.max(w-g,Math.abs(w-l),Math.abs(g-l));if(d<t)return this._cacheDataHandle(n,{low:g,high:w,close:m,PDMS:(c||0)+D,NDMS:(h||0)+v,TRS:(p||0)+E,count:d+1}),[void 0,void 0,void 0];{const b=c-c/t+D,N=h-h/t+v,x=p-p/t+E,F=b/x*100,M=N/x*100,S=Math.abs((F-M)/(F+M))*100;let I=S,C=[F,M,void 0];if(d+1-t<e){const O=d+1-t;I=((f||0)*(O-1)+S)/O}else I=(f*(e-1)+S)/e,C=[F,M,I];return this._cacheDataHandle(n,{low:g,high:w,close:m,PDMS:b,NDMS:N,TRS:x,ADX:I,count:d+1}),C}}ema({source:t,length:e},r){if(t===void 0||e===void 0||isNaN(t))return;let{sum:n,count:s=1}=this._cacheData[`ema_${r}`]||{};const a=this.sma({source:t,length:e},r);if(s>e){const l=2/(e+1);n=n===void 0?t:l*t+(1-l)*(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||isNaN(t)||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(l=>l)}rising({source:t,length:e},r){if(t===void 0||isNaN(t)||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,risings:a}),a.length<e?!1:a.every(l=>l)}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 l=n.filter(()=>!0);if(!(l.length<e))return Math.max(...l.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 l=n.filter(()=>!0);return l.length<e?void 0:l.slice(-e).reduce((h,p,f,d)=>p>=d[h]?f:h,0)-e+1}wma({source:t,length:e},r){if(e===void 0||t===void 0||isNaN(t)||e<=0)return;const n=this._cacheDataList(t,e,`wma_${r}`);if(!n)return;let s=0,a=0;for(let l=0;l<e;l++){const c=(e-l)*e;s+=c,a+=n[n.length-1-l]*c}return a/s}hma({source:t,length:e},r){if(e===void 0||t===void 0||isNaN(t)||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||isNaN(t)||e===void 0||r===void 0)return[void 0,void 0,void 0];const a=this.ema({source:t,length:e},s),{ta:l,high:c,low:h}=this._variables,p=n?l.tr:c-h,f=this.ema({source:p,length:e},`range_${s}`);return[a,a+f*r,a-f*r]}kcw({series:t,length:e,mult:r,useTrueRange:n=!0},s){if(t===void 0||isNaN(t)||e===void 0||r===void 0)return;const a=this.ema({source:t,length:e},s),{ta:l,high:c,low:h}=this._variables,p=n?l.tr:c-h,f=this.ema({source:p,length:e},`range_${s}`);return(a+f*r-(a-f*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(g=>g!==void 0);let l=0,c=0,h=0,p=0;for(const[g,w]of a.entries())l+=g,c+=w,h+=g*w,p+=g*g;const f=(e*h-l*c)/(e*p-l*l);return(c-f*l)/e+f*(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 l=n.filter(()=>!0);if(!(l.length<e))return Math.min(...l.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 l=n.filter(()=>!0);return l.length<e?void 0:l.slice(-e).reduce((h,p,f,d)=>p<=d[h]?f:h,0)-e+1}macd({source:t,fastlen:e,slowlen:r,siglen:n},s){if(t===void 0||isNaN(t)||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}`),l=this.ema({source:t,length:r},`ema2_${s}`);if(a===void 0||l===void 0)return[void 0,void 0,void 0];const c=a-l,h=this.ema({source:c,length:n},`macd_${s}`);if(h===void 0)return[c,h,void 0];const p=c-h;return[c,h,p]}max({source:t},e){if(t===void 0||isNaN(t))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||isNaN(t))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||isNaN(t)||e<=0)return;const n=this._cacheDataList(t,e,`dev_${r}`);if(n)return $f(n.slice(-e))}mfi({series:t,length:e},r){if(e===void 0||t===void 0||isNaN(t)||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}`),l=this._math.sum({source:n*(s<=0?0:t),length:e},`upper_${r}`);if(!(l===void 0||a===void 0))return 100-100/(1+l/a)}mode({source:t,length:e},r){if(e===void 0||t===void 0||isNaN(t)||e<=0)return;const n=this._cacheDataList(t,e,`mode_${r}`);if(n)return Ia(Ff(n.slice(-e)))}mom({source:t,length:e},r){if(e===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||t===void 0||isNaN(t))return;let a=s.length-e-1,l;for(;l===void 0&&a>=0;)l=s[a],a--;return l===void 0?l:t-l}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))),l=a.length;r/=100;const c=1/(l*2);if(r<=c)return a[0];if(r>=1-1/(l*2))return a[l-1];for(const[h,p]of a.entries()){const f=a[h-1];if(r<(h+.5)/l)return f===void 0||p===void 0?void 0:f+(p-f)*(r-(h-.5)/l)/(1/l)}}percentile_nearest_rank({source:t,length:e,percentage:r},n){if(e===void 0||r===void 0||t===void 0||isNaN(t)||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)),l=r/100*a.length,c=Math.ceil(l)-1;return a[c>=a.length?a.length-1:c]}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 l=0;for(let c=0;c<s.length;c++)s[c]!==void 0&&(s[c]<a||s[c]===a&&c<e)&&l++;return l/(s.length-1)*100}pivot_point_levels({type:t,anchor:e,developing:r},n){const s=new Qt;let{close:a,open:l,low:c,high:h}=this._variables;const p=`pivot_point_levels_${n}`,{close:f,low:d,high:g,open:w,result:m}=this._cacheData[p]||{};if(!e&&(g&&d&&(h=Math.max(g,h),c=Math.min(d,c)),this._cacheDataHandle(p,{close:a,open:l,low:c,high:h,result:m}),!r))return s._value=m||[],s;const D={close:a,open:l,low:c,high:h};e===!0&&!r&&(a=f,l=w,c=d,h=g);const v=this._getPivotPointLevels(h,c,a,l,r,t);return this._cacheDataHandle(p,{...D,result:v}),s._value=v,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 Zn.traditional:return this._traditional(t,e,r);case Zn.fibonacci:return this._fibonacci(t,e,r);case Zn.woodie:return s?[]:this._woodie(t,e);case Zn.classic:return this._classic(t,e,r);case Zn.dm:return this._DM(t,e,r,n);case Zn.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),l=n*2+(t-2*e),c=n*3+(t-3*e),h=n*4+(t-4*e),p=n*2-t,f=n-(t-e),d=n*2-(2*t-e),g=n*3-(3*t-e),w=n*4-(4*t-e);return[n,s,p,a,f,l,d,c,g,h,w]}_fibonacci(t,e,r){const n=(t+e+r)/3,s=n+.382*(t-e),a=n-.382*(t-e),l=n+.618*(t-e),c=n-.618*(t-e),h=n+(t-e),p=n-(t-e);return[n,s,a,l,c,h,p]}_woodie(t,e){const{open:r}=this._variables,n=(t+e+2*r)/4,s=2*n-e,a=2*n-t,l=n+(t-e),c=n-(t-e),h=t+2*(n-e),p=e-2*(t-n),f=h+(t-e),d=p-(t-e);return[n,s,a,l,c,h,p,f,d]}_classic(t,e,r){const n=(t+e+r)/3,s=2*n-e,a=2*n-t,l=n+(t-e),c=n-(t-e),h=n+2*(t-e),p=n-2*(t-e),f=n+3*(t-e),d=n-3*(t-e);return[n,s,a,l,c,h,p,f,d]}_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,l=s/2-e,c=s/2-t;return[a,l,c]}_camarilla(t,e,r){const n=(t+e+r)/3,s=r+1.1*(t-e)/12,a=r-1.1*(t-e)/12,l=r+1.1*(t-e)/6,c=r-1.1*(t-e)/6,h=r+1.1*(t-e)/4,p=r-1.1*(t-e)/4,f=r+1.1*(t-e)/2,d=r-1.1*(t-e)/2,g=t/e*r,w=r-(g-r);return[n,s,a,l,c,h,p,f,d,g,w]}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)),l=a[e];return Math.max(...a)===l?l: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)),l=a[e];return Math.min(...a)===l?l:void 0}range({source:t,length:e},r){if(e===void 0||t===void 0||isNaN(t)||e<0)return;const n=this._cacheDataList(t,e,`range_${r}`);if(!n)return;const s=n.filter(c=>c!==void 0).slice(-e),a=Math.max(...s),l=Math.min(...s);return a-l}roc({source:t,length:e},r){if(e===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||isNaN(t)||e<0)return;const{source:n}=this._cacheData[`rsi_${r}`]||{},s=Math.max(t-n,0),a=Math.max(n-t,0),l=this.rma({source:s,length:e},`rma1_${r}`),c=this.rma({source:a,length:e},`rma2_${r}`);if(this._cacheDataHandle(`rsi_${r}`,{source:t}),!(l===void 0||c===void 0))return 100-100/(1+l/c)}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:l,preLow:c,preHigh:h,data:p={}}=this._cacheData[`sar_${n}`]||{};let{result:f,maxMin:d,acceleration:g,isBelow:w}=p,m=!1;const{close:D,low:v,high:E,bar_index:b}=this._variables;return b===1&&(D>s?(w=!0,d=E,f=a):(w=!1,d=v,f=l),m=!0,g=t),f=f+g*(d-f),w?f>v&&(m=!0,w=!1,f=Math.max(E,d||0),d=v,g=t):f<E&&(m=!0,w=!0,f=Math.min(v,d||0),d=E,g=t),m||(w?E>(d||0)&&(d=E,g=Math.min((g||0)+e,r)):v<(d||0)&&(d=v,g=Math.min((g||0)+e,r))),w?(f=Math.min(f,a),b>1&&(f=Math.min(f,c))):(f=Math.max(f,l),b>1&&(f=Math.max(f,h))),this._cacheDataHandle(`sar_${n}`,{high:E,close:D,low:v,preLow:a,preHigh:l,data:Object.assign(p,{result:f,maxMin:d,acceleration:g,isBelow:w})}),f}stoch({source:t,high:e,low:r,length:n},s){if(n===void 0||e===void 0||r===void 0||t===void 0||isNaN(t)||n<0)return;const a=this.lowest({source:r,length:n},s),l=this.highest({source:e,length:n},s);if(!(a===void 0||l===void 0))return 100*(this._variables.close-a)/(l-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:l,lowerBand:c,superTrend:h,atr:p,close:f}=this._cacheData[a]||{},d=this.atr({length:e},r);if(d===void 0)return this._cacheDataHandle(a,{close:s}),[void 0,void 0];let g=n+t*d,w=n-t*d;const m=l||0,D=c||0;w=w>D||f<D?w:D,g=g<m||f>m?g:m;let v;p===void 0?v=1:h===m?v=s>g?-1:1:v=s<w?1:-1;const E=v===-1?w:g;return this._cacheDataHandle(a,{upperBand:g,lowerBand:w,superTrend:E,atr:d,close:s}),[E,v]}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||isNaN(t)||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}`),l=this.ema({source:s,length:e},`ema1_${n}`);if(l===void 0)return;const c=this.ema({source:l,length:r},`ema2_${n}`),h=this.ema({source:a,length:e},`absema2_${n}`);if(c!==void 0)return c/h}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||isNaN(t)||e===void 0||e<0)return;const s=this.sma({source:t,length:e},n),a=this._cacheDataList(t,e,`mode_${n}`);if(!a||s===void 0)return;const l=a.filter(h=>h!==void 0&&!isNaN(h)).slice(-e);if(l.length<e)return;const c=l.reduce((h,p)=>h+Math.pow(p-s,2),0);if(c!==void 0)return r||e<=1?c/e:c/(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:l=0,count:c=0,isReset:h,sumS:p=0}=this._cacheData[`vwap_${n}`]||{};if(e&&(a=l=c=p=0,h=!0),!h)return r!==void 0?[]:void 0;const f=t*s+a,d=s+l,g=f/d;return c++,r!==void 0?(p=s*Math.pow(t,2)+p,this._cacheDataHandle(`vwap_${n}`,{sum:f,sumV:d,count:c,isReset:h,sumS:p}),this._computeBands(p,d,r,g)):(this._cacheDataHandle(`vwap_${n}`,{sum:f,sumV:d,count:c,isReset:h}),g)}_computeBands(t,e,r,n){let s=t/e-Math.pow(n,2);s=s<0?0:s;const a=Math.sqrt(s),l=a!==void 0&&!isNaN(a)?n+r*a:void 0,c=a!==void 0&&!isNaN(a)?n-r*a:void 0;return[n,l,c]}vwma({source:t,length:e},r){if(t===void 0||isNaN(t)||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:l}=n,c=t[s];if(c!==void 0){if(a!==void 0&&c<a){t.splice(s,1),t.splice(l,0,c),n={currentIndex:l+1,currentVal:a};continue}n={currentIndex:s,currentVal:c}}}}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}))}}const Ye={onlyInLoop:"'$text' is only allowed inside loops",invalidType:"Invalid argument 'expr$index' in 'operator SQBR' call",typeUseError:"Cannot specify a type form '$text' without also specifying the type.",notTypeKeyword:"'$text' is not a valid type keyword in variable declaration",undeclared:"Undeclared identifier '$name'",repeatVar:"'$name' is already defined",typeRepeatErr:"type '$name' is already defined.",typeMismatch:"Cannot call '$operator' with argument '$index'. An argument of '$typeE' type was used but a '$typeR' is expected.",assignTypeMismatch:"Cannot assign a value of the `$typeE` type to the '$name' variable. The variable is declared with the `$typeR` type.",voidNotVar:"Void expression cannot be assigned to a variable",declareTypeErr:"Declared type '$type' is not compatible with assigned type '$valueType'",mapKeyValErr:"Cannot put <$typeA, $typeB> pairs into a map containing `$typeC` keys and `$typeD` values. The maps passed into the `$name()` function must have the same key types and value types.",inputSourceErr:"Invalid value for the '$name' parameter of the '$funcName' function. Possible values: [open, high, low, close, hl2, hlc3, ohlc4, hlcc4, volume].",buildInUseErr:"Cannot use '$name' as the default value of a type's field. The default value cannot be a function, variable or calculation.",argsLenErr:"Too many arguments passed into the `$name()` function call. Passed $lenA arguments but expected $lenB.",requiredParamErr:"No value assigned to the `$argName` parameter in $name()",argsSyntaxErr:"Syntax error after the argument for `$argName`. Arguments without their parameter name cannot be used after arguments with parameter names.",requestArgsErr:"Type $type cannot be used in $name '$argName' argument",mapKeyErr:"Incorrect `key` type `$type` in the variable. The `key` type must be one of the following: int, float, string, bool, color.",templateErr:"Incorrect number of arguments for the template: $countA expected, $countB passed.",templateNoSupportErr:"The '$name()' function does not support templates",ifOrSwitchTypeErr:"Return type of one of the '$keyword' blocks is not compatible with return type of other block(s) ($types)",argsNameErr:"The '$name' function does not have an argument with the name '$argName'",noFiledErr:"Object has no field $name",methodNotExistErr:"Could not find method or method reference '$methodName' for '$name'",tupleVarErr:"Syntax error: The quantities of tuple elements on each side of the assignment operator do not match. The right side has $indexA but the left side has $indexB.",tupleLeftVarErr:"Invalid assignment. Cannot assign a tuple to a variable '$name'.",tupleRightVarErr:"Cannot assign a variable to a tuple. The right side must be a function call or structure ('if', 'switch', 'for', 'while') returning a tuple with the same number of elements.",tempateTypeErr:"Syntax error: Only templates for arrays and matrices consist of a single type identifier enclosed in angle brackets.",qualifierErr:"'$name' is not a valid type qualifier. Possible values: 'const', 'simple', 'series'",notFindFuncErr:"Could not find function or function reference '$name'",naVarErr:"Value with NA type cannot be assigned to a variable that was defined without type keyword",notHistoryErr:"Variable '$name' doesn't have history values",defaultValueErr:"The default value cannot be a function, variable or calculation.",defaultValueTypeErr:"Default value of type $typeE can not be assigned to an argument of type $typeR",unaryErr:"Syntax error at input '$sign'",funcArgAssignErr:"Function arguments cannot be mutable ('$name')",declaredErr:"A variable declared with the '$prefix' keyword cannot accept values of the '$type' form. Assign a '$prefix' value to this variable or remove the '$prefix' keyword from its declaration.",globalFuncErr:"Cannot use '$name' in local scope",onlyStatementErr:"Scripts must contain one declaration statement: `indicator()`, `strategy()` or `library()`, Your script has $count.",modifyGlobalVarErr:"Cannot modify global variable '$name' in function",inputDefvalErr:"Arguments of input function must be of constant type, or 'source' builtin variables.",objectIsNaErr:"Cannot access the '$name' $type of an na object. The object is 'na'.",buidinAssignErr:"Cannot assign a new value to the built-in variable '$name'.",buidinVarErr:"Cannot shadow the built-in variable `$name` because it has already been used as a built-in.",useNaErr:"Cannot use an `na` value of an unspecified type in the `$name` function.",libraryTitleErr:"Invalid argument 'title' in 'library' call. It cannot contain spaces, special characters or begin with a digit.",exportFuncArgErr:"All exported functions args should be typified",indiRunErr:"An indicator must contain at least one of the following: any `plot*()` function, `barcolor()`, `bgcolor()`, `hline()`, `alertcondition()`, or any drawing (line, label, box, table, polyline).",libraryExportErr:"A library must contain at least one exported function, method, or type.",strategyRunErr:"A strategy must contain at least one of the following: any `strategy.*()` function that creates orders, any `plot*()` function, `barcolor()`, `bgcolor()`, `hline()`, or any drawing (line, label, box, table, polyline).",exportUseErr:"Only libraries can contain exported $type.",funcRepeatErr:"The '$name' function has overloads with the same parameters. The type of parameters must be different in overloaded versions of functions.",importMultipleErr:"Cannot import a library more than once",importNotExitErr:"The user '$username' does not have a published library titled '$libraryName'",importNameRepeatErr:"More than one import uses the same alias: $name. Previous usage at line: $line",exportFuncHasInputErr:"The exported function '$func' depends on the '$name' input variable, which is not allowed.",libraryTitleIsKeywordErr:"Invalid argument 'title' in 'library' call. Token: '$name' can't be used as library title.",exportFuncUseGlobalVarErr:"Cannot use global variables in exported functions. Function: $func",loopRuntimeErr:"Loop takes too long to execute (> 500 ms)",paramsErr:"Invalid value '$value' for '$param' parameter of the '$func' function. Possible values: $targetVal",displayErr:"Invalid argument 'display' in '$func' call. Possible values: $values"};Jr.SERIES,Jr.SIMPLE,Jr.INPUT,Jr.CONST,Jr.INT,Jr.FLOAT,Jr.BOOL,Jr.COLOR,Jr.STRING;const f1=["close","open","high","low","hl2","hlc3","hlcc4","ohlc4","volume"],h1=["case","catch","default","delete","do","finally","function","instanceof","new","return","this","throw","try","typeof","void","with"],p1=["linefill","polyline","matrix","series","simple","string","array","color","const","float","label","table","bool","line","box","int","map","continue","for","varip","var","in","export","import","method","switch","break","while","else","type","and","for","not","as","by","if","in","or","to"];class d1{constructor(t,e,r){z(this,"_cacheData");z(this,"_variables");z(this,"_errorListener");z(this,"_historyInputs");z(this,"_name");this._cacheData={},this._variables=t,this._errorListener=e,this._name=`inputs_${r}`,this._historyInputs=self.workerStorage.get(this._name)||{}}update(t){for(const e of t){const r=e.id;this._cacheData[r]=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,sr.INT)}bool(t,e){return this._cacheHandle(t,e,sr.BOOL)}color(t,e){return this._cacheHandle(t,e,sr.COLOR)}time(t,e){return this._cacheHandle(t,e,sr.TIME)}float(t,e){return this._cacheHandle(t,e,sr.FLOAT)}price(t,e){return this._cacheHandle(t,e,sr.PRICE)}source(t,e){return this._cacheHandle(t,e,sr.SOURCE)}string(t,e){return this._cacheHandle(t,e,sr.STRING)}symbol(t,e){return this._cacheHandle(t,e,sr.SYMBOL)}session(t,e){return this._cacheHandle(t,e,sr.SESSION)}text_area(t,e){return this._cacheHandle(t,e,sr.TEXT_AREA)}timeframe(t,e){return this._cacheHandle(t,e,sr.TIMEFRAME)}_cacheHandle(t,e,r){if(e.startsWith("export"))return t.defval;const n=`${r||"input"}_${e}`,s=this._cacheData[n];if(t.defval===void 0&&this._errorListener.addError(Ye.inputDefvalErr,e,jt.Error),s)s.isModify?s.sourceTypeName&&(this._cacheData[n].defval=this._variables[s.sourceTypeName]):Object.assign(this._cacheData[n],t);else{const{defval:a,display:l}=t;this._displayVerify(e,l),t={inputType:r,...t},this._cacheData[n]=t,this._judgeHistoryInputs(t),(r||t.inputType)===sr.SOURCE?this._cacheData[n].options=f1: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,jt.Error)}return this._cacheData[n].defval}_judgeHistoryInputs(t){const{defval:e,sourceTypeName:r,index:n}=t;let s=r||e;const a=`in_${n}`,l=this._historyInputs[a];if(!l)self.workerStorage.setValue(this._name,a,{defval:s});else{const{defval:c,modifyDefval:h}=l;c===s?s=h||s:self.workerStorage.setValue(this._name,a,{defval:s})}r?t.sourceTypeName=s:t.defval=s}_displayVerify(t,e){!e||!e.length||e.includes(Ue.dataWindow)||e.includes(Ue.statusLine)||this._errorListener.addError(Qe(Ye.displayErr,{func:"input",values:"[display.none, display.data_window, display.status_line, display.all]"}),t,jt.Error)}getInputs(){const t=Object.keys(this._cacheData),e=[];for(const r of t){const n=this._cacheData[r];n.id=r,e.push(n)}return e.sort((r,n)=>(r.index||0)-(n.index||0))}}class _1{color({x:t}){return t}new({color:t,transp:e=100}){_t(e)&&(e=100);const{r,g:n,b:s}=this._parseColor(t||"");return`rgba(${Math.round(r)}, ${Math.round(n)}, ${Math.round(s)}, ${(100-e)/100})`}rgb({red:t=0,green:e=0,blue:r=0,transp:n=0}){return _t(n)&&(n=0),_t(t)&&(t=0),_t(e)&&(e=0),_t(r)&&(r=0),`rgba(${t}, ${e}, ${r}, ${(100-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}){if(_t(t)||_t(e)||_t(r))return"rgba(0,0,0,1)";const a=(t-e)/(r-e),l=Math.min(Math.max(a,0),1),{r:c,g:h,b:p,a:f}=this._parseColor(n||"rgba(0,0,0,0)"),{r:d,g,b:w,a:m}=this._parseColor(s||"rgba(0,0,0,0)"),D=c+l*(d-c),v=h+l*(g-h),E=p+l*(w-p),b=f+l*(m-f);return`rgba(${Math.round(D)}, ${Math.round(v)}, ${Math.round(E)}, ${b.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]||0,r=a[1]||0,n=a[2]||0,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 zt={};const m1=Object.prototype.toString;function Xi(i){const t=m1.call(i);return t.endsWith("Array]")&&!t.includes("Big")}var g1=Object.freeze({__proto__:null,isAnyArray:Xi}),v1=Ce(g1);function w1(i){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!Xi(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],l=r+1;l<s;l++)i[l]>a&&(a=i[l]);return a}function y1(i){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!Xi(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],l=r+1;l<s;l++)i[l]<a&&(a=i[l]);return a}function D1(i){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(Xi(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(!Xi(t.output))throw new TypeError("output option must be an array if specified");e=t.output}else e=new Array(i.length);var r=y1(i),n=w1(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,l=t.max,c=l===void 0?t.autoMinMax?n:1:l;if(a>=c)throw new RangeError("min option must be smaller than max option");for(var h=(c-a)/(n-r),p=0;p<i.length;p++)e[p]=(i[p]-r)*h+a;return e}var b1=Object.freeze({__proto__:null,default:D1}),E1=Ce(b1);Object.defineProperty(zt,"__esModule",{value:!0});var ar=v1,Lf=E1;const to=" ".repeat(2),Rf=" ".repeat(4);function x1(){return Pf(this)}function Pf(i,t={}){const{maxRows:e=15,maxColumns:r=10,maxNumSize:n=8,padMinus:s="auto"}=t;return`${i.constructor.name} {
54
+ (`+le(S,m)+", "+le(N,m)+") ==> "+(this._values?le(this._values[M],m):"X")}return b},n.prototype.toString=function(){return le(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(m){if(m){if(Fe(m)&&(m=m.toNumber()),!he(m)||!ye(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,E=this._size[0],b=this._size[1],N=Math.min(E-v,b-D),x=[],F=[],M=[];M[0]=0;for(var S=D;S<b&&x.length<N;S++)for(var I=this._ptr[S],C=this._ptr[S+1],O=I;O<C;O++){var L=this._index[O];if(L===S-D+v){x.push(this._values[O]),F[x.length-1]=L-v;break}}return M.push(x.length),new n({values:x,index:F,ptr:M,size:[N,1]})},n.fromJSON=function(m){return new n(m)},n.diagonal=function(m,D,v,E,b){if(!be(m))throw new TypeError("Array expected, size parameter");if(m.length!==2)throw new Error("Only two dimensions matrix are supported");if(m=m.map(function(X){if(Fe(X)&&(X=X.toNumber()),!he(X)||!ye(X)||X<1)throw new Error("Size values must be positive integers");return X}),v){if(Fe(v)&&(v=v.toNumber()),!he(v)||!ye(v))throw new TypeError("The parameter k must be an integer number")}else v=0;var N=e,x=0;Xr(b)&&(N=t.find(e,[b,b])||e,x=t.convert(0,b));var F=v>0?v:0,M=v<0?-v:0,S=m[0],I=m[1],C=Math.min(S-M,I-F),O;if(be(D)){if(D.length!==C)throw new Error("Invalid value array length");O=function(tt){return D[tt]}}else if(me(D)){var L=D.size();if(L.length!==1||L[0]!==C)throw new Error("Invalid matrix length");O=function(tt){return D.get([tt])}}else O=function(){return D};for(var U=[],k=[],W=[],P=0;P<I;P++){W.push(U.length);var G=P-F;if(G>=0&&G<C){var Z=O(G);N(Z,x)||(k.push(G+M),U.push(Z))}}return W.push(U.length),new n({values:U,index:k,ptr:W,size:[S,I]})},n.prototype.swapRows=function(m,D){if(!he(m)||!ye(m)||!he(D)||!ye(D))throw new Error("Row index must be positive integers");if(this._size.length!==2)throw new Error("Only two dimensional matrix is supported");return Ee(m,this._size[0]),Ee(D,this._size[0]),n._swapRows(m,D,this._size[1],this._values,this._index,this._ptr),this},n._forEachRow=function(m,D,v,E,b){for(var N=E[m],x=E[m+1],F=N;F<x;F++)b(v[F],D[F])},n._swapRows=function(m,D,v,E,b,N){for(var x=0;x<v;x++){var F=N[x],M=N[x+1],S=h(m,F,M,b),I=h(D,F,M,b);if(S<M&&I<M&&b[S]===m&&b[I]===D){if(E){var C=E[S];E[S]=E[I],E[I]=C}continue}if(S<M&&b[S]===m&&(I>=M||b[I]!==D)){var O=E?E[S]:void 0;b.splice(I,0,D),E&&E.splice(I,0,O),b.splice(I<=S?S+1:S,1),E&&E.splice(I<=S?S+1:S,1);continue}if(I<M&&b[I]===D&&(S>=M||b[S]!==m)){var L=E?E[I]:void 0;b.splice(S,0,m),E&&E.splice(S,0,L),b.splice(S<=I?I+1:I,1),E&&E.splice(S<=I?I+1:I,1)}}},n},{isClass:!0}),wm="number",Dm=["typed"];function bm(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 Em(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 xm=mt(wm,Dm,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=bm(n);if(s)return Em(s);var a=0,l=n.match(/(0[box][0-9a-fA-F]*)i([0-9]*)/);l&&(a=Number(l[2]),n=l[1]);var c=Number(n);if(isNaN(c))throw new SyntaxError('String "'+n+'" is not a valid number');if(l){if(c>2**a-1)throw new SyntaxError('String "'.concat(n,'" is out of range'));c>=2**(a-1)&&(c=c-2**a)}return c},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=>Yr(n,r))});return e.fromJSON=function(r){return parseFloat(r.value)},e}),Am="bignumber",Cm=["typed","BigNumber"],Fm=mt(Am,Cm,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],l=e(s[1]),c=new e(2).pow(Number(a));if(l.gt(c.sub(1)))throw new SyntaxError('String "'.concat(n,'" is out of range'));var h=new e(2).pow(Number(a)-1);return l.gte(h)?l.sub(c):l}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=>Yr(n,r))})}),Mm="fraction",Nm=["typed","Fraction"],Sm=mt(Mm,Nm,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=>Yr(n,r))})}),zc="matrix",Bm=["typed","Matrix","DenseMatrix","SparseMatrix"],Om=mt(zc,Bm,i=>{var{typed:t,Matrix:e,DenseMatrix:r,SparseMatrix:n}=i;return t(zc,{"":function(){return s([])},string:function(l){return s([],l)},"string, string":function(l,c){return s([],l,c)},Array:function(l){return s(l)},Matrix:function(l){return s(l,l.storage())},"Array | Matrix, string":s,"Array | Matrix, string, string":s});function s(a,l,c){if(l==="dense"||l==="default"||l===void 0)return new r(a,c);if(l==="sparse")return new n(a,c);throw new TypeError("Unknown matrix type "+JSON.stringify(l)+".")}}),qc="unaryMinus",Tm=["typed"],Im=mt(qc,Tm,i=>{var{typed:t}=i;return t(qc,{number:Bc,"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=>Yr(r,e))})}),kc="abs",$m=["typed"],Lm=mt(kc,$m,i=>{var{typed:t}=i;return t(kc,{number:Fc,"Complex | BigNumber | Fraction | Unit":e=>e.abs(),"Array | Matrix":t.referToSelf(e=>r=>Yr(r,e))})}),Uc="addScalar",Rm=["typed"],Pm=mt(Uc,Rm,i=>{var{typed:t}=i;return t(Uc,{"number, number":Mc,"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})})}),Wc="subtractScalar",zm=["typed"],qm=mt(Wc,zm,i=>{var{typed:t}=i;return t(Wc,{"number, number":Nc,"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})})}),km="matAlgo11xS0s",Um=["typed","equalScalar"],Fa=mt(km,Um,i=>{var{typed:t,equalScalar:e}=i;return function(n,s,a,l){var c=n._values,h=n._index,p=n._ptr,f=n._size,d=n._datatype;if(!c)throw new Error("Cannot perform operation on Pattern Sparse Matrix and Scalar value");var g=f[0],y=f[1],m,D=e,v=0,E=a;typeof d=="string"&&(m=d,D=t.find(e,[m,m]),v=t.convert(0,m),s=t.convert(s,m),E=t.find(a,[m,m]));for(var b=[],N=[],x=[],F=0;F<y;F++){x[F]=N.length;for(var M=p[F],S=p[F+1],I=M;I<S;I++){var C=h[I],O=l?E(s,c[I]):E(c[I],s);D(O,v)||(N.push(C),b.push(O))}}return x[y]=N.length,n.createSparseMatrix({values:b,index:N,ptr:x,size:[g,y],datatype:m})}}),Wm="matAlgo12xSfs",jm=["typed","DenseMatrix"],gi=mt(Wm,jm,i=>{var{typed:t,DenseMatrix:e}=i;return function(n,s,a,l){var c=n._values,h=n._index,p=n._ptr,f=n._size,d=n._datatype;if(!c)throw new Error("Cannot perform operation on Pattern Sparse Matrix and Scalar value");var g=f[0],y=f[1],m,D=a;typeof d=="string"&&(m=d,s=t.convert(s,m),D=t.find(a,[m,m]));for(var v=[],E=[],b=[],N=0;N<y;N++){for(var x=N+1,F=p[N],M=p[N+1],S=F;S<M;S++){var I=h[S];E[I]=c[S],b[I]=x}for(var C=0;C<g;C++)N===0&&(v[C]=[]),b[C]===x?v[C][N]=l?D(s,E[C]):D(E[C],s):v[C][N]=l?D(s,0):D(0,s)}return new e({data:v,size:[g,y],datatype:m})}}),Ym="matAlgo14xDs",Vm=["typed"],Ma=mt(Ym,Vm,i=>{var{typed:t}=i;return function(n,s,a,l){var c=n._data,h=n._size,p=n._datatype,f,d=a;typeof p=="string"&&(f=p,s=t.convert(s,f),d=t.find(a,[f,f]));var g=h.length>0?e(d,0,h,h[0],c,s,l):[];return n.createDenseMatrix({data:g,size:se(h),datatype:f})};function e(r,n,s,a,l,c,h){var p=[];if(n===s.length-1)for(var f=0;f<a;f++)p[f]=h?r(c,l[f]):r(l[f],c);else for(var d=0;d<a;d++)p[d]=e(r,n+1,s,s[n+1],l[d],c,h);return p}}),Zm="matAlgo02xDS0",Gm=["typed","equalScalar"],Km=mt(Zm,Gm,i=>{var{typed:t,equalScalar:e}=i;return function(n,s,a,l){var c=n._data,h=n._size,p=n._datatype||n.getDataType(),f=s._values,d=s._index,g=s._ptr,y=s._size,m=s._datatype||s._data===void 0?s._datatype:s.getDataType();if(h.length!==y.length)throw new Ht(h.length,y.length);if(h[0]!==y[0]||h[1]!==y[1])throw new RangeError("Dimension mismatch. Matrix A ("+h+") must match Matrix B ("+y+")");if(!f)throw new Error("Cannot perform operation on Dense Matrix and Pattern Sparse Matrix");var D=h[0],v=h[1],E,b=e,N=0,x=a;typeof p=="string"&&p===m&&p!=="mixed"&&(E=p,b=t.find(e,[E,E]),N=t.convert(0,E),x=t.find(a,[E,E]));for(var F=[],M=[],S=[],I=0;I<v;I++){S[I]=M.length;for(var C=g[I],O=g[I+1],L=C;L<O;L++){var U=d[L],k=l?x(f[L],c[U][I]):x(c[U][I],f[L]);b(k,N)||(M.push(U),F.push(k))}}return S[v]=M.length,s.createSparseMatrix({values:F,index:M,ptr:S,size:[D,v],datatype:p===n._datatype&&m===s._datatype?E:void 0})}}),Hm="matAlgo03xDSf",Jm=["typed"],vi=mt(Hm,Jm,i=>{var{typed:t}=i;return function(r,n,s,a){var l=r._data,c=r._size,h=r._datatype||r.getDataType(),p=n._values,f=n._index,d=n._ptr,g=n._size,y=n._datatype||n._data===void 0?n._datatype:n.getDataType();if(c.length!==g.length)throw new Ht(c.length,g.length);if(c[0]!==g[0]||c[1]!==g[1])throw new RangeError("Dimension mismatch. Matrix A ("+c+") must match Matrix B ("+g+")");if(!p)throw new Error("Cannot perform operation on Dense Matrix and Pattern Sparse Matrix");var m=c[0],D=c[1],v,E=0,b=s;typeof h=="string"&&h===y&&h!=="mixed"&&(v=h,E=t.convert(0,v),b=t.find(s,[v,v]));for(var N=[],x=0;x<m;x++)N[x]=[];for(var F=[],M=[],S=0;S<D;S++){for(var I=S+1,C=d[S],O=d[S+1],L=C;L<O;L++){var U=f[L];F[U]=a?b(p[L],l[U][S]):b(l[U][S],p[L]),M[U]=I}for(var k=0;k<m;k++)M[k]===I?N[k][S]=F[k]:N[k][S]=a?b(E,l[k][S]):b(l[k][S],E)}return r.createDenseMatrix({data:N,size:[m,D],datatype:h===r._datatype&&y===n._datatype?v:void 0})}}),Xm="matAlgo05xSfSf",Qm=["typed","equalScalar"],jc=mt(Xm,Qm,i=>{var{typed:t,equalScalar:e}=i;return function(n,s,a){var l=n._values,c=n._index,h=n._ptr,p=n._size,f=n._datatype||n._data===void 0?n._datatype:n.getDataType(),d=s._values,g=s._index,y=s._ptr,m=s._size,D=s._datatype||s._data===void 0?s._datatype:s.getDataType();if(p.length!==m.length)throw new Ht(p.length,m.length);if(p[0]!==m[0]||p[1]!==m[1])throw new RangeError("Dimension mismatch. Matrix A ("+p+") must match Matrix B ("+m+")");var v=p[0],E=p[1],b,N=e,x=0,F=a;typeof f=="string"&&f===D&&f!=="mixed"&&(b=f,N=t.find(e,[b,b]),x=t.convert(0,b),F=t.find(a,[b,b]));var M=l&&d?[]:void 0,S=[],I=[],C=M?[]:void 0,O=M?[]:void 0,L=[],U=[],k,W,P,G;for(W=0;W<E;W++){I[W]=S.length;var Z=W+1;for(P=h[W],G=h[W+1];P<G;P++)k=c[P],S.push(k),L[k]=Z,C&&(C[k]=l[P]);for(P=y[W],G=y[W+1];P<G;P++)k=g[P],L[k]!==Z&&S.push(k),U[k]=Z,O&&(O[k]=d[P]);if(M)for(P=I[W];P<S.length;){k=S[P];var X=L[k],tt=U[k];if(X===Z||tt===Z){var ct=X===Z?C[k]:x,vt=tt===Z?O[k]:x,lt=F(ct,vt);N(lt,x)?S.splice(P,1):(M.push(lt),P++)}}}return I[E]=S.length,n.createSparseMatrix({values:M,index:S,ptr:I,size:[v,E],datatype:f===n._datatype&&D===s._datatype?b:void 0})}}),tg="matAlgo13xDD",eg=["typed"],rg=mt(tg,eg,i=>{var{typed:t}=i;return function(n,s,a){var l=n._data,c=n._size,h=n._datatype,p=s._data,f=s._size,d=s._datatype,g=[];if(c.length!==f.length)throw new Ht(c.length,f.length);for(var y=0;y<c.length;y++){if(c[y]!==f[y])throw new RangeError("Dimension mismatch. Matrix A ("+c+") must match Matrix B ("+f+")");g[y]=c[y]}var m,D=a;typeof h=="string"&&h===d&&(m=h,D=t.find(a,[m,m]));var v=g.length>0?e(D,0,g,g[0],l,p):[];return n.createDenseMatrix({data:v,size:g,datatype:m})};function e(r,n,s,a,l,c){var h=[];if(n===s.length-1)for(var p=0;p<a;p++)h[p]=r(l[p],c[p]);else for(var f=0;f<a;f++)h[f]=e(r,n+1,s,s[n+1],l[f],c[f]);return h}}),ng="broadcast",ig=["concat"],sg=mt(ng,ig,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((y,m)=>y===s._size[m]))return[n,s];for(var l=e(n._size,a,0),c=e(s._size,a,0),h=[],p=0;p<a;p++)h[p]=Math.max(l[p],c[p]);Ns(l,h),Ns(c,h);var f=n.clone(),d=s.clone();f._size.length<a?f.reshape(e(f._size,a,1)):d._size.length<a&&d.reshape(e(d._size,a,1));for(var g=0;g<a;g++)f._size[g]<h[g]&&(f=r(f,h[g],g)),d._size[g]<h[g]&&(d=r(d,h[g],g));return[f,d]};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)}}),og="matrixAlgorithmSuite",ag=["typed","matrix","concat"],Kn=mt(og,ag,i=>{var{typed:t,matrix:e,concat:r}=i,n=rg({typed:t}),s=Ma({typed:t}),a=sg({concat:r});return function(c){var h=c.elop,p=c.SD||c.DS,f;h?(f={"DenseMatrix, DenseMatrix":(m,D)=>n(...a(m,D),h),"Array, Array":(m,D)=>n(...a(e(m),e(D)),h).valueOf(),"Array, DenseMatrix":(m,D)=>n(...a(e(m),D),h),"DenseMatrix, Array":(m,D)=>n(...a(m,e(D)),h)},c.SS&&(f["SparseMatrix, SparseMatrix"]=(m,D)=>c.SS(...a(m,D),h,!1)),c.DS&&(f["DenseMatrix, SparseMatrix"]=(m,D)=>c.DS(...a(m,D),h,!1),f["Array, SparseMatrix"]=(m,D)=>c.DS(...a(e(m),D),h,!1)),p&&(f["SparseMatrix, DenseMatrix"]=(m,D)=>p(...a(D,m),h,!0),f["SparseMatrix, Array"]=(m,D)=>p(...a(e(D),m),h,!0))):(f={"DenseMatrix, DenseMatrix":t.referToSelf(m=>(D,v)=>n(...a(D,v),m)),"Array, Array":t.referToSelf(m=>(D,v)=>n(...a(e(D),e(v)),m).valueOf()),"Array, DenseMatrix":t.referToSelf(m=>(D,v)=>n(...a(e(D),v),m)),"DenseMatrix, Array":t.referToSelf(m=>(D,v)=>n(...a(D,e(v)),m))},c.SS&&(f["SparseMatrix, SparseMatrix"]=t.referToSelf(m=>(D,v)=>c.SS(...a(D,v),m,!1))),c.DS&&(f["DenseMatrix, SparseMatrix"]=t.referToSelf(m=>(D,v)=>c.DS(...a(D,v),m,!1)),f["Array, SparseMatrix"]=t.referToSelf(m=>(D,v)=>c.DS(...a(e(D),v),m,!1))),p&&(f["SparseMatrix, DenseMatrix"]=t.referToSelf(m=>(D,v)=>p(...a(v,D),m,!0)),f["SparseMatrix, Array"]=t.referToSelf(m=>(D,v)=>p(...a(e(v),D),m,!0))));var d=c.scalar||"any",g=c.Ds||c.Ss;g&&(h?(f["DenseMatrix,"+d]=(m,D)=>s(m,D,h,!1),f[d+", DenseMatrix"]=(m,D)=>s(D,m,h,!0),f["Array,"+d]=(m,D)=>s(e(m),D,h,!1).valueOf(),f[d+", Array"]=(m,D)=>s(e(D),m,h,!0).valueOf()):(f["DenseMatrix,"+d]=t.referToSelf(m=>(D,v)=>s(D,v,m,!1)),f[d+", DenseMatrix"]=t.referToSelf(m=>(D,v)=>s(v,D,m,!0)),f["Array,"+d]=t.referToSelf(m=>(D,v)=>s(e(D),v,m,!1).valueOf()),f[d+", Array"]=t.referToSelf(m=>(D,v)=>s(e(v),D,m,!0).valueOf())));var y=c.sS!==void 0?c.sS:c.Ss;return h?(c.Ss&&(f["SparseMatrix,"+d]=(m,D)=>c.Ss(m,D,h,!1)),y&&(f[d+", SparseMatrix"]=(m,D)=>y(D,m,h,!0))):(c.Ss&&(f["SparseMatrix,"+d]=t.referToSelf(m=>(D,v)=>c.Ss(D,v,m,!1))),y&&(f[d+", SparseMatrix"]=t.referToSelf(m=>(D,v)=>y(v,D,m,!0)))),h&&h.signatures&&Rl(f,h.signatures),f}}),ug="matAlgo01xDSid",lg=["typed"],Yc=mt(ug,lg,i=>{var{typed:t}=i;return function(r,n,s,a){var l=r._data,c=r._size,h=r._datatype||r.getDataType(),p=n._values,f=n._index,d=n._ptr,g=n._size,y=n._datatype||n._data===void 0?n._datatype:n.getDataType();if(c.length!==g.length)throw new Ht(c.length,g.length);if(c[0]!==g[0]||c[1]!==g[1])throw new RangeError("Dimension mismatch. Matrix A ("+c+") must match Matrix B ("+g+")");if(!p)throw new Error("Cannot perform operation on Dense Matrix and Pattern Sparse Matrix");var m=c[0],D=c[1],v=typeof h=="string"&&h!=="mixed"&&h===y?h:void 0,E=v?t.find(s,[v,v]):s,b,N,x=[];for(b=0;b<m;b++)x[b]=[];var F=[],M=[];for(N=0;N<D;N++){for(var S=N+1,I=d[N],C=d[N+1],O=I;O<C;O++)b=f[O],F[b]=a?E(p[O],l[b][N]):E(l[b][N],p[O]),M[b]=S;for(b=0;b<m;b++)M[b]===S?x[b][N]=F[b]:x[b][N]=l[b][N]}return r.createDenseMatrix({data:x,size:[m,D],datatype:h===r._datatype&&y===n._datatype?v:void 0})}}),cg="matAlgo04xSidSid",fg=["typed","equalScalar"],hg=mt(cg,fg,i=>{var{typed:t,equalScalar:e}=i;return function(n,s,a){var l=n._values,c=n._index,h=n._ptr,p=n._size,f=n._datatype||n._data===void 0?n._datatype:n.getDataType(),d=s._values,g=s._index,y=s._ptr,m=s._size,D=s._datatype||s._data===void 0?s._datatype:s.getDataType();if(p.length!==m.length)throw new Ht(p.length,m.length);if(p[0]!==m[0]||p[1]!==m[1])throw new RangeError("Dimension mismatch. Matrix A ("+p+") must match Matrix B ("+m+")");var v=p[0],E=p[1],b,N=e,x=0,F=a;typeof f=="string"&&f===D&&f!=="mixed"&&(b=f,N=t.find(e,[b,b]),x=t.convert(0,b),F=t.find(a,[b,b]));var M=l&&d?[]:void 0,S=[],I=[],C=l&&d?[]:void 0,O=l&&d?[]:void 0,L=[],U=[],k,W,P,G,Z;for(W=0;W<E;W++){I[W]=S.length;var X=W+1;for(G=h[W],Z=h[W+1],P=G;P<Z;P++)k=c[P],S.push(k),L[k]=X,C&&(C[k]=l[P]);for(G=y[W],Z=y[W+1],P=G;P<Z;P++)if(k=g[P],L[k]===X){if(C){var tt=F(C[k],d[P]);N(tt,x)?L[k]=null:C[k]=tt}}else S.push(k),U[k]=X,O&&(O[k]=d[P]);if(C&&O)for(P=I[W];P<S.length;)k=S[P],L[k]===X?(M[P]=C[k],P++):U[k]===X?(M[P]=O[k],P++):S.splice(P,1)}return I[E]=S.length,n.createSparseMatrix({values:M,index:S,ptr:I,size:[v,E],datatype:f===n._datatype&&D===s._datatype?b:void 0})}}),pg="matAlgo10xSids",dg=["typed","DenseMatrix"],Vc=mt(pg,dg,i=>{var{typed:t,DenseMatrix:e}=i;return function(n,s,a,l){var c=n._values,h=n._index,p=n._ptr,f=n._size,d=n._datatype;if(!c)throw new Error("Cannot perform operation on Pattern Sparse Matrix and Scalar value");var g=f[0],y=f[1],m,D=a;typeof d=="string"&&(m=d,s=t.convert(s,m),D=t.find(a,[m,m]));for(var v=[],E=[],b=[],N=0;N<y;N++){for(var x=N+1,F=p[N],M=p[N+1],S=F;S<M;S++){var I=h[S];E[I]=c[S],b[I]=x}for(var C=0;C<g;C++)N===0&&(v[C]=[]),b[C]===x?v[C][N]=l?D(s,E[C]):D(E[C],s):v[C][N]=s}return new e({data:v,size:[g,y],datatype:m})}}),_g="multiplyScalar",mg=["typed"],gg=mt(_g,mg,i=>{var{typed:t}=i;return t("multiplyScalar",{"number, number":Sc,"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)})}),Zc="multiply",vg=["typed","matrix","addScalar","multiplyScalar","equalScalar","dot"],yg=mt(Zc,vg,i=>{var{typed:t,matrix:e,addScalar:r,multiplyScalar:n,equalScalar:s,dot:a}=i,l=Fa({typed:t,equalScalar:s}),c=Ma({typed:t});function h(x,F){switch(x.length){case 1:switch(F.length){case 1:if(x[0]!==F[0])throw new RangeError("Dimension mismatch in multiplication. Vectors must have the same length");break;case 2:if(x[0]!==F[0])throw new RangeError("Dimension mismatch in multiplication. Vector length ("+x[0]+") must match Matrix rows ("+F[0]+")");break;default:throw new Error("Can only multiply a 1 or 2 dimensional matrix (Matrix B has "+F.length+" dimensions)")}break;case 2:switch(F.length){case 1:if(x[1]!==F[0])throw new RangeError("Dimension mismatch in multiplication. Matrix columns ("+x[1]+") must match Vector length ("+F[0]+")");break;case 2:if(x[1]!==F[0])throw new RangeError("Dimension mismatch in multiplication. Matrix A columns ("+x[1]+") must match Matrix B rows ("+F[0]+")");break;default:throw new Error("Can only multiply a 1 or 2 dimensional matrix (Matrix B has "+F.length+" dimensions)")}break;default:throw new Error("Can only multiply a 1 or 2 dimensional matrix (Matrix A has "+x.length+" dimensions)")}}function p(x,F,M){if(M===0)throw new Error("Cannot multiply two empty vectors");return a(x,F)}function f(x,F){if(F.storage()!=="dense")throw new Error("Support for SparseMatrix not implemented");return d(x,F)}function d(x,F){var M=x._data,S=x._size,I=x._datatype||x.getDataType(),C=F._data,O=F._size,L=F._datatype||F.getDataType(),U=S[0],k=O[1],W,P=r,G=n;I&&L&&I===L&&typeof I=="string"&&I!=="mixed"&&(W=I,P=t.find(r,[W,W]),G=t.find(n,[W,W]));for(var Z=[],X=0;X<k;X++){for(var tt=G(M[0],C[0][X]),ct=1;ct<U;ct++)tt=P(tt,G(M[ct],C[ct][X]));Z[X]=tt}return x.createDenseMatrix({data:Z,size:[k],datatype:I===x._datatype&&L===F._datatype?W:void 0})}var g=t("_multiplyMatrixVector",{"DenseMatrix, any":m,"SparseMatrix, any":E}),y=t("_multiplyMatrixMatrix",{"DenseMatrix, DenseMatrix":D,"DenseMatrix, SparseMatrix":v,"SparseMatrix, DenseMatrix":b,"SparseMatrix, SparseMatrix":N});function m(x,F){var M=x._data,S=x._size,I=x._datatype||x.getDataType(),C=F._data,O=F._datatype||F.getDataType(),L=S[0],U=S[1],k,W=r,P=n;I&&O&&I===O&&typeof I=="string"&&I!=="mixed"&&(k=I,W=t.find(r,[k,k]),P=t.find(n,[k,k]));for(var G=[],Z=0;Z<L;Z++){for(var X=M[Z],tt=P(X[0],C[0]),ct=1;ct<U;ct++)tt=W(tt,P(X[ct],C[ct]));G[Z]=tt}return x.createDenseMatrix({data:G,size:[L],datatype:I===x._datatype&&O===F._datatype?k:void 0})}function D(x,F){var M=x._data,S=x._size,I=x._datatype||x.getDataType(),C=F._data,O=F._size,L=F._datatype||F.getDataType(),U=S[0],k=S[1],W=O[1],P,G=r,Z=n;I&&L&&I===L&&typeof I=="string"&&I!=="mixed"&&I!=="mixed"&&(P=I,G=t.find(r,[P,P]),Z=t.find(n,[P,P]));for(var X=[],tt=0;tt<U;tt++){var ct=M[tt];X[tt]=[];for(var vt=0;vt<W;vt++){for(var lt=Z(ct[0],C[0][vt]),wt=1;wt<k;wt++)lt=G(lt,Z(ct[wt],C[wt][vt]));X[tt][vt]=lt}}return x.createDenseMatrix({data:X,size:[U,W],datatype:I===x._datatype&&L===F._datatype?P:void 0})}function v(x,F){var M=x._data,S=x._size,I=x._datatype||x.getDataType(),C=F._values,O=F._index,L=F._ptr,U=F._size,k=F._datatype||F._data===void 0?F._datatype:F.getDataType();if(!C)throw new Error("Cannot multiply Dense Matrix times Pattern only Matrix");var W=S[0],P=U[1],G,Z=r,X=n,tt=s,ct=0;I&&k&&I===k&&typeof I=="string"&&I!=="mixed"&&(G=I,Z=t.find(r,[G,G]),X=t.find(n,[G,G]),tt=t.find(s,[G,G]),ct=t.convert(0,G));for(var vt=[],lt=[],wt=[],bt=F.createSparseMatrix({values:vt,index:lt,ptr:wt,size:[W,P],datatype:I===x._datatype&&k===F._datatype?G:void 0}),Bt=0;Bt<P;Bt++){wt[Bt]=lt.length;var Et=L[Bt],oe=L[Bt+1];if(oe>Et)for(var Tt=0,Nt=0;Nt<W;Nt++){for(var ue=Nt+1,re=void 0,qt=Et;qt<oe;qt++){var Jt=O[qt];Tt!==ue?(re=X(M[Nt][Jt],C[qt]),Tt=ue):re=Z(re,X(M[Nt][Jt],C[qt]))}Tt===ue&&!tt(re,ct)&&(lt.push(Nt),vt.push(re))}}return wt[P]=lt.length,bt}function E(x,F){var M=x._values,S=x._index,I=x._ptr,C=x._datatype||x._data===void 0?x._datatype:x.getDataType();if(!M)throw new Error("Cannot multiply Pattern only Matrix times Dense Matrix");var O=F._data,L=F._datatype||F.getDataType(),U=x._size[0],k=F._size[0],W=[],P=[],G=[],Z,X=r,tt=n,ct=s,vt=0;C&&L&&C===L&&typeof C=="string"&&C!=="mixed"&&(Z=C,X=t.find(r,[Z,Z]),tt=t.find(n,[Z,Z]),ct=t.find(s,[Z,Z]),vt=t.convert(0,Z));var lt=[],wt=[];G[0]=0;for(var bt=0;bt<k;bt++){var Bt=O[bt];if(!ct(Bt,vt))for(var Et=I[bt],oe=I[bt+1],Tt=Et;Tt<oe;Tt++){var Nt=S[Tt];wt[Nt]?lt[Nt]=X(lt[Nt],tt(Bt,M[Tt])):(wt[Nt]=!0,P.push(Nt),lt[Nt]=tt(Bt,M[Tt]))}}for(var ue=P.length,re=0;re<ue;re++){var qt=P[re];W[re]=lt[qt]}return G[1]=P.length,x.createSparseMatrix({values:W,index:P,ptr:G,size:[U,1],datatype:C===x._datatype&&L===F._datatype?Z:void 0})}function b(x,F){var M=x._values,S=x._index,I=x._ptr,C=x._datatype||x._data===void 0?x._datatype:x.getDataType();if(!M)throw new Error("Cannot multiply Pattern only Matrix times Dense Matrix");var O=F._data,L=F._datatype||F.getDataType(),U=x._size[0],k=F._size[0],W=F._size[1],P,G=r,Z=n,X=s,tt=0;C&&L&&C===L&&typeof C=="string"&&C!=="mixed"&&(P=C,G=t.find(r,[P,P]),Z=t.find(n,[P,P]),X=t.find(s,[P,P]),tt=t.convert(0,P));for(var ct=[],vt=[],lt=[],wt=x.createSparseMatrix({values:ct,index:vt,ptr:lt,size:[U,W],datatype:C===x._datatype&&L===F._datatype?P:void 0}),bt=[],Bt=[],Et=0;Et<W;Et++){lt[Et]=vt.length;for(var oe=Et+1,Tt=0;Tt<k;Tt++){var Nt=O[Tt][Et];if(!X(Nt,tt))for(var ue=I[Tt],re=I[Tt+1],qt=ue;qt<re;qt++){var Jt=S[qt];Bt[Jt]!==oe?(Bt[Jt]=oe,vt.push(Jt),bt[Jt]=Z(Nt,M[qt])):bt[Jt]=G(bt[Jt],Z(Nt,M[qt]))}}for(var Te=lt[Et],_r=vt.length,Le=Te;Le<_r;Le++){var hn=vt[Le];ct[Le]=bt[hn]}}return lt[W]=vt.length,wt}function N(x,F){var M=x._values,S=x._index,I=x._ptr,C=x._datatype||x._data===void 0?x._datatype:x.getDataType(),O=F._values,L=F._index,U=F._ptr,k=F._datatype||F._data===void 0?F._datatype:F.getDataType(),W=x._size[0],P=F._size[1],G=M&&O,Z,X=r,tt=n;C&&k&&C===k&&typeof C=="string"&&C!=="mixed"&&(Z=C,X=t.find(r,[Z,Z]),tt=t.find(n,[Z,Z]));for(var ct=G?[]:void 0,vt=[],lt=[],wt=x.createSparseMatrix({values:ct,index:vt,ptr:lt,size:[W,P],datatype:C===x._datatype&&k===F._datatype?Z:void 0}),bt=G?[]:void 0,Bt=[],Et,oe,Tt,Nt,ue,re,qt,Jt,Te=0;Te<P;Te++){lt[Te]=vt.length;var _r=Te+1;for(ue=U[Te],re=U[Te+1],Nt=ue;Nt<re;Nt++)if(Jt=L[Nt],G)for(oe=I[Jt],Tt=I[Jt+1],Et=oe;Et<Tt;Et++)qt=S[Et],Bt[qt]!==_r?(Bt[qt]=_r,vt.push(qt),bt[qt]=tt(O[Nt],M[Et])):bt[qt]=X(bt[qt],tt(O[Nt],M[Et]));else for(oe=I[Jt],Tt=I[Jt+1],Et=oe;Et<Tt;Et++)qt=S[Et],Bt[qt]!==_r&&(Bt[qt]=_r,vt.push(qt));if(G)for(var Le=lt[Te],hn=vt.length,Bn=Le;Bn<hn;Bn++){var pn=vt[Bn];ct[Bn]=bt[pn]}}return lt[P]=vt.length,wt}return t(Zc,n,{"Array, Array":t.referTo("Matrix, Matrix",x=>(F,M)=>{h(Be(F),Be(M));var S=x(e(F),e(M));return me(S)?S.valueOf():S}),"Matrix, Matrix":function(F,M){var S=F.size(),I=M.size();return h(S,I),S.length===1?I.length===1?p(F,M,S[0]):f(F,M):I.length===1?g(F,M):y(F,M)},"Matrix, Array":t.referTo("Matrix,Matrix",x=>(F,M)=>x(F,e(M))),"Array, Matrix":t.referToSelf(x=>(F,M)=>x(e(F,M.storage()),M)),"SparseMatrix, any":function(F,M){return l(F,M,n,!1)},"DenseMatrix, any":function(F,M){return c(F,M,n,!1)},"any, SparseMatrix":function(F,M){return l(M,F,n,!0)},"any, DenseMatrix":function(F,M){return c(M,F,n,!0)},"Array, any":function(F,M){return c(e(F),M,n,!1).valueOf()},"any, Array":function(F,M){return c(e(M),F,n,!0).valueOf()},"any, any":n,"any, any, ...any":t.referToSelf(x=>(F,M,S)=>{for(var I=x(F,M),C=0;C<S.length;C++)I=x(I,S[C]);return I})})}),Gc="subtract",wg=["typed","matrix","equalScalar","subtractScalar","unaryMinus","DenseMatrix","concat"],Dg=mt(Gc,wg,i=>{var{typed:t,matrix:e,equalScalar:r,subtractScalar:n,unaryMinus:s,DenseMatrix:a,concat:l}=i,c=Yc({typed:t}),h=vi({typed:t}),p=jc({typed:t,equalScalar:r}),f=Vc({typed:t,DenseMatrix:a}),d=gi({typed:t,DenseMatrix:a}),g=Kn({typed:t,matrix:e,concat:l});return t(Gc,{"any, any":n},g({elop:n,SS:p,DS:c,SD:h,Ss:d,sS:f}))}),bg="matAlgo07xSSf",Eg=["typed","DenseMatrix"],js=mt(bg,Eg,i=>{var{typed:t,DenseMatrix:e}=i;return function(s,a,l){var c=s._size,h=s._datatype||s._data===void 0?s._datatype:s.getDataType(),p=a._size,f=a._datatype||a._data===void 0?a._datatype:a.getDataType();if(c.length!==p.length)throw new Ht(c.length,p.length);if(c[0]!==p[0]||c[1]!==p[1])throw new RangeError("Dimension mismatch. Matrix A ("+c+") must match Matrix B ("+p+")");var d=c[0],g=c[1],y,m=0,D=l;typeof h=="string"&&h===f&&h!=="mixed"&&(y=h,m=t.convert(0,y),D=t.find(l,[y,y]));var v,E,b=[];for(v=0;v<d;v++)b[v]=[];var N=[],x=[],F=[],M=[];for(E=0;E<g;E++){var S=E+1;for(r(s,E,F,N,S),r(a,E,M,x,S),v=0;v<d;v++){var I=F[v]===S?N[v]:m,C=M[v]===S?x[v]:m;b[v][E]=D(I,C)}}return new e({data:b,size:[d,g],datatype:h===s._datatype&&f===a._datatype?y:void 0})};function r(n,s,a,l,c){for(var h=n._values,p=n._index,f=n._ptr,d=f[s],g=f[s+1];d<g;d++){var y=p[d];a[y]=c,l[y]=h[d]}}}),Kc="conj",xg=["typed"],Ag=mt(Kc,xg,i=>{var{typed:t}=i;return t(Kc,{"number | BigNumber | Fraction":e=>e,Complex:e=>e.conjugate(),"Array | Matrix":t.referToSelf(e=>r=>Yr(r,e))})}),Hc="concat",Cg=["typed","matrix","isInteger"],Fg=mt(Hc,Cg,i=>{var{typed:t,matrix:e,isInteger:r}=i;return t(Hc,{"...Array | Matrix | number | BigNumber":function(s){var a,l=s.length,c=-1,h,p=!1,f=[];for(a=0;a<l;a++){var d=s[a];if(me(d)&&(p=!0),he(d)||Fe(d)){if(a!==l-1)throw new Error("Dimension must be specified as last argument");if(h=c,c=d.valueOf(),!r(c))throw new TypeError("Integer number expected for dimension");if(c<0||a>0&&c>h)throw new xn(c,h+1)}else{var g=se(d).valueOf(),y=Be(g);if(f[a]=g,h=c,c=y.length-1,a>0&&c!==h)throw new Ht(h+1,c+1)}}if(f.length===0)throw new SyntaxError("At least one matrix expected");for(var m=f.shift();f.length;)m=nc(m,f.shift(),c);return p?e(m):m},"...string":function(s){return s.join("")}})}),Jc="count",Mg=["typed","size","prod"],Ng=mt(Jc,Mg,i=>{var{typed:t,size:e,prod:r}=i;return t(Jc,{string:function(s){return s.length},"Matrix | Array":function(s){return r(e(s))}})}),Xc="identity",Sg=["typed","config","matrix","BigNumber","DenseMatrix","SparseMatrix"],Bg=mt(Xc,Sg,i=>{var{typed:t,config:e,matrix:r,BigNumber:n,DenseMatrix:s,SparseMatrix:a}=i;return t(Xc,{"":function(){return e.matrix==="Matrix"?r([]):[]},string:function(p){return r(p)},"number | BigNumber":function(p){return c(p,p,e.matrix==="Matrix"?"dense":void 0)},"number | BigNumber, string":function(p,f){return c(p,p,f)},"number | BigNumber, number | BigNumber":function(p,f){return c(p,f,e.matrix==="Matrix"?"dense":void 0)},"number | BigNumber, number | BigNumber, string":function(p,f,d){return c(p,f,d)},Array:function(p){return l(p)},"Array, string":function(p,f){return l(p,f)},Matrix:function(p){return l(p.valueOf(),p.storage())},"Matrix, string":function(p,f){return l(p.valueOf(),f)}});function l(h,p){switch(h.length){case 0:return p?r(p):[];case 1:return c(h[0],h[0],p);case 2:return c(h[0],h[1],p);default:throw new Error("Vector containing two values expected")}}function c(h,p,f){var d=Fe(h)||Fe(p)?n:null;if(Fe(h)&&(h=h.toNumber()),Fe(p)&&(p=p.toNumber()),!ye(h)||h<1)throw new Error("Parameters in function identity must be positive integers");if(!ye(p)||p<1)throw new Error("Parameters in function identity must be positive integers");var g=d?new n(1):1,y=d?new d(0):0,m=[h,p];if(f){if(f==="sparse")return a.diagonal(m,g,0,y);if(f==="dense")return s.diagonal(m,g,0,y);throw new TypeError('Unknown matrix type "'.concat(f,'"'))}for(var D=pa([],m,y),v=h<p?h:p,E=0;E<v;E++)D[E][E]=g;return D}}),Qc="kron",Og=["typed","matrix","multiplyScalar"],Tg=mt(Qc,Og,i=>{var{typed:t,matrix:e,multiplyScalar:r}=i;return t(Qc,{"Matrix, Matrix":function(a,l){return e(n(a.toArray(),l.toArray()))},"Matrix, Array":function(a,l){return e(n(a.toArray(),l))},"Array, Matrix":function(a,l){return e(n(a,l.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 l=[],c=[];return s.map(function(h){return a.map(function(p){return c=[],l.push(c),h.map(function(f){return p.map(function(d){return c.push(r(f,d))})})})})&&l}});function Ig(){throw new Error('No "bignumber" implementation available')}function $g(){throw new Error('No "fraction" implementation available')}function Lg(){throw new Error('No "matrix" implementation available')}var tf="reshape",Rg=["typed","isInteger","matrix"],Pg=mt(tf,Rg,i=>{var{typed:t,isInteger:e}=i;return t(tf,{"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)}),_a(n,s)}})}),ef="size",zg=["typed","config","?matrix"],qg=mt(ef,zg,i=>{var{typed:t,config:e,matrix:r}=i;return t(ef,{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([]):Lg()}})}),rf="transpose",kg=["typed","matrix"],Ug=mt(rf,kg,i=>{var{typed:t,matrix:e}=i;return t(rf,{Array:a=>r(e(a)).valueOf(),Matrix:r,any:se});function r(a){var l=a.size(),c;switch(l.length){case 1:c=a.clone();break;case 2:{var h=l[0],p=l[1];if(p===0)throw new RangeError("Cannot transpose a 2D matrix with no columns (size: "+le(l)+")");switch(a.storage()){case"dense":c=n(a,h,p);break;case"sparse":c=s(a,h,p);break}}break;default:throw new RangeError("Matrix must be a vector or two dimensional (size: "+le(l)+")")}return c}function n(a,l,c){for(var h=a._data,p=[],f,d=0;d<c;d++){f=p[d]=[];for(var g=0;g<l;g++)f[g]=se(h[g][d])}return a.createDenseMatrix({data:p,size:[c,l],datatype:a._datatype})}function s(a,l,c){for(var h=a._values,p=a._index,f=a._ptr,d=h?[]:void 0,g=[],y=[],m=[],D=0;D<l;D++)m[D]=0;var v,E,b;for(v=0,E=p.length;v<E;v++)m[p[v]]++;for(var N=0,x=0;x<l;x++)y.push(N),N+=m[x],m[x]=y[x];for(y.push(N),b=0;b<c;b++)for(var F=f[b],M=f[b+1],S=F;S<M;S++){var I=m[p[S]]++;g[I]=b,h&&(d[I]=se(h[S]))}return a.createSparseMatrix({values:d,index:g,ptr:y,size:[c,l],datatype:a._datatype})}}),nf="ctranspose",Wg=["typed","transpose","conj"],jg=mt(nf,Wg,i=>{var{typed:t,transpose:e,conj:r}=i;return t(nf,{any:function(s){return r(e(s))}})}),sf="mode",Yg=["typed","isNaN","isNumeric"],Vg=mt(sf,Yg,i=>{var{typed:t,isNaN:e,isNumeric:r}=i;return t(sf,{"Array | Matrix":n,"...":function(a){return n(a)}});function n(s){s=ga(s.valueOf());var a=s.length;if(a===0)throw new Error("Cannot calculate mode of an empty array");for(var l={},c=[],h=0,p=0;p<s.length;p++){var f=s[p];if(r(f)&&e(f))throw new Error("Cannot calculate mode of an array containing NaN values");f in l||(l[f]=0),l[f]++,l[f]===h?c.push(f):l[f]>h&&(h=l[f],c=[f])}return c}});function Nn(i,t,e){var r;return String(i).indexOf("Unexpected type")!==-1?(r=arguments.length>2?" (type: "+En(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: "+En(e)+", value: "+JSON.stringify(e)+")":"",new TypeError("Cannot calculate "+t+", no ordering relation is defined for complex numbers"+r)):i}var of="prod",Zg=["typed","config","multiplyScalar","numeric"],Gg=mt(of,Zg,i=>{var{typed:t,config:e,multiplyScalar:r,numeric:n}=i;return t(of,{"Array | Matrix":s,"Array | Matrix, number | BigNumber":function(l,c){throw new Error("prod(A, dim) is not yet supported")},"...":function(l){return s(l)}});function s(a){var l;if(Gi(a,function(c){try{l=l===void 0?c:r(l,c)}catch(h){throw Nn(h,"prod",c)}}),typeof l=="string"&&(l=n(l,e.number)),l===void 0)throw new Error("Cannot calculate prod of an empty array");return l}}),Kg="numeric",Hg=["number","?bignumber","?fraction"],Jg=mt(Kg,Hg,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):Ig,Fraction:r?a=>r(a):$g};return function(l){var c=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"number",h=arguments.length>2?arguments[2]:void 0;if(h!==void 0)throw new SyntaxError("numeric() takes one or two arguments");var p=En(l);if(!(p in n))throw new TypeError("Cannot convert "+l+' of type "'+p+'"; valid input types are '+Object.keys(n).join(", "));if(!(c in s))throw new TypeError("Cannot convert "+l+' to type "'+c+'"; valid output types are '+Object.keys(s).join(", "));return c===p?l:s[c](l)}}),af="divideScalar",Xg=["typed","numeric"],Qg=mt(af,Xg,i=>{var{typed:t,numeric:e}=i;return t(af,{"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)})}),uf="pow",tv=["typed","config","identity","multiply","matrix","inv","fraction","number","Complex"],ev=mt(uf,tv,i=>{var{typed:t,config:e,identity:r,multiply:n,matrix:s,inv:a,number:l,fraction:c,Complex:h}=i;return t(uf,{"number, number":p,"Complex, Complex":function(y,m){return y.pow(m)},"BigNumber, BigNumber":function(y,m){return m.isInteger()||y>=0||e.predictable?y.pow(m):new h(y.toNumber(),0).pow(m.toNumber(),0)},"Fraction, Fraction":function(y,m){var D=y.pow(m);if(D!=null)return D;if(e.predictable)throw new Error("Result of pow is non-rational and cannot be expressed as a fraction");return p(y.valueOf(),m.valueOf())},"Array, number":f,"Array, BigNumber":function(y,m){return f(y,m.toNumber())},"Matrix, number":d,"Matrix, BigNumber":function(y,m){return d(y,m.toNumber())},"Unit, number | BigNumber":function(y,m){return y.pow(m)}});function p(g,y){if(e.predictable&&!ye(y)&&g<0)try{var m=c(y),D=l(m);if((y===D||Math.abs((y-D)/y)<1e-14)&&m.d%2===1)return(m.n%2===0?1:-1)*Math.pow(-g,y)}catch{}return e.predictable&&(g<-1&&y===1/0||g>-1&&g<0&&y===-1/0)?NaN:ye(y)||g>=0||e.predictable?Oc(g,y):g*g<1&&y===1/0||g*g>1&&y===-1/0?0:new h(g,0).pow(y,0)}function f(g,y){if(!ye(y))throw new TypeError("For A^b, b must be an integer (value is "+y+")");var m=Be(g);if(m.length!==2)throw new Error("For A^b, A must be 2 dimensional (A has "+m.length+" dimensions)");if(m[0]!==m[1])throw new Error("For A^b, A must be square (size is "+m[0]+"x"+m[1]+")");if(y<0)try{return f(a(g),-y)}catch(E){throw E.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 "+y+")"):E}for(var D=r(m[0]).valueOf(),v=g;y>=1;)(y&1)===1&&(D=n(v,D)),y>>=1,v=n(v,v);return D}function d(g,y){return s(f(g.valueOf(),y))}}),lf="dotDivide",rv=["typed","matrix","equalScalar","divideScalar","DenseMatrix","concat"],nv=mt(lf,rv,i=>{var{typed:t,matrix:e,equalScalar:r,divideScalar:n,DenseMatrix:s,concat:a}=i,l=Km({typed:t,equalScalar:r}),c=vi({typed:t}),h=js({typed:t,DenseMatrix:s}),p=Fa({typed:t,equalScalar:r}),f=gi({typed:t,DenseMatrix:s}),d=Kn({typed:t,matrix:e,concat:a});return t(lf,d({elop:n,SS:h,DS:c,SD:l,Ss:p,sS:f}))}),Ys="compare",iv=["typed","config","matrix","equalScalar","BigNumber","Fraction","DenseMatrix","concat"],sv=mt(Ys,iv,i=>{var{typed:t,config:e,equalScalar:r,matrix:n,BigNumber:s,Fraction:a,DenseMatrix:l,concat:c}=i,h=vi({typed:t}),p=jc({typed:t,equalScalar:r}),f=gi({typed:t,DenseMatrix:l}),d=Kn({typed:t,matrix:n,concat:c}),g=Us({typed:t});return t(Ys,ov({typed:t,config:e}),{"boolean, boolean":function(m,D){return m===D?0:m>D?1:-1},"BigNumber, BigNumber":function(m,D){return ks(m,D,e.epsilon)?new s(0):new s(m.cmp(D))},"Fraction, Fraction":function(m,D){return new a(m.compare(D))},"Complex, Complex":function(){throw new TypeError("No ordering relation is defined for complex numbers")}},g,d({SS:p,DS:h,Ss:f}))}),ov=mt(Ys,["typed","config"],i=>{var{typed:t,config:e}=i;return t(Ys,{"number, number":function(n,s){return Gn(n,s,e.epsilon)?0:n>s?1:-1}})}),Vs="equal",av=["typed","matrix","equalScalar","DenseMatrix","concat"],uv=mt(Vs,av,i=>{var{typed:t,matrix:e,equalScalar:r,DenseMatrix:n,concat:s}=i,a=vi({typed:t}),l=js({typed:t,DenseMatrix:n}),c=gi({typed:t,DenseMatrix:n}),h=Kn({typed:t,matrix:e,concat:s});return t(Vs,lv({typed:t,equalScalar:r}),h({elop:r,SS:l,DS:a,Ss:c}))}),lv=mt(Vs,["typed","equalScalar"],i=>{var{typed:t,equalScalar:e}=i;return t(Vs,{"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)}})}),Zs="smaller",cv=["typed","config","matrix","DenseMatrix","concat"],fv=mt(Zs,cv,i=>{var{typed:t,config:e,matrix:r,DenseMatrix:n,concat:s}=i,a=vi({typed:t}),l=js({typed:t,DenseMatrix:n}),c=gi({typed:t,DenseMatrix:n}),h=Kn({typed:t,matrix:r,concat:s}),p=Us({typed:t});return t(Zs,hv({typed:t,config:e}),{"boolean, boolean":(f,d)=>f<d,"BigNumber, BigNumber":function(d,g){return d.lt(g)&&!ks(d,g,e.epsilon)},"Fraction, Fraction":(f,d)=>f.compare(d)===-1,"Complex, Complex":function(d,g){throw new TypeError("No ordering relation is defined for complex numbers")}},p,h({SS:l,DS:a,Ss:c}))}),hv=mt(Zs,["typed","config"],i=>{var{typed:t,config:e}=i;return t(Zs,{"number, number":function(n,s){return n<s&&!Gn(n,s,e.epsilon)}})}),Gs="larger",pv=["typed","config","matrix","DenseMatrix","concat"],dv=mt(Gs,pv,i=>{var{typed:t,config:e,matrix:r,DenseMatrix:n,concat:s}=i,a=vi({typed:t}),l=js({typed:t,DenseMatrix:n}),c=gi({typed:t,DenseMatrix:n}),h=Kn({typed:t,matrix:r,concat:s}),p=Us({typed:t});return t(Gs,_v({typed:t,config:e}),{"boolean, boolean":(f,d)=>f>d,"BigNumber, BigNumber":function(d,g){return d.gt(g)&&!ks(d,g,e.epsilon)},"Fraction, Fraction":(f,d)=>f.compare(d)===1,"Complex, Complex":function(){throw new TypeError("No ordering relation is defined for complex numbers")}},p,h({SS:l,DS:a,Ss:c}))}),_v=mt(Gs,["typed","config"],i=>{var{typed:t,config:e}=i;return t(Gs,{"number, number":function(n,s){return n>s&&!Gn(n,s,e.epsilon)}})}),cf="deepEqual",mv=["typed","equal"],gv=mt(cf,mv,i=>{var{typed:t,equal:e}=i;return t(cf,{"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 l=0;l<a;l++)if(!r(n[l],s[l]))return!1;return!0}else return!1;else return Array.isArray(s)?!1:e(n,s)}}),ff="partitionSelect",vv=["typed","isNumeric","isNaN","compare"],yv=mt(ff,vv,i=>{var{typed:t,isNumeric:e,isNaN:r,compare:n}=i,s=n,a=(h,p)=>-n(h,p);return t(ff,{"Array | Matrix, number":function(p,f){return l(p,f,s)},"Array | Matrix, number, string":function(p,f,d){if(d==="asc")return l(p,f,s);if(d==="desc")return l(p,f,a);throw new Error('Compare string must be "asc" or "desc"')},"Array | Matrix, number, function":l});function l(h,p,f){if(!ye(p)||p<0)throw new Error("k must be a non-negative integer");if(me(h)){var d=h.size();if(d.length>1)throw new Error("Only one dimensional matrices supported");return c(h.valueOf(),p,f)}if(Array.isArray(h))return c(h,p,f)}function c(h,p,f){if(p>=h.length)throw new Error("k out of bounds");for(var d=0;d<h.length;d++)if(e(h[d])&&r(h[d]))return h[d];for(var g=0,y=h.length-1;g<y;){for(var m=g,D=y,v=h[Math.floor(Math.random()*(y-g+1))+g];m<D;)if(f(h[m],v)>=0){var E=h[D];h[D]=h[m],h[m]=E,--D}else++m;f(h[m],v)>0&&--m,p<=m?y=m:g=m+1}return h[p]}}),hf="max",wv=["typed","config","numeric","larger"],Dv=mt(hf,wv,i=>{var{typed:t,config:e,numeric:r,larger:n}=i;return t(hf,{"Array | Matrix":a,"Array | Matrix, number | BigNumber":function(c,h){return Ca(c,h.valueOf(),s)},"...":function(c){if(Ps(c))throw new TypeError("Scalar values expected in function max");return a(c)}});function s(l,c){try{return n(l,c)?l:c}catch(h){throw Nn(h,"max",c)}}function a(l){var c;if(Gi(l,function(h){try{isNaN(h)&&typeof h=="number"?c=NaN:(c===void 0||n(h,c))&&(c=h)}catch(p){throw Nn(p,"max",h)}}),c===void 0)throw new Error("Cannot calculate max of an empty array");return typeof c=="string"&&(c=r(c,e.number)),c}}),pf="min",bv=["typed","config","numeric","smaller"],Ev=mt(pf,bv,i=>{var{typed:t,config:e,numeric:r,smaller:n}=i;return t(pf,{"Array | Matrix":a,"Array | Matrix, number | BigNumber":function(c,h){return Ca(c,h.valueOf(),s)},"...":function(c){if(Ps(c))throw new TypeError("Scalar values expected in function min");return a(c)}});function s(l,c){try{return n(l,c)?l:c}catch(h){throw Nn(h,"min",c)}}function a(l){var c;if(Gi(l,function(h){try{isNaN(h)&&typeof h=="number"?c=NaN:(c===void 0||n(h,c))&&(c=h)}catch(p){throw Nn(p,"min",h)}}),c===void 0)throw new Error("Cannot calculate min of an empty array");return typeof c=="string"&&(c=r(c,e.number)),c}}),df="add",xv=["typed","matrix","addScalar","equalScalar","DenseMatrix","SparseMatrix","concat"],Av=mt(df,xv,i=>{var{typed:t,matrix:e,addScalar:r,equalScalar:n,DenseMatrix:s,SparseMatrix:a,concat:l}=i,c=Yc({typed:t}),h=hg({typed:t,equalScalar:n}),p=Vc({typed:t,DenseMatrix:s}),f=Kn({typed:t,matrix:e,concat:l});return t(df,{"any, any":r,"any, any, ...any":t.referToSelf(d=>(g,y,m)=>{for(var D=d(g,y),v=0;v<m.length;v++)D=d(D,m[v]);return D})},f({elop:r,DS:c,SS:h,Ss:p}))}),_f="dot",Cv=["typed","addScalar","multiplyScalar","conj","size"],Fv=mt(_f,Cv,i=>{var{typed:t,addScalar:e,multiplyScalar:r,conj:n,size:s}=i;return t(_f,{"Array | DenseMatrix, Array | DenseMatrix":l,"SparseMatrix, SparseMatrix":c});function a(p,f){var d=h(p),g=h(f),y,m;if(d.length===1)y=d[0];else if(d.length===2&&d[1]===1)y=d[0];else throw new RangeError("Expected a column vector, instead got a matrix of size ("+d.join(", ")+")");if(g.length===1)m=g[0];else if(g.length===2&&g[1]===1)m=g[0];else throw new RangeError("Expected a column vector, instead got a matrix of size ("+g.join(", ")+")");if(y!==m)throw new RangeError("Vectors must have equal length ("+y+" != "+m+")");if(y===0)throw new RangeError("Cannot calculate the dot product of empty vectors");return y}function l(p,f){var d=a(p,f),g=me(p)?p._data:p,y=me(p)?p._datatype||p.getDataType():void 0,m=me(f)?f._data:f,D=me(f)?f._datatype||f.getDataType():void 0,v=h(p).length===2,E=h(f).length===2,b=e,N=r;if(y&&D&&y===D&&typeof y=="string"&&y!=="mixed"){var x=y;b=t.find(e,[x,x]),N=t.find(r,[x,x])}if(!v&&!E){for(var F=N(n(g[0]),m[0]),M=1;M<d;M++)F=b(F,N(n(g[M]),m[M]));return F}if(!v&&E){for(var S=N(n(g[0]),m[0][0]),I=1;I<d;I++)S=b(S,N(n(g[I]),m[I][0]));return S}if(v&&!E){for(var C=N(n(g[0][0]),m[0]),O=1;O<d;O++)C=b(C,N(n(g[O][0]),m[O]));return C}if(v&&E){for(var L=N(n(g[0][0]),m[0][0]),U=1;U<d;U++)L=b(L,N(n(g[U][0]),m[U][0]));return L}}function c(p,f){a(p,f);for(var d=p._index,g=p._values,y=f._index,m=f._values,D=0,v=e,E=r,b=0,N=0;b<d.length&&N<y.length;){var x=d[b],F=y[N];if(x<F){b++;continue}if(x>F){N++;continue}x===F&&(D=v(D,E(g[b],m[N])),b++,N++)}return D}function h(p){return me(p)?p.size():s(p)}}),Mv="trace",Nv=["typed","matrix","add"],Sv=mt(Mv,Nv,i=>{var{typed:t,matrix:e,add:r}=i;return t("trace",{Array:function(l){return n(e(l))},SparseMatrix:s,DenseMatrix:n,any:se});function n(a){var l=a._size,c=a._data;switch(l.length){case 1:if(l[0]===1)return se(c[0]);throw new RangeError("Matrix must be square (size: "+le(l)+")");case 2:{var h=l[0],p=l[1];if(h===p){for(var f=0,d=0;d<h;d++)f=r(f,c[d][d]);return f}else throw new RangeError("Matrix must be square (size: "+le(l)+")")}default:throw new RangeError("Matrix must be two dimensional (size: "+le(l)+")")}}function s(a){var l=a._values,c=a._index,h=a._ptr,p=a._size,f=p[0],d=p[1];if(f===d){var g=0;if(l.length>0)for(var y=0;y<d;y++)for(var m=h[y],D=h[y+1],v=m;v<D;v++){var E=c[v];if(E===y){g=r(g,l[v]);break}if(E>y)break}return g}throw new RangeError("Matrix must be square (size: "+le(p)+")")}}),mf="det",Bv=["typed","matrix","subtractScalar","multiply","divideScalar","isZero","unaryMinus"],Ov=mt(mf,Bv,i=>{var{typed:t,matrix:e,subtractScalar:r,multiply:n,divideScalar:s,isZero:a,unaryMinus:l}=i;return t(mf,{any:function(p){return se(p)},"Array | Matrix":function(p){var f;switch(me(p)?f=p.size():Array.isArray(p)?(p=e(p),f=p.size()):f=[],f.length){case 0:return se(p);case 1:if(f[0]===1)return se(p.valueOf()[0]);if(f[0]===0)return 1;throw new RangeError("Matrix must be square (size: "+le(f)+")");case 2:{var d=f[0],g=f[1];if(d===g)return c(p.clone().valueOf(),d);if(g===0)return 1;throw new RangeError("Matrix must be square (size: "+le(f)+")")}default:throw new RangeError("Matrix must be two dimensional (size: "+le(f)+")")}}});function c(h,p,f){if(p===1)return se(h[0][0]);if(p===2)return r(n(h[0][0],h[1][1]),n(h[1][0],h[0][1]));for(var d=!1,g=new Array(p).fill(0).map((M,S)=>S),y=0;y<p;y++){var m=g[y];if(a(h[m][y])){var D=void 0;for(D=y+1;D<p;D++)if(!a(h[g[D]][y])){m=g[D],g[D]=g[y],g[y]=m,d=!d;break}if(D===p)return h[m][y]}for(var v=h[m][y],E=y===0?1:h[g[y-1]][y-1],b=y+1;b<p;b++)for(var N=g[b],x=y+1;x<p;x++)h[N][x]=s(r(n(h[N][x],v),n(h[N][y],h[m][x])),E)}var F=h[g[p-1]][p-1];return d?l(F):F}}),gf="inv",Tv=["typed","matrix","divideScalar","addScalar","multiply","unaryMinus","det","identity","abs"],Iv=mt(gf,Tv,i=>{var{typed:t,matrix:e,divideScalar:r,addScalar:n,multiply:s,unaryMinus:a,det:l,identity:c,abs:h}=i;return t(gf,{"Array | Matrix":function(d){var g=me(d)?d.size():Be(d);switch(g.length){case 1:if(g[0]===1)return me(d)?e([r(1,d.valueOf()[0])]):[r(1,d[0])];throw new RangeError("Matrix must be square (size: "+le(g)+")");case 2:{var y=g[0],m=g[1];if(y===m)return me(d)?e(p(d.valueOf(),y,m),d.storage()):p(d,y,m);throw new RangeError("Matrix must be square (size: "+le(g)+")")}default:throw new RangeError("Matrix must be two dimensional (size: "+le(g)+")")}},any:function(d){return r(1,d)}});function p(f,d,g){var y,m,D,v,E;if(d===1){if(v=f[0][0],v===0)throw Error("Cannot calculate inverse, determinant is zero");return[[r(1,v)]]}else if(d===2){var b=l(f);if(b===0)throw Error("Cannot calculate inverse, determinant is zero");return[[r(f[1][1],b),r(a(f[0][1]),b)],[r(a(f[1][0]),b),r(f[0][0],b)]]}else{var N=f.concat();for(y=0;y<d;y++)N[y]=N[y].concat();for(var x=c(d).valueOf(),F=0;F<g;F++){var M=h(N[F][F]),S=F;for(y=F+1;y<d;)h(N[y][F])>M&&(M=h(N[y][F]),S=y),y++;if(M===0)throw Error("Cannot calculate inverse, determinant is zero");y=S,y!==F&&(E=N[F],N[F]=N[y],N[y]=E,E=x[F],x[F]=x[y],x[y]=E);var I=N[F],C=x[F];for(y=0;y<d;y++){var O=N[y],L=x[y];if(y!==F){if(O[F]!==0){for(D=r(a(O[F]),I[F]),m=F;m<g;m++)O[m]=n(O[m],s(D,I[m]));for(m=0;m<g;m++)L[m]=n(L[m],s(D,C[m]))}}else{for(D=I[F],m=F;m<g;m++)O[m]=r(O[m],D);for(m=0;m<g;m++)L[m]=r(L[m],D)}}}return x}}}),vf="pinv",$v=["typed","matrix","inv","deepEqual","equal","dotDivide","dot","ctranspose","divideScalar","multiply","add","Complex"],Lv=mt(vf,$v,i=>{var{typed:t,matrix:e,inv:r,deepEqual:n,equal:s,dotDivide:a,dot:l,ctranspose:c,divideScalar:h,multiply:p,add:f,Complex:d}=i;return t(vf,{"Array | Matrix":function(b){var N=me(b)?b.size():Be(b);switch(N.length){case 1:return v(b)?c(b):N[0]===1?r(b):a(c(b),l(b,b));case 2:{if(v(b))return c(b);var x=N[0],F=N[1];if(x===F)try{return r(b)}catch(M){if(!(M instanceof Error&&M.message.match(/Cannot calculate inverse, determinant is zero/)))throw M}return me(b)?e(g(b.valueOf(),x,F),b.storage()):g(b,x,F)}default:throw new RangeError("Matrix must be two dimensional (size: "+le(N)+")")}},any:function(b){return s(b,0)?se(b):h(1,b)}});function g(E,b,N){var{C:x,F}=m(E,b,N),M=p(r(p(c(x),x)),c(x)),S=p(c(F),r(p(F,c(F))));return p(S,M)}function y(E,b,N){for(var x=se(E),F=0,M=0;M<b;M++){if(N<=F)return x;for(var S=M;D(x[S][F]);)if(S++,b===S&&(S=M,F++,N===F))return x;[x[S],x[M]]=[x[M],x[S]];for(var I=x[M][F],C=0;C<N;C++)x[M][C]=a(x[M][C],I);for(var O=0;O<b;O++)if(O!==M){I=x[O][F];for(var L=0;L<N;L++)x[O][L]=f(x[O][L],p(-1,p(I,x[M][L])))}F++}return x}function m(E,b,N){var x=y(E,b,N),F=E.map((S,I)=>S.filter((C,O)=>O<b&&!D(l(x[O],x[O])))),M=x.filter((S,I)=>!D(l(x[I],x[I])));return{C:F,F:M}}function D(E){return s(f(E,d(1,1)),f(0,d(1,1)))}function v(E){return n(f(E,d(1,1)),f(p(E,0),d(1,1)))}}),Rv="divide",Pv=["typed","matrix","multiply","equalScalar","divideScalar","inv"],zv=mt(Rv,Pv,i=>{var{typed:t,matrix:e,multiply:r,equalScalar:n,divideScalar:s,inv:a}=i,l=Fa({typed:t,equalScalar:n}),c=Ma({typed:t});return t("divide",Rl({"Array | Matrix, Array | Matrix":function(p,f){return r(p,a(f))},"DenseMatrix, any":function(p,f){return c(p,f,s,!1)},"SparseMatrix, any":function(p,f){return l(p,f,s,!1)},"Array, any":function(p,f){return c(e(p),f,s,!1).valueOf()},"any, Array | Matrix":function(p,f){return r(p,a(f))}},s.signatures))}),yf="sum",qv=["typed","config","add","numeric"],kv=mt(yf,qv,i=>{var{typed:t,config:e,add:r,numeric:n}=i;return t(yf,{"Array | Matrix":s,"Array | Matrix, number | BigNumber":a,"...":function(c){if(Ps(c))throw new TypeError("Scalar values expected in function sum");return s(c)}});function s(l){var c;return Gi(l,function(h){try{c=c===void 0?h:r(c,h)}catch(p){throw Nn(p,"sum",h)}}),c===void 0&&(c=n(0,e.number)),typeof c=="string"&&(c=n(c,e.number)),c}function a(l,c){try{var h=Ca(l,c,r);return h}catch(p){throw Nn(p,"sum")}}}),wf="median",Uv=["typed","add","divide","compare","partitionSelect"],Wv=mt(wf,Uv,i=>{var{typed:t,add:e,divide:r,compare:n,partitionSelect:s}=i;function a(h){try{h=ga(h.valueOf());var p=h.length;if(p===0)throw new Error("Cannot calculate median of an empty array");if(p%2===0){for(var f=p/2-1,d=s(h,f+1),g=h[f],y=0;y<f;++y)n(h[y],g)>0&&(g=h[y]);return c(g,d)}else{var m=s(h,(p-1)/2);return l(m)}}catch(D){throw Nn(D,"median")}}var l=t({"number | BigNumber | Complex | Unit":function(p){return p}}),c=t({"number | BigNumber | Complex | Unit, number | BigNumber | Complex | Unit":function(p,f){return r(e(p,f),2)}});return t(wf,{"Array | Matrix":a,"Array | Matrix, number | BigNumber":function(p,f){throw new Error("median(A, dim) is not yet supported")},"...":function(p){if(Ps(p))throw new TypeError("Scalar values expected in function median");return a(p)}})}),Ks=j_({config:pr}),Na=G_({}),Sa=X_({}),Ba=em({}),tn=im({Matrix:Ba}),Mt=Zd({BigNumber:Ks,Complex:Na,DenseMatrix:tn,Fraction:Sa}),jv=Lm({typed:Mt}),Hs=Pm({typed:Mt}),Yv=Fm({BigNumber:Ks,typed:Mt}),Df=Ag({typed:Mt}),Sn=mm({config:pr,typed:Mt}),Js=am({typed:Mt}),Vv=fm({typed:Mt}),Xs=gg({typed:Mt}),bf=xm({typed:Mt}),Oa=ym({Matrix:Ba,equalScalar:Sn,typed:Mt}),Ef=qm({typed:Mt}),xf=pm({typed:Mt}),Ta=Im({typed:Mt}),Af=Sm({Fraction:Sa,typed:Mt}),Cf=lm({typed:Mt}),Oe=Om({DenseMatrix:tn,Matrix:Ba,SparseMatrix:Oa,typed:Mt}),Ff=Vg({isNaN:xf,isNumeric:Cf,typed:Mt}),Ki=Jg({bignumber:Yv,fraction:Af,number:bf}),Zv=Gg({config:pr,multiplyScalar:Xs,numeric:Ki,typed:Mt}),Gv=Pg({isInteger:Js,matrix:Oe,typed:Mt}),Mf=qg({matrix:Oe,config:pr,typed:Mt}),Nf=Ug({matrix:Oe,typed:Mt}),Hn=Fg({isInteger:Js,matrix:Oe,typed:Mt}),Kv=Ng({prod:Zv,size:Mf,typed:Mt}),Hv=jg({conj:Df,transpose:Nf,typed:Mt}),Hi=Qg({numeric:Ki,typed:Mt}),Jv=nv({DenseMatrix:tn,concat:Hn,divideScalar:Hi,equalScalar:Sn,matrix:Oe,typed:Mt}),Sf=uv({DenseMatrix:tn,concat:Hn,equalScalar:Sn,matrix:Oe,typed:Mt}),Bf=Bg({BigNumber:Ks,DenseMatrix:tn,SparseMatrix:Oa,config:pr,matrix:Oe,typed:Mt}),Xv=Tg({matrix:Oe,multiplyScalar:Xs,typed:Mt}),Qv=fv({DenseMatrix:tn,concat:Hn,config:pr,matrix:Oe,typed:Mt}),t1=Dg({DenseMatrix:tn,concat:Hn,equalScalar:Sn,matrix:Oe,subtractScalar:Ef,typed:Mt,unaryMinus:Ta}),Ji=Av({DenseMatrix:tn,SparseMatrix:Oa,addScalar:Hs,concat:Hn,equalScalar:Sn,matrix:Oe,typed:Mt}),Of=sv({BigNumber:Ks,DenseMatrix:tn,Fraction:Sa,concat:Hn,config:pr,equalScalar:Sn,matrix:Oe,typed:Mt}),e1=gv({equal:Sf,typed:Mt}),Tf=Fv({addScalar:Hs,conj:Df,multiplyScalar:Xs,size:Mf,typed:Mt}),r1=dv({DenseMatrix:tn,concat:Hn,config:pr,matrix:Oe,typed:Mt}),Ia=Ev({config:pr,numeric:Ki,smaller:Qv,typed:Mt}),yi=yg({addScalar:Hs,dot:Tf,equalScalar:Sn,matrix:Oe,multiplyScalar:Xs,typed:Mt}),n1=yv({compare:Of,isNaN:xf,isNumeric:Cf,typed:Mt}),i1=kv({add:Ji,config:pr,numeric:Ki,typed:Mt}),s1=Sv({add:Ji,matrix:Oe,typed:Mt}),If=Ov({divideScalar:Hi,isZero:Vv,matrix:Oe,multiply:yi,subtractScalar:Ef,typed:Mt,unaryMinus:Ta}),o1=Dv({config:pr,larger:r1,numeric:Ki,typed:Mt}),Qs=Iv({abs:jv,addScalar:Hs,det:If,divideScalar:Hi,identity:Bf,matrix:Oe,multiply:yi,typed:Mt,unaryMinus:Ta}),a1=Lv({Complex:Na,add:Ji,ctranspose:Hv,deepEqual:e1,divideScalar:Hi,dot:Tf,dotDivide:Jv,equal:Sf,inv:Qs,matrix:Oe,multiply:yi,typed:Mt}),u1=ev({Complex:Na,config:pr,fraction:Af,identity:Bf,inv:Qs,matrix:Oe,multiply:yi,number:bf,typed:Mt}),l1=zv({divideScalar:Hi,equalScalar:Sn,inv:Qs,matrix:Oe,multiply:yi,typed:Mt}),$f=Wv({add:Ji,compare:Of,divide:l1,partitionSelect:n1,typed:Mt});class c1{constructor(t,e,r){z(this,"_cacheData");z(this,"_variables");z(this,"_math");z(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(e===void 0||r===void 0||n===void 0)return;const l=this._cacheDataList(t,e,`alma_${a}`);if(l===void 0)return;let c=r*(e-1);s&&(c=Math.floor(c));const h=e/n;let p=0,f=0;for(let d=0;d<=e-1;d++){const g=Math.exp(-1*Math.pow(d-c,2)/(2*Math.pow(h,2)));p+=g,f+=l[l.length-1-(e-d-1)]*g}return f/p}sma({source:t,length:e},r){if(t===void 0||isNaN(t)||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=i1(...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,l=s===void 0?this.sma({source:t,length:e},r):a*t+(1-a)*(s||0);return this._cacheDataHandle(`rma_${r}`,{sum:l}),l}atr({length:t},e){const{high:r,close:n}=this._cacheData[`atr_${e}`]||{},{high:s,close:a,low:l}=this._variables,c=r===void 0?s-l:Math.max(Math.max(s-l,Math.abs(s-n)),Math.abs(l-n));return this._cacheDataHandle(`atr_${e}`,{high:s,close:a}),this.rma({source:c,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||isNaN(t)||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 l=0;for(let c=0;c<e;c++){const h=this._sum(s[s.length-1-c],-(a||0));l+=h*h}return r||e<=1?Math.sqrt(l/e):Math.sqrt(l/(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||isNaN(t)||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 l=r*a;return[s,s+l,s-l]}bbw({series:t,length:e,mult:r},n){if(t===void 0||isNaN(t)||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 l=r*a;return(s+l-(s-l))/s}cci({source:t,length:e},r){if(t===void 0||isNaN(t)||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){const n=this._cacheData[`change_${r}`]||[];n[this._variables.bar_index]=t,this._cacheData[`change_${r}`]=n;const s=n[n.length-1-e];if(!(t===void 0||isNaN(t)))return s===void 0?s:typeof t=="boolean"?s!==t:t-s}cmo({series:t,length:e},r){if(t===void 0||isNaN(t)||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||isNaN(t)||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 l=0;l<e;l++){const c=n[n.length-1-l];a+=c*(l+1)}return-a/s}correlation({source1:t,source2:e,length:r},n){if(t===void 0||isNaN(t)||e===void 0||isNaN(e)||r===void 0)return;const s=this._cacheDataList([t,e],r,`correlation_${n}`),a=this.sma({source:t,length:r},`sma1_${n}`),l=this.sma({source:e,length:r},`sma2_${n}`);if(a===void 0||l===void 0||s===void 0)return;let c=0,h=0,p=0;for(let d=0;d<r;d++){const[g,y]=s[s.length-1-d],m=g-a,D=y-l;c+=m*D,h+=m*m,p+=D*D}return isNaN(h)||isNaN(c)||isNaN(p)?void 0:c/Math.sqrt(h*p)}cross({source1:t,source2:e},r){if(t===void 0||e===void 0)return!1;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!1;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!1;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){t=isNaN(t)?0:t;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||isNaN(t)||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 l=0;l<e;l++){const c=a[a.length-1-l];s+=Math.abs(c-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:l,PDMS:c,NDMS:h,TRS:p,ADX:f,count:d=0}=this._cacheData[n]||{},{low:g,high:y,close:m}=this._variables;if(s===void 0||a===void 0||l===void 0)return this._cacheData[n]={low:g,high:y,close:m,PDMS:c,NDMS:h,TRS:y-g,count:1},[void 0,void 0,void 0];let D=y-a,v=s-g;D=D>v&&D>0?D:0,v=v>D&&v>0?v:0,D===v&&(D=v=0);const E=Math.max(y-g,Math.abs(y-l),Math.abs(g-l));if(d<t)return this._cacheDataHandle(n,{low:g,high:y,close:m,PDMS:(c||0)+D,NDMS:(h||0)+v,TRS:(p||0)+E,count:d+1}),[void 0,void 0,void 0];{const b=c-c/t+D,N=h-h/t+v,x=p-p/t+E,F=b/x*100,M=N/x*100,S=Math.abs((F-M)/(F+M))*100;let I=S,C=[F,M,void 0];if(d+1-t<e){const O=d+1-t;I=((f||0)*(O-1)+S)/O}else I=(f*(e-1)+S)/e,C=[F,M,I];return this._cacheDataHandle(n,{low:g,high:y,close:m,PDMS:b,NDMS:N,TRS:x,ADX:I,count:d+1}),C}}ema({source:t,length:e},r){if(t===void 0||e===void 0||isNaN(t))return;let{sum:n,count:s=1}=this._cacheData[`ema_${r}`]||{};const a=this.sma({source:t,length:e},r);if(s>e){const l=2/(e+1);n=n===void 0?t:l*t+(1-l)*(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||isNaN(t)||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(l=>l)}rising({source:t,length:e},r){if(t===void 0||isNaN(t)||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,risings:a}),a.length<e?!1:a.every(l=>l)}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 l=n.filter(()=>!0);if(!(l.length<e))return Math.max(...l.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 l=n.filter(()=>!0);return l.length<e?void 0:l.slice(-e).reduce((h,p,f,d)=>p>=d[h]?f:h,0)-e+1}wma({source:t,length:e},r){if(e===void 0||t===void 0||isNaN(t)||e<=0)return;const n=this._cacheDataList(t,e,`wma_${r}`);if(!n)return;let s=0,a=0;for(let l=0;l<e;l++){const c=(e-l)*e;s+=c,a+=n[n.length-1-l]*c}return a/s}hma({source:t,length:e},r){if(e===void 0||t===void 0||isNaN(t)||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||isNaN(t)||e===void 0||r===void 0)return[void 0,void 0,void 0];const a=this.ema({source:t,length:e},s),{ta:l,high:c,low:h}=this._variables,p=n?l.tr:c-h,f=this.ema({source:p,length:e},`range_${s}`);return[a,a+f*r,a-f*r]}kcw({series:t,length:e,mult:r,useTrueRange:n=!0},s){if(t===void 0||isNaN(t)||e===void 0||r===void 0)return;const a=this.ema({source:t,length:e},s),{ta:l,high:c,low:h}=this._variables,p=n?l.tr:c-h,f=this.ema({source:p,length:e},`range_${s}`);return(a+f*r-(a-f*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(g=>g!==void 0);let l=0,c=0,h=0,p=0;for(const[g,y]of a.entries())l+=g,c+=y,h+=g*y,p+=g*g;const f=(e*h-l*c)/(e*p-l*l);return(c-f*l)/e+f*(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 l=n.filter(()=>!0);if(!(l.length<e))return Math.min(...l.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 l=n.filter(()=>!0);return l.length<e?void 0:l.slice(-e).reduce((h,p,f,d)=>p<=d[h]?f:h,0)-e+1}macd({source:t,fastlen:e,slowlen:r,siglen:n},s){if(t===void 0||isNaN(t)||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}`),l=this.ema({source:t,length:r},`ema2_${s}`);if(a===void 0||l===void 0)return[void 0,void 0,void 0];const c=a-l,h=this.ema({source:c,length:n},`macd_${s}`);if(h===void 0)return[c,h,void 0];const p=c-h;return[c,h,p]}max({source:t},e){if(t===void 0||isNaN(t))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||isNaN(t))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||isNaN(t)||e<=0)return;const n=this._cacheDataList(t,e,`dev_${r}`);if(n)return $f(n.slice(-e))}mfi({series:t,length:e},r){if(e===void 0||t===void 0||isNaN(t)||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}`),l=this._math.sum({source:n*(s<=0?0:t),length:e},`upper_${r}`);if(!(l===void 0||a===void 0))return 100-100/(1+l/a)}mode({source:t,length:e},r){if(e===void 0||t===void 0||isNaN(t)||e<=0)return;const n=this._cacheDataList(t,e,`mode_${r}`);if(n)return Ia(Ff(n.slice(-e)))}mom({source:t,length:e},r){if(e===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||t===void 0||isNaN(t))return;let a=s.length-e-1,l;for(;l===void 0&&a>=0;)l=s[a],a--;return l===void 0?l:t-l}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))),l=a.length;r/=100;const c=1/(l*2);if(r<=c)return a[0];if(r>=1-1/(l*2))return a[l-1];for(const[h,p]of a.entries()){const f=a[h-1];if(r<(h+.5)/l)return f===void 0||p===void 0?void 0:f+(p-f)*(r-(h-.5)/l)/(1/l)}}percentile_nearest_rank({source:t,length:e,percentage:r},n){if(e===void 0||r===void 0||t===void 0||isNaN(t)||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)),l=r/100*a.length,c=Math.ceil(l)-1;return a[c>=a.length?a.length-1:c]}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 l=0;for(let c=0;c<s.length;c++)s[c]!==void 0&&(s[c]<a||s[c]===a&&c<e)&&l++;return l/(s.length-1)*100}pivot_point_levels({type:t,anchor:e,developing:r},n){const s=new Qt;let{close:a,open:l,low:c,high:h}=this._variables;const p=`pivot_point_levels_${n}`,{close:f,low:d,high:g,open:y,result:m}=this._cacheData[p]||{};if(!e&&(g&&d&&(h=Math.max(g,h),c=Math.min(d,c)),this._cacheDataHandle(p,{close:a,open:l,low:c,high:h,result:m}),!r))return s._value=m||[],s;const D={close:a,open:l,low:c,high:h};e===!0&&!r&&(a=f,l=y,c=d,h=g);const v=this._getPivotPointLevels(h,c,a,l,r,t);return this._cacheDataHandle(p,{...D,result:v}),s._value=v,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 Zn.traditional:return this._traditional(t,e,r);case Zn.fibonacci:return this._fibonacci(t,e,r);case Zn.woodie:return s?[]:this._woodie(t,e);case Zn.classic:return this._classic(t,e,r);case Zn.dm:return this._DM(t,e,r,n);case Zn.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),l=n*2+(t-2*e),c=n*3+(t-3*e),h=n*4+(t-4*e),p=n*2-t,f=n-(t-e),d=n*2-(2*t-e),g=n*3-(3*t-e),y=n*4-(4*t-e);return[n,s,p,a,f,l,d,c,g,h,y]}_fibonacci(t,e,r){const n=(t+e+r)/3,s=n+.382*(t-e),a=n-.382*(t-e),l=n+.618*(t-e),c=n-.618*(t-e),h=n+(t-e),p=n-(t-e);return[n,s,a,l,c,h,p]}_woodie(t,e){const{open:r}=this._variables,n=(t+e+2*r)/4,s=2*n-e,a=2*n-t,l=n+(t-e),c=n-(t-e),h=t+2*(n-e),p=e-2*(t-n),f=h+(t-e),d=p-(t-e);return[n,s,a,l,c,h,p,f,d]}_classic(t,e,r){const n=(t+e+r)/3,s=2*n-e,a=2*n-t,l=n+(t-e),c=n-(t-e),h=n+2*(t-e),p=n-2*(t-e),f=n+3*(t-e),d=n-3*(t-e);return[n,s,a,l,c,h,p,f,d]}_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,l=s/2-e,c=s/2-t;return[a,l,c]}_camarilla(t,e,r){const n=(t+e+r)/3,s=r+1.1*(t-e)/12,a=r-1.1*(t-e)/12,l=r+1.1*(t-e)/6,c=r-1.1*(t-e)/6,h=r+1.1*(t-e)/4,p=r-1.1*(t-e)/4,f=r+1.1*(t-e)/2,d=r-1.1*(t-e)/2,g=t/e*r,y=r-(g-r);return[n,s,a,l,c,h,p,f,d,g,y]}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)),l=a[e];return Math.max(...a)===l?l: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)),l=a[e];return Math.min(...a)===l?l:void 0}range({source:t,length:e},r){if(e===void 0||t===void 0||isNaN(t)||e<0)return;const n=this._cacheDataList(t,e,`range_${r}`);if(!n)return;const s=n.filter(c=>c!==void 0).slice(-e),a=Math.max(...s),l=Math.min(...s);return a-l}roc({source:t,length:e},r){if(e===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||isNaN(t)||e<0)return;const{source:n}=this._cacheData[`rsi_${r}`]||{},s=Math.max(t-n,0),a=Math.max(n-t,0),l=this.rma({source:s,length:e},`rma1_${r}`),c=this.rma({source:a,length:e},`rma2_${r}`);if(this._cacheDataHandle(`rsi_${r}`,{source:t}),!(l===void 0||c===void 0))return 100-100/(1+l/c)}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:l,preLow:c,preHigh:h,data:p={}}=this._cacheData[`sar_${n}`]||{};let{result:f,maxMin:d,acceleration:g,isBelow:y}=p,m=!1;const{close:D,low:v,high:E,bar_index:b}=this._variables;return b===1&&(D>s?(y=!0,d=E,f=a):(y=!1,d=v,f=l),m=!0,g=t),f=f+g*(d-f),y?f>v&&(m=!0,y=!1,f=Math.max(E,d||0),d=v,g=t):f<E&&(m=!0,y=!0,f=Math.min(v,d||0),d=E,g=t),m||(y?E>(d||0)&&(d=E,g=Math.min((g||0)+e,r)):v<(d||0)&&(d=v,g=Math.min((g||0)+e,r))),y?(f=Math.min(f,a),b>1&&(f=Math.min(f,c))):(f=Math.max(f,l),b>1&&(f=Math.max(f,h))),this._cacheDataHandle(`sar_${n}`,{high:E,close:D,low:v,preLow:a,preHigh:l,data:Object.assign(p,{result:f,maxMin:d,acceleration:g,isBelow:y})}),f}stoch({source:t,high:e,low:r,length:n},s){if(n===void 0||e===void 0||r===void 0||t===void 0||isNaN(t)||n<0)return;const a=this.lowest({source:r,length:n},s),l=this.highest({source:e,length:n},s);if(!(a===void 0||l===void 0))return 100*(this._variables.close-a)/(l-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:l,lowerBand:c,superTrend:h,atr:p,close:f}=this._cacheData[a]||{},d=this.atr({length:e},r);if(d===void 0)return this._cacheDataHandle(a,{close:s}),[void 0,void 0];let g=n+t*d,y=n-t*d;const m=l||0,D=c||0;y=y>D||f<D?y:D,g=g<m||f>m?g:m;let v;p===void 0?v=1:h===m?v=s>g?-1:1:v=s<y?1:-1;const E=v===-1?y:g;return this._cacheDataHandle(a,{upperBand:g,lowerBand:y,superTrend:E,atr:d,close:s}),[E,v]}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||isNaN(t)||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}`),l=this.ema({source:s,length:e},`ema1_${n}`);if(l===void 0)return;const c=this.ema({source:l,length:r},`ema2_${n}`),h=this.ema({source:a,length:e},`absema2_${n}`);if(c!==void 0)return c/h}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||isNaN(t)||e===void 0||e<0)return;const s=this.sma({source:t,length:e},n),a=this._cacheDataList(t,e,`mode_${n}`);if(!a||s===void 0)return;const l=a.filter(h=>h!==void 0&&!isNaN(h)).slice(-e);if(l.length<e)return;const c=l.reduce((h,p)=>h+Math.pow(p-s,2),0);if(c!==void 0)return r||e<=1?c/e:c/(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:l=0,count:c=0,isReset:h,sumS:p=0}=this._cacheData[`vwap_${n}`]||{};if(e&&(a=l=c=p=0,h=!0),!h)return r!==void 0?[]:void 0;const f=t*s+a,d=s+l,g=f/d;return c++,r!==void 0?(p=s*Math.pow(t,2)+p,this._cacheDataHandle(`vwap_${n}`,{sum:f,sumV:d,count:c,isReset:h,sumS:p}),this._computeBands(p,d,r,g)):(this._cacheDataHandle(`vwap_${n}`,{sum:f,sumV:d,count:c,isReset:h}),g)}_computeBands(t,e,r,n){let s=t/e-Math.pow(n,2);s=s<0?0:s;const a=Math.sqrt(s),l=a!==void 0&&!isNaN(a)?n+r*a:void 0,c=a!==void 0&&!isNaN(a)?n-r*a:void 0;return[n,l,c]}vwma({source:t,length:e},r){if(t===void 0||isNaN(t)||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:l}=n,c=t[s];if(c!==void 0){if(a!==void 0&&c<a){t.splice(s,1),t.splice(l,0,c),n={currentIndex:l+1,currentVal:a};continue}n={currentIndex:s,currentVal:c}}}}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}))}}const Ye={onlyInLoop:"'$text' is only allowed inside loops",invalidType:"Invalid argument 'expr$index' in 'operator SQBR' call",typeUseError:"Cannot specify a type form '$text' without also specifying the type.",notTypeKeyword:"'$text' is not a valid type keyword in variable declaration",undeclared:"Undeclared identifier '$name'",repeatVar:"'$name' is already defined",typeRepeatErr:"type '$name' is already defined.",typeMismatch:"Cannot call '$operator' with argument '$index'. An argument of '$typeE' type was used but a '$typeR' is expected.",assignTypeMismatch:"Cannot assign a value of the `$typeE` type to the '$name' variable. The variable is declared with the `$typeR` type.",voidNotVar:"Void expression cannot be assigned to a variable",declareTypeErr:"Declared type '$type' is not compatible with assigned type '$valueType'",mapKeyValErr:"Cannot put <$typeA, $typeB> pairs into a map containing `$typeC` keys and `$typeD` values. The maps passed into the `$name()` function must have the same key types and value types.",inputSourceErr:"Invalid value for the '$name' parameter of the '$funcName' function. Possible values: [open, high, low, close, hl2, hlc3, ohlc4, hlcc4, volume].",buildInUseErr:"Cannot use '$name' as the default value of a type's field. The default value cannot be a function, variable or calculation.",argsLenErr:"Too many arguments passed into the `$name()` function call. Passed $lenA arguments but expected $lenB.",requiredParamErr:"No value assigned to the `$argName` parameter in $name()",argsSyntaxErr:"Syntax error after the argument for `$argName`. Arguments without their parameter name cannot be used after arguments with parameter names.",requestArgsErr:"Type $type cannot be used in $name '$argName' argument",mapKeyErr:"Incorrect `key` type `$type` in the variable. The `key` type must be one of the following: int, float, string, bool, color.",templateErr:"Incorrect number of arguments for the template: $countA expected, $countB passed.",templateNoSupportErr:"The '$name()' function does not support templates",ifOrSwitchTypeErr:"Return type of one of the '$keyword' blocks is not compatible with return type of other block(s) ($types)",argsNameErr:"The '$name' function does not have an argument with the name '$argName'",noFiledErr:"Object has no field $name",methodNotExistErr:"Could not find method or method reference '$methodName' for '$name'",tupleVarErr:"Syntax error: The quantities of tuple elements on each side of the assignment operator do not match. The right side has $indexA but the left side has $indexB.",tupleLeftVarErr:"Invalid assignment. Cannot assign a tuple to a variable '$name'.",tupleRightVarErr:"Cannot assign a variable to a tuple. The right side must be a function call or structure ('if', 'switch', 'for', 'while') returning a tuple with the same number of elements.",tempateTypeErr:"Syntax error: Only templates for arrays and matrices consist of a single type identifier enclosed in angle brackets.",qualifierErr:"'$name' is not a valid type qualifier. Possible values: 'const', 'simple', 'series'",notFindFuncErr:"Could not find function or function reference '$name'",naVarErr:"Value with NA type cannot be assigned to a variable that was defined without type keyword",notHistoryErr:"Variable '$name' doesn't have history values",defaultValueErr:"The default value cannot be a function, variable or calculation.",defaultValueTypeErr:"Default value of type $typeE can not be assigned to an argument of type $typeR",typeFieldErr:"In a type declaration, all fields without a default value must be explicitly typified.",unaryErr:"Syntax error at input '$sign'",funcArgAssignErr:"Function arguments cannot be mutable ('$name')",declaredErr:"A variable declared with the '$prefix' keyword cannot accept values of the '$type' form. Assign a '$prefix' value to this variable or remove the '$prefix' keyword from its declaration.",globalFuncErr:"Cannot use '$name' in local scope",onlyStatementErr:"Scripts must contain one declaration statement: `indicator()`, `strategy()` or `library()`, Your script has $count.",modifyGlobalVarErr:"Cannot modify global variable '$name' in function",inputDefvalErr:"Arguments of input function must be of constant type, or 'source' builtin variables.",objectIsNaErr:"Cannot access the '$name' $type of an na object. The object is 'na'.",buidinAssignErr:"Cannot assign a new value to the built-in variable '$name'.",buidinVarErr:"Cannot shadow the built-in variable `$name` because it has already been used as a built-in.",useNaErr:"Cannot use an `na` value of an unspecified type in the `$name` function.",libraryTitleErr:"Invalid argument 'title' in 'library' call. It cannot contain spaces, special characters or begin with a digit.",exportFuncArgErr:"All exported functions args should be typified",indiRunErr:"An indicator must contain at least one of the following: any `plot*()` function, `barcolor()`, `bgcolor()`, `hline()`, `alertcondition()`, or any drawing (line, label, box, table, polyline).",libraryExportErr:"A library must contain at least one exported function, method, or type.",strategyRunErr:"A strategy must contain at least one of the following: any `strategy.*()` function that creates orders, any `plot*()` function, `barcolor()`, `bgcolor()`, `hline()`, or any drawing (line, label, box, table, polyline).",exportUseErr:"Only libraries can contain exported $type.",funcRepeatErr:"The '$name' function has overloads with the same parameters. The type of parameters must be different in overloaded versions of functions.",importMultipleErr:"Cannot import a library more than once",importNotExitErr:"The user '$username' does not have a published library titled '$libraryName'",importNameRepeatErr:"More than one import uses the same alias: $name. Previous usage at line: $line",exportFuncHasInputErr:"The exported function '$func' depends on the '$name' input variable, which is not allowed.",libraryTitleIsKeywordErr:"Invalid argument 'title' in 'library' call. Token: '$name' can't be used as library title.",exportFuncUseGlobalVarErr:"Cannot use global variables in exported functions. Function: $func",loopRuntimeErr:"Loop takes too long to execute (> 500 ms)",paramsErr:"Invalid value '$value' for '$param' parameter of the '$func' function. Possible values: $targetVal",displayErr:"Invalid argument 'display' in '$func' call. Possible values: $values",exportFuncUseReqErr:"Cannot use `request.*()` call in exported function `$name()`",requestExprErr:"Type series $type cannot be used in $name 'expression' argument",argDefaultErr:"The default value assigned to a parameter must be either a literal value (e.g., `5`) or a built-in variable (e.g., `close`)",overloadFuncErr:"Cannot use global variables or any values qualified as 'input' in the local scopes of overloaded functions or methods. Remove any global variables or inputs from the scopes of all '$name()' overloads.",againAssignErr:"Unable to determine the object for the field assignment. Try putting the object into a separate variable before assigning values to its fields.",requestUserInLoopErr:"Cannot use `request.*()` call within loops or conditional structures."};Jr.SERIES,Jr.SIMPLE,Jr.INPUT,Jr.CONST,Jr.INT,Jr.FLOAT,Jr.BOOL,Jr.COLOR,Jr.STRING;const f1=["close","open","high","low","hl2","hlc3","hlcc4","ohlc4","volume"],h1=["case","catch","default","delete","do","finally","function","instanceof","new","return","this","throw","try","typeof","void","with"],p1=["linefill","polyline","matrix","series","simple","string","array","color","const","float","label","table","bool","line","box","int","map","continue","for","varip","var","in","export","import","method","switch","break","while","else","type","and","for","not","as","by","if","in","or","to"];class d1{constructor(t,e,r){z(this,"_cacheData");z(this,"_variables");z(this,"_errorListener");z(this,"_historyInputs");z(this,"_name");this._cacheData={},this._variables=t,this._errorListener=e,this._name=`inputs_${r}`,this._historyInputs=self.workerStorage.get(this._name)||{}}update(t){for(const e of t){const r=e.id;this._cacheData[r]=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,sr.INT)}bool(t,e){return this._cacheHandle(t,e,sr.BOOL)}color(t,e){return this._cacheHandle(t,e,sr.COLOR)}time(t,e){return this._cacheHandle(t,e,sr.TIME)}float(t,e){return this._cacheHandle(t,e,sr.FLOAT)}price(t,e){return this._cacheHandle(t,e,sr.PRICE)}source(t,e){return this._cacheHandle(t,e,sr.SOURCE)}string(t,e){return this._cacheHandle(t,e,sr.STRING)}symbol(t,e){return this._cacheHandle(t,e,sr.SYMBOL)}session(t,e){return this._cacheHandle(t,e,sr.SESSION)}text_area(t,e){return this._cacheHandle(t,e,sr.TEXT_AREA)}timeframe(t,e){return this._cacheHandle(t,e,sr.TIMEFRAME)}_cacheHandle(t,e,r){if(e.startsWith("export"))return t.defval;const n=`${r||"input"}_${e}`,s=this._cacheData[n];if(t.defval===void 0&&this._errorListener.addError(Ye.inputDefvalErr,e,jt.Error),s)s.isModify?s.sourceTypeName&&(this._cacheData[n].defval=this._variables[s.sourceTypeName]):Object.assign(this._cacheData[n],t);else{const{defval:a,display:l}=t;this._displayVerify(e,l),t={inputType:r,...t},this._cacheData[n]=t,this._judgeHistoryInputs(t),(r||t.inputType)===sr.SOURCE?this._cacheData[n].options=f1: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,jt.Error)}return this._cacheData[n].defval}_judgeHistoryInputs(t){const{defval:e,sourceTypeName:r,index:n}=t;let s=r||e;const a=`in_${n}`,l=this._historyInputs[a];if(!l)self.workerStorage.setValue(this._name,a,{defval:s});else{const{defval:c,modifyDefval:h}=l;c===s?s=h||s:self.workerStorage.setValue(this._name,a,{defval:s})}r?t.sourceTypeName=s:t.defval=s}_displayVerify(t,e){!e||!e.length||e.includes(Ue.dataWindow)||e.includes(Ue.statusLine)||this._errorListener.addError(Qe(Ye.displayErr,{func:"input",values:"[display.none, display.data_window, display.status_line, display.all]"}),t,jt.Error)}getInputs(){const t=Object.keys(this._cacheData),e=[];for(const r of t){const n=this._cacheData[r];n.id=r,e.push(n)}return e.sort((r,n)=>(r.index||0)-(n.index||0))}}class _1{color({x:t}){return t}new({color:t,transp:e=100}){_t(e)&&(e=100);const{r,g:n,b:s}=this._parseColor(t||"");return`rgba(${Math.round(r)}, ${Math.round(n)}, ${Math.round(s)}, ${(100-e)/100})`}rgb({red:t=0,green:e=0,blue:r=0,transp:n=0}){return _t(n)&&(n=0),_t(t)&&(t=0),_t(e)&&(e=0),_t(r)&&(r=0),`rgba(${t}, ${e}, ${r}, ${(100-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}){if(_t(t)||_t(e)||_t(r))return"rgba(0,0,0,1)";const a=(t-e)/(r-e),l=Math.min(Math.max(a,0),1),{r:c,g:h,b:p,a:f}=this._parseColor(n||"rgba(0,0,0,0)"),{r:d,g,b:y,a:m}=this._parseColor(s||"rgba(0,0,0,0)"),D=c+l*(d-c),v=h+l*(g-h),E=p+l*(y-p),b=f+l*(m-f);return`rgba(${Math.round(D)}, ${Math.round(v)}, ${Math.round(E)}, ${b.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]||0,r=a[1]||0,n=a[2]||0,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 zt={};const m1=Object.prototype.toString;function Xi(i){const t=m1.call(i);return t.endsWith("Array]")&&!t.includes("Big")}var g1=Object.freeze({__proto__:null,isAnyArray:Xi}),v1=Ce(g1);function y1(i){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!Xi(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],l=r+1;l<s;l++)i[l]>a&&(a=i[l]);return a}function w1(i){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!Xi(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],l=r+1;l<s;l++)i[l]<a&&(a=i[l]);return a}function D1(i){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(Xi(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(!Xi(t.output))throw new TypeError("output option must be an array if specified");e=t.output}else e=new Array(i.length);var r=w1(i),n=y1(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,l=t.max,c=l===void 0?t.autoMinMax?n:1:l;if(a>=c)throw new RangeError("min option must be smaller than max option");for(var h=(c-a)/(n-r),p=0;p<i.length;p++)e[p]=(i[p]-r)*h+a;return e}var b1=Object.freeze({__proto__:null,default:D1}),E1=Ce(b1);Object.defineProperty(zt,"__esModule",{value:!0});var ar=v1,Lf=E1;const to=" ".repeat(2),Rf=" ".repeat(4);function x1(){return Pf(this)}function Pf(i,t={}){const{maxRows:e=15,maxColumns:r=10,maxNumSize:n=8,padMinus:s="auto"}=t;return`${i.constructor.name} {
55
55
  ${to}[
56
56
  ${Rf}${A1(i,e,r,n,s)}
57
57
  ${to}]
58
58
  ${to}rows: ${i.rows}
59
59
  ${to}columns: ${i.columns}
60
60
  }`}function A1(i,t,e,r,n){const{rows:s,columns:a}=i,l=Math.min(s,t),c=Math.min(a,e),h=[];if(n==="auto"){n=!1;t:for(let p=0;p<l;p++)for(let f=0;f<c;f++)if(i.get(p,f)<0){n=!0;break t}}for(let p=0;p<l;p++){let f=[];for(let d=0;d<c;d++)f.push(C1(i.get(p,d),r,n));h.push(`${f.join(" ")}`)}return c!==a&&(h[h.length-1]+=` ... ${a-e} more columns`),l!==s&&h.push(`... ${s-t} more rows`),h.join(`
61
- ${Rf}`)}function C1(i,t,e){return(i>=0&&e?` ${zf(i,t-1)}`:zf(i,t)).padEnd(t)}function zf(i,t){let e=i.toString();if(e.length<=t)return e;let r=i.toFixed(t);if(r.length>t&&(r=i.toFixed(Math.max(0,t-(r.length-t)))),r.length<=t&&!r.startsWith("0.000")&&!r.startsWith("-0.000"))return r;let n=i.toExponential(t);return n.length>t&&(n=i.toExponential(Math.max(0,t-(n.length-t)))),n.slice(0)}function F1(i,t){i.prototype.add=function(r){return typeof r=="number"?this.addS(r):this.addM(r)},i.prototype.addS=function(r){for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)+r);return this},i.prototype.addM=function(r){if(r=t.checkMatrix(r),this.rows!==r.rows||this.columns!==r.columns)throw new RangeError("Matrices dimensions must be equal");for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)+r.get(n,s));return this},i.add=function(r,n){return new t(r).add(n)},i.prototype.sub=function(r){return typeof r=="number"?this.subS(r):this.subM(r)},i.prototype.subS=function(r){for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)-r);return this},i.prototype.subM=function(r){if(r=t.checkMatrix(r),this.rows!==r.rows||this.columns!==r.columns)throw new RangeError("Matrices dimensions must be equal");for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)-r.get(n,s));return this},i.sub=function(r,n){return new t(r).sub(n)},i.prototype.subtract=i.prototype.sub,i.prototype.subtractS=i.prototype.subS,i.prototype.subtractM=i.prototype.subM,i.subtract=i.sub,i.prototype.mul=function(r){return typeof r=="number"?this.mulS(r):this.mulM(r)},i.prototype.mulS=function(r){for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)*r);return this},i.prototype.mulM=function(r){if(r=t.checkMatrix(r),this.rows!==r.rows||this.columns!==r.columns)throw new RangeError("Matrices dimensions must be equal");for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)*r.get(n,s));return this},i.mul=function(r,n){return new t(r).mul(n)},i.prototype.multiply=i.prototype.mul,i.prototype.multiplyS=i.prototype.mulS,i.prototype.multiplyM=i.prototype.mulM,i.multiply=i.mul,i.prototype.div=function(r){return typeof r=="number"?this.divS(r):this.divM(r)},i.prototype.divS=function(r){for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)/r);return this},i.prototype.divM=function(r){if(r=t.checkMatrix(r),this.rows!==r.rows||this.columns!==r.columns)throw new RangeError("Matrices dimensions must be equal");for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)/r.get(n,s));return this},i.div=function(r,n){return new t(r).div(n)},i.prototype.divide=i.prototype.div,i.prototype.divideS=i.prototype.divS,i.prototype.divideM=i.prototype.divM,i.divide=i.div,i.prototype.mod=function(r){return typeof r=="number"?this.modS(r):this.modM(r)},i.prototype.modS=function(r){for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)%r);return this},i.prototype.modM=function(r){if(r=t.checkMatrix(r),this.rows!==r.rows||this.columns!==r.columns)throw new RangeError("Matrices dimensions must be equal");for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)%r.get(n,s));return this},i.mod=function(r,n){return new t(r).mod(n)},i.prototype.modulus=i.prototype.mod,i.prototype.modulusS=i.prototype.modS,i.prototype.modulusM=i.prototype.modM,i.modulus=i.mod,i.prototype.and=function(r){return typeof r=="number"?this.andS(r):this.andM(r)},i.prototype.andS=function(r){for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)&r);return this},i.prototype.andM=function(r){if(r=t.checkMatrix(r),this.rows!==r.rows||this.columns!==r.columns)throw new RangeError("Matrices dimensions must be equal");for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)&r.get(n,s));return this},i.and=function(r,n){return new t(r).and(n)},i.prototype.or=function(r){return typeof r=="number"?this.orS(r):this.orM(r)},i.prototype.orS=function(r){for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)|r);return this},i.prototype.orM=function(r){if(r=t.checkMatrix(r),this.rows!==r.rows||this.columns!==r.columns)throw new RangeError("Matrices dimensions must be equal");for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)|r.get(n,s));return this},i.or=function(r,n){return new t(r).or(n)},i.prototype.xor=function(r){return typeof r=="number"?this.xorS(r):this.xorM(r)},i.prototype.xorS=function(r){for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)^r);return this},i.prototype.xorM=function(r){if(r=t.checkMatrix(r),this.rows!==r.rows||this.columns!==r.columns)throw new RangeError("Matrices dimensions must be equal");for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)^r.get(n,s));return this},i.xor=function(r,n){return new t(r).xor(n)},i.prototype.leftShift=function(r){return typeof r=="number"?this.leftShiftS(r):this.leftShiftM(r)},i.prototype.leftShiftS=function(r){for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)<<r);return this},i.prototype.leftShiftM=function(r){if(r=t.checkMatrix(r),this.rows!==r.rows||this.columns!==r.columns)throw new RangeError("Matrices dimensions must be equal");for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)<<r.get(n,s));return this},i.leftShift=function(r,n){return new t(r).leftShift(n)},i.prototype.signPropagatingRightShift=function(r){return typeof r=="number"?this.signPropagatingRightShiftS(r):this.signPropagatingRightShiftM(r)},i.prototype.signPropagatingRightShiftS=function(r){for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)>>r);return this},i.prototype.signPropagatingRightShiftM=function(r){if(r=t.checkMatrix(r),this.rows!==r.rows||this.columns!==r.columns)throw new RangeError("Matrices dimensions must be equal");for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)>>r.get(n,s));return this},i.signPropagatingRightShift=function(r,n){return new t(r).signPropagatingRightShift(n)},i.prototype.rightShift=function(r){return typeof r=="number"?this.rightShiftS(r):this.rightShiftM(r)},i.prototype.rightShiftS=function(r){for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)>>>r);return this},i.prototype.rightShiftM=function(r){if(r=t.checkMatrix(r),this.rows!==r.rows||this.columns!==r.columns)throw new RangeError("Matrices dimensions must be equal");for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)>>>r.get(n,s));return this},i.rightShift=function(r,n){return new t(r).rightShift(n)},i.prototype.zeroFillRightShift=i.prototype.rightShift,i.prototype.zeroFillRightShiftS=i.prototype.rightShiftS,i.prototype.zeroFillRightShiftM=i.prototype.rightShiftM,i.zeroFillRightShift=i.rightShift,i.prototype.not=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,~this.get(r,n));return this},i.not=function(r){return new t(r).not()},i.prototype.abs=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.abs(this.get(r,n)));return this},i.abs=function(r){return new t(r).abs()},i.prototype.acos=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.acos(this.get(r,n)));return this},i.acos=function(r){return new t(r).acos()},i.prototype.acosh=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.acosh(this.get(r,n)));return this},i.acosh=function(r){return new t(r).acosh()},i.prototype.asin=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.asin(this.get(r,n)));return this},i.asin=function(r){return new t(r).asin()},i.prototype.asinh=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.asinh(this.get(r,n)));return this},i.asinh=function(r){return new t(r).asinh()},i.prototype.atan=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.atan(this.get(r,n)));return this},i.atan=function(r){return new t(r).atan()},i.prototype.atanh=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.atanh(this.get(r,n)));return this},i.atanh=function(r){return new t(r).atanh()},i.prototype.cbrt=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.cbrt(this.get(r,n)));return this},i.cbrt=function(r){return new t(r).cbrt()},i.prototype.ceil=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.ceil(this.get(r,n)));return this},i.ceil=function(r){return new t(r).ceil()},i.prototype.clz32=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.clz32(this.get(r,n)));return this},i.clz32=function(r){return new t(r).clz32()},i.prototype.cos=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.cos(this.get(r,n)));return this},i.cos=function(r){return new t(r).cos()},i.prototype.cosh=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.cosh(this.get(r,n)));return this},i.cosh=function(r){return new t(r).cosh()},i.prototype.exp=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.exp(this.get(r,n)));return this},i.exp=function(r){return new t(r).exp()},i.prototype.expm1=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.expm1(this.get(r,n)));return this},i.expm1=function(r){return new t(r).expm1()},i.prototype.floor=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.floor(this.get(r,n)));return this},i.floor=function(r){return new t(r).floor()},i.prototype.fround=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.fround(this.get(r,n)));return this},i.fround=function(r){return new t(r).fround()},i.prototype.log=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.log(this.get(r,n)));return this},i.log=function(r){return new t(r).log()},i.prototype.log1p=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.log1p(this.get(r,n)));return this},i.log1p=function(r){return new t(r).log1p()},i.prototype.log10=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.log10(this.get(r,n)));return this},i.log10=function(r){return new t(r).log10()},i.prototype.log2=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.log2(this.get(r,n)));return this},i.log2=function(r){return new t(r).log2()},i.prototype.round=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.round(this.get(r,n)));return this},i.round=function(r){return new t(r).round()},i.prototype.sign=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.sign(this.get(r,n)));return this},i.sign=function(r){return new t(r).sign()},i.prototype.sin=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.sin(this.get(r,n)));return this},i.sin=function(r){return new t(r).sin()},i.prototype.sinh=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.sinh(this.get(r,n)));return this},i.sinh=function(r){return new t(r).sinh()},i.prototype.sqrt=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.sqrt(this.get(r,n)));return this},i.sqrt=function(r){return new t(r).sqrt()},i.prototype.tan=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.tan(this.get(r,n)));return this},i.tan=function(r){return new t(r).tan()},i.prototype.tanh=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.tanh(this.get(r,n)));return this},i.tanh=function(r){return new t(r).tanh()},i.prototype.trunc=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.trunc(this.get(r,n)));return this},i.trunc=function(r){return new t(r).trunc()},i.pow=function(r,n){return new t(r).pow(n)},i.prototype.pow=function(r){return typeof r=="number"?this.powS(r):this.powM(r)},i.prototype.powS=function(r){for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,Math.pow(this.get(n,s),r));return this},i.prototype.powM=function(r){if(r=t.checkMatrix(r),this.rows!==r.rows||this.columns!==r.columns)throw new RangeError("Matrices dimensions must be equal");for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,Math.pow(this.get(n,s),r.get(n,s)));return this}}function Mr(i,t,e){let r=e?i.rows:i.rows-1;if(t<0||t>r)throw new RangeError("Row index out of range")}function Nr(i,t,e){let r=e?i.columns:i.columns-1;if(t<0||t>r)throw new RangeError("Column index out of range")}function yi(i,t){if(t.to1DArray&&(t=t.to1DArray()),t.length!==i.columns)throw new RangeError("vector size must be the same as the number of columns");return t}function Di(i,t){if(t.to1DArray&&(t=t.to1DArray()),t.length!==i.rows)throw new RangeError("vector size must be the same as the number of rows");return t}function $a(i,t){if(!ar.isAnyArray(t))throw new TypeError("row indices must be an array");for(let e=0;e<t.length;e++)if(t[e]<0||t[e]>=i.rows)throw new RangeError("row indices are out of range")}function La(i,t){if(!ar.isAnyArray(t))throw new TypeError("column indices must be an array");for(let e=0;e<t.length;e++)if(t[e]<0||t[e]>=i.columns)throw new RangeError("column indices are out of range")}function Ra(i,t,e,r,n){if(arguments.length!==5)throw new RangeError("expected 4 arguments");if(ro("startRow",t),ro("endRow",e),ro("startColumn",r),ro("endColumn",n),t>e||r>n||t<0||t>=i.rows||e<0||e>=i.rows||r<0||r>=i.columns||n<0||n>=i.columns)throw new RangeError("Submatrix indices are out of range")}function eo(i,t=0){let e=[];for(let r=0;r<i;r++)e.push(t);return e}function ro(i,t){if(typeof t!="number")throw new TypeError(`${i} must be a number`)}function bi(i){if(i.isEmpty())throw new Error("Empty matrix has no elements to index")}function M1(i){let t=eo(i.rows);for(let e=0;e<i.rows;++e)for(let r=0;r<i.columns;++r)t[e]+=i.get(e,r);return t}function N1(i){let t=eo(i.columns);for(let e=0;e<i.rows;++e)for(let r=0;r<i.columns;++r)t[r]+=i.get(e,r);return t}function S1(i){let t=0;for(let e=0;e<i.rows;e++)for(let r=0;r<i.columns;r++)t+=i.get(e,r);return t}function B1(i){let t=eo(i.rows,1);for(let e=0;e<i.rows;++e)for(let r=0;r<i.columns;++r)t[e]*=i.get(e,r);return t}function O1(i){let t=eo(i.columns,1);for(let e=0;e<i.rows;++e)for(let r=0;r<i.columns;++r)t[r]*=i.get(e,r);return t}function T1(i){let t=1;for(let e=0;e<i.rows;e++)for(let r=0;r<i.columns;r++)t*=i.get(e,r);return t}function I1(i,t,e){const r=i.rows,n=i.columns,s=[];for(let a=0;a<r;a++){let l=0,c=0,h=0;for(let p=0;p<n;p++)h=i.get(a,p)-e[a],l+=h,c+=h*h;t?s.push((c-l*l/n)/(n-1)):s.push((c-l*l/n)/n)}return s}function $1(i,t,e){const r=i.rows,n=i.columns,s=[];for(let a=0;a<n;a++){let l=0,c=0,h=0;for(let p=0;p<r;p++)h=i.get(p,a)-e[a],l+=h,c+=h*h;t?s.push((c-l*l/r)/(r-1)):s.push((c-l*l/r)/r)}return s}function L1(i,t,e){const r=i.rows,n=i.columns,s=r*n;let a=0,l=0,c=0;for(let h=0;h<r;h++)for(let p=0;p<n;p++)c=i.get(h,p)-e,a+=c,l+=c*c;return t?(l-a*a/s)/(s-1):(l-a*a/s)/s}function R1(i,t){for(let e=0;e<i.rows;e++)for(let r=0;r<i.columns;r++)i.set(e,r,i.get(e,r)-t[e])}function P1(i,t){for(let e=0;e<i.rows;e++)for(let r=0;r<i.columns;r++)i.set(e,r,i.get(e,r)-t[r])}function z1(i,t){for(let e=0;e<i.rows;e++)for(let r=0;r<i.columns;r++)i.set(e,r,i.get(e,r)-t)}function q1(i){const t=[];for(let e=0;e<i.rows;e++){let r=0;for(let n=0;n<i.columns;n++)r+=Math.pow(i.get(e,n),2)/(i.columns-1);t.push(Math.sqrt(r))}return t}function k1(i,t){for(let e=0;e<i.rows;e++)for(let r=0;r<i.columns;r++)i.set(e,r,i.get(e,r)/t[e])}function U1(i){const t=[];for(let e=0;e<i.columns;e++){let r=0;for(let n=0;n<i.rows;n++)r+=Math.pow(i.get(n,e),2)/(i.rows-1);t.push(Math.sqrt(r))}return t}function W1(i,t){for(let e=0;e<i.rows;e++)for(let r=0;r<i.columns;r++)i.set(e,r,i.get(e,r)/t[r])}function j1(i){const t=i.size-1;let e=0;for(let r=0;r<i.columns;r++)for(let n=0;n<i.rows;n++)e+=Math.pow(i.get(n,r),2)/t;return Math.sqrt(e)}function Y1(i,t){for(let e=0;e<i.rows;e++)for(let r=0;r<i.columns;r++)i.set(e,r,i.get(e,r)/t)}class $t{static from1DArray(t,e,r){if(t*e!==r.length)throw new RangeError("data length does not match given dimensions");let s=new pt(t,e);for(let a=0;a<t;a++)for(let l=0;l<e;l++)s.set(a,l,r[a*e+l]);return s}static rowVector(t){let e=new pt(1,t.length);for(let r=0;r<t.length;r++)e.set(0,r,t[r]);return e}static columnVector(t){let e=new pt(t.length,1);for(let r=0;r<t.length;r++)e.set(r,0,t[r]);return e}static zeros(t,e){return new pt(t,e)}static ones(t,e){return new pt(t,e).fill(1)}static rand(t,e,r={}){if(typeof r!="object")throw new TypeError("options must be an object");const{random:n=Math.random}=r;let s=new pt(t,e);for(let a=0;a<t;a++)for(let l=0;l<e;l++)s.set(a,l,n());return s}static randInt(t,e,r={}){if(typeof r!="object")throw new TypeError("options must be an object");const{min:n=0,max:s=1e3,random:a=Math.random}=r;if(!Number.isInteger(n))throw new TypeError("min must be an integer");if(!Number.isInteger(s))throw new TypeError("max must be an integer");if(n>=s)throw new RangeError("min must be smaller than max");let l=s-n,c=new pt(t,e);for(let h=0;h<t;h++)for(let p=0;p<e;p++){let f=n+Math.round(a()*l);c.set(h,p,f)}return c}static eye(t,e,r){e===void 0&&(e=t),r===void 0&&(r=1);let n=Math.min(t,e),s=this.zeros(t,e);for(let a=0;a<n;a++)s.set(a,a,r);return s}static diag(t,e,r){let n=t.length;e===void 0&&(e=n),r===void 0&&(r=e);let s=Math.min(n,e,r),a=this.zeros(e,r);for(let l=0;l<s;l++)a.set(l,l,t[l]);return a}static min(t,e){t=this.checkMatrix(t),e=this.checkMatrix(e);let r=t.rows,n=t.columns,s=new pt(r,n);for(let a=0;a<r;a++)for(let l=0;l<n;l++)s.set(a,l,Math.min(t.get(a,l),e.get(a,l)));return s}static max(t,e){t=this.checkMatrix(t),e=this.checkMatrix(e);let r=t.rows,n=t.columns,s=new this(r,n);for(let a=0;a<r;a++)for(let l=0;l<n;l++)s.set(a,l,Math.max(t.get(a,l),e.get(a,l)));return s}static checkMatrix(t){return $t.isMatrix(t)?t:new pt(t)}static isMatrix(t){return t!=null&&t.klass==="Matrix"}get size(){return this.rows*this.columns}apply(t){if(typeof t!="function")throw new TypeError("callback must be a function");for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)t.call(this,e,r);return this}to1DArray(){let t=[];for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)t.push(this.get(e,r));return t}to2DArray(){let t=[];for(let e=0;e<this.rows;e++){t.push([]);for(let r=0;r<this.columns;r++)t[e].push(this.get(e,r))}return t}toJSON(){return this.to2DArray()}isRowVector(){return this.rows===1}isColumnVector(){return this.columns===1}isVector(){return this.rows===1||this.columns===1}isSquare(){return this.rows===this.columns}isEmpty(){return this.rows===0||this.columns===0}isSymmetric(){if(this.isSquare()){for(let t=0;t<this.rows;t++)for(let e=0;e<=t;e++)if(this.get(t,e)!==this.get(e,t))return!1;return!0}return!1}isDistance(){if(!this.isSymmetric())return!1;for(let t=0;t<this.rows;t++)if(this.get(t,t)!==0)return!1;return!0}isEchelonForm(){let t=0,e=0,r=-1,n=!0,s=!1;for(;t<this.rows&&n;){for(e=0,s=!1;e<this.columns&&s===!1;)this.get(t,e)===0?e++:this.get(t,e)===1&&e>r?(s=!0,r=e):(n=!1,s=!0);t++}return n}isReducedEchelonForm(){let t=0,e=0,r=-1,n=!0,s=!1;for(;t<this.rows&&n;){for(e=0,s=!1;e<this.columns&&s===!1;)this.get(t,e)===0?e++:this.get(t,e)===1&&e>r?(s=!0,r=e):(n=!1,s=!0);for(let a=e+1;a<this.rows;a++)this.get(t,a)!==0&&(n=!1);t++}return n}echelonForm(){let t=this.clone(),e=0,r=0;for(;e<t.rows&&r<t.columns;){let n=e;for(let s=e;s<t.rows;s++)t.get(s,r)>t.get(n,r)&&(n=s);if(t.get(n,r)===0)r++;else{t.swapRows(e,n);let s=t.get(e,r);for(let a=r;a<t.columns;a++)t.set(e,a,t.get(e,a)/s);for(let a=e+1;a<t.rows;a++){let l=t.get(a,r)/t.get(e,r);t.set(a,r,0);for(let c=r+1;c<t.columns;c++)t.set(a,c,t.get(a,c)-t.get(e,c)*l)}e++,r++}}return t}reducedEchelonForm(){let t=this.echelonForm(),e=t.columns,r=t.rows,n=r-1;for(;n>=0;)if(t.maxRow(n)===0)n--;else{let s=0,a=!1;for(;s<r&&a===!1;)t.get(n,s)===1?a=!0:s++;for(let l=0;l<n;l++){let c=t.get(l,s);for(let h=s;h<e;h++){let p=t.get(l,h)-c*t.get(n,h);t.set(l,h,p)}}n--}return t}set(){throw new Error("set method is unimplemented")}get(){throw new Error("get method is unimplemented")}repeat(t={}){if(typeof t!="object")throw new TypeError("options must be an object");const{rows:e=1,columns:r=1}=t;if(!Number.isInteger(e)||e<=0)throw new TypeError("rows must be a positive integer");if(!Number.isInteger(r)||r<=0)throw new TypeError("columns must be a positive integer");let n=new pt(this.rows*e,this.columns*r);for(let s=0;s<e;s++)for(let a=0;a<r;a++)n.setSubMatrix(this,this.rows*s,this.columns*a);return n}fill(t){for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)this.set(e,r,t);return this}neg(){return this.mulS(-1)}getRow(t){Mr(this,t);let e=[];for(let r=0;r<this.columns;r++)e.push(this.get(t,r));return e}getRowVector(t){return pt.rowVector(this.getRow(t))}setRow(t,e){Mr(this,t),e=yi(this,e);for(let r=0;r<this.columns;r++)this.set(t,r,e[r]);return this}swapRows(t,e){Mr(this,t),Mr(this,e);for(let r=0;r<this.columns;r++){let n=this.get(t,r);this.set(t,r,this.get(e,r)),this.set(e,r,n)}return this}getColumn(t){Nr(this,t);let e=[];for(let r=0;r<this.rows;r++)e.push(this.get(r,t));return e}getColumnVector(t){return pt.columnVector(this.getColumn(t))}setColumn(t,e){Nr(this,t),e=Di(this,e);for(let r=0;r<this.rows;r++)this.set(r,t,e[r]);return this}swapColumns(t,e){Nr(this,t),Nr(this,e);for(let r=0;r<this.rows;r++){let n=this.get(r,t);this.set(r,t,this.get(r,e)),this.set(r,e,n)}return this}addRowVector(t){t=yi(this,t);for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)this.set(e,r,this.get(e,r)+t[r]);return this}subRowVector(t){t=yi(this,t);for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)this.set(e,r,this.get(e,r)-t[r]);return this}mulRowVector(t){t=yi(this,t);for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)this.set(e,r,this.get(e,r)*t[r]);return this}divRowVector(t){t=yi(this,t);for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)this.set(e,r,this.get(e,r)/t[r]);return this}addColumnVector(t){t=Di(this,t);for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)this.set(e,r,this.get(e,r)+t[e]);return this}subColumnVector(t){t=Di(this,t);for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)this.set(e,r,this.get(e,r)-t[e]);return this}mulColumnVector(t){t=Di(this,t);for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)this.set(e,r,this.get(e,r)*t[e]);return this}divColumnVector(t){t=Di(this,t);for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)this.set(e,r,this.get(e,r)/t[e]);return this}mulRow(t,e){Mr(this,t);for(let r=0;r<this.columns;r++)this.set(t,r,this.get(t,r)*e);return this}mulColumn(t,e){Nr(this,t);for(let r=0;r<this.rows;r++)this.set(r,t,this.get(r,t)*e);return this}max(t){if(this.isEmpty())return NaN;switch(t){case"row":{const e=new Array(this.rows).fill(Number.NEGATIVE_INFINITY);for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.get(r,n)>e[r]&&(e[r]=this.get(r,n));return e}case"column":{const e=new Array(this.columns).fill(Number.NEGATIVE_INFINITY);for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.get(r,n)>e[n]&&(e[n]=this.get(r,n));return e}case void 0:{let e=this.get(0,0);for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.get(r,n)>e&&(e=this.get(r,n));return e}default:throw new Error(`invalid option: ${t}`)}}maxIndex(){bi(this);let t=this.get(0,0),e=[0,0];for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.get(r,n)>t&&(t=this.get(r,n),e[0]=r,e[1]=n);return e}min(t){if(this.isEmpty())return NaN;switch(t){case"row":{const e=new Array(this.rows).fill(Number.POSITIVE_INFINITY);for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.get(r,n)<e[r]&&(e[r]=this.get(r,n));return e}case"column":{const e=new Array(this.columns).fill(Number.POSITIVE_INFINITY);for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.get(r,n)<e[n]&&(e[n]=this.get(r,n));return e}case void 0:{let e=this.get(0,0);for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.get(r,n)<e&&(e=this.get(r,n));return e}default:throw new Error(`invalid option: ${t}`)}}minIndex(){bi(this);let t=this.get(0,0),e=[0,0];for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.get(r,n)<t&&(t=this.get(r,n),e[0]=r,e[1]=n);return e}maxRow(t){if(Mr(this,t),this.isEmpty())return NaN;let e=this.get(t,0);for(let r=1;r<this.columns;r++)this.get(t,r)>e&&(e=this.get(t,r));return e}maxRowIndex(t){Mr(this,t),bi(this);let e=this.get(t,0),r=[t,0];for(let n=1;n<this.columns;n++)this.get(t,n)>e&&(e=this.get(t,n),r[1]=n);return r}minRow(t){if(Mr(this,t),this.isEmpty())return NaN;let e=this.get(t,0);for(let r=1;r<this.columns;r++)this.get(t,r)<e&&(e=this.get(t,r));return e}minRowIndex(t){Mr(this,t),bi(this);let e=this.get(t,0),r=[t,0];for(let n=1;n<this.columns;n++)this.get(t,n)<e&&(e=this.get(t,n),r[1]=n);return r}maxColumn(t){if(Nr(this,t),this.isEmpty())return NaN;let e=this.get(0,t);for(let r=1;r<this.rows;r++)this.get(r,t)>e&&(e=this.get(r,t));return e}maxColumnIndex(t){Nr(this,t),bi(this);let e=this.get(0,t),r=[0,t];for(let n=1;n<this.rows;n++)this.get(n,t)>e&&(e=this.get(n,t),r[0]=n);return r}minColumn(t){if(Nr(this,t),this.isEmpty())return NaN;let e=this.get(0,t);for(let r=1;r<this.rows;r++)this.get(r,t)<e&&(e=this.get(r,t));return e}minColumnIndex(t){Nr(this,t),bi(this);let e=this.get(0,t),r=[0,t];for(let n=1;n<this.rows;n++)this.get(n,t)<e&&(e=this.get(n,t),r[0]=n);return r}diag(){let t=Math.min(this.rows,this.columns),e=[];for(let r=0;r<t;r++)e.push(this.get(r,r));return e}norm(t="frobenius"){switch(t){case"max":return this.max();case"frobenius":return Math.sqrt(this.dot(this));default:throw new RangeError(`unknown norm type: ${t}`)}}cumulativeSum(){let t=0;for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)t+=this.get(e,r),this.set(e,r,t);return this}dot(t){$t.isMatrix(t)&&(t=t.to1DArray());let e=this.to1DArray();if(e.length!==t.length)throw new RangeError("vectors do not have the same size");let r=0;for(let n=0;n<e.length;n++)r+=e[n]*t[n];return r}mmul(t){t=pt.checkMatrix(t);let e=this.rows,r=this.columns,n=t.columns,s=new pt(e,n),a=new Float64Array(r);for(let l=0;l<n;l++){for(let c=0;c<r;c++)a[c]=t.get(c,l);for(let c=0;c<e;c++){let h=0;for(let p=0;p<r;p++)h+=this.get(c,p)*a[p];s.set(c,l,h)}}return s}strassen2x2(t){t=pt.checkMatrix(t);let e=new pt(2,2);const r=this.get(0,0),n=t.get(0,0),s=this.get(0,1),a=t.get(0,1),l=this.get(1,0),c=t.get(1,0),h=this.get(1,1),p=t.get(1,1),f=(r+h)*(n+p),d=(l+h)*n,g=r*(a-p),w=h*(c-n),m=(r+s)*p,D=(l-r)*(n+a),v=(s-h)*(c+p),E=f+w-m+v,b=g+m,N=d+w,x=f-d+g+D;return e.set(0,0,E),e.set(0,1,b),e.set(1,0,N),e.set(1,1,x),e}strassen3x3(t){t=pt.checkMatrix(t);let e=new pt(3,3);const r=this.get(0,0),n=this.get(0,1),s=this.get(0,2),a=this.get(1,0),l=this.get(1,1),c=this.get(1,2),h=this.get(2,0),p=this.get(2,1),f=this.get(2,2),d=t.get(0,0),g=t.get(0,1),w=t.get(0,2),m=t.get(1,0),D=t.get(1,1),v=t.get(1,2),E=t.get(2,0),b=t.get(2,1),N=t.get(2,2),x=(r+n+s-a-l-p-f)*D,F=(r-a)*(-g+D),M=l*(-d+g+m-D-v-E+N),S=(-r+a+l)*(d-g+D),I=(a+l)*(-d+g),C=r*d,O=(-r+h+p)*(d-w+v),L=(-r+h)*(w-v),k=(h+p)*(-d+w),U=(r+n+s-l-c-h-p)*v,W=p*(-d+w+m-D-v-E+b),P=(-s+p+f)*(D+E-b),G=(s-f)*(D-b),Z=s*E,X=(p+f)*(-E+b),tt=(-s+l+c)*(v+E-N),ct=(s-c)*(v-N),vt=(l+c)*(-E+N),lt=n*m,yt=c*b,bt=a*w,Bt=h*g,Et=f*N,oe=C+Z+lt,Tt=x+S+I+C+P+Z+X,Nt=C+O+k+U+Z+tt+vt,ue=F+M+S+C+Z+tt+ct,re=F+S+I+C+yt,qt=Z+tt+ct+vt+bt,Jt=C+O+L+W+P+G+Z,Te=P+G+Z+X+Bt,_r=C+O+L+k+Et;return e.set(0,0,oe),e.set(0,1,Tt),e.set(0,2,Nt),e.set(1,0,ue),e.set(1,1,re),e.set(1,2,qt),e.set(2,0,Jt),e.set(2,1,Te),e.set(2,2,_r),e}mmulStrassen(t){t=pt.checkMatrix(t);let e=this.clone(),r=e.rows,n=e.columns,s=t.rows,a=t.columns;n!==s&&console.warn(`Multiplying ${r} x ${n} and ${s} x ${a} matrix: dimensions do not match.`);function l(f,d,g){let w=f.rows,m=f.columns;if(w===d&&m===g)return f;{let D=$t.zeros(d,g);return D=D.setSubMatrix(f,0,0),D}}let c=Math.max(r,s),h=Math.max(n,a);e=l(e,c,h),t=l(t,c,h);function p(f,d,g,w){if(g<=512||w<=512)return f.mmul(d);g%2===1&&w%2===1?(f=l(f,g+1,w+1),d=l(d,g+1,w+1)):g%2===1?(f=l(f,g+1,w),d=l(d,g+1,w)):w%2===1&&(f=l(f,g,w+1),d=l(d,g,w+1));let m=parseInt(f.rows/2,10),D=parseInt(f.columns/2,10),v=f.subMatrix(0,m-1,0,D-1),E=d.subMatrix(0,m-1,0,D-1),b=f.subMatrix(0,m-1,D,f.columns-1),N=d.subMatrix(0,m-1,D,d.columns-1),x=f.subMatrix(m,f.rows-1,0,D-1),F=d.subMatrix(m,d.rows-1,0,D-1),M=f.subMatrix(m,f.rows-1,D,f.columns-1),S=d.subMatrix(m,d.rows-1,D,d.columns-1),I=p($t.add(v,M),$t.add(E,S),m,D),C=p($t.add(x,M),E,m,D),O=p(v,$t.sub(N,S),m,D),L=p(M,$t.sub(F,E),m,D),k=p($t.add(v,b),S,m,D),U=p($t.sub(x,v),$t.add(E,N),m,D),W=p($t.sub(b,M),$t.add(F,S),m,D),P=$t.add(I,L);P.sub(k),P.add(W);let G=$t.add(O,k),Z=$t.add(C,L),X=$t.sub(I,C);X.add(O),X.add(U);let tt=$t.zeros(2*P.rows,2*P.columns);return tt=tt.setSubMatrix(P,0,0),tt=tt.setSubMatrix(G,P.rows,0),tt=tt.setSubMatrix(Z,0,P.columns),tt=tt.setSubMatrix(X,P.rows,P.columns),tt.subMatrix(0,g-1,0,w-1)}return p(e,t,c,h)}scaleRows(t={}){if(typeof t!="object")throw new TypeError("options must be an object");const{min:e=0,max:r=1}=t;if(!Number.isFinite(e))throw new TypeError("min must be a number");if(!Number.isFinite(r))throw new TypeError("max must be a number");if(e>=r)throw new RangeError("min must be smaller than max");let n=new pt(this.rows,this.columns);for(let s=0;s<this.rows;s++){const a=this.getRow(s);a.length>0&&Lf(a,{min:e,max:r,output:a}),n.setRow(s,a)}return n}scaleColumns(t={}){if(typeof t!="object")throw new TypeError("options must be an object");const{min:e=0,max:r=1}=t;if(!Number.isFinite(e))throw new TypeError("min must be a number");if(!Number.isFinite(r))throw new TypeError("max must be a number");if(e>=r)throw new RangeError("min must be smaller than max");let n=new pt(this.rows,this.columns);for(let s=0;s<this.columns;s++){const a=this.getColumn(s);a.length&&Lf(a,{min:e,max:r,output:a}),n.setColumn(s,a)}return n}flipRows(){const t=Math.ceil(this.columns/2);for(let e=0;e<this.rows;e++)for(let r=0;r<t;r++){let n=this.get(e,r),s=this.get(e,this.columns-1-r);this.set(e,r,s),this.set(e,this.columns-1-r,n)}return this}flipColumns(){const t=Math.ceil(this.rows/2);for(let e=0;e<this.columns;e++)for(let r=0;r<t;r++){let n=this.get(r,e),s=this.get(this.rows-1-r,e);this.set(r,e,s),this.set(this.rows-1-r,e,n)}return this}kroneckerProduct(t){t=pt.checkMatrix(t);let e=this.rows,r=this.columns,n=t.rows,s=t.columns,a=new pt(e*n,r*s);for(let l=0;l<e;l++)for(let c=0;c<r;c++)for(let h=0;h<n;h++)for(let p=0;p<s;p++)a.set(n*l+h,s*c+p,this.get(l,c)*t.get(h,p));return a}kroneckerSum(t){if(t=pt.checkMatrix(t),!this.isSquare()||!t.isSquare())throw new Error("Kronecker Sum needs two Square Matrices");let e=this.rows,r=t.rows,n=this.kroneckerProduct(pt.eye(r,r)),s=pt.eye(e,e).kroneckerProduct(t);return n.add(s)}transpose(){let t=new pt(this.columns,this.rows);for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)t.set(r,e,this.get(e,r));return t}sortRows(t=qf){for(let e=0;e<this.rows;e++)this.setRow(e,this.getRow(e).sort(t));return this}sortColumns(t=qf){for(let e=0;e<this.columns;e++)this.setColumn(e,this.getColumn(e).sort(t));return this}subMatrix(t,e,r,n){Ra(this,t,e,r,n);let s=new pt(e-t+1,n-r+1);for(let a=t;a<=e;a++)for(let l=r;l<=n;l++)s.set(a-t,l-r,this.get(a,l));return s}subMatrixRow(t,e,r){if(e===void 0&&(e=0),r===void 0&&(r=this.columns-1),e>r||e<0||e>=this.columns||r<0||r>=this.columns)throw new RangeError("Argument out of range");let n=new pt(t.length,r-e+1);for(let s=0;s<t.length;s++)for(let a=e;a<=r;a++){if(t[s]<0||t[s]>=this.rows)throw new RangeError(`Row index out of range: ${t[s]}`);n.set(s,a-e,this.get(t[s],a))}return n}subMatrixColumn(t,e,r){if(e===void 0&&(e=0),r===void 0&&(r=this.rows-1),e>r||e<0||e>=this.rows||r<0||r>=this.rows)throw new RangeError("Argument out of range");let n=new pt(r-e+1,t.length);for(let s=0;s<t.length;s++)for(let a=e;a<=r;a++){if(t[s]<0||t[s]>=this.columns)throw new RangeError(`Column index out of range: ${t[s]}`);n.set(a-e,s,this.get(a,t[s]))}return n}setSubMatrix(t,e,r){if(t=pt.checkMatrix(t),t.isEmpty())return this;let n=e+t.rows-1,s=r+t.columns-1;Ra(this,e,n,r,s);for(let a=0;a<t.rows;a++)for(let l=0;l<t.columns;l++)this.set(e+a,r+l,t.get(a,l));return this}selection(t,e){$a(this,t),La(this,e);let r=new pt(t.length,e.length);for(let n=0;n<t.length;n++){let s=t[n];for(let a=0;a<e.length;a++){let l=e[a];r.set(n,a,this.get(s,l))}}return r}trace(){let t=Math.min(this.rows,this.columns),e=0;for(let r=0;r<t;r++)e+=this.get(r,r);return e}clone(){return this.constructor.copy(this,new pt(this.rows,this.columns))}static copy(t,e){for(const[r,n,s]of t.entries())e.set(r,n,s);return e}sum(t){switch(t){case"row":return M1(this);case"column":return N1(this);case void 0:return S1(this);default:throw new Error(`invalid option: ${t}`)}}product(t){switch(t){case"row":return B1(this);case"column":return O1(this);case void 0:return T1(this);default:throw new Error(`invalid option: ${t}`)}}mean(t){const e=this.sum(t);switch(t){case"row":{for(let r=0;r<this.rows;r++)e[r]/=this.columns;return e}case"column":{for(let r=0;r<this.columns;r++)e[r]/=this.rows;return e}case void 0:return e/this.size;default:throw new Error(`invalid option: ${t}`)}}variance(t,e={}){if(typeof t=="object"&&(e=t,t=void 0),typeof e!="object")throw new TypeError("options must be an object");const{unbiased:r=!0,mean:n=this.mean(t)}=e;if(typeof r!="boolean")throw new TypeError("unbiased must be a boolean");switch(t){case"row":{if(!ar.isAnyArray(n))throw new TypeError("mean must be an array");return I1(this,r,n)}case"column":{if(!ar.isAnyArray(n))throw new TypeError("mean must be an array");return $1(this,r,n)}case void 0:{if(typeof n!="number")throw new TypeError("mean must be a number");return L1(this,r,n)}default:throw new Error(`invalid option: ${t}`)}}standardDeviation(t,e){typeof t=="object"&&(e=t,t=void 0);const r=this.variance(t,e);if(t===void 0)return Math.sqrt(r);for(let n=0;n<r.length;n++)r[n]=Math.sqrt(r[n]);return r}center(t,e={}){if(typeof t=="object"&&(e=t,t=void 0),typeof e!="object")throw new TypeError("options must be an object");const{center:r=this.mean(t)}=e;switch(t){case"row":{if(!ar.isAnyArray(r))throw new TypeError("center must be an array");return R1(this,r),this}case"column":{if(!ar.isAnyArray(r))throw new TypeError("center must be an array");return P1(this,r),this}case void 0:{if(typeof r!="number")throw new TypeError("center must be a number");return z1(this,r),this}default:throw new Error(`invalid option: ${t}`)}}scale(t,e={}){if(typeof t=="object"&&(e=t,t=void 0),typeof e!="object")throw new TypeError("options must be an object");let r=e.scale;switch(t){case"row":{if(r===void 0)r=q1(this);else if(!ar.isAnyArray(r))throw new TypeError("scale must be an array");return k1(this,r),this}case"column":{if(r===void 0)r=U1(this);else if(!ar.isAnyArray(r))throw new TypeError("scale must be an array");return W1(this,r),this}case void 0:{if(r===void 0)r=j1(this);else if(typeof r!="number")throw new TypeError("scale must be a number");return Y1(this,r),this}default:throw new Error(`invalid option: ${t}`)}}toString(t){return Pf(this,t)}[Symbol.iterator](){return this.entries()}*entries(){for(let t=0;t<this.rows;t++)for(let e=0;e<this.columns;e++)yield[t,e,this.get(t,e)]}*values(){for(let t=0;t<this.rows;t++)for(let e=0;e<this.columns;e++)yield this.get(t,e)}}$t.prototype.klass="Matrix",typeof Symbol<"u"&&($t.prototype[Symbol.for("nodejs.util.inspect.custom")]=x1);function qf(i,t){return i-t}function V1(i){return i.every(t=>typeof t=="number")}$t.random=$t.rand,$t.randomInt=$t.randInt,$t.diagonal=$t.diag,$t.prototype.diagonal=$t.prototype.diag,$t.identity=$t.eye,$t.prototype.negate=$t.prototype.neg,$t.prototype.tensorProduct=$t.prototype.kroneckerProduct;let pt=(Fi=class extends $t{constructor(e,r){super();Al(this,rs);z(this,"data");if(Fi.isMatrix(e))Cl(this,rs,Fl).call(this,e.rows,e.columns),Fi.copy(e,this);else if(Number.isInteger(e)&&e>=0)Cl(this,rs,Fl).call(this,e,r);else if(ar.isAnyArray(e)){const n=e;if(e=n.length,r=e?n[0].length:0,typeof r!="number")throw new TypeError("Data must be a 2D array with at least one element");this.data=[];for(let s=0;s<e;s++){if(n[s].length!==r)throw new RangeError("Inconsistent array dimensions");if(!V1(n[s]))throw new TypeError("Input data contains non-numeric values");this.data.push(Float64Array.from(n[s]))}this.rows=e,this.columns=r}else throw new TypeError("First argument must be a positive number or an array")}set(e,r,n){return this.data[e][r]=n,this}get(e,r){return this.data[e][r]}removeRow(e){return Mr(this,e),this.data.splice(e,1),this.rows-=1,this}addRow(e,r){return r===void 0&&(r=e,e=this.rows),Mr(this,e,!0),r=Float64Array.from(yi(this,r)),this.data.splice(e,0,r),this.rows+=1,this}removeColumn(e){Nr(this,e);for(let r=0;r<this.rows;r++){const n=new Float64Array(this.columns-1);for(let s=0;s<e;s++)n[s]=this.data[r][s];for(let s=e+1;s<this.columns;s++)n[s-1]=this.data[r][s];this.data[r]=n}return this.columns-=1,this}addColumn(e,r){typeof r>"u"&&(r=e,e=this.columns),Nr(this,e,!0),r=Di(this,r);for(let n=0;n<this.rows;n++){const s=new Float64Array(this.columns+1);let a=0;for(;a<e;a++)s[a]=this.data[n][a];for(s[a++]=r[n];a<this.columns+1;a++)s[a]=this.data[n][a-1];this.data[n]=s}return this.columns+=1,this}},rs=new WeakSet,Fl=function(e,r){if(this.data=[],Number.isInteger(r)&&r>=0)for(let n=0;n<e;n++)this.data.push(new Float64Array(r));else throw new TypeError("nColumns must be a positive integer");this.rows=e,this.columns=r},Fi);F1($t,pt);const _o=class _o extends $t{constructor(e){super();Al(this,Ke,void 0);if(pt.isMatrix(e)){if(!e.isSymmetric())throw new TypeError("not symmetric data");oa(this,Ke,pt.copy(e,new pt(e.rows,e.rows)))}else if(Number.isInteger(e)&&e>=0)oa(this,Ke,new pt(e,e));else if(oa(this,Ke,new pt(e)),!this.isSymmetric())throw new TypeError("not symmetric data")}get size(){return Hr(this,Ke).size}get rows(){return Hr(this,Ke).rows}get columns(){return Hr(this,Ke).columns}get diagonalSize(){return this.rows}static isSymmetricMatrix(e){return pt.isMatrix(e)&&e.klassType==="SymmetricMatrix"}static zeros(e){return new this(e)}static ones(e){return new this(e).fill(1)}clone(){const e=new _o(this.diagonalSize);for(const[r,n,s]of this.upperRightEntries())e.set(r,n,s);return e}toMatrix(){return new pt(this)}get(e,r){return Hr(this,Ke).get(e,r)}set(e,r,n){return Hr(this,Ke).set(e,r,n),Hr(this,Ke).set(r,e,n),this}removeCross(e){return Hr(this,Ke).removeRow(e),Hr(this,Ke).removeColumn(e),this}addCross(e,r){r===void 0&&(r=e,e=this.diagonalSize);const n=r.slice();return n.splice(e,1),Hr(this,Ke).addRow(e,n),Hr(this,Ke).addColumn(e,r),this}applyMask(e){if(e.length!==this.diagonalSize)throw new RangeError("Mask size do not match with matrix size");const r=[];for(const[n,s]of e.entries())s||r.push(n);r.reverse();for(const n of r)this.removeCross(n);return this}toCompact(){const{diagonalSize:e}=this,r=new Array(e*(e+1)/2);for(let n=0,s=0,a=0;a<r.length;a++)r[a]=this.get(s,n),++n>=e&&(n=++s);return r}static fromCompact(e){const r=e.length,n=(Math.sqrt(8*r+1)-1)/2;if(!Number.isInteger(n))throw new TypeError(`This array is not a compact representation of a Symmetric Matrix, ${JSON.stringify(e)}`);const s=new _o(n);for(let a=0,l=0,c=0;c<r;c++)s.set(a,l,e[c]),++a>=n&&(a=++l);return s}*upperRightEntries(){for(let e=0,r=0;e<this.diagonalSize;void 0){const n=this.get(e,r);yield[e,r,n],++r>=this.diagonalSize&&(r=++e)}}*upperRightValues(){for(let e=0,r=0;e<this.diagonalSize;void 0)yield this.get(e,r),++r>=this.diagonalSize&&(r=++e)}};Ke=new WeakMap;let Jn=_o;Jn.prototype.klassType="SymmetricMatrix";class no extends Jn{static isDistanceMatrix(t){return Jn.isSymmetricMatrix(t)&&t.klassSubType==="DistanceMatrix"}constructor(t){if(super(t),!this.isDistance())throw new TypeError("Provided arguments do no produce a distance matrix")}set(t,e,r){return t===e&&(r=0),super.set(t,e,r)}addCross(t,e){return e===void 0&&(e=t,t=this.diagonalSize),e=e.slice(),e[t]=0,super.addCross(t,e)}toSymmetricMatrix(){return new Jn(this)}clone(){const t=new no(this.diagonalSize);for(const[e,r,n]of this.upperRightEntries())e!==r&&t.set(e,r,n);return t}toCompact(){const{diagonalSize:t}=this,e=(t-1)*t/2,r=new Array(e);for(let n=1,s=0,a=0;a<r.length;a++)r[a]=this.get(s,n),++n>=t&&(n=++s+1);return r}static fromCompact(t){const e=t.length,r=(Math.sqrt(8*e+1)+1)/2;if(!Number.isInteger(r))throw new TypeError(`This array is not a compact representation of a DistanceMatrix, ${JSON.stringify(t)}`);const n=new this(r);for(let s=1,a=0,l=0;l<e;l++)n.set(s,a,t[l]),++s>=r&&(s=++a+1);return n}}no.prototype.klassSubType="DistanceMatrix";class cn extends $t{constructor(t,e,r){super(),this.matrix=t,this.rows=e,this.columns=r}}class Z1 extends cn{constructor(t,e){Nr(t,e),super(t,t.rows,1),this.column=e}set(t,e,r){return this.matrix.set(t,this.column,r),this}get(t){return this.matrix.get(t,this.column)}}class G1 extends cn{constructor(t,e){La(t,e),super(t,t.rows,e.length),this.columnIndices=e}set(t,e,r){return this.matrix.set(t,this.columnIndices[e],r),this}get(t,e){return this.matrix.get(t,this.columnIndices[e])}}class K1 extends cn{constructor(t){super(t,t.rows,t.columns)}set(t,e,r){return this.matrix.set(t,this.columns-e-1,r),this}get(t,e){return this.matrix.get(t,this.columns-e-1)}}class H1 extends cn{constructor(t){super(t,t.rows,t.columns)}set(t,e,r){return this.matrix.set(this.rows-t-1,e,r),this}get(t,e){return this.matrix.get(this.rows-t-1,e)}}class J1 extends cn{constructor(t,e){Mr(t,e),super(t,1,t.columns),this.row=e}set(t,e,r){return this.matrix.set(this.row,e,r),this}get(t,e){return this.matrix.get(this.row,e)}}class X1 extends cn{constructor(t,e){$a(t,e),super(t,e.length,t.columns),this.rowIndices=e}set(t,e,r){return this.matrix.set(this.rowIndices[t],e,r),this}get(t,e){return this.matrix.get(this.rowIndices[t],e)}}class io extends cn{constructor(t,e,r){$a(t,e),La(t,r),super(t,e.length,r.length),this.rowIndices=e,this.columnIndices=r}set(t,e,r){return this.matrix.set(this.rowIndices[t],this.columnIndices[e],r),this}get(t,e){return this.matrix.get(this.rowIndices[t],this.columnIndices[e])}}class Q1 extends cn{constructor(t,e,r,n,s){Ra(t,e,r,n,s),super(t,r-e+1,s-n+1),this.startRow=e,this.startColumn=n}set(t,e,r){return this.matrix.set(this.startRow+t,this.startColumn+e,r),this}get(t,e){return this.matrix.get(this.startRow+t,this.startColumn+e)}}class tw extends cn{constructor(t){super(t,t.columns,t.rows)}set(t,e,r){return this.matrix.set(e,t,r),this}get(t,e){return this.matrix.get(e,t)}}class kf extends $t{constructor(t,e={}){const{rows:r=1}=e;if(t.length%r!==0)throw new Error("the data length is not divisible by the number of rows");super(),this.rows=r,this.columns=t.length/r,this.data=t}set(t,e,r){let n=this._calculateIndex(t,e);return this.data[n]=r,this}get(t,e){let r=this._calculateIndex(t,e);return this.data[r]}_calculateIndex(t,e){return t*this.columns+e}}class dr extends $t{constructor(t){super(),this.data=t,this.rows=t.length,this.columns=t[0].length}set(t,e,r){return this.data[t][e]=r,this}get(t,e){return this.data[t][e]}}function ew(i,t){if(ar.isAnyArray(i))return i[0]&&ar.isAnyArray(i[0])?new dr(i):new kf(i,t);throw new Error("the argument is not an array")}class so{constructor(t){t=dr.checkMatrix(t);let e=t.clone(),r=e.rows,n=e.columns,s=new Float64Array(r),a=1,l,c,h,p,f,d,g,w,m;for(l=0;l<r;l++)s[l]=l;for(w=new Float64Array(r),c=0;c<n;c++){for(l=0;l<r;l++)w[l]=e.get(l,c);for(l=0;l<r;l++){for(m=Math.min(l,c),f=0,h=0;h<m;h++)f+=e.get(l,h)*w[h];w[l]-=f,e.set(l,c,w[l])}for(p=c,l=c+1;l<r;l++)Math.abs(w[l])>Math.abs(w[p])&&(p=l);if(p!==c){for(h=0;h<n;h++)d=e.get(p,h),e.set(p,h,e.get(c,h)),e.set(c,h,d);g=s[p],s[p]=s[c],s[c]=g,a=-a}if(c<r&&e.get(c,c)!==0)for(l=c+1;l<r;l++)e.set(l,c,e.get(l,c)/e.get(c,c))}this.LU=e,this.pivotVector=s,this.pivotSign=a}isSingular(){let t=this.LU,e=t.columns;for(let r=0;r<e;r++)if(t.get(r,r)===0)return!0;return!1}solve(t){t=pt.checkMatrix(t);let e=this.LU;if(e.rows!==t.rows)throw new Error("Invalid matrix dimensions");if(this.isSingular())throw new Error("LU matrix is singular");let n=t.columns,s=t.subMatrixRow(this.pivotVector,0,n-1),a=e.columns,l,c,h;for(h=0;h<a;h++)for(l=h+1;l<a;l++)for(c=0;c<n;c++)s.set(l,c,s.get(l,c)-s.get(h,c)*e.get(l,h));for(h=a-1;h>=0;h--){for(c=0;c<n;c++)s.set(h,c,s.get(h,c)/e.get(h,h));for(l=0;l<h;l++)for(c=0;c<n;c++)s.set(l,c,s.get(l,c)-s.get(h,c)*e.get(l,h))}return s}get determinant(){let t=this.LU;if(!t.isSquare())throw new Error("Matrix must be square");let e=this.pivotSign,r=t.columns;for(let n=0;n<r;n++)e*=t.get(n,n);return e}get lowerTriangularMatrix(){let t=this.LU,e=t.rows,r=t.columns,n=new pt(e,r);for(let s=0;s<e;s++)for(let a=0;a<r;a++)s>a?n.set(s,a,t.get(s,a)):s===a?n.set(s,a,1):n.set(s,a,0);return n}get upperTriangularMatrix(){let t=this.LU,e=t.rows,r=t.columns,n=new pt(e,r);for(let s=0;s<e;s++)for(let a=0;a<r;a++)s<=a?n.set(s,a,t.get(s,a)):n.set(s,a,0);return n}get pivotPermutationVector(){return Array.from(this.pivotVector)}}function fn(i,t){let e=0;return Math.abs(i)>Math.abs(t)?(e=t/i,Math.abs(i)*Math.sqrt(1+e*e)):t!==0?(e=i/t,Math.abs(t)*Math.sqrt(1+e*e)):0}class Pa{constructor(t){t=dr.checkMatrix(t);let e=t.clone(),r=t.rows,n=t.columns,s=new Float64Array(n),a,l,c,h;for(c=0;c<n;c++){let p=0;for(a=c;a<r;a++)p=fn(p,e.get(a,c));if(p!==0){for(e.get(c,c)<0&&(p=-p),a=c;a<r;a++)e.set(a,c,e.get(a,c)/p);for(e.set(c,c,e.get(c,c)+1),l=c+1;l<n;l++){for(h=0,a=c;a<r;a++)h+=e.get(a,c)*e.get(a,l);for(h=-h/e.get(c,c),a=c;a<r;a++)e.set(a,l,e.get(a,l)+h*e.get(a,c))}}s[c]=-p}this.QR=e,this.Rdiag=s}solve(t){t=pt.checkMatrix(t);let e=this.QR,r=e.rows;if(t.rows!==r)throw new Error("Matrix row dimensions must agree");if(!this.isFullRank())throw new Error("Matrix is rank deficient");let n=t.columns,s=t.clone(),a=e.columns,l,c,h,p;for(h=0;h<a;h++)for(c=0;c<n;c++){for(p=0,l=h;l<r;l++)p+=e.get(l,h)*s.get(l,c);for(p=-p/e.get(h,h),l=h;l<r;l++)s.set(l,c,s.get(l,c)+p*e.get(l,h))}for(h=a-1;h>=0;h--){for(c=0;c<n;c++)s.set(h,c,s.get(h,c)/this.Rdiag[h]);for(l=0;l<h;l++)for(c=0;c<n;c++)s.set(l,c,s.get(l,c)-s.get(h,c)*e.get(l,h))}return s.subMatrix(0,a-1,0,n-1)}isFullRank(){let t=this.QR.columns;for(let e=0;e<t;e++)if(this.Rdiag[e]===0)return!1;return!0}get upperTriangularMatrix(){let t=this.QR,e=t.columns,r=new pt(e,e),n,s;for(n=0;n<e;n++)for(s=0;s<e;s++)n<s?r.set(n,s,t.get(n,s)):n===s?r.set(n,s,this.Rdiag[n]):r.set(n,s,0);return r}get orthogonalMatrix(){let t=this.QR,e=t.rows,r=t.columns,n=new pt(e,r),s,a,l,c;for(l=r-1;l>=0;l--){for(s=0;s<e;s++)n.set(s,l,0);for(n.set(l,l,1),a=l;a<r;a++)if(t.get(l,l)!==0){for(c=0,s=l;s<e;s++)c+=t.get(s,l)*n.get(s,a);for(c=-c/t.get(l,l),s=l;s<e;s++)n.set(s,a,n.get(s,a)+c*t.get(s,l))}}return n}}class Ei{constructor(t,e={}){if(t=dr.checkMatrix(t),t.isEmpty())throw new Error("Matrix must be non-empty");let r=t.rows,n=t.columns;const{computeLeftSingularVectors:s=!0,computeRightSingularVectors:a=!0,autoTranspose:l=!1}=e;let c=!!s,h=!!a,p=!1,f;if(r<n)if(!l)f=t.clone(),console.warn("Computing SVD on a matrix with more columns than rows. Consider enabling autoTranspose");else{f=t.transpose(),r=f.rows,n=f.columns,p=!0;let C=c;c=h,h=C}else f=t.clone();let d=Math.min(r,n),g=Math.min(r+1,n),w=new Float64Array(g),m=new pt(r,d),D=new pt(n,n),v=new Float64Array(n),E=new Float64Array(r),b=new Float64Array(g);for(let C=0;C<g;C++)b[C]=C;let N=Math.min(r-1,n),x=Math.max(0,Math.min(n-2,r)),F=Math.max(N,x);for(let C=0;C<F;C++){if(C<N){w[C]=0;for(let O=C;O<r;O++)w[C]=fn(w[C],f.get(O,C));if(w[C]!==0){f.get(C,C)<0&&(w[C]=-w[C]);for(let O=C;O<r;O++)f.set(O,C,f.get(O,C)/w[C]);f.set(C,C,f.get(C,C)+1)}w[C]=-w[C]}for(let O=C+1;O<n;O++){if(C<N&&w[C]!==0){let L=0;for(let k=C;k<r;k++)L+=f.get(k,C)*f.get(k,O);L=-L/f.get(C,C);for(let k=C;k<r;k++)f.set(k,O,f.get(k,O)+L*f.get(k,C))}v[O]=f.get(C,O)}if(c&&C<N)for(let O=C;O<r;O++)m.set(O,C,f.get(O,C));if(C<x){v[C]=0;for(let O=C+1;O<n;O++)v[C]=fn(v[C],v[O]);if(v[C]!==0){v[C+1]<0&&(v[C]=0-v[C]);for(let O=C+1;O<n;O++)v[O]/=v[C];v[C+1]+=1}if(v[C]=-v[C],C+1<r&&v[C]!==0){for(let O=C+1;O<r;O++)E[O]=0;for(let O=C+1;O<r;O++)for(let L=C+1;L<n;L++)E[O]+=v[L]*f.get(O,L);for(let O=C+1;O<n;O++){let L=-v[O]/v[C+1];for(let k=C+1;k<r;k++)f.set(k,O,f.get(k,O)+L*E[k])}}if(h)for(let O=C+1;O<n;O++)D.set(O,C,v[O])}}let M=Math.min(n,r+1);if(N<n&&(w[N]=f.get(N,N)),r<M&&(w[M-1]=0),x+1<M&&(v[x]=f.get(x,M-1)),v[M-1]=0,c){for(let C=N;C<d;C++){for(let O=0;O<r;O++)m.set(O,C,0);m.set(C,C,1)}for(let C=N-1;C>=0;C--)if(w[C]!==0){for(let O=C+1;O<d;O++){let L=0;for(let k=C;k<r;k++)L+=m.get(k,C)*m.get(k,O);L=-L/m.get(C,C);for(let k=C;k<r;k++)m.set(k,O,m.get(k,O)+L*m.get(k,C))}for(let O=C;O<r;O++)m.set(O,C,-m.get(O,C));m.set(C,C,1+m.get(C,C));for(let O=0;O<C-1;O++)m.set(O,C,0)}else{for(let O=0;O<r;O++)m.set(O,C,0);m.set(C,C,1)}}if(h)for(let C=n-1;C>=0;C--){if(C<x&&v[C]!==0)for(let O=C+1;O<n;O++){let L=0;for(let k=C+1;k<n;k++)L+=D.get(k,C)*D.get(k,O);L=-L/D.get(C+1,C);for(let k=C+1;k<n;k++)D.set(k,O,D.get(k,O)+L*D.get(k,C))}for(let O=0;O<n;O++)D.set(O,C,0);D.set(C,C,1)}let S=M-1,I=Number.EPSILON;for(;M>0;){let C,O;for(C=M-2;C>=-1&&C!==-1;C--){const L=Number.MIN_VALUE+I*Math.abs(w[C]+Math.abs(w[C+1]));if(Math.abs(v[C])<=L||Number.isNaN(v[C])){v[C]=0;break}}if(C===M-2)O=4;else{let L;for(L=M-1;L>=C&&L!==C;L--){let k=(L!==M?Math.abs(v[L]):0)+(L!==C+1?Math.abs(v[L-1]):0);if(Math.abs(w[L])<=I*k){w[L]=0;break}}L===C?O=3:L===M-1?O=1:(O=2,C=L)}switch(C++,O){case 1:{let L=v[M-2];v[M-2]=0;for(let k=M-2;k>=C;k--){let U=fn(w[k],L),W=w[k]/U,P=L/U;if(w[k]=U,k!==C&&(L=-P*v[k-1],v[k-1]=W*v[k-1]),h)for(let G=0;G<n;G++)U=W*D.get(G,k)+P*D.get(G,M-1),D.set(G,M-1,-P*D.get(G,k)+W*D.get(G,M-1)),D.set(G,k,U)}break}case 2:{let L=v[C-1];v[C-1]=0;for(let k=C;k<M;k++){let U=fn(w[k],L),W=w[k]/U,P=L/U;if(w[k]=U,L=-P*v[k],v[k]=W*v[k],c)for(let G=0;G<r;G++)U=W*m.get(G,k)+P*m.get(G,C-1),m.set(G,C-1,-P*m.get(G,k)+W*m.get(G,C-1)),m.set(G,k,U)}break}case 3:{const L=Math.max(Math.abs(w[M-1]),Math.abs(w[M-2]),Math.abs(v[M-2]),Math.abs(w[C]),Math.abs(v[C])),k=w[M-1]/L,U=w[M-2]/L,W=v[M-2]/L,P=w[C]/L,G=v[C]/L,Z=((U+k)*(U-k)+W*W)/2,X=k*W*(k*W);let tt=0;(Z!==0||X!==0)&&(Z<0?tt=0-Math.sqrt(Z*Z+X):tt=Math.sqrt(Z*Z+X),tt=X/(Z+tt));let ct=(P+k)*(P-k)+tt,vt=P*G;for(let lt=C;lt<M-1;lt++){let yt=fn(ct,vt);yt===0&&(yt=Number.MIN_VALUE);let bt=ct/yt,Bt=vt/yt;if(lt!==C&&(v[lt-1]=yt),ct=bt*w[lt]+Bt*v[lt],v[lt]=bt*v[lt]-Bt*w[lt],vt=Bt*w[lt+1],w[lt+1]=bt*w[lt+1],h)for(let Et=0;Et<n;Et++)yt=bt*D.get(Et,lt)+Bt*D.get(Et,lt+1),D.set(Et,lt+1,-Bt*D.get(Et,lt)+bt*D.get(Et,lt+1)),D.set(Et,lt,yt);if(yt=fn(ct,vt),yt===0&&(yt=Number.MIN_VALUE),bt=ct/yt,Bt=vt/yt,w[lt]=yt,ct=bt*v[lt]+Bt*w[lt+1],w[lt+1]=-Bt*v[lt]+bt*w[lt+1],vt=Bt*v[lt+1],v[lt+1]=bt*v[lt+1],c&&lt<r-1)for(let Et=0;Et<r;Et++)yt=bt*m.get(Et,lt)+Bt*m.get(Et,lt+1),m.set(Et,lt+1,-Bt*m.get(Et,lt)+bt*m.get(Et,lt+1)),m.set(Et,lt,yt)}v[M-2]=ct;break}case 4:{if(w[C]<=0&&(w[C]=w[C]<0?-w[C]:0,h))for(let L=0;L<=S;L++)D.set(L,C,-D.get(L,C));for(;C<S&&!(w[C]>=w[C+1]);){let L=w[C];if(w[C]=w[C+1],w[C+1]=L,h&&C<n-1)for(let k=0;k<n;k++)L=D.get(k,C+1),D.set(k,C+1,D.get(k,C)),D.set(k,C,L);if(c&&C<r-1)for(let k=0;k<r;k++)L=m.get(k,C+1),m.set(k,C+1,m.get(k,C)),m.set(k,C,L);C++}M--;break}}}if(p){let C=D;D=m,m=C}this.m=r,this.n=n,this.s=w,this.U=m,this.V=D}solve(t){let e=t,r=this.threshold,n=this.s.length,s=pt.zeros(n,n);for(let d=0;d<n;d++)Math.abs(this.s[d])<=r?s.set(d,d,0):s.set(d,d,1/this.s[d]);let a=this.U,l=this.rightSingularVectors,c=l.mmul(s),h=l.rows,p=a.rows,f=pt.zeros(h,p);for(let d=0;d<h;d++)for(let g=0;g<p;g++){let w=0;for(let m=0;m<n;m++)w+=c.get(d,m)*a.get(g,m);f.set(d,g,w)}return f.mmul(e)}solveForDiagonal(t){return this.solve(pt.diag(t))}inverse(){let t=this.V,e=this.threshold,r=t.rows,n=t.columns,s=new pt(r,this.s.length);for(let p=0;p<r;p++)for(let f=0;f<n;f++)Math.abs(this.s[f])>e&&s.set(p,f,t.get(p,f)/this.s[f]);let a=this.U,l=a.rows,c=a.columns,h=new pt(r,l);for(let p=0;p<r;p++)for(let f=0;f<l;f++){let d=0;for(let g=0;g<c;g++)d+=s.get(p,g)*a.get(f,g);h.set(p,f,d)}return h}get condition(){return this.s[0]/this.s[Math.min(this.m,this.n)-1]}get norm2(){return this.s[0]}get rank(){let t=Math.max(this.m,this.n)*this.s[0]*Number.EPSILON,e=0,r=this.s;for(let n=0,s=r.length;n<s;n++)r[n]>t&&e++;return e}get diagonal(){return Array.from(this.s)}get threshold(){return Number.EPSILON/2*Math.max(this.m,this.n)*this.s[0]}get leftSingularVectors(){return this.U}get rightSingularVectors(){return this.V}get diagonalMatrix(){return pt.diag(this.s)}}function rw(i,t=!1){return i=dr.checkMatrix(i),t?new Ei(i).inverse():Uf(i,pt.eye(i.rows))}function Uf(i,t,e=!1){return i=dr.checkMatrix(i),t=dr.checkMatrix(t),e?new Ei(i).solve(t):i.isSquare()?new so(i).solve(t):new Pa(i).solve(t)}function oo(i){if(i=pt.checkMatrix(i),i.isSquare()){if(i.columns===0)return 1;let t,e,r,n;if(i.columns===2)return t=i.get(0,0),e=i.get(0,1),r=i.get(1,0),n=i.get(1,1),t*n-e*r;if(i.columns===3){let s,a,l;return s=new io(i,[1,2],[1,2]),a=new io(i,[1,2],[0,2]),l=new io(i,[1,2],[0,1]),t=i.get(0,0),e=i.get(0,1),r=i.get(0,2),t*oo(s)-e*oo(a)+r*oo(l)}else return new so(i).determinant}else throw Error("determinant can only be calculated for a square matrix")}function nw(i,t){let e=[];for(let r=0;r<i;r++)r!==t&&e.push(r);return e}function iw(i,t,e,r=1e-9,n=1e-9){if(i>n)return new Array(t.rows+1).fill(0);{let s=t.addRow(e,[0]);for(let a=0;a<s.rows;a++)Math.abs(s.get(a,0))<r&&s.set(a,0,0);return s.to1DArray()}}function sw(i,t={}){const{thresholdValue:e=1e-9,thresholdError:r=1e-9}=t;i=pt.checkMatrix(i);let n=i.rows,s=new pt(n,n);for(let a=0;a<n;a++){let l=pt.columnVector(i.getRow(a)),c=i.subMatrixRow(nw(n,a)).transpose(),p=new Ei(c).solve(l),f=pt.sub(l,c.mmul(p)).abs().max();s.setRow(a,iw(f,p,a,e,r))}return s}function ow(i,t=Number.EPSILON){if(i=pt.checkMatrix(i),i.isEmpty())return i.transpose();let e=new Ei(i,{autoTranspose:!0}),r=e.leftSingularVectors,n=e.rightSingularVectors,s=e.diagonal;for(let a=0;a<s.length;a++)Math.abs(s[a])>t?s[a]=1/s[a]:s[a]=0;return n.mmul(pt.diag(s).mmul(r.transpose()))}function aw(i,t=i,e={}){i=new pt(i);let r=!1;if(typeof t=="object"&&!pt.isMatrix(t)&&!ar.isAnyArray(t)?(e=t,t=i,r=!0):t=new pt(t),i.rows!==t.rows)throw new TypeError("Both matrices must have the same number of rows");const{center:n=!0}=e;n&&(i=i.center("column"),r||(t=t.center("column")));const s=i.transpose().mmul(t);for(let a=0;a<s.rows;a++)for(let l=0;l<s.columns;l++)s.set(a,l,s.get(a,l)*(1/(i.rows-1)));return s}function uw(i,t=i,e={}){i=new pt(i);let r=!1;if(typeof t=="object"&&!pt.isMatrix(t)&&!ar.isAnyArray(t)?(e=t,t=i,r=!0):t=new pt(t),i.rows!==t.rows)throw new TypeError("Both matrices must have the same number of rows");const{center:n=!0,scale:s=!0}=e;n&&(i.center("column"),r||t.center("column")),s&&(i.scale("column"),r||t.scale("column"));const a=i.standardDeviation("column",{unbiased:!0}),l=r?a:t.standardDeviation("column",{unbiased:!0}),c=i.transpose().mmul(t);for(let h=0;h<c.rows;h++)for(let p=0;p<c.columns;p++)c.set(h,p,c.get(h,p)*(1/(a[h]*l[p]))*(1/(i.rows-1)));return c}let Wf=class{constructor(t,e={}){const{assumeSymmetric:r=!1}=e;if(t=dr.checkMatrix(t),!t.isSquare())throw new Error("Matrix is not a square matrix");if(t.isEmpty())throw new Error("Matrix must be non-empty");let n=t.columns,s=new pt(n,n),a=new Float64Array(n),l=new Float64Array(n),c=t,h,p,f=!1;if(r?f=!0:f=t.isSymmetric(),f){for(h=0;h<n;h++)for(p=0;p<n;p++)s.set(h,p,c.get(h,p));lw(n,l,a,s),cw(n,l,a,s)}else{let d=new pt(n,n),g=new Float64Array(n);for(p=0;p<n;p++)for(h=0;h<n;h++)d.set(h,p,c.get(h,p));fw(n,d,g,s),hw(n,l,a,s,d)}this.n=n,this.e=l,this.d=a,this.V=s}get realEigenvalues(){return Array.from(this.d)}get imaginaryEigenvalues(){return Array.from(this.e)}get eigenvectorMatrix(){return this.V}get diagonalMatrix(){let t=this.n,e=this.e,r=this.d,n=new pt(t,t),s,a;for(s=0;s<t;s++){for(a=0;a<t;a++)n.set(s,a,0);n.set(s,s,r[s]),e[s]>0?n.set(s,s+1,e[s]):e[s]<0&&n.set(s,s-1,e[s])}return n}};function lw(i,t,e,r){let n,s,a,l,c,h,p,f;for(c=0;c<i;c++)e[c]=r.get(i-1,c);for(l=i-1;l>0;l--){for(f=0,a=0,h=0;h<l;h++)f=f+Math.abs(e[h]);if(f===0)for(t[l]=e[l-1],c=0;c<l;c++)e[c]=r.get(l-1,c),r.set(l,c,0),r.set(c,l,0);else{for(h=0;h<l;h++)e[h]/=f,a+=e[h]*e[h];for(n=e[l-1],s=Math.sqrt(a),n>0&&(s=-s),t[l]=f*s,a=a-n*s,e[l-1]=n-s,c=0;c<l;c++)t[c]=0;for(c=0;c<l;c++){for(n=e[c],r.set(c,l,n),s=t[c]+r.get(c,c)*n,h=c+1;h<=l-1;h++)s+=r.get(h,c)*e[h],t[h]+=r.get(h,c)*n;t[c]=s}for(n=0,c=0;c<l;c++)t[c]/=a,n+=t[c]*e[c];for(p=n/(a+a),c=0;c<l;c++)t[c]-=p*e[c];for(c=0;c<l;c++){for(n=e[c],s=t[c],h=c;h<=l-1;h++)r.set(h,c,r.get(h,c)-(n*t[h]+s*e[h]));e[c]=r.get(l-1,c),r.set(l,c,0)}}e[l]=a}for(l=0;l<i-1;l++){if(r.set(i-1,l,r.get(l,l)),r.set(l,l,1),a=e[l+1],a!==0){for(h=0;h<=l;h++)e[h]=r.get(h,l+1)/a;for(c=0;c<=l;c++){for(s=0,h=0;h<=l;h++)s+=r.get(h,l+1)*r.get(h,c);for(h=0;h<=l;h++)r.set(h,c,r.get(h,c)-s*e[h])}}for(h=0;h<=l;h++)r.set(h,l+1,0)}for(c=0;c<i;c++)e[c]=r.get(i-1,c),r.set(i-1,c,0);r.set(i-1,i-1,1),t[0]=0}function cw(i,t,e,r){let n,s,a,l,c,h,p,f,d,g,w,m,D,v,E,b;for(a=1;a<i;a++)t[a-1]=t[a];t[i-1]=0;let N=0,x=0,F=Number.EPSILON;for(h=0;h<i;h++){for(x=Math.max(x,Math.abs(e[h])+Math.abs(t[h])),p=h;p<i&&!(Math.abs(t[p])<=F*x);)p++;if(p>h)do{for(n=e[h],f=(e[h+1]-n)/(2*t[h]),d=fn(f,1),f<0&&(d=-d),e[h]=t[h]/(f+d),e[h+1]=t[h]*(f+d),g=e[h+1],s=n-e[h],a=h+2;a<i;a++)e[a]-=s;for(N=N+s,f=e[p],w=1,m=w,D=w,v=t[h+1],E=0,b=0,a=p-1;a>=h;a--)for(D=m,m=w,b=E,n=w*t[a],s=w*f,d=fn(f,t[a]),t[a+1]=E*d,E=t[a]/d,w=f/d,f=w*e[a]-E*n,e[a+1]=s+E*(w*n+E*e[a]),c=0;c<i;c++)s=r.get(c,a+1),r.set(c,a+1,E*r.get(c,a)+w*s),r.set(c,a,w*r.get(c,a)-E*s);f=-E*b*D*v*t[h]/g,t[h]=E*f,e[h]=w*f}while(Math.abs(t[h])>F*x);e[h]=e[h]+N,t[h]=0}for(a=0;a<i-1;a++){for(c=a,f=e[a],l=a+1;l<i;l++)e[l]<f&&(c=l,f=e[l]);if(c!==a)for(e[c]=e[a],e[a]=f,l=0;l<i;l++)f=r.get(l,a),r.set(l,a,r.get(l,c)),r.set(l,c,f)}}function fw(i,t,e,r){let n=0,s=i-1,a,l,c,h,p,f,d;for(f=n+1;f<=s-1;f++){for(d=0,h=f;h<=s;h++)d=d+Math.abs(t.get(h,f-1));if(d!==0){for(c=0,h=s;h>=f;h--)e[h]=t.get(h,f-1)/d,c+=e[h]*e[h];for(l=Math.sqrt(c),e[f]>0&&(l=-l),c=c-e[f]*l,e[f]=e[f]-l,p=f;p<i;p++){for(a=0,h=s;h>=f;h--)a+=e[h]*t.get(h,p);for(a=a/c,h=f;h<=s;h++)t.set(h,p,t.get(h,p)-a*e[h])}for(h=0;h<=s;h++){for(a=0,p=s;p>=f;p--)a+=e[p]*t.get(h,p);for(a=a/c,p=f;p<=s;p++)t.set(h,p,t.get(h,p)-a*e[p])}e[f]=d*e[f],t.set(f,f-1,d*l)}}for(h=0;h<i;h++)for(p=0;p<i;p++)r.set(h,p,h===p?1:0);for(f=s-1;f>=n+1;f--)if(t.get(f,f-1)!==0){for(h=f+1;h<=s;h++)e[h]=t.get(h,f-1);for(p=f;p<=s;p++){for(l=0,h=f;h<=s;h++)l+=e[h]*r.get(h,p);for(l=l/e[f]/t.get(f,f-1),h=f;h<=s;h++)r.set(h,p,r.get(h,p)+l*e[h])}}}function hw(i,t,e,r,n){let s=i-1,a=0,l=i-1,c=Number.EPSILON,h=0,p=0,f=0,d=0,g=0,w=0,m=0,D=0,v,E,b,N,x,F,M,S,I,C,O,L,k,U,W;for(v=0;v<i;v++)for((v<a||v>l)&&(e[v]=n.get(v,v),t[v]=0),E=Math.max(v-1,0);E<i;E++)p=p+Math.abs(n.get(v,E));for(;s>=a;){for(N=s;N>a&&(w=Math.abs(n.get(N-1,N-1))+Math.abs(n.get(N,N)),w===0&&(w=p),!(Math.abs(n.get(N,N-1))<c*w));)N--;if(N===s)n.set(s,s,n.get(s,s)+h),e[s]=n.get(s,s),t[s]=0,s--,D=0;else if(N===s-1){if(M=n.get(s,s-1)*n.get(s-1,s),f=(n.get(s-1,s-1)-n.get(s,s))/2,d=f*f+M,m=Math.sqrt(Math.abs(d)),n.set(s,s,n.get(s,s)+h),n.set(s-1,s-1,n.get(s-1,s-1)+h),S=n.get(s,s),d>=0){for(m=f>=0?f+m:f-m,e[s-1]=S+m,e[s]=e[s-1],m!==0&&(e[s]=S-M/m),t[s-1]=0,t[s]=0,S=n.get(s,s-1),w=Math.abs(S)+Math.abs(m),f=S/w,d=m/w,g=Math.sqrt(f*f+d*d),f=f/g,d=d/g,E=s-1;E<i;E++)m=n.get(s-1,E),n.set(s-1,E,d*m+f*n.get(s,E)),n.set(s,E,d*n.get(s,E)-f*m);for(v=0;v<=s;v++)m=n.get(v,s-1),n.set(v,s-1,d*m+f*n.get(v,s)),n.set(v,s,d*n.get(v,s)-f*m);for(v=a;v<=l;v++)m=r.get(v,s-1),r.set(v,s-1,d*m+f*r.get(v,s)),r.set(v,s,d*r.get(v,s)-f*m)}else e[s-1]=S+f,e[s]=S+f,t[s-1]=m,t[s]=-m;s=s-2,D=0}else{if(S=n.get(s,s),I=0,M=0,N<s&&(I=n.get(s-1,s-1),M=n.get(s,s-1)*n.get(s-1,s)),D===10){for(h+=S,v=a;v<=s;v++)n.set(v,v,n.get(v,v)-S);w=Math.abs(n.get(s,s-1))+Math.abs(n.get(s-1,s-2)),S=I=.75*w,M=-.4375*w*w}if(D===30&&(w=(I-S)/2,w=w*w+M,w>0)){for(w=Math.sqrt(w),I<S&&(w=-w),w=S-M/((I-S)/2+w),v=a;v<=s;v++)n.set(v,v,n.get(v,v)-w);h+=w,S=I=M=.964}for(D=D+1,x=s-2;x>=N&&(m=n.get(x,x),g=S-m,w=I-m,f=(g*w-M)/n.get(x+1,x)+n.get(x,x+1),d=n.get(x+1,x+1)-m-g-w,g=n.get(x+2,x+1),w=Math.abs(f)+Math.abs(d)+Math.abs(g),f=f/w,d=d/w,g=g/w,!(x===N||Math.abs(n.get(x,x-1))*(Math.abs(d)+Math.abs(g))<c*(Math.abs(f)*(Math.abs(n.get(x-1,x-1))+Math.abs(m)+Math.abs(n.get(x+1,x+1))))));)x--;for(v=x+2;v<=s;v++)n.set(v,v-2,0),v>x+2&&n.set(v,v-3,0);for(b=x;b<=s-1&&(U=b!==s-1,b!==x&&(f=n.get(b,b-1),d=n.get(b+1,b-1),g=U?n.get(b+2,b-1):0,S=Math.abs(f)+Math.abs(d)+Math.abs(g),S!==0&&(f=f/S,d=d/S,g=g/S)),S!==0);b++)if(w=Math.sqrt(f*f+d*d+g*g),f<0&&(w=-w),w!==0){for(b!==x?n.set(b,b-1,-w*S):N!==x&&n.set(b,b-1,-n.get(b,b-1)),f=f+w,S=f/w,I=d/w,m=g/w,d=d/f,g=g/f,E=b;E<i;E++)f=n.get(b,E)+d*n.get(b+1,E),U&&(f=f+g*n.get(b+2,E),n.set(b+2,E,n.get(b+2,E)-f*m)),n.set(b,E,n.get(b,E)-f*S),n.set(b+1,E,n.get(b+1,E)-f*I);for(v=0;v<=Math.min(s,b+3);v++)f=S*n.get(v,b)+I*n.get(v,b+1),U&&(f=f+m*n.get(v,b+2),n.set(v,b+2,n.get(v,b+2)-f*g)),n.set(v,b,n.get(v,b)-f),n.set(v,b+1,n.get(v,b+1)-f*d);for(v=a;v<=l;v++)f=S*r.get(v,b)+I*r.get(v,b+1),U&&(f=f+m*r.get(v,b+2),r.set(v,b+2,r.get(v,b+2)-f*g)),r.set(v,b,r.get(v,b)-f),r.set(v,b+1,r.get(v,b+1)-f*d)}}}if(p!==0){for(s=i-1;s>=0;s--)if(f=e[s],d=t[s],d===0)for(N=s,n.set(s,s,1),v=s-1;v>=0;v--){for(M=n.get(v,v)-f,g=0,E=N;E<=s;E++)g=g+n.get(v,E)*n.get(E,s);if(t[v]<0)m=M,w=g;else if(N=v,t[v]===0?n.set(v,s,M!==0?-g/M:-g/(c*p)):(S=n.get(v,v+1),I=n.get(v+1,v),d=(e[v]-f)*(e[v]-f)+t[v]*t[v],F=(S*w-m*g)/d,n.set(v,s,F),n.set(v+1,s,Math.abs(S)>Math.abs(m)?(-g-M*F)/S:(-w-I*F)/m)),F=Math.abs(n.get(v,s)),c*F*F>1)for(E=v;E<=s;E++)n.set(E,s,n.get(E,s)/F)}else if(d<0)for(N=s-1,Math.abs(n.get(s,s-1))>Math.abs(n.get(s-1,s))?(n.set(s-1,s-1,d/n.get(s,s-1)),n.set(s-1,s,-(n.get(s,s)-f)/n.get(s,s-1))):(W=ao(0,-n.get(s-1,s),n.get(s-1,s-1)-f,d),n.set(s-1,s-1,W[0]),n.set(s-1,s,W[1])),n.set(s,s-1,0),n.set(s,s,1),v=s-2;v>=0;v--){for(C=0,O=0,E=N;E<=s;E++)C=C+n.get(v,E)*n.get(E,s-1),O=O+n.get(v,E)*n.get(E,s);if(M=n.get(v,v)-f,t[v]<0)m=M,g=C,w=O;else if(N=v,t[v]===0?(W=ao(-C,-O,M,d),n.set(v,s-1,W[0]),n.set(v,s,W[1])):(S=n.get(v,v+1),I=n.get(v+1,v),L=(e[v]-f)*(e[v]-f)+t[v]*t[v]-d*d,k=(e[v]-f)*2*d,L===0&&k===0&&(L=c*p*(Math.abs(M)+Math.abs(d)+Math.abs(S)+Math.abs(I)+Math.abs(m))),W=ao(S*g-m*C+d*O,S*w-m*O-d*C,L,k),n.set(v,s-1,W[0]),n.set(v,s,W[1]),Math.abs(S)>Math.abs(m)+Math.abs(d)?(n.set(v+1,s-1,(-C-M*n.get(v,s-1)+d*n.get(v,s))/S),n.set(v+1,s,(-O-M*n.get(v,s)-d*n.get(v,s-1))/S)):(W=ao(-g-I*n.get(v,s-1),-w-I*n.get(v,s),m,d),n.set(v+1,s-1,W[0]),n.set(v+1,s,W[1]))),F=Math.max(Math.abs(n.get(v,s-1)),Math.abs(n.get(v,s))),c*F*F>1)for(E=v;E<=s;E++)n.set(E,s-1,n.get(E,s-1)/F),n.set(E,s,n.get(E,s)/F)}for(v=0;v<i;v++)if(v<a||v>l)for(E=v;E<i;E++)r.set(v,E,n.get(v,E));for(E=i-1;E>=a;E--)for(v=a;v<=l;v++){for(m=0,b=a;b<=Math.min(E,l);b++)m=m+r.get(v,b)*n.get(b,E);r.set(v,E,m)}}}function ao(i,t,e,r){let n,s;return Math.abs(e)>Math.abs(r)?(n=r/e,s=e+n*r,[(i+n*t)/s,(t-n*i)/s]):(n=e/r,s=r+n*e,[(n*i+t)/s,(n*t-i)/s])}class jf{constructor(t){if(t=dr.checkMatrix(t),!t.isSymmetric())throw new Error("Matrix is not symmetric");let e=t,r=e.rows,n=new pt(r,r),s=!0,a,l,c;for(l=0;l<r;l++){let h=0;for(c=0;c<l;c++){let p=0;for(a=0;a<c;a++)p+=n.get(c,a)*n.get(l,a);p=(e.get(l,c)-p)/n.get(c,c),n.set(l,c,p),h=h+p*p}for(h=e.get(l,l)-h,s&=h>0,n.set(l,l,Math.sqrt(Math.max(h,0))),c=l+1;c<r;c++)n.set(l,c,0)}this.L=n,this.positiveDefinite=!!s}isPositiveDefinite(){return this.positiveDefinite}solve(t){t=dr.checkMatrix(t);let e=this.L,r=e.rows;if(t.rows!==r)throw new Error("Matrix dimensions do not match");if(this.isPositiveDefinite()===!1)throw new Error("Matrix is not positive definite");let n=t.columns,s=t.clone(),a,l,c;for(c=0;c<r;c++)for(l=0;l<n;l++){for(a=0;a<c;a++)s.set(c,l,s.get(c,l)-s.get(a,l)*e.get(c,a));s.set(c,l,s.get(c,l)/e.get(c,c))}for(c=r-1;c>=0;c--)for(l=0;l<n;l++){for(a=c+1;a<r;a++)s.set(c,l,s.get(c,l)-s.get(a,l)*e.get(a,c));s.set(c,l,s.get(c,l)/e.get(c,c))}return s}get lowerTriangularMatrix(){return this.L}}class Yf{constructor(t,e={}){t=dr.checkMatrix(t);let{Y:r}=e;const{scaleScores:n=!1,maxIterations:s=1e3,terminationCriteria:a=1e-10}=e;let l;if(r){if(ar.isAnyArray(r)&&typeof r[0]=="number"?r=pt.columnVector(r):r=dr.checkMatrix(r),r.rows!==t.rows)throw new Error("Y should have the same number of rows as X");l=r.getColumnVector(0)}else l=t.getColumnVector(0);let c=1,h,p,f,d;for(let g=0;g<s&&c>a;g++)f=t.transpose().mmul(l).div(l.transpose().mmul(l).get(0,0)),f=f.div(f.norm()),h=t.mmul(f).div(f.transpose().mmul(f).get(0,0)),g>0&&(c=h.clone().sub(d).pow(2).sum()),d=h.clone(),r?(p=r.transpose().mmul(h).div(h.transpose().mmul(h).get(0,0)),p=p.div(p.norm()),l=r.mmul(p).div(p.transpose().mmul(p).get(0,0))):l=h;if(r){let g=t.transpose().mmul(h).div(h.transpose().mmul(h).get(0,0));g=g.div(g.norm());let w=t.clone().sub(h.clone().mmul(g.transpose())),m=l.transpose().mmul(h).div(h.transpose().mmul(h).get(0,0)),D=r.clone().sub(h.clone().mulS(m.get(0,0)).mmul(p.transpose()));this.t=h,this.p=g.transpose(),this.w=f.transpose(),this.q=p,this.u=l,this.s=h.transpose().mmul(h),this.xResidual=w,this.yResidual=D,this.betas=m}else this.w=f.transpose(),this.s=h.transpose().mmul(h).sqrt(),n?this.t=h.clone().div(this.s.get(0,0)):this.t=h,this.xResidual=t.sub(h.mmul(f.transpose()))}}zt.AbstractMatrix=$t,zt.CHO=jf,zt.CholeskyDecomposition=jf,zt.DistanceMatrix=no,zt.EVD=Wf;var pw=zt.EigenvalueDecomposition=Wf;zt.LU=so,zt.LuDecomposition=so;var Vf=zt.Matrix=pt;zt.MatrixColumnSelectionView=G1,zt.MatrixColumnView=Z1,zt.MatrixFlipColumnView=K1,zt.MatrixFlipRowView=H1,zt.MatrixRowSelectionView=X1,zt.MatrixRowView=J1,zt.MatrixSelectionView=io,zt.MatrixSubView=Q1,zt.MatrixTransposeView=tw,zt.NIPALS=Yf,zt.Nipals=Yf,zt.QR=Pa,zt.QrDecomposition=Pa,zt.SVD=Ei,zt.SingularValueDecomposition=Ei,zt.SymmetricMatrix=Jn,zt.WrapperMatrix1D=kf,zt.WrapperMatrix2D=dr,zt.correlation=uw,zt.covariance=aw;var Zf=zt.default=pt;zt.determinant=oo,zt.inverse=rw,zt.linearDependencies=sw,zt.pseudoInverse=ow,zt.solve=Uf,zt.wrap=ew;const Gf=pw,Kf=Vf;Zf.Matrix&&Zf.Matrix;class dw{constructor(t){z(this,"_errorListener");this._errorListener=t}new({rows:t,columns:e,initial_value:r}={}){return new za(t,e,r,this._errorListener)}avg({id:t}){return t==null?void 0:t.avg()}col({id:t,column:e}){return t==null?void 0:t.col({column:e})}det({id:t}){return t==null?void 0:t.det()}get({id:t,row:e,column:r}){return t==null?void 0:t.get({row:e,column:r})}inv({id:t}){return t==null?void 0:t.inv()}max({id:t}){return t==null?void 0:t.max()}min({id:t}){return t==null?void 0:t.min()}pow({id:t,power:e}){return t==null?void 0:t.pow({power:e})}row({id:t,row:e}){return t==null?void 0:t.row({row:e})}set({id:t,row:e,column:r,value:n}){t==null||t.set({row:e,column:r,value:n})}sum({id1:t,id2:e}){return t==null?void 0:t.sum({id2:e})}copy({id:t}){return t==null?void 0:t.copy()}diff({id1:t,id2:e}){return t==null?void 0:t.diff({id2:e})}rows({id:t}){return t==null?void 0:t.rows()}columns({id:t}){return t==null?void 0:t.columns()}fill({id:t,value:e,from_row:r,to_row:n,from_column:s,to_column:a}){t==null||t.fill({value:e,from_row:r,to_row:n,from_column:s,to_column:a})}kron({id1:t,id2:e}){return t==null?void 0:t.kron({id2:e})}mode({id:t}){return t==null?void 0:t.mode()}mult({id1:t,id2:e}){return t==null?void 0:t.mult({id2:e})}pinv({id:t}){return t==null?void 0:t.pinv()}rank({id:t}){return t==null?void 0:t.rank()}sort({id:t,column:e,order:r}){t==null||t.sort({column:e,order:r})}trace({id:t}){return t==null?void 0:t.trace()}concat({id1:t,id2:e}){return t==null?void 0:t.concat({id2:e})}median({id:t}){return t==null?void 0:t.median()}add_col({id:t,column:e,array_id:r}){t==null||t.add_col({column:e,array_id:r})}add_row({id:t,row:e,array_id:r}){t==null||t.add_row({row:e,array_id:r})}is_zero({id:t}){return t==null?void 0:t.is_zero()}reshape({id:t,rows:e,columns:r},n){return t==null?void 0:t.reshape({rows:e,columns:r},n)}reverse({id:t}){t==null||t.reverse()}is_binary({id:t}){return t==null?void 0:t.is_binary()}is_square({id:t}){return t==null?void 0:t.is_square()}submatrix({id:t,from_row:e,to_row:r,from_column:n,to_column:s}){return t==null?void 0:t.submatrix({from_row:e,to_row:r,from_column:n,to_column:s})}swap_rows({id:t,row1:e,row2:r}){t==null||t.swap_rows({row1:e,row2:r})}transpose({id:t}){return t==null?void 0:t.transpose()}remove_col({id:t,column:e}){return t==null?void 0:t.remove_col({column:e})}remove_row({id:t,row:e}){return t==null?void 0:t.remove_row({row:e})}eigenvalues({id:t}){return t==null?void 0:t.eigenvalues()}is_diagonal({id:t}){return t==null?void 0:t.is_diagonal()}is_identity({id:t}){return t==null?void 0:t.is_identity()}eigenvectors({id:t}){return t==null?void 0:t.eigenvectors()}is_symmetric({id:t}){return t==null?void 0:t.is_symmetric()}swap_columns({id:t,column1:e,column2:r}){t==null||t.swap_columns({column1:e,column2:r})}is_stochastic({id:t}){return t==null?void 0:t.is_stochastic()}is_triangular({id:t}){return t==null?void 0:t.is_triangular()}elements_count({id:t}){return t==null?void 0:t.elements_count()}is_antidiagonal({id:t}){return t==null?void 0:t.is_antidiagonal()}is_antisymmetric({id:t}){return t==null?void 0:t.is_antisymmetric()}}class za{constructor(t=0,e=0,r=void 0,n){z(this,"_matrixInstance");z(this,"_errorListener");this._matrixInstance=this._createMatrix(t,e,r),this._errorListener=n}get _matrixArray(){return this._matrixInstance.map(t=>[...t._value])}get _value(){return this._matrixInstance}set _value(t){this._matrixInstance=t}get isMatrix(){return!0}_createMatrix(t,e,r){return Array.from(new Array(t),()=>new Qt(e,r,this._errorListener))}avg(){let t=0,e=0;for(const n of this._matrixInstance)for(const s of n._value)t+=_t(s)?0:s,e+=1;return t/e}col({column:t}){const e=[],r=new Qt(0,void 0,this._errorListener);if(_t(t))return r;for(const n of this._matrixInstance)e.push(n._value[t]);return r._value=e,r}det(){return If(this._matrixArray)}get({row:t,column:e}){var r,n;if(!(_t(t)||_t(e)))return(n=(r=this._matrixInstance[t])==null?void 0:r._value)==null?void 0:n[e]}inv(){const t=Qs(this._matrixArray);return this._newMatrix(t)}max(){return o1(this._matrixArray)}min(){return Ia(this._matrixArray)}pow({power:t}){const e=_t(t)?this._matrixArray:u1(this._matrixArray,t);return this._newMatrix(e)}row({row:t}){return _t(t)?new Qt(0,void 0,this._errorListener):this._matrixInstance[t]}set({row:t,column:e,value:r}){_t(t)||_t(e)||this._matrixInstance[t].set({index:e,value:r})}sum({id2:t}){const e=Ji(this._matrixArray,typeof t=="number"?t:t._matrixArray);return this._newMatrix(e)}copy(){return this._newMatrix(this._matrixArray)}diff({id2:t}){const e=t1(this._matrixArray,typeof t=="number"?t:t._matrixArray);return this._newMatrix(e)}rows(){return this._matrixInstance.length}columns(){return this._matrixArray.length&&this._matrixArray[0].length}fill({value:t,from_row:e,to_row:r,from_column:n,to_column:s}={}){_t(e)&&(e=0),_t(r)&&(r=this.rows()),_t(n)&&(n=0),_t(s)&&(s=this.columns());for(const[a,l]of this._matrixInstance.entries())for(const[c]of l._value.entries())a<r&&a>=e&&c>=n&&c<s&&l.set({index:c,value:t})}kron({id2:t}){const e=Xv(this._matrixArray,t._matrixArray);return this._newMatrix(e)}mode(){return Ia(Ff(this._matrixArray))}mult({id2:t}){const e=typeof t=="number"?t:t._matrixArray?t._matrixArray:t._value,r=wi(this._matrixArray,e);return this._newMatrix(r)}pinv(){const t=a1(this._matrixArray);return this._newMatrix(t)}rank(){return this._matrixRank(this._matrixArray)}sort({column:t,order:e=Yn.ascending}={}){_t(t)&&(t=0),this._matrixInstance.sort((r,n)=>{const s=r._value[t],a=n._value[t];return e!==Yn.descending?s-a:a-s})}trace(){return s1(this._matrixArray)}concat({id2:t}){for(const e of t._value)this._matrixInstance.push(e);return this}median(){return $f(this._matrixArray)}add_col({column:t,array_id:e}={}){_t(t)&&(t=this.columns());for(const[r,n]of this._matrixInstance.entries())n.insert({index:t,value:e?e._value[r]:void 0})}add_row({row:t,array_id:e}){_t(t)&&(t=this.rows()),this._matrixInstance.splice(t,0,e||new Qt(this.columns(),void 0,this._errorListener))}is_zero(){return this._matrixArray.every(t=>t.every(e=>e===0))}reshape({rows:t=0,columns:e=0},r){if(t*e!==this.columns()*this.rows()){this._errorListener.addError("New matrix must be of same area as original matrix",r,jt.Error);return}const n=Gv(this._matrixArray,[t,e]);this._matrixInstance=n.map(s=>{const a=new Qt(0,void 0,this._errorListener);return a._value=[...s],a})}reverse(){this._matrixInstance.reverse();for(const t of this._matrixInstance)t.reverse()}is_binary(){return this._matrixArray.every(t=>t.every(e=>e===0||e===1))}is_square(){return this.rows()===this.columns()}submatrix({from_row:t,to_row:e,from_column:r,to_column:n}={}){_t(t)&&(t=0),_t(e)&&(e=this.rows()),_t(r)&&(r=0),_t(n)&&(n=this.columns());const s=this._matrixArray.splice(t,e),a=[];for(const l of s)a.push(l.splice(r,n));return this._newMatrix(a)}swap_rows({row1:t,row2:e}){if(_t(t)||_t(e))return;const r=this._matrixInstance[t],n=this._matrixInstance[e];this._matrixInstance[t]=n,this._matrixInstance[e]=r}transpose(){const t=Nf(this._matrixArray);return this._newMatrix(t)}remove_col({column:t}={}){_t(t)&&(t=this.columns());const e=[];for(const n of this._matrixInstance){const s=n._value.splice(t,1);e.push(s[0])}const r=new Qt(0,void 0,this._errorListener);return r._value=e,r}remove_row({row:t}={}){return _t(t)&&(t=this.rows()),this._matrixInstance.splice(t,1)[0]}eigenvalues(){const t=new Gf(new Kf(this._matrixArray)),e=new Qt(0,void 0,this._errorListener);return e._value=t.realEigenvalues,e}is_diagonal(){const t=this.rows(),e=this.columns();if(t!==e)return!1;const r=this._matrixArray;for(let n=0;n<t;n++)for(let s=0;s<e;s++)if(n!==s&&r[n][s]!==0)return!1;return!0}is_identity(){const t=this.rows(),e=this.columns();if(t!==e)return!1;const r=this._matrixArray;for(let n=0;n<t;n++)for(let s=0;s<e;s++)if(n!==s&&r[n][s]!==0||n===s&&r[n][s]!==1)return!1;return!0}eigenvectors(){const t=new Gf(new Kf(this._matrixArray));return this._newMatrix(t.eigenvectorMatrix.to2DArray())}is_symmetric(){const t=this.rows(),e=this.columns();if(t!==e)return!1;const r=this._matrixArray;for(let n=0;n<t;n++)for(let s=n+1;s<e;s++)if(r[n][s]!==r[s][n])return!1;return!0}swap_columns({column1:t,column2:e}){if(!(_t(t)||_t(e)))for(const r of this._matrixInstance){const n=r._value[t],s=r._value[e];r.set({index:t,value:s}),r.set({index:e,value:n})}}is_stochastic(){const t=this._matrixArray;for(let e=0;e<t.length;e++){let r=0;for(let n=0;n<t[e].length;n++){if(t[e][n]<0)return!1;r+=t[e][n]}if(Math.abs(r-1)>Number.EPSILON)return!1}return!0}is_triangular(){const t=this.rows(),e=this.columns();return t!==e?!1:this._isUpperTriangular(t)||this._isLowerTriangular(t)}elements_count(){return Kv(this._matrixArray)}is_antidiagonal(){const t=this.rows(),e=this.columns();if(t!==e)return!1;const r=this._matrixArray;for(let n=0;n<t;n++)for(let s=0;s<t;s++)if(n+s!==t-1&&r[n][s]!==0)return!1;return!0}is_antisymmetric(){const t=this.rows(),e=this.columns();if(t!==e)return!1;const r=this._matrixArray;for(let n=0;n<t;n++)for(let s=0;s<t;s++)if(n!==s&&r[n][s]!==-r[s][n])return!1;return!0}_isUpperTriangular(t){const e=this._matrixArray;for(let r=1;r<t;r++)for(let n=0;n<r;n++)if(e[r][n]!==0)return!1;return!0}_isLowerTriangular(t){const e=this._matrixArray;for(let r=0;r<t-1;r++)for(let n=r+1;n<t;n++)if(e[r][n]!==0)return!1;return!0}_newMatrix(t){const e=new za(0,0,void 0,this._errorListener);return e._value=t.map(r=>{const n=new Qt(0,void 0,this._errorListener);return n._value=[...r],n}),e}_matrixRank(t){let e=0;const r=t.length,n=t[0].length,s=[...t].map(a=>[...a]);for(let a=0;a<r&&!(a>=n);a++){let l=a;for(;l<r&&s[l][a]===0;)l++;if(l===r)continue;if(l!==a){const h=s[l];s[l]=s[a],s[a]=h}const c=s[a][a];for(let h=0;h<n;h++)s[a][h]/=c;for(let h=a+1;h<r;h++){const p=s[h][a];s[h]=s[h].map((f,d)=>f-p*s[a][d]),s[h][a]=0}}for(let a=0;a<r;a++)s[a].some(l=>Number(l.toFixed(8))!==0)&&e++;return e}}class _w{constructor(t){z(this,"_variables");z(this,"_cacheData");this._variables=t,this._cacheData={}}change({timeframe:t},e){if(!t)return!0;const r=sn(t),n=sn(this._variables.timeframe.period);if(r<n)return!0;const s=`change_${e}`,a=this._cacheData[s],l=this._variables.time;if(a){if(a.offset){if(a.currentTime+a.offset<=l)return this._cacheData[s]={currentTime:l,offset:0},!0}else if(a.currentTime+r*1e3<=l)return this._cacheData[s]={currentTime:l,offset:0},!0}else{const c=this._calcTimeOffset(l,t);return this._cacheData[s]={currentTime:l,offset:c},!1}return!1}in_seconds({timeframe:t}={}){return sn(t||this._variables.timeframe.period)}from_seconds({seconds:t=0}){const e=t*1e3,r=ee.duration(e);if(r.years())return"12M";const s=r.asMonths();if(Js(s))return`${s}M`;const a=r.asWeeks();if(Js(a))return`${a}M`;const l=r.asDays();if(l>=1)return`${Math.ceil(l)}D`;const c=r.asMinutes();if(c>=1)return`${Math.ceil(c)}`;const h=r.asSeconds();return h<=1?"1S":h<=5?"5S":h<=10?"10S":h<=15?"15S":h<=30?"30S":"1"}_calcTimeOffset(t,e){let r=0;if(e.includes("W")){const l=ee(t).day();e="1D",l!==1&&(r=(8-l)*60*60*24*1e3)}else if(e.includes("M")){const l=ee(t).date();e="1D";const c=ee(t).daysInMonth();l!==1&&(r=(c-l+1)*60*60*24*1e3)}const n=this._variables.getTimeTradingday(t,e),s=sn(e)*1e3,a=t-n-Math.floor((t-n)/s)*s;return r?r-a:a}}class mw{constructor(t,e){z(this,"_errorListener");z(this,"_intlNumberFormatter");z(this,"_precision");this._errorListener=t,this._precision=e,this._intlNumberFormatter=new Intl.NumberFormat("en",{notation:"compact"})}pos({source:t="",str:e=""}){return t==null?void 0:t.indexOf(e)}trim({source:t=""}){return t==null?void 0:t.trim()}lower({source:t=""}){return t==null?void 0:t.toLocaleLowerCase()}match({source:t="",regex:e=""}){const r=t==null?void 0:t.match(new RegExp(e));return r?r[0]:""}split({string:t="",separator:e=""}){const r=t==null?void 0:t.split(e),n=new Qt;return n._value=r||[],n}upper({source:t=""}){return t==null?void 0:t.toLocaleUpperCase()}format({formatString:t=""},e){return this._strFormat(t,e)}length({string:t=""}){return t==null?void 0:t.length}repeat({source:t="",repeat:e,separator:r=""},n){if(_t(e)){this._errorListener.addError("Invalid array length",n,jt.Error);return}return Array.from(new Array(e),()=>t).join(r)}replace({source:t="",target:e="",replacement:r="",occurrence:n}){_t(n)&&(n=0);let s=-1;for(let a=0;a<n+1&&(s=t.indexOf(e,s+1),s!==-1);a++);return s!==-1?t.substring(0,s)+r+t.substring(s+e.length):t}contains({source:t="",str:e=""}){return t==null?void 0:t.includes(e)}endswith({source:t="",str:e=""}){return t==null?void 0:t.endsWith(e)}tonumber({string:t=""}){if(/[^\d.]/.test(t))return;const e=parseFloat(t);return isNaN(e)?void 0:e}tostring({value:t,format:e}){if(t===void 0)return"NaN";if(typeof t=="object"){if(t.isArray)return this._arrToStr(t._value,e);if(t.isMatrix){const r=[];for(const n of t._matrixArray)r.push(this._arrToStr(n,e));return r.join(`
62
- `)}}if(typeof t=="string")return t;if(typeof t=="boolean")return String(t);if(typeof t=="number")return String(this._toStringFormat(t,e))}_arrToStr(t,e){return`[${t.map(n=>typeof n=="number"?this._toStringFormat(n,e):n).toString()}]`}substring({source:t="",begin_pos:e=0,end_pos:r}){return _t(e)&&(e=0),_t(r)&&(r=void 0),t==null?void 0:t.substring(e,r)}startswith({source:t="",str:e=""}){return t==null?void 0:t.startsWith(e)}format_time({time:t,format:e="yyyy-MM-dd'T'HH:mm:ssZ",timezone:r}){return _t(t)&&(t=0),zr(t,r).format(e)}replace_all({source:t="",target:e="",replacement:r=""}){return t==null?void 0:t.replace(new RegExp(e,"g"),r)}_toStringFormat(t,e){if(!e)return t;switch(e){case Gt.mintick:return t.toFixed(this._precision);case Gt.price:return`${t}%`;case Gt.volume:return this._intlNumberFormatter.format(Math.round(t));default:const[r,n]=e.split(".");let[s,a=""]=String(t).split(".");if(r.includes("#")?s=r.replace(/#/,s).replace(/#/g,""):s=`${r}${s}`,n&&n.includes("#")){const l=n.split("#").length-1;a=`${a.substring(0,l)}${n.replace(/#/g,"")}`}else a=n||"";return a?`${s}.${a}`:s}}_formatNumber(t,e){if(!e)return t;switch(e){case"integer":return String(Math.round(t));case"currency":return`$${t}`;case"percent":return`${t*100}%`;default:const r=e.split(".")[1],n=r?r.length:0;return parseFloat(t.toFixed(n))}}_strFormat(t,e){let r=t;return e.forEach((n,s)=>{if(typeof n=="number"){const a=`\\{\\s*${s}\\s*,\\s*number\\s*,\\s*([^\\}]+)\\s*\\}`,l=t.match(new RegExp(a));if(l){const c=l[1];r=r.replace(new RegExp(a,"g"),String(this._formatNumber(n,c)))}else r=r.replace(new RegExp(`\\{${s}\\}`,"g"),String(n))}else r=r.replace(new RegExp(`\\{${s}\\}`,"g"),n)}),r}}class gw{constructor(t){z(this,"_errorListener");this._errorListener=t}new(){return new qa(this._errorListener)}copy({id:t}){return t==null?void 0:t.copy()}get({id:t,key:e}){return t==null?void 0:t.get({key:e})}put({id:t,key:e,value:r}){return t==null?void 0:t.put({key:e,value:r})}keys({id:t}){return t==null?void 0:t.keys()}size({id:t}){return t==null?void 0:t.size()}clear({id:t}){t==null||t.clear()}remove({id:t,key:e}){return t==null?void 0:t.remove({key:e})}values({id:t}){return t==null?void 0:t.values()}put_all({id:t,id2:e}){t==null||t.put_all({id2:e})}contains({id:t,key:e}){return t==null?void 0:t.contains({key:e})}}class qa{constructor(t){z(this,"_errorListener");z(this,"_mapInstance");this._errorListener=t,this._mapInstance=new Map}get isMap(){return!0}_copyMap(t){const e=new qa(this._errorListener);return e._mapInstance=new Map(t.entries()),e}copy(){return this._copyMap(this._mapInstance)}get({key:t}){return this._mapInstance.get(t)}put({key:t,value:e}){return this._mapInstance.set(t,e)}keys(){const t=new Qt(0,void 0,this._errorListener);return t._value=[...this._mapInstance.keys()],t}size(){return this._mapInstance.size}clear(){this._mapInstance.clear()}remove({key:t}){const e=this._mapInstance.get(t);return this._mapInstance.delete(t),e||void 0}values(){const t=new Qt(0,void 0,this._errorListener);return t._value=[...this._mapInstance.values()],t}put_all({id2:t}){this._mapInstance=new Map([...this._mapInstance,...t._mapInstance])}contains({key:t}){return this._mapInstance.has(t)}}class vw{constructor(t){z(this,"_variables");this._variables=t}new({price:t,time:e,index:r}){return new Xn(t,r,e)}now({price:t}){const{time:e,bar_index:r}=this._variables;return new Xn(t,r,e)}copy({id:t}){const{price:e,time:r,index:n}=t||{};return new Xn(e,n,r)}from_index({price:t,index:e}){return new Xn(t,e)}from_time({price:t,time:e}){return new Xn(t,void 0,e)}}class Xn{constructor(t,e,r){z(this,"_index");z(this,"_price");z(this,"_time");this._index=e,this._price=t,this._time=r}get index(){return this._index}get price(){return this._price}get time(){return this._time}copy(){return new Xn(this._price,this._index,this._time)}}class ww{constructor(t,e){z(this,"_variables");z(this,"_errorListener");z(this,"_defaultLabel",{text:"",xloc:ve.bar_index,yloc:Ur.price,size:tr.normal,style:de.styleLabelDown,textalign:Ut.alignCenter});this._variables=t,this._errorListener=e}new(t,e){const{time:r,high:n,low:s,bar_index:a}=this._variables,l=`label_${e}_${a}`,c={...this._defaultLabel,...t,id:l,time:r};t.point&&(c.x=c.xloc===ve.bar_index?t.point.index:t.point.time,c.y=t.point.price),c.yloc===Ur.abovebar?c.y=n:c.yloc===Ur.belowbar&&(c.y=s),this._verfiyArgs(t,e);const h=new Qi(l,this._variables,this._errorListener);return e.startsWith("export")||this._variables.label.add(l,c,h),h}_verfiyArgs(t,e){const{xloc:r,yloc:n,style:s,size:a,textalign:l,text_font_family:c}=t,h="label.new";this._paramVerfiy(s,e,h,Object.values(de),"style"),this._paramVerfiy(r,e,h,Object.values(ve),"xloc"),this._paramVerfiy(n,e,h,Object.values(Ur),"yloc"),this._paramVerfiy(a,e,h,Object.values(tr),"size"),this._paramVerfiy(l,e,h,[Ut.alignLeft,Ut.alignCenter,Ut.alignRight],"textalign"),this._paramVerfiy(c,e,h,Object.values(Vn),"text_font_family")}_paramVerfiy(t="",e,r,n,s){t&&!n.includes(t)&&this._errorListener.addError(Qe(Ye.paramsErr,{value:t,func:r,param:s,targetVal:`[${n.join(", ")}]`}),e,jt.Error)}label(t,e){return t.x?t.x:new Qi(e,this._variables,this._errorListener)}copy({id:t},e){return t==null?void 0:t.copy(e)}get_x({id:t},e){return t==null?void 0:t.get_x(e)}get_y({id:t},e){return t==null?void 0:t.get_y(e)}set_x({id:t,...e},r){t==null||t.set_x(e,r)}set_y({id:t,...e},r){t==null||t.set_y(e,r)}delete({id:t}){t==null||t.delete()}get_text({id:t},e){return t==null?void 0:t.get_text(e)}set_xy({id:t,...e},r){t==null||t.set_xy(e,r)}set_size({id:t,...e},r){t==null||t.set_size(e,r)}set_xloc({id:t,...e},r){t==null||t.set_xloc(e,r)}set_yloc({id:t,...e},r){t==null||t.set_yloc(e,r)}set_style({id:t,...e},r){t==null||t.set_style(e,r)}set_color({id:t,...e},r){t==null||t.set_color(e,r)}set_tooltip({id:t,...e},r){t==null||t.set_tooltip(e,r)}set_point({id:t,...e},r){t==null||t.set_point(e,r)}set_text({id:t,...e},r){t==null||t.set_text(e,r)}set_textcolor({id:t,...e},r){t==null||t.set_textcolor(e,r)}set_textalign({id:t,...e},r){t==null||t.set_textalign(e,r)}set_text_font_family({id:t,...e},r){t==null||t.set_text_font_family(e,r)}}class Qi{constructor(t,e,r){z(this,"_id");z(this,"_variables");z(this,"_errorListener");this._id=t,this._variables=e,this._errorListener=r}copy(t){const e=`label_${t}_${this._variables.bar_index}`,r=this._getLabel(t),n=new Qi(e,this._variables,this._errorListener);return r&&this._variables.label.add(e,{...r,id:e},n),n}get_x(t){var e;return(e=this._getLabel(t))==null?void 0:e.x}get_y(t){var e;return(e=this._getLabel(t))==null?void 0:e.y}set_x({x:t},e){const r=this._getLabel(e);r&&(r.x=t)}set_y({y:t},e){const r=this._getLabel(e);r&&(r.y=t)}delete(){this._variables.label.delete(this._id)}set_xy({x:t,y:e},r){const n=this._getLabel(r);n&&(n.x=t,n.y=e)}get_text(t){var e;return(e=this._getLabel(t))==null?void 0:e.text}set_size({size:t},e){const r=this._getLabel(e);r&&(r.size=t),this._paramVerfiy(t,e,"label.set_size",Object.values(tr),"size")}set_text({text:t},e){const r=this._getLabel(e);r&&(r.text=t)}set_xloc({x:t,xloc:e},r){const n=this._getLabel(r);n&&(n.x=t,n.xloc=e,this._paramVerfiy(e,r,"label.set_xloc",Object.values(ve),"xloc"))}set_yloc({yloc:t},e){const r=this._getLabel(e),{high:n,low:s}=this._variables;r&&(r.yloc=t,t===Ur.abovebar?r.y=n:t===Ur.belowbar&&(r.y=s),this._paramVerfiy(t,e,"label.set_yloc",Object.values(Ur),"yloc"))}set_color({color:t},e){const r=this._getLabel(e);r&&(r.color=t)}set_point({point:t},e){const r=this._getLabel(e);r&&(r.x=r.xloc===ve.bar_index?t==null?void 0:t.index:t==null?void 0:t.time,r.y=t==null?void 0:t.price)}set_style({style:t},e){const r=this._getLabel(e);r&&(r.style=t),this._paramVerfiy(t,e,"label.set_style",Object.values(de),"style")}set_tooltip({tooltip:t},e){const r=this._getLabel(e);r&&(r.tooltip=t)}set_textalign({textalign:t},e){const r=this._getLabel(e);r&&(r.textalign=t),this._paramVerfiy(t,e,"label.set_textalign",[Ut.alignLeft,Ut.alignCenter,Ut.alignRight],"textalign")}set_textcolor({textcolor:t},e){const r=this._getLabel(e);r&&(r.textcolor=t)}set_text_font_family({text_font_family:t},e){const r=this._getLabel(e);r&&(r.text_font_family=t),this._paramVerfiy(t,e,"label.set_text_font_family",Object.values(Vn),"text_font_family")}_paramVerfiy(t="",e,r,n,s){t&&!n.includes(t)&&this._errorListener.addError(Qe(Ye.paramsErr,{value:t,func:r,param:s,targetVal:`[${n.join(", ")}]`}),e,jt.Error)}_getLabel(t){const e=this._variables.label.get(this._id);return e||console.log(`错误${t}: label 不存在`),e}}const yw={freq_all:qr.freqAll,freq_once_per_bar:qr.freqOncePerBar,freq_once_per_bar_close:qr.freqOncePerBarClose},Dw={gaps_off:ji.gapsOff,gaps_on:ji.gapsOn,lookahead_off:ji.lookaheadOff,lookahead_on:ji.lookaheadOn},xi={aqua:"#00BCD4",black:"#363A45",blue:"#2196F3",fuchsia:"#E040FB",gray:"#787B86",green:"#4CAF50",lime:"#00E676",maroon:"#880E4F",navy:"#311B92",olive:"#808000",orange:"#FF9800",purple:"#9C27B0",red:"#FF5252",silver:"#B2B5BE",teal:"#00897B",white:"#FFFFFF",yellow:"#FFEB3B"},Hf={AUD:"AUD",BTC:"BTC",CAD:"CAD",CHF:"CHF",ETH:"ETH",EUR:"EUR",GBP:"GBP",HKD:"HKD",INR:"INR",JPY:"JPY",KRW:"KRW",MYR:"MYR",NOK:"NOK",NONE:"NONE",NZD:"NZD",RUB:"RUB",SEK:"SEK",SGD:"SGD",TRY:"TRY",USD:"USD",USDT:"USDT",ZAR:"ZAR"},bw={friday:6,monday:2,saturday:7,sunday:1,thursday:5,tuesday:3,wednesday:4},Jf={all:[Ue.dataWindow,Ue.pane,Ue.priceScale,Ue.statusLine],data_window:[Ue.dataWindow],none:[],pane:[Ue.pane],price_scale:[Ue.priceScale],status_line:[Ue.statusLine]},Ew={both:kr.both,left:kr.left,none:kr.none,right:kr.right},xw={inherit:Gt.inherit,mintick:Gt.mintick,percent:Gt.percent,price:Gt.price,volume:Gt.volume},Aw={style_solid:bs.styleSolid,style_dashed:bs.styleDashed,style_dotted:bs.styleDotted},Cw={style_arrowdown:de.styleArrowdown,style_arrowup:de.styleArrowup,style_circle:de.styleCircle,style_cross:de.styleCross,style_diamond:de.styleDiamond,style_flag:de.styleFlag,style_label_center:de.styleLabelCenter,style_label_down:de.styleLabelDown,style_label_left:de.styleLabelLeft,style_label_lower_left:de.styleLabelLowerLeft,style_label_lower_right:de.styleLabelLowerRight,style_label_right:de.styleLabelRight,style_label_up:de.styleLabelUp,style_label_upper_left:de.styleLabelUpperLeft,style_label_upper_right:de.styleLabelUpperRight,style_none:de.styleNone,style_square:de.styleSquare,style_text_outline:de.styleTextOutline,style_triangledown:de.styleTriangledown,style_triangleup:de.styleTriangleup,style_xcross:de.styleXcross},Fw={style_arrow_both:Ie.styleArrowBoth,style_arrow_left:Ie.styleArrowLeft,style_arrow_right:Ie.styleArrowRight,style_dashed:Ie.styleDashed,style_dotted:Ie.styleDotted,style_solid:Ie.styleSolid},Mw={abovebar:on.abovebar,absolute:on.absolute,belowbar:on.belowbar,bottom:on.bottom,top:on.top},Nw={e:2.718281828459045,phi:1.618033988749895,pi:3.141592653589793,rphi:.6180339887498948},Sw={style_area:Ar.styleArea,style_areabr:Ar.styleAreabr,style_circles:Ar.styleCircles,style_columns:Ar.styleColumns,style_cross:Ar.styleCross,style_histogram:Ar.styleHistogram,style_line:Ar.styleLine,style_linebr:Ar.styleLinebr,style_stepline:Ar.styleStepline,style_stepline_diamond:Ar.styleSteplineDiamond,style_steplinebr:Ar.styleSteplinebr},Bw={bottom_center:hr.bottomCenter,bottom_left:hr.bottomLeft,bottom_right:hr.bottomRight,middle_center:hr.middleCenter,middle_left:hr.middleLeft,middle_right:hr.middleRight,top_center:hr.topCenter,top_left:hr.topLeft,top_right:hr.topRight},Ow={left:Es.left,none:Es.none,right:Es.right},Tw={arrowdown:ir.arrowdown,arrowup:ir.arrowup,circle:ir.circle,cross:ir.cross,diamond:ir.diamond,flag:ir.flag,labeldown:ir.labeldown,labelup:ir.labelup,square:ir.square,triangledown:ir.triangledown,triangleup:ir.triangleup,xcross:ir.xcross},Iw={auto:tr.auto,huge:tr.huge,large:tr.large,normal:tr.normal,small:tr.small,tiny:tr.tiny},$w={cash:Se.cash,fixed:Se.fixed,percent_of_equity:Se.percentOfEquity,commission:{cash_per_contract:Cr.cashPerContract,cash_per_order:Cr.cashPerOrder,percent:Cr.percent},direction:{all:_e.all,long:_e.long,short:_e.short},oca:{cancel:an.cancel,none:an.none,reduce:an.reduce}},Lw={align_bottom:Ut.alignBottom,align_center:Ut.alignCenter,align_left:Ut.alignLeft,align_right:Ut.alignRight,align_top:Ut.alignTop,wrap_auto:Ut.wrapAuto,wrap_none:Ut.wrapNone},Rw={bar_index:ve.bar_index,bar_time:ve.bar_time},Pw={abovebar:Ur.abovebar,belowbar:Ur.belowbar,price:Ur.price},zw={actual:xs.actual,estimate:xs.estimate,standardized:xs.standardized};class qw{constructor(){z(this,"adjustment",{dividends:Ds.dividends,none:Ds.none,splits:Ds.splits});z(this,"alert",yw);z(this,"barmerge",Dw);z(this,"color",xi);z(this,"currency",Hf);z(this,"dayofweek",bw);z(this,"earnings",zw);z(this,"display",Jf);z(this,"extend",Ew);z(this,"font",{family_default:Vn.familyDefault,family_monospace:Vn.familyMonospace});z(this,"format",xw);z(this,"hline",Aw);z(this,"label",Cw);z(this,"line",Fw);z(this,"location",Mw);z(this,"math",Nw);z(this,"order",{ascending:Yn.ascending,descending:Yn.descending});z(this,"plot",Sw);z(this,"position",Bw);z(this,"scale",Ow);z(this,"session",{extended:aa.extended,regular:aa.regular});z(this,"shape",Tw);z(this,"size",Iw);z(this,"splits",{denominator:"denominator",numerator:"numerator"});z(this,"strategy",$w);z(this,"text",Lw);z(this,"xloc",Rw);z(this,"yloc",Pw)}updateData(){}}class kw{constructor(t,e){z(this,"_variables");z(this,"_errorListener");z(this,"_defaultPolyline",{curved:!1,closed:!1,xloc:ve.bar_index,line_color:xi.blue,line_style:Ie.styleSolid,line_width:1});this._variables=t,this._errorListener=e}new(t,e){const r=`polyline_${e}_${this._variables.bar_index}`,n=Object.assign({},this._defaultPolyline,t,{id:r}),s=new Xf(r,this._variables);return this._verfiyArgs(t,e),e.startsWith("export")||this._variables.polyline.add(r,n,s),s}_verfiyArgs(t,e){const{line_style:r,xloc:n}=t,s="polyline.new";this._paramVerfiy(r,e,s,Object.values(Ie),"line_style"),this._paramVerfiy(n,e,s,Object.values(ve),"xloc")}_paramVerfiy(t="",e,r,n,s){t&&!n.includes(t)&&this._errorListener.addError(Qe(Ye.paramsErr,{value:t,func:r,param:s,targetVal:`[${n.join(", ")}]`}),e,jt.Error)}delete({id:t}){t&&t.delete()}}class Xf{constructor(t,e){z(this,"_id");z(this,"_variables");this._variables=e,this._id=t}delete(){this._variables.polyline.delete(this._id)}}class Uw{constructor(t,e){z(this,"_variables");z(this,"_errorListener");z(this,"_defaultLine",{xloc:ve.bar_index,extend:kr.none,style:Ie.styleSolid});this._variables=t,this._errorListener=e}new({first_point:t,second_point:e,...r},n){const s=`line_${n}_${this._variables.bar_index}`,a={...this._defaultLine,...r,id:s};if(t&&e){const c=a.xloc===ve.bar_index?t.index:t.time,h=a.xloc===ve.bar_index?e.index:e.time;Object.assign(a,{x1:c,y1:t.price,x2:h,y2:e.price})}this._verfiyArgs(r,n);const l=new ts(s,this._variables,this._errorListener);return n.startsWith("export")||this._variables.line.add(s,a,l),l}_verfiyArgs(t,e){const{extend:r,xloc:n,style:s}=t,a="line.new";this._paramVerfiy(s,e,a,Object.values(Ie),"style"),this._paramVerfiy(r,e,a,Object.values(kr),"extend"),this._paramVerfiy(n,e,a,Object.values(ve),"xloc")}_paramVerfiy(t="",e,r,n,s){t&&!n.includes(t)&&this._errorListener.addError(Qe(Ye.paramsErr,{value:t,func:r,param:s,targetVal:`[${n.join(", ")}]`}),e,jt.Error)}line(t,e){return t.x?t.x:new ts(e,this._variables,this._errorListener)}copy({id:t},e){return t==null?void 0:t.copy(e)}delete({id:t}){t==null||t.delete()}get_x1({id:t},e){return t==null?void 0:t.get_x1(e)}get_x2({id:t},e){return t==null?void 0:t.get_x2(e)}get_y1({id:t},e){return t==null?void 0:t.get_y1(e)}get_y2({id:t},e){return t==null?void 0:t.get_y2(e)}set_x1({id:t,...e},r){t==null||t.set_x1(e,r)}set_x2({id:t,...e},r){t==null||t.set_x2(e,r)}set_y1({id:t,...e},r){t==null||t.set_y1(e,r)}set_y2({id:t,...e},r){t==null||t.set_y2(e,r)}set_xy1({id:t,...e},r){t==null||t.set_xy1(e,r)}set_xy2({id:t,...e},r){t==null||t.set_xy2(e,r)}set_xloc({id:t,...e},r){t==null||t.set_xloc(e,r)}get_price({id:t,...e},r){return t==null?void 0:t.get_price(e,r)}set_color({id:t,...e},r){t==null||t.set_color(e,r)}set_style({id:t,...e},r){t==null||t.set_style(e,r)}set_width({id:t,...e},r){t==null||t.set_width(e,r)}set_extend({id:t,...e},r){t==null||t.set_extend(e,r)}set_first_point({id:t,...e},r){t==null||t.set_first_point(e,r)}set_second_point({id:t,...e},r){t==null||t.set_second_point(e,r)}}class ts{constructor(t,e,r){z(this,"_variables");z(this,"_id");z(this,"_errorListener");this._id=t,this._variables=e,this._errorListener=r}get data(){return this._variables.line.get(this._id)}copy(t){const e=`line_${t}_${this._variables.bar_index}`,r=this._getLine(t),n=new ts(e,this._variables,this._errorListener);return r&&this._variables.line.add(e,{...r,id:e},n),n}delete(){this._variables.line.delete(this._id)}get_price({x:t},e){const r=this._getLine(e);if(t===void 0)return t;if(r&&r.xloc===ve.bar_index){const{x1:n,y1:s,x2:a,y2:l}=r;return n===void 0||a===void 0||s===void 0||l===void 0?void 0:(l-s)/(a-n)*(t-n)+s}}get_x1(t){var e;return(e=this._getLine(t))==null?void 0:e.x1}get_x2(t){var e;return(e=this._getLine(t))==null?void 0:e.x2}get_y1(t){var e;return(e=this._getLine(t))==null?void 0:e.y1}get_y2(t){var e;return(e=this._getLine(t))==null?void 0:e.y2}set_x1({x:t},e){const r=this._getLine(e);r&&(r.x1=t)}set_x2({x:t},e){const r=this._getLine(e);r&&(r.x2=t)}set_y1({y:t},e){const r=this._getLine(e);r&&(r.y1=t)}set_y2({y:t},e){const r=this._getLine(e);r&&(r.y2=t)}set_xy1({x:t,y:e},r){const n=this._getLine(r);n&&(n.x1=t,n.y1=e)}set_xy2({x:t,y:e},r){const n=this._getLine(r);n&&(n.x2=t,n.y2=e)}set_xloc({xloc:t,x1:e,x2:r},n){const s=this._getLine(n);s&&(s.xloc=t,s.x1=e,s.x2=r,this._paramVerfiy(t,n,"line.set_xloc",Object.values(ve),"xloc"))}set_color({color:t},e){const r=this._getLine(e);r&&(r.color=t)}set_style({style:t},e){const r=this._getLine(e);r&&(r.style=t,this._paramVerfiy(t,e,"line.set_style",Object.values(Ie),"style"))}set_width({width:t},e){const r=this._getLine(e);r&&(r.width=t)}set_extend({extend:t},e){const r=this._getLine(e);r&&(r.extend=t,this._paramVerfiy(t,e,"line.set_extend",Object.values(kr),"extend"))}set_first_point({point:t},e){const r=this._getLine(e);if(r){const{index:n,time:s,price:a}=t||{},l=r.xloc===ve.bar_index?n:s,c=a;l&&(r.x1=l),c&&(r.y1=c)}}set_second_point({point:t},e){const r=this._getLine(e);if(r){const{index:n,time:s,price:a}=t||{},l=r.xloc===ve.bar_index?n:s,c=a;l&&(r.x2=l),c&&(r.y2=c)}}_paramVerfiy(t="",e,r,n,s){t&&!n.includes(t)&&this._errorListener.addError(Qe(Ye.paramsErr,{value:t,func:r,param:s,targetVal:`[${n.join(", ")}]`}),e,jt.Error)}_getLine(t){const e=this._variables.line.get(this._id);return e||console.log(`${t}: line 不存在`),e}}class Ww{constructor(t){z(this,"_variables");this._variables=t}new({line1:t,line2:e,color:r},n){const s=`linefill_${n}_${this._variables.bar_index}`,a=t==null?void 0:t.data,l=e==null?void 0:e.data;a&&(a.linefills=a.linefills||[],a.linefills.push(s)),l&&(l.linefills=l.linefills||[],l.linefills.push(s));const c=new uo(this._variables,s,t,e);return n.startsWith("export")||(a||l)&&this._variables.linefill.add(s,{line1:a,line2:l,color:r,id:s},c),c}delete({id:t}){t==null||t.delete()}get_line1({id:t}){return t==null?void 0:t.get_line1()}get_line2({id:t}){return t==null?void 0:t.get_line2()}set_color({id:t,...e}){t==null||t.set_color(e)}}class uo{constructor(t,e,r,n){z(this,"_id");z(this,"_line1");z(this,"_line2");z(this,"_variables");this._variables=t,this._id=e,this._line1=r,this._line2=n}linefill(t,e){return t.x?t.x:new uo(this._variables,e)}delete(){var e,r;const t=this._variables.linefill.get(this._id);if(t){const{line1:n,line2:s}=t;n&&(n.linefills=(e=n.linefills)==null?void 0:e.filter(a=>a!==this._id)),s&&(s.linefills=(r=s.linefills)==null?void 0:r.filter(a=>a!==this._id))}this._line1=void 0,this._line2=void 0,this._variables.linefill.delete(this._id)}get_line1(){return this._line1}get_line2(){return this._line2}set_color({color:t}){const e=this._variables.linefill.get(this._id);e&&(e.color=t)}}class jw{constructor(t,e){z(this,"_variables");z(this,"_errorListener");z(this,"_defaultBox",{border_color:xi.blue,border_width:1,bgcolor:xi.blue,xloc:ve.bar_index,extend:kr.none,style:Ie.styleSolid,text:"",text_size:tr.auto,text_color:xi.black,text_halign:Ut.alignCenter,text_valign:Ut.alignCenter,text_wrap:Ut.wrapNone});this._variables=t,this._errorListener=e}box({x:t},e){return t===void 0?new es(this._variables,e,this._errorListener):t}new({top_left:t,bottom_right:e,...r},n){const s=`box_${n}_${this._variables.bar_index}`,a={...this._defaultBox,...r,id:s};if(t){const{price:c,time:h,index:p}=t;a.top=c,a.left=a.xloc===ve.bar_index?p:h}if(e){const{price:c,time:h,index:p}=e;a.bottom=c,a.right=a.xloc===ve.bar_index?p:h}this._verfiyArgs(r,n);const l=new es(this._variables,s,this._errorListener);return n.startsWith("export")||this._variables.box.add(s,a,l),l}_verfiyArgs(t,e){const{border_style:r,extend:n,xloc:s,text_size:a,text_halign:l,text_valign:c,text_wrap:h,text_font_family:p}=t,f="box.new";this._paramVerfiy(r,e,f,[Ie.styleDashed,Ie.styleDotted,Ie.styleSolid],"border_style"),this._paramVerfiy(n,e,f,Object.values(kr),"extend"),this._paramVerfiy(s,e,f,Object.values(ve),"xloc"),this._paramVerfiy(a,e,f,Object.values(tr),"text_size"),this._paramVerfiy(l,e,f,[Ut.alignLeft,Ut.alignCenter,Ut.alignRight],"text_halign"),this._paramVerfiy(c,e,f,[Ut.alignBottom,Ut.alignCenter,Ut.alignTop],"text_valign"),this._paramVerfiy(h,e,f,[Ut.wrapAuto,Ut.wrapNone],"text_wrap"),this._paramVerfiy(p,e,f,Object.values(Vn),"text_font_family")}_paramVerfiy(t="",e,r,n,s){t&&!n.includes(t)&&this._errorListener.addError(Qe(Ye.paramsErr,{value:t,func:r,param:s,targetVal:`[${n.join(", ")}]`}),e,jt.Error)}copy({id:t},e){return t==null?void 0:t.copy(e)}delete({id:t}){t==null||t.delete()}get_top({id:t}){return t==null?void 0:t.get_top()}get_bottom({id:t}){return t==null?void 0:t.get_bottom()}get_left({id:t}){return t==null?void 0:t.get_left()}get_right({id:t}){return t==null?void 0:t.get_right()}set_top({id:t,...e}){t==null||t.set_top(e)}set_bottom({id:t,...e}){t==null||t.set_bottom(e)}set_left({id:t,...e}){t==null||t.set_left(e)}set_right({id:t,...e}){t==null||t.set_right(e)}set_extend({id:t,...e},r){t==null||t.set_extend(e,r)}set_bgcolor({id:t,...e}){t==null||t.set_bgcolor(e)}set_border_color({id:t,...e}){t==null||t.set_border_color(e)}set_border_width({id:t,...e}){t==null||t.set_border_width(e)}set_border_style({id:t,...e},r){t==null||t.set_border_style(e,r)}set_lefttop({id:t,...e}){t==null||t.set_lefttop(e)}set_rightbottom({id:t,...e}){t==null||t.set_rightbottom(e)}set_text_size({id:t,...e},r){t==null||t.set_text_size(e,r)}set_text_wrap({id:t,...e},r){t==null||t.set_text_wrap(e,r)}set_text_color({id:t,...e}){t==null||t.set_text_color(e)}set_text_halign({id:t,...e},r){t==null||t.set_text_halign(e,r)}set_text_valign({id:t,...e},r){t==null||t.set_text_valign(e,r)}set_top_left_point({id:t,...e}){t==null||t.set_top_left_point(e)}set_bottom_right_point({id:t,...e}){t==null||t.set_bottom_right_point(e)}set_text_font_family({id:t,...e},r){t==null||t.set_text_font_family(e,r)}}class es{constructor(t,e,r){z(this,"_id");z(this,"_variables");z(this,"_errorListener");this._variables=t,this._id=e,this._errorListener=r}copy(t){const e=`box_${t}_${this._variables.bar_index}`,r=this._getBox(),n=new es(this._variables,e,this._errorListener);return r&&this._variables.box.add(e,{...r,id:e},n),n}delete(){this._variables.box.delete(this._id)}get_top(){const t=this._getBox();return t&&t.top}set_top({top:t}){const e=this._getBox();e&&(e.top=t)}get_left(){const t=this._getBox();return t&&t.left}set_left({left:t}){const e=this._getBox();e&&(e.left=t)}set_text({text:t}){const e=this._getBox();e&&(e.text=t)}get_right(){const t=this._getBox();return t&&t.right}set_right({right:t}){const e=this._getBox();e&&(e.right=t)}get_bottom(){const t=this._getBox();return t&&t.bottom}set_bottom({bottom:t}){const e=this._getBox();e&&(e.bottom=t)}set_extend({extend:t},e){const r=this._getBox();r&&(r.extend=t,this._paramVerfiy(t,e,"box.set_extend",Object.values(kr),"extend"))}set_bgcolor({color:t}){const e=this._getBox();e&&(e.bgcolor=t)}set_lefttop({left:t,top:e}){const r=this._getBox();r&&(r.left=t,r.top=e)}set_text_size({text_size:t},e){const r=this._getBox();r&&(r.text_size=t,this._paramVerfiy(t,e,"box.set_text_size",Object.values(tr),"text_size"))}set_text_wrap({text_wrap:t},e){const r=this._getBox();r&&(r.text_wrap=t,this._paramVerfiy(t,e,"box.set_text_wrap",[Ut.wrapAuto,Ut.wrapNone],"text_wrap"))}set_text_color({text_color:t}){const e=this._getBox();e&&(e.text_color=t)}set_rightbottom({right:t,bottom:e}){const r=this._getBox();r&&(r.right=t,r.bottom=e)}set_text_halign({text_halign:t},e){const r=this._getBox();r&&(r.text_halign=t,this._paramVerfiy(t,e,"box.set_text_halign",[Ut.alignLeft,Ut.alignCenter,Ut.alignRight],"text_halign"))}set_text_valign({text_valign:t},e){const r=this._getBox();r&&(r.text_valign=t,this._paramVerfiy(t,e,"box.set_text_valign",[Ut.alignBottom,Ut.alignCenter,Ut.alignTop],"text_valign"))}set_top_left_point({point:t}){const e=this._getBox();if(e){const{index:r,price:n,time:s}=t||{};e.top=n,e.left=e.xloc===ve.bar_index?r:s}}set_border_color({color:t}){const e=this._getBox();e&&(e.border_color=t)}set_border_style({style:t},e){const r=this._getBox();r&&(r.border_style=t,this._paramVerfiy(t,e,"box.set_border_style",[Ie.styleDashed,Ie.styleDotted,Ie.styleSolid],"style"))}set_border_width({width:t}){const e=this._getBox();e&&(e.border_width=t)}set_bottom_right_point({point:t}){const e=this._getBox();if(e){const{index:r,price:n,time:s}=t||{};e.bottom=n,e.right=e.xloc===ve.bar_index?r:s}}set_text_font_family({text_font_family:t},e){const r=this._getBox();r&&(r.text_font_family=t,this._paramVerfiy(t,e,"box.set_text_font_family",Object.values(Vn),"text_font_family"))}_paramVerfiy(t="",e,r,n,s){t&&!n.includes(t)&&this._errorListener.addError(Qe(Ye.paramsErr,{value:t,func:r,param:s,targetVal:`[${n.join(", ")}]`}),e,jt.Error)}_getBox(){return this._variables.box.get(this._id)}}class Yw{constructor(t,e){z(this,"_variables");z(this,"_errorListener");z(this,"_defaultTable",{position:hr.topLeft,columns:0,rows:0,frame_width:0,border_width:0});this._variables=t,this._errorListener=e}table({x:t},e){return t||new ka(this._variables,e,this._errorListener)}new(t,e){const r=`table_${e}_${this._variables.bar_index}`,n={...this._defaultTable,...t,cell:[],id:r},s=new ka(this._variables,r,this._errorListener);return this._paramVerfiy(t.position,e,"table.new",Object.values(hr),"position"),e.startsWith("export")||this._variables.table.add(r,n,s),s}_paramVerfiy(t="",e,r,n,s){t&&!n.includes(t)&&this._errorListener.addError(Qe(Ye.paramsErr,{value:t,func:r,param:s,targetVal:`[${n.join(", ")}]`}),e,jt.Error)}cell({table_id:t,...e}){t==null||t.cell(e)}cell_set_bgcolor({table_id:t,...e}){t==null||t.cell_set_bgcolor(e)}cell_set_height({table_id:t,...e}){t==null||t.cell_set_height(e)}cell_set_text({table_id:t,...e}){t==null||t.cell_set_text(e)}cell_set_text_color({table_id:t,...e}){t==null||t.cell_set_text_color(e)}cell_set_text_font_family({table_id:t,...e}){t==null||t.cell_set_text_font_family(e)}cell_set_text_halign({table_id:t,...e}){t==null||t.cell_set_text_halign(e)}cell_set_text_valign({table_id:t,...e}){t==null||t.cell_set_text_valign(e)}cell_set_text_size({table_id:t,...e}){t==null||t.cell_set_text_size(e)}cell_set_tooltip({table_id:t,...e}){t==null||t.cell_set_tooltip(e)}cell_set_width({table_id:t,...e}){t==null||t.cell_set_width(e)}clear({table_id:t,...e}){t==null||t.clear(e)}delete({table_id:t}){t==null||t.delete()}merge_cells({table_id:t,...e},r){t==null||t.merge_cells(e,r)}set_bgcolor({table_id:t,...e}){t==null||t.set_bgcolor(e)}set_border_color({table_id:t,...e}){t==null||t.set_border_color(e)}set_border_width({table_id:t,...e}){t==null||t.set_border_width(e)}set_frame_color({table_id:t,...e}){t==null||t.set_frame_color(e)}set_frame_width({table_id:t,...e}){t==null||t.set_frame_width(e)}set_position({table_id:t,...e},r){t==null||t.set_position(e,r)}}class ka{constructor(t,e,r){z(this,"_id");z(this,"_variables");z(this,"_errorListener");z(this,"_defaultCell",{column:0,row:0,text:"",text_color:xi.black,text_halign:Ut.alignCenter,text_valign:Ut.alignCenter,text_size:tr.normal});this._variables=t,this._id=e,this._errorListener=r}cell(t){const e={...this._defaultCell,...t},{column:r=0,row:n=0}=e,s=this._variables.table.get(this._id);if(s){const a=s.cell||[],l=a[n]||[];l[r]=e,a[n]=l,s.cell=a}}cell_set_bgcolor({column:t=0,row:e=0,bgcolor:r}){const n=this._getTableItem(t,e);n&&(n.bgcolor=r)}cell_set_height({column:t=0,row:e=0,height:r}){const n=this._getTableItem(t,e);n&&(n.height=r)}cell_set_text({column:t=0,row:e=0,text:r}){const n=this._getTableItem(t,e);n&&(n.text=r)}cell_set_text_color({column:t=0,row:e=0,text_color:r}){const n=this._getTableItem(t,e);n&&(n.text_color=r)}cell_set_text_font_family({column:t=0,row:e=0,text_font_family:r}){const n=this._getTableItem(t,e);n&&(n.text_font_family=r)}cell_set_text_halign({column:t=0,row:e=0,text_halign:r}){const n=this._getTableItem(t,e);n&&(n.text_halign=r)}cell_set_text_valign({column:t=0,row:e=0,text_valign:r}){const n=this._getTableItem(t,e);n&&(n.text_valign=r)}cell_set_text_size({column:t=0,row:e=0,text_size:r}){const n=this._getTableItem(t,e);n&&(n.text_size=r)}cell_set_tooltip({column:t=0,row:e=0,tooltip:r}){const n=this._getTableItem(t,e);n&&(n.tooltip=r)}cell_set_width({column:t=0,row:e=0,width:r}){const n=this._getTableItem(t,e);n&&(n.width=r)}clear({start_column:t=0,start_row:e=0,end_column:r=0,end_row:n=0}){const s=this._variables.table.get(this._id);if(s){const a=s.cell;if(a)for(let l=e;l<=n;l++)for(let c=t;c<=r;c++){const h=a[l];h&&(h[c]=void 0)}}}delete(){this._variables.table.delete(this._id)}merge_cells({start_column:t=0,start_row:e=0,end_column:r=0,end_row:n=0},s){if(t>r||e>n){console.log(`error ${s}: start_column > end_column or start_row > end_row`);return}const a=this._getTableItem(t,e);if(!a)return;this.clear({start_column:t,start_row:e,end_column:r,end_row:n});const l=this._variables.table.get(this._id);l.cell[e][t]={...a,isMerge:!0,merge_columns:r-t+1,merge_rows:n-e+1}}set_bgcolor({bgcolor:t}){const e=this._variables.table.get(this._id);e&&(e.bgcolor=t)}set_border_color({border_color:t}){const e=this._variables.table.get(this._id);e&&(e.border_color=t)}set_border_width({border_width:t}){const e=this._variables.table.get(this._id);e&&(e.border_width=t)}set_frame_color({frame_color:t}){const e=this._variables.table.get(this._id);e&&(e.frame_color=t)}set_frame_width({frame_width:t}){const e=this._variables.table.get(this._id);e&&(e.frame_width=t)}set_position({position:t},e){const r=this._variables.table.get(this._id);r&&(r.position=t,this._paramVerfiy(t,e,"table.set_position",Object.values(hr),"position"))}_paramVerfiy(t="",e,r,n,s){t&&!n.includes(t)&&this._errorListener.addError(Qe(Ye.paramsErr,{value:t,func:r,param:s,targetVal:`[${n.join(", ")}]`}),e,jt.Error)}_getTableItem(t,e){const r=this._variables.table.get(this._id);if(r){const n=r.cell;return n?n[e][t]:void 0}}}class Vw{constructor(t){z(this,"_strategy");this._strategy=t}commission({trade_num:t}){return this._verifyTradeNum(t)&&this._strategy.historyOrders[t].commission||0}entry_bar_index({trade_num:t}){if(this._verifyTradeNum(t))return this._strategy.historyOrders[t].in_index}entry_comment({trade_num:t}){if(!this._verifyTradeNum(t))return"";const{comment:e,id:r}=this._strategy.historyOrders[t];return e||r}entry_id({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.historyOrders[t].id:""}entry_price({trade_num:t}){if(this._verifyTradeNum(t))return this._strategy.historyOrders[t].in_price}entry_time({trade_num:t}){if(this._verifyTradeNum(t))return this._strategy.historyOrders[t].in_time}exit_bar_index({trade_num:t}){if(this._verifyTradeNum(t))return this._strategy.historyOrders[t].out_index}exit_comment({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.historyOrders[t].out_comment:""}exit_id({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.historyOrders[t].out_id:""}exit_price({trade_num:t}){if(this._verifyTradeNum(t))return this._strategy.historyOrders[t].out_price}exit_time({trade_num:t}){if(this._verifyTradeNum(t))return this._strategy.historyOrders[t].out_time}max_drawdown({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.historyOrders[t].trading_loss:0}max_drawdown_percent({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.historyOrders[t].trading_loss_percent:0}max_runup({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.historyOrders[t].max_profit:0}max_runup_percent({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.historyOrders[t].max_profit_percent:0}profit({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.historyOrders[t].profit:0}profit_percent({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.historyOrders[t].profit_percent:0}size({trade_num:t}){if(!this._verifyTradeNum(t))return 0;const{out_qty:e=0,direction:r}=this._strategy.historyOrders[t];return r===_e.long?e:-e}_verifyTradeNum(t){if(typeof t!="number"||t<0)return!1;const e=this._strategy.historyOrders.length;return!(t>=e)}}class Zw{constructor(t){z(this,"_strategy");this._strategy=t}commission({trade_num:t}){if(!this._verifyTradeNum(t))return 0;const{qty:e=0,original_qty:r=0,commission:n=0}=this._strategy.orders[t];return n*e/r}entry_bar_index({trade_num:t}){if(this._verifyTradeNum(t))return this._strategy.orders[t].in_index}entry_comment({trade_num:t}){if(!this._verifyTradeNum(t))return"";const{comment:e,id:r}=this._strategy.orders[t];return e||r}entry_id({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.orders[t].id:""}entry_price({trade_num:t}){if(this._verifyTradeNum(t))return this._strategy.orders[t].in_price}entry_time({trade_num:t}){if(this._verifyTradeNum(t))return this._strategy.orders[t].in_time}max_drawdown({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.orders[t].trading_loss:0}max_drawdown_percent({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.orders[t].trading_loss_percent:0}max_runup({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.orders[t].max_profit:0}max_runup_percent({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.orders[t].max_profit_percent:0}profit({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.orders[t].profit:0}profit_percent({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.orders[t].profit_percent:0}size({trade_num:t}){if(!this._verifyTradeNum(t))return 0;const{qty:e=0,direction:r}=this._strategy.orders[t];return r===_e.long?e:-e}_verifyTradeNum(t){if(typeof t!="number"||t<0)return!1;const e=this._strategy.orders.length;return!(t>=e)}}class Gw{constructor(t,e){z(this,"_strategy");z(this,"_errorListener");this._strategy=t,this._errorListener=e}allow_entry_in({value:t},e){this._paramVerfiy(t,e,"strategy.risk.allow_entry_in",Object.values(_e),"value"),this._strategy.updateRisk({allow_entry_in:t})}max_cons_loss_days({count:t}){this._strategy.updateRisk({max_cons_loss_days:t})}max_drawdown({value:t,type:e},r){this._paramVerfiy(e,r,"strategy.risk.max_drawdown",[Se.percentOfEquity,Se.cash],"type"),e===Se.percentOfEquity&&(t=t>100?100:t),this._strategy.updateRisk({max_drawdown:t,max_drawdown_type:e})}max_intraday_filled_orders({count:t}){this._strategy.updateRisk({max_intraday_filled_orders:t})}max_intraday_loss({value:t,type:e},r){this._paramVerfiy(e,r,"strategy.risk.max_intraday_loss",[Se.percentOfEquity,Se.cash],"type"),e===Se.percentOfEquity&&(t=t>100?100:t),this._strategy.updateRisk({max_intraday_loss:t,max_intraday_loss_type:e})}max_position_size({contracts:t}){this._strategy.updateRisk({max_position_size:t})}_paramVerfiy(t="",e,r,n,s){t&&!n.includes(t)&&this._errorListener.addError(Qe(Ye.paramsErr,{value:t,func:r,param:s,targetVal:`[${n.join(", ")}]`}),e,jt.Error)}}let Kw=class{constructor(t,e,r,n){z(this,"_variables");z(this,"_options");z(this,"_totalChangeCapital");z(this,"_historyOrder");z(this,"_orders");z(this,"_pendingOrders");z(this,"_mintick");z(this,"_funcOptions");z(this,"_pendingCloseOrders");z(this,"_errorListener");z(this,"_risk");z(this,"_opentrades");z(this,"_closedtrades");z(this,"_riskNamespace");this._variables=t,this._errorListener=n,this._options={overlay:!1,format:Gt.inherit,pyramiding:0,calc_on_order_fills:!1,calc_on_every_tick:!1,max_bars_back:0,backtest_fill_limits_assumption:0,default_qty_type:Se.fixed,default_qty_value:1,initial_capital:1e6,currency:Hf.NONE,slippage:0,commission_type:Cr.percent,commission_value:0,process_orders_on_close:!1,close_entries_rule:"FIFO",margin_long:0,margin_short:0,explicit_plot_zorder:!1,max_lines_count:50,max_labels_count:50,max_boxes_count:50,calc_bars_count:0,risk_free_rate:2,use_bar_magnifier:!1,fill_orders_on_standard_ohlc:!1,max_polylines_count:50},this._funcOptions=e,this._totalChangeCapital=0,this._orders=[],this._pendingOrders=[],this._historyOrder=[],this._pendingCloseOrders=[],this._mintick=r,this._variables.strategy.updateOrders(this._orders),this._variables.strategy.updateHistoryOrders(this._historyOrder),this._variables.strategy.updateStrategyOptions(this._options),this._risk={intradayOrders:0},this._opentrades=new Zw(this),this._closedtrades=new Vw(this),this._riskNamespace=new Gw(this,n)}get orders(){return[...this._orders]}get historyOrders(){return[...this._historyOrder]}get _orderProfit(){return this._orders.reduce((t,e)=>t+(e.profit||0),0)}get _freezeCapital(){const{close:t}=this._variables;return this._orders.reduce((e,r)=>e+t*(r.qty||0),0)}get opentrades(){return this._opentrades}get closedtrades(){return this._closedtrades}get risk(){return this._riskNamespace}updateOptions(t){Object.assign(this._options,t),this._maxConsLossDaysVerify(),this._pendingOrderHandle(),this._maxIntradayFilledOrdersVerify(),this._ordersHandle(),!this._options.process_orders_on_close&&this._calcLiquidate()}updateRisk(t){Object.assign(this._risk,t)}endExecution(){this._calcProfitAndLoss(),this._variables.strategy.update(),this._maxDrawdownVerify(),this._maxIntradayLoss(),this._pendingCloseOrderHandle(),this._options.process_orders_on_close&&this._calcLiquidate()}_maxIntradayLoss(){var g;const{max_intraday_loss:t,max_intraday_loss_type:e,isDisabledOpen:r}=this._risk;if(t===void 0||!e||r)return;const{high:n,low:s,time_tradingday:a,time:l,strategy:{netprofit:c,initial_capital:h}}=this._variables;let{preNetprofit:p=0}=this._risk;l===a&&(p=c,this._risk.preNetprofit=c,this._risk.isTemporaryBan=!1);let f=p-c;f+=this._orders.reduce((w,m)=>{const{in_price:D,direction:v,qty:E=0,commission:b=0,original_qty:N=0}=m,x=v===_e.long?1:-1,F=(n-D)*E,M=(s-D)*E,S=x===1?-M:F;return w+S+E/N*b},0);let d=!1;switch(e){case Se.cash:d=t<f;break;case Se.percentOfEquity:const w=f/(h+c)*100;d=t<w;break}if(d){this._risk.isTemporaryBan=!0;const w=(g=this._orders[0])==null?void 0:g.direction;this._closeOrders(this._orders,w===_e.long?s:n,"Close Position (Max intraday Loss)"),this._pendingOrders=[]}}_maxIntradayFilledOrdersVerify(){const{max_intraday_filled_orders:t,intradayOrders:e=0,isDisabledOpen:r}=this._risk;if(t===void 0||r)return;const{time:n,time_tradingday:s,open:a}=this._variables;n===s&&(this._risk.intradayOrders=0,this._risk.isTemporaryBan=!1),t<=e&&(this._risk.isTemporaryBan=!0,this._closeOrders(this._orders,a,"Close Position (Max number of filled orders in one day)"),this._pendingOrders=[])}_maxConsLossDaysVerify(){const{max_cons_loss_days:t,lossDays:e=0,isDisabledOpen:r,totalProfit:n=0}=this._risk;if(t===void 0||r)return;const{time:s,time_tradingday:a,strategy:l,open:c}=this._variables;let h=e;if(s===a){const p=l.netprofit+l.openprofit;p<n?h=0:h++,Object.assign(this._risk,{lossDays:h,totalProfit:p})}t<=h&&this._riskTouchOff(c,"Close Position (Max consecutive loss days)")}_maxDrawdownVerify(){var n;const{max_drawdown:t,max_drawdown_type:e,isDisabledOpen:r}=this._risk;if(!r&&t!==void 0&&e){const{max_drawdown:s,max_drawdown_percent:a}=this._variables.strategy;let l=!1;switch(e){case Se.percentOfEquity:l=a<s;break;case Se.cash:l=t<s;break}if(l){const{high:c,low:h}=this._variables,p=(n=this._orders[0])==null?void 0:n.direction;this._riskTouchOff(p===_e.long?c:h,"Close Position (Max Drawdown)")}}}_riskTouchOff(t,e){this._risk.isDisabledOpen=!0,this._closeOrders(this._orders,t,e),this._pendingOrders=[]}strategy(t,e){this._variables.bar_index||(this._paramVerfiy(t.format,e,"strategy",[Gt.inherit,Gt.price,Gt.percent,Gt.volume],"format"),this._paramVerfiy(t.default_qty_type,e,"strategy",Object.values(Se),"default_qty_type"),this._paramVerfiy(t.commission_type,e,"strategy",Object.values(Cr),"commission_type"),this._options={...t},this._variables.updateMaxLength(t),Object.assign(this._funcOptions,{strategy:this._options,scriptType:"strategy"}))}order(t,e){this._risk.isDisabledOpen||(this._paramVerfiy(t.oca_type,e,"strategy.order",Object.values(an),"oca_type"),this._orderHandle(t))}entry(t,e){this._risk.isDisabledOpen||(this._paramVerfiy(t.oca_type,e,"strategy.entry",Object.values(an),"oca_type"),this._entryHandle(t))}close(t){if(!this._orders.length)return;const{immediately:e}=t;e||this._options.process_orders_on_close?this._pendingCloseOrders.push({...t,place_order_type:"close"}):this._pendingOrders.push({...t,place_order_type:"close"})}close_all(t){if(typeof t=="string"&&(t={}),!this._orders.length)return;const{immediately:e}=t;e||this._options.process_orders_on_close?this._pendingCloseOrders.push({...t,place_order_type:"close_all"}):this._pendingOrders.push({...t,place_order_type:"close_all"})}cancel({id:t}){this._pendingOrders=this._pendingOrders.filter(e=>!(e.id===t&&e.place_order_type!=="close"))}cancel_all(){this._pendingOrders=this._pendingOrders.filter(t=>t.place_order_type==="close_all")}exit(t,e){this._exit(t,e)}convert_to_account({value:t}){return t}convert_to_symbol({value:t}){return t}default_entry_qty({fill_price:t}){return t?this._calcDefaultQty(t):0}_calcDefaultQty(t){const{default_qty_type:e=Se.fixed,default_qty_value:r=1,initial_capital:n}=this._options;switch(e){case Se.fixed:return r;case Se.cash:return r/t;case Se.percentOfEquity:return(n+this._orderProfit+this._totalChangeCapital)*r/100/t}}_getCapital(t,e){const{margin_long:r=0,margin_short:n=0}=this._options;return r<100&&r>0&&t===1?e=e*100/r:n<=100&&n>0&&t===-1&&(e=e*100/n),e}_calcProfitAndLoss(){const{high:t,low:e,close:r}=this._variables;for(const n of this._orders){const{in_price:s,qty:a=0,direction:l}=n,c=l===_e.long?1:-1,h=(r-s)*c*a,p=(t-s)*a,f=(e-s)*a,d=c===1?p:-f,g=c===1?-f:p;this._calcOrderPercent(n,h,d,g)}}_calcOrderPercent(t,e,r,n){const{commission_value:s}=this._options,{close:a}=this._variables,{original_qty:l=0,qty:c=0,in_price:h,max_profit:p=0,trading_loss:f=0}=t;let{commission:d=0}=t;const g=h*c;if(s){const w=this._getCommission(a,c);e=e-w,d=d*c/l,r-=d,n+=d}r=Math.max(r,p),n=Math.min(n,f),Object.assign(t,{profit:e-d,total_profit:this._totalChangeCapital+e,max_profit:r,trading_loss:n,profit_percent:e/g*100,max_profit_percent:r/g*100,trading_loss_percent:n/g*100})}_calcLiquidate(){if(!this._orders.length)return;const{high:t,low:e}=this._variables,{initial_capital:r,margin_long:n=0,margin_short:s=0,commission_value:a=0}=this._options,l=this._orders[0].direction===_e.long?1:-1,c=l===1?e:t,h=(l===1?n:s)/100;if(h<=0)return;const[p,f,d]=this._orders.reduce((v,E)=>{let[b,N,x]=v;const{in_price:F,qty:M=0,original_qty:S=0,commission:I=0}=E,C=F*M,O=c*M;if(b+=C,N+=O,a){const L=this._getCommission(c,M);x+=L+M/S*I}return[b,N,x]},[0,0,0]),g=l*(f-p),m=r+this._totalChangeCapital+g-d-f*h;if(m>=0)return;const D=Math.trunc(m/h/c)*4;this._marginCallOrders(c,D,"Margin Call")}_marginCallOrders(t,e,r){const{close_entries_rule:n="FIFO"}=this._options;if(n==="FIFO"){this._processOrders(this._orders,t,e*this._orders.length,r,r);return}for(const s of this.orders)this._processOrder(s,t,e,r,r);this._orders=this._orders.filter(s=>!s.isDeal),this._variables.strategy.updateOrders(this._orders)}_orderHandle(t){const{process_orders_on_close:e,slippage:r=0}=this._options,{orders:n,isMarketPrice:s,quantities:a,close:l,price:c,activePrice:h}=this._orderArgsParse(t),p=t.direction===_e.long?1:-1;if(a<=0)return;let f=a;if(s&&e){if(n.length){const m=this._processOrders(n,l,f,t.id,t.comment);if(m<=0)return;f=m}const g=l+p*r*this._mintick;if(!this._judgeCapitalEnough(f,g,p))return;this._ocaGroupVerify(f,t.oca_name,t.oca_type),this._calcCurrentOrder({...t,in_price:g,in_index:this._variables.bar_index,in_time:this._variables.time,qty:f,place_order_type:"order"});return}this._judgeCapitalEnough(a,c,p)&&this._addPendingOrders(t,c,f,s,h)}_judgeCapitalEnough(t,e,r){if(t<=0)return!1;const{margin_long:n=0,margin_short:s=0}=this._options;if((n===0||n===100)&&r===1||s===0&&r===-1)return!0;const l=this._getCapital(r,this._options.initial_capital+this._orderProfit+this._totalChangeCapital)-this._freezeCapital;return t*e<=l}_ocaGroupVerify(t,e,r){if(!e||!r||r===an.none)return!1;let n=!1;switch(r){case an.cancel:this._pendingOrders=this._pendingOrders.filter(s=>{if(s.oca_name===e)s.isCancel=!0,n=!0;else return!0});break;case an.reduce:this._pendingOrders=this._pendingOrders.filter(s=>{const{qty:a=0,oca_name:l}=s;if(e===l){const c=a-t;return n=!0,c<=0?(s.isCancel=!0,!1):(s.qty=c,!0)}else return!0});break}return n}_processOrders(t,e,r,n,s){let a=r;for(const l of t)if(a=this._processOrder(l,e,a,n,s),a<=0)break;return this._orders=this._orders.filter(l=>!l.isDeal),this._variables.strategy.updateOrders(this._orders),a}_addPendingOrders(t,e,r,n,s){const a=this._pendingOrders.find(l=>l.id===t.id&&!l.isMarketPrice);if(a)Object.assign(a,{...t,in_price:e,isMarketPrice:n,qty:r,active_price:s});else{const l={...t,in_price:e,isMarketPrice:n,qty:r,active_price:s,place_order_type:"order"};this._pendingOrders.push(l)}}_orderArgsParse(t){const{direction:e,qty:r,stop:n}=t;let s=t.limit||0;const{close:a}=this._variables;let l=a,c=!1,h;const p=e===_e.long?1:-1,f=n&&(n-a)*p>0,{backtest_fill_limits_assumption:d=0}=this._options;d>0&&s&&(s-=d*this._mintick*p);const g=s&&(s-a)*p<0;f&&g?(h=n,l=s):f?l=n:g?l=s:c=!0;const w=r||this._calcDefaultQty(l)||1;return{orders:this._orders.filter(D=>D.direction!==e),isMarketPrice:c,activePrice:h,quantities:w,close:a,price:l}}_entryHandle(t){const{process_orders_on_close:e}=this._options,{orders:r,isMarketPrice:n,quantities:s,close:a,price:l,activePrice:c}=this._orderArgsParse(t);if(s<=0)return;if(r.length&&n&&e){this._entryOrder(r,a,s,t);return}this._judgeCapitalEnough(s,a,t.direction===_e.long?1:-1)&&this._addPendingEntry(t,l,s,n,c)}_entryOrder(t,e,r,n){const{time:s,bar_index:a}=this._variables,{slippage:l=0}=this._options,{oca_name:c,oca_type:h,direction:p,comment:f,isMarketPrice:d,id:g}=n,w=p===_e.long?1:-1;if(this._closeOrders(t,e,g,f),r=this._getAvailablePositionSize(r,p),r<=0)return;e=e+l*this._mintick*w;const m={...n,in_price:e,original_qty:r,qty:r,in_index:a,in_time:s,place_order_type:"entry"};if(d){this._calcCurrentOrder(m);return}const{pendingOrders:D,orders:v}=this._getEntryOrders(p),E=D.length+v.length;E&&E>=(this._options.pyramiding||0)||!this._judgeCapitalEnough(r,e,w)||(this._ocaGroupVerify(r,c,h),this._calcCurrentOrder(m))}_getAvailablePositionSize(t,e){const{max_position_size:r,allow_entry_in:n}=this._risk;if(n&&n!==_e.all&&n!==e)return 0;if(r===void 0)return t;const s=this._orders.reduce((a,l)=>a+(l.qty||0),0);return s?s+t>r?0:t:t>r?t-r:0}_getEntryOrders(t){const e=this._pendingOrders.filter(n=>["entry","order"].includes(n.place_order_type)&&n.direction===t),r=this._orders.filter(n=>n.direction===t);return{pendingOrders:e,orders:r}}_addPendingEntry(t,e,r,n,s){if(r=this._getAvailablePositionSize(r,t.direction),r<=0)return;const{pendingOrders:a,orders:l}=this._getEntryOrders(t.direction),c=a.length+l.length,h=a.find(p=>p.id===t.id&&p.place_order_type==="entry");if(h)Object.assign(h,{...t,in_price:e,isMarketPrice:n,qty:r,active_price:s});else if(!c||c<(this._options.pyramiding||1)){const p={...t,in_price:e,isMarketPrice:n,qty:r,active_price:s,place_order_type:"entry"};this._pendingOrders.push(p)}}_closeAllOrders(t,e){const{comment:r}=t,{bar_index:n}=this._variables,s=this._orders.filter(a=>a.in_index!==n);s.length&&(this._closeOrders(s,e,"Close position order",r),this._orders=[],this._variables.strategy.updateOrders(this._orders))}_closeOrders(t,e,r,n){for(const s of t)this._closeOrder(s,e,r,n);this._orders=this._orders.filter(s=>!s.isDeal),this._variables.strategy.updateOrders(this._orders)}_closeOrder(t,e,r,n){const{time:s,bar_index:a}=this._variables,{slippage:l=0}=this._options,{in_price:c,qty:h=0,direction:p}=t,f=p===_e.long?1:-1;e=e-f*l*this._mintick,t.isDeal=!0;const d=(e-c)*f*h,g={...t,out_price:e,out_id:r,out_index:a,out_time:s,out_comment:n,out_qty:h,profit:d};this._calcPercent(g),this._risk.intradayOrders+=1,this._historyOrder.push(g),this._variables.strategy.updateHistoryOrders(this._historyOrder)}_ordersHandle(){const t=this._orders.filter(a=>a.place_order_type==="exit"&&!a.hasExit);if(!t.length)return;const{open:e,low:r,high:n,close:s}=this._variables;for(const a of t){const{stop:l,limit:c,trail_stop_price:h,isMarketPriceLimit:p,isMarketPriceStop:f,direction:d,id:g,out_comment:w,active_price:m,trail_offset:D=0,out_qty:v,comment_loss:E,comment_profit:b,comment_trailing:N}=a;let x=h;const F=d===_e.long?1:-1;let M,S=w;if(p||f?M=e:(c&&r<=c&&n>=c&&(S=b||w,M=c),l&&r<=l&&n>=l&&(M=x?(l-x)*F>0?l:x:l,S=(x===M?N:E)||w)),M)this._processExitOnClose(a,M,{from_entry:g,comment:S,qty:v});else{let I=!1;if(m&&m<=n&&m>=r&&(x=m-D*F*this._mintick,(x-s)*F>=0&&(a.isMarketPriceStop=!0,this._options.process_orders_on_close&&(M=x)),I=!0,a.trail_stop_price=x),x)if((x-e)*F>=0&&!I)M=x;else{const C=(F===1?n:r)-D*F*this._mintick;F===1?x<e&&x>=r&&C>x&&C<s?M=x:C>x?(x=C,C>=s&&(M=C)):x<=n&&r<=x&&(M=x):x>e&&x<=n&&C<x&&C>s?M=x:C<x?(x=C,C<=s&&(M=C)):x<=n&&r<=x&&(M=x),a.trail_stop_price=x}M&&this._processExitOnClose(a,M,{from_entry:g,comment:N||w,qty:v})}}}_pendingOrderHandle(){if(!this._pendingOrders.length)return;const t=[],e=this._pendingOrders.filter(n=>n.place_order_type==="exit"),r=this._pendingOrders.filter(n=>["close","close_all"].includes(n.place_order_type||""));for(const n of r)switch(n.place_order_type){case"close":this._closeOrderHandle(n);break;case"close_all":this._closeAllOrders(n,this._variables.open);break}for(const n of this._pendingOrders){const{isCancel:s,place_order_type:a}=n;if(s)continue;let l;switch(a){case"entry":l=this._entryOrderHandle(n);break;case"order":l=this._orderOrderHandle(n);break}l&&t.push(l)}for(const n of e){const s=this._exitOrderHandle(n);s&&t.push(s)}this._pendingOrders=t}_pendingCloseOrderHandle(){if(!this._pendingCloseOrders.length)return;const t=this._pendingCloseOrders.filter(n=>n.place_order_type==="exit"),e=this._pendingCloseOrders.filter(n=>["close","close_all"].includes(n.place_order_type||"")),{close:r}=this._variables;for(const n of e)switch(n.place_order_type){case"close":this._closeOrderHandle(n,!0);break;case"close_all":this._closeAllOrders(n,r);break}for(const n of t){const{from_entry:s}=n,a=this._orders.filter(l=>!s||l.id===s&&(l.isMarketPriceLimit||l.isMarketPriceStop));for(const l of a)this._processExitOnClose(l,l.limit||l.stop||l.trail_stop_price||r,n)}this._pendingCloseOrders=[]}_entryOrderHandle(t){const{open:e,low:r,high:n}=this._variables,{isMarketPrice:s,qty:a=0,in_price:l,direction:c,active_price:h}=t;if(h&&n>=h&&r<=h)return delete t.active_price,t;let p=l;if(s&&(p=e),p<=n&&p>=r){const f=this._orders.filter(d=>d.direction!==c);this._entryOrder(f,p,a,t)}else return t}_orderOrderHandle(t){const{open:e,low:r,high:n,time:s,bar_index:a}=this._variables,{slippage:l=0}=this._options,{isMarketPrice:c,qty:h=0,in_price:p,direction:f,comment:d,oca_name:g,oca_type:w,active_price:m,id:D}=t;if(m&&n>=m&&r<=m)return delete t.active_price,t;let v=p,E=h;if(c&&(v=e),v<=n&&v>=r){const b=this._orders.filter(x=>x.direction!==f);if(b.length&&(E=this._processOrders(b,v,h,D,d),E<=0))return;const N=f===_e.long?1:-1;this._ocaGroupVerify(E,g,w),this._calcCurrentOrder({...t,in_price:v+N*l*this._mintick,in_index:a,in_time:s,qty:E});return}else return t}_closeOrderHandle(t,e){const{id:r,qty:n,qty_percent:s=100,comment:a}=t,{bar_index:l}=this._variables,c=this._orders.filter(g=>g.id===r&&g.in_index!==l&&(!g.close_qty||g.close_qty<(g.qty||0)));if(!c.length)return;let h=0;if(n?h=n:(h=c.reduce((g,w)=>g+(w.qty||0),h),h=s/100*h),h<=0)return;const{open:p,close:f}=this._variables;let d=h;for(const g of c){const{qty:w=0}=g;d<w?g.close_qty=d:(g.close_qty=w,d-=w)}this._processOrders(this._options.close_entries_rule==="ANY"?c:this._orders,e?f:p,h,`Close entry(s) order ${r}`,a)}_exitOrderHandle(t){const{from_entry:e}=t,r=this._orders.filter(n=>(!e||e===n.id)&&!n.hasExit);if(!(r.length&&!this._ordersToExit(r,t)))return t}_exit(t,e){const{profit:r,loss:n,stop:s,limit:a,trail_offset:l,trail_price:c,trail_points:h,from_entry:p="",id:f}=t;if(this._isNaN(r)&&this._isNaN(n)&&this._isNaN(s)&&this._isNaN(a)&&(this._isNaN(l)||this._isNaN(h)&&this._isNaN(c))){this._errorListener.addError("strategy.exit must have at least one of the following parameters: 'profit', 'limit', 'loss', 'stop' or one of the following pairs: 'trail_offset' and 'trail_price' / 'trail_points'. To close the position at market price, use 'strategy.close'",e,jt.Error);return}const d={...t,place_order_type:"exit"},g=this._orders.filter(D=>(!p||p===D.id)&&!D.hasExit),w=this._pendingOrders.filter(D=>!p||p===D.id);if(g.length){if(!this._ordersToExit(g,d))return}else if(!w.length)return;const m=this._pendingOrders.find(D=>D.id===f);m?Object.assign(m,{...t}):this._pendingOrders.push(d)}_ordersToExit(t,e){const{qty:r,qty_percent:n=100,id:s,comment:a,comment_loss:l,comment_profit:c,comment_trailing:h}=e;let p=r,f=!1;e.comment=a||s;for(const d of t){const{qty:g=0}=d,w=d.direction===_e.long?1:-1;p=r?r>=g?g:r:n/100*g,d.out_qty=p,p<g&&(f=!0),Object.assign(d,{out_comment:a||s,comment_loss:l,comment_profit:c,comment_trailing:h}),!(this._stopProfit(d,w,{...e,qty:p})||this._stopLoss(d,w,{...e,qty:p})||this._trailStopLoss(d,w,{...e,qty:p}))&&(d.place_order_type="exit")}return f}_addExitPendingCloseOrders(t){t.place_order_type="exit";const e=this._pendingCloseOrders.find(r=>r.id===t.id);e?Object.assign(e,{...t}):this._pendingCloseOrders.push(t)}_stopProfit(t,e,r){const{limit:n,profit:s,comment_profit:a,comment:l}=r;let c=n;const{close:h}=this._variables,{in_price:p}=t,{process_orders_on_close:f}=this._options;if(!this._isNaN(s)&&this._isNaN(n)&&(c=p+e*s*this._mintick),t.limit=c,c&&(c-h)*e<=0&&(t.isMarketPriceLimit=!0,r.comment=a||l,Object.assign(t,{out_comment:r.comment}),c=h,f))return this._addExitPendingCloseOrders(r),!0}_stopLoss(t,e,r){const{stop:n,loss:s,comment_loss:a,comment:l}=r;let c=n;const{close:h}=this._variables,{in_price:p}=t,{process_orders_on_close:f}=this._options;if(!this._isNaN(s)&&this._isNaN(n)&&(c=p-e*s*this._mintick),t.stop=c,c&&(c-h)*e>=0&&(t.isMarketPriceStop=!0,r.comment=a||l,Object.assign(t,{out_comment:r.comment}),c=h,f))return this._addExitPendingCloseOrders(r),!0}_trailStopLoss(t,e,r){const{trail_offset:n,trail_price:s,trail_points:a,comment_trailing:l,comment:c}=r;if(!this._isNaN(n)){const{close:h}=this._variables,{in_price:p}=t,{process_orders_on_close:f}=this._options;let d;if(this._isNaN(s)?this._isNaN(a)||(d=p+a*e*this._mintick):d=s,t.trail_offset=n,d&&(d-h)*e<=0){const g=h-n*e*this._mintick;if((g-h)*e>=0&&(t.trail_stop_price=h,t.isMarketPriceStop=!0,r.comment=l||c,Object.assign(t,{out_comment:r.comment}),f))return this._addExitPendingCloseOrders(r),!0;t.trail_stop_price=g}t.active_price=d}}_processExitOnClose(t,e,r){const{qty:n=0,comment:s,id:a}=r,{close_entries_rule:l="FIFO"}=this._options;if(l==="FIFO"){const c=this._processExitOrders(this._orders,e,n,a,s);c&&!c.hasExit?(c.hasExit=!0,Object.assign(t,{trail_stop_price:c.trail_stop_price,stop:c.stop,limit:c.limit,trail_offset:c.trail_offset,active_price:c.active_price})):c&&(t.hasExit=!0)}else t.hasExit=!0,this._processOrders([t],e,n,a,s)}_processExitOrders(t,e,r,n,s){let a=r,l;for(const c of t)if(l=c,a=this._processOrder(c,e,a,n,s),a<=0||!c.hasExit)break;return this._orders=this._orders.filter(c=>!c.isDeal),this._variables.strategy.updateOrders(this._orders),l}_processOrder(t,e,r,n,s){const{time:a,bar_index:l}=this._variables,{slippage:c=0}=this._options,{in_price:h,qty:p=0,max_profit:f=0,trading_loss:d=0,direction:g,commission:w=0,original_qty:m=0}=t,D=g===_e.long?1:-1;if(e=e-D*c*this._mintick,r<p){const v=p-r,E=(e-h)*D*r,b=f/p*r,N=d/p*r;this._calcPercent({...t,out_price:e,out_id:n,out_index:l,out_time:a,out_comment:s,profit:E,out_qty:r,max_profit:b,trading_loss:N});const x=(e-h)*D*v-w*v/m;Object.assign(t,{qty:v,profit:x,max_profit:f-b,trading_loss:d-N,total_profit:this._totalChangeCapital+x}),r=0}else{t.isDeal=!0;const v=(e-h)*D*p;this._calcPercent({...t,out_price:e,out_id:n,out_index:l,out_time:a,out_comment:s,out_qty:p,profit:v}),r-=p}return r}_calcPercent(t){const{commission_value:e}=this._options,{in_price:r,out_qty:n=0,out_price:s=0,original_qty:a=0}=t;let{profit:l=0,max_profit:c=0,trading_loss:h=0,commission:p=0}=t;c=c<0?0:c;const f=r*n;if(this._totalChangeCapital+=l,e){const d=this._getCommission(s,n);this._totalChangeCapital-=d,p=p*n/a+d,l=l-p,Object.assign(t,{commission:p,profit:l,max_profit:c})}Object.assign(t,{total_profit:this._totalChangeCapital,profit_percent:l/f*100,max_profit_percent:c/f*100,trading_loss_percent:h/f*100}),this._risk.intradayOrders+=1,this._historyOrder.push(t),this._variables.strategy.updateHistoryOrders(this._historyOrder)}_getCommission(t,e){const{commission_value:r=0,commission_type:n}=this._options,s=t*e;let a=0;switch(n){case Cr.percent:a=s*r/100;break;case Cr.cashPerContract:a=e*r;break;case Cr.cashPerOrder:a=r;break}return a}_calcCurrentOrder(t){const{commission_value:e}=this._options,{in_price:r,qty:n=0,max_profit:s=0,trading_loss:a=0}=t;let{profit:l=0}=t;const c=r*n;if(e){const h=this._getCommission(r,n);this._totalChangeCapital-=h,l=l-h,Object.assign(t,{commission:h,profit:l,total_profit:this._totalChangeCapital})}Object.assign(t,{original_qty:n,profit_percent:l/c*100,max_profit_percent:s/c*100,trading_loss_percent:a/c*100}),this._risk.intradayOrders+=1,this._orders.push(t),this._variables.strategy.updateOrders(this._orders)}_isNaN(t){return t===void 0||isNaN(t)}_paramVerfiy(t="",e,r,n,s){t&&!n.includes(t)&&this._errorListener.addError(Qe(Ye.paramsErr,{value:t,func:r,param:s,targetVal:`[${n.join(", ")}]`}),e,jt.Error)}};class Hw{constructor(t){z(this,"_logs");z(this,"_variables");z(this,"_intlFormat");this._variables=t,this._logs=[],this._intlFormat=new Intl.NumberFormat("en-US")}get logs(){return this._logs}clearLogs(){this._logs=[]}info(t,e,r){this._addLog(t,e,"info",r)}error(t,e,r){this._addLog(t,e,"error",r)}warning(t,e,r){this._addLog(t,e,"warning",r)}_addLog(t,e,r,n){if(typeof e=="string"&&(n=e),n.startsWith("export"))return;const{message:s,formatString:a}=t,{time:l,bar_index:c}=this._variables;let h=s;a&&Array.isArray(e)&&e.length&&(h=a.replace(/{(\d+)}/g,(p,f)=>{let d=e[f];return typeof d=="number"&&(d=this._intlFormat.format(parseFloat(d.toFixed(3)))),d!==void 0?d:p})),h&&this._logs.push({message:`[${ee(l).format()}]: ${h}`,time:l,barIndex:c,type:r})}}class Jw{constructor(t){z(this,"_errorListener");this._errorListener=t}error({message:t},e){e.startsWith("export")||this._errorListener.addError(t,e,jt.Error)}}class Xw{constructor(){z(this,"_errors");this._errors=new Map}clear(){this._errors.clear()}get errors(){return Pr.flatMap([...this._errors.values()])}addError(t,e,r){const[n,s]=e.split("_").slice(-2),a=this._errors.get(e),l={message:t,endLineNumber:Number(n),startColumn:Number(s)+1,endColumn:Number(s)+1,startLineNumber:Number(n),type:r};a?a.push(l):this._errors.set(e,[l])}}class Qw{constructor(){z(this,"_isMarketOpen");z(this,"_currentBarIndex");z(this,"_totalBarIndex");z(this,"_isRealTimeBar");z(this,"_preBarIndex");this._currentBarIndex=0,this._totalBarIndex=0,this._isRealTimeBar=!1,this._preBarIndex=0,this._isMarketOpen=!0}update(t,e,r,n){this._preBarIndex=this._currentBarIndex,this._currentBarIndex=t,this._totalBarIndex=e,this._isRealTimeBar=r,this._isMarketOpen=n}get isnew(){return!this._isRealTimeBar||this._preBarIndex!==this._currentBarIndex}get islast(){return this._currentBarIndex===this._totalBarIndex}get isfirst(){return this._currentBarIndex===0}get ishistory(){return!this._isRealTimeBar}get isrealtime(){return this._isRealTimeBar}get isconfirmed(){return!this._isRealTimeBar}get islastconfirmedhistory(){return this._isMarketOpen?this._currentBarIndex===this._totalBarIndex-1:this._currentBarIndex===this._totalBarIndex}}class ty{constructor(t){z(this,"_variables");this._variables=t}get isfirstbar(){return this._variables.timeframe.isdwm?!0:this._variables.time===this._variables.time_tradingday}get isfirstbar_regular(){return this._variables.timeframe.isdwm?!0:this._variables.time===this._variables.time_tradingday}get islastbar(){if(this._variables.timeframe.isdwm)return!0;const t=sn(this._variables.timeframe.period);return this._variables.time+t===this._variables.time_tradingday+24*60*60*1e3}get islastbar_regular(){if(this._variables.timeframe.isdwm)return!0;const t=sn(this._variables.timeframe.period);return this._variables.time+t===this._variables.time_tradingday+24*60*60*1e3}get ismarket(){return!0}get ispostmarket(){return!1}get ispremarket(){return!1}}class ey{constructor(t){z(this,"_orders");z(this,"_historyOrders");z(this,"_options");z(this,"_max_contracts_held_all",0);z(this,"_max_contracts_held_long",0);z(this,"_max_contracts_held_short",0);z(this,"_max_drawdown",0);z(this,"_max_runup",0);z(this,"_max_runup_percent",0);z(this,"_max_drawdown_percent",0);z(this,"_variables");z(this,"_netprofit",0);z(this,"_eventrades",0);z(this,"_avg_trade_percent");z(this,"_closedtrades",0);z(this,"_losstrades",0);z(this,"_grossloss",0);z(this,"_grossloss_percent",0);z(this,"_grossprofit",0);z(this,"_grossprofit_percent",0);z(this,"_wintrades",0);z(this,"_opentrades_capital_held",0);z(this,"_position_avg_price",0);z(this,"_position_size",0);this._orders=[],this._historyOrders=[],this._variables=t}update(){this._calcMaxDrawdownAndMaxRunup()}_calcMaxDrawdownAndMaxRunup(){let t=0,e=0;const{high:r,low:n}=this._variables;for(const h of this._orders){const{in_price:p,qty:f=0,commission:d=0,original_qty:g=0,direction:w}=h,m=w===_e.long?1:-1,D=(r-p)*f,v=(n-p)*f,E=m===1?D:-v,b=m===1?-v:D;t+=b+d*f/g,e+=E+d*f/g}const[s,a]=this._historyOrders.reduce((h,p)=>{let[f,d]=h;const{profit:g=0,commission:w=0}=p;return f+=g,d+=g-w,[f,d]},[0,0]);t-=s,e+=a;const l=t/(this.initial_capital+this.netprofit)*100;this._max_drawdown<t&&(this._max_drawdown=t),l>this._max_drawdown_percent&&(this._max_drawdown_percent=l);const c=e/(this.initial_capital+this.netprofit)*100;e>this._max_runup&&(this._max_runup=e),c>this._max_runup_percent&&(this._max_runup_percent=c)}updateOrders(t){this._orders=t,this._calcMaxContracts()}_calcMaxContracts(){const t=this._orders.length;if(!t)return;const[e,r,n,s,a,l]=this._orders.reduce(([c,h,p,f,d,g],w)=>{const{direction:m,qty:D=0,in_price:v}=w;return m===_e.long?(c+=D,h+=D,g+=D):(c+=D,p+=D,g-=D),f+=D*v,d+=v,[c,h,p,f,d,g]},[0,0,0,0,0,0]);this._position_size=l,this._position_avg_price=a/t,this._opentrades_capital_held=s,this._max_contracts_held_all=Math.max(e,this._max_contracts_held_all),this._max_contracts_held_long=Math.max(r,this._max_contracts_held_long),this._max_contracts_held_short=Math.max(n,this._max_contracts_held_short)}updateHistoryOrders(t){this._historyOrders=t;const e=this._historyOrders.length;this._closedtrades=e;const[r,n,s,a,l,c]=this._historyOrders.reduce((h,p)=>{let[f,d,g,w,m,D]=h;const{profit:v=0,profit_percent:E=0}=p;return f+=v,d+=E,v<0?(g+=v,w+=E):(m+=v,D+=E),[f,d,g,w,m,D]},[0,0,0,0,0,0]);this._avg_trade_percent=e?n/e:void 0,this._netprofit=r,this._grossloss=s,this._grossloss_percent=a,this._grossprofit=l,this._grossprofit_percent=c,this._eventrades=this._historyOrders.filter(h=>h.profit===0).length,this._losstrades=this._historyOrders.filter(h=>(h.profit||0)<0).length,this._wintrades=this._historyOrders.filter(h=>(h.profit||0)>0).length}updateStrategyOptions(t){this._options=t}get long(){return"long"}get short(){return"short"}get account_currency(){return"USD"}get closedtrades(){return this._closedtrades}get opentrades(){return{opentrades:this._orders.length,capital_held:this._opentrades_capital_held}}get avg_losing_trade(){const t=this.losstrades;return t?Math.abs(this.grossloss/t):void 0}get avg_losing_trade_percent(){const t=this.losstrades;return t?Math.abs(this.grossloss_percent/t):void 0}get avg_trade(){if(this.closedtrades)return Math.abs(this.netprofit/this.closedtrades)}get equity(){return this.initial_capital+this.netprofit+this.openprofit}get netprofit(){return this._netprofit}get eventrades(){return this._eventrades}get openprofit(){return this._orders.reduce((t,e)=>{const{profit:r=0}=e;return t+r},0)}get avg_trade_percent(){return this._avg_trade_percent}get avg_winning_trade(){const t=this.wintrades;return t?Math.abs(this.grossprofit/t):void 0}get avg_winning_trade_percent(){const t=this.wintrades;return t?Math.abs(this.grossprofit_percent/t):void 0}get initial_capital(){var t;return((t=this._options)==null?void 0:t.initial_capital)||0}get losstrades(){return this._losstrades}get grossloss(){return this._grossloss}get grossloss_percent(){return this._grossloss_percent}get grossprofit(){return this._grossprofit}get grossprofit_percent(){return this._grossprofit_percent}get wintrades(){return this._wintrades}get margin_liquidation_price(){if(!this._options)return;const{initial_capital:t,margin_long:e=0,margin_short:r=0,commission_type:n,commission_value:s=0}=this._options,a=this._orders[0].direction===_e.long?1:-1,l=(a===1?e:r)/100;if(l<=0)return;const{close:c}=this._variables,[h,p]=this._orders.reduce((f,d)=>{let[g,w]=f;const{in_price:m,qty:D=0,original_qty:v=0}=d,E=m*D;if(g+=E,s){let b=0;switch(n){case Cr.percent:b=(E+D*c)*s/100;break;case Cr.cashPerContract:b=D*s*2;break;case Cr.cashPerOrder:b=D/v*s+s;break}w+=b}return[g,w]},[0,0]);return(h-(t+this.netprofit-p))*a/this.position_size/(1-a*l)}get max_contracts_held_all(){return this._max_contracts_held_all}get max_contracts_held_long(){return this._max_contracts_held_long}get max_contracts_held_short(){return this._max_contracts_held_short}get max_drawdown(){return this._max_drawdown}get max_runup(){return this._max_runup}get max_runup_percent(){return this._max_runup_percent}get max_drawdown_percent(){return this._max_drawdown_percent}get netprofit_percent(){return this.netprofit/this.initial_capital*100}get openprofit_percent(){return this.openprofit/(this.initial_capital+this.netprofit)*100}get position_avg_price(){return this._position_avg_price}get position_entry_name(){if(this._orders.length)return this._orders[0].id}get position_size(){return this._position_size}}class ry{constructor(){z(this,"_preAccdist");z(this,"_preNvi");z(this,"_prePvi");z(this,"_preObv");z(this,"_prePvt");z(this,"_preWad");z(this,"_preVwap");z(this,"_preValue");z(this,"_currentData");z(this,"_preData");this._preAccdist=0,this._preNvi=0,this._prePvi=0,this._preObv=0,this._prePvt=0,this._preWad=0,this._preVwap={},this._preValue={},this._currentData={},this._preData={}}update(t){this._preValue={},t.barIndex!==this._currentData.barIndex&&(this._preData={...this._currentData}),this._currentData={...t}}get isRealTime(){return this._preData.barIndex===this._currentData.barIndex}get accdist(){if(this._preValue.accdist)return this._preValue.accdist;const{close:t,low:e,high:r,volume:n}=this._currentData;if(r===e)return this._preAccdist;const s=(t-e-(r-t))/(r-e)*n+this._preAccdist;return!this.isRealTime&&(this._preAccdist=s),this._preValue.accdist=s,s}get iii(){if(this._preValue.iii)return this._preValue.iii;const{close:t,low:e,high:r,volume:n}=this._currentData,s=(2*t-r-e)/((r-e)*n);return this._preValue.iii=s,s}get nvi(){return this._preValue.nvi?this._preValue.nvi:this._getNvi()}get wvad(){if(this._preValue.wvad)return this._preValue.wvad;const{close:t,low:e,high:r,volume:n,open:s}=this._currentData,a=(t-s)/(r-e)*n;return this._preValue.wvad=a,a}get obv(){if(this._preValue.obv)return this._preValue.obv;const{close:t,volume:e}=this._currentData,{close:r}=this._preData;if(r===void 0){this._preObv=0;return}const n=Math.sign(t-r)*e+this._preObv;return!this.isRealTime&&(this._preObv=n),this._preValue.obv=n,n}get pvi(){return this._preValue.pvi?this._preValue.pvi:this._getPvi()}get tr(){if(this._preValue.tr)return this._preValue.tr;const{low:t,high:e}=this._currentData,{close:r}=this._preData;if(r===void 0)return;const n=Math.max(e-t,Math.abs(e-r),Math.abs(t-r));return this._preValue.tr=n,n}get pvt(){if(this._preValue.pvt)return this._preValue.pvt;const{close:t,volume:e}=this._currentData,{close:r}=this._preData;if(r===void 0){this._prePvt=0;return}const n=(t-r)/r*e+this._prePvt;return!this.isRealTime&&(this._prePvt=n),this._preValue.pvt=n,n}get wad(){if(this._preValue.wad)return this._preValue.wad;const{close:t,high:e,low:r}=this._currentData,{close:n}=this._preData;if(n===void 0)return this._preWad=0,0;const s=Math.max(e,n),a=Math.min(r,n),l=t-n,h=(l>0?t-a:l<0?t-s:0)+this._preWad;return!this.isRealTime&&(this._preWad=h),this._preValue.wad=h,h}get vwap(){if(this._preValue.vwap)return this._preValue.vwap;const{hlc3:t,volume:e}=this._currentData;let{sum:r=0,sumV:n=0,isReset:s}=this._preVwap;if(self.buildInFunctions.timeframe.change({timeframe:"1D"},"vwap_buildin")&&(s=!0,r=n=0),!s)return;const l=t*e+r,c=e+n;!this.isRealTime&&(this._preVwap={sum:l,sumV:c,isReset:s});const h=l/c;return this._preValue.vwap=h,h}_getNvi(){const t=this._preNvi||1,{close:e=0,volume:r=0}=this._preData,{close:n,volume:s}=this._currentData;let a=1;const l=t||1;return n&&e?a=s<r?l+(n-e)/e*l:l:a=l,!this.isRealTime&&(this._preNvi=a),this._preValue.nvi=a,a}_getPvi(){const t=this._prePvi||1,{close:e=0,volume:r=0}=this._preData,{close:n,volume:s}=this._currentData;let a=1;const l=t||1;return n&&e?a=s>r?l+(n-e)/e*l:l:a=l,!this.isRealTime&&(this._prePvi=a),this._preValue.pvi=a,a}}class ny{constructor(){z(this,"_period");z(this,"_multiplier");z(this,"_unit");this._period="1",this._multiplier=1,this._unit="m"}update(t){if(!t)return;this._period=t;const[e,r]=ys(t);this._multiplier=e,this._unit=r}get isdaily(){return this._unit==="d"}get isdwm(){return["d","w","M"].includes(this._unit)}get isintraday(){return["s","m","h"].includes(this._unit)}get isminutes(){return this._unit==="m"}get ismonthly(){return this._unit==="M"}get isseconds(){return this._unit==="s"}get isweekly(){return this._unit==="w"}get multiplier(){return this._multiplier}get period(){return this._period}}ee.extend(Pp),ee.extend(Sl),ee.extend(Lp);class iy{constructor(){z(this,"_cacheData");z(this,"_barIndex");z(this,"_isRealTimeBar");z(this,"_barstate");z(this,"_priceVariables");z(this,"_lastBarIndex");z(this,"_currentBarTime");z(this,"_lastBarTime");z(this,"_period");z(this,"_offsetTime");z(this,"_timeframe");z(this,"_ta");z(this,"_polyline");z(this,"_label");z(this,"_line");z(this,"_linefill");z(this,"_box");z(this,"_table");z(this,"_strategy");z(this,"_session");z(this,"_timeTradingday");this._cacheData={varData:{},varNewData:{},varipData:{}},this._barIndex=0,this._lastBarIndex=0,this._currentBarTime=0,this._lastBarTime=0,this._offsetTime=0,this._period="",this._isRealTimeBar=!1,this._barstate=new Qw,this._timeframe=new ny,this._priceVariables={close:0,open:0,low:0,high:0,volume:0},this._ta=new ry,this._polyline=new Ai,this._label=new Ai,this._line=new Ai,this._linefill=new Ai,this._box=new Ai,this._table=new Ai,this._strategy=new ey(this),this._session=new ty(this)}get table(){return this._table}get box(){return this._box}get linefill(){return this._linefill}get line(){return this._line}get polyline(){return this._polyline}get label(){return this._label}get ta(){return this._ta}get strategy(){return this._strategy}get session(){return this._session}get na(){}get last_bar_index(){return this._lastBarIndex}get bar_index(){return this._barIndex}get barstate(){return this._barstate}get close(){return this._priceVariables.close}get low(){return this._priceVariables.low}get open(){return this._priceVariables.open}get high(){return this._priceVariables.high}get volume(){return this._priceVariables.volume}get ohlc4(){const{close:t,open:e,high:r,low:n}=this._priceVariables;return(t+e+r+n)/4}get hl2(){const{high:t,low:e}=this._priceVariables;return(t+e)/2}get hlc3(){const{close:t,high:e,low:r}=this._priceVariables;return(t+e+r)/3}get hlcc4(){const{close:t,high:e,low:r}=this._priceVariables;return(t*2+e+r)/4}get hour(){return ee(this._currentBarTime).subtract(this._offsetTime,"hour").hour()}get minute(){return ee(this._currentBarTime).minute()}get second(){return ee(this._currentBarTime).second()}get month(){return ee(this._currentBarTime).month()+1}get year(){return ee(this._currentBarTime).year()}get dayofweek(){return ee(this._currentBarTime).day()+1}get dayofmonth(){return ee(this._currentBarTime).date()}get weekofyear(){return ee(this._currentBarTime).week()}get last_bar_time(){return this._lastBarTime}get time(){return this._currentBarTime}get time_close(){const[t,e]=ys(this._period);return this._isRealTimeBar?void 0:ee(this._currentBarTime).add(t,e).valueOf()}get timenow(){return Date.now()}get time_tradingday(){return this._timeTradingday||this.getTimeTradingday(this._currentBarTime,this._period)}get timeframe(){return this._timeframe}updateMaxLength(t){const{max_lines_count:e,max_labels_count:r,max_boxes_count:n,max_polylines_count:s}=t;n&&this._box.setMaxLen(n),r&&this._label.setMaxLen(r),e&&this._line.setMaxLen(e),s&&this._polyline.setMaxLen(s)}getTimeTradingday(t,e){const[r,n]=ys(e),s=ee(t);return["M","w","y","d"].includes(n)?s.valueOf():(s.subtract(this._offsetTime,"h"),s.startOf("d").add(this._offsetTime,"h").valueOf())}updateOptions(t){const{interval:e="1D",offsetTime:r=5}=t;this._period=e,this._offsetTime=r,this._timeframe.update(e)}updateData(t){const{barIndex:e,c:r,o:n,h:s,l:a,volume:l,time:c,lastBarIndex:h,lastBarTime:p,complete:f,time_tradingday:d}=t;this._priceVariables={close:Number(r),open:Number(n),high:Number(s),low:Number(a),volume:Number(l)},this._isRealTimeBar=f,e>this._barIndex&&this._isRealTimeBar&&(this._cacheData.varData=this._cacheData.varNewData,this._cacheData.varNewData={}),this._timeTradingday=d,this._currentBarTime=c*1e3,this._lastBarIndex=h,this._barIndex=e,this._lastBarTime=p*1e3,this._barstate.update(e,h,!1,!1),this.ta.update({...this._priceVariables,hlc3:this.hlc3,barIndex:e})}getCacheData(t,e,r){let n=this._cacheData[t]||[];n[this._barIndex]=r,n=n.filter(()=>!0);const s=n[n.length-1-e];return this._cacheData[t]=n,s}setCacheData(t,e){const r=this._cacheData[t]||[];r[this._barIndex]=e,this._cacheData[t]=r}getTypeInstance(t,e){return new Op(t,e)}getVarValue(t,e,r){const n=`${t}_${e}`,s=r==="var"?this._cacheData.varData[n]:this._cacheData.varipData[n];if(s)return s}setVarValue(t,e,r,n){const s=`${t}_${e}`;let a;switch(typeof r=="object"&&r&&(n="var",a=r.varipKeys),n){case"var":if(this._isRealTimeBar){const l=Pr.cloneDeep(r);if(this._cacheData.varNewData[s]=l,a&&a.length)for(const c of a)this._cacheData.varData[s][c]=l[c]}else this._cacheData.varData[s]=r;break;case"varip":this._cacheData.varipData[s]=r;break}return r}add(t,e){return Array.isArray(t)&&Array.isArray(e)?Pr.uniq([...t,...e]):typeof t=="number"||typeof e=="number"?Number(t)+Number(e):t+e}sub(t,e){return Array.isArray(t)&&Array.isArray(e)?t.filter(r=>!e.includes(r)):Number(t)-Number(e)}againAssignParse(t,e){var n;if(e)return;const r=(n=t==null?void 0:t.constructor)==null?void 0:n.name;if(r)switch(r){case Qi.name:case Xf.name:case es.name:case ka.name:case ts.name:case uo.name:t==null||t.delete();break}}}class Ai{constructor(t=50){z(this,"_all");z(this,"_allInstance");z(this,"_pseudoArrayAll");z(this,"_maxLength");this._all=new Map,this._allInstance=new Map,this._pseudoArrayAll=new Qt,this._maxLength=t}setMaxLen(t){this._maxLength=t}get data(){return[...this._all.values()]}get all(){return this._pseudoArrayAll._value=[...this._allInstance.values()],this._pseudoArrayAll}add(t,e,r){this._all.set(t,e),this._allInstance.set(t,r);const n=[...this._all.keys()];if(n.length>this._maxLength){const s=n.shift();s&&this.delete(s)}}get(t){return this._all.get(t)}getInstance(t){return this._allInstance.get(t)}delete(t){this._all.delete(t),this._allInstance.delete(t)}}var Qf={exports:{}};(function(i,t){(function(e,r){i.exports=r()})(Vt,function(){return function(e,r,n){r.prototype.isBetween=function(s,a,l,c){var h=n(s),p=n(a),f=(c=c||"()")[0]==="(",d=c[1]===")";return(f?this.isAfter(h,l):!this.isBefore(h,l))&&(d?this.isBefore(p,l):!this.isAfter(p,l))||(f?this.isBefore(h,l):!this.isAfter(h,l))&&(d?this.isAfter(p,l):!this.isBefore(p,l))}}})})(Qf);var sy=Qf.exports,oy=Kt(sy),th={exports:{}};(function(i,t){(function(e,r){i.exports=r()})(Vt,function(){return function(e,r,n){var s=r.prototype,a=function(d){var g,w=d.date,m=d.utc,D={};if(!((g=w)===null||g instanceof Date||g instanceof Array||s.$utils().u(g)||g.constructor.name!=="Object")){if(!Object.keys(w).length)return new Date;var v=m?n.utc():n();Object.keys(w).forEach(function(I){var C,O;D[C=I,O=s.$utils().p(C),O==="date"?"day":O]=w[I]});var E=D.day||(D.year||D.month>=0?1:v.date()),b=D.year||v.year(),N=D.month>=0?D.month:D.year||D.day?0:v.month(),x=D.hour||0,F=D.minute||0,M=D.second||0,S=D.millisecond||0;return m?new Date(Date.UTC(b,N,E,x,F,M,S)):new Date(b,N,E,x,F,M,S)}return w},l=s.parse;s.parse=function(d){d.date=a.bind(this)(d),l.bind(this)(d)};var c=s.set,h=s.add,p=s.subtract,f=function(d,g,w,m){m===void 0&&(m=1);var D=Object.keys(g),v=this;return D.forEach(function(E){v=d.bind(v)(g[E]*m,E)}),v};s.set=function(d,g){return g=g===void 0?d:g,d.constructor.name==="Object"?f.bind(this)(function(w,m){return c.bind(this)(m,w)},g,d):c.bind(this)(d,g)},s.add=function(d,g){return d.constructor.name==="Object"?f.bind(this)(h,d,g):h.bind(this)(d,g)},s.subtract=function(d,g){return d.constructor.name==="Object"?f.bind(this)(h,d,g,-1):p.bind(this)(d,g)}}})})(th);var ay=th.exports,uy=Kt(ay),eh={exports:{}};(function(i,t){(function(e,r){i.exports=r()})(Vt,function(){var e,r,n=1e3,s=6e4,a=36e5,l=864e5,c=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,h=31536e6,p=2628e6,f=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,d={years:h,months:p,days:l,hours:a,minutes:s,seconds:n,milliseconds:1,weeks:6048e5},g=function(F){return F instanceof N},w=function(F,M,S){return new N(F,S,M.$l)},m=function(F){return r.p(F)+"s"},D=function(F){return F<0},v=function(F){return D(F)?Math.ceil(F):Math.floor(F)},E=function(F){return Math.abs(F)},b=function(F,M){return F?D(F)?{negative:!0,format:""+E(F)+M}:{negative:!1,format:""+F+M}:{negative:!1,format:""}},N=function(){function F(S,I,C){var O=this;if(this.$d={},this.$l=C,S===void 0&&(this.$ms=0,this.parseFromMilliseconds()),I)return w(S*d[m(I)],this);if(typeof S=="number")return this.$ms=S,this.parseFromMilliseconds(),this;if(typeof S=="object")return Object.keys(S).forEach(function(U){O.$d[m(U)]=S[U]}),this.calMilliseconds(),this;if(typeof S=="string"){var L=S.match(f);if(L){var k=L.slice(2).map(function(U){return U!=null?Number(U):0});return this.$d.years=k[0],this.$d.months=k[1],this.$d.weeks=k[2],this.$d.days=k[3],this.$d.hours=k[4],this.$d.minutes=k[5],this.$d.seconds=k[6],this.calMilliseconds(),this}}return this}var M=F.prototype;return M.calMilliseconds=function(){var S=this;this.$ms=Object.keys(this.$d).reduce(function(I,C){return I+(S.$d[C]||0)*d[C]},0)},M.parseFromMilliseconds=function(){var S=this.$ms;this.$d.years=v(S/h),S%=h,this.$d.months=v(S/p),S%=p,this.$d.days=v(S/l),S%=l,this.$d.hours=v(S/a),S%=a,this.$d.minutes=v(S/s),S%=s,this.$d.seconds=v(S/n),S%=n,this.$d.milliseconds=S},M.toISOString=function(){var S=b(this.$d.years,"Y"),I=b(this.$d.months,"M"),C=+this.$d.days||0;this.$d.weeks&&(C+=7*this.$d.weeks);var O=b(C,"D"),L=b(this.$d.hours,"H"),k=b(this.$d.minutes,"M"),U=this.$d.seconds||0;this.$d.milliseconds&&(U+=this.$d.milliseconds/1e3,U=Math.round(1e3*U)/1e3);var W=b(U,"S"),P=S.negative||I.negative||O.negative||L.negative||k.negative||W.negative,G=L.format||k.format||W.format?"T":"",Z=(P?"-":"")+"P"+S.format+I.format+O.format+G+L.format+k.format+W.format;return Z==="P"||Z==="-P"?"P0D":Z},M.toJSON=function(){return this.toISOString()},M.format=function(S){var I=S||"YYYY-MM-DDTHH:mm:ss",C={Y:this.$d.years,YY:r.s(this.$d.years,2,"0"),YYYY:r.s(this.$d.years,4,"0"),M:this.$d.months,MM:r.s(this.$d.months,2,"0"),D:this.$d.days,DD:r.s(this.$d.days,2,"0"),H:this.$d.hours,HH:r.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:r.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:r.s(this.$d.seconds,2,"0"),SSS:r.s(this.$d.milliseconds,3,"0")};return I.replace(c,function(O,L){return L||String(C[O])})},M.as=function(S){return this.$ms/d[m(S)]},M.get=function(S){var I=this.$ms,C=m(S);return C==="milliseconds"?I%=1e3:I=C==="weeks"?v(I/d[C]):this.$d[C],I||0},M.add=function(S,I,C){var O;return O=I?S*d[m(I)]:g(S)?S.$ms:w(S,this).$ms,w(this.$ms+O*(C?-1:1),this)},M.subtract=function(S,I){return this.add(S,I,!0)},M.locale=function(S){var I=this.clone();return I.$l=S,I},M.clone=function(){return w(this.$ms,this)},M.humanize=function(S){return e().add(this.$ms,"ms").locale(this.$l).fromNow(!S)},M.valueOf=function(){return this.asMilliseconds()},M.milliseconds=function(){return this.get("milliseconds")},M.asMilliseconds=function(){return this.as("milliseconds")},M.seconds=function(){return this.get("seconds")},M.asSeconds=function(){return this.as("seconds")},M.minutes=function(){return this.get("minutes")},M.asMinutes=function(){return this.as("minutes")},M.hours=function(){return this.get("hours")},M.asHours=function(){return this.as("hours")},M.days=function(){return this.get("days")},M.asDays=function(){return this.as("days")},M.weeks=function(){return this.get("weeks")},M.asWeeks=function(){return this.as("weeks")},M.months=function(){return this.get("months")},M.asMonths=function(){return this.as("months")},M.years=function(){return this.get("years")},M.asYears=function(){return this.as("years")},F}(),x=function(F,M,S){return F.add(M.years()*S,"y").add(M.months()*S,"M").add(M.days()*S,"d").add(M.hours()*S,"h").add(M.minutes()*S,"m").add(M.seconds()*S,"s").add(M.milliseconds()*S,"ms")};return function(F,M,S){e=S,r=S().$utils(),S.duration=function(O,L){var k=S.locale();return w(O,{$l:k},L)},S.isDuration=g;var I=M.prototype.add,C=M.prototype.subtract;M.prototype.add=function(O,L){return g(O)?x(this,O,1):I.bind(this)(O,L)},M.prototype.subtract=function(O,L){return g(O)?x(this,O,-1):C.bind(this)(O,L)}}})})(eh);var ly=eh.exports,cy=Kt(ly);ee.extend(Sl),ee.extend(oy),ee.extend(uy),ee.extend(cy);class fy{constructor(t,e,r){z(this,"array");z(this,"color");z(this,"math");z(this,"str");z(this,"map");z(this,"matrix");z(this,"timeframe");z(this,"ta");z(this,"input");z(this,"_variables");z(this,"_cacheData");z(this,"_options");z(this,"_errorListener");z(this,"_plots");z(this,"_plotshapes");z(this,"_alerts");z(this,"_bgColors");z(this,"_hlines");z(this,"_fills");z(this,"chart");z(this,"line");z(this,"label");z(this,"polyline");z(this,"box");z(this,"table");z(this,"linefill");z(this,"log");z(this,"runtime");z(this,"strategy");var s;const n=((s=t.toString().split(".")[1])==null?void 0:s.length)||4;this._variables=e,this._errorListener=new Xw,this.array=new qp(this._errorListener),this.math=new kp(n,this._errorListener),this.color=new _1,this.str=new mw(this._errorListener,n),this.map=new gw(this._errorListener),this.timeframe=new _w(e),this.matrix=new dw(this._errorListener),this.ta=new c1(e,this.math,this.timeframe),this._cacheData={},this._options={},this._bgColors={},this._alerts=new Map,this._hlines=new Map,this._fills=new Map,this.input=new d1(e,this._errorListener,r),this._plots=new Map,this._plotshapes=new Map,this.chart={point:new vw(e)},this.line=new Uw(e,this._errorListener),this.label=new ww(e,this._errorListener),this.polyline=new kw(e,this._errorListener),this.box=new jw(e,this._errorListener),this.table=new Yw(e,this._errorListener),this.linefill=new Ww(e),this.log=new Hw(e),this.runtime=new Jw(this._errorListener),this.strategy=new Kw(this._variables,this._options,t,this._errorListener)}get errors(){return this._errorListener.errors}get options(){const t=this.input.getInputs(),e=this._alerts.size?[...this._alerts.values()]:void 0;this._alerts.clear();const r=Object.keys(this._bgColors);let n;if(r.length){n={};for(const f of r)n[f]=[...this._bgColors[f].values()]}const s=this._hlines.size?[...this._hlines.values()]:void 0,a=this._fills.size?[...this._fills.values()]:void 0,l=this.log.logs.length?this.log.logs:void 0;this.log.clearLogs(),this._options.scriptType==="strategy"&&Object.assign(this._options,{orders:this.strategy.orders,historyOrders:this.strategy.historyOrders});const c=[...this._plots.values()],h=this._plotshapes.size>0?[...this._plotshapes.values()]:void 0,p=this._getDraws();return Object.assign(this._options,{inputs:t,plots:c,draws:p,alerts:e,colors:n,hlines:s,fills:a,logs:l,plotshapes:h})}_getDraws(){const{line:t,linefill:e,table:r,box:n,polyline:s,label:a}=this._variables,l={};return t.data.length&&(l.lines=t.data),e.data.length&&(l.linefills=e.data),r.data.length&&(l.tables=r.data),n.data.length&&(l.boxes=n.data),s.data.length&&(l.polylines=s.data),a.data.length&&(l.labels=a.data),Object.keys(l).length?l:void 0}updateOptions(t){const{inputs:e}=t;e&&e.length&&this.input.update(e)}update(t){const{barIndex:e}=t;this.strategy.updateOptions(),this.math.update(e)}endExecution(){this.strategy.endExecution()}library(t,e){if(!this._variables.bar_index){const r=/^[^\W\d\s][^\W\s]*$/,{title:n}=t;r.test(n)?(p1.includes(n)||h1.includes(n))&&this._errorListener.addError(Qe(Ye.libraryTitleIsKeywordErr,{name:n}),e,jt.Error):this._errorListener.addError(Ye.libraryTitleErr,e,jt.Error),this._options.scriptType="library",this._options.library=t}}indicator(t,e){if(!this._variables.bar_index){const{format:r}=t;this._paramVerfiy(r,e,"indicator",[Gt.inherit,Gt.percent,Gt.price,Gt.volume]),this._variables.updateMaxLength(t),this._options.scriptType="indicator",this._options.indicator=t}}_paramVerfiy(t="",e,r,n,s="format"){t&&!n.includes(t)&&this._errorListener.addError(Qe(Ye.paramsErr,{value:t,func:r,param:s,targetVal:`[${n.join(", ")}]`}),e,jt.Error)}plot(t,e){const{series:r,color:n,seriesColors:s,...a}=t,{bar_index:l,time:c}=this._variables,h=`plot_${e}`,p=this._plots.get(h),f=(p==null?void 0:p.data)||[],d=r!==void 0&&isNaN(r)?void 0:r;if(f[l]={value:[c,d],itemStyle:{color:n}},s!=null&&s.length&&this._seriesColorHandle(t,p),!p){this._paramVerfiy(t.format,e,"plot",[Gt.percent,Gt.price,Gt.volume]);const g=n?[n]:void 0;this._plots.set(h,{editable:!0,...a,colors:g,data:f,id:h})}return{type:"plot",key:h}}plotbar(t,e){const{open:r,close:n,low:s,high:a,color:l,seriesColors:c,...h}=t,{bar_index:p,time:f}=this._variables,d=`plotbar_${e}`,g=this._plots.get(d),w=(g==null?void 0:g.data)||[],m=n!==void 0&&isNaN(n)?void 0:n,D=r!==void 0&&isNaN(r)?void 0:r,v=s!==void 0&&isNaN(s)?void 0:s,E=a!==void 0&&isNaN(a)?void 0:a,b=[f,D,m,v,E];if(w[p]={value:b,itemStyle:{color:l}},c!=null&&c.length&&this._seriesColorHandle(t,g),!g){this._paramVerfiy(t.format,e,"plotbar",[Gt.percent,Gt.price,Gt.volume]);const N=l?[l]:void 0;this._plots.set(d,{editable:!0,...h,colors:N,data:w,id:d})}}_verfiyArgs(t,e,r){const{size:n,format:s,location:a,style:l}=t;this._paramVerfiy(l,r,e,Object.values(ir),"style"),this._paramVerfiy(a,r,e,Object.values(on),"location"),this._paramVerfiy(n,r,e,Object.values(tr),"size"),this._paramVerfiy(s,r,e,[Gt.percent,Gt.price,Gt.volume],"format")}plotchar(t,e){const{series:r,color:n,seriesColors:s,textcolor:a,location:l=on.abovebar,...c}=t,{bar_index:h,time:p,high:f,low:d}=this._variables,g=`plotchar_${e}`,w=this._plots.get(g),m=(w==null?void 0:w.data)||[],D={value:r,time:p,color:n,textcolor:a,low:d,high:f};m[h]=D,s!=null&&s.length&&this._seriesColorHandle(t,w),w||(this._verfiyArgs(t,"plotchar",e),this._plots.set(g,{editable:!0,...c,location:l,data:m,id:g}))}plotarrow(t,e){const{series:r,colorup:n,colordown:s,...a}=t,{bar_index:l}=this._variables,c=`plotarrow_${e}`,h=this._plots.get(c),p=(h==null?void 0:h.data)||[];p[l]={value:r!==void 0&&isNaN(r)?void 0:r,colorup:n,colordown:s},h||(this._paramVerfiy(t.format,e,"plotarrow",[Gt.percent,Gt.price,Gt.volume]),this._plots.set(c,{editable:!0,...a,data:p,id:c}))}plotshape(t,e){const{series:r,seriesColors:n,color:s,textcolor:a,location:l=on.abovebar,...c}=t,{bar_index:h,time:p,low:f,high:d}=this._variables,g=`plotshape_${e}`,w=this._plotshapes.get(g),m=(w==null?void 0:w.data)||[],D={value:r,color:s,textcolor:a,time:p,low:f,high:d};if(m[h]=D,n!=null&&n.length&&this._seriesColorHandle(t,w),!w){const v=s?[s]:void 0;this._verfiyArgs(t,"plotshape",e),this._plotshapes.set(g,{editable:!0,...c,data:m,location:l,id:g,colors:v})}}plotcandle(t,e){const{wickcolor:r,bordercolor:n,color:s,close:a,open:l,low:c,high:h,...p}=t,{bar_index:f,time:d}=this._variables,g=`plotcandle_${e}`,w=this._plots.get(g),m=(w==null?void 0:w.data)||[],D=a!==void 0&&isNaN(a)?void 0:a,v=l!==void 0&&isNaN(l)?void 0:l,E=c!==void 0&&isNaN(c)?void 0:c,b=h!==void 0&&isNaN(h)?void 0:h,N=[d,v,D,E,b];m[f]={value:N,wickcolor:r,bordercolor:n,color:s},w||(this._paramVerfiy(t.format,e,"plotcandle",[Gt.percent,Gt.price,Gt.volume]),this._plots.set(g,{editable:!0,...p,data:m,id:g}))}hline(t,e){const r=`hline_${e}`;this._verifyDisplay(t.display,"hline",e);const n=t.display&&!t.display.length?Ue.none:Ue.all;return this._hlines.set(r,{id:r,linewidth:1,editable:!0,display:n,...t}),{type:"hline",key:r}}fill(t,e){var N,x,F,M,S,I,C,O;const{color:r,top_color:n,bottom_color:s,seriesColors:a,hline1:l,hline2:c,plot1:h,plot2:p,...f}=t,{bar_index:d,time:g}=this._variables,w=`fill_${e}`,m=this._fills.get(w),D=(m==null?void 0:m.data)||[];this._verifyDisplay(t.display,"fill",e);const v=t.display&&!t.display.length?Ue.none:Ue.all;let E,b;if(l&&c)E=(N=this._hlines.get(l==null?void 0:l.key))==null?void 0:N.price,b=(x=this._hlines.get(c==null?void 0:c.key))==null?void 0:x.price;else{const L=((F=this._plots.get(h==null?void 0:h.key))==null?void 0:F.data)||[],k=((M=this._plots.get(p==null?void 0:p.key))==null?void 0:M.data)||[];E=(I=(S=L[d])==null?void 0:S.value)==null?void 0:I[1],b=(O=(C=k[d])==null?void 0:C.value)==null?void 0:O[1]}if(D[d]={time:g,color:r,top_color:n,bottom_color:s,plot1:E,plot2:b},a!=null&&a.length&&this._seriesColorHandle(t,m),!m){const L=r?[r]:void 0,k=n?[n]:void 0,U=s?[s]:void 0;this._fills.set(w,{id:w,colors:L,top_colors:k,bottom_colors:U,display:v,data:D,editable:!0,fillgaps:!1,...f})}}alert({message:t,freq:e=qr.freqOncePerBar},r){const{bar_index:n,_isRealTimeBar:s,last_bar_index:a}=this._variables,l=`alert_${r}`,c=this._cacheData[l].barIndex;if(this._paramVerfiy(e,r,"alert",[qr.freqAll,qr.freqOncePerBar,qr.freqOncePerBarClose]),e===qr.freqOncePerBar&&n===c){this._alerts.delete(l);return}const h={message:t,freq:e,id:l,type:"alert"};if(s){e!==qr.freqOncePerBarClose&&this._alerts.set(l,h),this._cacheData[l].barIndex=n;return}if(!s&&e===qr.freqOncePerBarClose&&n===c&&a===n-1){this._alerts.set(l,h),this._cacheData[l].barIndex=n;return}this._alerts.delete(l)}alertcondition({condition:t,message:e,title:r},n){const{_isRealTimeBar:s}=this._variables,a=`alertcondition_${n}`;s&&t?this._alerts.set(a,{message:e,title:r,id:a,type:"alertcondition"}):this._alerts.delete(a)}barcolor(t,e){this._setColors(t,"barcolor",e)}bgcolor(t,e){this._setColors(t,"bgcolor",e)}_verifyDisplay(t=Jf.all,e,r){t.length&&t.length<4&&this._errorListener.addError(Qe(Ye.displayErr,{func:e,values:"[display.none, display.all]"}),r,jt.Error)}_setColors(t,e,r){const{color:n,seriesColors:s,...a}=t;this._verifyDisplay(a.display,e,r);const l=t.display&&!t.display.length?Ue.none:Ue.all,{bar_index:c,time:h}=this._variables,p=`${e}_${r}`;this._bgColors[e]||(this._bgColors[e]=new Map);const f=this._bgColors[e].get(p),d=(f==null?void 0:f.colors)||[],g=(f==null?void 0:f.setColors)||[];g.includes(n)||g.push(n),d[c]={color:n,time:h},f||this._bgColors[e].set(p,{...a,display:l,colors:d,setColors:g,id:p})}max_bars_back({var:t,num:e,var_name:r}){console.log(t,e,r)}float({x:t}){return t}bool({x:t}){return t||!1}string({x:t}){return t}int({x:t}){return t&&Math.trunc(t)}na({x:t}){return t===void 0}fixnan({source:t},e){return t===void 0||isNaN(t)?this._cacheData[`fixnan_${e}`]:(this._cacheData[`fixnan_${e}`]=t,t)}nz({source:t,replacement:e}){return t!==void 0&&!isNaN(t)?t:e||0}time({timeframe:t="",session:e,timezone:r,bars_back:n=0},s){return this._timeHandle(this._variables.time,s,t,e,r,n)}time_close({timeframe:t="",session:e,timezone:r,bars_back:n=0},s){return this._variables.time_close&&this._timeHandle(this._variables.time_close,s,t,e,r,n)}timestamp(t){const{dateString:e,timezone:r,year:n,month:s,day:a,hour:l=0,minute:c=0,second:h=0}=t;if(e)return ee(e).utc(!/GMT|UTC/.test(e)).valueOf();let p=s-1,f=n;if(p<0){const g=Math.ceil(Math.abs(p/12));p=12*g+p,f=n-g}let d=ee({year:f,month:p,day:a,hour:l,minute:c,second:h});return r&&(d=zr(d.utc(!0).valueOf(),r)),d.utc(!0).valueOf()}weekofyear({time:t,timezone:e}){return zr(t,e).week()}year({time:t,timezone:e}){return zr(t,e).year()}second({time:t,timezone:e}){return zr(t,e).second()}month({time:t,timezone:e}){return zr(t,e).month()+1}minute({time:t,timezone:e}){return zr(t,e).minute()}hour({time:t,timezone:e}){return zr(t,e).hour()}dayofweek({time:t,timezone:e}){return zr(t,e).day()+1}dayofmonth({time:t,timezone:e}){return zr(t,e).date()}_calcTimeOffset(t,e){const r=this._variables.getTimeTradingday(t,e),n=sn(e)*1e3;return t-r-Math.floor((t-r)/n)*n}_timeHandle(t,e,r="",n,s,a=0){const l=r||this._variables.timeframe.period,c=sn(l),h=sn(this._variables.timeframe.period);let p;if(c<=h)p=t;else{const f=`time_${e}`,d=this._cacheData[f];if(d)d.currentTime+c*1e3-d.offset<=t?(p=t,this._cacheData[f]={currentTime:t,offset:0}):p=d;else{const g=this._calcTimeOffset(t,l);this._cacheData[f]={currentTime:t,offset:g},p=t}}if(n){const{timePeriods:f,weeks:d}=this._parserSession(n,e),g=ee(t).format("YYYY-MM-DD"),w=p;p=void 0;for(const D of f){const[v,E]=D;if(ee(t).isBetween(`${g} ${v}`,`${g} ${E}`,"hour")){ee(w).isBetween(`${g} ${v}`,`${g} ${E}`,"hour")?p=w:p=ee(`${g} ${v}`).valueOf();break}}const m=this._variables.dayofweek;p&&!d.includes(m)&&(p=void 0)}return s&&(p=p&&zr(p,s).valueOf()),p&&p-a*h*1e3}_seriesColorHandle(t,e){var n,s;const{seriesColors:r}=t;if(e&&r!=null&&r.length)for(const a of r){if((n=e.gradientColorKeys)!=null&&n.includes(a))continue;const l=t[a],c=e[`${a}s`]||[];c.includes(l)||(c.push(l),e[`${a}s`]=c,c.length>5&&(e[`${a}s`]=[],(s=e.gradientColorKeys)==null||s.push(a)))}}_parserSession(t,e){const r=t.split(":"),n=r[0],a=(r[1]||"1234567").split("").map(c=>{const h=parseInt(c,10);if(h<1||h>7){this._errorListener.addError(`Invalid day of week: ${c}`,e,jt.Error);return}return h});return{timePeriods:n.split(",").map(c=>{const h=c.split("-");return h.length!==2?(this._errorListener.addError(`Invalid time period: ${c}`,e,jt.Error),[]):[this._processTime(h[0],e),this._processTime(h[1],e)]}),weeks:a}}_processTime(t,e){const r=parseInt(t.slice(0,2),10),n=parseInt(t.slice(2),10);if(!(r>=0&&r<=23)&&n>=0&&n<=59){this._errorListener.addError("Invalid time: Time must be within 00:00 to 23:59",e,jt.Error);return}return`${r}:${n}`}}/**
61
+ ${Rf}`)}function C1(i,t,e){return(i>=0&&e?` ${zf(i,t-1)}`:zf(i,t)).padEnd(t)}function zf(i,t){let e=i.toString();if(e.length<=t)return e;let r=i.toFixed(t);if(r.length>t&&(r=i.toFixed(Math.max(0,t-(r.length-t)))),r.length<=t&&!r.startsWith("0.000")&&!r.startsWith("-0.000"))return r;let n=i.toExponential(t);return n.length>t&&(n=i.toExponential(Math.max(0,t-(n.length-t)))),n.slice(0)}function F1(i,t){i.prototype.add=function(r){return typeof r=="number"?this.addS(r):this.addM(r)},i.prototype.addS=function(r){for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)+r);return this},i.prototype.addM=function(r){if(r=t.checkMatrix(r),this.rows!==r.rows||this.columns!==r.columns)throw new RangeError("Matrices dimensions must be equal");for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)+r.get(n,s));return this},i.add=function(r,n){return new t(r).add(n)},i.prototype.sub=function(r){return typeof r=="number"?this.subS(r):this.subM(r)},i.prototype.subS=function(r){for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)-r);return this},i.prototype.subM=function(r){if(r=t.checkMatrix(r),this.rows!==r.rows||this.columns!==r.columns)throw new RangeError("Matrices dimensions must be equal");for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)-r.get(n,s));return this},i.sub=function(r,n){return new t(r).sub(n)},i.prototype.subtract=i.prototype.sub,i.prototype.subtractS=i.prototype.subS,i.prototype.subtractM=i.prototype.subM,i.subtract=i.sub,i.prototype.mul=function(r){return typeof r=="number"?this.mulS(r):this.mulM(r)},i.prototype.mulS=function(r){for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)*r);return this},i.prototype.mulM=function(r){if(r=t.checkMatrix(r),this.rows!==r.rows||this.columns!==r.columns)throw new RangeError("Matrices dimensions must be equal");for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)*r.get(n,s));return this},i.mul=function(r,n){return new t(r).mul(n)},i.prototype.multiply=i.prototype.mul,i.prototype.multiplyS=i.prototype.mulS,i.prototype.multiplyM=i.prototype.mulM,i.multiply=i.mul,i.prototype.div=function(r){return typeof r=="number"?this.divS(r):this.divM(r)},i.prototype.divS=function(r){for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)/r);return this},i.prototype.divM=function(r){if(r=t.checkMatrix(r),this.rows!==r.rows||this.columns!==r.columns)throw new RangeError("Matrices dimensions must be equal");for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)/r.get(n,s));return this},i.div=function(r,n){return new t(r).div(n)},i.prototype.divide=i.prototype.div,i.prototype.divideS=i.prototype.divS,i.prototype.divideM=i.prototype.divM,i.divide=i.div,i.prototype.mod=function(r){return typeof r=="number"?this.modS(r):this.modM(r)},i.prototype.modS=function(r){for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)%r);return this},i.prototype.modM=function(r){if(r=t.checkMatrix(r),this.rows!==r.rows||this.columns!==r.columns)throw new RangeError("Matrices dimensions must be equal");for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)%r.get(n,s));return this},i.mod=function(r,n){return new t(r).mod(n)},i.prototype.modulus=i.prototype.mod,i.prototype.modulusS=i.prototype.modS,i.prototype.modulusM=i.prototype.modM,i.modulus=i.mod,i.prototype.and=function(r){return typeof r=="number"?this.andS(r):this.andM(r)},i.prototype.andS=function(r){for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)&r);return this},i.prototype.andM=function(r){if(r=t.checkMatrix(r),this.rows!==r.rows||this.columns!==r.columns)throw new RangeError("Matrices dimensions must be equal");for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)&r.get(n,s));return this},i.and=function(r,n){return new t(r).and(n)},i.prototype.or=function(r){return typeof r=="number"?this.orS(r):this.orM(r)},i.prototype.orS=function(r){for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)|r);return this},i.prototype.orM=function(r){if(r=t.checkMatrix(r),this.rows!==r.rows||this.columns!==r.columns)throw new RangeError("Matrices dimensions must be equal");for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)|r.get(n,s));return this},i.or=function(r,n){return new t(r).or(n)},i.prototype.xor=function(r){return typeof r=="number"?this.xorS(r):this.xorM(r)},i.prototype.xorS=function(r){for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)^r);return this},i.prototype.xorM=function(r){if(r=t.checkMatrix(r),this.rows!==r.rows||this.columns!==r.columns)throw new RangeError("Matrices dimensions must be equal");for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)^r.get(n,s));return this},i.xor=function(r,n){return new t(r).xor(n)},i.prototype.leftShift=function(r){return typeof r=="number"?this.leftShiftS(r):this.leftShiftM(r)},i.prototype.leftShiftS=function(r){for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)<<r);return this},i.prototype.leftShiftM=function(r){if(r=t.checkMatrix(r),this.rows!==r.rows||this.columns!==r.columns)throw new RangeError("Matrices dimensions must be equal");for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)<<r.get(n,s));return this},i.leftShift=function(r,n){return new t(r).leftShift(n)},i.prototype.signPropagatingRightShift=function(r){return typeof r=="number"?this.signPropagatingRightShiftS(r):this.signPropagatingRightShiftM(r)},i.prototype.signPropagatingRightShiftS=function(r){for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)>>r);return this},i.prototype.signPropagatingRightShiftM=function(r){if(r=t.checkMatrix(r),this.rows!==r.rows||this.columns!==r.columns)throw new RangeError("Matrices dimensions must be equal");for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)>>r.get(n,s));return this},i.signPropagatingRightShift=function(r,n){return new t(r).signPropagatingRightShift(n)},i.prototype.rightShift=function(r){return typeof r=="number"?this.rightShiftS(r):this.rightShiftM(r)},i.prototype.rightShiftS=function(r){for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)>>>r);return this},i.prototype.rightShiftM=function(r){if(r=t.checkMatrix(r),this.rows!==r.rows||this.columns!==r.columns)throw new RangeError("Matrices dimensions must be equal");for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)>>>r.get(n,s));return this},i.rightShift=function(r,n){return new t(r).rightShift(n)},i.prototype.zeroFillRightShift=i.prototype.rightShift,i.prototype.zeroFillRightShiftS=i.prototype.rightShiftS,i.prototype.zeroFillRightShiftM=i.prototype.rightShiftM,i.zeroFillRightShift=i.rightShift,i.prototype.not=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,~this.get(r,n));return this},i.not=function(r){return new t(r).not()},i.prototype.abs=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.abs(this.get(r,n)));return this},i.abs=function(r){return new t(r).abs()},i.prototype.acos=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.acos(this.get(r,n)));return this},i.acos=function(r){return new t(r).acos()},i.prototype.acosh=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.acosh(this.get(r,n)));return this},i.acosh=function(r){return new t(r).acosh()},i.prototype.asin=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.asin(this.get(r,n)));return this},i.asin=function(r){return new t(r).asin()},i.prototype.asinh=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.asinh(this.get(r,n)));return this},i.asinh=function(r){return new t(r).asinh()},i.prototype.atan=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.atan(this.get(r,n)));return this},i.atan=function(r){return new t(r).atan()},i.prototype.atanh=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.atanh(this.get(r,n)));return this},i.atanh=function(r){return new t(r).atanh()},i.prototype.cbrt=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.cbrt(this.get(r,n)));return this},i.cbrt=function(r){return new t(r).cbrt()},i.prototype.ceil=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.ceil(this.get(r,n)));return this},i.ceil=function(r){return new t(r).ceil()},i.prototype.clz32=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.clz32(this.get(r,n)));return this},i.clz32=function(r){return new t(r).clz32()},i.prototype.cos=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.cos(this.get(r,n)));return this},i.cos=function(r){return new t(r).cos()},i.prototype.cosh=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.cosh(this.get(r,n)));return this},i.cosh=function(r){return new t(r).cosh()},i.prototype.exp=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.exp(this.get(r,n)));return this},i.exp=function(r){return new t(r).exp()},i.prototype.expm1=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.expm1(this.get(r,n)));return this},i.expm1=function(r){return new t(r).expm1()},i.prototype.floor=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.floor(this.get(r,n)));return this},i.floor=function(r){return new t(r).floor()},i.prototype.fround=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.fround(this.get(r,n)));return this},i.fround=function(r){return new t(r).fround()},i.prototype.log=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.log(this.get(r,n)));return this},i.log=function(r){return new t(r).log()},i.prototype.log1p=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.log1p(this.get(r,n)));return this},i.log1p=function(r){return new t(r).log1p()},i.prototype.log10=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.log10(this.get(r,n)));return this},i.log10=function(r){return new t(r).log10()},i.prototype.log2=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.log2(this.get(r,n)));return this},i.log2=function(r){return new t(r).log2()},i.prototype.round=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.round(this.get(r,n)));return this},i.round=function(r){return new t(r).round()},i.prototype.sign=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.sign(this.get(r,n)));return this},i.sign=function(r){return new t(r).sign()},i.prototype.sin=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.sin(this.get(r,n)));return this},i.sin=function(r){return new t(r).sin()},i.prototype.sinh=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.sinh(this.get(r,n)));return this},i.sinh=function(r){return new t(r).sinh()},i.prototype.sqrt=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.sqrt(this.get(r,n)));return this},i.sqrt=function(r){return new t(r).sqrt()},i.prototype.tan=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.tan(this.get(r,n)));return this},i.tan=function(r){return new t(r).tan()},i.prototype.tanh=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.tanh(this.get(r,n)));return this},i.tanh=function(r){return new t(r).tanh()},i.prototype.trunc=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.trunc(this.get(r,n)));return this},i.trunc=function(r){return new t(r).trunc()},i.pow=function(r,n){return new t(r).pow(n)},i.prototype.pow=function(r){return typeof r=="number"?this.powS(r):this.powM(r)},i.prototype.powS=function(r){for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,Math.pow(this.get(n,s),r));return this},i.prototype.powM=function(r){if(r=t.checkMatrix(r),this.rows!==r.rows||this.columns!==r.columns)throw new RangeError("Matrices dimensions must be equal");for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,Math.pow(this.get(n,s),r.get(n,s)));return this}}function Mr(i,t,e){let r=e?i.rows:i.rows-1;if(t<0||t>r)throw new RangeError("Row index out of range")}function Nr(i,t,e){let r=e?i.columns:i.columns-1;if(t<0||t>r)throw new RangeError("Column index out of range")}function wi(i,t){if(t.to1DArray&&(t=t.to1DArray()),t.length!==i.columns)throw new RangeError("vector size must be the same as the number of columns");return t}function Di(i,t){if(t.to1DArray&&(t=t.to1DArray()),t.length!==i.rows)throw new RangeError("vector size must be the same as the number of rows");return t}function $a(i,t){if(!ar.isAnyArray(t))throw new TypeError("row indices must be an array");for(let e=0;e<t.length;e++)if(t[e]<0||t[e]>=i.rows)throw new RangeError("row indices are out of range")}function La(i,t){if(!ar.isAnyArray(t))throw new TypeError("column indices must be an array");for(let e=0;e<t.length;e++)if(t[e]<0||t[e]>=i.columns)throw new RangeError("column indices are out of range")}function Ra(i,t,e,r,n){if(arguments.length!==5)throw new RangeError("expected 4 arguments");if(ro("startRow",t),ro("endRow",e),ro("startColumn",r),ro("endColumn",n),t>e||r>n||t<0||t>=i.rows||e<0||e>=i.rows||r<0||r>=i.columns||n<0||n>=i.columns)throw new RangeError("Submatrix indices are out of range")}function eo(i,t=0){let e=[];for(let r=0;r<i;r++)e.push(t);return e}function ro(i,t){if(typeof t!="number")throw new TypeError(`${i} must be a number`)}function bi(i){if(i.isEmpty())throw new Error("Empty matrix has no elements to index")}function M1(i){let t=eo(i.rows);for(let e=0;e<i.rows;++e)for(let r=0;r<i.columns;++r)t[e]+=i.get(e,r);return t}function N1(i){let t=eo(i.columns);for(let e=0;e<i.rows;++e)for(let r=0;r<i.columns;++r)t[r]+=i.get(e,r);return t}function S1(i){let t=0;for(let e=0;e<i.rows;e++)for(let r=0;r<i.columns;r++)t+=i.get(e,r);return t}function B1(i){let t=eo(i.rows,1);for(let e=0;e<i.rows;++e)for(let r=0;r<i.columns;++r)t[e]*=i.get(e,r);return t}function O1(i){let t=eo(i.columns,1);for(let e=0;e<i.rows;++e)for(let r=0;r<i.columns;++r)t[r]*=i.get(e,r);return t}function T1(i){let t=1;for(let e=0;e<i.rows;e++)for(let r=0;r<i.columns;r++)t*=i.get(e,r);return t}function I1(i,t,e){const r=i.rows,n=i.columns,s=[];for(let a=0;a<r;a++){let l=0,c=0,h=0;for(let p=0;p<n;p++)h=i.get(a,p)-e[a],l+=h,c+=h*h;t?s.push((c-l*l/n)/(n-1)):s.push((c-l*l/n)/n)}return s}function $1(i,t,e){const r=i.rows,n=i.columns,s=[];for(let a=0;a<n;a++){let l=0,c=0,h=0;for(let p=0;p<r;p++)h=i.get(p,a)-e[a],l+=h,c+=h*h;t?s.push((c-l*l/r)/(r-1)):s.push((c-l*l/r)/r)}return s}function L1(i,t,e){const r=i.rows,n=i.columns,s=r*n;let a=0,l=0,c=0;for(let h=0;h<r;h++)for(let p=0;p<n;p++)c=i.get(h,p)-e,a+=c,l+=c*c;return t?(l-a*a/s)/(s-1):(l-a*a/s)/s}function R1(i,t){for(let e=0;e<i.rows;e++)for(let r=0;r<i.columns;r++)i.set(e,r,i.get(e,r)-t[e])}function P1(i,t){for(let e=0;e<i.rows;e++)for(let r=0;r<i.columns;r++)i.set(e,r,i.get(e,r)-t[r])}function z1(i,t){for(let e=0;e<i.rows;e++)for(let r=0;r<i.columns;r++)i.set(e,r,i.get(e,r)-t)}function q1(i){const t=[];for(let e=0;e<i.rows;e++){let r=0;for(let n=0;n<i.columns;n++)r+=Math.pow(i.get(e,n),2)/(i.columns-1);t.push(Math.sqrt(r))}return t}function k1(i,t){for(let e=0;e<i.rows;e++)for(let r=0;r<i.columns;r++)i.set(e,r,i.get(e,r)/t[e])}function U1(i){const t=[];for(let e=0;e<i.columns;e++){let r=0;for(let n=0;n<i.rows;n++)r+=Math.pow(i.get(n,e),2)/(i.rows-1);t.push(Math.sqrt(r))}return t}function W1(i,t){for(let e=0;e<i.rows;e++)for(let r=0;r<i.columns;r++)i.set(e,r,i.get(e,r)/t[r])}function j1(i){const t=i.size-1;let e=0;for(let r=0;r<i.columns;r++)for(let n=0;n<i.rows;n++)e+=Math.pow(i.get(n,r),2)/t;return Math.sqrt(e)}function Y1(i,t){for(let e=0;e<i.rows;e++)for(let r=0;r<i.columns;r++)i.set(e,r,i.get(e,r)/t)}class $t{static from1DArray(t,e,r){if(t*e!==r.length)throw new RangeError("data length does not match given dimensions");let s=new pt(t,e);for(let a=0;a<t;a++)for(let l=0;l<e;l++)s.set(a,l,r[a*e+l]);return s}static rowVector(t){let e=new pt(1,t.length);for(let r=0;r<t.length;r++)e.set(0,r,t[r]);return e}static columnVector(t){let e=new pt(t.length,1);for(let r=0;r<t.length;r++)e.set(r,0,t[r]);return e}static zeros(t,e){return new pt(t,e)}static ones(t,e){return new pt(t,e).fill(1)}static rand(t,e,r={}){if(typeof r!="object")throw new TypeError("options must be an object");const{random:n=Math.random}=r;let s=new pt(t,e);for(let a=0;a<t;a++)for(let l=0;l<e;l++)s.set(a,l,n());return s}static randInt(t,e,r={}){if(typeof r!="object")throw new TypeError("options must be an object");const{min:n=0,max:s=1e3,random:a=Math.random}=r;if(!Number.isInteger(n))throw new TypeError("min must be an integer");if(!Number.isInteger(s))throw new TypeError("max must be an integer");if(n>=s)throw new RangeError("min must be smaller than max");let l=s-n,c=new pt(t,e);for(let h=0;h<t;h++)for(let p=0;p<e;p++){let f=n+Math.round(a()*l);c.set(h,p,f)}return c}static eye(t,e,r){e===void 0&&(e=t),r===void 0&&(r=1);let n=Math.min(t,e),s=this.zeros(t,e);for(let a=0;a<n;a++)s.set(a,a,r);return s}static diag(t,e,r){let n=t.length;e===void 0&&(e=n),r===void 0&&(r=e);let s=Math.min(n,e,r),a=this.zeros(e,r);for(let l=0;l<s;l++)a.set(l,l,t[l]);return a}static min(t,e){t=this.checkMatrix(t),e=this.checkMatrix(e);let r=t.rows,n=t.columns,s=new pt(r,n);for(let a=0;a<r;a++)for(let l=0;l<n;l++)s.set(a,l,Math.min(t.get(a,l),e.get(a,l)));return s}static max(t,e){t=this.checkMatrix(t),e=this.checkMatrix(e);let r=t.rows,n=t.columns,s=new this(r,n);for(let a=0;a<r;a++)for(let l=0;l<n;l++)s.set(a,l,Math.max(t.get(a,l),e.get(a,l)));return s}static checkMatrix(t){return $t.isMatrix(t)?t:new pt(t)}static isMatrix(t){return t!=null&&t.klass==="Matrix"}get size(){return this.rows*this.columns}apply(t){if(typeof t!="function")throw new TypeError("callback must be a function");for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)t.call(this,e,r);return this}to1DArray(){let t=[];for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)t.push(this.get(e,r));return t}to2DArray(){let t=[];for(let e=0;e<this.rows;e++){t.push([]);for(let r=0;r<this.columns;r++)t[e].push(this.get(e,r))}return t}toJSON(){return this.to2DArray()}isRowVector(){return this.rows===1}isColumnVector(){return this.columns===1}isVector(){return this.rows===1||this.columns===1}isSquare(){return this.rows===this.columns}isEmpty(){return this.rows===0||this.columns===0}isSymmetric(){if(this.isSquare()){for(let t=0;t<this.rows;t++)for(let e=0;e<=t;e++)if(this.get(t,e)!==this.get(e,t))return!1;return!0}return!1}isDistance(){if(!this.isSymmetric())return!1;for(let t=0;t<this.rows;t++)if(this.get(t,t)!==0)return!1;return!0}isEchelonForm(){let t=0,e=0,r=-1,n=!0,s=!1;for(;t<this.rows&&n;){for(e=0,s=!1;e<this.columns&&s===!1;)this.get(t,e)===0?e++:this.get(t,e)===1&&e>r?(s=!0,r=e):(n=!1,s=!0);t++}return n}isReducedEchelonForm(){let t=0,e=0,r=-1,n=!0,s=!1;for(;t<this.rows&&n;){for(e=0,s=!1;e<this.columns&&s===!1;)this.get(t,e)===0?e++:this.get(t,e)===1&&e>r?(s=!0,r=e):(n=!1,s=!0);for(let a=e+1;a<this.rows;a++)this.get(t,a)!==0&&(n=!1);t++}return n}echelonForm(){let t=this.clone(),e=0,r=0;for(;e<t.rows&&r<t.columns;){let n=e;for(let s=e;s<t.rows;s++)t.get(s,r)>t.get(n,r)&&(n=s);if(t.get(n,r)===0)r++;else{t.swapRows(e,n);let s=t.get(e,r);for(let a=r;a<t.columns;a++)t.set(e,a,t.get(e,a)/s);for(let a=e+1;a<t.rows;a++){let l=t.get(a,r)/t.get(e,r);t.set(a,r,0);for(let c=r+1;c<t.columns;c++)t.set(a,c,t.get(a,c)-t.get(e,c)*l)}e++,r++}}return t}reducedEchelonForm(){let t=this.echelonForm(),e=t.columns,r=t.rows,n=r-1;for(;n>=0;)if(t.maxRow(n)===0)n--;else{let s=0,a=!1;for(;s<r&&a===!1;)t.get(n,s)===1?a=!0:s++;for(let l=0;l<n;l++){let c=t.get(l,s);for(let h=s;h<e;h++){let p=t.get(l,h)-c*t.get(n,h);t.set(l,h,p)}}n--}return t}set(){throw new Error("set method is unimplemented")}get(){throw new Error("get method is unimplemented")}repeat(t={}){if(typeof t!="object")throw new TypeError("options must be an object");const{rows:e=1,columns:r=1}=t;if(!Number.isInteger(e)||e<=0)throw new TypeError("rows must be a positive integer");if(!Number.isInteger(r)||r<=0)throw new TypeError("columns must be a positive integer");let n=new pt(this.rows*e,this.columns*r);for(let s=0;s<e;s++)for(let a=0;a<r;a++)n.setSubMatrix(this,this.rows*s,this.columns*a);return n}fill(t){for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)this.set(e,r,t);return this}neg(){return this.mulS(-1)}getRow(t){Mr(this,t);let e=[];for(let r=0;r<this.columns;r++)e.push(this.get(t,r));return e}getRowVector(t){return pt.rowVector(this.getRow(t))}setRow(t,e){Mr(this,t),e=wi(this,e);for(let r=0;r<this.columns;r++)this.set(t,r,e[r]);return this}swapRows(t,e){Mr(this,t),Mr(this,e);for(let r=0;r<this.columns;r++){let n=this.get(t,r);this.set(t,r,this.get(e,r)),this.set(e,r,n)}return this}getColumn(t){Nr(this,t);let e=[];for(let r=0;r<this.rows;r++)e.push(this.get(r,t));return e}getColumnVector(t){return pt.columnVector(this.getColumn(t))}setColumn(t,e){Nr(this,t),e=Di(this,e);for(let r=0;r<this.rows;r++)this.set(r,t,e[r]);return this}swapColumns(t,e){Nr(this,t),Nr(this,e);for(let r=0;r<this.rows;r++){let n=this.get(r,t);this.set(r,t,this.get(r,e)),this.set(r,e,n)}return this}addRowVector(t){t=wi(this,t);for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)this.set(e,r,this.get(e,r)+t[r]);return this}subRowVector(t){t=wi(this,t);for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)this.set(e,r,this.get(e,r)-t[r]);return this}mulRowVector(t){t=wi(this,t);for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)this.set(e,r,this.get(e,r)*t[r]);return this}divRowVector(t){t=wi(this,t);for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)this.set(e,r,this.get(e,r)/t[r]);return this}addColumnVector(t){t=Di(this,t);for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)this.set(e,r,this.get(e,r)+t[e]);return this}subColumnVector(t){t=Di(this,t);for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)this.set(e,r,this.get(e,r)-t[e]);return this}mulColumnVector(t){t=Di(this,t);for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)this.set(e,r,this.get(e,r)*t[e]);return this}divColumnVector(t){t=Di(this,t);for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)this.set(e,r,this.get(e,r)/t[e]);return this}mulRow(t,e){Mr(this,t);for(let r=0;r<this.columns;r++)this.set(t,r,this.get(t,r)*e);return this}mulColumn(t,e){Nr(this,t);for(let r=0;r<this.rows;r++)this.set(r,t,this.get(r,t)*e);return this}max(t){if(this.isEmpty())return NaN;switch(t){case"row":{const e=new Array(this.rows).fill(Number.NEGATIVE_INFINITY);for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.get(r,n)>e[r]&&(e[r]=this.get(r,n));return e}case"column":{const e=new Array(this.columns).fill(Number.NEGATIVE_INFINITY);for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.get(r,n)>e[n]&&(e[n]=this.get(r,n));return e}case void 0:{let e=this.get(0,0);for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.get(r,n)>e&&(e=this.get(r,n));return e}default:throw new Error(`invalid option: ${t}`)}}maxIndex(){bi(this);let t=this.get(0,0),e=[0,0];for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.get(r,n)>t&&(t=this.get(r,n),e[0]=r,e[1]=n);return e}min(t){if(this.isEmpty())return NaN;switch(t){case"row":{const e=new Array(this.rows).fill(Number.POSITIVE_INFINITY);for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.get(r,n)<e[r]&&(e[r]=this.get(r,n));return e}case"column":{const e=new Array(this.columns).fill(Number.POSITIVE_INFINITY);for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.get(r,n)<e[n]&&(e[n]=this.get(r,n));return e}case void 0:{let e=this.get(0,0);for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.get(r,n)<e&&(e=this.get(r,n));return e}default:throw new Error(`invalid option: ${t}`)}}minIndex(){bi(this);let t=this.get(0,0),e=[0,0];for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.get(r,n)<t&&(t=this.get(r,n),e[0]=r,e[1]=n);return e}maxRow(t){if(Mr(this,t),this.isEmpty())return NaN;let e=this.get(t,0);for(let r=1;r<this.columns;r++)this.get(t,r)>e&&(e=this.get(t,r));return e}maxRowIndex(t){Mr(this,t),bi(this);let e=this.get(t,0),r=[t,0];for(let n=1;n<this.columns;n++)this.get(t,n)>e&&(e=this.get(t,n),r[1]=n);return r}minRow(t){if(Mr(this,t),this.isEmpty())return NaN;let e=this.get(t,0);for(let r=1;r<this.columns;r++)this.get(t,r)<e&&(e=this.get(t,r));return e}minRowIndex(t){Mr(this,t),bi(this);let e=this.get(t,0),r=[t,0];for(let n=1;n<this.columns;n++)this.get(t,n)<e&&(e=this.get(t,n),r[1]=n);return r}maxColumn(t){if(Nr(this,t),this.isEmpty())return NaN;let e=this.get(0,t);for(let r=1;r<this.rows;r++)this.get(r,t)>e&&(e=this.get(r,t));return e}maxColumnIndex(t){Nr(this,t),bi(this);let e=this.get(0,t),r=[0,t];for(let n=1;n<this.rows;n++)this.get(n,t)>e&&(e=this.get(n,t),r[0]=n);return r}minColumn(t){if(Nr(this,t),this.isEmpty())return NaN;let e=this.get(0,t);for(let r=1;r<this.rows;r++)this.get(r,t)<e&&(e=this.get(r,t));return e}minColumnIndex(t){Nr(this,t),bi(this);let e=this.get(0,t),r=[0,t];for(let n=1;n<this.rows;n++)this.get(n,t)<e&&(e=this.get(n,t),r[0]=n);return r}diag(){let t=Math.min(this.rows,this.columns),e=[];for(let r=0;r<t;r++)e.push(this.get(r,r));return e}norm(t="frobenius"){switch(t){case"max":return this.max();case"frobenius":return Math.sqrt(this.dot(this));default:throw new RangeError(`unknown norm type: ${t}`)}}cumulativeSum(){let t=0;for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)t+=this.get(e,r),this.set(e,r,t);return this}dot(t){$t.isMatrix(t)&&(t=t.to1DArray());let e=this.to1DArray();if(e.length!==t.length)throw new RangeError("vectors do not have the same size");let r=0;for(let n=0;n<e.length;n++)r+=e[n]*t[n];return r}mmul(t){t=pt.checkMatrix(t);let e=this.rows,r=this.columns,n=t.columns,s=new pt(e,n),a=new Float64Array(r);for(let l=0;l<n;l++){for(let c=0;c<r;c++)a[c]=t.get(c,l);for(let c=0;c<e;c++){let h=0;for(let p=0;p<r;p++)h+=this.get(c,p)*a[p];s.set(c,l,h)}}return s}strassen2x2(t){t=pt.checkMatrix(t);let e=new pt(2,2);const r=this.get(0,0),n=t.get(0,0),s=this.get(0,1),a=t.get(0,1),l=this.get(1,0),c=t.get(1,0),h=this.get(1,1),p=t.get(1,1),f=(r+h)*(n+p),d=(l+h)*n,g=r*(a-p),y=h*(c-n),m=(r+s)*p,D=(l-r)*(n+a),v=(s-h)*(c+p),E=f+y-m+v,b=g+m,N=d+y,x=f-d+g+D;return e.set(0,0,E),e.set(0,1,b),e.set(1,0,N),e.set(1,1,x),e}strassen3x3(t){t=pt.checkMatrix(t);let e=new pt(3,3);const r=this.get(0,0),n=this.get(0,1),s=this.get(0,2),a=this.get(1,0),l=this.get(1,1),c=this.get(1,2),h=this.get(2,0),p=this.get(2,1),f=this.get(2,2),d=t.get(0,0),g=t.get(0,1),y=t.get(0,2),m=t.get(1,0),D=t.get(1,1),v=t.get(1,2),E=t.get(2,0),b=t.get(2,1),N=t.get(2,2),x=(r+n+s-a-l-p-f)*D,F=(r-a)*(-g+D),M=l*(-d+g+m-D-v-E+N),S=(-r+a+l)*(d-g+D),I=(a+l)*(-d+g),C=r*d,O=(-r+h+p)*(d-y+v),L=(-r+h)*(y-v),U=(h+p)*(-d+y),k=(r+n+s-l-c-h-p)*v,W=p*(-d+y+m-D-v-E+b),P=(-s+p+f)*(D+E-b),G=(s-f)*(D-b),Z=s*E,X=(p+f)*(-E+b),tt=(-s+l+c)*(v+E-N),ct=(s-c)*(v-N),vt=(l+c)*(-E+N),lt=n*m,wt=c*b,bt=a*y,Bt=h*g,Et=f*N,oe=C+Z+lt,Tt=x+S+I+C+P+Z+X,Nt=C+O+U+k+Z+tt+vt,ue=F+M+S+C+Z+tt+ct,re=F+S+I+C+wt,qt=Z+tt+ct+vt+bt,Jt=C+O+L+W+P+G+Z,Te=P+G+Z+X+Bt,_r=C+O+L+U+Et;return e.set(0,0,oe),e.set(0,1,Tt),e.set(0,2,Nt),e.set(1,0,ue),e.set(1,1,re),e.set(1,2,qt),e.set(2,0,Jt),e.set(2,1,Te),e.set(2,2,_r),e}mmulStrassen(t){t=pt.checkMatrix(t);let e=this.clone(),r=e.rows,n=e.columns,s=t.rows,a=t.columns;n!==s&&console.warn(`Multiplying ${r} x ${n} and ${s} x ${a} matrix: dimensions do not match.`);function l(f,d,g){let y=f.rows,m=f.columns;if(y===d&&m===g)return f;{let D=$t.zeros(d,g);return D=D.setSubMatrix(f,0,0),D}}let c=Math.max(r,s),h=Math.max(n,a);e=l(e,c,h),t=l(t,c,h);function p(f,d,g,y){if(g<=512||y<=512)return f.mmul(d);g%2===1&&y%2===1?(f=l(f,g+1,y+1),d=l(d,g+1,y+1)):g%2===1?(f=l(f,g+1,y),d=l(d,g+1,y)):y%2===1&&(f=l(f,g,y+1),d=l(d,g,y+1));let m=parseInt(f.rows/2,10),D=parseInt(f.columns/2,10),v=f.subMatrix(0,m-1,0,D-1),E=d.subMatrix(0,m-1,0,D-1),b=f.subMatrix(0,m-1,D,f.columns-1),N=d.subMatrix(0,m-1,D,d.columns-1),x=f.subMatrix(m,f.rows-1,0,D-1),F=d.subMatrix(m,d.rows-1,0,D-1),M=f.subMatrix(m,f.rows-1,D,f.columns-1),S=d.subMatrix(m,d.rows-1,D,d.columns-1),I=p($t.add(v,M),$t.add(E,S),m,D),C=p($t.add(x,M),E,m,D),O=p(v,$t.sub(N,S),m,D),L=p(M,$t.sub(F,E),m,D),U=p($t.add(v,b),S,m,D),k=p($t.sub(x,v),$t.add(E,N),m,D),W=p($t.sub(b,M),$t.add(F,S),m,D),P=$t.add(I,L);P.sub(U),P.add(W);let G=$t.add(O,U),Z=$t.add(C,L),X=$t.sub(I,C);X.add(O),X.add(k);let tt=$t.zeros(2*P.rows,2*P.columns);return tt=tt.setSubMatrix(P,0,0),tt=tt.setSubMatrix(G,P.rows,0),tt=tt.setSubMatrix(Z,0,P.columns),tt=tt.setSubMatrix(X,P.rows,P.columns),tt.subMatrix(0,g-1,0,y-1)}return p(e,t,c,h)}scaleRows(t={}){if(typeof t!="object")throw new TypeError("options must be an object");const{min:e=0,max:r=1}=t;if(!Number.isFinite(e))throw new TypeError("min must be a number");if(!Number.isFinite(r))throw new TypeError("max must be a number");if(e>=r)throw new RangeError("min must be smaller than max");let n=new pt(this.rows,this.columns);for(let s=0;s<this.rows;s++){const a=this.getRow(s);a.length>0&&Lf(a,{min:e,max:r,output:a}),n.setRow(s,a)}return n}scaleColumns(t={}){if(typeof t!="object")throw new TypeError("options must be an object");const{min:e=0,max:r=1}=t;if(!Number.isFinite(e))throw new TypeError("min must be a number");if(!Number.isFinite(r))throw new TypeError("max must be a number");if(e>=r)throw new RangeError("min must be smaller than max");let n=new pt(this.rows,this.columns);for(let s=0;s<this.columns;s++){const a=this.getColumn(s);a.length&&Lf(a,{min:e,max:r,output:a}),n.setColumn(s,a)}return n}flipRows(){const t=Math.ceil(this.columns/2);for(let e=0;e<this.rows;e++)for(let r=0;r<t;r++){let n=this.get(e,r),s=this.get(e,this.columns-1-r);this.set(e,r,s),this.set(e,this.columns-1-r,n)}return this}flipColumns(){const t=Math.ceil(this.rows/2);for(let e=0;e<this.columns;e++)for(let r=0;r<t;r++){let n=this.get(r,e),s=this.get(this.rows-1-r,e);this.set(r,e,s),this.set(this.rows-1-r,e,n)}return this}kroneckerProduct(t){t=pt.checkMatrix(t);let e=this.rows,r=this.columns,n=t.rows,s=t.columns,a=new pt(e*n,r*s);for(let l=0;l<e;l++)for(let c=0;c<r;c++)for(let h=0;h<n;h++)for(let p=0;p<s;p++)a.set(n*l+h,s*c+p,this.get(l,c)*t.get(h,p));return a}kroneckerSum(t){if(t=pt.checkMatrix(t),!this.isSquare()||!t.isSquare())throw new Error("Kronecker Sum needs two Square Matrices");let e=this.rows,r=t.rows,n=this.kroneckerProduct(pt.eye(r,r)),s=pt.eye(e,e).kroneckerProduct(t);return n.add(s)}transpose(){let t=new pt(this.columns,this.rows);for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)t.set(r,e,this.get(e,r));return t}sortRows(t=qf){for(let e=0;e<this.rows;e++)this.setRow(e,this.getRow(e).sort(t));return this}sortColumns(t=qf){for(let e=0;e<this.columns;e++)this.setColumn(e,this.getColumn(e).sort(t));return this}subMatrix(t,e,r,n){Ra(this,t,e,r,n);let s=new pt(e-t+1,n-r+1);for(let a=t;a<=e;a++)for(let l=r;l<=n;l++)s.set(a-t,l-r,this.get(a,l));return s}subMatrixRow(t,e,r){if(e===void 0&&(e=0),r===void 0&&(r=this.columns-1),e>r||e<0||e>=this.columns||r<0||r>=this.columns)throw new RangeError("Argument out of range");let n=new pt(t.length,r-e+1);for(let s=0;s<t.length;s++)for(let a=e;a<=r;a++){if(t[s]<0||t[s]>=this.rows)throw new RangeError(`Row index out of range: ${t[s]}`);n.set(s,a-e,this.get(t[s],a))}return n}subMatrixColumn(t,e,r){if(e===void 0&&(e=0),r===void 0&&(r=this.rows-1),e>r||e<0||e>=this.rows||r<0||r>=this.rows)throw new RangeError("Argument out of range");let n=new pt(r-e+1,t.length);for(let s=0;s<t.length;s++)for(let a=e;a<=r;a++){if(t[s]<0||t[s]>=this.columns)throw new RangeError(`Column index out of range: ${t[s]}`);n.set(a-e,s,this.get(a,t[s]))}return n}setSubMatrix(t,e,r){if(t=pt.checkMatrix(t),t.isEmpty())return this;let n=e+t.rows-1,s=r+t.columns-1;Ra(this,e,n,r,s);for(let a=0;a<t.rows;a++)for(let l=0;l<t.columns;l++)this.set(e+a,r+l,t.get(a,l));return this}selection(t,e){$a(this,t),La(this,e);let r=new pt(t.length,e.length);for(let n=0;n<t.length;n++){let s=t[n];for(let a=0;a<e.length;a++){let l=e[a];r.set(n,a,this.get(s,l))}}return r}trace(){let t=Math.min(this.rows,this.columns),e=0;for(let r=0;r<t;r++)e+=this.get(r,r);return e}clone(){return this.constructor.copy(this,new pt(this.rows,this.columns))}static copy(t,e){for(const[r,n,s]of t.entries())e.set(r,n,s);return e}sum(t){switch(t){case"row":return M1(this);case"column":return N1(this);case void 0:return S1(this);default:throw new Error(`invalid option: ${t}`)}}product(t){switch(t){case"row":return B1(this);case"column":return O1(this);case void 0:return T1(this);default:throw new Error(`invalid option: ${t}`)}}mean(t){const e=this.sum(t);switch(t){case"row":{for(let r=0;r<this.rows;r++)e[r]/=this.columns;return e}case"column":{for(let r=0;r<this.columns;r++)e[r]/=this.rows;return e}case void 0:return e/this.size;default:throw new Error(`invalid option: ${t}`)}}variance(t,e={}){if(typeof t=="object"&&(e=t,t=void 0),typeof e!="object")throw new TypeError("options must be an object");const{unbiased:r=!0,mean:n=this.mean(t)}=e;if(typeof r!="boolean")throw new TypeError("unbiased must be a boolean");switch(t){case"row":{if(!ar.isAnyArray(n))throw new TypeError("mean must be an array");return I1(this,r,n)}case"column":{if(!ar.isAnyArray(n))throw new TypeError("mean must be an array");return $1(this,r,n)}case void 0:{if(typeof n!="number")throw new TypeError("mean must be a number");return L1(this,r,n)}default:throw new Error(`invalid option: ${t}`)}}standardDeviation(t,e){typeof t=="object"&&(e=t,t=void 0);const r=this.variance(t,e);if(t===void 0)return Math.sqrt(r);for(let n=0;n<r.length;n++)r[n]=Math.sqrt(r[n]);return r}center(t,e={}){if(typeof t=="object"&&(e=t,t=void 0),typeof e!="object")throw new TypeError("options must be an object");const{center:r=this.mean(t)}=e;switch(t){case"row":{if(!ar.isAnyArray(r))throw new TypeError("center must be an array");return R1(this,r),this}case"column":{if(!ar.isAnyArray(r))throw new TypeError("center must be an array");return P1(this,r),this}case void 0:{if(typeof r!="number")throw new TypeError("center must be a number");return z1(this,r),this}default:throw new Error(`invalid option: ${t}`)}}scale(t,e={}){if(typeof t=="object"&&(e=t,t=void 0),typeof e!="object")throw new TypeError("options must be an object");let r=e.scale;switch(t){case"row":{if(r===void 0)r=q1(this);else if(!ar.isAnyArray(r))throw new TypeError("scale must be an array");return k1(this,r),this}case"column":{if(r===void 0)r=U1(this);else if(!ar.isAnyArray(r))throw new TypeError("scale must be an array");return W1(this,r),this}case void 0:{if(r===void 0)r=j1(this);else if(typeof r!="number")throw new TypeError("scale must be a number");return Y1(this,r),this}default:throw new Error(`invalid option: ${t}`)}}toString(t){return Pf(this,t)}[Symbol.iterator](){return this.entries()}*entries(){for(let t=0;t<this.rows;t++)for(let e=0;e<this.columns;e++)yield[t,e,this.get(t,e)]}*values(){for(let t=0;t<this.rows;t++)for(let e=0;e<this.columns;e++)yield this.get(t,e)}}$t.prototype.klass="Matrix",typeof Symbol<"u"&&($t.prototype[Symbol.for("nodejs.util.inspect.custom")]=x1);function qf(i,t){return i-t}function V1(i){return i.every(t=>typeof t=="number")}$t.random=$t.rand,$t.randomInt=$t.randInt,$t.diagonal=$t.diag,$t.prototype.diagonal=$t.prototype.diag,$t.identity=$t.eye,$t.prototype.negate=$t.prototype.neg,$t.prototype.tensorProduct=$t.prototype.kroneckerProduct;let pt=(Fi=class extends $t{constructor(e,r){super();Al(this,rs);z(this,"data");if(Fi.isMatrix(e))Cl(this,rs,Fl).call(this,e.rows,e.columns),Fi.copy(e,this);else if(Number.isInteger(e)&&e>=0)Cl(this,rs,Fl).call(this,e,r);else if(ar.isAnyArray(e)){const n=e;if(e=n.length,r=e?n[0].length:0,typeof r!="number")throw new TypeError("Data must be a 2D array with at least one element");this.data=[];for(let s=0;s<e;s++){if(n[s].length!==r)throw new RangeError("Inconsistent array dimensions");if(!V1(n[s]))throw new TypeError("Input data contains non-numeric values");this.data.push(Float64Array.from(n[s]))}this.rows=e,this.columns=r}else throw new TypeError("First argument must be a positive number or an array")}set(e,r,n){return this.data[e][r]=n,this}get(e,r){return this.data[e][r]}removeRow(e){return Mr(this,e),this.data.splice(e,1),this.rows-=1,this}addRow(e,r){return r===void 0&&(r=e,e=this.rows),Mr(this,e,!0),r=Float64Array.from(wi(this,r)),this.data.splice(e,0,r),this.rows+=1,this}removeColumn(e){Nr(this,e);for(let r=0;r<this.rows;r++){const n=new Float64Array(this.columns-1);for(let s=0;s<e;s++)n[s]=this.data[r][s];for(let s=e+1;s<this.columns;s++)n[s-1]=this.data[r][s];this.data[r]=n}return this.columns-=1,this}addColumn(e,r){typeof r>"u"&&(r=e,e=this.columns),Nr(this,e,!0),r=Di(this,r);for(let n=0;n<this.rows;n++){const s=new Float64Array(this.columns+1);let a=0;for(;a<e;a++)s[a]=this.data[n][a];for(s[a++]=r[n];a<this.columns+1;a++)s[a]=this.data[n][a-1];this.data[n]=s}return this.columns+=1,this}},rs=new WeakSet,Fl=function(e,r){if(this.data=[],Number.isInteger(r)&&r>=0)for(let n=0;n<e;n++)this.data.push(new Float64Array(r));else throw new TypeError("nColumns must be a positive integer");this.rows=e,this.columns=r},Fi);F1($t,pt);const _o=class _o extends $t{constructor(e){super();Al(this,Ke,void 0);if(pt.isMatrix(e)){if(!e.isSymmetric())throw new TypeError("not symmetric data");oa(this,Ke,pt.copy(e,new pt(e.rows,e.rows)))}else if(Number.isInteger(e)&&e>=0)oa(this,Ke,new pt(e,e));else if(oa(this,Ke,new pt(e)),!this.isSymmetric())throw new TypeError("not symmetric data")}get size(){return Hr(this,Ke).size}get rows(){return Hr(this,Ke).rows}get columns(){return Hr(this,Ke).columns}get diagonalSize(){return this.rows}static isSymmetricMatrix(e){return pt.isMatrix(e)&&e.klassType==="SymmetricMatrix"}static zeros(e){return new this(e)}static ones(e){return new this(e).fill(1)}clone(){const e=new _o(this.diagonalSize);for(const[r,n,s]of this.upperRightEntries())e.set(r,n,s);return e}toMatrix(){return new pt(this)}get(e,r){return Hr(this,Ke).get(e,r)}set(e,r,n){return Hr(this,Ke).set(e,r,n),Hr(this,Ke).set(r,e,n),this}removeCross(e){return Hr(this,Ke).removeRow(e),Hr(this,Ke).removeColumn(e),this}addCross(e,r){r===void 0&&(r=e,e=this.diagonalSize);const n=r.slice();return n.splice(e,1),Hr(this,Ke).addRow(e,n),Hr(this,Ke).addColumn(e,r),this}applyMask(e){if(e.length!==this.diagonalSize)throw new RangeError("Mask size do not match with matrix size");const r=[];for(const[n,s]of e.entries())s||r.push(n);r.reverse();for(const n of r)this.removeCross(n);return this}toCompact(){const{diagonalSize:e}=this,r=new Array(e*(e+1)/2);for(let n=0,s=0,a=0;a<r.length;a++)r[a]=this.get(s,n),++n>=e&&(n=++s);return r}static fromCompact(e){const r=e.length,n=(Math.sqrt(8*r+1)-1)/2;if(!Number.isInteger(n))throw new TypeError(`This array is not a compact representation of a Symmetric Matrix, ${JSON.stringify(e)}`);const s=new _o(n);for(let a=0,l=0,c=0;c<r;c++)s.set(a,l,e[c]),++a>=n&&(a=++l);return s}*upperRightEntries(){for(let e=0,r=0;e<this.diagonalSize;void 0){const n=this.get(e,r);yield[e,r,n],++r>=this.diagonalSize&&(r=++e)}}*upperRightValues(){for(let e=0,r=0;e<this.diagonalSize;void 0)yield this.get(e,r),++r>=this.diagonalSize&&(r=++e)}};Ke=new WeakMap;let Jn=_o;Jn.prototype.klassType="SymmetricMatrix";class no extends Jn{static isDistanceMatrix(t){return Jn.isSymmetricMatrix(t)&&t.klassSubType==="DistanceMatrix"}constructor(t){if(super(t),!this.isDistance())throw new TypeError("Provided arguments do no produce a distance matrix")}set(t,e,r){return t===e&&(r=0),super.set(t,e,r)}addCross(t,e){return e===void 0&&(e=t,t=this.diagonalSize),e=e.slice(),e[t]=0,super.addCross(t,e)}toSymmetricMatrix(){return new Jn(this)}clone(){const t=new no(this.diagonalSize);for(const[e,r,n]of this.upperRightEntries())e!==r&&t.set(e,r,n);return t}toCompact(){const{diagonalSize:t}=this,e=(t-1)*t/2,r=new Array(e);for(let n=1,s=0,a=0;a<r.length;a++)r[a]=this.get(s,n),++n>=t&&(n=++s+1);return r}static fromCompact(t){const e=t.length,r=(Math.sqrt(8*e+1)+1)/2;if(!Number.isInteger(r))throw new TypeError(`This array is not a compact representation of a DistanceMatrix, ${JSON.stringify(t)}`);const n=new this(r);for(let s=1,a=0,l=0;l<e;l++)n.set(s,a,t[l]),++s>=r&&(s=++a+1);return n}}no.prototype.klassSubType="DistanceMatrix";class cn extends $t{constructor(t,e,r){super(),this.matrix=t,this.rows=e,this.columns=r}}class Z1 extends cn{constructor(t,e){Nr(t,e),super(t,t.rows,1),this.column=e}set(t,e,r){return this.matrix.set(t,this.column,r),this}get(t){return this.matrix.get(t,this.column)}}class G1 extends cn{constructor(t,e){La(t,e),super(t,t.rows,e.length),this.columnIndices=e}set(t,e,r){return this.matrix.set(t,this.columnIndices[e],r),this}get(t,e){return this.matrix.get(t,this.columnIndices[e])}}class K1 extends cn{constructor(t){super(t,t.rows,t.columns)}set(t,e,r){return this.matrix.set(t,this.columns-e-1,r),this}get(t,e){return this.matrix.get(t,this.columns-e-1)}}class H1 extends cn{constructor(t){super(t,t.rows,t.columns)}set(t,e,r){return this.matrix.set(this.rows-t-1,e,r),this}get(t,e){return this.matrix.get(this.rows-t-1,e)}}class J1 extends cn{constructor(t,e){Mr(t,e),super(t,1,t.columns),this.row=e}set(t,e,r){return this.matrix.set(this.row,e,r),this}get(t,e){return this.matrix.get(this.row,e)}}class X1 extends cn{constructor(t,e){$a(t,e),super(t,e.length,t.columns),this.rowIndices=e}set(t,e,r){return this.matrix.set(this.rowIndices[t],e,r),this}get(t,e){return this.matrix.get(this.rowIndices[t],e)}}class io extends cn{constructor(t,e,r){$a(t,e),La(t,r),super(t,e.length,r.length),this.rowIndices=e,this.columnIndices=r}set(t,e,r){return this.matrix.set(this.rowIndices[t],this.columnIndices[e],r),this}get(t,e){return this.matrix.get(this.rowIndices[t],this.columnIndices[e])}}class Q1 extends cn{constructor(t,e,r,n,s){Ra(t,e,r,n,s),super(t,r-e+1,s-n+1),this.startRow=e,this.startColumn=n}set(t,e,r){return this.matrix.set(this.startRow+t,this.startColumn+e,r),this}get(t,e){return this.matrix.get(this.startRow+t,this.startColumn+e)}}class ty extends cn{constructor(t){super(t,t.columns,t.rows)}set(t,e,r){return this.matrix.set(e,t,r),this}get(t,e){return this.matrix.get(e,t)}}class kf extends $t{constructor(t,e={}){const{rows:r=1}=e;if(t.length%r!==0)throw new Error("the data length is not divisible by the number of rows");super(),this.rows=r,this.columns=t.length/r,this.data=t}set(t,e,r){let n=this._calculateIndex(t,e);return this.data[n]=r,this}get(t,e){let r=this._calculateIndex(t,e);return this.data[r]}_calculateIndex(t,e){return t*this.columns+e}}class dr extends $t{constructor(t){super(),this.data=t,this.rows=t.length,this.columns=t[0].length}set(t,e,r){return this.data[t][e]=r,this}get(t,e){return this.data[t][e]}}function ey(i,t){if(ar.isAnyArray(i))return i[0]&&ar.isAnyArray(i[0])?new dr(i):new kf(i,t);throw new Error("the argument is not an array")}class so{constructor(t){t=dr.checkMatrix(t);let e=t.clone(),r=e.rows,n=e.columns,s=new Float64Array(r),a=1,l,c,h,p,f,d,g,y,m;for(l=0;l<r;l++)s[l]=l;for(y=new Float64Array(r),c=0;c<n;c++){for(l=0;l<r;l++)y[l]=e.get(l,c);for(l=0;l<r;l++){for(m=Math.min(l,c),f=0,h=0;h<m;h++)f+=e.get(l,h)*y[h];y[l]-=f,e.set(l,c,y[l])}for(p=c,l=c+1;l<r;l++)Math.abs(y[l])>Math.abs(y[p])&&(p=l);if(p!==c){for(h=0;h<n;h++)d=e.get(p,h),e.set(p,h,e.get(c,h)),e.set(c,h,d);g=s[p],s[p]=s[c],s[c]=g,a=-a}if(c<r&&e.get(c,c)!==0)for(l=c+1;l<r;l++)e.set(l,c,e.get(l,c)/e.get(c,c))}this.LU=e,this.pivotVector=s,this.pivotSign=a}isSingular(){let t=this.LU,e=t.columns;for(let r=0;r<e;r++)if(t.get(r,r)===0)return!0;return!1}solve(t){t=pt.checkMatrix(t);let e=this.LU;if(e.rows!==t.rows)throw new Error("Invalid matrix dimensions");if(this.isSingular())throw new Error("LU matrix is singular");let n=t.columns,s=t.subMatrixRow(this.pivotVector,0,n-1),a=e.columns,l,c,h;for(h=0;h<a;h++)for(l=h+1;l<a;l++)for(c=0;c<n;c++)s.set(l,c,s.get(l,c)-s.get(h,c)*e.get(l,h));for(h=a-1;h>=0;h--){for(c=0;c<n;c++)s.set(h,c,s.get(h,c)/e.get(h,h));for(l=0;l<h;l++)for(c=0;c<n;c++)s.set(l,c,s.get(l,c)-s.get(h,c)*e.get(l,h))}return s}get determinant(){let t=this.LU;if(!t.isSquare())throw new Error("Matrix must be square");let e=this.pivotSign,r=t.columns;for(let n=0;n<r;n++)e*=t.get(n,n);return e}get lowerTriangularMatrix(){let t=this.LU,e=t.rows,r=t.columns,n=new pt(e,r);for(let s=0;s<e;s++)for(let a=0;a<r;a++)s>a?n.set(s,a,t.get(s,a)):s===a?n.set(s,a,1):n.set(s,a,0);return n}get upperTriangularMatrix(){let t=this.LU,e=t.rows,r=t.columns,n=new pt(e,r);for(let s=0;s<e;s++)for(let a=0;a<r;a++)s<=a?n.set(s,a,t.get(s,a)):n.set(s,a,0);return n}get pivotPermutationVector(){return Array.from(this.pivotVector)}}function fn(i,t){let e=0;return Math.abs(i)>Math.abs(t)?(e=t/i,Math.abs(i)*Math.sqrt(1+e*e)):t!==0?(e=i/t,Math.abs(t)*Math.sqrt(1+e*e)):0}class Pa{constructor(t){t=dr.checkMatrix(t);let e=t.clone(),r=t.rows,n=t.columns,s=new Float64Array(n),a,l,c,h;for(c=0;c<n;c++){let p=0;for(a=c;a<r;a++)p=fn(p,e.get(a,c));if(p!==0){for(e.get(c,c)<0&&(p=-p),a=c;a<r;a++)e.set(a,c,e.get(a,c)/p);for(e.set(c,c,e.get(c,c)+1),l=c+1;l<n;l++){for(h=0,a=c;a<r;a++)h+=e.get(a,c)*e.get(a,l);for(h=-h/e.get(c,c),a=c;a<r;a++)e.set(a,l,e.get(a,l)+h*e.get(a,c))}}s[c]=-p}this.QR=e,this.Rdiag=s}solve(t){t=pt.checkMatrix(t);let e=this.QR,r=e.rows;if(t.rows!==r)throw new Error("Matrix row dimensions must agree");if(!this.isFullRank())throw new Error("Matrix is rank deficient");let n=t.columns,s=t.clone(),a=e.columns,l,c,h,p;for(h=0;h<a;h++)for(c=0;c<n;c++){for(p=0,l=h;l<r;l++)p+=e.get(l,h)*s.get(l,c);for(p=-p/e.get(h,h),l=h;l<r;l++)s.set(l,c,s.get(l,c)+p*e.get(l,h))}for(h=a-1;h>=0;h--){for(c=0;c<n;c++)s.set(h,c,s.get(h,c)/this.Rdiag[h]);for(l=0;l<h;l++)for(c=0;c<n;c++)s.set(l,c,s.get(l,c)-s.get(h,c)*e.get(l,h))}return s.subMatrix(0,a-1,0,n-1)}isFullRank(){let t=this.QR.columns;for(let e=0;e<t;e++)if(this.Rdiag[e]===0)return!1;return!0}get upperTriangularMatrix(){let t=this.QR,e=t.columns,r=new pt(e,e),n,s;for(n=0;n<e;n++)for(s=0;s<e;s++)n<s?r.set(n,s,t.get(n,s)):n===s?r.set(n,s,this.Rdiag[n]):r.set(n,s,0);return r}get orthogonalMatrix(){let t=this.QR,e=t.rows,r=t.columns,n=new pt(e,r),s,a,l,c;for(l=r-1;l>=0;l--){for(s=0;s<e;s++)n.set(s,l,0);for(n.set(l,l,1),a=l;a<r;a++)if(t.get(l,l)!==0){for(c=0,s=l;s<e;s++)c+=t.get(s,l)*n.get(s,a);for(c=-c/t.get(l,l),s=l;s<e;s++)n.set(s,a,n.get(s,a)+c*t.get(s,l))}}return n}}class Ei{constructor(t,e={}){if(t=dr.checkMatrix(t),t.isEmpty())throw new Error("Matrix must be non-empty");let r=t.rows,n=t.columns;const{computeLeftSingularVectors:s=!0,computeRightSingularVectors:a=!0,autoTranspose:l=!1}=e;let c=!!s,h=!!a,p=!1,f;if(r<n)if(!l)f=t.clone(),console.warn("Computing SVD on a matrix with more columns than rows. Consider enabling autoTranspose");else{f=t.transpose(),r=f.rows,n=f.columns,p=!0;let C=c;c=h,h=C}else f=t.clone();let d=Math.min(r,n),g=Math.min(r+1,n),y=new Float64Array(g),m=new pt(r,d),D=new pt(n,n),v=new Float64Array(n),E=new Float64Array(r),b=new Float64Array(g);for(let C=0;C<g;C++)b[C]=C;let N=Math.min(r-1,n),x=Math.max(0,Math.min(n-2,r)),F=Math.max(N,x);for(let C=0;C<F;C++){if(C<N){y[C]=0;for(let O=C;O<r;O++)y[C]=fn(y[C],f.get(O,C));if(y[C]!==0){f.get(C,C)<0&&(y[C]=-y[C]);for(let O=C;O<r;O++)f.set(O,C,f.get(O,C)/y[C]);f.set(C,C,f.get(C,C)+1)}y[C]=-y[C]}for(let O=C+1;O<n;O++){if(C<N&&y[C]!==0){let L=0;for(let U=C;U<r;U++)L+=f.get(U,C)*f.get(U,O);L=-L/f.get(C,C);for(let U=C;U<r;U++)f.set(U,O,f.get(U,O)+L*f.get(U,C))}v[O]=f.get(C,O)}if(c&&C<N)for(let O=C;O<r;O++)m.set(O,C,f.get(O,C));if(C<x){v[C]=0;for(let O=C+1;O<n;O++)v[C]=fn(v[C],v[O]);if(v[C]!==0){v[C+1]<0&&(v[C]=0-v[C]);for(let O=C+1;O<n;O++)v[O]/=v[C];v[C+1]+=1}if(v[C]=-v[C],C+1<r&&v[C]!==0){for(let O=C+1;O<r;O++)E[O]=0;for(let O=C+1;O<r;O++)for(let L=C+1;L<n;L++)E[O]+=v[L]*f.get(O,L);for(let O=C+1;O<n;O++){let L=-v[O]/v[C+1];for(let U=C+1;U<r;U++)f.set(U,O,f.get(U,O)+L*E[U])}}if(h)for(let O=C+1;O<n;O++)D.set(O,C,v[O])}}let M=Math.min(n,r+1);if(N<n&&(y[N]=f.get(N,N)),r<M&&(y[M-1]=0),x+1<M&&(v[x]=f.get(x,M-1)),v[M-1]=0,c){for(let C=N;C<d;C++){for(let O=0;O<r;O++)m.set(O,C,0);m.set(C,C,1)}for(let C=N-1;C>=0;C--)if(y[C]!==0){for(let O=C+1;O<d;O++){let L=0;for(let U=C;U<r;U++)L+=m.get(U,C)*m.get(U,O);L=-L/m.get(C,C);for(let U=C;U<r;U++)m.set(U,O,m.get(U,O)+L*m.get(U,C))}for(let O=C;O<r;O++)m.set(O,C,-m.get(O,C));m.set(C,C,1+m.get(C,C));for(let O=0;O<C-1;O++)m.set(O,C,0)}else{for(let O=0;O<r;O++)m.set(O,C,0);m.set(C,C,1)}}if(h)for(let C=n-1;C>=0;C--){if(C<x&&v[C]!==0)for(let O=C+1;O<n;O++){let L=0;for(let U=C+1;U<n;U++)L+=D.get(U,C)*D.get(U,O);L=-L/D.get(C+1,C);for(let U=C+1;U<n;U++)D.set(U,O,D.get(U,O)+L*D.get(U,C))}for(let O=0;O<n;O++)D.set(O,C,0);D.set(C,C,1)}let S=M-1,I=Number.EPSILON;for(;M>0;){let C,O;for(C=M-2;C>=-1&&C!==-1;C--){const L=Number.MIN_VALUE+I*Math.abs(y[C]+Math.abs(y[C+1]));if(Math.abs(v[C])<=L||Number.isNaN(v[C])){v[C]=0;break}}if(C===M-2)O=4;else{let L;for(L=M-1;L>=C&&L!==C;L--){let U=(L!==M?Math.abs(v[L]):0)+(L!==C+1?Math.abs(v[L-1]):0);if(Math.abs(y[L])<=I*U){y[L]=0;break}}L===C?O=3:L===M-1?O=1:(O=2,C=L)}switch(C++,O){case 1:{let L=v[M-2];v[M-2]=0;for(let U=M-2;U>=C;U--){let k=fn(y[U],L),W=y[U]/k,P=L/k;if(y[U]=k,U!==C&&(L=-P*v[U-1],v[U-1]=W*v[U-1]),h)for(let G=0;G<n;G++)k=W*D.get(G,U)+P*D.get(G,M-1),D.set(G,M-1,-P*D.get(G,U)+W*D.get(G,M-1)),D.set(G,U,k)}break}case 2:{let L=v[C-1];v[C-1]=0;for(let U=C;U<M;U++){let k=fn(y[U],L),W=y[U]/k,P=L/k;if(y[U]=k,L=-P*v[U],v[U]=W*v[U],c)for(let G=0;G<r;G++)k=W*m.get(G,U)+P*m.get(G,C-1),m.set(G,C-1,-P*m.get(G,U)+W*m.get(G,C-1)),m.set(G,U,k)}break}case 3:{const L=Math.max(Math.abs(y[M-1]),Math.abs(y[M-2]),Math.abs(v[M-2]),Math.abs(y[C]),Math.abs(v[C])),U=y[M-1]/L,k=y[M-2]/L,W=v[M-2]/L,P=y[C]/L,G=v[C]/L,Z=((k+U)*(k-U)+W*W)/2,X=U*W*(U*W);let tt=0;(Z!==0||X!==0)&&(Z<0?tt=0-Math.sqrt(Z*Z+X):tt=Math.sqrt(Z*Z+X),tt=X/(Z+tt));let ct=(P+U)*(P-U)+tt,vt=P*G;for(let lt=C;lt<M-1;lt++){let wt=fn(ct,vt);wt===0&&(wt=Number.MIN_VALUE);let bt=ct/wt,Bt=vt/wt;if(lt!==C&&(v[lt-1]=wt),ct=bt*y[lt]+Bt*v[lt],v[lt]=bt*v[lt]-Bt*y[lt],vt=Bt*y[lt+1],y[lt+1]=bt*y[lt+1],h)for(let Et=0;Et<n;Et++)wt=bt*D.get(Et,lt)+Bt*D.get(Et,lt+1),D.set(Et,lt+1,-Bt*D.get(Et,lt)+bt*D.get(Et,lt+1)),D.set(Et,lt,wt);if(wt=fn(ct,vt),wt===0&&(wt=Number.MIN_VALUE),bt=ct/wt,Bt=vt/wt,y[lt]=wt,ct=bt*v[lt]+Bt*y[lt+1],y[lt+1]=-Bt*v[lt]+bt*y[lt+1],vt=Bt*v[lt+1],v[lt+1]=bt*v[lt+1],c&&lt<r-1)for(let Et=0;Et<r;Et++)wt=bt*m.get(Et,lt)+Bt*m.get(Et,lt+1),m.set(Et,lt+1,-Bt*m.get(Et,lt)+bt*m.get(Et,lt+1)),m.set(Et,lt,wt)}v[M-2]=ct;break}case 4:{if(y[C]<=0&&(y[C]=y[C]<0?-y[C]:0,h))for(let L=0;L<=S;L++)D.set(L,C,-D.get(L,C));for(;C<S&&!(y[C]>=y[C+1]);){let L=y[C];if(y[C]=y[C+1],y[C+1]=L,h&&C<n-1)for(let U=0;U<n;U++)L=D.get(U,C+1),D.set(U,C+1,D.get(U,C)),D.set(U,C,L);if(c&&C<r-1)for(let U=0;U<r;U++)L=m.get(U,C+1),m.set(U,C+1,m.get(U,C)),m.set(U,C,L);C++}M--;break}}}if(p){let C=D;D=m,m=C}this.m=r,this.n=n,this.s=y,this.U=m,this.V=D}solve(t){let e=t,r=this.threshold,n=this.s.length,s=pt.zeros(n,n);for(let d=0;d<n;d++)Math.abs(this.s[d])<=r?s.set(d,d,0):s.set(d,d,1/this.s[d]);let a=this.U,l=this.rightSingularVectors,c=l.mmul(s),h=l.rows,p=a.rows,f=pt.zeros(h,p);for(let d=0;d<h;d++)for(let g=0;g<p;g++){let y=0;for(let m=0;m<n;m++)y+=c.get(d,m)*a.get(g,m);f.set(d,g,y)}return f.mmul(e)}solveForDiagonal(t){return this.solve(pt.diag(t))}inverse(){let t=this.V,e=this.threshold,r=t.rows,n=t.columns,s=new pt(r,this.s.length);for(let p=0;p<r;p++)for(let f=0;f<n;f++)Math.abs(this.s[f])>e&&s.set(p,f,t.get(p,f)/this.s[f]);let a=this.U,l=a.rows,c=a.columns,h=new pt(r,l);for(let p=0;p<r;p++)for(let f=0;f<l;f++){let d=0;for(let g=0;g<c;g++)d+=s.get(p,g)*a.get(f,g);h.set(p,f,d)}return h}get condition(){return this.s[0]/this.s[Math.min(this.m,this.n)-1]}get norm2(){return this.s[0]}get rank(){let t=Math.max(this.m,this.n)*this.s[0]*Number.EPSILON,e=0,r=this.s;for(let n=0,s=r.length;n<s;n++)r[n]>t&&e++;return e}get diagonal(){return Array.from(this.s)}get threshold(){return Number.EPSILON/2*Math.max(this.m,this.n)*this.s[0]}get leftSingularVectors(){return this.U}get rightSingularVectors(){return this.V}get diagonalMatrix(){return pt.diag(this.s)}}function ry(i,t=!1){return i=dr.checkMatrix(i),t?new Ei(i).inverse():Uf(i,pt.eye(i.rows))}function Uf(i,t,e=!1){return i=dr.checkMatrix(i),t=dr.checkMatrix(t),e?new Ei(i).solve(t):i.isSquare()?new so(i).solve(t):new Pa(i).solve(t)}function oo(i){if(i=pt.checkMatrix(i),i.isSquare()){if(i.columns===0)return 1;let t,e,r,n;if(i.columns===2)return t=i.get(0,0),e=i.get(0,1),r=i.get(1,0),n=i.get(1,1),t*n-e*r;if(i.columns===3){let s,a,l;return s=new io(i,[1,2],[1,2]),a=new io(i,[1,2],[0,2]),l=new io(i,[1,2],[0,1]),t=i.get(0,0),e=i.get(0,1),r=i.get(0,2),t*oo(s)-e*oo(a)+r*oo(l)}else return new so(i).determinant}else throw Error("determinant can only be calculated for a square matrix")}function ny(i,t){let e=[];for(let r=0;r<i;r++)r!==t&&e.push(r);return e}function iy(i,t,e,r=1e-9,n=1e-9){if(i>n)return new Array(t.rows+1).fill(0);{let s=t.addRow(e,[0]);for(let a=0;a<s.rows;a++)Math.abs(s.get(a,0))<r&&s.set(a,0,0);return s.to1DArray()}}function sy(i,t={}){const{thresholdValue:e=1e-9,thresholdError:r=1e-9}=t;i=pt.checkMatrix(i);let n=i.rows,s=new pt(n,n);for(let a=0;a<n;a++){let l=pt.columnVector(i.getRow(a)),c=i.subMatrixRow(ny(n,a)).transpose(),p=new Ei(c).solve(l),f=pt.sub(l,c.mmul(p)).abs().max();s.setRow(a,iy(f,p,a,e,r))}return s}function oy(i,t=Number.EPSILON){if(i=pt.checkMatrix(i),i.isEmpty())return i.transpose();let e=new Ei(i,{autoTranspose:!0}),r=e.leftSingularVectors,n=e.rightSingularVectors,s=e.diagonal;for(let a=0;a<s.length;a++)Math.abs(s[a])>t?s[a]=1/s[a]:s[a]=0;return n.mmul(pt.diag(s).mmul(r.transpose()))}function ay(i,t=i,e={}){i=new pt(i);let r=!1;if(typeof t=="object"&&!pt.isMatrix(t)&&!ar.isAnyArray(t)?(e=t,t=i,r=!0):t=new pt(t),i.rows!==t.rows)throw new TypeError("Both matrices must have the same number of rows");const{center:n=!0}=e;n&&(i=i.center("column"),r||(t=t.center("column")));const s=i.transpose().mmul(t);for(let a=0;a<s.rows;a++)for(let l=0;l<s.columns;l++)s.set(a,l,s.get(a,l)*(1/(i.rows-1)));return s}function uy(i,t=i,e={}){i=new pt(i);let r=!1;if(typeof t=="object"&&!pt.isMatrix(t)&&!ar.isAnyArray(t)?(e=t,t=i,r=!0):t=new pt(t),i.rows!==t.rows)throw new TypeError("Both matrices must have the same number of rows");const{center:n=!0,scale:s=!0}=e;n&&(i.center("column"),r||t.center("column")),s&&(i.scale("column"),r||t.scale("column"));const a=i.standardDeviation("column",{unbiased:!0}),l=r?a:t.standardDeviation("column",{unbiased:!0}),c=i.transpose().mmul(t);for(let h=0;h<c.rows;h++)for(let p=0;p<c.columns;p++)c.set(h,p,c.get(h,p)*(1/(a[h]*l[p]))*(1/(i.rows-1)));return c}let Wf=class{constructor(t,e={}){const{assumeSymmetric:r=!1}=e;if(t=dr.checkMatrix(t),!t.isSquare())throw new Error("Matrix is not a square matrix");if(t.isEmpty())throw new Error("Matrix must be non-empty");let n=t.columns,s=new pt(n,n),a=new Float64Array(n),l=new Float64Array(n),c=t,h,p,f=!1;if(r?f=!0:f=t.isSymmetric(),f){for(h=0;h<n;h++)for(p=0;p<n;p++)s.set(h,p,c.get(h,p));ly(n,l,a,s),cy(n,l,a,s)}else{let d=new pt(n,n),g=new Float64Array(n);for(p=0;p<n;p++)for(h=0;h<n;h++)d.set(h,p,c.get(h,p));fy(n,d,g,s),hy(n,l,a,s,d)}this.n=n,this.e=l,this.d=a,this.V=s}get realEigenvalues(){return Array.from(this.d)}get imaginaryEigenvalues(){return Array.from(this.e)}get eigenvectorMatrix(){return this.V}get diagonalMatrix(){let t=this.n,e=this.e,r=this.d,n=new pt(t,t),s,a;for(s=0;s<t;s++){for(a=0;a<t;a++)n.set(s,a,0);n.set(s,s,r[s]),e[s]>0?n.set(s,s+1,e[s]):e[s]<0&&n.set(s,s-1,e[s])}return n}};function ly(i,t,e,r){let n,s,a,l,c,h,p,f;for(c=0;c<i;c++)e[c]=r.get(i-1,c);for(l=i-1;l>0;l--){for(f=0,a=0,h=0;h<l;h++)f=f+Math.abs(e[h]);if(f===0)for(t[l]=e[l-1],c=0;c<l;c++)e[c]=r.get(l-1,c),r.set(l,c,0),r.set(c,l,0);else{for(h=0;h<l;h++)e[h]/=f,a+=e[h]*e[h];for(n=e[l-1],s=Math.sqrt(a),n>0&&(s=-s),t[l]=f*s,a=a-n*s,e[l-1]=n-s,c=0;c<l;c++)t[c]=0;for(c=0;c<l;c++){for(n=e[c],r.set(c,l,n),s=t[c]+r.get(c,c)*n,h=c+1;h<=l-1;h++)s+=r.get(h,c)*e[h],t[h]+=r.get(h,c)*n;t[c]=s}for(n=0,c=0;c<l;c++)t[c]/=a,n+=t[c]*e[c];for(p=n/(a+a),c=0;c<l;c++)t[c]-=p*e[c];for(c=0;c<l;c++){for(n=e[c],s=t[c],h=c;h<=l-1;h++)r.set(h,c,r.get(h,c)-(n*t[h]+s*e[h]));e[c]=r.get(l-1,c),r.set(l,c,0)}}e[l]=a}for(l=0;l<i-1;l++){if(r.set(i-1,l,r.get(l,l)),r.set(l,l,1),a=e[l+1],a!==0){for(h=0;h<=l;h++)e[h]=r.get(h,l+1)/a;for(c=0;c<=l;c++){for(s=0,h=0;h<=l;h++)s+=r.get(h,l+1)*r.get(h,c);for(h=0;h<=l;h++)r.set(h,c,r.get(h,c)-s*e[h])}}for(h=0;h<=l;h++)r.set(h,l+1,0)}for(c=0;c<i;c++)e[c]=r.get(i-1,c),r.set(i-1,c,0);r.set(i-1,i-1,1),t[0]=0}function cy(i,t,e,r){let n,s,a,l,c,h,p,f,d,g,y,m,D,v,E,b;for(a=1;a<i;a++)t[a-1]=t[a];t[i-1]=0;let N=0,x=0,F=Number.EPSILON;for(h=0;h<i;h++){for(x=Math.max(x,Math.abs(e[h])+Math.abs(t[h])),p=h;p<i&&!(Math.abs(t[p])<=F*x);)p++;if(p>h)do{for(n=e[h],f=(e[h+1]-n)/(2*t[h]),d=fn(f,1),f<0&&(d=-d),e[h]=t[h]/(f+d),e[h+1]=t[h]*(f+d),g=e[h+1],s=n-e[h],a=h+2;a<i;a++)e[a]-=s;for(N=N+s,f=e[p],y=1,m=y,D=y,v=t[h+1],E=0,b=0,a=p-1;a>=h;a--)for(D=m,m=y,b=E,n=y*t[a],s=y*f,d=fn(f,t[a]),t[a+1]=E*d,E=t[a]/d,y=f/d,f=y*e[a]-E*n,e[a+1]=s+E*(y*n+E*e[a]),c=0;c<i;c++)s=r.get(c,a+1),r.set(c,a+1,E*r.get(c,a)+y*s),r.set(c,a,y*r.get(c,a)-E*s);f=-E*b*D*v*t[h]/g,t[h]=E*f,e[h]=y*f}while(Math.abs(t[h])>F*x);e[h]=e[h]+N,t[h]=0}for(a=0;a<i-1;a++){for(c=a,f=e[a],l=a+1;l<i;l++)e[l]<f&&(c=l,f=e[l]);if(c!==a)for(e[c]=e[a],e[a]=f,l=0;l<i;l++)f=r.get(l,a),r.set(l,a,r.get(l,c)),r.set(l,c,f)}}function fy(i,t,e,r){let n=0,s=i-1,a,l,c,h,p,f,d;for(f=n+1;f<=s-1;f++){for(d=0,h=f;h<=s;h++)d=d+Math.abs(t.get(h,f-1));if(d!==0){for(c=0,h=s;h>=f;h--)e[h]=t.get(h,f-1)/d,c+=e[h]*e[h];for(l=Math.sqrt(c),e[f]>0&&(l=-l),c=c-e[f]*l,e[f]=e[f]-l,p=f;p<i;p++){for(a=0,h=s;h>=f;h--)a+=e[h]*t.get(h,p);for(a=a/c,h=f;h<=s;h++)t.set(h,p,t.get(h,p)-a*e[h])}for(h=0;h<=s;h++){for(a=0,p=s;p>=f;p--)a+=e[p]*t.get(h,p);for(a=a/c,p=f;p<=s;p++)t.set(h,p,t.get(h,p)-a*e[p])}e[f]=d*e[f],t.set(f,f-1,d*l)}}for(h=0;h<i;h++)for(p=0;p<i;p++)r.set(h,p,h===p?1:0);for(f=s-1;f>=n+1;f--)if(t.get(f,f-1)!==0){for(h=f+1;h<=s;h++)e[h]=t.get(h,f-1);for(p=f;p<=s;p++){for(l=0,h=f;h<=s;h++)l+=e[h]*r.get(h,p);for(l=l/e[f]/t.get(f,f-1),h=f;h<=s;h++)r.set(h,p,r.get(h,p)+l*e[h])}}}function hy(i,t,e,r,n){let s=i-1,a=0,l=i-1,c=Number.EPSILON,h=0,p=0,f=0,d=0,g=0,y=0,m=0,D=0,v,E,b,N,x,F,M,S,I,C,O,L,U,k,W;for(v=0;v<i;v++)for((v<a||v>l)&&(e[v]=n.get(v,v),t[v]=0),E=Math.max(v-1,0);E<i;E++)p=p+Math.abs(n.get(v,E));for(;s>=a;){for(N=s;N>a&&(y=Math.abs(n.get(N-1,N-1))+Math.abs(n.get(N,N)),y===0&&(y=p),!(Math.abs(n.get(N,N-1))<c*y));)N--;if(N===s)n.set(s,s,n.get(s,s)+h),e[s]=n.get(s,s),t[s]=0,s--,D=0;else if(N===s-1){if(M=n.get(s,s-1)*n.get(s-1,s),f=(n.get(s-1,s-1)-n.get(s,s))/2,d=f*f+M,m=Math.sqrt(Math.abs(d)),n.set(s,s,n.get(s,s)+h),n.set(s-1,s-1,n.get(s-1,s-1)+h),S=n.get(s,s),d>=0){for(m=f>=0?f+m:f-m,e[s-1]=S+m,e[s]=e[s-1],m!==0&&(e[s]=S-M/m),t[s-1]=0,t[s]=0,S=n.get(s,s-1),y=Math.abs(S)+Math.abs(m),f=S/y,d=m/y,g=Math.sqrt(f*f+d*d),f=f/g,d=d/g,E=s-1;E<i;E++)m=n.get(s-1,E),n.set(s-1,E,d*m+f*n.get(s,E)),n.set(s,E,d*n.get(s,E)-f*m);for(v=0;v<=s;v++)m=n.get(v,s-1),n.set(v,s-1,d*m+f*n.get(v,s)),n.set(v,s,d*n.get(v,s)-f*m);for(v=a;v<=l;v++)m=r.get(v,s-1),r.set(v,s-1,d*m+f*r.get(v,s)),r.set(v,s,d*r.get(v,s)-f*m)}else e[s-1]=S+f,e[s]=S+f,t[s-1]=m,t[s]=-m;s=s-2,D=0}else{if(S=n.get(s,s),I=0,M=0,N<s&&(I=n.get(s-1,s-1),M=n.get(s,s-1)*n.get(s-1,s)),D===10){for(h+=S,v=a;v<=s;v++)n.set(v,v,n.get(v,v)-S);y=Math.abs(n.get(s,s-1))+Math.abs(n.get(s-1,s-2)),S=I=.75*y,M=-.4375*y*y}if(D===30&&(y=(I-S)/2,y=y*y+M,y>0)){for(y=Math.sqrt(y),I<S&&(y=-y),y=S-M/((I-S)/2+y),v=a;v<=s;v++)n.set(v,v,n.get(v,v)-y);h+=y,S=I=M=.964}for(D=D+1,x=s-2;x>=N&&(m=n.get(x,x),g=S-m,y=I-m,f=(g*y-M)/n.get(x+1,x)+n.get(x,x+1),d=n.get(x+1,x+1)-m-g-y,g=n.get(x+2,x+1),y=Math.abs(f)+Math.abs(d)+Math.abs(g),f=f/y,d=d/y,g=g/y,!(x===N||Math.abs(n.get(x,x-1))*(Math.abs(d)+Math.abs(g))<c*(Math.abs(f)*(Math.abs(n.get(x-1,x-1))+Math.abs(m)+Math.abs(n.get(x+1,x+1))))));)x--;for(v=x+2;v<=s;v++)n.set(v,v-2,0),v>x+2&&n.set(v,v-3,0);for(b=x;b<=s-1&&(k=b!==s-1,b!==x&&(f=n.get(b,b-1),d=n.get(b+1,b-1),g=k?n.get(b+2,b-1):0,S=Math.abs(f)+Math.abs(d)+Math.abs(g),S!==0&&(f=f/S,d=d/S,g=g/S)),S!==0);b++)if(y=Math.sqrt(f*f+d*d+g*g),f<0&&(y=-y),y!==0){for(b!==x?n.set(b,b-1,-y*S):N!==x&&n.set(b,b-1,-n.get(b,b-1)),f=f+y,S=f/y,I=d/y,m=g/y,d=d/f,g=g/f,E=b;E<i;E++)f=n.get(b,E)+d*n.get(b+1,E),k&&(f=f+g*n.get(b+2,E),n.set(b+2,E,n.get(b+2,E)-f*m)),n.set(b,E,n.get(b,E)-f*S),n.set(b+1,E,n.get(b+1,E)-f*I);for(v=0;v<=Math.min(s,b+3);v++)f=S*n.get(v,b)+I*n.get(v,b+1),k&&(f=f+m*n.get(v,b+2),n.set(v,b+2,n.get(v,b+2)-f*g)),n.set(v,b,n.get(v,b)-f),n.set(v,b+1,n.get(v,b+1)-f*d);for(v=a;v<=l;v++)f=S*r.get(v,b)+I*r.get(v,b+1),k&&(f=f+m*r.get(v,b+2),r.set(v,b+2,r.get(v,b+2)-f*g)),r.set(v,b,r.get(v,b)-f),r.set(v,b+1,r.get(v,b+1)-f*d)}}}if(p!==0){for(s=i-1;s>=0;s--)if(f=e[s],d=t[s],d===0)for(N=s,n.set(s,s,1),v=s-1;v>=0;v--){for(M=n.get(v,v)-f,g=0,E=N;E<=s;E++)g=g+n.get(v,E)*n.get(E,s);if(t[v]<0)m=M,y=g;else if(N=v,t[v]===0?n.set(v,s,M!==0?-g/M:-g/(c*p)):(S=n.get(v,v+1),I=n.get(v+1,v),d=(e[v]-f)*(e[v]-f)+t[v]*t[v],F=(S*y-m*g)/d,n.set(v,s,F),n.set(v+1,s,Math.abs(S)>Math.abs(m)?(-g-M*F)/S:(-y-I*F)/m)),F=Math.abs(n.get(v,s)),c*F*F>1)for(E=v;E<=s;E++)n.set(E,s,n.get(E,s)/F)}else if(d<0)for(N=s-1,Math.abs(n.get(s,s-1))>Math.abs(n.get(s-1,s))?(n.set(s-1,s-1,d/n.get(s,s-1)),n.set(s-1,s,-(n.get(s,s)-f)/n.get(s,s-1))):(W=ao(0,-n.get(s-1,s),n.get(s-1,s-1)-f,d),n.set(s-1,s-1,W[0]),n.set(s-1,s,W[1])),n.set(s,s-1,0),n.set(s,s,1),v=s-2;v>=0;v--){for(C=0,O=0,E=N;E<=s;E++)C=C+n.get(v,E)*n.get(E,s-1),O=O+n.get(v,E)*n.get(E,s);if(M=n.get(v,v)-f,t[v]<0)m=M,g=C,y=O;else if(N=v,t[v]===0?(W=ao(-C,-O,M,d),n.set(v,s-1,W[0]),n.set(v,s,W[1])):(S=n.get(v,v+1),I=n.get(v+1,v),L=(e[v]-f)*(e[v]-f)+t[v]*t[v]-d*d,U=(e[v]-f)*2*d,L===0&&U===0&&(L=c*p*(Math.abs(M)+Math.abs(d)+Math.abs(S)+Math.abs(I)+Math.abs(m))),W=ao(S*g-m*C+d*O,S*y-m*O-d*C,L,U),n.set(v,s-1,W[0]),n.set(v,s,W[1]),Math.abs(S)>Math.abs(m)+Math.abs(d)?(n.set(v+1,s-1,(-C-M*n.get(v,s-1)+d*n.get(v,s))/S),n.set(v+1,s,(-O-M*n.get(v,s)-d*n.get(v,s-1))/S)):(W=ao(-g-I*n.get(v,s-1),-y-I*n.get(v,s),m,d),n.set(v+1,s-1,W[0]),n.set(v+1,s,W[1]))),F=Math.max(Math.abs(n.get(v,s-1)),Math.abs(n.get(v,s))),c*F*F>1)for(E=v;E<=s;E++)n.set(E,s-1,n.get(E,s-1)/F),n.set(E,s,n.get(E,s)/F)}for(v=0;v<i;v++)if(v<a||v>l)for(E=v;E<i;E++)r.set(v,E,n.get(v,E));for(E=i-1;E>=a;E--)for(v=a;v<=l;v++){for(m=0,b=a;b<=Math.min(E,l);b++)m=m+r.get(v,b)*n.get(b,E);r.set(v,E,m)}}}function ao(i,t,e,r){let n,s;return Math.abs(e)>Math.abs(r)?(n=r/e,s=e+n*r,[(i+n*t)/s,(t-n*i)/s]):(n=e/r,s=r+n*e,[(n*i+t)/s,(n*t-i)/s])}class jf{constructor(t){if(t=dr.checkMatrix(t),!t.isSymmetric())throw new Error("Matrix is not symmetric");let e=t,r=e.rows,n=new pt(r,r),s=!0,a,l,c;for(l=0;l<r;l++){let h=0;for(c=0;c<l;c++){let p=0;for(a=0;a<c;a++)p+=n.get(c,a)*n.get(l,a);p=(e.get(l,c)-p)/n.get(c,c),n.set(l,c,p),h=h+p*p}for(h=e.get(l,l)-h,s&=h>0,n.set(l,l,Math.sqrt(Math.max(h,0))),c=l+1;c<r;c++)n.set(l,c,0)}this.L=n,this.positiveDefinite=!!s}isPositiveDefinite(){return this.positiveDefinite}solve(t){t=dr.checkMatrix(t);let e=this.L,r=e.rows;if(t.rows!==r)throw new Error("Matrix dimensions do not match");if(this.isPositiveDefinite()===!1)throw new Error("Matrix is not positive definite");let n=t.columns,s=t.clone(),a,l,c;for(c=0;c<r;c++)for(l=0;l<n;l++){for(a=0;a<c;a++)s.set(c,l,s.get(c,l)-s.get(a,l)*e.get(c,a));s.set(c,l,s.get(c,l)/e.get(c,c))}for(c=r-1;c>=0;c--)for(l=0;l<n;l++){for(a=c+1;a<r;a++)s.set(c,l,s.get(c,l)-s.get(a,l)*e.get(a,c));s.set(c,l,s.get(c,l)/e.get(c,c))}return s}get lowerTriangularMatrix(){return this.L}}class Yf{constructor(t,e={}){t=dr.checkMatrix(t);let{Y:r}=e;const{scaleScores:n=!1,maxIterations:s=1e3,terminationCriteria:a=1e-10}=e;let l;if(r){if(ar.isAnyArray(r)&&typeof r[0]=="number"?r=pt.columnVector(r):r=dr.checkMatrix(r),r.rows!==t.rows)throw new Error("Y should have the same number of rows as X");l=r.getColumnVector(0)}else l=t.getColumnVector(0);let c=1,h,p,f,d;for(let g=0;g<s&&c>a;g++)f=t.transpose().mmul(l).div(l.transpose().mmul(l).get(0,0)),f=f.div(f.norm()),h=t.mmul(f).div(f.transpose().mmul(f).get(0,0)),g>0&&(c=h.clone().sub(d).pow(2).sum()),d=h.clone(),r?(p=r.transpose().mmul(h).div(h.transpose().mmul(h).get(0,0)),p=p.div(p.norm()),l=r.mmul(p).div(p.transpose().mmul(p).get(0,0))):l=h;if(r){let g=t.transpose().mmul(h).div(h.transpose().mmul(h).get(0,0));g=g.div(g.norm());let y=t.clone().sub(h.clone().mmul(g.transpose())),m=l.transpose().mmul(h).div(h.transpose().mmul(h).get(0,0)),D=r.clone().sub(h.clone().mulS(m.get(0,0)).mmul(p.transpose()));this.t=h,this.p=g.transpose(),this.w=f.transpose(),this.q=p,this.u=l,this.s=h.transpose().mmul(h),this.xResidual=y,this.yResidual=D,this.betas=m}else this.w=f.transpose(),this.s=h.transpose().mmul(h).sqrt(),n?this.t=h.clone().div(this.s.get(0,0)):this.t=h,this.xResidual=t.sub(h.mmul(f.transpose()))}}zt.AbstractMatrix=$t,zt.CHO=jf,zt.CholeskyDecomposition=jf,zt.DistanceMatrix=no,zt.EVD=Wf;var py=zt.EigenvalueDecomposition=Wf;zt.LU=so,zt.LuDecomposition=so;var Vf=zt.Matrix=pt;zt.MatrixColumnSelectionView=G1,zt.MatrixColumnView=Z1,zt.MatrixFlipColumnView=K1,zt.MatrixFlipRowView=H1,zt.MatrixRowSelectionView=X1,zt.MatrixRowView=J1,zt.MatrixSelectionView=io,zt.MatrixSubView=Q1,zt.MatrixTransposeView=ty,zt.NIPALS=Yf,zt.Nipals=Yf,zt.QR=Pa,zt.QrDecomposition=Pa,zt.SVD=Ei,zt.SingularValueDecomposition=Ei,zt.SymmetricMatrix=Jn,zt.WrapperMatrix1D=kf,zt.WrapperMatrix2D=dr,zt.correlation=uy,zt.covariance=ay;var Zf=zt.default=pt;zt.determinant=oo,zt.inverse=ry,zt.linearDependencies=sy,zt.pseudoInverse=oy,zt.solve=Uf,zt.wrap=ey;const Gf=py,Kf=Vf;Zf.Matrix&&Zf.Matrix;class dy{constructor(t){z(this,"_errorListener");this._errorListener=t}new({rows:t,columns:e,initial_value:r}={}){return new za(t,e,r,this._errorListener)}avg({id:t}){return t==null?void 0:t.avg()}col({id:t,column:e}){return t==null?void 0:t.col({column:e})}det({id:t}){return t==null?void 0:t.det()}get({id:t,row:e,column:r}){return t==null?void 0:t.get({row:e,column:r})}inv({id:t}){return t==null?void 0:t.inv()}max({id:t}){return t==null?void 0:t.max()}min({id:t}){return t==null?void 0:t.min()}pow({id:t,power:e}){return t==null?void 0:t.pow({power:e})}row({id:t,row:e}){return t==null?void 0:t.row({row:e})}set({id:t,row:e,column:r,value:n}){t==null||t.set({row:e,column:r,value:n})}sum({id1:t,id2:e}){return t==null?void 0:t.sum({id2:e})}copy({id:t}){return t==null?void 0:t.copy()}diff({id1:t,id2:e}){return t==null?void 0:t.diff({id2:e})}rows({id:t}){return t==null?void 0:t.rows()}columns({id:t}){return t==null?void 0:t.columns()}fill({id:t,value:e,from_row:r,to_row:n,from_column:s,to_column:a}){t==null||t.fill({value:e,from_row:r,to_row:n,from_column:s,to_column:a})}kron({id1:t,id2:e}){return t==null?void 0:t.kron({id2:e})}mode({id:t}){return t==null?void 0:t.mode()}mult({id1:t,id2:e}){return t==null?void 0:t.mult({id2:e})}pinv({id:t}){return t==null?void 0:t.pinv()}rank({id:t}){return t==null?void 0:t.rank()}sort({id:t,column:e,order:r}){t==null||t.sort({column:e,order:r})}trace({id:t}){return t==null?void 0:t.trace()}concat({id1:t,id2:e}){return t==null?void 0:t.concat({id2:e})}median({id:t}){return t==null?void 0:t.median()}add_col({id:t,column:e,array_id:r}){t==null||t.add_col({column:e,array_id:r})}add_row({id:t,row:e,array_id:r}){t==null||t.add_row({row:e,array_id:r})}is_zero({id:t}){return t==null?void 0:t.is_zero()}reshape({id:t,rows:e,columns:r},n){return t==null?void 0:t.reshape({rows:e,columns:r},n)}reverse({id:t}){t==null||t.reverse()}is_binary({id:t}){return t==null?void 0:t.is_binary()}is_square({id:t}){return t==null?void 0:t.is_square()}submatrix({id:t,from_row:e,to_row:r,from_column:n,to_column:s}){return t==null?void 0:t.submatrix({from_row:e,to_row:r,from_column:n,to_column:s})}swap_rows({id:t,row1:e,row2:r}){t==null||t.swap_rows({row1:e,row2:r})}transpose({id:t}){return t==null?void 0:t.transpose()}remove_col({id:t,column:e}){return t==null?void 0:t.remove_col({column:e})}remove_row({id:t,row:e}){return t==null?void 0:t.remove_row({row:e})}eigenvalues({id:t}){return t==null?void 0:t.eigenvalues()}is_diagonal({id:t}){return t==null?void 0:t.is_diagonal()}is_identity({id:t}){return t==null?void 0:t.is_identity()}eigenvectors({id:t}){return t==null?void 0:t.eigenvectors()}is_symmetric({id:t}){return t==null?void 0:t.is_symmetric()}swap_columns({id:t,column1:e,column2:r}){t==null||t.swap_columns({column1:e,column2:r})}is_stochastic({id:t}){return t==null?void 0:t.is_stochastic()}is_triangular({id:t}){return t==null?void 0:t.is_triangular()}elements_count({id:t}){return t==null?void 0:t.elements_count()}is_antidiagonal({id:t}){return t==null?void 0:t.is_antidiagonal()}is_antisymmetric({id:t}){return t==null?void 0:t.is_antisymmetric()}}class za{constructor(t=0,e=0,r=void 0,n){z(this,"_matrixInstance");z(this,"_errorListener");this._matrixInstance=this._createMatrix(t,e,r),this._errorListener=n}get _matrixArray(){return this._matrixInstance.map(t=>[...t._value])}get _value(){return this._matrixInstance}set _value(t){this._matrixInstance=t}get isMatrix(){return!0}_createMatrix(t,e,r){return Array.from(new Array(t),()=>new Qt(e,r,this._errorListener))}avg(){let t=0,e=0;for(const n of this._matrixInstance)for(const s of n._value)t+=_t(s)?0:s,e+=1;return t/e}col({column:t}){const e=[],r=new Qt(0,void 0,this._errorListener);if(_t(t))return r;for(const n of this._matrixInstance)e.push(n._value[t]);return r._value=e,r}det(){return If(this._matrixArray)}get({row:t,column:e}){var r,n;if(!(_t(t)||_t(e)))return(n=(r=this._matrixInstance[t])==null?void 0:r._value)==null?void 0:n[e]}inv(){const t=Qs(this._matrixArray);return this._newMatrix(t)}max(){return o1(this._matrixArray)}min(){return Ia(this._matrixArray)}pow({power:t}){const e=_t(t)?this._matrixArray:u1(this._matrixArray,t);return this._newMatrix(e)}row({row:t}){return _t(t)?new Qt(0,void 0,this._errorListener):this._matrixInstance[t]}set({row:t,column:e,value:r}){_t(t)||_t(e)||this._matrixInstance[t].set({index:e,value:r})}sum({id2:t}){const e=Ji(this._matrixArray,typeof t=="number"?t:t._matrixArray);return this._newMatrix(e)}copy(){return this._newMatrix(this._matrixArray)}diff({id2:t}){const e=t1(this._matrixArray,typeof t=="number"?t:t._matrixArray);return this._newMatrix(e)}rows(){return this._matrixInstance.length}columns(){return this._matrixArray.length&&this._matrixArray[0].length}fill({value:t,from_row:e,to_row:r,from_column:n,to_column:s}={}){_t(e)&&(e=0),_t(r)&&(r=this.rows()),_t(n)&&(n=0),_t(s)&&(s=this.columns());for(const[a,l]of this._matrixInstance.entries())for(const[c]of l._value.entries())a<r&&a>=e&&c>=n&&c<s&&l.set({index:c,value:t})}kron({id2:t}){const e=Xv(this._matrixArray,t._matrixArray);return this._newMatrix(e)}mode(){return Ia(Ff(this._matrixArray))}mult({id2:t}){const e=typeof t=="number"?t:t._matrixArray?t._matrixArray:t._value,r=yi(this._matrixArray,e);return this._newMatrix(r)}pinv(){const t=a1(this._matrixArray);return this._newMatrix(t)}rank(){return this._matrixRank(this._matrixArray)}sort({column:t,order:e=Yn.ascending}={}){_t(t)&&(t=0),this._matrixInstance.sort((r,n)=>{const s=r._value[t],a=n._value[t];return e!==Yn.descending?s-a:a-s})}trace(){return s1(this._matrixArray)}concat({id2:t}){for(const e of t._value)this._matrixInstance.push(e);return this}median(){return $f(this._matrixArray)}add_col({column:t,array_id:e}={}){_t(t)&&(t=this.columns());for(const[r,n]of this._matrixInstance.entries())n.insert({index:t,value:e?e._value[r]:void 0})}add_row({row:t,array_id:e}){_t(t)&&(t=this.rows()),this._matrixInstance.splice(t,0,e||new Qt(this.columns(),void 0,this._errorListener))}is_zero(){return this._matrixArray.every(t=>t.every(e=>e===0))}reshape({rows:t=0,columns:e=0},r){if(t*e!==this.columns()*this.rows()){this._errorListener.addError("New matrix must be of same area as original matrix",r,jt.Error);return}const n=Gv(this._matrixArray,[t,e]);this._matrixInstance=n.map(s=>{const a=new Qt(0,void 0,this._errorListener);return a._value=[...s],a})}reverse(){this._matrixInstance.reverse();for(const t of this._matrixInstance)t.reverse()}is_binary(){return this._matrixArray.every(t=>t.every(e=>e===0||e===1))}is_square(){return this.rows()===this.columns()}submatrix({from_row:t,to_row:e,from_column:r,to_column:n}={}){_t(t)&&(t=0),_t(e)&&(e=this.rows()),_t(r)&&(r=0),_t(n)&&(n=this.columns());const s=this._matrixArray.splice(t,e),a=[];for(const l of s)a.push(l.splice(r,n));return this._newMatrix(a)}swap_rows({row1:t,row2:e}){if(_t(t)||_t(e))return;const r=this._matrixInstance[t],n=this._matrixInstance[e];this._matrixInstance[t]=n,this._matrixInstance[e]=r}transpose(){const t=Nf(this._matrixArray);return this._newMatrix(t)}remove_col({column:t}={}){_t(t)&&(t=this.columns());const e=[];for(const n of this._matrixInstance){const s=n._value.splice(t,1);e.push(s[0])}const r=new Qt(0,void 0,this._errorListener);return r._value=e,r}remove_row({row:t}={}){return _t(t)&&(t=this.rows()),this._matrixInstance.splice(t,1)[0]}eigenvalues(){const t=new Gf(new Kf(this._matrixArray)),e=new Qt(0,void 0,this._errorListener);return e._value=t.realEigenvalues,e}is_diagonal(){const t=this.rows(),e=this.columns();if(t!==e)return!1;const r=this._matrixArray;for(let n=0;n<t;n++)for(let s=0;s<e;s++)if(n!==s&&r[n][s]!==0)return!1;return!0}is_identity(){const t=this.rows(),e=this.columns();if(t!==e)return!1;const r=this._matrixArray;for(let n=0;n<t;n++)for(let s=0;s<e;s++)if(n!==s&&r[n][s]!==0||n===s&&r[n][s]!==1)return!1;return!0}eigenvectors(){const t=new Gf(new Kf(this._matrixArray));return this._newMatrix(t.eigenvectorMatrix.to2DArray())}is_symmetric(){const t=this.rows(),e=this.columns();if(t!==e)return!1;const r=this._matrixArray;for(let n=0;n<t;n++)for(let s=n+1;s<e;s++)if(r[n][s]!==r[s][n])return!1;return!0}swap_columns({column1:t,column2:e}){if(!(_t(t)||_t(e)))for(const r of this._matrixInstance){const n=r._value[t],s=r._value[e];r.set({index:t,value:s}),r.set({index:e,value:n})}}is_stochastic(){const t=this._matrixArray;for(let e=0;e<t.length;e++){let r=0;for(let n=0;n<t[e].length;n++){if(t[e][n]<0)return!1;r+=t[e][n]}if(Math.abs(r-1)>Number.EPSILON)return!1}return!0}is_triangular(){const t=this.rows(),e=this.columns();return t!==e?!1:this._isUpperTriangular(t)||this._isLowerTriangular(t)}elements_count(){return Kv(this._matrixArray)}is_antidiagonal(){const t=this.rows(),e=this.columns();if(t!==e)return!1;const r=this._matrixArray;for(let n=0;n<t;n++)for(let s=0;s<t;s++)if(n+s!==t-1&&r[n][s]!==0)return!1;return!0}is_antisymmetric(){const t=this.rows(),e=this.columns();if(t!==e)return!1;const r=this._matrixArray;for(let n=0;n<t;n++)for(let s=0;s<t;s++)if(n!==s&&r[n][s]!==-r[s][n])return!1;return!0}_isUpperTriangular(t){const e=this._matrixArray;for(let r=1;r<t;r++)for(let n=0;n<r;n++)if(e[r][n]!==0)return!1;return!0}_isLowerTriangular(t){const e=this._matrixArray;for(let r=0;r<t-1;r++)for(let n=r+1;n<t;n++)if(e[r][n]!==0)return!1;return!0}_newMatrix(t){const e=new za(0,0,void 0,this._errorListener);return e._value=t.map(r=>{const n=new Qt(0,void 0,this._errorListener);return n._value=[...r],n}),e}_matrixRank(t){let e=0;const r=t.length,n=t[0].length,s=[...t].map(a=>[...a]);for(let a=0;a<r&&!(a>=n);a++){let l=a;for(;l<r&&s[l][a]===0;)l++;if(l===r)continue;if(l!==a){const h=s[l];s[l]=s[a],s[a]=h}const c=s[a][a];for(let h=0;h<n;h++)s[a][h]/=c;for(let h=a+1;h<r;h++){const p=s[h][a];s[h]=s[h].map((f,d)=>f-p*s[a][d]),s[h][a]=0}}for(let a=0;a<r;a++)s[a].some(l=>Number(l.toFixed(8))!==0)&&e++;return e}}class _y{constructor(t){z(this,"_variables");z(this,"_cacheData");this._variables=t,this._cacheData={}}change({timeframe:t},e){if(!t)return!0;const r=sn(t),n=sn(this._variables.timeframe.period);if(r<n)return!0;const s=`change_${e}`,a=this._cacheData[s],l=this._variables.time;if(a){if(a.offset){if(a.currentTime+a.offset<=l)return this._cacheData[s]={currentTime:l,offset:0},!0}else if(a.currentTime+r*1e3<=l)return this._cacheData[s]={currentTime:l,offset:0},!0}else{const c=this._calcTimeOffset(l,t);return this._cacheData[s]={currentTime:l,offset:c},!1}return!1}in_seconds({timeframe:t}={}){return sn(t||this._variables.timeframe.period)}from_seconds({seconds:t=0}){const e=t*1e3,r=ee.duration(e);if(r.years())return"12M";const s=r.asMonths();if(Js(s))return`${s}M`;const a=r.asWeeks();if(Js(a))return`${a}M`;const l=r.asDays();if(l>=1)return`${Math.ceil(l)}D`;const c=r.asMinutes();if(c>=1)return`${Math.ceil(c)}`;const h=r.asSeconds();return h<=1?"1S":h<=5?"5S":h<=10?"10S":h<=15?"15S":h<=30?"30S":"1"}_calcTimeOffset(t,e){let r=0;if(e.includes("W")){const l=ee(t).day();e="1D",l!==1&&(r=(8-l)*60*60*24*1e3)}else if(e.includes("M")){const l=ee(t).date();e="1D";const c=ee(t).daysInMonth();l!==1&&(r=(c-l+1)*60*60*24*1e3)}const n=this._variables.getTimeTradingday(t,e),s=sn(e)*1e3,a=t-n-Math.floor((t-n)/s)*s;return r?r-a:a}}class my{constructor(t,e){z(this,"_errorListener");z(this,"_intlNumberFormatter");z(this,"_precision");this._errorListener=t,this._precision=e,this._intlNumberFormatter=new Intl.NumberFormat("en",{notation:"compact"})}pos({source:t="",str:e=""}){return t==null?void 0:t.indexOf(e)}trim({source:t=""}){return t==null?void 0:t.trim()}lower({source:t=""}){return t==null?void 0:t.toLocaleLowerCase()}match({source:t="",regex:e=""}){const r=t==null?void 0:t.match(new RegExp(e));return r?r[0]:""}split({string:t="",separator:e=""}){const r=t==null?void 0:t.split(e),n=new Qt;return n._value=r||[],n}upper({source:t=""}){return t==null?void 0:t.toLocaleUpperCase()}format({formatString:t=""},e){return this._strFormat(t,e)}length({string:t=""}){return t==null?void 0:t.length}repeat({source:t="",repeat:e,separator:r=""},n){if(_t(e)){this._errorListener.addError("Invalid array length",n,jt.Error);return}return Array.from(new Array(e),()=>t).join(r)}replace({source:t="",target:e="",replacement:r="",occurrence:n}){_t(n)&&(n=0);let s=-1;for(let a=0;a<n+1&&(s=t.indexOf(e,s+1),s!==-1);a++);return s!==-1?t.substring(0,s)+r+t.substring(s+e.length):t}contains({source:t="",str:e=""}){return t==null?void 0:t.includes(e)}endswith({source:t="",str:e=""}){return t==null?void 0:t.endsWith(e)}tonumber({string:t=""}){if(/[^\d.]/.test(t))return;const e=parseFloat(t);return isNaN(e)?void 0:e}tostring({value:t,format:e}){if(t===void 0)return"NaN";if(typeof t=="object"){if(t.isArray)return this._arrToStr(t._value,e);if(t.isMatrix){const r=[];for(const n of t._matrixArray)r.push(this._arrToStr(n,e));return r.join(`
62
+ `)}}if(typeof t=="string")return t;if(typeof t=="boolean")return String(t);if(typeof t=="number")return String(this._toStringFormat(t,e))}_arrToStr(t,e){return`[${t.map(n=>typeof n=="number"?this._toStringFormat(n,e):n).toString()}]`}substring({source:t="",begin_pos:e=0,end_pos:r}){return _t(e)&&(e=0),_t(r)&&(r=void 0),t==null?void 0:t.substring(e,r)}startswith({source:t="",str:e=""}){return t==null?void 0:t.startsWith(e)}format_time({time:t,format:e="yyyy-MM-dd'T'HH:mm:ssZ",timezone:r}){return _t(t)&&(t=0),zr(t,r).format(e)}replace_all({source:t="",target:e="",replacement:r=""}){return t==null?void 0:t.replace(new RegExp(e,"g"),r)}_toStringFormat(t,e){if(!e)return t;switch(e){case Gt.mintick:return t.toFixed(this._precision);case Gt.price:return`${t}%`;case Gt.volume:return this._intlNumberFormatter.format(Math.round(t));default:const[r,n]=e.split(".");let[s,a=""]=String(t).split(".");if(r.includes("#")?s=r.replace(/#/,s).replace(/#/g,""):s=`${r}${s}`,n&&n.includes("#")){const l=n.split("#").length-1;a=`${a.substring(0,l)}${n.replace(/#/g,"")}`}else a=n||"";return a?`${s}.${a}`:s}}_formatNumber(t,e){if(!e)return t;switch(e){case"integer":return String(Math.round(t));case"currency":return`$${t}`;case"percent":return`${t*100}%`;default:const r=e.split(".")[1],n=r?r.length:0;return parseFloat(t.toFixed(n))}}_strFormat(t,e){let r=t;return e.forEach((n,s)=>{if(typeof n=="number"){const a=`\\{\\s*${s}\\s*,\\s*number\\s*,\\s*([^\\}]+)\\s*\\}`,l=t.match(new RegExp(a));if(l){const c=l[1];r=r.replace(new RegExp(a,"g"),String(this._formatNumber(n,c)))}else r=r.replace(new RegExp(`\\{${s}\\}`,"g"),String(n))}else r=r.replace(new RegExp(`\\{${s}\\}`,"g"),n)}),r}}class gy{constructor(t){z(this,"_errorListener");this._errorListener=t}new(){return new qa(this._errorListener)}copy({id:t}){return t==null?void 0:t.copy()}get({id:t,key:e}){return t==null?void 0:t.get({key:e})}put({id:t,key:e,value:r}){return t==null?void 0:t.put({key:e,value:r})}keys({id:t}){return t==null?void 0:t.keys()}size({id:t}){return t==null?void 0:t.size()}clear({id:t}){t==null||t.clear()}remove({id:t,key:e}){return t==null?void 0:t.remove({key:e})}values({id:t}){return t==null?void 0:t.values()}put_all({id:t,id2:e}){t==null||t.put_all({id2:e})}contains({id:t,key:e}){return t==null?void 0:t.contains({key:e})}}class qa{constructor(t){z(this,"_errorListener");z(this,"_mapInstance");this._errorListener=t,this._mapInstance=new Map}get isMap(){return!0}_copyMap(t){const e=new qa(this._errorListener);return e._mapInstance=new Map(t.entries()),e}copy(){return this._copyMap(this._mapInstance)}get({key:t}){return this._mapInstance.get(t)}put({key:t,value:e}){return this._mapInstance.set(t,e)}keys(){const t=new Qt(0,void 0,this._errorListener);return t._value=[...this._mapInstance.keys()],t}size(){return this._mapInstance.size}clear(){this._mapInstance.clear()}remove({key:t}){const e=this._mapInstance.get(t);return this._mapInstance.delete(t),e||void 0}values(){const t=new Qt(0,void 0,this._errorListener);return t._value=[...this._mapInstance.values()],t}put_all({id2:t}){this._mapInstance=new Map([...this._mapInstance,...t._mapInstance])}contains({key:t}){return this._mapInstance.has(t)}}class vy{constructor(t){z(this,"_variables");this._variables=t}new({price:t,time:e,index:r}){return new Xn(t,r,e)}now({price:t}){const{time:e,bar_index:r}=this._variables;return new Xn(t,r,e)}copy({id:t}){const{price:e,time:r,index:n}=t||{};return new Xn(e,n,r)}from_index({price:t,index:e}){return new Xn(t,e)}from_time({price:t,time:e}){return new Xn(t,void 0,e)}}class Xn{constructor(t,e,r){z(this,"_index");z(this,"_price");z(this,"_time");this._index=e,this._price=t,this._time=r}get index(){return this._index}get price(){return this._price}get time(){return this._time}copy(){return new Xn(this._price,this._index,this._time)}}class yy{constructor(t,e){z(this,"_variables");z(this,"_errorListener");z(this,"_defaultLabel",{text:"",xloc:ve.bar_index,yloc:Ur.price,size:tr.normal,style:de.styleLabelDown,textalign:Ut.alignCenter});this._variables=t,this._errorListener=e}new(t,e){const{time:r,high:n,low:s,bar_index:a}=this._variables,l=`label_${e}_${a}`,c={...this._defaultLabel,...t,id:l,time:r};t.point&&(c.x=c.xloc===ve.bar_index?t.point.index:t.point.time,c.y=t.point.price),c.yloc===Ur.abovebar?c.y=n:c.yloc===Ur.belowbar&&(c.y=s),this._verfiyArgs(t,e);const h=new Qi(l,this._variables,this._errorListener);return e.startsWith("export")||this._variables.label.add(l,c,h),h}_verfiyArgs(t,e){const{xloc:r,yloc:n,style:s,size:a,textalign:l,text_font_family:c}=t,h="label.new";this._paramVerfiy(s,e,h,Object.values(de),"style"),this._paramVerfiy(r,e,h,Object.values(ve),"xloc"),this._paramVerfiy(n,e,h,Object.values(Ur),"yloc"),this._paramVerfiy(a,e,h,Object.values(tr),"size"),this._paramVerfiy(l,e,h,[Ut.alignLeft,Ut.alignCenter,Ut.alignRight],"textalign"),this._paramVerfiy(c,e,h,Object.values(Vn),"text_font_family")}_paramVerfiy(t="",e,r,n,s){t&&!n.includes(t)&&this._errorListener.addError(Qe(Ye.paramsErr,{value:t,func:r,param:s,targetVal:`[${n.join(", ")}]`}),e,jt.Error)}label(t,e){return t.x?t.x:new Qi(e,this._variables,this._errorListener)}copy({id:t},e){return t==null?void 0:t.copy(e)}get_x({id:t},e){return t==null?void 0:t.get_x(e)}get_y({id:t},e){return t==null?void 0:t.get_y(e)}set_x({id:t,...e},r){t==null||t.set_x(e,r)}set_y({id:t,...e},r){t==null||t.set_y(e,r)}delete({id:t}){t==null||t.delete()}get_text({id:t},e){return t==null?void 0:t.get_text(e)}set_xy({id:t,...e},r){t==null||t.set_xy(e,r)}set_size({id:t,...e},r){t==null||t.set_size(e,r)}set_xloc({id:t,...e},r){t==null||t.set_xloc(e,r)}set_yloc({id:t,...e},r){t==null||t.set_yloc(e,r)}set_style({id:t,...e},r){t==null||t.set_style(e,r)}set_color({id:t,...e},r){t==null||t.set_color(e,r)}set_tooltip({id:t,...e},r){t==null||t.set_tooltip(e,r)}set_point({id:t,...e},r){t==null||t.set_point(e,r)}set_text({id:t,...e},r){t==null||t.set_text(e,r)}set_textcolor({id:t,...e},r){t==null||t.set_textcolor(e,r)}set_textalign({id:t,...e},r){t==null||t.set_textalign(e,r)}set_text_font_family({id:t,...e},r){t==null||t.set_text_font_family(e,r)}}class Qi{constructor(t,e,r){z(this,"_id");z(this,"_variables");z(this,"_errorListener");this._id=t,this._variables=e,this._errorListener=r}copy(t){const e=`label_${t}_${this._variables.bar_index}`,r=this._getLabel(t),n=new Qi(e,this._variables,this._errorListener);return r&&this._variables.label.add(e,{...r,id:e},n),n}get_x(t){var e;return(e=this._getLabel(t))==null?void 0:e.x}get_y(t){var e;return(e=this._getLabel(t))==null?void 0:e.y}set_x({x:t},e){const r=this._getLabel(e);r&&(r.x=t)}set_y({y:t},e){const r=this._getLabel(e);r&&(r.y=t)}delete(){this._variables.label.delete(this._id)}set_xy({x:t,y:e},r){const n=this._getLabel(r);n&&(n.x=t,n.y=e)}get_text(t){var e;return(e=this._getLabel(t))==null?void 0:e.text}set_size({size:t},e){const r=this._getLabel(e);r&&(r.size=t),this._paramVerfiy(t,e,"label.set_size",Object.values(tr),"size")}set_text({text:t},e){const r=this._getLabel(e);r&&(r.text=t)}set_xloc({x:t,xloc:e},r){const n=this._getLabel(r);n&&(n.x=t,n.xloc=e,this._paramVerfiy(e,r,"label.set_xloc",Object.values(ve),"xloc"))}set_yloc({yloc:t},e){const r=this._getLabel(e),{high:n,low:s}=this._variables;r&&(r.yloc=t,t===Ur.abovebar?r.y=n:t===Ur.belowbar&&(r.y=s),this._paramVerfiy(t,e,"label.set_yloc",Object.values(Ur),"yloc"))}set_color({color:t},e){const r=this._getLabel(e);r&&(r.color=t)}set_point({point:t},e){const r=this._getLabel(e);r&&(r.x=r.xloc===ve.bar_index?t==null?void 0:t.index:t==null?void 0:t.time,r.y=t==null?void 0:t.price)}set_style({style:t},e){const r=this._getLabel(e);r&&(r.style=t),this._paramVerfiy(t,e,"label.set_style",Object.values(de),"style")}set_tooltip({tooltip:t},e){const r=this._getLabel(e);r&&(r.tooltip=t)}set_textalign({textalign:t},e){const r=this._getLabel(e);r&&(r.textalign=t),this._paramVerfiy(t,e,"label.set_textalign",[Ut.alignLeft,Ut.alignCenter,Ut.alignRight],"textalign")}set_textcolor({textcolor:t},e){const r=this._getLabel(e);r&&(r.textcolor=t)}set_text_font_family({text_font_family:t},e){const r=this._getLabel(e);r&&(r.text_font_family=t),this._paramVerfiy(t,e,"label.set_text_font_family",Object.values(Vn),"text_font_family")}_paramVerfiy(t="",e,r,n,s){t&&!n.includes(t)&&this._errorListener.addError(Qe(Ye.paramsErr,{value:t,func:r,param:s,targetVal:`[${n.join(", ")}]`}),e,jt.Error)}_getLabel(t){const e=this._variables.label.get(this._id);return e||console.log(`错误${t}: label 不存在`),e}}const wy={freq_all:qr.freqAll,freq_once_per_bar:qr.freqOncePerBar,freq_once_per_bar_close:qr.freqOncePerBarClose},Dy={gaps_off:ji.gapsOff,gaps_on:ji.gapsOn,lookahead_off:ji.lookaheadOff,lookahead_on:ji.lookaheadOn},xi={aqua:"#00BCD4",black:"#363A45",blue:"#2196F3",fuchsia:"#E040FB",gray:"#787B86",green:"#4CAF50",lime:"#00E676",maroon:"#880E4F",navy:"#311B92",olive:"#808000",orange:"#FF9800",purple:"#9C27B0",red:"#FF5252",silver:"#B2B5BE",teal:"#00897B",white:"#FFFFFF",yellow:"#FFEB3B"},Hf={AUD:"AUD",BTC:"BTC",CAD:"CAD",CHF:"CHF",ETH:"ETH",EUR:"EUR",GBP:"GBP",HKD:"HKD",INR:"INR",JPY:"JPY",KRW:"KRW",MYR:"MYR",NOK:"NOK",NONE:"NONE",NZD:"NZD",RUB:"RUB",SEK:"SEK",SGD:"SGD",TRY:"TRY",USD:"USD",USDT:"USDT",ZAR:"ZAR"},by={friday:6,monday:2,saturday:7,sunday:1,thursday:5,tuesday:3,wednesday:4},Jf={all:[Ue.dataWindow,Ue.pane,Ue.priceScale,Ue.statusLine],data_window:[Ue.dataWindow],none:[],pane:[Ue.pane],price_scale:[Ue.priceScale],status_line:[Ue.statusLine]},Ey={both:kr.both,left:kr.left,none:kr.none,right:kr.right},xy={inherit:Gt.inherit,mintick:Gt.mintick,percent:Gt.percent,price:Gt.price,volume:Gt.volume},Ay={style_solid:bs.styleSolid,style_dashed:bs.styleDashed,style_dotted:bs.styleDotted},Cy={style_arrowdown:de.styleArrowdown,style_arrowup:de.styleArrowup,style_circle:de.styleCircle,style_cross:de.styleCross,style_diamond:de.styleDiamond,style_flag:de.styleFlag,style_label_center:de.styleLabelCenter,style_label_down:de.styleLabelDown,style_label_left:de.styleLabelLeft,style_label_lower_left:de.styleLabelLowerLeft,style_label_lower_right:de.styleLabelLowerRight,style_label_right:de.styleLabelRight,style_label_up:de.styleLabelUp,style_label_upper_left:de.styleLabelUpperLeft,style_label_upper_right:de.styleLabelUpperRight,style_none:de.styleNone,style_square:de.styleSquare,style_text_outline:de.styleTextOutline,style_triangledown:de.styleTriangledown,style_triangleup:de.styleTriangleup,style_xcross:de.styleXcross},Fy={style_arrow_both:Ie.styleArrowBoth,style_arrow_left:Ie.styleArrowLeft,style_arrow_right:Ie.styleArrowRight,style_dashed:Ie.styleDashed,style_dotted:Ie.styleDotted,style_solid:Ie.styleSolid},My={abovebar:on.abovebar,absolute:on.absolute,belowbar:on.belowbar,bottom:on.bottom,top:on.top},Ny={e:2.718281828459045,phi:1.618033988749895,pi:3.141592653589793,rphi:.6180339887498948},Sy={style_area:Ar.styleArea,style_areabr:Ar.styleAreabr,style_circles:Ar.styleCircles,style_columns:Ar.styleColumns,style_cross:Ar.styleCross,style_histogram:Ar.styleHistogram,style_line:Ar.styleLine,style_linebr:Ar.styleLinebr,style_stepline:Ar.styleStepline,style_stepline_diamond:Ar.styleSteplineDiamond,style_steplinebr:Ar.styleSteplinebr},By={bottom_center:hr.bottomCenter,bottom_left:hr.bottomLeft,bottom_right:hr.bottomRight,middle_center:hr.middleCenter,middle_left:hr.middleLeft,middle_right:hr.middleRight,top_center:hr.topCenter,top_left:hr.topLeft,top_right:hr.topRight},Oy={left:Es.left,none:Es.none,right:Es.right},Ty={arrowdown:ir.arrowdown,arrowup:ir.arrowup,circle:ir.circle,cross:ir.cross,diamond:ir.diamond,flag:ir.flag,labeldown:ir.labeldown,labelup:ir.labelup,square:ir.square,triangledown:ir.triangledown,triangleup:ir.triangleup,xcross:ir.xcross},Iy={auto:tr.auto,huge:tr.huge,large:tr.large,normal:tr.normal,small:tr.small,tiny:tr.tiny},$y={cash:Se.cash,fixed:Se.fixed,percent_of_equity:Se.percentOfEquity,commission:{cash_per_contract:Cr.cashPerContract,cash_per_order:Cr.cashPerOrder,percent:Cr.percent},direction:{all:_e.all,long:_e.long,short:_e.short},oca:{cancel:an.cancel,none:an.none,reduce:an.reduce}},Ly={align_bottom:Ut.alignBottom,align_center:Ut.alignCenter,align_left:Ut.alignLeft,align_right:Ut.alignRight,align_top:Ut.alignTop,wrap_auto:Ut.wrapAuto,wrap_none:Ut.wrapNone},Ry={bar_index:ve.bar_index,bar_time:ve.bar_time},Py={abovebar:Ur.abovebar,belowbar:Ur.belowbar,price:Ur.price},zy={actual:xs.actual,estimate:xs.estimate,standardized:xs.standardized};class qy{constructor(){z(this,"adjustment",{dividends:Ds.dividends,none:Ds.none,splits:Ds.splits});z(this,"alert",wy);z(this,"barmerge",Dy);z(this,"color",xi);z(this,"currency",Hf);z(this,"dayofweek",by);z(this,"earnings",zy);z(this,"display",Jf);z(this,"extend",Ey);z(this,"font",{family_default:Vn.familyDefault,family_monospace:Vn.familyMonospace});z(this,"format",xy);z(this,"hline",Ay);z(this,"label",Cy);z(this,"line",Fy);z(this,"location",My);z(this,"math",Ny);z(this,"order",{ascending:Yn.ascending,descending:Yn.descending});z(this,"plot",Sy);z(this,"position",By);z(this,"scale",Oy);z(this,"session",{extended:aa.extended,regular:aa.regular});z(this,"shape",Ty);z(this,"size",Iy);z(this,"splits",{denominator:"denominator",numerator:"numerator"});z(this,"strategy",$y);z(this,"text",Ly);z(this,"xloc",Ry);z(this,"yloc",Py)}updateData(){}}class ky{constructor(t,e){z(this,"_variables");z(this,"_errorListener");z(this,"_defaultPolyline",{curved:!1,closed:!1,xloc:ve.bar_index,line_color:xi.blue,line_style:Ie.styleSolid,line_width:1});this._variables=t,this._errorListener=e}new(t,e){const r=`polyline_${e}_${this._variables.bar_index}`,n=Object.assign({},this._defaultPolyline,t,{id:r}),s=new Xf(r,this._variables);return this._verfiyArgs(t,e),e.startsWith("export")||this._variables.polyline.add(r,n,s),s}_verfiyArgs(t,e){const{line_style:r,xloc:n}=t,s="polyline.new";this._paramVerfiy(r,e,s,Object.values(Ie),"line_style"),this._paramVerfiy(n,e,s,Object.values(ve),"xloc")}_paramVerfiy(t="",e,r,n,s){t&&!n.includes(t)&&this._errorListener.addError(Qe(Ye.paramsErr,{value:t,func:r,param:s,targetVal:`[${n.join(", ")}]`}),e,jt.Error)}delete({id:t}){t&&t.delete()}}class Xf{constructor(t,e){z(this,"_id");z(this,"_variables");this._variables=e,this._id=t}delete(){this._variables.polyline.delete(this._id)}}class Uy{constructor(t,e){z(this,"_variables");z(this,"_errorListener");z(this,"_defaultLine",{xloc:ve.bar_index,extend:kr.none,style:Ie.styleSolid});this._variables=t,this._errorListener=e}new({first_point:t,second_point:e,...r},n){const s=`line_${n}_${this._variables.bar_index}`,a={...this._defaultLine,...r,id:s};if(t&&e){const c=a.xloc===ve.bar_index?t.index:t.time,h=a.xloc===ve.bar_index?e.index:e.time;Object.assign(a,{x1:c,y1:t.price,x2:h,y2:e.price})}this._verfiyArgs(r,n);const l=new ts(s,this._variables,this._errorListener);return n.startsWith("export")||this._variables.line.add(s,a,l),l}_verfiyArgs(t,e){const{extend:r,xloc:n,style:s}=t,a="line.new";this._paramVerfiy(s,e,a,Object.values(Ie),"style"),this._paramVerfiy(r,e,a,Object.values(kr),"extend"),this._paramVerfiy(n,e,a,Object.values(ve),"xloc")}_paramVerfiy(t="",e,r,n,s){t&&!n.includes(t)&&this._errorListener.addError(Qe(Ye.paramsErr,{value:t,func:r,param:s,targetVal:`[${n.join(", ")}]`}),e,jt.Error)}line(t,e){return t.x?t.x:new ts(e,this._variables,this._errorListener)}copy({id:t},e){return t==null?void 0:t.copy(e)}delete({id:t}){t==null||t.delete()}get_x1({id:t},e){return t==null?void 0:t.get_x1(e)}get_x2({id:t},e){return t==null?void 0:t.get_x2(e)}get_y1({id:t},e){return t==null?void 0:t.get_y1(e)}get_y2({id:t},e){return t==null?void 0:t.get_y2(e)}set_x1({id:t,...e},r){t==null||t.set_x1(e,r)}set_x2({id:t,...e},r){t==null||t.set_x2(e,r)}set_y1({id:t,...e},r){t==null||t.set_y1(e,r)}set_y2({id:t,...e},r){t==null||t.set_y2(e,r)}set_xy1({id:t,...e},r){t==null||t.set_xy1(e,r)}set_xy2({id:t,...e},r){t==null||t.set_xy2(e,r)}set_xloc({id:t,...e},r){t==null||t.set_xloc(e,r)}get_price({id:t,...e},r){return t==null?void 0:t.get_price(e,r)}set_color({id:t,...e},r){t==null||t.set_color(e,r)}set_style({id:t,...e},r){t==null||t.set_style(e,r)}set_width({id:t,...e},r){t==null||t.set_width(e,r)}set_extend({id:t,...e},r){t==null||t.set_extend(e,r)}set_first_point({id:t,...e},r){t==null||t.set_first_point(e,r)}set_second_point({id:t,...e},r){t==null||t.set_second_point(e,r)}}class ts{constructor(t,e,r){z(this,"_variables");z(this,"_id");z(this,"_errorListener");this._id=t,this._variables=e,this._errorListener=r}get data(){return this._variables.line.get(this._id)}copy(t){const e=`line_${t}_${this._variables.bar_index}`,r=this._getLine(t),n=new ts(e,this._variables,this._errorListener);return r&&this._variables.line.add(e,{...r,id:e},n),n}delete(){this._variables.line.delete(this._id)}get_price({x:t},e){const r=this._getLine(e);if(t===void 0)return t;if(r&&r.xloc===ve.bar_index){const{x1:n,y1:s,x2:a,y2:l}=r;return n===void 0||a===void 0||s===void 0||l===void 0?void 0:(l-s)/(a-n)*(t-n)+s}}get_x1(t){var e;return(e=this._getLine(t))==null?void 0:e.x1}get_x2(t){var e;return(e=this._getLine(t))==null?void 0:e.x2}get_y1(t){var e;return(e=this._getLine(t))==null?void 0:e.y1}get_y2(t){var e;return(e=this._getLine(t))==null?void 0:e.y2}set_x1({x:t},e){const r=this._getLine(e);r&&(r.x1=t)}set_x2({x:t},e){const r=this._getLine(e);r&&(r.x2=t)}set_y1({y:t},e){const r=this._getLine(e);r&&(r.y1=t)}set_y2({y:t},e){const r=this._getLine(e);r&&(r.y2=t)}set_xy1({x:t,y:e},r){const n=this._getLine(r);n&&(n.x1=t,n.y1=e)}set_xy2({x:t,y:e},r){const n=this._getLine(r);n&&(n.x2=t,n.y2=e)}set_xloc({xloc:t,x1:e,x2:r},n){const s=this._getLine(n);s&&(s.xloc=t,s.x1=e,s.x2=r,this._paramVerfiy(t,n,"line.set_xloc",Object.values(ve),"xloc"))}set_color({color:t},e){const r=this._getLine(e);r&&(r.color=t)}set_style({style:t},e){const r=this._getLine(e);r&&(r.style=t,this._paramVerfiy(t,e,"line.set_style",Object.values(Ie),"style"))}set_width({width:t},e){const r=this._getLine(e);r&&(r.width=t)}set_extend({extend:t},e){const r=this._getLine(e);r&&(r.extend=t,this._paramVerfiy(t,e,"line.set_extend",Object.values(kr),"extend"))}set_first_point({point:t},e){const r=this._getLine(e);if(r){const{index:n,time:s,price:a}=t||{},l=r.xloc===ve.bar_index?n:s,c=a;l&&(r.x1=l),c&&(r.y1=c)}}set_second_point({point:t},e){const r=this._getLine(e);if(r){const{index:n,time:s,price:a}=t||{},l=r.xloc===ve.bar_index?n:s,c=a;l&&(r.x2=l),c&&(r.y2=c)}}_paramVerfiy(t="",e,r,n,s){t&&!n.includes(t)&&this._errorListener.addError(Qe(Ye.paramsErr,{value:t,func:r,param:s,targetVal:`[${n.join(", ")}]`}),e,jt.Error)}_getLine(t){const e=this._variables.line.get(this._id);return e||console.log(`${t}: line 不存在`),e}}class Wy{constructor(t){z(this,"_variables");this._variables=t}new({line1:t,line2:e,color:r},n){const s=`linefill_${n}_${this._variables.bar_index}`,a=t==null?void 0:t.data,l=e==null?void 0:e.data;a&&(a.linefills=a.linefills||[],a.linefills.push(s)),l&&(l.linefills=l.linefills||[],l.linefills.push(s));const c=new uo(this._variables,s,t,e);return n.startsWith("export")||(a||l)&&this._variables.linefill.add(s,{line1:a,line2:l,color:r,id:s},c),c}delete({id:t}){t==null||t.delete()}get_line1({id:t}){return t==null?void 0:t.get_line1()}get_line2({id:t}){return t==null?void 0:t.get_line2()}set_color({id:t,...e}){t==null||t.set_color(e)}}class uo{constructor(t,e,r,n){z(this,"_id");z(this,"_line1");z(this,"_line2");z(this,"_variables");this._variables=t,this._id=e,this._line1=r,this._line2=n}linefill(t,e){return t.x?t.x:new uo(this._variables,e)}delete(){var e,r;const t=this._variables.linefill.get(this._id);if(t){const{line1:n,line2:s}=t;n&&(n.linefills=(e=n.linefills)==null?void 0:e.filter(a=>a!==this._id)),s&&(s.linefills=(r=s.linefills)==null?void 0:r.filter(a=>a!==this._id))}this._line1=void 0,this._line2=void 0,this._variables.linefill.delete(this._id)}get_line1(){return this._line1}get_line2(){return this._line2}set_color({color:t}){const e=this._variables.linefill.get(this._id);e&&(e.color=t)}}class jy{constructor(t,e){z(this,"_variables");z(this,"_errorListener");z(this,"_defaultBox",{border_color:xi.blue,border_width:1,bgcolor:xi.blue,xloc:ve.bar_index,extend:kr.none,style:Ie.styleSolid,text:"",text_size:tr.auto,text_color:xi.black,text_halign:Ut.alignCenter,text_valign:Ut.alignCenter,text_wrap:Ut.wrapNone});this._variables=t,this._errorListener=e}box({x:t},e){return t===void 0?new es(this._variables,e,this._errorListener):t}new({top_left:t,bottom_right:e,...r},n){const s=`box_${n}_${this._variables.bar_index}`,a={...this._defaultBox,...r,id:s};if(t){const{price:c,time:h,index:p}=t;a.top=c,a.left=a.xloc===ve.bar_index?p:h}if(e){const{price:c,time:h,index:p}=e;a.bottom=c,a.right=a.xloc===ve.bar_index?p:h}this._verfiyArgs(r,n);const l=new es(this._variables,s,this._errorListener);return n.startsWith("export")||this._variables.box.add(s,a,l),l}_verfiyArgs(t,e){const{border_style:r,extend:n,xloc:s,text_size:a,text_halign:l,text_valign:c,text_wrap:h,text_font_family:p}=t,f="box.new";this._paramVerfiy(r,e,f,[Ie.styleDashed,Ie.styleDotted,Ie.styleSolid],"border_style"),this._paramVerfiy(n,e,f,Object.values(kr),"extend"),this._paramVerfiy(s,e,f,Object.values(ve),"xloc"),this._paramVerfiy(a,e,f,Object.values(tr),"text_size"),this._paramVerfiy(l,e,f,[Ut.alignLeft,Ut.alignCenter,Ut.alignRight],"text_halign"),this._paramVerfiy(c,e,f,[Ut.alignBottom,Ut.alignCenter,Ut.alignTop],"text_valign"),this._paramVerfiy(h,e,f,[Ut.wrapAuto,Ut.wrapNone],"text_wrap"),this._paramVerfiy(p,e,f,Object.values(Vn),"text_font_family")}_paramVerfiy(t="",e,r,n,s){t&&!n.includes(t)&&this._errorListener.addError(Qe(Ye.paramsErr,{value:t,func:r,param:s,targetVal:`[${n.join(", ")}]`}),e,jt.Error)}copy({id:t},e){return t==null?void 0:t.copy(e)}delete({id:t}){t==null||t.delete()}get_top({id:t}){return t==null?void 0:t.get_top()}get_bottom({id:t}){return t==null?void 0:t.get_bottom()}get_left({id:t}){return t==null?void 0:t.get_left()}get_right({id:t}){return t==null?void 0:t.get_right()}set_top({id:t,...e}){t==null||t.set_top(e)}set_bottom({id:t,...e}){t==null||t.set_bottom(e)}set_left({id:t,...e}){t==null||t.set_left(e)}set_right({id:t,...e}){t==null||t.set_right(e)}set_extend({id:t,...e},r){t==null||t.set_extend(e,r)}set_bgcolor({id:t,...e}){t==null||t.set_bgcolor(e)}set_border_color({id:t,...e}){t==null||t.set_border_color(e)}set_border_width({id:t,...e}){t==null||t.set_border_width(e)}set_border_style({id:t,...e},r){t==null||t.set_border_style(e,r)}set_lefttop({id:t,...e}){t==null||t.set_lefttop(e)}set_rightbottom({id:t,...e}){t==null||t.set_rightbottom(e)}set_text_size({id:t,...e},r){t==null||t.set_text_size(e,r)}set_text_wrap({id:t,...e},r){t==null||t.set_text_wrap(e,r)}set_text_color({id:t,...e}){t==null||t.set_text_color(e)}set_text_halign({id:t,...e},r){t==null||t.set_text_halign(e,r)}set_text_valign({id:t,...e},r){t==null||t.set_text_valign(e,r)}set_top_left_point({id:t,...e}){t==null||t.set_top_left_point(e)}set_bottom_right_point({id:t,...e}){t==null||t.set_bottom_right_point(e)}set_text_font_family({id:t,...e},r){t==null||t.set_text_font_family(e,r)}}class es{constructor(t,e,r){z(this,"_id");z(this,"_variables");z(this,"_errorListener");this._variables=t,this._id=e,this._errorListener=r}copy(t){const e=`box_${t}_${this._variables.bar_index}`,r=this._getBox(),n=new es(this._variables,e,this._errorListener);return r&&this._variables.box.add(e,{...r,id:e},n),n}delete(){this._variables.box.delete(this._id)}get_top(){const t=this._getBox();return t&&t.top}set_top({top:t}){const e=this._getBox();e&&(e.top=t)}get_left(){const t=this._getBox();return t&&t.left}set_left({left:t}){const e=this._getBox();e&&(e.left=t)}set_text({text:t}){const e=this._getBox();e&&(e.text=t)}get_right(){const t=this._getBox();return t&&t.right}set_right({right:t}){const e=this._getBox();e&&(e.right=t)}get_bottom(){const t=this._getBox();return t&&t.bottom}set_bottom({bottom:t}){const e=this._getBox();e&&(e.bottom=t)}set_extend({extend:t},e){const r=this._getBox();r&&(r.extend=t,this._paramVerfiy(t,e,"box.set_extend",Object.values(kr),"extend"))}set_bgcolor({color:t}){const e=this._getBox();e&&(e.bgcolor=t)}set_lefttop({left:t,top:e}){const r=this._getBox();r&&(r.left=t,r.top=e)}set_text_size({text_size:t},e){const r=this._getBox();r&&(r.text_size=t,this._paramVerfiy(t,e,"box.set_text_size",Object.values(tr),"text_size"))}set_text_wrap({text_wrap:t},e){const r=this._getBox();r&&(r.text_wrap=t,this._paramVerfiy(t,e,"box.set_text_wrap",[Ut.wrapAuto,Ut.wrapNone],"text_wrap"))}set_text_color({text_color:t}){const e=this._getBox();e&&(e.text_color=t)}set_rightbottom({right:t,bottom:e}){const r=this._getBox();r&&(r.right=t,r.bottom=e)}set_text_halign({text_halign:t},e){const r=this._getBox();r&&(r.text_halign=t,this._paramVerfiy(t,e,"box.set_text_halign",[Ut.alignLeft,Ut.alignCenter,Ut.alignRight],"text_halign"))}set_text_valign({text_valign:t},e){const r=this._getBox();r&&(r.text_valign=t,this._paramVerfiy(t,e,"box.set_text_valign",[Ut.alignBottom,Ut.alignCenter,Ut.alignTop],"text_valign"))}set_top_left_point({point:t}){const e=this._getBox();if(e){const{index:r,price:n,time:s}=t||{};e.top=n,e.left=e.xloc===ve.bar_index?r:s}}set_border_color({color:t}){const e=this._getBox();e&&(e.border_color=t)}set_border_style({style:t},e){const r=this._getBox();r&&(r.border_style=t,this._paramVerfiy(t,e,"box.set_border_style",[Ie.styleDashed,Ie.styleDotted,Ie.styleSolid],"style"))}set_border_width({width:t}){const e=this._getBox();e&&(e.border_width=t)}set_bottom_right_point({point:t}){const e=this._getBox();if(e){const{index:r,price:n,time:s}=t||{};e.bottom=n,e.right=e.xloc===ve.bar_index?r:s}}set_text_font_family({text_font_family:t},e){const r=this._getBox();r&&(r.text_font_family=t,this._paramVerfiy(t,e,"box.set_text_font_family",Object.values(Vn),"text_font_family"))}_paramVerfiy(t="",e,r,n,s){t&&!n.includes(t)&&this._errorListener.addError(Qe(Ye.paramsErr,{value:t,func:r,param:s,targetVal:`[${n.join(", ")}]`}),e,jt.Error)}_getBox(){return this._variables.box.get(this._id)}}class Yy{constructor(t,e){z(this,"_variables");z(this,"_errorListener");z(this,"_defaultTable",{position:hr.topLeft,columns:0,rows:0,frame_width:0,border_width:0});this._variables=t,this._errorListener=e}table({x:t},e){return t||new ka(this._variables,e,this._errorListener)}new(t,e){const r=`table_${e}_${this._variables.bar_index}`,n={...this._defaultTable,...t,cell:[],id:r},s=new ka(this._variables,r,this._errorListener);return this._paramVerfiy(t.position,e,"table.new",Object.values(hr),"position"),e.startsWith("export")||this._variables.table.add(r,n,s),s}_paramVerfiy(t="",e,r,n,s){t&&!n.includes(t)&&this._errorListener.addError(Qe(Ye.paramsErr,{value:t,func:r,param:s,targetVal:`[${n.join(", ")}]`}),e,jt.Error)}cell({table_id:t,...e}){t==null||t.cell(e)}cell_set_bgcolor({table_id:t,...e}){t==null||t.cell_set_bgcolor(e)}cell_set_height({table_id:t,...e}){t==null||t.cell_set_height(e)}cell_set_text({table_id:t,...e}){t==null||t.cell_set_text(e)}cell_set_text_color({table_id:t,...e}){t==null||t.cell_set_text_color(e)}cell_set_text_font_family({table_id:t,...e}){t==null||t.cell_set_text_font_family(e)}cell_set_text_halign({table_id:t,...e}){t==null||t.cell_set_text_halign(e)}cell_set_text_valign({table_id:t,...e}){t==null||t.cell_set_text_valign(e)}cell_set_text_size({table_id:t,...e}){t==null||t.cell_set_text_size(e)}cell_set_tooltip({table_id:t,...e}){t==null||t.cell_set_tooltip(e)}cell_set_width({table_id:t,...e}){t==null||t.cell_set_width(e)}clear({table_id:t,...e}){t==null||t.clear(e)}delete({table_id:t}){t==null||t.delete()}merge_cells({table_id:t,...e},r){t==null||t.merge_cells(e,r)}set_bgcolor({table_id:t,...e}){t==null||t.set_bgcolor(e)}set_border_color({table_id:t,...e}){t==null||t.set_border_color(e)}set_border_width({table_id:t,...e}){t==null||t.set_border_width(e)}set_frame_color({table_id:t,...e}){t==null||t.set_frame_color(e)}set_frame_width({table_id:t,...e}){t==null||t.set_frame_width(e)}set_position({table_id:t,...e},r){t==null||t.set_position(e,r)}}class ka{constructor(t,e,r){z(this,"_id");z(this,"_variables");z(this,"_errorListener");z(this,"_defaultCell",{column:0,row:0,text:"",text_color:xi.black,text_halign:Ut.alignCenter,text_valign:Ut.alignCenter,text_size:tr.normal});this._variables=t,this._id=e,this._errorListener=r}cell(t){const e={...this._defaultCell,...t},{column:r=0,row:n=0}=e,s=this._variables.table.get(this._id);if(s){const a=s.cell||[],l=a[n]||[];l[r]=e,a[n]=l,s.cell=a}}cell_set_bgcolor({column:t=0,row:e=0,bgcolor:r}){const n=this._getTableItem(t,e);n&&(n.bgcolor=r)}cell_set_height({column:t=0,row:e=0,height:r}){const n=this._getTableItem(t,e);n&&(n.height=r)}cell_set_text({column:t=0,row:e=0,text:r}){const n=this._getTableItem(t,e);n&&(n.text=r)}cell_set_text_color({column:t=0,row:e=0,text_color:r}){const n=this._getTableItem(t,e);n&&(n.text_color=r)}cell_set_text_font_family({column:t=0,row:e=0,text_font_family:r}){const n=this._getTableItem(t,e);n&&(n.text_font_family=r)}cell_set_text_halign({column:t=0,row:e=0,text_halign:r}){const n=this._getTableItem(t,e);n&&(n.text_halign=r)}cell_set_text_valign({column:t=0,row:e=0,text_valign:r}){const n=this._getTableItem(t,e);n&&(n.text_valign=r)}cell_set_text_size({column:t=0,row:e=0,text_size:r}){const n=this._getTableItem(t,e);n&&(n.text_size=r)}cell_set_tooltip({column:t=0,row:e=0,tooltip:r}){const n=this._getTableItem(t,e);n&&(n.tooltip=r)}cell_set_width({column:t=0,row:e=0,width:r}){const n=this._getTableItem(t,e);n&&(n.width=r)}clear({start_column:t=0,start_row:e=0,end_column:r=0,end_row:n=0}){const s=this._variables.table.get(this._id);if(s){const a=s.cell;if(a)for(let l=e;l<=n;l++)for(let c=t;c<=r;c++){const h=a[l];h&&(h[c]=void 0)}}}delete(){this._variables.table.delete(this._id)}merge_cells({start_column:t=0,start_row:e=0,end_column:r=0,end_row:n=0},s){if(t>r||e>n){console.log(`error ${s}: start_column > end_column or start_row > end_row`);return}const a=this._getTableItem(t,e);if(!a)return;this.clear({start_column:t,start_row:e,end_column:r,end_row:n});const l=this._variables.table.get(this._id);l.cell[e][t]={...a,isMerge:!0,merge_columns:r-t+1,merge_rows:n-e+1}}set_bgcolor({bgcolor:t}){const e=this._variables.table.get(this._id);e&&(e.bgcolor=t)}set_border_color({border_color:t}){const e=this._variables.table.get(this._id);e&&(e.border_color=t)}set_border_width({border_width:t}){const e=this._variables.table.get(this._id);e&&(e.border_width=t)}set_frame_color({frame_color:t}){const e=this._variables.table.get(this._id);e&&(e.frame_color=t)}set_frame_width({frame_width:t}){const e=this._variables.table.get(this._id);e&&(e.frame_width=t)}set_position({position:t},e){const r=this._variables.table.get(this._id);r&&(r.position=t,this._paramVerfiy(t,e,"table.set_position",Object.values(hr),"position"))}_paramVerfiy(t="",e,r,n,s){t&&!n.includes(t)&&this._errorListener.addError(Qe(Ye.paramsErr,{value:t,func:r,param:s,targetVal:`[${n.join(", ")}]`}),e,jt.Error)}_getTableItem(t,e){const r=this._variables.table.get(this._id);if(r){const n=r.cell;return n?n[e][t]:void 0}}}class Vy{constructor(t){z(this,"_strategy");this._strategy=t}commission({trade_num:t}){return this._verifyTradeNum(t)&&this._strategy.historyOrders[t].commission||0}entry_bar_index({trade_num:t}){if(this._verifyTradeNum(t))return this._strategy.historyOrders[t].in_index}entry_comment({trade_num:t}){if(!this._verifyTradeNum(t))return"";const{comment:e,id:r}=this._strategy.historyOrders[t];return e||r}entry_id({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.historyOrders[t].id:""}entry_price({trade_num:t}){if(this._verifyTradeNum(t))return this._strategy.historyOrders[t].in_price}entry_time({trade_num:t}){if(this._verifyTradeNum(t))return this._strategy.historyOrders[t].in_time}exit_bar_index({trade_num:t}){if(this._verifyTradeNum(t))return this._strategy.historyOrders[t].out_index}exit_comment({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.historyOrders[t].out_comment:""}exit_id({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.historyOrders[t].out_id:""}exit_price({trade_num:t}){if(this._verifyTradeNum(t))return this._strategy.historyOrders[t].out_price}exit_time({trade_num:t}){if(this._verifyTradeNum(t))return this._strategy.historyOrders[t].out_time}max_drawdown({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.historyOrders[t].trading_loss:0}max_drawdown_percent({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.historyOrders[t].trading_loss_percent:0}max_runup({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.historyOrders[t].max_profit:0}max_runup_percent({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.historyOrders[t].max_profit_percent:0}profit({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.historyOrders[t].profit:0}profit_percent({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.historyOrders[t].profit_percent:0}size({trade_num:t}){if(!this._verifyTradeNum(t))return 0;const{out_qty:e=0,direction:r}=this._strategy.historyOrders[t];return r===_e.long?e:-e}_verifyTradeNum(t){if(typeof t!="number"||t<0)return!1;const e=this._strategy.historyOrders.length;return!(t>=e)}}class Zy{constructor(t){z(this,"_strategy");this._strategy=t}commission({trade_num:t}){if(!this._verifyTradeNum(t))return 0;const{qty:e=0,original_qty:r=0,commission:n=0}=this._strategy.orders[t];return n*e/r}entry_bar_index({trade_num:t}){if(this._verifyTradeNum(t))return this._strategy.orders[t].in_index}entry_comment({trade_num:t}){if(!this._verifyTradeNum(t))return"";const{comment:e,id:r}=this._strategy.orders[t];return e||r}entry_id({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.orders[t].id:""}entry_price({trade_num:t}){if(this._verifyTradeNum(t))return this._strategy.orders[t].in_price}entry_time({trade_num:t}){if(this._verifyTradeNum(t))return this._strategy.orders[t].in_time}max_drawdown({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.orders[t].trading_loss:0}max_drawdown_percent({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.orders[t].trading_loss_percent:0}max_runup({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.orders[t].max_profit:0}max_runup_percent({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.orders[t].max_profit_percent:0}profit({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.orders[t].profit:0}profit_percent({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.orders[t].profit_percent:0}size({trade_num:t}){if(!this._verifyTradeNum(t))return 0;const{qty:e=0,direction:r}=this._strategy.orders[t];return r===_e.long?e:-e}_verifyTradeNum(t){if(typeof t!="number"||t<0)return!1;const e=this._strategy.orders.length;return!(t>=e)}}class Gy{constructor(t,e){z(this,"_strategy");z(this,"_errorListener");this._strategy=t,this._errorListener=e}allow_entry_in({value:t},e){this._paramVerfiy(t,e,"strategy.risk.allow_entry_in",Object.values(_e),"value"),this._strategy.updateRisk({allow_entry_in:t})}max_cons_loss_days({count:t}){this._strategy.updateRisk({max_cons_loss_days:t})}max_drawdown({value:t,type:e},r){this._paramVerfiy(e,r,"strategy.risk.max_drawdown",[Se.percentOfEquity,Se.cash],"type"),e===Se.percentOfEquity&&(t=t>100?100:t),this._strategy.updateRisk({max_drawdown:t,max_drawdown_type:e})}max_intraday_filled_orders({count:t}){this._strategy.updateRisk({max_intraday_filled_orders:t})}max_intraday_loss({value:t,type:e},r){this._paramVerfiy(e,r,"strategy.risk.max_intraday_loss",[Se.percentOfEquity,Se.cash],"type"),e===Se.percentOfEquity&&(t=t>100?100:t),this._strategy.updateRisk({max_intraday_loss:t,max_intraday_loss_type:e})}max_position_size({contracts:t}){this._strategy.updateRisk({max_position_size:t})}_paramVerfiy(t="",e,r,n,s){t&&!n.includes(t)&&this._errorListener.addError(Qe(Ye.paramsErr,{value:t,func:r,param:s,targetVal:`[${n.join(", ")}]`}),e,jt.Error)}}let Ky=class{constructor(t,e,r,n){z(this,"_variables");z(this,"_options");z(this,"_totalChangeCapital");z(this,"_historyOrder");z(this,"_orders");z(this,"_pendingOrders");z(this,"_mintick");z(this,"_funcOptions");z(this,"_pendingCloseOrders");z(this,"_errorListener");z(this,"_risk");z(this,"_opentrades");z(this,"_closedtrades");z(this,"_riskNamespace");this._variables=t,this._errorListener=n,this._options={overlay:!1,format:Gt.inherit,pyramiding:0,calc_on_order_fills:!1,calc_on_every_tick:!1,max_bars_back:0,backtest_fill_limits_assumption:0,default_qty_type:Se.fixed,default_qty_value:1,initial_capital:1e6,currency:Hf.NONE,slippage:0,commission_type:Cr.percent,commission_value:0,process_orders_on_close:!1,close_entries_rule:"FIFO",margin_long:0,margin_short:0,explicit_plot_zorder:!1,max_lines_count:50,max_labels_count:50,max_boxes_count:50,calc_bars_count:0,risk_free_rate:2,use_bar_magnifier:!1,fill_orders_on_standard_ohlc:!1,max_polylines_count:50},this._funcOptions=e,this._totalChangeCapital=0,this._orders=[],this._pendingOrders=[],this._historyOrder=[],this._pendingCloseOrders=[],this._mintick=r,this._variables.strategy.updateOrders(this._orders),this._variables.strategy.updateHistoryOrders(this._historyOrder),this._variables.strategy.updateStrategyOptions(this._options),this._risk={intradayOrders:0},this._opentrades=new Zy(this),this._closedtrades=new Vy(this),this._riskNamespace=new Gy(this,n)}get orders(){return[...this._orders]}get historyOrders(){return[...this._historyOrder]}get _orderProfit(){return this._orders.reduce((t,e)=>t+(e.profit||0),0)}get _freezeCapital(){const{close:t}=this._variables;return this._orders.reduce((e,r)=>e+t*(r.qty||0),0)}get opentrades(){return this._opentrades}get closedtrades(){return this._closedtrades}get risk(){return this._riskNamespace}updateOptions(t){Object.assign(this._options,t),this._maxConsLossDaysVerify(),this._pendingOrderHandle(),this._maxIntradayFilledOrdersVerify(),this._ordersHandle(),!this._options.process_orders_on_close&&this._calcLiquidate()}updateRisk(t){Object.assign(this._risk,t)}endExecution(){this._calcProfitAndLoss(),this._variables.strategy.update(),this._maxDrawdownVerify(),this._maxIntradayLoss(),this._pendingCloseOrderHandle(),this._options.process_orders_on_close&&this._calcLiquidate()}_maxIntradayLoss(){var g;const{max_intraday_loss:t,max_intraday_loss_type:e,isDisabledOpen:r}=this._risk;if(t===void 0||!e||r)return;const{high:n,low:s,time_tradingday:a,time:l,strategy:{netprofit:c,initial_capital:h}}=this._variables;let{preNetprofit:p=0}=this._risk;l===a&&(p=c,this._risk.preNetprofit=c,this._risk.isTemporaryBan=!1);let f=p-c;f+=this._orders.reduce((y,m)=>{const{in_price:D,direction:v,qty:E=0,commission:b=0,original_qty:N=0}=m,x=v===_e.long?1:-1,F=(n-D)*E,M=(s-D)*E,S=x===1?-M:F;return y+S+E/N*b},0);let d=!1;switch(e){case Se.cash:d=t<f;break;case Se.percentOfEquity:const y=f/(h+c)*100;d=t<y;break}if(d){this._risk.isTemporaryBan=!0;const y=(g=this._orders[0])==null?void 0:g.direction;this._closeOrders(this._orders,y===_e.long?s:n,"Close Position (Max intraday Loss)"),this._pendingOrders=[]}}_maxIntradayFilledOrdersVerify(){const{max_intraday_filled_orders:t,intradayOrders:e=0,isDisabledOpen:r}=this._risk;if(t===void 0||r)return;const{time:n,time_tradingday:s,open:a}=this._variables;n===s&&(this._risk.intradayOrders=0,this._risk.isTemporaryBan=!1),t<=e&&(this._risk.isTemporaryBan=!0,this._closeOrders(this._orders,a,"Close Position (Max number of filled orders in one day)"),this._pendingOrders=[])}_maxConsLossDaysVerify(){const{max_cons_loss_days:t,lossDays:e=0,isDisabledOpen:r,totalProfit:n=0}=this._risk;if(t===void 0||r)return;const{time:s,time_tradingday:a,strategy:l,open:c}=this._variables;let h=e;if(s===a){const p=l.netprofit+l.openprofit;p<n?h=0:h++,Object.assign(this._risk,{lossDays:h,totalProfit:p})}t<=h&&this._riskTouchOff(c,"Close Position (Max consecutive loss days)")}_maxDrawdownVerify(){var n;const{max_drawdown:t,max_drawdown_type:e,isDisabledOpen:r}=this._risk;if(!r&&t!==void 0&&e){const{max_drawdown:s,max_drawdown_percent:a}=this._variables.strategy;let l=!1;switch(e){case Se.percentOfEquity:l=a<s;break;case Se.cash:l=t<s;break}if(l){const{high:c,low:h}=this._variables,p=(n=this._orders[0])==null?void 0:n.direction;this._riskTouchOff(p===_e.long?c:h,"Close Position (Max Drawdown)")}}}_riskTouchOff(t,e){this._risk.isDisabledOpen=!0,this._closeOrders(this._orders,t,e),this._pendingOrders=[]}strategy(t,e){this._variables.bar_index||(this._paramVerfiy(t.format,e,"strategy",[Gt.inherit,Gt.price,Gt.percent,Gt.volume],"format"),this._paramVerfiy(t.default_qty_type,e,"strategy",Object.values(Se),"default_qty_type"),this._paramVerfiy(t.commission_type,e,"strategy",Object.values(Cr),"commission_type"),this._options={...t},this._variables.updateMaxLength(t),Object.assign(this._funcOptions,{strategy:this._options,scriptType:"strategy"}))}order(t,e){this._risk.isDisabledOpen||(this._paramVerfiy(t.oca_type,e,"strategy.order",Object.values(an),"oca_type"),this._orderHandle(t))}entry(t,e){this._risk.isDisabledOpen||(this._paramVerfiy(t.oca_type,e,"strategy.entry",Object.values(an),"oca_type"),this._entryHandle(t))}close(t){if(!this._orders.length)return;const{immediately:e}=t;e||this._options.process_orders_on_close?this._pendingCloseOrders.push({...t,place_order_type:"close"}):this._pendingOrders.push({...t,place_order_type:"close"})}close_all(t){if(typeof t=="string"&&(t={}),!this._orders.length)return;const{immediately:e}=t;e||this._options.process_orders_on_close?this._pendingCloseOrders.push({...t,place_order_type:"close_all"}):this._pendingOrders.push({...t,place_order_type:"close_all"})}cancel({id:t}){this._pendingOrders=this._pendingOrders.filter(e=>!(e.id===t&&e.place_order_type!=="close"))}cancel_all(){this._pendingOrders=this._pendingOrders.filter(t=>t.place_order_type==="close_all")}exit(t,e){this._exit(t,e)}convert_to_account({value:t}){return t}convert_to_symbol({value:t}){return t}default_entry_qty({fill_price:t}){return t?this._calcDefaultQty(t):0}_calcDefaultQty(t){const{default_qty_type:e=Se.fixed,default_qty_value:r=1,initial_capital:n}=this._options;switch(e){case Se.fixed:return r;case Se.cash:return r/t;case Se.percentOfEquity:return(n+this._orderProfit+this._totalChangeCapital)*r/100/t}}_getCapital(t,e){const{margin_long:r=0,margin_short:n=0}=this._options;return r<100&&r>0&&t===1?e=e*100/r:n<=100&&n>0&&t===-1&&(e=e*100/n),e}_calcProfitAndLoss(){const{high:t,low:e,close:r}=this._variables;for(const n of this._orders){const{in_price:s,qty:a=0,direction:l}=n,c=l===_e.long?1:-1,h=(r-s)*c*a,p=(t-s)*a,f=(e-s)*a,d=c===1?p:-f,g=c===1?-f:p;this._calcOrderPercent(n,h,d,g)}}_calcOrderPercent(t,e,r,n){const{commission_value:s}=this._options,{close:a}=this._variables,{original_qty:l=0,qty:c=0,in_price:h,max_profit:p=0,trading_loss:f=0}=t;let{commission:d=0}=t;const g=h*c;if(s){const y=this._getCommission(a,c);e=e-y,d=d*c/l,r-=d,n+=d}r=Math.max(r,p),n=Math.min(n,f),Object.assign(t,{profit:e-d,total_profit:this._totalChangeCapital+e,max_profit:r,trading_loss:n,profit_percent:e/g*100,max_profit_percent:r/g*100,trading_loss_percent:n/g*100})}_calcLiquidate(){if(!this._orders.length)return;const{high:t,low:e}=this._variables,{initial_capital:r,margin_long:n=0,margin_short:s=0,commission_value:a=0}=this._options,l=this._orders[0].direction===_e.long?1:-1,c=l===1?e:t,h=(l===1?n:s)/100;if(h<=0)return;const[p,f,d]=this._orders.reduce((v,E)=>{let[b,N,x]=v;const{in_price:F,qty:M=0,original_qty:S=0,commission:I=0}=E,C=F*M,O=c*M;if(b+=C,N+=O,a){const L=this._getCommission(c,M);x+=L+M/S*I}return[b,N,x]},[0,0,0]),g=l*(f-p),m=r+this._totalChangeCapital+g-d-f*h;if(m>=0)return;const D=Math.trunc(m/h/c)*4;this._marginCallOrders(c,D,"Margin Call")}_marginCallOrders(t,e,r){const{close_entries_rule:n="FIFO"}=this._options;if(n==="FIFO"){this._processOrders(this._orders,t,e*this._orders.length,r,r);return}for(const s of this.orders)this._processOrder(s,t,e,r,r);this._orders=this._orders.filter(s=>!s.isDeal),this._variables.strategy.updateOrders(this._orders)}_orderHandle(t){const{process_orders_on_close:e,slippage:r=0}=this._options,{orders:n,isMarketPrice:s,quantities:a,close:l,price:c,activePrice:h}=this._orderArgsParse(t),p=t.direction===_e.long?1:-1;if(a<=0)return;let f=a;if(s&&e){if(n.length){const m=this._processOrders(n,l,f,t.id,t.comment);if(m<=0)return;f=m}const g=l+p*r*this._mintick;if(!this._judgeCapitalEnough(f,g,p))return;this._ocaGroupVerify(f,t.oca_name,t.oca_type),this._calcCurrentOrder({...t,in_price:g,in_index:this._variables.bar_index,in_time:this._variables.time,qty:f,place_order_type:"order"});return}this._judgeCapitalEnough(a,c,p)&&this._addPendingOrders(t,c,f,s,h)}_judgeCapitalEnough(t,e,r){if(t<=0)return!1;const{margin_long:n=0,margin_short:s=0}=this._options;if((n===0||n===100)&&r===1||s===0&&r===-1)return!0;const l=this._getCapital(r,this._options.initial_capital+this._orderProfit+this._totalChangeCapital)-this._freezeCapital;return t*e<=l}_ocaGroupVerify(t,e,r){if(!e||!r||r===an.none)return!1;let n=!1;switch(r){case an.cancel:this._pendingOrders=this._pendingOrders.filter(s=>{if(s.oca_name===e)s.isCancel=!0,n=!0;else return!0});break;case an.reduce:this._pendingOrders=this._pendingOrders.filter(s=>{const{qty:a=0,oca_name:l}=s;if(e===l){const c=a-t;return n=!0,c<=0?(s.isCancel=!0,!1):(s.qty=c,!0)}else return!0});break}return n}_processOrders(t,e,r,n,s){let a=r;for(const l of t)if(a=this._processOrder(l,e,a,n,s),a<=0)break;return this._orders=this._orders.filter(l=>!l.isDeal),this._variables.strategy.updateOrders(this._orders),a}_addPendingOrders(t,e,r,n,s){const a=this._pendingOrders.find(l=>l.id===t.id&&!l.isMarketPrice);if(a)Object.assign(a,{...t,in_price:e,isMarketPrice:n,qty:r,active_price:s});else{const l={...t,in_price:e,isMarketPrice:n,qty:r,active_price:s,place_order_type:"order"};this._pendingOrders.push(l)}}_orderArgsParse(t){const{direction:e,qty:r,stop:n}=t;let s=t.limit||0;const{close:a}=this._variables;let l=a,c=!1,h;const p=e===_e.long?1:-1,f=n&&(n-a)*p>0,{backtest_fill_limits_assumption:d=0}=this._options;d>0&&s&&(s-=d*this._mintick*p);const g=s&&(s-a)*p<0;f&&g?(h=n,l=s):f?l=n:g?l=s:c=!0;const y=r||this._calcDefaultQty(l)||1;return{orders:this._orders.filter(D=>D.direction!==e),isMarketPrice:c,activePrice:h,quantities:y,close:a,price:l}}_entryHandle(t){const{process_orders_on_close:e}=this._options,{orders:r,isMarketPrice:n,quantities:s,close:a,price:l,activePrice:c}=this._orderArgsParse(t);if(s<=0)return;if(r.length&&n&&e){this._entryOrder(r,a,s,t);return}this._judgeCapitalEnough(s,a,t.direction===_e.long?1:-1)&&this._addPendingEntry(t,l,s,n,c)}_entryOrder(t,e,r,n){const{time:s,bar_index:a}=this._variables,{slippage:l=0}=this._options,{oca_name:c,oca_type:h,direction:p,comment:f,isMarketPrice:d,id:g}=n,y=p===_e.long?1:-1;if(this._closeOrders(t,e,g,f),r=this._getAvailablePositionSize(r,p),r<=0)return;e=e+l*this._mintick*y;const m={...n,in_price:e,original_qty:r,qty:r,in_index:a,in_time:s,place_order_type:"entry"};if(d){this._calcCurrentOrder(m);return}const{pendingOrders:D,orders:v}=this._getEntryOrders(p),E=D.length+v.length;E&&E>=(this._options.pyramiding||0)||!this._judgeCapitalEnough(r,e,y)||(this._ocaGroupVerify(r,c,h),this._calcCurrentOrder(m))}_getAvailablePositionSize(t,e){const{max_position_size:r,allow_entry_in:n}=this._risk;if(n&&n!==_e.all&&n!==e)return 0;if(r===void 0)return t;const s=this._orders.reduce((a,l)=>a+(l.qty||0),0);return s?s+t>r?0:t:t>r?t-r:0}_getEntryOrders(t){const e=this._pendingOrders.filter(n=>["entry","order"].includes(n.place_order_type)&&n.direction===t),r=this._orders.filter(n=>n.direction===t);return{pendingOrders:e,orders:r}}_addPendingEntry(t,e,r,n,s){if(r=this._getAvailablePositionSize(r,t.direction),r<=0)return;const{pendingOrders:a,orders:l}=this._getEntryOrders(t.direction),c=a.length+l.length,h=a.find(p=>p.id===t.id&&p.place_order_type==="entry");if(h)Object.assign(h,{...t,in_price:e,isMarketPrice:n,qty:r,active_price:s});else if(!c||c<(this._options.pyramiding||1)){const p={...t,in_price:e,isMarketPrice:n,qty:r,active_price:s,place_order_type:"entry"};this._pendingOrders.push(p)}}_closeAllOrders(t,e){const{comment:r}=t,{bar_index:n}=this._variables,s=this._orders.filter(a=>a.in_index!==n);s.length&&(this._closeOrders(s,e,"Close position order",r),this._orders=[],this._variables.strategy.updateOrders(this._orders))}_closeOrders(t,e,r,n){for(const s of t)this._closeOrder(s,e,r,n);this._orders=this._orders.filter(s=>!s.isDeal),this._variables.strategy.updateOrders(this._orders)}_closeOrder(t,e,r,n){const{time:s,bar_index:a}=this._variables,{slippage:l=0}=this._options,{in_price:c,qty:h=0,direction:p}=t,f=p===_e.long?1:-1;e=e-f*l*this._mintick,t.isDeal=!0;const d=(e-c)*f*h,g={...t,out_price:e,out_id:r,out_index:a,out_time:s,out_comment:n,out_qty:h,profit:d};this._calcPercent(g),this._risk.intradayOrders+=1,this._historyOrder.push(g),this._variables.strategy.updateHistoryOrders(this._historyOrder)}_ordersHandle(){const t=this._orders.filter(a=>a.place_order_type==="exit"&&!a.hasExit);if(!t.length)return;const{open:e,low:r,high:n,close:s}=this._variables;for(const a of t){const{stop:l,limit:c,trail_stop_price:h,isMarketPriceLimit:p,isMarketPriceStop:f,direction:d,id:g,out_comment:y,active_price:m,trail_offset:D=0,out_qty:v,comment_loss:E,comment_profit:b,comment_trailing:N}=a;let x=h;const F=d===_e.long?1:-1;let M,S=y;if(p||f?M=e:(c&&r<=c&&n>=c&&(S=b||y,M=c),l&&r<=l&&n>=l&&(M=x?(l-x)*F>0?l:x:l,S=(x===M?N:E)||y)),M)this._processExitOnClose(a,M,{from_entry:g,comment:S,qty:v});else{let I=!1;if(m&&m<=n&&m>=r&&(x=m-D*F*this._mintick,(x-s)*F>=0&&(a.isMarketPriceStop=!0,this._options.process_orders_on_close&&(M=x)),I=!0,a.trail_stop_price=x),x)if((x-e)*F>=0&&!I)M=x;else{const C=(F===1?n:r)-D*F*this._mintick;F===1?x<e&&x>=r&&C>x&&C<s?M=x:C>x?(x=C,C>=s&&(M=C)):x<=n&&r<=x&&(M=x):x>e&&x<=n&&C<x&&C>s?M=x:C<x?(x=C,C<=s&&(M=C)):x<=n&&r<=x&&(M=x),a.trail_stop_price=x}M&&this._processExitOnClose(a,M,{from_entry:g,comment:N||y,qty:v})}}}_pendingOrderHandle(){if(!this._pendingOrders.length)return;const t=[],e=this._pendingOrders.filter(n=>n.place_order_type==="exit"),r=this._pendingOrders.filter(n=>["close","close_all"].includes(n.place_order_type||""));for(const n of r)switch(n.place_order_type){case"close":this._closeOrderHandle(n);break;case"close_all":this._closeAllOrders(n,this._variables.open);break}for(const n of this._pendingOrders){const{isCancel:s,place_order_type:a}=n;if(s)continue;let l;switch(a){case"entry":l=this._entryOrderHandle(n);break;case"order":l=this._orderOrderHandle(n);break}l&&t.push(l)}for(const n of e){const s=this._exitOrderHandle(n);s&&t.push(s)}this._pendingOrders=t}_pendingCloseOrderHandle(){if(!this._pendingCloseOrders.length)return;const t=this._pendingCloseOrders.filter(n=>n.place_order_type==="exit"),e=this._pendingCloseOrders.filter(n=>["close","close_all"].includes(n.place_order_type||"")),{close:r}=this._variables;for(const n of e)switch(n.place_order_type){case"close":this._closeOrderHandle(n,!0);break;case"close_all":this._closeAllOrders(n,r);break}for(const n of t){const{from_entry:s}=n,a=this._orders.filter(l=>!s||l.id===s&&(l.isMarketPriceLimit||l.isMarketPriceStop));for(const l of a)this._processExitOnClose(l,l.limit||l.stop||l.trail_stop_price||r,n)}this._pendingCloseOrders=[]}_entryOrderHandle(t){const{open:e,low:r,high:n}=this._variables,{isMarketPrice:s,qty:a=0,in_price:l,direction:c,active_price:h}=t;if(h&&n>=h&&r<=h)return delete t.active_price,t;let p=l;if(s&&(p=e),p<=n&&p>=r){const f=this._orders.filter(d=>d.direction!==c);this._entryOrder(f,p,a,t)}else return t}_orderOrderHandle(t){const{open:e,low:r,high:n,time:s,bar_index:a}=this._variables,{slippage:l=0}=this._options,{isMarketPrice:c,qty:h=0,in_price:p,direction:f,comment:d,oca_name:g,oca_type:y,active_price:m,id:D}=t;if(m&&n>=m&&r<=m)return delete t.active_price,t;let v=p,E=h;if(c&&(v=e),v<=n&&v>=r){const b=this._orders.filter(x=>x.direction!==f);if(b.length&&(E=this._processOrders(b,v,h,D,d),E<=0))return;const N=f===_e.long?1:-1;this._ocaGroupVerify(E,g,y),this._calcCurrentOrder({...t,in_price:v+N*l*this._mintick,in_index:a,in_time:s,qty:E});return}else return t}_closeOrderHandle(t,e){const{id:r,qty:n,qty_percent:s=100,comment:a}=t,{bar_index:l}=this._variables,c=this._orders.filter(g=>g.id===r&&g.in_index!==l&&(!g.close_qty||g.close_qty<(g.qty||0)));if(!c.length)return;let h=0;if(n?h=n:(h=c.reduce((g,y)=>g+(y.qty||0),h),h=s/100*h),h<=0)return;const{open:p,close:f}=this._variables;let d=h;for(const g of c){const{qty:y=0}=g;d<y?g.close_qty=d:(g.close_qty=y,d-=y)}this._processOrders(this._options.close_entries_rule==="ANY"?c:this._orders,e?f:p,h,`Close entry(s) order ${r}`,a)}_exitOrderHandle(t){const{from_entry:e}=t,r=this._orders.filter(n=>(!e||e===n.id)&&!n.hasExit);if(!(r.length&&!this._ordersToExit(r,t)))return t}_exit(t,e){const{profit:r,loss:n,stop:s,limit:a,trail_offset:l,trail_price:c,trail_points:h,from_entry:p="",id:f}=t;if(this._isNaN(r)&&this._isNaN(n)&&this._isNaN(s)&&this._isNaN(a)&&(this._isNaN(l)||this._isNaN(h)&&this._isNaN(c))){this._errorListener.addError("strategy.exit must have at least one of the following parameters: 'profit', 'limit', 'loss', 'stop' or one of the following pairs: 'trail_offset' and 'trail_price' / 'trail_points'. To close the position at market price, use 'strategy.close'",e,jt.Error);return}const d={...t,place_order_type:"exit"},g=this._orders.filter(D=>(!p||p===D.id)&&!D.hasExit),y=this._pendingOrders.filter(D=>!p||p===D.id);if(g.length){if(!this._ordersToExit(g,d))return}else if(!y.length)return;const m=this._pendingOrders.find(D=>D.id===f);m?Object.assign(m,{...t}):this._pendingOrders.push(d)}_ordersToExit(t,e){const{qty:r,qty_percent:n=100,id:s,comment:a,comment_loss:l,comment_profit:c,comment_trailing:h}=e;let p=r,f=!1;e.comment=a||s;for(const d of t){const{qty:g=0}=d,y=d.direction===_e.long?1:-1;p=r?r>=g?g:r:n/100*g,d.out_qty=p,p<g&&(f=!0),Object.assign(d,{out_comment:a||s,comment_loss:l,comment_profit:c,comment_trailing:h}),!(this._stopProfit(d,y,{...e,qty:p})||this._stopLoss(d,y,{...e,qty:p})||this._trailStopLoss(d,y,{...e,qty:p}))&&(d.place_order_type="exit")}return f}_addExitPendingCloseOrders(t){t.place_order_type="exit";const e=this._pendingCloseOrders.find(r=>r.id===t.id);e?Object.assign(e,{...t}):this._pendingCloseOrders.push(t)}_stopProfit(t,e,r){const{limit:n,profit:s,comment_profit:a,comment:l}=r;let c=n;const{close:h}=this._variables,{in_price:p}=t,{process_orders_on_close:f}=this._options;if(!this._isNaN(s)&&this._isNaN(n)&&(c=p+e*s*this._mintick),t.limit=c,c&&(c-h)*e<=0&&(t.isMarketPriceLimit=!0,r.comment=a||l,Object.assign(t,{out_comment:r.comment}),c=h,f))return this._addExitPendingCloseOrders(r),!0}_stopLoss(t,e,r){const{stop:n,loss:s,comment_loss:a,comment:l}=r;let c=n;const{close:h}=this._variables,{in_price:p}=t,{process_orders_on_close:f}=this._options;if(!this._isNaN(s)&&this._isNaN(n)&&(c=p-e*s*this._mintick),t.stop=c,c&&(c-h)*e>=0&&(t.isMarketPriceStop=!0,r.comment=a||l,Object.assign(t,{out_comment:r.comment}),c=h,f))return this._addExitPendingCloseOrders(r),!0}_trailStopLoss(t,e,r){const{trail_offset:n,trail_price:s,trail_points:a,comment_trailing:l,comment:c}=r;if(!this._isNaN(n)){const{close:h}=this._variables,{in_price:p}=t,{process_orders_on_close:f}=this._options;let d;if(this._isNaN(s)?this._isNaN(a)||(d=p+a*e*this._mintick):d=s,t.trail_offset=n,d&&(d-h)*e<=0){const g=h-n*e*this._mintick;if((g-h)*e>=0&&(t.trail_stop_price=h,t.isMarketPriceStop=!0,r.comment=l||c,Object.assign(t,{out_comment:r.comment}),f))return this._addExitPendingCloseOrders(r),!0;t.trail_stop_price=g}t.active_price=d}}_processExitOnClose(t,e,r){const{qty:n=0,comment:s,id:a}=r,{close_entries_rule:l="FIFO"}=this._options;if(l==="FIFO"){const c=this._processExitOrders(this._orders,e,n,a,s);c&&!c.hasExit?(c.hasExit=!0,Object.assign(t,{trail_stop_price:c.trail_stop_price,stop:c.stop,limit:c.limit,trail_offset:c.trail_offset,active_price:c.active_price})):c&&(t.hasExit=!0)}else t.hasExit=!0,this._processOrders([t],e,n,a,s)}_processExitOrders(t,e,r,n,s){let a=r,l;for(const c of t)if(l=c,a=this._processOrder(c,e,a,n,s),a<=0||!c.hasExit)break;return this._orders=this._orders.filter(c=>!c.isDeal),this._variables.strategy.updateOrders(this._orders),l}_processOrder(t,e,r,n,s){const{time:a,bar_index:l}=this._variables,{slippage:c=0}=this._options,{in_price:h,qty:p=0,max_profit:f=0,trading_loss:d=0,direction:g,commission:y=0,original_qty:m=0}=t,D=g===_e.long?1:-1;if(e=e-D*c*this._mintick,r<p){const v=p-r,E=(e-h)*D*r,b=f/p*r,N=d/p*r;this._calcPercent({...t,out_price:e,out_id:n,out_index:l,out_time:a,out_comment:s,profit:E,out_qty:r,max_profit:b,trading_loss:N});const x=(e-h)*D*v-y*v/m;Object.assign(t,{qty:v,profit:x,max_profit:f-b,trading_loss:d-N,total_profit:this._totalChangeCapital+x}),r=0}else{t.isDeal=!0;const v=(e-h)*D*p;this._calcPercent({...t,out_price:e,out_id:n,out_index:l,out_time:a,out_comment:s,out_qty:p,profit:v}),r-=p}return r}_calcPercent(t){const{commission_value:e}=this._options,{in_price:r,out_qty:n=0,out_price:s=0,original_qty:a=0}=t;let{profit:l=0,max_profit:c=0,trading_loss:h=0,commission:p=0}=t;c=c<0?0:c;const f=r*n;if(this._totalChangeCapital+=l,e){const d=this._getCommission(s,n);this._totalChangeCapital-=d,p=p*n/a+d,l=l-p,Object.assign(t,{commission:p,profit:l,max_profit:c})}Object.assign(t,{total_profit:this._totalChangeCapital,profit_percent:l/f*100,max_profit_percent:c/f*100,trading_loss_percent:h/f*100}),this._risk.intradayOrders+=1,this._historyOrder.push(t),this._variables.strategy.updateHistoryOrders(this._historyOrder)}_getCommission(t,e){const{commission_value:r=0,commission_type:n}=this._options,s=t*e;let a=0;switch(n){case Cr.percent:a=s*r/100;break;case Cr.cashPerContract:a=e*r;break;case Cr.cashPerOrder:a=r;break}return a}_calcCurrentOrder(t){const{commission_value:e}=this._options,{in_price:r,qty:n=0,max_profit:s=0,trading_loss:a=0}=t;let{profit:l=0}=t;const c=r*n;if(e){const h=this._getCommission(r,n);this._totalChangeCapital-=h,l=l-h,Object.assign(t,{commission:h,profit:l,total_profit:this._totalChangeCapital})}Object.assign(t,{original_qty:n,profit_percent:l/c*100,max_profit_percent:s/c*100,trading_loss_percent:a/c*100}),this._risk.intradayOrders+=1,this._orders.push(t),this._variables.strategy.updateOrders(this._orders)}_isNaN(t){return t===void 0||isNaN(t)}_paramVerfiy(t="",e,r,n,s){t&&!n.includes(t)&&this._errorListener.addError(Qe(Ye.paramsErr,{value:t,func:r,param:s,targetVal:`[${n.join(", ")}]`}),e,jt.Error)}};class Hy{constructor(t){z(this,"_logs");z(this,"_variables");z(this,"_intlFormat");this._variables=t,this._logs=[],this._intlFormat=new Intl.NumberFormat("en-US")}get logs(){return this._logs}clearLogs(){this._logs=[]}info(t,e,r){this._addLog(t,e,"info",r)}error(t,e,r){this._addLog(t,e,"error",r)}warning(t,e,r){this._addLog(t,e,"warning",r)}_addLog(t,e,r,n){if(typeof e=="string"&&(n=e),n.startsWith("export"))return;const{message:s,formatString:a}=t,{time:l,bar_index:c}=this._variables;let h=s;a&&Array.isArray(e)&&e.length&&(h=a.replace(/{(\d+)}/g,(p,f)=>{let d=e[f];return typeof d=="number"&&(d=this._intlFormat.format(parseFloat(d.toFixed(3)))),d!==void 0?d:p})),h&&this._logs.push({message:`[${ee(l).format()}]: ${h}`,time:l,barIndex:c,type:r})}}class Jy{constructor(t){z(this,"_errorListener");this._errorListener=t}error({message:t},e){e.startsWith("export")||this._errorListener.addError(t,e,jt.Error)}}class Xy{constructor(){z(this,"_errors");this._errors=new Map}clear(){this._errors.clear()}get errors(){return Pr.flatMap([...this._errors.values()])}addError(t,e,r){const[n,s]=e.split("_").slice(-2),a=this._errors.get(e),l={message:t,endLineNumber:Number(n),startColumn:Number(s)+1,endColumn:Number(s)+1,startLineNumber:Number(n),type:r};a?a.push(l):this._errors.set(e,[l])}}class Qy{constructor(){z(this,"_isMarketOpen");z(this,"_currentBarIndex");z(this,"_totalBarIndex");z(this,"_isRealTimeBar");z(this,"_preBarIndex");this._currentBarIndex=0,this._totalBarIndex=0,this._isRealTimeBar=!1,this._preBarIndex=0,this._isMarketOpen=!0}update(t,e,r,n){this._preBarIndex=this._currentBarIndex,this._currentBarIndex=t,this._totalBarIndex=e,this._isRealTimeBar=r,this._isMarketOpen=n}get isnew(){return!this._isRealTimeBar||this._preBarIndex!==this._currentBarIndex}get islast(){return this._currentBarIndex===this._totalBarIndex}get isfirst(){return this._currentBarIndex===0}get ishistory(){return!this._isRealTimeBar}get isrealtime(){return this._isRealTimeBar}get isconfirmed(){return!this._isRealTimeBar}get islastconfirmedhistory(){return this._isMarketOpen?this._currentBarIndex===this._totalBarIndex-1:this._currentBarIndex===this._totalBarIndex}}class tw{constructor(t){z(this,"_variables");this._variables=t}get isfirstbar(){return this._variables.timeframe.isdwm?!0:this._variables.time===this._variables.time_tradingday}get isfirstbar_regular(){return this._variables.timeframe.isdwm?!0:this._variables.time===this._variables.time_tradingday}get islastbar(){if(this._variables.timeframe.isdwm)return!0;const t=sn(this._variables.timeframe.period);return this._variables.time+t===this._variables.time_tradingday+24*60*60*1e3}get islastbar_regular(){if(this._variables.timeframe.isdwm)return!0;const t=sn(this._variables.timeframe.period);return this._variables.time+t===this._variables.time_tradingday+24*60*60*1e3}get ismarket(){return!0}get ispostmarket(){return!1}get ispremarket(){return!1}}class ew{constructor(t){z(this,"_orders");z(this,"_historyOrders");z(this,"_options");z(this,"_max_contracts_held_all",0);z(this,"_max_contracts_held_long",0);z(this,"_max_contracts_held_short",0);z(this,"_max_drawdown",0);z(this,"_max_runup",0);z(this,"_max_runup_percent",0);z(this,"_max_drawdown_percent",0);z(this,"_variables");z(this,"_netprofit",0);z(this,"_eventrades",0);z(this,"_avg_trade_percent");z(this,"_closedtrades",0);z(this,"_losstrades",0);z(this,"_grossloss",0);z(this,"_grossloss_percent",0);z(this,"_grossprofit",0);z(this,"_grossprofit_percent",0);z(this,"_wintrades",0);z(this,"_opentrades_capital_held",0);z(this,"_position_avg_price",0);z(this,"_position_size",0);this._orders=[],this._historyOrders=[],this._variables=t}update(){this._calcMaxDrawdownAndMaxRunup()}_calcMaxDrawdownAndMaxRunup(){let t=0,e=0;const{high:r,low:n}=this._variables;for(const h of this._orders){const{in_price:p,qty:f=0,commission:d=0,original_qty:g=0,direction:y}=h,m=y===_e.long?1:-1,D=(r-p)*f,v=(n-p)*f,E=m===1?D:-v,b=m===1?-v:D;t+=b+d*f/g,e+=E+d*f/g}const[s,a]=this._historyOrders.reduce((h,p)=>{let[f,d]=h;const{profit:g=0,commission:y=0}=p;return f+=g,d+=g-y,[f,d]},[0,0]);t-=s,e+=a;const l=t/(this.initial_capital+this.netprofit)*100;this._max_drawdown<t&&(this._max_drawdown=t),l>this._max_drawdown_percent&&(this._max_drawdown_percent=l);const c=e/(this.initial_capital+this.netprofit)*100;e>this._max_runup&&(this._max_runup=e),c>this._max_runup_percent&&(this._max_runup_percent=c)}updateOrders(t){this._orders=t,this._calcMaxContracts()}_calcMaxContracts(){const t=this._orders.length;if(!t)return;const[e,r,n,s,a,l]=this._orders.reduce(([c,h,p,f,d,g],y)=>{const{direction:m,qty:D=0,in_price:v}=y;return m===_e.long?(c+=D,h+=D,g+=D):(c+=D,p+=D,g-=D),f+=D*v,d+=v,[c,h,p,f,d,g]},[0,0,0,0,0,0]);this._position_size=l,this._position_avg_price=a/t,this._opentrades_capital_held=s,this._max_contracts_held_all=Math.max(e,this._max_contracts_held_all),this._max_contracts_held_long=Math.max(r,this._max_contracts_held_long),this._max_contracts_held_short=Math.max(n,this._max_contracts_held_short)}updateHistoryOrders(t){this._historyOrders=t;const e=this._historyOrders.length;this._closedtrades=e;const[r,n,s,a,l,c]=this._historyOrders.reduce((h,p)=>{let[f,d,g,y,m,D]=h;const{profit:v=0,profit_percent:E=0}=p;return f+=v,d+=E,v<0?(g+=v,y+=E):(m+=v,D+=E),[f,d,g,y,m,D]},[0,0,0,0,0,0]);this._avg_trade_percent=e?n/e:void 0,this._netprofit=r,this._grossloss=s,this._grossloss_percent=a,this._grossprofit=l,this._grossprofit_percent=c,this._eventrades=this._historyOrders.filter(h=>h.profit===0).length,this._losstrades=this._historyOrders.filter(h=>(h.profit||0)<0).length,this._wintrades=this._historyOrders.filter(h=>(h.profit||0)>0).length}updateStrategyOptions(t){this._options=t}get long(){return"long"}get short(){return"short"}get account_currency(){return"USD"}get closedtrades(){return this._closedtrades}get opentrades(){return{opentrades:this._orders.length,capital_held:this._opentrades_capital_held}}get avg_losing_trade(){const t=this.losstrades;return t?Math.abs(this.grossloss/t):void 0}get avg_losing_trade_percent(){const t=this.losstrades;return t?Math.abs(this.grossloss_percent/t):void 0}get avg_trade(){if(this.closedtrades)return Math.abs(this.netprofit/this.closedtrades)}get equity(){return this.initial_capital+this.netprofit+this.openprofit}get netprofit(){return this._netprofit}get eventrades(){return this._eventrades}get openprofit(){return this._orders.reduce((t,e)=>{const{profit:r=0}=e;return t+r},0)}get avg_trade_percent(){return this._avg_trade_percent}get avg_winning_trade(){const t=this.wintrades;return t?Math.abs(this.grossprofit/t):void 0}get avg_winning_trade_percent(){const t=this.wintrades;return t?Math.abs(this.grossprofit_percent/t):void 0}get initial_capital(){var t;return((t=this._options)==null?void 0:t.initial_capital)||0}get losstrades(){return this._losstrades}get grossloss(){return this._grossloss}get grossloss_percent(){return this._grossloss_percent}get grossprofit(){return this._grossprofit}get grossprofit_percent(){return this._grossprofit_percent}get wintrades(){return this._wintrades}get margin_liquidation_price(){if(!this._options)return;const{initial_capital:t,margin_long:e=0,margin_short:r=0,commission_type:n,commission_value:s=0}=this._options,a=this._orders[0].direction===_e.long?1:-1,l=(a===1?e:r)/100;if(l<=0)return;const{close:c}=this._variables,[h,p]=this._orders.reduce((f,d)=>{let[g,y]=f;const{in_price:m,qty:D=0,original_qty:v=0}=d,E=m*D;if(g+=E,s){let b=0;switch(n){case Cr.percent:b=(E+D*c)*s/100;break;case Cr.cashPerContract:b=D*s*2;break;case Cr.cashPerOrder:b=D/v*s+s;break}y+=b}return[g,y]},[0,0]);return(h-(t+this.netprofit-p))*a/this.position_size/(1-a*l)}get max_contracts_held_all(){return this._max_contracts_held_all}get max_contracts_held_long(){return this._max_contracts_held_long}get max_contracts_held_short(){return this._max_contracts_held_short}get max_drawdown(){return this._max_drawdown}get max_runup(){return this._max_runup}get max_runup_percent(){return this._max_runup_percent}get max_drawdown_percent(){return this._max_drawdown_percent}get netprofit_percent(){return this.netprofit/this.initial_capital*100}get openprofit_percent(){return this.openprofit/(this.initial_capital+this.netprofit)*100}get position_avg_price(){return this._position_avg_price}get position_entry_name(){if(this._orders.length)return this._orders[0].id}get position_size(){return this._position_size}}class rw{constructor(){z(this,"_preAccdist");z(this,"_preNvi");z(this,"_prePvi");z(this,"_preObv");z(this,"_prePvt");z(this,"_preWad");z(this,"_preVwap");z(this,"_preValue");z(this,"_currentData");z(this,"_preData");this._preAccdist=0,this._preNvi=0,this._prePvi=0,this._preObv=0,this._prePvt=0,this._preWad=0,this._preVwap={},this._preValue={},this._currentData={},this._preData={}}update(t){this._preValue={},t.barIndex!==this._currentData.barIndex&&(this._preData={...this._currentData}),this._currentData={...t}}get isRealTime(){return this._preData.barIndex===this._currentData.barIndex}get accdist(){if(this._preValue.accdist)return this._preValue.accdist;const{close:t,low:e,high:r,volume:n}=this._currentData;if(r===e)return this._preAccdist;const s=(t-e-(r-t))/(r-e)*n+this._preAccdist;return!this.isRealTime&&(this._preAccdist=s),this._preValue.accdist=s,s}get iii(){if(this._preValue.iii)return this._preValue.iii;const{close:t,low:e,high:r,volume:n}=this._currentData,s=(2*t-r-e)/((r-e)*n);return this._preValue.iii=s,s}get nvi(){return this._preValue.nvi?this._preValue.nvi:this._getNvi()}get wvad(){if(this._preValue.wvad)return this._preValue.wvad;const{close:t,low:e,high:r,volume:n,open:s}=this._currentData,a=(t-s)/(r-e)*n;return this._preValue.wvad=a,a}get obv(){if(this._preValue.obv)return this._preValue.obv;const{close:t,volume:e}=this._currentData,{close:r}=this._preData;if(r===void 0){this._preObv=0;return}const n=Math.sign(t-r)*e+this._preObv;return!this.isRealTime&&(this._preObv=n),this._preValue.obv=n,n}get pvi(){return this._preValue.pvi?this._preValue.pvi:this._getPvi()}get tr(){if(this._preValue.tr)return this._preValue.tr;const{low:t,high:e}=this._currentData,{close:r}=this._preData;if(r===void 0)return;const n=Math.max(e-t,Math.abs(e-r),Math.abs(t-r));return this._preValue.tr=n,n}get pvt(){if(this._preValue.pvt)return this._preValue.pvt;const{close:t,volume:e}=this._currentData,{close:r}=this._preData;if(r===void 0){this._prePvt=0;return}const n=(t-r)/r*e+this._prePvt;return!this.isRealTime&&(this._prePvt=n),this._preValue.pvt=n,n}get wad(){if(this._preValue.wad)return this._preValue.wad;const{close:t,high:e,low:r}=this._currentData,{close:n}=this._preData;if(n===void 0)return this._preWad=0,0;const s=Math.max(e,n),a=Math.min(r,n),l=t-n,h=(l>0?t-a:l<0?t-s:0)+this._preWad;return!this.isRealTime&&(this._preWad=h),this._preValue.wad=h,h}get vwap(){if(this._preValue.vwap)return this._preValue.vwap;const{hlc3:t,volume:e}=this._currentData;let{sum:r=0,sumV:n=0,isReset:s}=this._preVwap;if(self.buildInFunctions.timeframe.change({timeframe:"1D"},"vwap_buildin")&&(s=!0,r=n=0),!s)return;const l=t*e+r,c=e+n;!this.isRealTime&&(this._preVwap={sum:l,sumV:c,isReset:s});const h=l/c;return this._preValue.vwap=h,h}_getNvi(){const t=this._preNvi||1,{close:e=0,volume:r=0}=this._preData,{close:n,volume:s}=this._currentData;let a=1;const l=t||1;return n&&e?a=s<r?l+(n-e)/e*l:l:a=l,!this.isRealTime&&(this._preNvi=a),this._preValue.nvi=a,a}_getPvi(){const t=this._prePvi||1,{close:e=0,volume:r=0}=this._preData,{close:n,volume:s}=this._currentData;let a=1;const l=t||1;return n&&e?a=s>r?l+(n-e)/e*l:l:a=l,!this.isRealTime&&(this._prePvi=a),this._preValue.pvi=a,a}}class nw{constructor(){z(this,"_period");z(this,"_multiplier");z(this,"_unit");this._period="1",this._multiplier=1,this._unit="m"}update(t){if(!t)return;this._period=t;const[e,r]=ws(t);this._multiplier=e,this._unit=r}get isdaily(){return this._unit==="d"}get isdwm(){return["d","w","M"].includes(this._unit)}get isintraday(){return["s","m","h"].includes(this._unit)}get isminutes(){return this._unit==="m"}get ismonthly(){return this._unit==="M"}get isseconds(){return this._unit==="s"}get isweekly(){return this._unit==="w"}get multiplier(){return this._multiplier}get period(){return this._period}}ee.extend(Pp),ee.extend(Sl),ee.extend(Lp);class iw{constructor(){z(this,"_cacheData");z(this,"_barIndex");z(this,"_isRealTimeBar");z(this,"_barstate");z(this,"_priceVariables");z(this,"_lastBarIndex");z(this,"_currentBarTime");z(this,"_lastBarTime");z(this,"_period");z(this,"_offsetTime");z(this,"_timeframe");z(this,"_ta");z(this,"_polyline");z(this,"_label");z(this,"_line");z(this,"_linefill");z(this,"_box");z(this,"_table");z(this,"_strategy");z(this,"_session");z(this,"_timeTradingday");this._cacheData={varData:{},varNewData:{},varipData:{}},this._barIndex=0,this._lastBarIndex=0,this._currentBarTime=0,this._lastBarTime=0,this._offsetTime=0,this._period="",this._isRealTimeBar=!1,this._barstate=new Qy,this._timeframe=new nw,this._priceVariables={close:0,open:0,low:0,high:0,volume:0},this._ta=new rw,this._polyline=new Ai,this._label=new Ai,this._line=new Ai,this._linefill=new Ai,this._box=new Ai,this._table=new Ai,this._strategy=new ew(this),this._session=new tw(this)}get table(){return this._table}get box(){return this._box}get linefill(){return this._linefill}get line(){return this._line}get polyline(){return this._polyline}get label(){return this._label}get ta(){return this._ta}get strategy(){return this._strategy}get session(){return this._session}get na(){}get last_bar_index(){return this._lastBarIndex}get bar_index(){return this._barIndex}get barstate(){return this._barstate}get close(){return this._priceVariables.close}get low(){return this._priceVariables.low}get open(){return this._priceVariables.open}get high(){return this._priceVariables.high}get volume(){return this._priceVariables.volume}get ohlc4(){const{close:t,open:e,high:r,low:n}=this._priceVariables;return(t+e+r+n)/4}get hl2(){const{high:t,low:e}=this._priceVariables;return(t+e)/2}get hlc3(){const{close:t,high:e,low:r}=this._priceVariables;return(t+e+r)/3}get hlcc4(){const{close:t,high:e,low:r}=this._priceVariables;return(t*2+e+r)/4}get hour(){return ee(this._currentBarTime).subtract(this._offsetTime,"hour").hour()}get minute(){return ee(this._currentBarTime).minute()}get second(){return ee(this._currentBarTime).second()}get month(){return ee(this._currentBarTime).month()+1}get year(){return ee(this._currentBarTime).year()}get dayofweek(){return ee(this._currentBarTime).day()+1}get dayofmonth(){return ee(this._currentBarTime).date()}get weekofyear(){return ee(this._currentBarTime).week()}get last_bar_time(){return this._lastBarTime}get time(){return this._currentBarTime}get time_close(){const[t,e]=ws(this._period);return this._isRealTimeBar?void 0:ee(this._currentBarTime).add(t,e).valueOf()}get timenow(){return Date.now()}get time_tradingday(){return this._timeTradingday||this.getTimeTradingday(this._currentBarTime,this._period)}get timeframe(){return this._timeframe}updateMaxLength(t){const{max_lines_count:e,max_labels_count:r,max_boxes_count:n,max_polylines_count:s}=t;n&&this._box.setMaxLen(n),r&&this._label.setMaxLen(r),e&&this._line.setMaxLen(e),s&&this._polyline.setMaxLen(s)}getTimeTradingday(t,e){const[r,n]=ws(e),s=ee(t);return["M","w","y","d"].includes(n)?s.valueOf():(s.subtract(this._offsetTime,"h"),s.startOf("d").add(this._offsetTime,"h").valueOf())}updateOptions(t){const{interval:e="1D",offsetTime:r=5}=t;this._period=e,this._offsetTime=r,this._timeframe.update(e)}updateData(t){const{barIndex:e,c:r,o:n,h:s,l:a,volume:l,time:c,lastBarIndex:h,lastBarTime:p,complete:f,time_tradingday:d}=t;this._priceVariables={close:Number(r),open:Number(n),high:Number(s),low:Number(a),volume:Number(l)},this._isRealTimeBar=f,e>this._barIndex&&this._isRealTimeBar&&(this._cacheData.varData=this._cacheData.varNewData,this._cacheData.varNewData={}),this._timeTradingday=d,this._currentBarTime=c*1e3,this._lastBarIndex=h,this._barIndex=e,this._lastBarTime=p*1e3,this._barstate.update(e,h,!1,!1),this.ta.update({...this._priceVariables,hlc3:this.hlc3,barIndex:e})}getCacheData(t,e,r){let n=this._cacheData[t]||[];n[this._barIndex]=r,n=n.filter(()=>!0);const s=n[n.length-1-e];return this._cacheData[t]=n,s}setCacheData(t,e){const r=this._cacheData[t]||[];r[this._barIndex]=e,this._cacheData[t]=r}getTypeInstance(t,e){return new Op(t,e)}getVarValue(t,e,r){const n=`${t}_${e}`,s=r==="var"?this._cacheData.varData[n]:this._cacheData.varipData[n];if(s)return s}setVarValue(t,e,r,n){const s=`${t}_${e}`;let a;switch(typeof r=="object"&&r&&(n="var",a=r.varipKeys),n){case"var":if(this._isRealTimeBar){const l=Pr.cloneDeep(r);if(this._cacheData.varNewData[s]=l,a&&a.length)for(const c of a)this._cacheData.varData[s][c]=l[c]}else this._cacheData.varData[s]=r;break;case"varip":this._cacheData.varipData[s]=r;break}return r}add(t,e){return Array.isArray(t)&&Array.isArray(e)?Pr.uniq([...t,...e]):typeof t=="number"||typeof e=="number"?Number(t)+Number(e):t+e}sub(t,e){return Array.isArray(t)&&Array.isArray(e)?t.filter(r=>!e.includes(r)):Number(t)-Number(e)}againAssignParse(t,e){var n;if(e)return;const r=(n=t==null?void 0:t.constructor)==null?void 0:n.name;if(r)switch(r){case Qi.name:case Xf.name:case es.name:case ka.name:case ts.name:case uo.name:t==null||t.delete();break}}}class Ai{constructor(t=50){z(this,"_all");z(this,"_allInstance");z(this,"_pseudoArrayAll");z(this,"_maxLength");this._all=new Map,this._allInstance=new Map,this._pseudoArrayAll=new Qt,this._maxLength=t}setMaxLen(t){this._maxLength=t}get data(){return[...this._all.values()]}get all(){return this._pseudoArrayAll._value=[...this._allInstance.values()],this._pseudoArrayAll}add(t,e,r){this._all.set(t,e),this._allInstance.set(t,r);const n=[...this._all.keys()];if(n.length>this._maxLength){const s=n.shift();s&&this.delete(s)}}get(t){return this._all.get(t)}getInstance(t){return this._allInstance.get(t)}delete(t){this._all.delete(t),this._allInstance.delete(t)}}var Qf={exports:{}};(function(i,t){(function(e,r){i.exports=r()})(Vt,function(){return function(e,r,n){r.prototype.isBetween=function(s,a,l,c){var h=n(s),p=n(a),f=(c=c||"()")[0]==="(",d=c[1]===")";return(f?this.isAfter(h,l):!this.isBefore(h,l))&&(d?this.isBefore(p,l):!this.isAfter(p,l))||(f?this.isBefore(h,l):!this.isAfter(h,l))&&(d?this.isAfter(p,l):!this.isBefore(p,l))}}})})(Qf);var sw=Qf.exports,ow=Kt(sw),th={exports:{}};(function(i,t){(function(e,r){i.exports=r()})(Vt,function(){return function(e,r,n){var s=r.prototype,a=function(d){var g,y=d.date,m=d.utc,D={};if(!((g=y)===null||g instanceof Date||g instanceof Array||s.$utils().u(g)||g.constructor.name!=="Object")){if(!Object.keys(y).length)return new Date;var v=m?n.utc():n();Object.keys(y).forEach(function(I){var C,O;D[C=I,O=s.$utils().p(C),O==="date"?"day":O]=y[I]});var E=D.day||(D.year||D.month>=0?1:v.date()),b=D.year||v.year(),N=D.month>=0?D.month:D.year||D.day?0:v.month(),x=D.hour||0,F=D.minute||0,M=D.second||0,S=D.millisecond||0;return m?new Date(Date.UTC(b,N,E,x,F,M,S)):new Date(b,N,E,x,F,M,S)}return y},l=s.parse;s.parse=function(d){d.date=a.bind(this)(d),l.bind(this)(d)};var c=s.set,h=s.add,p=s.subtract,f=function(d,g,y,m){m===void 0&&(m=1);var D=Object.keys(g),v=this;return D.forEach(function(E){v=d.bind(v)(g[E]*m,E)}),v};s.set=function(d,g){return g=g===void 0?d:g,d.constructor.name==="Object"?f.bind(this)(function(y,m){return c.bind(this)(m,y)},g,d):c.bind(this)(d,g)},s.add=function(d,g){return d.constructor.name==="Object"?f.bind(this)(h,d,g):h.bind(this)(d,g)},s.subtract=function(d,g){return d.constructor.name==="Object"?f.bind(this)(h,d,g,-1):p.bind(this)(d,g)}}})})(th);var aw=th.exports,uw=Kt(aw),eh={exports:{}};(function(i,t){(function(e,r){i.exports=r()})(Vt,function(){var e,r,n=1e3,s=6e4,a=36e5,l=864e5,c=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,h=31536e6,p=2628e6,f=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,d={years:h,months:p,days:l,hours:a,minutes:s,seconds:n,milliseconds:1,weeks:6048e5},g=function(F){return F instanceof N},y=function(F,M,S){return new N(F,S,M.$l)},m=function(F){return r.p(F)+"s"},D=function(F){return F<0},v=function(F){return D(F)?Math.ceil(F):Math.floor(F)},E=function(F){return Math.abs(F)},b=function(F,M){return F?D(F)?{negative:!0,format:""+E(F)+M}:{negative:!1,format:""+F+M}:{negative:!1,format:""}},N=function(){function F(S,I,C){var O=this;if(this.$d={},this.$l=C,S===void 0&&(this.$ms=0,this.parseFromMilliseconds()),I)return y(S*d[m(I)],this);if(typeof S=="number")return this.$ms=S,this.parseFromMilliseconds(),this;if(typeof S=="object")return Object.keys(S).forEach(function(k){O.$d[m(k)]=S[k]}),this.calMilliseconds(),this;if(typeof S=="string"){var L=S.match(f);if(L){var U=L.slice(2).map(function(k){return k!=null?Number(k):0});return this.$d.years=U[0],this.$d.months=U[1],this.$d.weeks=U[2],this.$d.days=U[3],this.$d.hours=U[4],this.$d.minutes=U[5],this.$d.seconds=U[6],this.calMilliseconds(),this}}return this}var M=F.prototype;return M.calMilliseconds=function(){var S=this;this.$ms=Object.keys(this.$d).reduce(function(I,C){return I+(S.$d[C]||0)*d[C]},0)},M.parseFromMilliseconds=function(){var S=this.$ms;this.$d.years=v(S/h),S%=h,this.$d.months=v(S/p),S%=p,this.$d.days=v(S/l),S%=l,this.$d.hours=v(S/a),S%=a,this.$d.minutes=v(S/s),S%=s,this.$d.seconds=v(S/n),S%=n,this.$d.milliseconds=S},M.toISOString=function(){var S=b(this.$d.years,"Y"),I=b(this.$d.months,"M"),C=+this.$d.days||0;this.$d.weeks&&(C+=7*this.$d.weeks);var O=b(C,"D"),L=b(this.$d.hours,"H"),U=b(this.$d.minutes,"M"),k=this.$d.seconds||0;this.$d.milliseconds&&(k+=this.$d.milliseconds/1e3,k=Math.round(1e3*k)/1e3);var W=b(k,"S"),P=S.negative||I.negative||O.negative||L.negative||U.negative||W.negative,G=L.format||U.format||W.format?"T":"",Z=(P?"-":"")+"P"+S.format+I.format+O.format+G+L.format+U.format+W.format;return Z==="P"||Z==="-P"?"P0D":Z},M.toJSON=function(){return this.toISOString()},M.format=function(S){var I=S||"YYYY-MM-DDTHH:mm:ss",C={Y:this.$d.years,YY:r.s(this.$d.years,2,"0"),YYYY:r.s(this.$d.years,4,"0"),M:this.$d.months,MM:r.s(this.$d.months,2,"0"),D:this.$d.days,DD:r.s(this.$d.days,2,"0"),H:this.$d.hours,HH:r.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:r.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:r.s(this.$d.seconds,2,"0"),SSS:r.s(this.$d.milliseconds,3,"0")};return I.replace(c,function(O,L){return L||String(C[O])})},M.as=function(S){return this.$ms/d[m(S)]},M.get=function(S){var I=this.$ms,C=m(S);return C==="milliseconds"?I%=1e3:I=C==="weeks"?v(I/d[C]):this.$d[C],I||0},M.add=function(S,I,C){var O;return O=I?S*d[m(I)]:g(S)?S.$ms:y(S,this).$ms,y(this.$ms+O*(C?-1:1),this)},M.subtract=function(S,I){return this.add(S,I,!0)},M.locale=function(S){var I=this.clone();return I.$l=S,I},M.clone=function(){return y(this.$ms,this)},M.humanize=function(S){return e().add(this.$ms,"ms").locale(this.$l).fromNow(!S)},M.valueOf=function(){return this.asMilliseconds()},M.milliseconds=function(){return this.get("milliseconds")},M.asMilliseconds=function(){return this.as("milliseconds")},M.seconds=function(){return this.get("seconds")},M.asSeconds=function(){return this.as("seconds")},M.minutes=function(){return this.get("minutes")},M.asMinutes=function(){return this.as("minutes")},M.hours=function(){return this.get("hours")},M.asHours=function(){return this.as("hours")},M.days=function(){return this.get("days")},M.asDays=function(){return this.as("days")},M.weeks=function(){return this.get("weeks")},M.asWeeks=function(){return this.as("weeks")},M.months=function(){return this.get("months")},M.asMonths=function(){return this.as("months")},M.years=function(){return this.get("years")},M.asYears=function(){return this.as("years")},F}(),x=function(F,M,S){return F.add(M.years()*S,"y").add(M.months()*S,"M").add(M.days()*S,"d").add(M.hours()*S,"h").add(M.minutes()*S,"m").add(M.seconds()*S,"s").add(M.milliseconds()*S,"ms")};return function(F,M,S){e=S,r=S().$utils(),S.duration=function(O,L){var U=S.locale();return y(O,{$l:U},L)},S.isDuration=g;var I=M.prototype.add,C=M.prototype.subtract;M.prototype.add=function(O,L){return g(O)?x(this,O,1):I.bind(this)(O,L)},M.prototype.subtract=function(O,L){return g(O)?x(this,O,-1):C.bind(this)(O,L)}}})})(eh);var lw=eh.exports,cw=Kt(lw);ee.extend(Sl),ee.extend(ow),ee.extend(uw),ee.extend(cw);class fw{constructor(t,e,r){z(this,"array");z(this,"color");z(this,"math");z(this,"str");z(this,"map");z(this,"matrix");z(this,"timeframe");z(this,"ta");z(this,"input");z(this,"_variables");z(this,"_cacheData");z(this,"_options");z(this,"_errorListener");z(this,"_plots");z(this,"_plotshapes");z(this,"_alerts");z(this,"_bgColors");z(this,"_hlines");z(this,"_fills");z(this,"chart");z(this,"line");z(this,"label");z(this,"polyline");z(this,"box");z(this,"table");z(this,"linefill");z(this,"log");z(this,"runtime");z(this,"strategy");z(this,"_count",0);var s;const n=((s=t.toString().split(".")[1])==null?void 0:s.length)||4;this._variables=e,this._errorListener=new Xy,this.array=new qp(this._errorListener),this.math=new kp(n,this._errorListener),this.color=new _1,this.str=new my(this._errorListener,n),this.map=new gy(this._errorListener),this.timeframe=new _y(e),this.matrix=new dy(this._errorListener),this.ta=new c1(e,this.math,this.timeframe),this._cacheData={},this._options={},this._bgColors={},this._alerts=new Map,this._hlines=new Map,this._fills=new Map,this.input=new d1(e,this._errorListener,r),this._plots=new Map,this._plotshapes=new Map,this.chart={point:new vy(e)},this.line=new Uy(e,this._errorListener),this.label=new yy(e,this._errorListener),this.polyline=new ky(e,this._errorListener),this.box=new jy(e,this._errorListener),this.table=new Yy(e,this._errorListener),this.linefill=new Wy(e),this.log=new Hy(e),this.runtime=new Jy(this._errorListener),this.strategy=new Ky(this._variables,this._options,t,this._errorListener)}get errors(){return this._errorListener.errors}get options(){const t=this.input.getInputs(),e=this._alerts.size?[...this._alerts.values()]:void 0;this._alerts.clear();const r=Object.keys(this._bgColors);let n;if(r.length){n={};for(const f of r)n[f]=[...this._bgColors[f].values()]}const s=this._hlines.size?[...this._hlines.values()]:void 0,a=this._fills.size?[...this._fills.values()]:void 0,l=this.log.logs.length?this.log.logs:void 0;this.log.clearLogs(),this._options.scriptType==="strategy"&&Object.assign(this._options,{orders:this.strategy.orders,historyOrders:this.strategy.historyOrders});const c=[...this._plots.values()],h=this._plotshapes.size>0?[...this._plotshapes.values()]:void 0,p=this._getDraws();return Object.assign(this._options,{inputs:t,plots:c,draws:p,alerts:e,colors:n,hlines:s,fills:a,logs:l,plotshapes:h})}_getDraws(){const{line:t,linefill:e,table:r,box:n,polyline:s,label:a}=this._variables,l={};return t.data.length&&(l.lines=t.data),e.data.length&&(l.linefills=e.data),r.data.length&&(l.tables=r.data),n.data.length&&(l.boxes=n.data),s.data.length&&(l.polylines=s.data),a.data.length&&(l.labels=a.data),Object.keys(l).length?l:void 0}updateOptions(t){const{inputs:e}=t;e&&e.length&&this.input.update(e)}update(t){const{barIndex:e}=t;this.strategy.updateOptions(),this.math.update(e)}endExecution(){this.strategy.endExecution()}library(t,e){if(!this._variables.bar_index){const r=/^[^\W\d\s][^\W\s]*$/,{title:n}=t;r.test(n)?(p1.includes(n)||h1.includes(n))&&this._errorListener.addError(Qe(Ye.libraryTitleIsKeywordErr,{name:n}),e,jt.Error):this._errorListener.addError(Ye.libraryTitleErr,e,jt.Error),this._options.scriptType="library",this._options.library=t}}indicator(t,e){if(!this._variables.bar_index){const{format:r}=t;this._paramVerfiy(r,e,"indicator",[Gt.inherit,Gt.percent,Gt.price,Gt.volume]),this._variables.updateMaxLength(t),this._options.scriptType="indicator",this._options.indicator=t}}_paramVerfiy(t="",e,r,n,s="format"){t&&!n.includes(t)&&this._errorListener.addError(Qe(Ye.paramsErr,{value:t,func:r,param:s,targetVal:`[${n.join(", ")}]`}),e,jt.Error)}plot(t,e){const{series:r,color:n,seriesColors:s,...a}=t,{bar_index:l,time:c}=this._variables,h=`plot_${e}`,p=this._plots.get(h),f=(p==null?void 0:p.data)||[],d=r!==void 0&&isNaN(r)?void 0:r;if(f[l]={value:[c,d],itemStyle:{color:n}},s!=null&&s.length&&this._seriesColorHandle(t,p),!p){this._count++,this._paramVerfiy(t.format,e,"plot",[Gt.percent,Gt.price,Gt.volume]);const g=n?[n]:void 0;this._plots.set(h,{editable:!0,...a,colors:g,data:f,id:h,zIndex:this._count})}return{type:"plot",key:h}}plotbar(t,e){const{open:r,close:n,low:s,high:a,color:l,seriesColors:c,...h}=t,{bar_index:p,time:f}=this._variables,d=`plotbar_${e}`,g=this._plots.get(d),y=(g==null?void 0:g.data)||[],m=n!==void 0&&isNaN(n)?void 0:n,D=r!==void 0&&isNaN(r)?void 0:r,v=s!==void 0&&isNaN(s)?void 0:s,E=a!==void 0&&isNaN(a)?void 0:a,b=[f,D,m,v,E];if(y[p]={value:b,itemStyle:{color:l}},c!=null&&c.length&&this._seriesColorHandle(t,g),!g){this._count++,this._paramVerfiy(t.format,e,"plotbar",[Gt.percent,Gt.price,Gt.volume]);const N=l?[l]:void 0;this._plots.set(d,{editable:!0,...h,colors:N,data:y,id:d,zIndex:this._count})}}_verfiyArgs(t,e,r){const{size:n,format:s,location:a,style:l}=t;this._paramVerfiy(l,r,e,Object.values(ir),"style"),this._paramVerfiy(a,r,e,Object.values(on),"location"),this._paramVerfiy(n,r,e,Object.values(tr),"size"),this._paramVerfiy(s,r,e,[Gt.percent,Gt.price,Gt.volume],"format")}plotchar(t,e){const{series:r,color:n,seriesColors:s,textcolor:a,location:l=on.abovebar,...c}=t,{bar_index:h,time:p,high:f,low:d}=this._variables,g=`plotchar_${e}`,y=this._plots.get(g),m=(y==null?void 0:y.data)||[],D={value:r,time:p,color:n,textcolor:a,low:d,high:f};m[h]=D,s!=null&&s.length&&this._seriesColorHandle(t,y),y||(this._count++,this._verfiyArgs(t,"plotchar",e),this._plots.set(g,{editable:!0,...c,location:l,data:m,id:g,zIndex:this._count}))}plotarrow(t,e){const{series:r,colorup:n,colordown:s,...a}=t,{bar_index:l}=this._variables,c=`plotarrow_${e}`,h=this._plots.get(c),p=(h==null?void 0:h.data)||[];p[l]={value:r!==void 0&&isNaN(r)?void 0:r,colorup:n,colordown:s},h||(this._count++,this._paramVerfiy(t.format,e,"plotarrow",[Gt.percent,Gt.price,Gt.volume]),this._plots.set(c,{editable:!0,...a,data:p,id:c,zIndex:this._count}))}plotshape(t,e){const{series:r,seriesColors:n,color:s,textcolor:a,location:l=on.abovebar,...c}=t,{bar_index:h,time:p,low:f,high:d}=this._variables,g=`plotshape_${e}`,y=this._plotshapes.get(g),m=(y==null?void 0:y.data)||[],D={value:r,color:s,textcolor:a,time:p,low:f,high:d};if(m[h]=D,n!=null&&n.length&&this._seriesColorHandle(t,y),!y){this._count++;const v=s?[s]:void 0;this._verfiyArgs(t,"plotshape",e),this._plotshapes.set(g,{editable:!0,...c,data:m,location:l,id:g,colors:v,zIndex:this._count})}}plotcandle(t,e){const{wickcolor:r,bordercolor:n,color:s,close:a,open:l,low:c,high:h,...p}=t,{bar_index:f,time:d}=this._variables,g=`plotcandle_${e}`,y=this._plots.get(g),m=(y==null?void 0:y.data)||[],D=a!==void 0&&isNaN(a)?void 0:a,v=l!==void 0&&isNaN(l)?void 0:l,E=c!==void 0&&isNaN(c)?void 0:c,b=h!==void 0&&isNaN(h)?void 0:h,N=[d,v,D,E,b];m[f]={value:N,wickcolor:r,bordercolor:n,color:s},y||(this._count++,this._paramVerfiy(t.format,e,"plotcandle",[Gt.percent,Gt.price,Gt.volume]),this._plots.set(g,{editable:!0,...p,data:m,id:g,zIndex:this._count}))}hline(t,e){const r=`hline_${e}`;this._verifyDisplay(t.display,"hline",e);const n=t.display&&!t.display.length?Ue.none:Ue.all;return this._hlines.has(r)||(this._count++,this._hlines.set(r,{id:r,linewidth:1,editable:!0,display:n,...t,zIndex:this._count})),{type:"hline",key:r}}fill(t,e){var x,F,M,S,I,C,O,L;const{color:r,top_color:n,bottom_color:s,seriesColors:a,hline1:l,hline2:c,plot1:h,plot2:p,...f}=t,{bar_index:d,time:g}=this._variables,y=`fill_${e}`,m=this._fills.get(y),D=(m==null?void 0:m.data)||[];this._verifyDisplay(t.display,"fill",e);const v=t.display&&!t.display.length?Ue.none:Ue.all;let E,b,N="plot";if(l&&c)E=(x=this._hlines.get(l==null?void 0:l.key))==null?void 0:x.price,b=(F=this._hlines.get(c==null?void 0:c.key))==null?void 0:F.price,N="hline";else{const U=((M=this._plots.get(h==null?void 0:h.key))==null?void 0:M.data)||[],k=((S=this._plots.get(p==null?void 0:p.key))==null?void 0:S.data)||[];E=(C=(I=U[d])==null?void 0:I.value)==null?void 0:C[1],b=(L=(O=k[d])==null?void 0:O.value)==null?void 0:L[1]}if(D[d]={time:g,color:r,top_color:n,bottom_color:s,plot1:E,plot2:b},a!=null&&a.length&&this._seriesColorHandle(t,m),!m){this._count++;const U=r?[r]:void 0,k=n?[n]:void 0,W=s?[s]:void 0;this._fills.set(y,{id:y,colors:U,top_colors:k,bottom_colors:W,display:v,data:D,type:N,editable:!0,fillgaps:!1,...f,zIndex:this._count})}}alert({message:t,freq:e=qr.freqOncePerBar},r){const{bar_index:n,_isRealTimeBar:s,last_bar_index:a}=this._variables,l=`alert_${r}`,c=this._cacheData[l].barIndex;if(this._paramVerfiy(e,r,"alert",[qr.freqAll,qr.freqOncePerBar,qr.freqOncePerBarClose]),e===qr.freqOncePerBar&&n===c){this._alerts.delete(l);return}const h={message:t,freq:e,id:l,type:"alert"};if(s){e!==qr.freqOncePerBarClose&&this._alerts.set(l,h),this._cacheData[l].barIndex=n;return}if(!s&&e===qr.freqOncePerBarClose&&n===c&&a===n-1){this._alerts.set(l,h),this._cacheData[l].barIndex=n;return}this._alerts.delete(l)}alertcondition({condition:t,message:e,title:r},n){const{_isRealTimeBar:s}=this._variables,a=`alertcondition_${n}`;s&&t?this._alerts.set(a,{message:e,title:r,id:a,type:"alertcondition"}):this._alerts.delete(a)}barcolor(t,e){this._setColors(t,"barcolor",e)}bgcolor(t,e){this._setColors(t,"bgcolor",e)}_verifyDisplay(t=Jf.all,e,r){t.length&&t.length<4&&this._errorListener.addError(Qe(Ye.displayErr,{func:e,values:"[display.none, display.all]"}),r,jt.Error)}_setColors(t,e,r){const{color:n,seriesColors:s,...a}=t;this._verifyDisplay(a.display,e,r);const l=t.display&&!t.display.length?Ue.none:Ue.all,{bar_index:c,time:h}=this._variables,p=`${e}_${r}`;this._bgColors[e]||(this._bgColors[e]=new Map);const f=this._bgColors[e].get(p),d=(f==null?void 0:f.colors)||[],g=(f==null?void 0:f.setColors)||[];g.includes(n)||g.push(n),d[c]={color:n,time:h},f||this._bgColors[e].set(p,{...a,display:l,colors:d,setColors:g,id:p})}max_bars_back({var:t,num:e,var_name:r}){console.log(t,e,r)}float({x:t}){return t}bool({x:t}){return t||!1}string({x:t}){return t}int({x:t}){return t&&Math.trunc(t)}na({x:t}){return t===void 0}fixnan({source:t},e){return t===void 0||isNaN(t)?this._cacheData[`fixnan_${e}`]:(this._cacheData[`fixnan_${e}`]=t,t)}nz({source:t,replacement:e}){return t!==void 0&&!isNaN(t)?t:e||0}time({timeframe:t="",session:e,timezone:r,bars_back:n=0},s){return this._timeHandle(this._variables.time,s,t,e,r,n)}time_close({timeframe:t="",session:e,timezone:r,bars_back:n=0},s){return this._variables.time_close&&this._timeHandle(this._variables.time_close,s,t,e,r,n)}timestamp(t){const{dateString:e,timezone:r,year:n,month:s,day:a,hour:l=0,minute:c=0,second:h=0}=t;if(e)return ee(e).utc(!/GMT|UTC/.test(e)).valueOf();let p=s-1,f=n;if(p<0){const g=Math.ceil(Math.abs(p/12));p=12*g+p,f=n-g}let d=ee({year:f,month:p,day:a,hour:l,minute:c,second:h});return r&&(d=zr(d.utc(!0).valueOf(),r)),d.utc(!0).valueOf()}weekofyear({time:t,timezone:e}){return zr(t,e).week()}year({time:t,timezone:e}){return zr(t,e).year()}second({time:t,timezone:e}){return zr(t,e).second()}month({time:t,timezone:e}){return zr(t,e).month()+1}minute({time:t,timezone:e}){return zr(t,e).minute()}hour({time:t,timezone:e}){return zr(t,e).hour()}dayofweek({time:t,timezone:e}){return zr(t,e).day()+1}dayofmonth({time:t,timezone:e}){return zr(t,e).date()}_calcTimeOffset(t,e){const r=this._variables.getTimeTradingday(t,e),n=sn(e)*1e3;return t-r-Math.floor((t-r)/n)*n}_timeHandle(t,e,r="",n,s,a=0){const l=r||this._variables.timeframe.period,c=sn(l),h=sn(this._variables.timeframe.period);let p;if(c<=h)p=t;else{const f=`time_${e}`,d=this._cacheData[f];if(d)d.currentTime+c*1e3-d.offset<=t?(p=t,this._cacheData[f]={currentTime:t,offset:0}):p=d;else{const g=this._calcTimeOffset(t,l);this._cacheData[f]={currentTime:t,offset:g},p=t}}if(n){const{timePeriods:f,weeks:d}=this._parserSession(n,e),g=ee(t).format("YYYY-MM-DD"),y=p;p=void 0;for(const D of f){const[v,E]=D;if(ee(t).isBetween(`${g} ${v}`,`${g} ${E}`,"hour")){ee(y).isBetween(`${g} ${v}`,`${g} ${E}`,"hour")?p=y:p=ee(`${g} ${v}`).valueOf();break}}const m=this._variables.dayofweek;p&&!d.includes(m)&&(p=void 0)}return s&&(p=p&&zr(p,s).valueOf()),p&&p-a*h*1e3}_seriesColorHandle(t,e){var n,s;const{seriesColors:r}=t;if(e&&r!=null&&r.length)for(const a of r){if((n=e.gradientColorKeys)!=null&&n.includes(a))continue;const l=t[a],c=e[`${a}s`]||[];c.includes(l)||(c.push(l),e[`${a}s`]=c,c.length>5&&(e[`${a}s`]=[],(s=e.gradientColorKeys)==null||s.push(a)))}}_parserSession(t,e){const r=t.split(":"),n=r[0],a=(r[1]||"1234567").split("").map(c=>{const h=parseInt(c,10);if(h<1||h>7){this._errorListener.addError(`Invalid day of week: ${c}`,e,jt.Error);return}return h});return{timePeriods:n.split(",").map(c=>{const h=c.split("-");return h.length!==2?(this._errorListener.addError(`Invalid time period: ${c}`,e,jt.Error),[]):[this._processTime(h[0],e),this._processTime(h[1],e)]}),weeks:a}}_processTime(t,e){const r=parseInt(t.slice(0,2),10),n=parseInt(t.slice(2),10);if(!(r>=0&&r<=23)&&n>=0&&n<=59){this._errorListener.addError("Invalid time: Time must be within 00:00 to 23:59",e,jt.Error);return}return`${r}:${n}`}}/**
63
63
  * @license
64
64
  * Copyright 2019 Google LLC
65
65
  * SPDX-License-Identifier: Apache-2.0
66
- */const rh=Symbol("Comlink.proxy"),hy=Symbol("Comlink.endpoint"),py=Symbol("Comlink.releaseProxy"),Ua=Symbol("Comlink.finalizer"),lo=Symbol("Comlink.thrown"),nh=i=>typeof i=="object"&&i!==null||typeof i=="function",dy={canHandle:i=>nh(i)&&i[rh],serialize(i){const{port1:t,port2:e}=new MessageChannel;return Wa(i,t),[e,[e]]},deserialize(i){return i.start(),vy(i)}},_y={canHandle:i=>nh(i)&&lo in i,serialize({value:i}){let t;return i instanceof Error?t={isError:!0,value:{message:i.message,name:i.name,stack:i.stack}}:t={isError:!1,value:i},[t,[]]},deserialize(i){throw i.isError?Object.assign(new Error(i.value.message),i.value):i.value}},ih=new Map([["proxy",dy],["throw",_y]]);function my(i,t){for(const e of i)if(t===e||e==="*"||e instanceof RegExp&&e.test(t))return!0;return!1}function Wa(i,t=globalThis,e=["*"]){t.addEventListener("message",function r(n){if(!n||!n.data)return;if(!my(e,n.origin)){console.warn(`Invalid origin '${n.origin}' for comlink proxy`);return}const{id:s,type:a,path:l}=Object.assign({path:[]},n.data),c=(n.data.argumentList||[]).map(Qn);let h;try{const p=l.slice(0,-1).reduce((d,g)=>d[g],i),f=l.reduce((d,g)=>d[g],i);switch(a){case"GET":h=f;break;case"SET":p[l.slice(-1)[0]]=Qn(n.data.value),h=!0;break;case"APPLY":h=f.apply(p,c);break;case"CONSTRUCT":{const d=new f(...c);h=Ey(d)}break;case"ENDPOINT":{const{port1:d,port2:g}=new MessageChannel;Wa(i,g),h=by(d,[d])}break;case"RELEASE":h=void 0;break;default:return}}catch(p){h={value:p,[lo]:0}}Promise.resolve(h).catch(p=>({value:p,[lo]:0})).then(p=>{const[f,d]=po(p);t.postMessage(Object.assign(Object.assign({},f),{id:s}),d),a==="RELEASE"&&(t.removeEventListener("message",r),sh(t),Ua in i&&typeof i[Ua]=="function"&&i[Ua]())}).catch(p=>{const[f,d]=po({value:new TypeError("Unserializable return value"),[lo]:0});t.postMessage(Object.assign(Object.assign({},f),{id:s}),d)})}),t.start&&t.start()}function gy(i){return i.constructor.name==="MessagePort"}function sh(i){gy(i)&&i.close()}function vy(i,t){return ja(i,[],t)}function co(i){if(i)throw new Error("Proxy has been released and is not useable")}function oh(i){return Ci(i,{type:"RELEASE"}).then(()=>{sh(i)})}const fo=new WeakMap,ho="FinalizationRegistry"in globalThis&&new FinalizationRegistry(i=>{const t=(fo.get(i)||0)-1;fo.set(i,t),t===0&&oh(i)});function wy(i,t){const e=(fo.get(t)||0)+1;fo.set(t,e),ho&&ho.register(i,t,i)}function yy(i){ho&&ho.unregister(i)}function ja(i,t=[],e=function(){}){let r=!1;const n=new Proxy(e,{get(s,a){if(co(r),a===py)return()=>{yy(n),oh(i),r=!0};if(a==="then"){if(t.length===0)return{then:()=>n};const l=Ci(i,{type:"GET",path:t.map(c=>c.toString())}).then(Qn);return l.then.bind(l)}return ja(i,[...t,a])},set(s,a,l){co(r);const[c,h]=po(l);return Ci(i,{type:"SET",path:[...t,a].map(p=>p.toString()),value:c},h).then(Qn)},apply(s,a,l){co(r);const c=t[t.length-1];if(c===hy)return Ci(i,{type:"ENDPOINT"}).then(Qn);if(c==="bind")return ja(i,t.slice(0,-1));const[h,p]=ah(l);return Ci(i,{type:"APPLY",path:t.map(f=>f.toString()),argumentList:h},p).then(Qn)},construct(s,a){co(r);const[l,c]=ah(a);return Ci(i,{type:"CONSTRUCT",path:t.map(h=>h.toString()),argumentList:l},c).then(Qn)}});return wy(n,i),n}function Dy(i){return Array.prototype.concat.apply([],i)}function ah(i){const t=i.map(po);return[t.map(e=>e[0]),Dy(t.map(e=>e[1]))]}const uh=new WeakMap;function by(i,t){return uh.set(i,t),i}function Ey(i){return Object.assign(i,{[rh]:!0})}function po(i){for(const[t,e]of ih)if(e.canHandle(i)){const[r,n]=e.serialize(i);return[{type:"HANDLER",name:t,value:r},n]}return[{type:"RAW",value:i},uh.get(i)||[]]}function Qn(i){switch(i.type){case"HANDLER":return ih.get(i.name).deserialize(i.value);case"RAW":return i.value}}function Ci(i,t,e){return new Promise(r=>{const n=xy();i.addEventListener("message",function s(a){!a.data||!a.data.id||a.data.id!==n||(i.removeEventListener("message",s),r(a.data))}),i.start&&i.start(),i.postMessage(Object.assign({id:n},t),e)})}function xy(){return new Array(4).fill(0).map(()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)).join("-")}class Ay{constructor(){z(this,"_cache");this._cache=new Map}set(t,e){this._cache.set(t,e)}setValue(t,e,r){const n=this._cache.get(t)||{};n[e]=r,this._cache.set(t,n)}updateValue(t,e,r){const n=this._cache.get(t)||{};this._cache.set(t,Object.assign(n[e]||{},r))}get(t){return this._cache.get(t)}has(t){return this._cache.has(t)}delete(t){this._cache.delete(t)}clear(){this._cache.clear()}}function Cy(i,t,e){const{data:r,isPreParser:n,id:s="default",syminfo:a,interval:l,inputs:c}=t;self.workerStorage||(self.workerStorage=new Ay);let{builtInGather:h,buildinConstants:p,buildInFunctions:f,tradingvueFunc:d}=self.workerStorage.get(s)||{};if(e&&(h=new iy,p=new qw,f=new fy((a==null?void 0:a.mintick)||1e-4,h,s),d=new Function("$_var","$_const","$_func",i),self.workerStorage.set(s,{builtInGather:h,buildinConstants:p,buildInFunctions:f,tradingvueFunc:d})),n)d(h,p,f);else if(r&&r.length){const w=r.length-1;h.updateOptions({interval:l}),f.updateOptions({inputs:c});for(const[m,D]of r.entries()){const{barindex:v}=D;h.updateData(Object.assign(D,{barIndex:v||m,lastBarIndex:r[w].bar_index||w,lastBarTime:r[w].time})),f.update({barIndex:v||m}),d(h,p,f),f.endExecution();const E=f.errors;if(E.length&&E.some(b=>b.type===jt.Error))return{status:1,errors:E}}}const g=f.errors;return g.length&&g.some(w=>w.type===jt.Error)?{status:1,errors:g}:{status:0,options:{...f.options,id:s}}}function Fy(i){self==null||self.workerStorage.delete(i),self==null||self.workerStorage.delete(`inputs_${i}`)}Wa({runScript:Cy,removeScript:Fy})})();
66
+ */const rh=Symbol("Comlink.proxy"),hw=Symbol("Comlink.endpoint"),pw=Symbol("Comlink.releaseProxy"),Ua=Symbol("Comlink.finalizer"),lo=Symbol("Comlink.thrown"),nh=i=>typeof i=="object"&&i!==null||typeof i=="function",dw={canHandle:i=>nh(i)&&i[rh],serialize(i){const{port1:t,port2:e}=new MessageChannel;return Wa(i,t),[e,[e]]},deserialize(i){return i.start(),vw(i)}},_w={canHandle:i=>nh(i)&&lo in i,serialize({value:i}){let t;return i instanceof Error?t={isError:!0,value:{message:i.message,name:i.name,stack:i.stack}}:t={isError:!1,value:i},[t,[]]},deserialize(i){throw i.isError?Object.assign(new Error(i.value.message),i.value):i.value}},ih=new Map([["proxy",dw],["throw",_w]]);function mw(i,t){for(const e of i)if(t===e||e==="*"||e instanceof RegExp&&e.test(t))return!0;return!1}function Wa(i,t=globalThis,e=["*"]){t.addEventListener("message",function r(n){if(!n||!n.data)return;if(!mw(e,n.origin)){console.warn(`Invalid origin '${n.origin}' for comlink proxy`);return}const{id:s,type:a,path:l}=Object.assign({path:[]},n.data),c=(n.data.argumentList||[]).map(Qn);let h;try{const p=l.slice(0,-1).reduce((d,g)=>d[g],i),f=l.reduce((d,g)=>d[g],i);switch(a){case"GET":h=f;break;case"SET":p[l.slice(-1)[0]]=Qn(n.data.value),h=!0;break;case"APPLY":h=f.apply(p,c);break;case"CONSTRUCT":{const d=new f(...c);h=Ew(d)}break;case"ENDPOINT":{const{port1:d,port2:g}=new MessageChannel;Wa(i,g),h=bw(d,[d])}break;case"RELEASE":h=void 0;break;default:return}}catch(p){h={value:p,[lo]:0}}Promise.resolve(h).catch(p=>({value:p,[lo]:0})).then(p=>{const[f,d]=po(p);t.postMessage(Object.assign(Object.assign({},f),{id:s}),d),a==="RELEASE"&&(t.removeEventListener("message",r),sh(t),Ua in i&&typeof i[Ua]=="function"&&i[Ua]())}).catch(p=>{const[f,d]=po({value:new TypeError("Unserializable return value"),[lo]:0});t.postMessage(Object.assign(Object.assign({},f),{id:s}),d)})}),t.start&&t.start()}function gw(i){return i.constructor.name==="MessagePort"}function sh(i){gw(i)&&i.close()}function vw(i,t){return ja(i,[],t)}function co(i){if(i)throw new Error("Proxy has been released and is not useable")}function oh(i){return Ci(i,{type:"RELEASE"}).then(()=>{sh(i)})}const fo=new WeakMap,ho="FinalizationRegistry"in globalThis&&new FinalizationRegistry(i=>{const t=(fo.get(i)||0)-1;fo.set(i,t),t===0&&oh(i)});function yw(i,t){const e=(fo.get(t)||0)+1;fo.set(t,e),ho&&ho.register(i,t,i)}function ww(i){ho&&ho.unregister(i)}function ja(i,t=[],e=function(){}){let r=!1;const n=new Proxy(e,{get(s,a){if(co(r),a===pw)return()=>{ww(n),oh(i),r=!0};if(a==="then"){if(t.length===0)return{then:()=>n};const l=Ci(i,{type:"GET",path:t.map(c=>c.toString())}).then(Qn);return l.then.bind(l)}return ja(i,[...t,a])},set(s,a,l){co(r);const[c,h]=po(l);return Ci(i,{type:"SET",path:[...t,a].map(p=>p.toString()),value:c},h).then(Qn)},apply(s,a,l){co(r);const c=t[t.length-1];if(c===hw)return Ci(i,{type:"ENDPOINT"}).then(Qn);if(c==="bind")return ja(i,t.slice(0,-1));const[h,p]=ah(l);return Ci(i,{type:"APPLY",path:t.map(f=>f.toString()),argumentList:h},p).then(Qn)},construct(s,a){co(r);const[l,c]=ah(a);return Ci(i,{type:"CONSTRUCT",path:t.map(h=>h.toString()),argumentList:l},c).then(Qn)}});return yw(n,i),n}function Dw(i){return Array.prototype.concat.apply([],i)}function ah(i){const t=i.map(po);return[t.map(e=>e[0]),Dw(t.map(e=>e[1]))]}const uh=new WeakMap;function bw(i,t){return uh.set(i,t),i}function Ew(i){return Object.assign(i,{[rh]:!0})}function po(i){for(const[t,e]of ih)if(e.canHandle(i)){const[r,n]=e.serialize(i);return[{type:"HANDLER",name:t,value:r},n]}return[{type:"RAW",value:i},uh.get(i)||[]]}function Qn(i){switch(i.type){case"HANDLER":return ih.get(i.name).deserialize(i.value);case"RAW":return i.value}}function Ci(i,t,e){return new Promise(r=>{const n=xw();i.addEventListener("message",function s(a){!a.data||!a.data.id||a.data.id!==n||(i.removeEventListener("message",s),r(a.data))}),i.start&&i.start(),i.postMessage(Object.assign({id:n},t),e)})}function xw(){return new Array(4).fill(0).map(()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)).join("-")}class Aw{constructor(){z(this,"_cache");this._cache=new Map}set(t,e){this._cache.set(t,e)}setValue(t,e,r){const n=this._cache.get(t)||{};n[e]=r,this._cache.set(t,n)}updateValue(t,e,r){const n=this._cache.get(t)||{};this._cache.set(t,Object.assign(n[e]||{},r))}get(t){return this._cache.get(t)}has(t){return this._cache.has(t)}delete(t){this._cache.delete(t)}clear(){this._cache.clear()}}function Cw(i,t,e){const{data:r,isPreParser:n,id:s="default",syminfo:a,interval:l,inputs:c}=t;self.workerStorage||(self.workerStorage=new Aw);let{builtInGather:h,buildinConstants:p,buildInFunctions:f,tradingvueFunc:d}=self.workerStorage.get(s)||{};if(e&&(h=new iw,p=new qy,f=new fw((a==null?void 0:a.mintick)||1e-4,h,s),d=new Function("$_var","$_const","$_func",i),self.workerStorage.set(s,{builtInGather:h,buildinConstants:p,buildInFunctions:f,tradingvueFunc:d})),n)d(h,p,f);else if(r&&r.length){const y=r.length-1;h.updateOptions({interval:l}),f.updateOptions({inputs:c});for(const[m,D]of r.entries()){const{barindex:v}=D;h.updateData(Object.assign(D,{barIndex:v||m,lastBarIndex:r[y].bar_index||y,lastBarTime:r[y].time})),f.update({barIndex:v||m}),d(h,p,f),f.endExecution();const E=f.errors;if(E.length&&E.some(b=>b.type===jt.Error))return{status:1,errors:E}}}const g=f.errors;return g.length&&g.some(y=>y.type===jt.Error)?{status:1,errors:g}:{status:0,options:{...f.options,id:s}}}function Fw(i){self==null||self.workerStorage.delete(i),self==null||self.workerStorage.delete(`inputs_${i}`)}Wa({runScript:Cw,removeScript:Fw})})();