@guihz/trading-vue-editor-tes 0.0.47 → 0.0.48

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.
@@ -1,66 +1,66 @@
1
- var M2=Object.defineProperty;var N2=(jt,Zt,be)=>Zt in jt?M2(jt,Zt,{enumerable:!0,configurable:!0,writable:!0,value:be}):jt[Zt]=be;var z=(jt,Zt,be)=>(N2(jt,typeof Zt!="symbol"?Zt+"":Zt,be),be),yl=(jt,Zt,be)=>{if(!Zt.has(jt))throw TypeError("Cannot "+be)};var kr=(jt,Zt,be)=>(yl(jt,Zt,"read from private field"),be?be.call(jt):Zt.get(jt)),Dl=(jt,Zt,be)=>{if(Zt.has(jt))throw TypeError("Cannot add the same private member more than once");Zt instanceof WeakSet?Zt.add(jt):Zt.set(jt,be)},ra=(jt,Zt,be,Ln)=>(yl(jt,Zt,"write to private field"),Ln?Ln.call(jt,be):Zt.set(jt,be),be);var bl=(jt,Zt,be)=>(yl(jt,Zt,"access private method"),be);(function(){"use strict";var Vi,El,bi,We;var jt=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Zt(i){return i&&i.__esModule&&Object.prototype.hasOwnProperty.call(i,"default")?i.default:i}function be(i){if(i.__esModule)return i;var t=i.default;if(typeof t=="function"){var e=function r(){return this instanceof r?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};e.prototype=t.prototype}else e={};return Object.defineProperty(e,"__esModule",{value:!0}),Object.keys(i).forEach(function(r){var n=Object.getOwnPropertyDescriptor(i,r);Object.defineProperty(e,r,n.get?n:{enumerable:!0,get:function(){return i[r]}})}),e}var Ln={exports:{}};/**
1
+ var N2=Object.defineProperty;var S2=(jt,Zt,be)=>Zt in jt?N2(jt,Zt,{enumerable:!0,configurable:!0,writable:!0,value:be}):jt[Zt]=be;var z=(jt,Zt,be)=>(S2(jt,typeof Zt!="symbol"?Zt+"":Zt,be),be),Dl=(jt,Zt,be)=>{if(!Zt.has(jt))throw TypeError("Cannot "+be)};var Ur=(jt,Zt,be)=>(Dl(jt,Zt,"read from private field"),be?be.call(jt):Zt.get(jt)),bl=(jt,Zt,be)=>{if(Zt.has(jt))throw TypeError("Cannot add the same private member more than once");Zt instanceof WeakSet?Zt.add(jt):Zt.set(jt,be)},na=(jt,Zt,be,Rn)=>(Dl(jt,Zt,"write to private field"),Rn?Rn.call(jt,be):Zt.set(jt,be),be);var El=(jt,Zt,be)=>(Dl(jt,Zt,"access private method"),be);(function(){"use strict";var Vi,xl,Ei,We;var jt=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Zt(i){return i&&i.__esModule&&Object.prototype.hasOwnProperty.call(i,"default")?i.default:i}function be(i){if(i.__esModule)return i;var t=i.default;if(typeof t=="function"){var e=function r(){return this instanceof r?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};e.prototype=t.prototype}else e={};return Object.defineProperty(e,"__esModule",{value:!0}),Object.keys(i).forEach(function(r){var n=Object.getOwnPropertyDescriptor(i,r);Object.defineProperty(e,r,n.get?n:{enumerable:!0,get:function(){return i[r]}})}),e}var Rn={exports:{}};/**
2
2
  * @license
3
3
  * Lodash <https://lodash.com/>
4
4
  * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
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
- */Ln.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`",f="__lodash_hash_undefined__",h=500,p="__lodash_placeholder__",c=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,O=512,C=30,T="...",L=800,U=16,k=1,W=2,P=3,K=1/0,G=9007199254740991,V=17976931348623157e292,tt=NaN,ft=4294967295,vt=ft-1,lt=ft>>>1,yt=[["ary",M],["bind",D],["bindKey",v],["curry",b],["curryRight",N],["flip",O],["partial",x],["partialRight",F],["rearg",S]],bt="[object Arguments]",Bt="[object Array]",Et="[object AsyncFunction]",ne="[object Boolean]",It="[object Date]",Nt="[object DOMException]",se="[object Error]",Qt="[object Function]",qt="[object GeneratorFunction]",Kt="[object Map]",Ne="[object Number]",ur="[object Null]",Be="[object Object]",rn="[object Promise]",En="[object Proxy]",nn="[object RegExp]",lr="[object Set]",xn="[object String]",$="[object Symbol]",Z="[object Undefined]",H="[object WeakMap]",nt="[object WeakSet]",st="[object ArrayBuffer]",rt="[object DataView]",ct="[object Float32Array]",ut="[object Float64Array]",ht="[object Int8Array]",at="[object Int16Array]",Ht="[object Int32Array]",te="[object Uint8Array]",_e="[object Uint8ClampedArray]",Le="[object Uint16Array]",Te="[object Uint32Array]",fr=/\b__p \+= '';/g,cr=/\b(__p \+=) '' \+/g,An=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Kn=/&(?:amp|lt|gt|quot|#39);/g,co=/[&<>"']/g,ka=RegExp(Kn.source),Ua=RegExp(co.source),Wa=/<%-([\s\S]+?)%>/g,ja=/<%([\s\S]+?)%>/g,ho=/<%=([\s\S]+?)%>/g,Ya=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Za=/^\w*$/,Ga=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Qi=/[\\^$.*+?()[\]{}|]/g,Ka=RegExp(Qi.source),ts=/^\s+/,Ha=/\s/,Ja=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Xa=/\{\n\/\* \[wrapped with (.+)\] \*/,Va=/,? & /,Qa=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,tu=/[()=,{}\[\]\/\s]/,eu=/\\(\\)?/g,ru=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,po=/\w*$/,nu=/^[-+]0x[0-9a-f]+$/i,iu=/^0b[01]+$/i,su=/^\[object .+?Constructor\]$/,ou=/^0o[0-7]+$/i,au=/^(?:0|[1-9]\d*)$/,uu=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Ei=/($^)/,Hn=/['\n\r\u2028\u2029\\]/g,Yt="\\ud800-\\udfff",je="\\u0300-\\u036f",lu="\\ufe20-\\ufe2f",xi="\\u20d0-\\u20ff",Cn=je+lu+xi,_o="\\u2700-\\u27bf",ih="a-z\\xdf-\\xf6\\xf8-\\xff",xy="\\xac\\xb1\\xd7\\xf7",Ay="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Cy="\\u2000-\\u206f",Fy=" \\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",sh="A-Z\\xc0-\\xd6\\xd8-\\xde",oh="\\ufe0e\\ufe0f",ah=xy+Ay+Cy+Fy,fu="['’]",My="["+Yt+"]",uh="["+ah+"]",mo="["+Cn+"]",lh="\\d+",Ny="["+_o+"]",fh="["+ih+"]",ch="[^"+Yt+ah+lh+_o+ih+sh+"]",cu="\\ud83c[\\udffb-\\udfff]",Sy="(?:"+mo+"|"+cu+")",hh="[^"+Yt+"]",hu="(?:\\ud83c[\\udde6-\\uddff]){2}",pu="[\\ud800-\\udbff][\\udc00-\\udfff]",Ai="["+sh+"]",ph="\\u200d",dh="(?:"+fh+"|"+ch+")",By="(?:"+Ai+"|"+ch+")",_h="(?:"+fu+"(?:d|ll|m|re|s|t|ve))?",mh="(?:"+fu+"(?:D|LL|M|RE|S|T|VE))?",gh=Sy+"?",vh="["+oh+"]?",Ty="(?:"+ph+"(?:"+[hh,hu,pu].join("|")+")"+vh+gh+")*",Iy="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Oy="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",wh=vh+gh+Ty,$y="(?:"+[Ny,hu,pu].join("|")+")"+wh,Ly="(?:"+[hh+mo+"?",mo,hu,pu,My].join("|")+")",Ry=RegExp(fu,"g"),Py=RegExp(mo,"g"),du=RegExp(cu+"(?="+cu+")|"+Ly+wh,"g"),zy=RegExp([Ai+"?"+fh+"+"+_h+"(?="+[uh,Ai,"$"].join("|")+")",By+"+"+mh+"(?="+[uh,Ai+dh,"$"].join("|")+")",Ai+"?"+dh+"+"+_h,Ai+"+"+mh,Oy,Iy,lh,$y].join("|"),"g"),qy=RegExp("["+ph+Yt+Cn+oh+"]"),ky=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Uy=["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"],Wy=-1,he={};he[ct]=he[ut]=he[ht]=he[at]=he[Ht]=he[te]=he[_e]=he[Le]=he[Te]=!0,he[bt]=he[Bt]=he[st]=he[ne]=he[rt]=he[It]=he[se]=he[Qt]=he[Kt]=he[Ne]=he[Be]=he[nn]=he[lr]=he[xn]=he[H]=!1;var fe={};fe[bt]=fe[Bt]=fe[st]=fe[rt]=fe[ne]=fe[It]=fe[ct]=fe[ut]=fe[ht]=fe[at]=fe[Ht]=fe[Kt]=fe[Ne]=fe[Be]=fe[nn]=fe[lr]=fe[xn]=fe[$]=fe[te]=fe[_e]=fe[Le]=fe[Te]=!0,fe[se]=fe[Qt]=fe[H]=!1;var jy={À:"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"},Yy={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},Zy={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"},Gy={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Ky=parseFloat,Hy=parseInt,yh=typeof jt=="object"&&jt&&jt.Object===Object&&jt,Jy=typeof self=="object"&&self&&self.Object===Object&&self,qe=yh||Jy||Function("return this")(),_u=t&&!t.nodeType&&t,Jn=_u&&!0&&i&&!i.nodeType&&i,Dh=Jn&&Jn.exports===_u,mu=Dh&&yh.process,br=function(){try{var j=Jn&&Jn.require&&Jn.require("util").types;return j||mu&&mu.binding&&mu.binding("util")}catch{}}(),bh=br&&br.isArrayBuffer,Eh=br&&br.isDate,xh=br&&br.isMap,Ah=br&&br.isRegExp,Ch=br&&br.isSet,Fh=br&&br.isTypedArray;function hr(j,X,J){switch(J.length){case 0:return j.call(X);case 1:return j.call(X,J[0]);case 2:return j.call(X,J[0],J[1]);case 3:return j.call(X,J[0],J[1],J[2])}return j.apply(X,J)}function Xy(j,X,J,gt){for(var Tt=-1,Xt=j==null?0:j.length;++Tt<Xt;){var Ie=j[Tt];X(gt,Ie,J(Ie),j)}return gt}function Er(j,X){for(var J=-1,gt=j==null?0:j.length;++J<gt&&X(j[J],J,j)!==!1;);return j}function Vy(j,X){for(var J=j==null?0:j.length;J--&&X(j[J],J,j)!==!1;);return j}function Mh(j,X){for(var J=-1,gt=j==null?0:j.length;++J<gt;)if(!X(j[J],J,j))return!1;return!0}function Fn(j,X){for(var J=-1,gt=j==null?0:j.length,Tt=0,Xt=[];++J<gt;){var Ie=j[J];X(Ie,J,j)&&(Xt[Tt++]=Ie)}return Xt}function go(j,X){var J=j==null?0:j.length;return!!J&&Ci(j,X,0)>-1}function gu(j,X,J){for(var gt=-1,Tt=j==null?0:j.length;++gt<Tt;)if(J(X,j[gt]))return!0;return!1}function me(j,X){for(var J=-1,gt=j==null?0:j.length,Tt=Array(gt);++J<gt;)Tt[J]=X(j[J],J,j);return Tt}function Mn(j,X){for(var J=-1,gt=X.length,Tt=j.length;++J<gt;)j[Tt+J]=X[J];return j}function vu(j,X,J,gt){var Tt=-1,Xt=j==null?0:j.length;for(gt&&Xt&&(J=j[++Tt]);++Tt<Xt;)J=X(J,j[Tt],Tt,j);return J}function Qy(j,X,J,gt){var Tt=j==null?0:j.length;for(gt&&Tt&&(J=j[--Tt]);Tt--;)J=X(J,j[Tt],Tt,j);return J}function wu(j,X){for(var J=-1,gt=j==null?0:j.length;++J<gt;)if(X(j[J],J,j))return!0;return!1}var tD=yu("length");function eD(j){return j.split("")}function rD(j){return j.match(Qa)||[]}function Nh(j,X,J){var gt;return J(j,function(Tt,Xt,Ie){if(X(Tt,Xt,Ie))return gt=Xt,!1}),gt}function vo(j,X,J,gt){for(var Tt=j.length,Xt=J+(gt?1:-1);gt?Xt--:++Xt<Tt;)if(X(j[Xt],Xt,j))return Xt;return-1}function Ci(j,X,J){return X===X?dD(j,X,J):vo(j,Sh,J)}function nD(j,X,J,gt){for(var Tt=J-1,Xt=j.length;++Tt<Xt;)if(gt(j[Tt],X))return Tt;return-1}function Sh(j){return j!==j}function Bh(j,X){var J=j==null?0:j.length;return J?bu(j,X)/J:tt}function yu(j){return function(X){return X==null?e:X[j]}}function Du(j){return function(X){return j==null?e:j[X]}}function Th(j,X,J,gt,Tt){return Tt(j,function(Xt,Ie,ue){J=gt?(gt=!1,Xt):X(J,Xt,Ie,ue)}),J}function iD(j,X){var J=j.length;for(j.sort(X);J--;)j[J]=j[J].value;return j}function bu(j,X){for(var J,gt=-1,Tt=j.length;++gt<Tt;){var Xt=X(j[gt]);Xt!==e&&(J=J===e?Xt:J+Xt)}return J}function Eu(j,X){for(var J=-1,gt=Array(j);++J<j;)gt[J]=X(J);return gt}function sD(j,X){return me(X,function(J){return[J,j[J]]})}function Ih(j){return j&&j.slice(0,Rh(j)+1).replace(ts,"")}function pr(j){return function(X){return j(X)}}function xu(j,X){return me(X,function(J){return j[J]})}function es(j,X){return j.has(X)}function Oh(j,X){for(var J=-1,gt=j.length;++J<gt&&Ci(X,j[J],0)>-1;);return J}function $h(j,X){for(var J=j.length;J--&&Ci(X,j[J],0)>-1;);return J}function oD(j,X){for(var J=j.length,gt=0;J--;)j[J]===X&&++gt;return gt}var aD=Du(jy),uD=Du(Yy);function lD(j){return"\\"+Gy[j]}function fD(j,X){return j==null?e:j[X]}function Fi(j){return qy.test(j)}function cD(j){return ky.test(j)}function hD(j){for(var X,J=[];!(X=j.next()).done;)J.push(X.value);return J}function Au(j){var X=-1,J=Array(j.size);return j.forEach(function(gt,Tt){J[++X]=[Tt,gt]}),J}function Lh(j,X){return function(J){return j(X(J))}}function Nn(j,X){for(var J=-1,gt=j.length,Tt=0,Xt=[];++J<gt;){var Ie=j[J];(Ie===X||Ie===p)&&(j[J]=p,Xt[Tt++]=J)}return Xt}function wo(j){var X=-1,J=Array(j.size);return j.forEach(function(gt){J[++X]=gt}),J}function pD(j){var X=-1,J=Array(j.size);return j.forEach(function(gt){J[++X]=[gt,gt]}),J}function dD(j,X,J){for(var gt=J-1,Tt=j.length;++gt<Tt;)if(j[gt]===X)return gt;return-1}function _D(j,X,J){for(var gt=J+1;gt--;)if(j[gt]===X)return gt;return gt}function Mi(j){return Fi(j)?gD(j):tD(j)}function Rr(j){return Fi(j)?vD(j):eD(j)}function Rh(j){for(var X=j.length;X--&&Ha.test(j.charAt(X)););return X}var mD=Du(Zy);function gD(j){for(var X=du.lastIndex=0;du.test(j);)++X;return X}function vD(j){return j.match(du)||[]}function wD(j){return j.match(zy)||[]}var yD=function j(X){X=X==null?qe:Ni.defaults(qe.Object(),X,Ni.pick(qe,Uy));var J=X.Array,gt=X.Date,Tt=X.Error,Xt=X.Function,Ie=X.Math,ue=X.Object,Cu=X.RegExp,DD=X.String,xr=X.TypeError,yo=J.prototype,bD=Xt.prototype,Si=ue.prototype,Do=X["__core-js_shared__"],bo=bD.toString,ie=Si.hasOwnProperty,ED=0,Ph=function(){var o=/[^.]+$/.exec(Do&&Do.keys&&Do.keys.IE_PROTO||"");return o?"Symbol(src)_1."+o:""}(),Eo=Si.toString,xD=bo.call(ue),AD=qe._,CD=Cu("^"+bo.call(ie).replace(Qi,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),xo=Dh?X.Buffer:e,Sn=X.Symbol,Ao=X.Uint8Array,zh=xo?xo.allocUnsafe:e,Co=Lh(ue.getPrototypeOf,ue),qh=ue.create,kh=Si.propertyIsEnumerable,Fo=yo.splice,Uh=Sn?Sn.isConcatSpreadable:e,rs=Sn?Sn.iterator:e,Xn=Sn?Sn.toStringTag:e,Mo=function(){try{var o=ri(ue,"defineProperty");return o({},"",{}),o}catch{}}(),FD=X.clearTimeout!==qe.clearTimeout&&X.clearTimeout,MD=gt&&gt.now!==qe.Date.now&&gt.now,ND=X.setTimeout!==qe.setTimeout&&X.setTimeout,No=Ie.ceil,So=Ie.floor,Fu=ue.getOwnPropertySymbols,SD=xo?xo.isBuffer:e,Wh=X.isFinite,BD=yo.join,TD=Lh(ue.keys,ue),Oe=Ie.max,Ye=Ie.min,ID=gt.now,OD=X.parseInt,jh=Ie.random,$D=yo.reverse,Mu=ri(X,"DataView"),ns=ri(X,"Map"),Nu=ri(X,"Promise"),Bi=ri(X,"Set"),is=ri(X,"WeakMap"),ss=ri(ue,"create"),Bo=is&&new is,Ti={},LD=ni(Mu),RD=ni(ns),PD=ni(Nu),zD=ni(Bi),qD=ni(is),To=Sn?Sn.prototype:e,os=To?To.valueOf:e,Yh=To?To.toString:e;function B(o){if(De(o)&&!Ot(o)&&!(o instanceof Ut)){if(o instanceof Ar)return o;if(ie.call(o,"__wrapped__"))return Z0(o)}return new Ar(o)}var Ii=function(){function o(){}return function(u){if(!ye(u))return{};if(qh)return qh(u);o.prototype=u;var _=new o;return o.prototype=e,_}}();function Io(){}function Ar(o,u){this.__wrapped__=o,this.__actions__=[],this.__chain__=!!u,this.__index__=0,this.__values__=e}B.templateSettings={escape:Wa,evaluate:ja,interpolate:ho,variable:"",imports:{_:B}},B.prototype=Io.prototype,B.prototype.constructor=B,Ar.prototype=Ii(Io.prototype),Ar.prototype.constructor=Ar;function Ut(o){this.__wrapped__=o,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=ft,this.__views__=[]}function kD(){var o=new Ut(this.__wrapped__);return o.__actions__=tr(this.__actions__),o.__dir__=this.__dir__,o.__filtered__=this.__filtered__,o.__iteratees__=tr(this.__iteratees__),o.__takeCount__=this.__takeCount__,o.__views__=tr(this.__views__),o}function UD(){if(this.__filtered__){var o=new Ut(this);o.__dir__=-1,o.__filtered__=!0}else o=this.clone(),o.__dir__*=-1;return o}function WD(){var o=this.__wrapped__.value(),u=this.__dir__,_=Ot(o),y=u<0,A=_?o.length:0,I=eE(0,A,this.__views__),R=I.start,q=I.end,Y=q-R,Q=y?q:R-1,et=this.__iteratees__,ot=et.length,dt=0,wt=Ye(Y,this.__takeCount__);if(!_||!y&&A==Y&&wt==Y)return _0(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],Wt=kt.iteratee,mr=kt.type,Je=Wt(Ft);if(mr==W)Ft=Je;else if(!Je){if(mr==k)continue t;break t}}Ct[dt++]=Ft}return Ct}Ut.prototype=Ii(Io.prototype),Ut.prototype.constructor=Ut;function Vn(o){var u=-1,_=o==null?0:o.length;for(this.clear();++u<_;){var y=o[u];this.set(y[0],y[1])}}function jD(){this.__data__=ss?ss(null):{},this.size=0}function YD(o){var u=this.has(o)&&delete this.__data__[o];return this.size-=u?1:0,u}function ZD(o){var u=this.__data__;if(ss){var _=u[o];return _===f?e:_}return ie.call(u,o)?u[o]:e}function GD(o){var u=this.__data__;return ss?u[o]!==e:ie.call(u,o)}function KD(o,u){var _=this.__data__;return this.size+=this.has(o)?0:1,_[o]=ss&&u===e?f:u,this}Vn.prototype.clear=jD,Vn.prototype.delete=YD,Vn.prototype.get=ZD,Vn.prototype.has=GD,Vn.prototype.set=KD;function sn(o){var u=-1,_=o==null?0:o.length;for(this.clear();++u<_;){var y=o[u];this.set(y[0],y[1])}}function HD(){this.__data__=[],this.size=0}function JD(o){var u=this.__data__,_=Oo(u,o);if(_<0)return!1;var y=u.length-1;return _==y?u.pop():Fo.call(u,_,1),--this.size,!0}function XD(o){var u=this.__data__,_=Oo(u,o);return _<0?e:u[_][1]}function VD(o){return Oo(this.__data__,o)>-1}function QD(o,u){var _=this.__data__,y=Oo(_,o);return y<0?(++this.size,_.push([o,u])):_[y][1]=u,this}sn.prototype.clear=HD,sn.prototype.delete=JD,sn.prototype.get=XD,sn.prototype.has=VD,sn.prototype.set=QD;function on(o){var u=-1,_=o==null?0:o.length;for(this.clear();++u<_;){var y=o[u];this.set(y[0],y[1])}}function tb(){this.size=0,this.__data__={hash:new Vn,map:new(ns||sn),string:new Vn}}function eb(o){var u=Zo(this,o).delete(o);return this.size-=u?1:0,u}function rb(o){return Zo(this,o).get(o)}function nb(o){return Zo(this,o).has(o)}function ib(o,u){var _=Zo(this,o),y=_.size;return _.set(o,u),this.size+=_.size==y?0:1,this}on.prototype.clear=tb,on.prototype.delete=eb,on.prototype.get=rb,on.prototype.has=nb,on.prototype.set=ib;function Qn(o){var u=-1,_=o==null?0:o.length;for(this.__data__=new on;++u<_;)this.add(o[u])}function sb(o){return this.__data__.set(o,f),this}function ob(o){return this.__data__.has(o)}Qn.prototype.add=Qn.prototype.push=sb,Qn.prototype.has=ob;function Pr(o){var u=this.__data__=new sn(o);this.size=u.size}function ab(){this.__data__=new sn,this.size=0}function ub(o){var u=this.__data__,_=u.delete(o);return this.size=u.size,_}function lb(o){return this.__data__.get(o)}function fb(o){return this.__data__.has(o)}function cb(o,u){var _=this.__data__;if(_ instanceof sn){var y=_.__data__;if(!ns||y.length<n-1)return y.push([o,u]),this.size=++_.size,this;_=this.__data__=new on(y)}return _.set(o,u),this.size=_.size,this}Pr.prototype.clear=ab,Pr.prototype.delete=ub,Pr.prototype.get=lb,Pr.prototype.has=fb,Pr.prototype.set=cb;function Zh(o,u){var _=Ot(o),y=!_&&ii(o),A=!_&&!y&&$n(o),I=!_&&!y&&!A&&Ri(o),R=_||y||A||I,q=R?Eu(o.length,DD):[],Y=q.length;for(var Q in o)(u||ie.call(o,Q))&&!(R&&(Q=="length"||A&&(Q=="offset"||Q=="parent")||I&&(Q=="buffer"||Q=="byteLength"||Q=="byteOffset")||fn(Q,Y)))&&q.push(Q);return q}function Gh(o){var u=o.length;return u?o[qu(0,u-1)]:e}function hb(o,u){return Go(tr(o),ti(u,0,o.length))}function pb(o){return Go(tr(o))}function Su(o,u,_){(_!==e&&!zr(o[u],_)||_===e&&!(u in o))&&an(o,u,_)}function as(o,u,_){var y=o[u];(!(ie.call(o,u)&&zr(y,_))||_===e&&!(u in o))&&an(o,u,_)}function Oo(o,u){for(var _=o.length;_--;)if(zr(o[_][0],u))return _;return-1}function db(o,u,_,y){return Bn(o,function(A,I,R){u(y,A,_(A),R)}),y}function Kh(o,u){return o&&Hr(u,Re(u),o)}function _b(o,u){return o&&Hr(u,rr(u),o)}function an(o,u,_){u=="__proto__"&&Mo?Mo(o,u,{configurable:!0,enumerable:!0,value:_,writable:!0}):o[u]=_}function Bu(o,u){for(var _=-1,y=u.length,A=J(y),I=o==null;++_<y;)A[_]=I?e:cl(o,u[_]);return A}function ti(o,u,_){return o===o&&(_!==e&&(o=o<=_?o:_),u!==e&&(o=o>=u?o:u)),o}function Cr(o,u,_,y,A,I){var R,q=u&c,Y=u&d,Q=u&g;if(_&&(R=A?_(o,y,A,I):_(o)),R!==e)return R;if(!ye(o))return o;var et=Ot(o);if(et){if(R=nE(o),!q)return tr(o,R)}else{var ot=Ze(o),dt=ot==Qt||ot==qt;if($n(o))return v0(o,q);if(ot==Be||ot==bt||dt&&!A){if(R=Y||dt?{}:R0(o),!q)return Y?Zb(o,_b(R,o)):Yb(o,Kh(R,o))}else{if(!fe[ot])return A?o:{};R=iE(o,ot,q)}}I||(I=new Pr);var wt=I.get(o);if(wt)return wt;I.set(o,R),hp(o)?o.forEach(function(Ft){R.add(Cr(Ft,u,_,Ft,o,I))}):fp(o)&&o.forEach(function(Ft,kt){R.set(kt,Cr(Ft,u,_,kt,o,I))});var Ct=Q?Y?Xu:Ju:Y?rr:Re,Rt=et?e:Ct(o);return Er(Rt||o,function(Ft,kt){Rt&&(kt=Ft,Ft=o[kt]),as(R,kt,Cr(Ft,u,_,kt,o,I))}),R}function mb(o){var u=Re(o);return function(_){return Hh(_,o,u)}}function Hh(o,u,_){var y=_.length;if(o==null)return!y;for(o=ue(o);y--;){var A=_[y],I=u[A],R=o[A];if(R===e&&!(A in o)||!I(R))return!1}return!0}function Jh(o,u,_){if(typeof o!="function")throw new xr(a);return ds(function(){o.apply(e,_)},u)}function us(o,u,_,y){var A=-1,I=go,R=!0,q=o.length,Y=[],Q=u.length;if(!q)return Y;_&&(u=me(u,pr(_))),y?(I=gu,R=!1):u.length>=n&&(I=es,R=!1,u=new Qn(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 I(u,ot,y)||Y.push(et)}return Y}var Bn=E0(Kr),Xh=E0(Iu,!0);function gb(o,u){var _=!0;return Bn(o,function(y,A,I){return _=!!u(y,A,I),_}),_}function $o(o,u,_){for(var y=-1,A=o.length;++y<A;){var I=o[y],R=u(I);if(R!=null&&(q===e?R===R&&!_r(R):_(R,q)))var q=R,Y=I}return Y}function vb(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:dp(y);_<y;)o[_++]=u;return o}function Vh(o,u){var _=[];return Bn(o,function(y,A,I){u(y,A,I)&&_.push(y)}),_}function ke(o,u,_,y,A){var I=-1,R=o.length;for(_||(_=oE),A||(A=[]);++I<R;){var q=o[I];u>0&&_(q)?u>1?ke(q,u-1,_,y,A):Mn(A,q):y||(A[A.length]=q)}return A}var Tu=x0(),Qh=x0(!0);function Kr(o,u){return o&&Tu(o,u,Re)}function Iu(o,u){return o&&Qh(o,u,Re)}function Lo(o,u){return Fn(u,function(_){return cn(o[_])})}function ei(o,u){u=In(u,o);for(var _=0,y=u.length;o!=null&&_<y;)o=o[Jr(u[_++])];return _&&_==y?o:e}function t0(o,u,_){var y=u(o);return Ot(o)?y:Mn(y,_(o))}function Ke(o){return o==null?o===e?Z:ur:Xn&&Xn in ue(o)?tE(o):pE(o)}function Ou(o,u){return o>u}function wb(o,u){return o!=null&&ie.call(o,u)}function yb(o,u){return o!=null&&u in ue(o)}function Db(o,u,_){return o>=Ye(u,_)&&o<Oe(u,_)}function $u(o,u,_){for(var y=_?gu:go,A=o[0].length,I=o.length,R=I,q=J(I),Y=1/0,Q=[];R--;){var et=o[R];R&&u&&(et=me(et,pr(u))),Y=Ye(et.length,Y),q[R]=!_&&(u||A>=120&&et.length>=120)?new Qn(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?es(dt,Ct):y(Q,Ct,_))){for(R=I;--R;){var Rt=q[R];if(!(Rt?es(Rt,Ct):y(o[R],Ct,_)))continue t}dt&&dt.push(Ct),Q.push(wt)}}return Q}function bb(o,u,_,y){return Kr(o,function(A,I,R){u(y,_(A),I,R)}),y}function ls(o,u,_){u=In(u,o),o=k0(o,u);var y=o==null?o:o[Jr(Mr(u))];return y==null?e:hr(y,o,_)}function e0(o){return De(o)&&Ke(o)==bt}function Eb(o){return De(o)&&Ke(o)==st}function xb(o){return De(o)&&Ke(o)==It}function fs(o,u,_,y,A){return o===u?!0:o==null||u==null||!De(o)&&!De(u)?o!==o&&u!==u:Ab(o,u,_,y,fs,A)}function Ab(o,u,_,y,A,I){var R=Ot(o),q=Ot(u),Y=R?Bt:Ze(o),Q=q?Bt:Ze(u);Y=Y==bt?Be:Y,Q=Q==bt?Be:Q;var et=Y==Be,ot=Q==Be,dt=Y==Q;if(dt&&$n(o)){if(!$n(u))return!1;R=!0,et=!1}if(dt&&!et)return I||(I=new Pr),R||Ri(o)?O0(o,u,_,y,A,I):Vb(o,u,Y,_,y,A,I);if(!(_&w)){var wt=et&&ie.call(o,"__wrapped__"),Ct=ot&&ie.call(u,"__wrapped__");if(wt||Ct){var Rt=wt?o.value():o,Ft=Ct?u.value():u;return I||(I=new Pr),A(Rt,Ft,_,y,I)}}return dt?(I||(I=new Pr),Qb(o,u,_,y,A,I)):!1}function Cb(o){return De(o)&&Ze(o)==Kt}function Lu(o,u,_,y){var A=_.length,I=A,R=!y;if(o==null)return!I;for(o=ue(o);A--;){var q=_[A];if(R&&q[2]?q[1]!==o[q[0]]:!(q[0]in o))return!1}for(;++A<I;){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 Pr;if(y)var dt=y(Q,et,Y,o,u,ot);if(!(dt===e?fs(et,Q,w|m,y,ot):dt))return!1}}return!0}function r0(o){if(!ye(o)||uE(o))return!1;var u=cn(o)?CD:su;return u.test(ni(o))}function Fb(o){return De(o)&&Ke(o)==nn}function Mb(o){return De(o)&&Ze(o)==lr}function Nb(o){return De(o)&&Qo(o.length)&&!!he[Ke(o)]}function n0(o){return typeof o=="function"?o:o==null?nr:typeof o=="object"?Ot(o)?o0(o[0],o[1]):s0(o):Ap(o)}function Ru(o){if(!ps(o))return TD(o);var u=[];for(var _ in ue(o))ie.call(o,_)&&_!="constructor"&&u.push(_);return u}function Sb(o){if(!ye(o))return hE(o);var u=ps(o),_=[];for(var y in o)y=="constructor"&&(u||!ie.call(o,y))||_.push(y);return _}function Pu(o,u){return o<u}function i0(o,u){var _=-1,y=er(o)?J(o.length):[];return Bn(o,function(A,I,R){y[++_]=u(A,I,R)}),y}function s0(o){var u=Qu(o);return u.length==1&&u[0][2]?z0(u[0][0],u[0][1]):function(_){return _===o||Lu(_,o,u)}}function o0(o,u){return el(o)&&P0(u)?z0(Jr(o),u):function(_){var y=cl(_,o);return y===e&&y===u?hl(_,o):fs(u,y,w|m)}}function Ro(o,u,_,y,A){o!==u&&Tu(u,function(I,R){if(A||(A=new Pr),ye(I))Bb(o,u,R,_,Ro,y,A);else{var q=y?y(nl(o,R),I,R+"",o,u,A):e;q===e&&(q=I),Su(o,R,q)}},rr)}function Bb(o,u,_,y,A,I,R){var q=nl(o,_),Y=nl(u,_),Q=R.get(Y);if(Q){Su(o,_,Q);return}var et=I?I(q,Y,_+"",o,u,R):e,ot=et===e;if(ot){var dt=Ot(Y),wt=!dt&&$n(Y),Ct=!dt&&!wt&&Ri(Y);et=Y,dt||wt||Ct?Ot(q)?et=q:xe(q)?et=tr(q):wt?(ot=!1,et=v0(Y,!0)):Ct?(ot=!1,et=w0(Y,!0)):et=[]:_s(Y)||ii(Y)?(et=q,ii(q)?et=_p(q):(!ye(q)||cn(q))&&(et=R0(Y))):ot=!1}ot&&(R.set(Y,et),A(et,Y,y,I,R),R.delete(Y)),Su(o,_,et)}function a0(o,u){var _=o.length;if(_)return u+=u<0?_:0,fn(u,_)?o[u]:e}function u0(o,u,_){u.length?u=me(u,function(I){return Ot(I)?function(R){return ei(R,I.length===1?I[0]:I)}:I}):u=[nr];var y=-1;u=me(u,pr(At()));var A=i0(o,function(I,R,q){var Y=me(u,function(Q){return Q(I)});return{criteria:Y,index:++y,value:I}});return iD(A,function(I,R){return jb(I,R,_)})}function Tb(o,u){return l0(o,u,function(_,y){return hl(o,y)})}function l0(o,u,_){for(var y=-1,A=u.length,I={};++y<A;){var R=u[y],q=ei(o,R);_(q,R)&&cs(I,In(R,o),q)}return I}function Ib(o){return function(u){return ei(u,o)}}function zu(o,u,_,y){var A=y?nD:Ci,I=-1,R=u.length,q=o;for(o===u&&(u=tr(u)),_&&(q=me(o,pr(_)));++I<R;)for(var Y=0,Q=u[I],et=_?_(Q):Q;(Y=A(q,et,Y,y))>-1;)q!==o&&Fo.call(q,Y,1),Fo.call(o,Y,1);return o}function f0(o,u){for(var _=o?u.length:0,y=_-1;_--;){var A=u[_];if(_==y||A!==I){var I=A;fn(A)?Fo.call(o,A,1):Wu(o,A)}}return o}function qu(o,u){return o+So(jh()*(u-o+1))}function Ob(o,u,_,y){for(var A=-1,I=Oe(No((u-o)/(_||1)),0),R=J(I);I--;)R[y?I:++A]=o,o+=_;return R}function ku(o,u){var _="";if(!o||u<1||u>G)return _;do u%2&&(_+=o),u=So(u/2),u&&(o+=o);while(u);return _}function Pt(o,u){return il(q0(o,u,nr),o+"")}function $b(o){return Gh(Pi(o))}function Lb(o,u){var _=Pi(o);return Go(_,ti(u,0,_.length))}function cs(o,u,_,y){if(!ye(o))return o;u=In(u,o);for(var A=-1,I=u.length,R=I-1,q=o;q!=null&&++A<I;){var Y=Jr(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=ye(et)?et:fn(u[A+1])?[]:{})}as(q,Y,Q),q=q[Y]}return o}var c0=Bo?function(o,u){return Bo.set(o,u),o}:nr,Rb=Mo?function(o,u){return Mo(o,"toString",{configurable:!0,enumerable:!1,value:dl(u),writable:!0})}:nr;function Pb(o){return Go(Pi(o))}function Fr(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 I=J(A);++y<A;)I[y]=o[y+u];return I}function zb(o,u){var _;return Bn(o,function(y,A,I){return _=u(y,A,I),!_}),!!_}function Po(o,u,_){var y=0,A=o==null?y:o.length;if(typeof u=="number"&&u===u&&A<=lt){for(;y<A;){var I=y+A>>>1,R=o[I];R!==null&&!_r(R)&&(_?R<=u:R<u)?y=I+1:A=I}return A}return Uu(o,u,nr,_)}function Uu(o,u,_,y){var A=0,I=o==null?0:o.length;if(I===0)return 0;u=_(u);for(var R=u!==u,q=u===null,Y=_r(u),Q=u===e;A<I;){var et=So((A+I)/2),ot=_(o[et]),dt=ot!==e,wt=ot===null,Ct=ot===ot,Rt=_r(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:I=et}return Ye(I,vt)}function h0(o,u){for(var _=-1,y=o.length,A=0,I=[];++_<y;){var R=o[_],q=u?u(R):R;if(!_||!zr(q,Y)){var Y=q;I[A++]=R===0?0:R}}return I}function p0(o){return typeof o=="number"?o:_r(o)?tt:+o}function dr(o){if(typeof o=="string")return o;if(Ot(o))return me(o,dr)+"";if(_r(o))return Yh?Yh.call(o):"";var u=o+"";return u=="0"&&1/o==-K?"-0":u}function Tn(o,u,_){var y=-1,A=go,I=o.length,R=!0,q=[],Y=q;if(_)R=!1,A=gu;else if(I>=n){var Q=u?null:Jb(o);if(Q)return wo(Q);R=!1,A=es,Y=new Qn}else Y=u?[]:q;t:for(;++y<I;){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 Wu(o,u){return u=In(u,o),o=k0(o,u),o==null||delete o[Jr(Mr(u))]}function d0(o,u,_,y){return cs(o,u,_(ei(o,u)),y)}function zo(o,u,_,y){for(var A=o.length,I=y?A:-1;(y?I--:++I<A)&&u(o[I],I,o););return _?Fr(o,y?0:I,y?I+1:A):Fr(o,y?I+1:0,y?A:I)}function _0(o,u){var _=o;return _ instanceof Ut&&(_=_.value()),vu(u,function(y,A){return A.func.apply(A.thisArg,Mn([y],A.args))},_)}function ju(o,u,_){var y=o.length;if(y<2)return y?Tn(o[0]):[];for(var A=-1,I=J(y);++A<y;)for(var R=o[A],q=-1;++q<y;)q!=A&&(I[A]=us(I[A]||R,o[q],u,_));return Tn(ke(I,1),u,_)}function m0(o,u,_){for(var y=-1,A=o.length,I=u.length,R={};++y<A;){var q=y<I?u[y]:e;_(R,o[y],q)}return R}function Yu(o){return xe(o)?o:[]}function Zu(o){return typeof o=="function"?o:nr}function In(o,u){return Ot(o)?o:el(o,u)?[o]:Y0(ee(o))}var qb=Pt;function On(o,u,_){var y=o.length;return _=_===e?y:_,!u&&_>=y?o:Fr(o,u,_)}var g0=FD||function(o){return qe.clearTimeout(o)};function v0(o,u){if(u)return o.slice();var _=o.length,y=zh?zh(_):new o.constructor(_);return o.copy(y),y}function Gu(o){var u=new o.constructor(o.byteLength);return new Ao(u).set(new Ao(o)),u}function kb(o,u){var _=u?Gu(o.buffer):o.buffer;return new o.constructor(_,o.byteOffset,o.byteLength)}function Ub(o){var u=new o.constructor(o.source,po.exec(o));return u.lastIndex=o.lastIndex,u}function Wb(o){return os?ue(os.call(o)):{}}function w0(o,u){var _=u?Gu(o.buffer):o.buffer;return new o.constructor(_,o.byteOffset,o.length)}function y0(o,u){if(o!==u){var _=o!==e,y=o===null,A=o===o,I=_r(o),R=u!==e,q=u===null,Y=u===u,Q=_r(u);if(!q&&!Q&&!I&&o>u||I&&R&&Y&&!q&&!Q||y&&R&&Y||!_&&Y||!A)return 1;if(!y&&!I&&!Q&&o<u||Q&&_&&A&&!y&&!I||q&&_&&A||!R&&A||!Y)return-1}return 0}function jb(o,u,_){for(var y=-1,A=o.criteria,I=u.criteria,R=A.length,q=_.length;++y<R;){var Y=y0(A[y],I[y]);if(Y){if(y>=q)return Y;var Q=_[y];return Y*(Q=="desc"?-1:1)}}return o.index-u.index}function D0(o,u,_,y){for(var A=-1,I=o.length,R=_.length,q=-1,Y=u.length,Q=Oe(I-R,0),et=J(Y+Q),ot=!y;++q<Y;)et[q]=u[q];for(;++A<R;)(ot||A<I)&&(et[_[A]]=o[A]);for(;Q--;)et[q++]=o[A++];return et}function b0(o,u,_,y){for(var A=-1,I=o.length,R=-1,q=_.length,Y=-1,Q=u.length,et=Oe(I-q,0),ot=J(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<I)&&(ot[wt+_[R]]=o[A++]);return ot}function tr(o,u){var _=-1,y=o.length;for(u||(u=J(y));++_<y;)u[_]=o[_];return u}function Hr(o,u,_,y){var A=!_;_||(_={});for(var I=-1,R=u.length;++I<R;){var q=u[I],Y=y?y(_[q],o[q],q,_,o):e;Y===e&&(Y=o[q]),A?an(_,q,Y):as(_,q,Y)}return _}function Yb(o,u){return Hr(o,tl(o),u)}function Zb(o,u){return Hr(o,$0(o),u)}function qo(o,u){return function(_,y){var A=Ot(_)?Xy:db,I=u?u():{};return A(_,o,At(y,2),I)}}function Oi(o){return Pt(function(u,_){var y=-1,A=_.length,I=A>1?_[A-1]:e,R=A>2?_[2]:e;for(I=o.length>3&&typeof I=="function"?(A--,I):e,R&&He(_[0],_[1],R)&&(I=A<3?e:I,A=1),u=ue(u);++y<A;){var q=_[y];q&&o(u,q,y,I)}return u})}function E0(o,u){return function(_,y){if(_==null)return _;if(!er(_))return o(_,y);for(var A=_.length,I=u?A:-1,R=ue(_);(u?I--:++I<A)&&y(R[I],I,R)!==!1;);return _}}function x0(o){return function(u,_,y){for(var A=-1,I=ue(u),R=y(u),q=R.length;q--;){var Y=R[o?q:++A];if(_(I[Y],Y,I)===!1)break}return u}}function Gb(o,u,_){var y=u&D,A=hs(o);function I(){var R=this&&this!==qe&&this instanceof I?A:o;return R.apply(y?_:this,arguments)}return I}function A0(o){return function(u){u=ee(u);var _=Fi(u)?Rr(u):e,y=_?_[0]:u.charAt(0),A=_?On(_,1).join(""):u.slice(1);return y[o]()+A}}function $i(o){return function(u){return vu(Ep(bp(u).replace(Ry,"")),o,"")}}function hs(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 _=Ii(o.prototype),y=o.apply(_,u);return ye(y)?y:_}}function Kb(o,u,_){var y=hs(o);function A(){for(var I=arguments.length,R=J(I),q=I,Y=Li(A);q--;)R[q]=arguments[q];var Q=I<3&&R[0]!==Y&&R[I-1]!==Y?[]:Nn(R,Y);if(I-=Q.length,I<_)return S0(o,u,ko,A.placeholder,e,R,Q,e,e,_-I);var et=this&&this!==qe&&this instanceof A?y:o;return hr(et,this,R)}return A}function C0(o){return function(u,_,y){var A=ue(u);if(!er(u)){var I=At(_,3);u=Re(u),_=function(q){return I(A[q],q,A)}}var R=o(u,_,y);return R>-1?A[I?u[R]:R]:e}}function F0(o){return ln(function(u){var _=u.length,y=_,A=Ar.prototype.thru;for(o&&u.reverse();y--;){var I=u[y];if(typeof I!="function")throw new xr(a);if(A&&!R&&Yo(I)=="wrapper")var R=new Ar([],!0)}for(y=R?y:_;++y<_;){I=u[y];var q=Yo(I),Y=q=="wrapper"?Vu(I):e;Y&&rl(Y[0])&&Y[1]==(M|b|x|S)&&!Y[4].length&&Y[9]==1?R=R[Yo(Y[0])].apply(R,Y[3]):R=I.length==1&&rl(I)?R[q]():R.thru(I)}return function(){var Q=arguments,et=Q[0];if(R&&Q.length==1&&Ot(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 ko(o,u,_,y,A,I,R,q,Y,Q){var et=u&M,ot=u&D,dt=u&v,wt=u&(b|N),Ct=u&O,Rt=dt?e:hs(o);function Ft(){for(var kt=arguments.length,Wt=J(kt),mr=kt;mr--;)Wt[mr]=arguments[mr];if(wt)var Je=Li(Ft),gr=oD(Wt,Je);if(y&&(Wt=D0(Wt,y,A,wt)),I&&(Wt=b0(Wt,I,R,wt)),kt-=gr,wt&&kt<Q){var Ae=Nn(Wt,Je);return S0(o,u,ko,Ft.placeholder,_,Wt,Ae,q,Y,Q-kt)}var qr=ot?_:this,pn=dt?qr[o]:o;return kt=Wt.length,q?Wt=dE(Wt,q):Ct&&kt>1&&Wt.reverse(),et&&Y<kt&&(Wt.length=Y),this&&this!==qe&&this instanceof Ft&&(pn=Rt||hs(pn)),pn.apply(qr,Wt)}return Ft}function M0(o,u){return function(_,y){return bb(_,o,u(y),{})}}function Uo(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)):(_=p0(_),y=p0(y)),A=o(_,y)}return A}}function Ku(o){return ln(function(u){return u=me(u,pr(At())),Pt(function(_){var y=this;return o(u,function(A){return hr(A,y,_)})})})}function Wo(o,u){u=u===e?" ":dr(u);var _=u.length;if(_<2)return _?ku(u,o):u;var y=ku(u,No(o/Mi(u)));return Fi(u)?On(Rr(y),0,o).join(""):y.slice(0,o)}function Hb(o,u,_,y){var A=u&D,I=hs(o);function R(){for(var q=-1,Y=arguments.length,Q=-1,et=y.length,ot=J(et+Y),dt=this&&this!==qe&&this instanceof R?I:o;++Q<et;)ot[Q]=y[Q];for(;Y--;)ot[Q++]=arguments[++q];return hr(dt,A?_:this,ot)}return R}function N0(o){return function(u,_,y){return y&&typeof y!="number"&&He(u,_,y)&&(_=y=e),u=hn(u),_===e?(_=u,u=0):_=hn(_),y=y===e?u<_?1:-1:hn(y),Ob(u,_,y,o)}}function jo(o){return function(u,_){return typeof u=="string"&&typeof _=="string"||(u=Nr(u),_=Nr(_)),o(u,_)}}function S0(o,u,_,y,A,I,R,q,Y,Q){var et=u&b,ot=et?R:e,dt=et?e:R,wt=et?I:e,Ct=et?e:I;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 rl(o)&&U0(Ft,Rt),Ft.placeholder=y,W0(Ft,o,u)}function Hu(o){var u=Ie[o];return function(_,y){if(_=Nr(_),y=y==null?0:Ye(Lt(y),292),y&&Wh(_)){var A=(ee(_)+"e").split("e"),I=u(A[0]+"e"+(+A[1]+y));return A=(ee(I)+"e").split("e"),+(A[0]+"e"+(+A[1]-y))}return u(_)}}var Jb=Bi&&1/wo(new Bi([,-0]))[1]==K?function(o){return new Bi(o)}:gl;function B0(o){return function(u){var _=Ze(u);return _==Kt?Au(u):_==lr?pD(u):sD(u,o(u))}}function un(o,u,_,y,A,I,R,q){var Y=u&v;if(!Y&&typeof o!="function")throw new xr(a);var Q=y?y.length:0;if(Q||(u&=~(x|F),y=A=e),R=R===e?R:Oe(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:Vu(o),wt=[o,u,_,y,A,et,ot,I,R,q];if(dt&&cE(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:Oe(wt[9]-Q,0),!q&&u&(b|N)&&(u&=~(b|N)),!u||u==D)var Ct=Gb(o,u,_);else u==b||u==N?Ct=Kb(o,u,q):(u==x||u==(D|x))&&!A.length?Ct=Hb(o,u,_,y):Ct=ko.apply(e,wt);var Rt=dt?c0:U0;return W0(Rt(Ct,wt),o,u)}function T0(o,u,_,y){return o===e||zr(o,Si[_])&&!ie.call(y,_)?u:o}function I0(o,u,_,y,A,I){return ye(o)&&ye(u)&&(I.set(u,o),Ro(o,u,e,I0,I),I.delete(u)),o}function Xb(o){return _s(o)?e:o}function O0(o,u,_,y,A,I){var R=_&w,q=o.length,Y=u.length;if(q!=Y&&!(R&&Y>q))return!1;var Q=I.get(o),et=I.get(u);if(Q&&et)return Q==u&&et==o;var ot=-1,dt=!0,wt=_&m?new Qn:e;for(I.set(o,u),I.set(u,o);++ot<q;){var Ct=o[ot],Rt=u[ot];if(y)var Ft=R?y(Rt,Ct,ot,u,o,I):y(Ct,Rt,ot,o,u,I);if(Ft!==e){if(Ft)continue;dt=!1;break}if(wt){if(!wu(u,function(kt,Wt){if(!es(wt,Wt)&&(Ct===kt||A(Ct,kt,_,y,I)))return wt.push(Wt)})){dt=!1;break}}else if(!(Ct===Rt||A(Ct,Rt,_,y,I))){dt=!1;break}}return I.delete(o),I.delete(u),dt}function Vb(o,u,_,y,A,I,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||!I(new Ao(o),new Ao(u)));case ne:case It:case Ne:return zr(+o,+u);case se:return o.name==u.name&&o.message==u.message;case nn:case xn:return o==u+"";case Kt:var q=Au;case lr:var Y=y&w;if(q||(q=wo),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=O0(q(o),q(u),y,A,I,R);return R.delete(o),et;case $:if(os)return os.call(o)==os.call(u)}return!1}function Qb(o,u,_,y,A,I){var R=_&w,q=Ju(o),Y=q.length,Q=Ju(u),et=Q.length;if(Y!=et&&!R)return!1;for(var ot=Y;ot--;){var dt=q[ot];if(!(R?dt in u:ie.call(u,dt)))return!1}var wt=I.get(o),Ct=I.get(u);if(wt&&Ct)return wt==u&&Ct==o;var Rt=!0;I.set(o,u),I.set(u,o);for(var Ft=R;++ot<Y;){dt=q[ot];var kt=o[dt],Wt=u[dt];if(y)var mr=R?y(Wt,kt,dt,u,o,I):y(kt,Wt,dt,o,u,I);if(!(mr===e?kt===Wt||A(kt,Wt,_,y,I):mr)){Rt=!1;break}Ft||(Ft=dt=="constructor")}if(Rt&&!Ft){var Je=o.constructor,gr=u.constructor;Je!=gr&&"constructor"in o&&"constructor"in u&&!(typeof Je=="function"&&Je instanceof Je&&typeof gr=="function"&&gr instanceof gr)&&(Rt=!1)}return I.delete(o),I.delete(u),Rt}function ln(o){return il(q0(o,e,H0),o+"")}function Ju(o){return t0(o,Re,tl)}function Xu(o){return t0(o,rr,$0)}var Vu=Bo?function(o){return Bo.get(o)}:gl;function Yo(o){for(var u=o.name+"",_=Ti[u],y=ie.call(Ti,u)?_.length:0;y--;){var A=_[y],I=A.func;if(I==null||I==o)return A.name}return u}function Li(o){var u=ie.call(B,"placeholder")?B:o;return u.placeholder}function At(){var o=B.iteratee||_l;return o=o===_l?n0:o,arguments.length?o(arguments[0],arguments[1]):o}function Zo(o,u){var _=o.__data__;return aE(u)?_[typeof u=="string"?"string":"hash"]:_.map}function Qu(o){for(var u=Re(o),_=u.length;_--;){var y=u[_],A=o[y];u[_]=[y,A,P0(A)]}return u}function ri(o,u){var _=fD(o,u);return r0(_)?_:e}function tE(o){var u=ie.call(o,Xn),_=o[Xn];try{o[Xn]=e;var y=!0}catch{}var A=Eo.call(o);return y&&(u?o[Xn]=_:delete o[Xn]),A}var tl=Fu?function(o){return o==null?[]:(o=ue(o),Fn(Fu(o),function(u){return kh.call(o,u)}))}:vl,$0=Fu?function(o){for(var u=[];o;)Mn(u,tl(o)),o=Co(o);return u}:vl,Ze=Ke;(Mu&&Ze(new Mu(new ArrayBuffer(1)))!=rt||ns&&Ze(new ns)!=Kt||Nu&&Ze(Nu.resolve())!=rn||Bi&&Ze(new Bi)!=lr||is&&Ze(new is)!=H)&&(Ze=function(o){var u=Ke(o),_=u==Be?o.constructor:e,y=_?ni(_):"";if(y)switch(y){case LD:return rt;case RD:return Kt;case PD:return rn;case zD:return lr;case qD:return H}return u});function eE(o,u,_){for(var y=-1,A=_.length;++y<A;){var I=_[y],R=I.size;switch(I.type){case"drop":o+=R;break;case"dropRight":u-=R;break;case"take":u=Ye(u,o+R);break;case"takeRight":o=Oe(o,u-R);break}}return{start:o,end:u}}function rE(o){var u=o.match(Xa);return u?u[1].split(Va):[]}function L0(o,u,_){u=In(u,o);for(var y=-1,A=u.length,I=!1;++y<A;){var R=Jr(u[y]);if(!(I=o!=null&&_(o,R)))break;o=o[R]}return I||++y!=A?I:(A=o==null?0:o.length,!!A&&Qo(A)&&fn(R,A)&&(Ot(o)||ii(o)))}function nE(o){var u=o.length,_=new o.constructor(u);return u&&typeof o[0]=="string"&&ie.call(o,"index")&&(_.index=o.index,_.input=o.input),_}function R0(o){return typeof o.constructor=="function"&&!ps(o)?Ii(Co(o)):{}}function iE(o,u,_){var y=o.constructor;switch(u){case st:return Gu(o);case ne:case It:return new y(+o);case rt:return kb(o,_);case ct:case ut:case ht:case at:case Ht:case te:case _e:case Le:case Te:return w0(o,_);case Kt:return new y;case Ne:case xn:return new y(o);case nn:return Ub(o);case lr:return new y;case $:return Wb(o)}}function sE(o,u){var _=u.length;if(!_)return o;var y=_-1;return u[y]=(_>1?"& ":"")+u[y],u=u.join(_>2?", ":" "),o.replace(Ja,`{
8
+ */Rn.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`",f="__lodash_hash_undefined__",h=500,p="__lodash_placeholder__",c=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,T="...",L=800,U=16,k=1,W=2,P=3,K=1/0,G=9007199254740991,Q=17976931348623157e292,tt=NaN,ft=4294967295,vt=ft-1,lt=ft>>>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]",ne="[object Boolean]",Ot="[object Date]",Nt="[object DOMException]",se="[object Error]",Vt="[object Function]",qt="[object GeneratorFunction]",Kt="[object Map]",Ne="[object Number]",lr="[object Null]",Be="[object Object]",nn="[object Promise]",xn="[object Proxy]",sn="[object RegExp]",fr="[object Set]",An="[object String]",$="[object Symbol]",Z="[object Undefined]",H="[object WeakMap]",nt="[object WeakSet]",st="[object ArrayBuffer]",rt="[object DataView]",ct="[object Float32Array]",ut="[object Float64Array]",ht="[object Int8Array]",at="[object Int16Array]",Ht="[object Int32Array]",te="[object Uint8Array]",_e="[object Uint8ClampedArray]",Le="[object Uint16Array]",Te="[object Uint32Array]",cr=/\b__p \+= '';/g,hr=/\b(__p \+=) '' \+/g,Cn=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Hn=/&(?:amp|lt|gt|quot|#39);/g,ho=/[&<>"']/g,Ua=RegExp(Hn.source),Wa=RegExp(ho.source),ja=/<%-([\s\S]+?)%>/g,Ya=/<%([\s\S]+?)%>/g,po=/<%=([\s\S]+?)%>/g,Za=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Ga=/^\w*$/,Ka=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ts=/[\\^$.*+?()[\]{}|]/g,Ha=RegExp(ts.source),es=/^\s+/,Xa=/\s/,Ja=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Qa=/\{\n\/\* \[wrapped with (.+)\] \*/,Va=/,? & /,tu=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,eu=/[()=,{}\[\]\/\s]/,ru=/\\(\\)?/g,nu=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,_o=/\w*$/,iu=/^[-+]0x[0-9a-f]+$/i,su=/^0b[01]+$/i,ou=/^\[object .+?Constructor\]$/,au=/^0o[0-7]+$/i,uu=/^(?:0|[1-9]\d*)$/,lu=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,xi=/($^)/,Xn=/['\n\r\u2028\u2029\\]/g,Yt="\\ud800-\\udfff",je="\\u0300-\\u036f",fu="\\ufe20-\\ufe2f",Ai="\\u20d0-\\u20ff",Fn=je+fu+Ai,mo="\\u2700-\\u27bf",sh="a-z\\xdf-\\xf6\\xf8-\\xff",Ay="\\xac\\xb1\\xd7\\xf7",Cy="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Fy="\\u2000-\\u206f",My=" \\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",oh="A-Z\\xc0-\\xd6\\xd8-\\xde",ah="\\ufe0e\\ufe0f",uh=Ay+Cy+Fy+My,cu="['’]",Ny="["+Yt+"]",lh="["+uh+"]",go="["+Fn+"]",fh="\\d+",Sy="["+mo+"]",ch="["+sh+"]",hh="[^"+Yt+uh+fh+mo+sh+oh+"]",hu="\\ud83c[\\udffb-\\udfff]",By="(?:"+go+"|"+hu+")",ph="[^"+Yt+"]",pu="(?:\\ud83c[\\udde6-\\uddff]){2}",du="[\\ud800-\\udbff][\\udc00-\\udfff]",Ci="["+oh+"]",dh="\\u200d",_h="(?:"+ch+"|"+hh+")",Ty="(?:"+Ci+"|"+hh+")",mh="(?:"+cu+"(?:d|ll|m|re|s|t|ve))?",gh="(?:"+cu+"(?:D|LL|M|RE|S|T|VE))?",vh=By+"?",wh="["+ah+"]?",Oy="(?:"+dh+"(?:"+[ph,pu,du].join("|")+")"+wh+vh+")*",Iy="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",$y="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",yh=wh+vh+Oy,Ly="(?:"+[Sy,pu,du].join("|")+")"+yh,Ry="(?:"+[ph+go+"?",go,pu,du,Ny].join("|")+")",Py=RegExp(cu,"g"),zy=RegExp(go,"g"),_u=RegExp(hu+"(?="+hu+")|"+Ry+yh,"g"),qy=RegExp([Ci+"?"+ch+"+"+mh+"(?="+[lh,Ci,"$"].join("|")+")",Ty+"+"+gh+"(?="+[lh,Ci+_h,"$"].join("|")+")",Ci+"?"+_h+"+"+mh,Ci+"+"+gh,$y,Iy,fh,Ly].join("|"),"g"),ky=RegExp("["+dh+Yt+Fn+ah+"]"),Uy=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Wy=["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"],jy=-1,he={};he[ct]=he[ut]=he[ht]=he[at]=he[Ht]=he[te]=he[_e]=he[Le]=he[Te]=!0,he[bt]=he[Bt]=he[st]=he[ne]=he[rt]=he[Ot]=he[se]=he[Vt]=he[Kt]=he[Ne]=he[Be]=he[sn]=he[fr]=he[An]=he[H]=!1;var fe={};fe[bt]=fe[Bt]=fe[st]=fe[rt]=fe[ne]=fe[Ot]=fe[ct]=fe[ut]=fe[ht]=fe[at]=fe[Ht]=fe[Kt]=fe[Ne]=fe[Be]=fe[sn]=fe[fr]=fe[An]=fe[$]=fe[te]=fe[_e]=fe[Le]=fe[Te]=!0,fe[se]=fe[Vt]=fe[H]=!1;var Yy={À:"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"},Zy={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},Gy={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"},Ky={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Hy=parseFloat,Xy=parseInt,Dh=typeof jt=="object"&&jt&&jt.Object===Object&&jt,Jy=typeof self=="object"&&self&&self.Object===Object&&self,qe=Dh||Jy||Function("return this")(),mu=t&&!t.nodeType&&t,Jn=mu&&!0&&i&&!i.nodeType&&i,bh=Jn&&Jn.exports===mu,gu=bh&&Dh.process,Er=function(){try{var j=Jn&&Jn.require&&Jn.require("util").types;return j||gu&&gu.binding&&gu.binding("util")}catch{}}(),Eh=Er&&Er.isArrayBuffer,xh=Er&&Er.isDate,Ah=Er&&Er.isMap,Ch=Er&&Er.isRegExp,Fh=Er&&Er.isSet,Mh=Er&&Er.isTypedArray;function pr(j,J,X){switch(X.length){case 0:return j.call(J);case 1:return j.call(J,X[0]);case 2:return j.call(J,X[0],X[1]);case 3:return j.call(J,X[0],X[1],X[2])}return j.apply(J,X)}function Qy(j,J,X,gt){for(var Tt=-1,Jt=j==null?0:j.length;++Tt<Jt;){var Oe=j[Tt];J(gt,Oe,X(Oe),j)}return gt}function xr(j,J){for(var X=-1,gt=j==null?0:j.length;++X<gt&&J(j[X],X,j)!==!1;);return j}function Vy(j,J){for(var X=j==null?0:j.length;X--&&J(j[X],X,j)!==!1;);return j}function Nh(j,J){for(var X=-1,gt=j==null?0:j.length;++X<gt;)if(!J(j[X],X,j))return!1;return!0}function Mn(j,J){for(var X=-1,gt=j==null?0:j.length,Tt=0,Jt=[];++X<gt;){var Oe=j[X];J(Oe,X,j)&&(Jt[Tt++]=Oe)}return Jt}function vo(j,J){var X=j==null?0:j.length;return!!X&&Fi(j,J,0)>-1}function vu(j,J,X){for(var gt=-1,Tt=j==null?0:j.length;++gt<Tt;)if(X(J,j[gt]))return!0;return!1}function me(j,J){for(var X=-1,gt=j==null?0:j.length,Tt=Array(gt);++X<gt;)Tt[X]=J(j[X],X,j);return Tt}function Nn(j,J){for(var X=-1,gt=J.length,Tt=j.length;++X<gt;)j[Tt+X]=J[X];return j}function wu(j,J,X,gt){var Tt=-1,Jt=j==null?0:j.length;for(gt&&Jt&&(X=j[++Tt]);++Tt<Jt;)X=J(X,j[Tt],Tt,j);return X}function tD(j,J,X,gt){var Tt=j==null?0:j.length;for(gt&&Tt&&(X=j[--Tt]);Tt--;)X=J(X,j[Tt],Tt,j);return X}function yu(j,J){for(var X=-1,gt=j==null?0:j.length;++X<gt;)if(J(j[X],X,j))return!0;return!1}var eD=Du("length");function rD(j){return j.split("")}function nD(j){return j.match(tu)||[]}function Sh(j,J,X){var gt;return X(j,function(Tt,Jt,Oe){if(J(Tt,Jt,Oe))return gt=Jt,!1}),gt}function wo(j,J,X,gt){for(var Tt=j.length,Jt=X+(gt?1:-1);gt?Jt--:++Jt<Tt;)if(J(j[Jt],Jt,j))return Jt;return-1}function Fi(j,J,X){return J===J?_D(j,J,X):wo(j,Bh,X)}function iD(j,J,X,gt){for(var Tt=X-1,Jt=j.length;++Tt<Jt;)if(gt(j[Tt],J))return Tt;return-1}function Bh(j){return j!==j}function Th(j,J){var X=j==null?0:j.length;return X?Eu(j,J)/X:tt}function Du(j){return function(J){return J==null?e:J[j]}}function bu(j){return function(J){return j==null?e:j[J]}}function Oh(j,J,X,gt,Tt){return Tt(j,function(Jt,Oe,ue){X=gt?(gt=!1,Jt):J(X,Jt,Oe,ue)}),X}function sD(j,J){var X=j.length;for(j.sort(J);X--;)j[X]=j[X].value;return j}function Eu(j,J){for(var X,gt=-1,Tt=j.length;++gt<Tt;){var Jt=J(j[gt]);Jt!==e&&(X=X===e?Jt:X+Jt)}return X}function xu(j,J){for(var X=-1,gt=Array(j);++X<j;)gt[X]=J(X);return gt}function oD(j,J){return me(J,function(X){return[X,j[X]]})}function Ih(j){return j&&j.slice(0,Ph(j)+1).replace(es,"")}function dr(j){return function(J){return j(J)}}function Au(j,J){return me(J,function(X){return j[X]})}function rs(j,J){return j.has(J)}function $h(j,J){for(var X=-1,gt=j.length;++X<gt&&Fi(J,j[X],0)>-1;);return X}function Lh(j,J){for(var X=j.length;X--&&Fi(J,j[X],0)>-1;);return X}function aD(j,J){for(var X=j.length,gt=0;X--;)j[X]===J&&++gt;return gt}var uD=bu(Yy),lD=bu(Zy);function fD(j){return"\\"+Ky[j]}function cD(j,J){return j==null?e:j[J]}function Mi(j){return ky.test(j)}function hD(j){return Uy.test(j)}function pD(j){for(var J,X=[];!(J=j.next()).done;)X.push(J.value);return X}function Cu(j){var J=-1,X=Array(j.size);return j.forEach(function(gt,Tt){X[++J]=[Tt,gt]}),X}function Rh(j,J){return function(X){return j(J(X))}}function Sn(j,J){for(var X=-1,gt=j.length,Tt=0,Jt=[];++X<gt;){var Oe=j[X];(Oe===J||Oe===p)&&(j[X]=p,Jt[Tt++]=X)}return Jt}function yo(j){var J=-1,X=Array(j.size);return j.forEach(function(gt){X[++J]=gt}),X}function dD(j){var J=-1,X=Array(j.size);return j.forEach(function(gt){X[++J]=[gt,gt]}),X}function _D(j,J,X){for(var gt=X-1,Tt=j.length;++gt<Tt;)if(j[gt]===J)return gt;return-1}function mD(j,J,X){for(var gt=X+1;gt--;)if(j[gt]===J)return gt;return gt}function Ni(j){return Mi(j)?vD(j):eD(j)}function Pr(j){return Mi(j)?wD(j):rD(j)}function Ph(j){for(var J=j.length;J--&&Xa.test(j.charAt(J)););return J}var gD=bu(Gy);function vD(j){for(var J=_u.lastIndex=0;_u.test(j);)++J;return J}function wD(j){return j.match(_u)||[]}function yD(j){return j.match(qy)||[]}var DD=function j(J){J=J==null?qe:Si.defaults(qe.Object(),J,Si.pick(qe,Wy));var X=J.Array,gt=J.Date,Tt=J.Error,Jt=J.Function,Oe=J.Math,ue=J.Object,Fu=J.RegExp,bD=J.String,Ar=J.TypeError,Do=X.prototype,ED=Jt.prototype,Bi=ue.prototype,bo=J["__core-js_shared__"],Eo=ED.toString,ie=Bi.hasOwnProperty,xD=0,zh=function(){var o=/[^.]+$/.exec(bo&&bo.keys&&bo.keys.IE_PROTO||"");return o?"Symbol(src)_1."+o:""}(),xo=Bi.toString,AD=Eo.call(ue),CD=qe._,FD=Fu("^"+Eo.call(ie).replace(ts,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ao=bh?J.Buffer:e,Bn=J.Symbol,Co=J.Uint8Array,qh=Ao?Ao.allocUnsafe:e,Fo=Rh(ue.getPrototypeOf,ue),kh=ue.create,Uh=Bi.propertyIsEnumerable,Mo=Do.splice,Wh=Bn?Bn.isConcatSpreadable:e,ns=Bn?Bn.iterator:e,Qn=Bn?Bn.toStringTag:e,No=function(){try{var o=ni(ue,"defineProperty");return o({},"",{}),o}catch{}}(),MD=J.clearTimeout!==qe.clearTimeout&&J.clearTimeout,ND=gt&&gt.now!==qe.Date.now&&gt.now,SD=J.setTimeout!==qe.setTimeout&&J.setTimeout,So=Oe.ceil,Bo=Oe.floor,Mu=ue.getOwnPropertySymbols,BD=Ao?Ao.isBuffer:e,jh=J.isFinite,TD=Do.join,OD=Rh(ue.keys,ue),Ie=Oe.max,Ye=Oe.min,ID=gt.now,$D=J.parseInt,Yh=Oe.random,LD=Do.reverse,Nu=ni(J,"DataView"),is=ni(J,"Map"),Su=ni(J,"Promise"),Ti=ni(J,"Set"),ss=ni(J,"WeakMap"),os=ni(ue,"create"),To=ss&&new ss,Oi={},RD=ii(Nu),PD=ii(is),zD=ii(Su),qD=ii(Ti),kD=ii(ss),Oo=Bn?Bn.prototype:e,as=Oo?Oo.valueOf:e,Zh=Oo?Oo.toString:e;function B(o){if(De(o)&&!It(o)&&!(o instanceof Ut)){if(o instanceof Cr)return o;if(ie.call(o,"__wrapped__"))return G0(o)}return new Cr(o)}var Ii=function(){function o(){}return function(u){if(!ye(u))return{};if(kh)return kh(u);o.prototype=u;var _=new o;return o.prototype=e,_}}();function Io(){}function Cr(o,u){this.__wrapped__=o,this.__actions__=[],this.__chain__=!!u,this.__index__=0,this.__values__=e}B.templateSettings={escape:ja,evaluate:Ya,interpolate:po,variable:"",imports:{_:B}},B.prototype=Io.prototype,B.prototype.constructor=B,Cr.prototype=Ii(Io.prototype),Cr.prototype.constructor=Cr;function Ut(o){this.__wrapped__=o,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=ft,this.__views__=[]}function UD(){var o=new Ut(this.__wrapped__);return o.__actions__=er(this.__actions__),o.__dir__=this.__dir__,o.__filtered__=this.__filtered__,o.__iteratees__=er(this.__iteratees__),o.__takeCount__=this.__takeCount__,o.__views__=er(this.__views__),o}function WD(){if(this.__filtered__){var o=new Ut(this);o.__dir__=-1,o.__filtered__=!0}else o=this.clone(),o.__dir__*=-1;return o}function jD(){var o=this.__wrapped__.value(),u=this.__dir__,_=It(o),y=u<0,A=_?o.length:0,O=rE(0,A,this.__views__),R=O.start,q=O.end,Y=q-R,V=y?q:R-1,et=this.__iteratees__,ot=et.length,dt=0,wt=Ye(Y,this.__takeCount__);if(!_||!y&&A==Y&&wt==Y)return m0(o,this.__actions__);var Ct=[];t:for(;Y--&&dt<wt;){V+=u;for(var Rt=-1,Ft=o[V];++Rt<ot;){var kt=et[Rt],Wt=kt.iteratee,gr=kt.type,Xe=Wt(Ft);if(gr==W)Ft=Xe;else if(!Xe){if(gr==k)continue t;break t}}Ct[dt++]=Ft}return Ct}Ut.prototype=Ii(Io.prototype),Ut.prototype.constructor=Ut;function Vn(o){var u=-1,_=o==null?0:o.length;for(this.clear();++u<_;){var y=o[u];this.set(y[0],y[1])}}function YD(){this.__data__=os?os(null):{},this.size=0}function ZD(o){var u=this.has(o)&&delete this.__data__[o];return this.size-=u?1:0,u}function GD(o){var u=this.__data__;if(os){var _=u[o];return _===f?e:_}return ie.call(u,o)?u[o]:e}function KD(o){var u=this.__data__;return os?u[o]!==e:ie.call(u,o)}function HD(o,u){var _=this.__data__;return this.size+=this.has(o)?0:1,_[o]=os&&u===e?f:u,this}Vn.prototype.clear=YD,Vn.prototype.delete=ZD,Vn.prototype.get=GD,Vn.prototype.has=KD,Vn.prototype.set=HD;function on(o){var u=-1,_=o==null?0:o.length;for(this.clear();++u<_;){var y=o[u];this.set(y[0],y[1])}}function XD(){this.__data__=[],this.size=0}function JD(o){var u=this.__data__,_=$o(u,o);if(_<0)return!1;var y=u.length-1;return _==y?u.pop():Mo.call(u,_,1),--this.size,!0}function QD(o){var u=this.__data__,_=$o(u,o);return _<0?e:u[_][1]}function VD(o){return $o(this.__data__,o)>-1}function tb(o,u){var _=this.__data__,y=$o(_,o);return y<0?(++this.size,_.push([o,u])):_[y][1]=u,this}on.prototype.clear=XD,on.prototype.delete=JD,on.prototype.get=QD,on.prototype.has=VD,on.prototype.set=tb;function an(o){var u=-1,_=o==null?0:o.length;for(this.clear();++u<_;){var y=o[u];this.set(y[0],y[1])}}function eb(){this.size=0,this.__data__={hash:new Vn,map:new(is||on),string:new Vn}}function rb(o){var u=Go(this,o).delete(o);return this.size-=u?1:0,u}function nb(o){return Go(this,o).get(o)}function ib(o){return Go(this,o).has(o)}function sb(o,u){var _=Go(this,o),y=_.size;return _.set(o,u),this.size+=_.size==y?0:1,this}an.prototype.clear=eb,an.prototype.delete=rb,an.prototype.get=nb,an.prototype.has=ib,an.prototype.set=sb;function ti(o){var u=-1,_=o==null?0:o.length;for(this.__data__=new an;++u<_;)this.add(o[u])}function ob(o){return this.__data__.set(o,f),this}function ab(o){return this.__data__.has(o)}ti.prototype.add=ti.prototype.push=ob,ti.prototype.has=ab;function zr(o){var u=this.__data__=new on(o);this.size=u.size}function ub(){this.__data__=new on,this.size=0}function lb(o){var u=this.__data__,_=u.delete(o);return this.size=u.size,_}function fb(o){return this.__data__.get(o)}function cb(o){return this.__data__.has(o)}function hb(o,u){var _=this.__data__;if(_ instanceof on){var y=_.__data__;if(!is||y.length<n-1)return y.push([o,u]),this.size=++_.size,this;_=this.__data__=new an(y)}return _.set(o,u),this.size=_.size,this}zr.prototype.clear=ub,zr.prototype.delete=lb,zr.prototype.get=fb,zr.prototype.has=cb,zr.prototype.set=hb;function Gh(o,u){var _=It(o),y=!_&&si(o),A=!_&&!y&&Ln(o),O=!_&&!y&&!A&&Pi(o),R=_||y||A||O,q=R?xu(o.length,bD):[],Y=q.length;for(var V in o)(u||ie.call(o,V))&&!(R&&(V=="length"||A&&(V=="offset"||V=="parent")||O&&(V=="buffer"||V=="byteLength"||V=="byteOffset")||cn(V,Y)))&&q.push(V);return q}function Kh(o){var u=o.length;return u?o[ku(0,u-1)]:e}function pb(o,u){return Ko(er(o),ei(u,0,o.length))}function db(o){return Ko(er(o))}function Bu(o,u,_){(_!==e&&!qr(o[u],_)||_===e&&!(u in o))&&un(o,u,_)}function us(o,u,_){var y=o[u];(!(ie.call(o,u)&&qr(y,_))||_===e&&!(u in o))&&un(o,u,_)}function $o(o,u){for(var _=o.length;_--;)if(qr(o[_][0],u))return _;return-1}function _b(o,u,_,y){return Tn(o,function(A,O,R){u(y,A,_(A),R)}),y}function Hh(o,u){return o&&Xr(u,Re(u),o)}function mb(o,u){return o&&Xr(u,nr(u),o)}function un(o,u,_){u=="__proto__"&&No?No(o,u,{configurable:!0,enumerable:!0,value:_,writable:!0}):o[u]=_}function Tu(o,u){for(var _=-1,y=u.length,A=X(y),O=o==null;++_<y;)A[_]=O?e:hl(o,u[_]);return A}function ei(o,u,_){return o===o&&(_!==e&&(o=o<=_?o:_),u!==e&&(o=o>=u?o:u)),o}function Fr(o,u,_,y,A,O){var R,q=u&c,Y=u&d,V=u&g;if(_&&(R=A?_(o,y,A,O):_(o)),R!==e)return R;if(!ye(o))return o;var et=It(o);if(et){if(R=iE(o),!q)return er(o,R)}else{var ot=Ze(o),dt=ot==Vt||ot==qt;if(Ln(o))return w0(o,q);if(ot==Be||ot==bt||dt&&!A){if(R=Y||dt?{}:P0(o),!q)return Y?Gb(o,mb(R,o)):Zb(o,Hh(R,o))}else{if(!fe[ot])return A?o:{};R=sE(o,ot,q)}}O||(O=new zr);var wt=O.get(o);if(wt)return wt;O.set(o,R),pp(o)?o.forEach(function(Ft){R.add(Fr(Ft,u,_,Ft,o,O))}):cp(o)&&o.forEach(function(Ft,kt){R.set(kt,Fr(Ft,u,_,kt,o,O))});var Ct=V?Y?Qu:Ju:Y?nr:Re,Rt=et?e:Ct(o);return xr(Rt||o,function(Ft,kt){Rt&&(kt=Ft,Ft=o[kt]),us(R,kt,Fr(Ft,u,_,kt,o,O))}),R}function gb(o){var u=Re(o);return function(_){return Xh(_,o,u)}}function Xh(o,u,_){var y=_.length;if(o==null)return!y;for(o=ue(o);y--;){var A=_[y],O=u[A],R=o[A];if(R===e&&!(A in o)||!O(R))return!1}return!0}function Jh(o,u,_){if(typeof o!="function")throw new Ar(a);return _s(function(){o.apply(e,_)},u)}function ls(o,u,_,y){var A=-1,O=vo,R=!0,q=o.length,Y=[],V=u.length;if(!q)return Y;_&&(u=me(u,dr(_))),y?(O=vu,R=!1):u.length>=n&&(O=rs,R=!1,u=new ti(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=V;dt--;)if(u[dt]===ot)continue t;Y.push(et)}else O(u,ot,y)||Y.push(et)}return Y}var Tn=x0(Hr),Qh=x0(Iu,!0);function vb(o,u){var _=!0;return Tn(o,function(y,A,O){return _=!!u(y,A,O),_}),_}function Lo(o,u,_){for(var y=-1,A=o.length;++y<A;){var O=o[y],R=u(O);if(R!=null&&(q===e?R===R&&!mr(R):_(R,q)))var q=R,Y=O}return Y}function wb(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:_p(y);_<y;)o[_++]=u;return o}function Vh(o,u){var _=[];return Tn(o,function(y,A,O){u(y,A,O)&&_.push(y)}),_}function ke(o,u,_,y,A){var O=-1,R=o.length;for(_||(_=aE),A||(A=[]);++O<R;){var q=o[O];u>0&&_(q)?u>1?ke(q,u-1,_,y,A):Nn(A,q):y||(A[A.length]=q)}return A}var Ou=A0(),t0=A0(!0);function Hr(o,u){return o&&Ou(o,u,Re)}function Iu(o,u){return o&&t0(o,u,Re)}function Ro(o,u){return Mn(u,function(_){return hn(o[_])})}function ri(o,u){u=In(u,o);for(var _=0,y=u.length;o!=null&&_<y;)o=o[Jr(u[_++])];return _&&_==y?o:e}function e0(o,u,_){var y=u(o);return It(o)?y:Nn(y,_(o))}function Ke(o){return o==null?o===e?Z:lr:Qn&&Qn in ue(o)?eE(o):dE(o)}function $u(o,u){return o>u}function yb(o,u){return o!=null&&ie.call(o,u)}function Db(o,u){return o!=null&&u in ue(o)}function bb(o,u,_){return o>=Ye(u,_)&&o<Ie(u,_)}function Lu(o,u,_){for(var y=_?vu:vo,A=o[0].length,O=o.length,R=O,q=X(O),Y=1/0,V=[];R--;){var et=o[R];R&&u&&(et=me(et,dr(u))),Y=Ye(et.length,Y),q[R]=!_&&(u||A>=120&&et.length>=120)?new ti(R&&et):e}et=o[0];var ot=-1,dt=q[0];t:for(;++ot<A&&V.length<Y;){var wt=et[ot],Ct=u?u(wt):wt;if(wt=_||wt!==0?wt:0,!(dt?rs(dt,Ct):y(V,Ct,_))){for(R=O;--R;){var Rt=q[R];if(!(Rt?rs(Rt,Ct):y(o[R],Ct,_)))continue t}dt&&dt.push(Ct),V.push(wt)}}return V}function Eb(o,u,_,y){return Hr(o,function(A,O,R){u(y,_(A),O,R)}),y}function fs(o,u,_){u=In(u,o),o=U0(o,u);var y=o==null?o:o[Jr(Nr(u))];return y==null?e:pr(y,o,_)}function r0(o){return De(o)&&Ke(o)==bt}function xb(o){return De(o)&&Ke(o)==st}function Ab(o){return De(o)&&Ke(o)==Ot}function cs(o,u,_,y,A){return o===u?!0:o==null||u==null||!De(o)&&!De(u)?o!==o&&u!==u:Cb(o,u,_,y,cs,A)}function Cb(o,u,_,y,A,O){var R=It(o),q=It(u),Y=R?Bt:Ze(o),V=q?Bt:Ze(u);Y=Y==bt?Be:Y,V=V==bt?Be:V;var et=Y==Be,ot=V==Be,dt=Y==V;if(dt&&Ln(o)){if(!Ln(u))return!1;R=!0,et=!1}if(dt&&!et)return O||(O=new zr),R||Pi(o)?$0(o,u,_,y,A,O):Vb(o,u,Y,_,y,A,O);if(!(_&w)){var wt=et&&ie.call(o,"__wrapped__"),Ct=ot&&ie.call(u,"__wrapped__");if(wt||Ct){var Rt=wt?o.value():o,Ft=Ct?u.value():u;return O||(O=new zr),A(Rt,Ft,_,y,O)}}return dt?(O||(O=new zr),tE(o,u,_,y,A,O)):!1}function Fb(o){return De(o)&&Ze(o)==Kt}function Ru(o,u,_,y){var A=_.length,O=A,R=!y;if(o==null)return!O;for(o=ue(o);A--;){var q=_[A];if(R&&q[2]?q[1]!==o[q[0]]:!(q[0]in o))return!1}for(;++A<O;){q=_[A];var Y=q[0],V=o[Y],et=q[1];if(R&&q[2]){if(V===e&&!(Y in o))return!1}else{var ot=new zr;if(y)var dt=y(V,et,Y,o,u,ot);if(!(dt===e?cs(et,V,w|m,y,ot):dt))return!1}}return!0}function n0(o){if(!ye(o)||lE(o))return!1;var u=hn(o)?FD:ou;return u.test(ii(o))}function Mb(o){return De(o)&&Ke(o)==sn}function Nb(o){return De(o)&&Ze(o)==fr}function Sb(o){return De(o)&&ta(o.length)&&!!he[Ke(o)]}function i0(o){return typeof o=="function"?o:o==null?ir:typeof o=="object"?It(o)?a0(o[0],o[1]):o0(o):Cp(o)}function Pu(o){if(!ds(o))return OD(o);var u=[];for(var _ in ue(o))ie.call(o,_)&&_!="constructor"&&u.push(_);return u}function Bb(o){if(!ye(o))return pE(o);var u=ds(o),_=[];for(var y in o)y=="constructor"&&(u||!ie.call(o,y))||_.push(y);return _}function zu(o,u){return o<u}function s0(o,u){var _=-1,y=rr(o)?X(o.length):[];return Tn(o,function(A,O,R){y[++_]=u(A,O,R)}),y}function o0(o){var u=tl(o);return u.length==1&&u[0][2]?q0(u[0][0],u[0][1]):function(_){return _===o||Ru(_,o,u)}}function a0(o,u){return rl(o)&&z0(u)?q0(Jr(o),u):function(_){var y=hl(_,o);return y===e&&y===u?pl(_,o):cs(u,y,w|m)}}function Po(o,u,_,y,A){o!==u&&Ou(u,function(O,R){if(A||(A=new zr),ye(O))Tb(o,u,R,_,Po,y,A);else{var q=y?y(il(o,R),O,R+"",o,u,A):e;q===e&&(q=O),Bu(o,R,q)}},nr)}function Tb(o,u,_,y,A,O,R){var q=il(o,_),Y=il(u,_),V=R.get(Y);if(V){Bu(o,_,V);return}var et=O?O(q,Y,_+"",o,u,R):e,ot=et===e;if(ot){var dt=It(Y),wt=!dt&&Ln(Y),Ct=!dt&&!wt&&Pi(Y);et=Y,dt||wt||Ct?It(q)?et=q:xe(q)?et=er(q):wt?(ot=!1,et=w0(Y,!0)):Ct?(ot=!1,et=y0(Y,!0)):et=[]:ms(Y)||si(Y)?(et=q,si(q)?et=mp(q):(!ye(q)||hn(q))&&(et=P0(Y))):ot=!1}ot&&(R.set(Y,et),A(et,Y,y,O,R),R.delete(Y)),Bu(o,_,et)}function u0(o,u){var _=o.length;if(_)return u+=u<0?_:0,cn(u,_)?o[u]:e}function l0(o,u,_){u.length?u=me(u,function(O){return It(O)?function(R){return ri(R,O.length===1?O[0]:O)}:O}):u=[ir];var y=-1;u=me(u,dr(At()));var A=s0(o,function(O,R,q){var Y=me(u,function(V){return V(O)});return{criteria:Y,index:++y,value:O}});return sD(A,function(O,R){return Yb(O,R,_)})}function Ob(o,u){return f0(o,u,function(_,y){return pl(o,y)})}function f0(o,u,_){for(var y=-1,A=u.length,O={};++y<A;){var R=u[y],q=ri(o,R);_(q,R)&&hs(O,In(R,o),q)}return O}function Ib(o){return function(u){return ri(u,o)}}function qu(o,u,_,y){var A=y?iD:Fi,O=-1,R=u.length,q=o;for(o===u&&(u=er(u)),_&&(q=me(o,dr(_)));++O<R;)for(var Y=0,V=u[O],et=_?_(V):V;(Y=A(q,et,Y,y))>-1;)q!==o&&Mo.call(q,Y,1),Mo.call(o,Y,1);return o}function c0(o,u){for(var _=o?u.length:0,y=_-1;_--;){var A=u[_];if(_==y||A!==O){var O=A;cn(A)?Mo.call(o,A,1):ju(o,A)}}return o}function ku(o,u){return o+Bo(Yh()*(u-o+1))}function $b(o,u,_,y){for(var A=-1,O=Ie(So((u-o)/(_||1)),0),R=X(O);O--;)R[y?O:++A]=o,o+=_;return R}function Uu(o,u){var _="";if(!o||u<1||u>G)return _;do u%2&&(_+=o),u=Bo(u/2),u&&(o+=o);while(u);return _}function Pt(o,u){return sl(k0(o,u,ir),o+"")}function Lb(o){return Kh(zi(o))}function Rb(o,u){var _=zi(o);return Ko(_,ei(u,0,_.length))}function hs(o,u,_,y){if(!ye(o))return o;u=In(u,o);for(var A=-1,O=u.length,R=O-1,q=o;q!=null&&++A<O;){var Y=Jr(u[A]),V=_;if(Y==="__proto__"||Y==="constructor"||Y==="prototype")return o;if(A!=R){var et=q[Y];V=y?y(et,Y,q):e,V===e&&(V=ye(et)?et:cn(u[A+1])?[]:{})}us(q,Y,V),q=q[Y]}return o}var h0=To?function(o,u){return To.set(o,u),o}:ir,Pb=No?function(o,u){return No(o,"toString",{configurable:!0,enumerable:!1,value:_l(u),writable:!0})}:ir;function zb(o){return Ko(zi(o))}function Mr(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 O=X(A);++y<A;)O[y]=o[y+u];return O}function qb(o,u){var _;return Tn(o,function(y,A,O){return _=u(y,A,O),!_}),!!_}function zo(o,u,_){var y=0,A=o==null?y:o.length;if(typeof u=="number"&&u===u&&A<=lt){for(;y<A;){var O=y+A>>>1,R=o[O];R!==null&&!mr(R)&&(_?R<=u:R<u)?y=O+1:A=O}return A}return Wu(o,u,ir,_)}function Wu(o,u,_,y){var A=0,O=o==null?0:o.length;if(O===0)return 0;u=_(u);for(var R=u!==u,q=u===null,Y=mr(u),V=u===e;A<O;){var et=Bo((A+O)/2),ot=_(o[et]),dt=ot!==e,wt=ot===null,Ct=ot===ot,Rt=mr(ot);if(R)var Ft=y||Ct;else V?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:O=et}return Ye(O,vt)}function p0(o,u){for(var _=-1,y=o.length,A=0,O=[];++_<y;){var R=o[_],q=u?u(R):R;if(!_||!qr(q,Y)){var Y=q;O[A++]=R===0?0:R}}return O}function d0(o){return typeof o=="number"?o:mr(o)?tt:+o}function _r(o){if(typeof o=="string")return o;if(It(o))return me(o,_r)+"";if(mr(o))return Zh?Zh.call(o):"";var u=o+"";return u=="0"&&1/o==-K?"-0":u}function On(o,u,_){var y=-1,A=vo,O=o.length,R=!0,q=[],Y=q;if(_)R=!1,A=vu;else if(O>=n){var V=u?null:Jb(o);if(V)return yo(V);R=!1,A=rs,Y=new ti}else Y=u?[]:q;t:for(;++y<O;){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 ju(o,u){return u=In(u,o),o=U0(o,u),o==null||delete o[Jr(Nr(u))]}function _0(o,u,_,y){return hs(o,u,_(ri(o,u)),y)}function qo(o,u,_,y){for(var A=o.length,O=y?A:-1;(y?O--:++O<A)&&u(o[O],O,o););return _?Mr(o,y?0:O,y?O+1:A):Mr(o,y?O+1:0,y?A:O)}function m0(o,u){var _=o;return _ instanceof Ut&&(_=_.value()),wu(u,function(y,A){return A.func.apply(A.thisArg,Nn([y],A.args))},_)}function Yu(o,u,_){var y=o.length;if(y<2)return y?On(o[0]):[];for(var A=-1,O=X(y);++A<y;)for(var R=o[A],q=-1;++q<y;)q!=A&&(O[A]=ls(O[A]||R,o[q],u,_));return On(ke(O,1),u,_)}function g0(o,u,_){for(var y=-1,A=o.length,O=u.length,R={};++y<A;){var q=y<O?u[y]:e;_(R,o[y],q)}return R}function Zu(o){return xe(o)?o:[]}function Gu(o){return typeof o=="function"?o:ir}function In(o,u){return It(o)?o:rl(o,u)?[o]:Z0(ee(o))}var kb=Pt;function $n(o,u,_){var y=o.length;return _=_===e?y:_,!u&&_>=y?o:Mr(o,u,_)}var v0=MD||function(o){return qe.clearTimeout(o)};function w0(o,u){if(u)return o.slice();var _=o.length,y=qh?qh(_):new o.constructor(_);return o.copy(y),y}function Ku(o){var u=new o.constructor(o.byteLength);return new Co(u).set(new Co(o)),u}function Ub(o,u){var _=u?Ku(o.buffer):o.buffer;return new o.constructor(_,o.byteOffset,o.byteLength)}function Wb(o){var u=new o.constructor(o.source,_o.exec(o));return u.lastIndex=o.lastIndex,u}function jb(o){return as?ue(as.call(o)):{}}function y0(o,u){var _=u?Ku(o.buffer):o.buffer;return new o.constructor(_,o.byteOffset,o.length)}function D0(o,u){if(o!==u){var _=o!==e,y=o===null,A=o===o,O=mr(o),R=u!==e,q=u===null,Y=u===u,V=mr(u);if(!q&&!V&&!O&&o>u||O&&R&&Y&&!q&&!V||y&&R&&Y||!_&&Y||!A)return 1;if(!y&&!O&&!V&&o<u||V&&_&&A&&!y&&!O||q&&_&&A||!R&&A||!Y)return-1}return 0}function Yb(o,u,_){for(var y=-1,A=o.criteria,O=u.criteria,R=A.length,q=_.length;++y<R;){var Y=D0(A[y],O[y]);if(Y){if(y>=q)return Y;var V=_[y];return Y*(V=="desc"?-1:1)}}return o.index-u.index}function b0(o,u,_,y){for(var A=-1,O=o.length,R=_.length,q=-1,Y=u.length,V=Ie(O-R,0),et=X(Y+V),ot=!y;++q<Y;)et[q]=u[q];for(;++A<R;)(ot||A<O)&&(et[_[A]]=o[A]);for(;V--;)et[q++]=o[A++];return et}function E0(o,u,_,y){for(var A=-1,O=o.length,R=-1,q=_.length,Y=-1,V=u.length,et=Ie(O-q,0),ot=X(et+V),dt=!y;++A<et;)ot[A]=o[A];for(var wt=A;++Y<V;)ot[wt+Y]=u[Y];for(;++R<q;)(dt||A<O)&&(ot[wt+_[R]]=o[A++]);return ot}function er(o,u){var _=-1,y=o.length;for(u||(u=X(y));++_<y;)u[_]=o[_];return u}function Xr(o,u,_,y){var A=!_;_||(_={});for(var O=-1,R=u.length;++O<R;){var q=u[O],Y=y?y(_[q],o[q],q,_,o):e;Y===e&&(Y=o[q]),A?un(_,q,Y):us(_,q,Y)}return _}function Zb(o,u){return Xr(o,el(o),u)}function Gb(o,u){return Xr(o,L0(o),u)}function ko(o,u){return function(_,y){var A=It(_)?Qy:_b,O=u?u():{};return A(_,o,At(y,2),O)}}function $i(o){return Pt(function(u,_){var y=-1,A=_.length,O=A>1?_[A-1]:e,R=A>2?_[2]:e;for(O=o.length>3&&typeof O=="function"?(A--,O):e,R&&He(_[0],_[1],R)&&(O=A<3?e:O,A=1),u=ue(u);++y<A;){var q=_[y];q&&o(u,q,y,O)}return u})}function x0(o,u){return function(_,y){if(_==null)return _;if(!rr(_))return o(_,y);for(var A=_.length,O=u?A:-1,R=ue(_);(u?O--:++O<A)&&y(R[O],O,R)!==!1;);return _}}function A0(o){return function(u,_,y){for(var A=-1,O=ue(u),R=y(u),q=R.length;q--;){var Y=R[o?q:++A];if(_(O[Y],Y,O)===!1)break}return u}}function Kb(o,u,_){var y=u&D,A=ps(o);function O(){var R=this&&this!==qe&&this instanceof O?A:o;return R.apply(y?_:this,arguments)}return O}function C0(o){return function(u){u=ee(u);var _=Mi(u)?Pr(u):e,y=_?_[0]:u.charAt(0),A=_?$n(_,1).join(""):u.slice(1);return y[o]()+A}}function Li(o){return function(u){return wu(xp(Ep(u).replace(Py,"")),o,"")}}function ps(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 _=Ii(o.prototype),y=o.apply(_,u);return ye(y)?y:_}}function Hb(o,u,_){var y=ps(o);function A(){for(var O=arguments.length,R=X(O),q=O,Y=Ri(A);q--;)R[q]=arguments[q];var V=O<3&&R[0]!==Y&&R[O-1]!==Y?[]:Sn(R,Y);if(O-=V.length,O<_)return B0(o,u,Uo,A.placeholder,e,R,V,e,e,_-O);var et=this&&this!==qe&&this instanceof A?y:o;return pr(et,this,R)}return A}function F0(o){return function(u,_,y){var A=ue(u);if(!rr(u)){var O=At(_,3);u=Re(u),_=function(q){return O(A[q],q,A)}}var R=o(u,_,y);return R>-1?A[O?u[R]:R]:e}}function M0(o){return fn(function(u){var _=u.length,y=_,A=Cr.prototype.thru;for(o&&u.reverse();y--;){var O=u[y];if(typeof O!="function")throw new Ar(a);if(A&&!R&&Zo(O)=="wrapper")var R=new Cr([],!0)}for(y=R?y:_;++y<_;){O=u[y];var q=Zo(O),Y=q=="wrapper"?Vu(O):e;Y&&nl(Y[0])&&Y[1]==(M|b|x|S)&&!Y[4].length&&Y[9]==1?R=R[Zo(Y[0])].apply(R,Y[3]):R=O.length==1&&nl(O)?R[q]():R.thru(O)}return function(){var V=arguments,et=V[0];if(R&&V.length==1&&It(et))return R.plant(et).value();for(var ot=0,dt=_?u[ot].apply(this,V):et;++ot<_;)dt=u[ot].call(this,dt);return dt}})}function Uo(o,u,_,y,A,O,R,q,Y,V){var et=u&M,ot=u&D,dt=u&v,wt=u&(b|N),Ct=u&I,Rt=dt?e:ps(o);function Ft(){for(var kt=arguments.length,Wt=X(kt),gr=kt;gr--;)Wt[gr]=arguments[gr];if(wt)var Xe=Ri(Ft),vr=aD(Wt,Xe);if(y&&(Wt=b0(Wt,y,A,wt)),O&&(Wt=E0(Wt,O,R,wt)),kt-=vr,wt&&kt<V){var Ae=Sn(Wt,Xe);return B0(o,u,Uo,Ft.placeholder,_,Wt,Ae,q,Y,V-kt)}var kr=ot?_:this,dn=dt?kr[o]:o;return kt=Wt.length,q?Wt=_E(Wt,q):Ct&&kt>1&&Wt.reverse(),et&&Y<kt&&(Wt.length=Y),this&&this!==qe&&this instanceof Ft&&(dn=Rt||ps(dn)),dn.apply(kr,Wt)}return Ft}function N0(o,u){return function(_,y){return Eb(_,o,u(y),{})}}function Wo(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"?(_=_r(_),y=_r(y)):(_=d0(_),y=d0(y)),A=o(_,y)}return A}}function Hu(o){return fn(function(u){return u=me(u,dr(At())),Pt(function(_){var y=this;return o(u,function(A){return pr(A,y,_)})})})}function jo(o,u){u=u===e?" ":_r(u);var _=u.length;if(_<2)return _?Uu(u,o):u;var y=Uu(u,So(o/Ni(u)));return Mi(u)?$n(Pr(y),0,o).join(""):y.slice(0,o)}function Xb(o,u,_,y){var A=u&D,O=ps(o);function R(){for(var q=-1,Y=arguments.length,V=-1,et=y.length,ot=X(et+Y),dt=this&&this!==qe&&this instanceof R?O:o;++V<et;)ot[V]=y[V];for(;Y--;)ot[V++]=arguments[++q];return pr(dt,A?_:this,ot)}return R}function S0(o){return function(u,_,y){return y&&typeof y!="number"&&He(u,_,y)&&(_=y=e),u=pn(u),_===e?(_=u,u=0):_=pn(_),y=y===e?u<_?1:-1:pn(y),$b(u,_,y,o)}}function Yo(o){return function(u,_){return typeof u=="string"&&typeof _=="string"||(u=Sr(u),_=Sr(_)),o(u,_)}}function B0(o,u,_,y,A,O,R,q,Y,V){var et=u&b,ot=et?R:e,dt=et?e:R,wt=et?O:e,Ct=et?e:O;u|=et?x:F,u&=~(et?F:x),u&E||(u&=~(D|v));var Rt=[o,u,A,wt,ot,Ct,dt,q,Y,V],Ft=_.apply(e,Rt);return nl(o)&&W0(Ft,Rt),Ft.placeholder=y,j0(Ft,o,u)}function Xu(o){var u=Oe[o];return function(_,y){if(_=Sr(_),y=y==null?0:Ye(Lt(y),292),y&&jh(_)){var A=(ee(_)+"e").split("e"),O=u(A[0]+"e"+(+A[1]+y));return A=(ee(O)+"e").split("e"),+(A[0]+"e"+(+A[1]-y))}return u(_)}}var Jb=Ti&&1/yo(new Ti([,-0]))[1]==K?function(o){return new Ti(o)}:vl;function T0(o){return function(u){var _=Ze(u);return _==Kt?Cu(u):_==fr?dD(u):oD(u,o(u))}}function ln(o,u,_,y,A,O,R,q){var Y=u&v;if(!Y&&typeof o!="function")throw new Ar(a);var V=y?y.length:0;if(V||(u&=~(x|F),y=A=e),R=R===e?R:Ie(Lt(R),0),q=q===e?q:Lt(q),V-=A?A.length:0,u&F){var et=y,ot=A;y=A=e}var dt=Y?e:Vu(o),wt=[o,u,_,y,A,et,ot,O,R,q];if(dt&&hE(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:Ie(wt[9]-V,0),!q&&u&(b|N)&&(u&=~(b|N)),!u||u==D)var Ct=Kb(o,u,_);else u==b||u==N?Ct=Hb(o,u,q):(u==x||u==(D|x))&&!A.length?Ct=Xb(o,u,_,y):Ct=Uo.apply(e,wt);var Rt=dt?h0:W0;return j0(Rt(Ct,wt),o,u)}function O0(o,u,_,y){return o===e||qr(o,Bi[_])&&!ie.call(y,_)?u:o}function I0(o,u,_,y,A,O){return ye(o)&&ye(u)&&(O.set(u,o),Po(o,u,e,I0,O),O.delete(u)),o}function Qb(o){return ms(o)?e:o}function $0(o,u,_,y,A,O){var R=_&w,q=o.length,Y=u.length;if(q!=Y&&!(R&&Y>q))return!1;var V=O.get(o),et=O.get(u);if(V&&et)return V==u&&et==o;var ot=-1,dt=!0,wt=_&m?new ti:e;for(O.set(o,u),O.set(u,o);++ot<q;){var Ct=o[ot],Rt=u[ot];if(y)var Ft=R?y(Rt,Ct,ot,u,o,O):y(Ct,Rt,ot,o,u,O);if(Ft!==e){if(Ft)continue;dt=!1;break}if(wt){if(!yu(u,function(kt,Wt){if(!rs(wt,Wt)&&(Ct===kt||A(Ct,kt,_,y,O)))return wt.push(Wt)})){dt=!1;break}}else if(!(Ct===Rt||A(Ct,Rt,_,y,O))){dt=!1;break}}return O.delete(o),O.delete(u),dt}function Vb(o,u,_,y,A,O,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||!O(new Co(o),new Co(u)));case ne:case Ot:case Ne:return qr(+o,+u);case se:return o.name==u.name&&o.message==u.message;case sn:case An:return o==u+"";case Kt:var q=Cu;case fr:var Y=y&w;if(q||(q=yo),o.size!=u.size&&!Y)return!1;var V=R.get(o);if(V)return V==u;y|=m,R.set(o,u);var et=$0(q(o),q(u),y,A,O,R);return R.delete(o),et;case $:if(as)return as.call(o)==as.call(u)}return!1}function tE(o,u,_,y,A,O){var R=_&w,q=Ju(o),Y=q.length,V=Ju(u),et=V.length;if(Y!=et&&!R)return!1;for(var ot=Y;ot--;){var dt=q[ot];if(!(R?dt in u:ie.call(u,dt)))return!1}var wt=O.get(o),Ct=O.get(u);if(wt&&Ct)return wt==u&&Ct==o;var Rt=!0;O.set(o,u),O.set(u,o);for(var Ft=R;++ot<Y;){dt=q[ot];var kt=o[dt],Wt=u[dt];if(y)var gr=R?y(Wt,kt,dt,u,o,O):y(kt,Wt,dt,o,u,O);if(!(gr===e?kt===Wt||A(kt,Wt,_,y,O):gr)){Rt=!1;break}Ft||(Ft=dt=="constructor")}if(Rt&&!Ft){var Xe=o.constructor,vr=u.constructor;Xe!=vr&&"constructor"in o&&"constructor"in u&&!(typeof Xe=="function"&&Xe instanceof Xe&&typeof vr=="function"&&vr instanceof vr)&&(Rt=!1)}return O.delete(o),O.delete(u),Rt}function fn(o){return sl(k0(o,e,X0),o+"")}function Ju(o){return e0(o,Re,el)}function Qu(o){return e0(o,nr,L0)}var Vu=To?function(o){return To.get(o)}:vl;function Zo(o){for(var u=o.name+"",_=Oi[u],y=ie.call(Oi,u)?_.length:0;y--;){var A=_[y],O=A.func;if(O==null||O==o)return A.name}return u}function Ri(o){var u=ie.call(B,"placeholder")?B:o;return u.placeholder}function At(){var o=B.iteratee||ml;return o=o===ml?i0:o,arguments.length?o(arguments[0],arguments[1]):o}function Go(o,u){var _=o.__data__;return uE(u)?_[typeof u=="string"?"string":"hash"]:_.map}function tl(o){for(var u=Re(o),_=u.length;_--;){var y=u[_],A=o[y];u[_]=[y,A,z0(A)]}return u}function ni(o,u){var _=cD(o,u);return n0(_)?_:e}function eE(o){var u=ie.call(o,Qn),_=o[Qn];try{o[Qn]=e;var y=!0}catch{}var A=xo.call(o);return y&&(u?o[Qn]=_:delete o[Qn]),A}var el=Mu?function(o){return o==null?[]:(o=ue(o),Mn(Mu(o),function(u){return Uh.call(o,u)}))}:wl,L0=Mu?function(o){for(var u=[];o;)Nn(u,el(o)),o=Fo(o);return u}:wl,Ze=Ke;(Nu&&Ze(new Nu(new ArrayBuffer(1)))!=rt||is&&Ze(new is)!=Kt||Su&&Ze(Su.resolve())!=nn||Ti&&Ze(new Ti)!=fr||ss&&Ze(new ss)!=H)&&(Ze=function(o){var u=Ke(o),_=u==Be?o.constructor:e,y=_?ii(_):"";if(y)switch(y){case RD:return rt;case PD:return Kt;case zD:return nn;case qD:return fr;case kD:return H}return u});function rE(o,u,_){for(var y=-1,A=_.length;++y<A;){var O=_[y],R=O.size;switch(O.type){case"drop":o+=R;break;case"dropRight":u-=R;break;case"take":u=Ye(u,o+R);break;case"takeRight":o=Ie(o,u-R);break}}return{start:o,end:u}}function nE(o){var u=o.match(Qa);return u?u[1].split(Va):[]}function R0(o,u,_){u=In(u,o);for(var y=-1,A=u.length,O=!1;++y<A;){var R=Jr(u[y]);if(!(O=o!=null&&_(o,R)))break;o=o[R]}return O||++y!=A?O:(A=o==null?0:o.length,!!A&&ta(A)&&cn(R,A)&&(It(o)||si(o)))}function iE(o){var u=o.length,_=new o.constructor(u);return u&&typeof o[0]=="string"&&ie.call(o,"index")&&(_.index=o.index,_.input=o.input),_}function P0(o){return typeof o.constructor=="function"&&!ds(o)?Ii(Fo(o)):{}}function sE(o,u,_){var y=o.constructor;switch(u){case st:return Ku(o);case ne:case Ot:return new y(+o);case rt:return Ub(o,_);case ct:case ut:case ht:case at:case Ht:case te:case _e:case Le:case Te:return y0(o,_);case Kt:return new y;case Ne:case An:return new y(o);case sn:return Wb(o);case fr:return new y;case $:return jb(o)}}function oE(o,u){var _=u.length;if(!_)return o;var y=_-1;return u[y]=(_>1?"& ":"")+u[y],u=u.join(_>2?", ":" "),o.replace(Ja,`{
9
9
  /* [wrapped with `+u+`] */
10
- `)}function oE(o){return Ot(o)||ii(o)||!!(Uh&&o&&o[Uh])}function fn(o,u){var _=typeof o;return u=u??G,!!u&&(_=="number"||_!="symbol"&&au.test(o))&&o>-1&&o%1==0&&o<u}function He(o,u,_){if(!ye(_))return!1;var y=typeof u;return(y=="number"?er(_)&&fn(u,_.length):y=="string"&&u in _)?zr(_[u],o):!1}function el(o,u){if(Ot(o))return!1;var _=typeof o;return _=="number"||_=="symbol"||_=="boolean"||o==null||_r(o)?!0:Za.test(o)||!Ya.test(o)||u!=null&&o in ue(u)}function aE(o){var u=typeof o;return u=="string"||u=="number"||u=="symbol"||u=="boolean"?o!=="__proto__":o===null}function rl(o){var u=Yo(o),_=B[u];if(typeof _!="function"||!(u in Ut.prototype))return!1;if(o===_)return!0;var y=Vu(_);return!!y&&o===y[0]}function uE(o){return!!Ph&&Ph in o}var lE=Do?cn:wl;function ps(o){var u=o&&o.constructor,_=typeof u=="function"&&u.prototype||Si;return o===_}function P0(o){return o===o&&!ye(o)}function z0(o,u){return function(_){return _==null?!1:_[o]===u&&(u!==e||o in ue(_))}}function fE(o){var u=Xo(o,function(y){return _.size===h&&_.clear(),y}),_=u.cache;return u}function cE(o,u){var _=o[1],y=u[1],A=_|y,I=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(!(I||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?D0(Y,q,u[4]):q,o[4]=Y?Nn(o[3],p):u[4]}return q=u[5],q&&(Y=o[5],o[5]=Y?b0(Y,q,u[6]):q,o[6]=Y?Nn(o[5],p):u[6]),q=u[7],q&&(o[7]=q),y&M&&(o[8]=o[8]==null?u[8]:Ye(o[8],u[8])),o[9]==null&&(o[9]=u[9]),o[0]=u[0],o[1]=A,o}function hE(o){var u=[];if(o!=null)for(var _ in ue(o))u.push(_);return u}function pE(o){return Eo.call(o)}function q0(o,u,_){return u=Oe(u===e?o.length-1:u,0),function(){for(var y=arguments,A=-1,I=Oe(y.length-u,0),R=J(I);++A<I;)R[A]=y[u+A];A=-1;for(var q=J(u+1);++A<u;)q[A]=y[A];return q[u]=_(R),hr(o,this,q)}}function k0(o,u){return u.length<2?o:ei(o,Fr(u,0,-1))}function dE(o,u){for(var _=o.length,y=Ye(u.length,_),A=tr(o);y--;){var I=u[y];o[y]=fn(I,_)?A[I]:e}return o}function nl(o,u){if(!(u==="constructor"&&typeof o[u]=="function")&&u!="__proto__")return o[u]}var U0=j0(c0),ds=ND||function(o,u){return qe.setTimeout(o,u)},il=j0(Rb);function W0(o,u,_){var y=u+"";return il(o,sE(y,_E(rE(y),_)))}function j0(o){var u=0,_=0;return function(){var y=ID(),A=U-(y-_);if(_=y,A>0){if(++u>=L)return arguments[0]}else u=0;return o.apply(e,arguments)}}function Go(o,u){var _=-1,y=o.length,A=y-1;for(u=u===e?y:u;++_<u;){var I=qu(_,A),R=o[I];o[I]=o[_],o[_]=R}return o.length=u,o}var Y0=fE(function(o){var u=[];return o.charCodeAt(0)===46&&u.push(""),o.replace(Ga,function(_,y,A,I){u.push(A?I.replace(eu,"$1"):y||_)}),u});function Jr(o){if(typeof o=="string"||_r(o))return o;var u=o+"";return u=="0"&&1/o==-K?"-0":u}function ni(o){if(o!=null){try{return bo.call(o)}catch{}try{return o+""}catch{}}return""}function _E(o,u){return Er(yt,function(_){var y="_."+_[0];u&_[1]&&!go(o,y)&&o.push(y)}),o.sort()}function Z0(o){if(o instanceof Ut)return o.clone();var u=new Ar(o.__wrapped__,o.__chain__);return u.__actions__=tr(o.__actions__),u.__index__=o.__index__,u.__values__=o.__values__,u}function mE(o,u,_){(_?He(o,u,_):u===e)?u=1:u=Oe(Lt(u),0);var y=o==null?0:o.length;if(!y||u<1)return[];for(var A=0,I=0,R=J(No(y/u));A<y;)R[I++]=Fr(o,A,A+=u);return R}function gE(o){for(var u=-1,_=o==null?0:o.length,y=0,A=[];++u<_;){var I=o[u];I&&(A[y++]=I)}return A}function vE(){var o=arguments.length;if(!o)return[];for(var u=J(o-1),_=arguments[0],y=o;y--;)u[y-1]=arguments[y];return Mn(Ot(_)?tr(_):[_],ke(u,1))}var wE=Pt(function(o,u){return xe(o)?us(o,ke(u,1,xe,!0)):[]}),yE=Pt(function(o,u){var _=Mr(u);return xe(_)&&(_=e),xe(o)?us(o,ke(u,1,xe,!0),At(_,2)):[]}),DE=Pt(function(o,u){var _=Mr(u);return xe(_)&&(_=e),xe(o)?us(o,ke(u,1,xe,!0),e,_):[]});function bE(o,u,_){var y=o==null?0:o.length;return y?(u=_||u===e?1:Lt(u),Fr(o,u<0?0:u,y)):[]}function EE(o,u,_){var y=o==null?0:o.length;return y?(u=_||u===e?1:Lt(u),u=y-u,Fr(o,0,u<0?0:u)):[]}function xE(o,u){return o&&o.length?zo(o,At(u,3),!0,!0):[]}function AE(o,u){return o&&o.length?zo(o,At(u,3),!0):[]}function CE(o,u,_,y){var A=o==null?0:o.length;return A?(_&&typeof _!="number"&&He(o,u,_)&&(_=0,y=A),vb(o,u,_,y)):[]}function G0(o,u,_){var y=o==null?0:o.length;if(!y)return-1;var A=_==null?0:Lt(_);return A<0&&(A=Oe(y+A,0)),vo(o,At(u,3),A)}function K0(o,u,_){var y=o==null?0:o.length;if(!y)return-1;var A=y-1;return _!==e&&(A=Lt(_),A=_<0?Oe(y+A,0):Ye(A,y-1)),vo(o,At(u,3),A,!0)}function H0(o){var u=o==null?0:o.length;return u?ke(o,1):[]}function FE(o){var u=o==null?0:o.length;return u?ke(o,K):[]}function ME(o,u){var _=o==null?0:o.length;return _?(u=u===e?1:Lt(u),ke(o,u)):[]}function NE(o){for(var u=-1,_=o==null?0:o.length,y={};++u<_;){var A=o[u];y[A[0]]=A[1]}return y}function J0(o){return o&&o.length?o[0]:e}function SE(o,u,_){var y=o==null?0:o.length;if(!y)return-1;var A=_==null?0:Lt(_);return A<0&&(A=Oe(y+A,0)),Ci(o,u,A)}function BE(o){var u=o==null?0:o.length;return u?Fr(o,0,-1):[]}var TE=Pt(function(o){var u=me(o,Yu);return u.length&&u[0]===o[0]?$u(u):[]}),IE=Pt(function(o){var u=Mr(o),_=me(o,Yu);return u===Mr(_)?u=e:_.pop(),_.length&&_[0]===o[0]?$u(_,At(u,2)):[]}),OE=Pt(function(o){var u=Mr(o),_=me(o,Yu);return u=typeof u=="function"?u:e,u&&_.pop(),_.length&&_[0]===o[0]?$u(_,e,u):[]});function $E(o,u){return o==null?"":BD.call(o,u)}function Mr(o){var u=o==null?0:o.length;return u?o[u-1]:e}function LE(o,u,_){var y=o==null?0:o.length;if(!y)return-1;var A=y;return _!==e&&(A=Lt(_),A=A<0?Oe(y+A,0):Ye(A,y-1)),u===u?_D(o,u,A):vo(o,Sh,A,!0)}function RE(o,u){return o&&o.length?a0(o,Lt(u)):e}var PE=Pt(X0);function X0(o,u){return o&&o.length&&u&&u.length?zu(o,u):o}function zE(o,u,_){return o&&o.length&&u&&u.length?zu(o,u,At(_,2)):o}function qE(o,u,_){return o&&o.length&&u&&u.length?zu(o,u,e,_):o}var kE=ln(function(o,u){var _=o==null?0:o.length,y=Bu(o,u);return f0(o,me(u,function(A){return fn(A,_)?+A:A}).sort(y0)),y});function UE(o,u){var _=[];if(!(o&&o.length))return _;var y=-1,A=[],I=o.length;for(u=At(u,3);++y<I;){var R=o[y];u(R,y,o)&&(_.push(R),A.push(y))}return f0(o,A),_}function sl(o){return o==null?o:$D.call(o)}function WE(o,u,_){var y=o==null?0:o.length;return y?(_&&typeof _!="number"&&He(o,u,_)?(u=0,_=y):(u=u==null?0:Lt(u),_=_===e?y:Lt(_)),Fr(o,u,_)):[]}function jE(o,u){return Po(o,u)}function YE(o,u,_){return Uu(o,u,At(_,2))}function ZE(o,u){var _=o==null?0:o.length;if(_){var y=Po(o,u);if(y<_&&zr(o[y],u))return y}return-1}function GE(o,u){return Po(o,u,!0)}function KE(o,u,_){return Uu(o,u,At(_,2),!0)}function HE(o,u){var _=o==null?0:o.length;if(_){var y=Po(o,u,!0)-1;if(zr(o[y],u))return y}return-1}function JE(o){return o&&o.length?h0(o):[]}function XE(o,u){return o&&o.length?h0(o,At(u,2)):[]}function VE(o){var u=o==null?0:o.length;return u?Fr(o,1,u):[]}function QE(o,u,_){return o&&o.length?(u=_||u===e?1:Lt(u),Fr(o,0,u<0?0:u)):[]}function tx(o,u,_){var y=o==null?0:o.length;return y?(u=_||u===e?1:Lt(u),u=y-u,Fr(o,u<0?0:u,y)):[]}function ex(o,u){return o&&o.length?zo(o,At(u,3),!1,!0):[]}function rx(o,u){return o&&o.length?zo(o,At(u,3)):[]}var nx=Pt(function(o){return Tn(ke(o,1,xe,!0))}),ix=Pt(function(o){var u=Mr(o);return xe(u)&&(u=e),Tn(ke(o,1,xe,!0),At(u,2))}),sx=Pt(function(o){var u=Mr(o);return u=typeof u=="function"?u:e,Tn(ke(o,1,xe,!0),e,u)});function ox(o){return o&&o.length?Tn(o):[]}function ax(o,u){return o&&o.length?Tn(o,At(u,2)):[]}function ux(o,u){return u=typeof u=="function"?u:e,o&&o.length?Tn(o,e,u):[]}function ol(o){if(!(o&&o.length))return[];var u=0;return o=Fn(o,function(_){if(xe(_))return u=Oe(_.length,u),!0}),Eu(u,function(_){return me(o,yu(_))})}function V0(o,u){if(!(o&&o.length))return[];var _=ol(o);return u==null?_:me(_,function(y){return hr(u,e,y)})}var lx=Pt(function(o,u){return xe(o)?us(o,u):[]}),fx=Pt(function(o){return ju(Fn(o,xe))}),cx=Pt(function(o){var u=Mr(o);return xe(u)&&(u=e),ju(Fn(o,xe),At(u,2))}),hx=Pt(function(o){var u=Mr(o);return u=typeof u=="function"?u:e,ju(Fn(o,xe),e,u)}),px=Pt(ol);function dx(o,u){return m0(o||[],u||[],as)}function _x(o,u){return m0(o||[],u||[],cs)}var mx=Pt(function(o){var u=o.length,_=u>1?o[u-1]:e;return _=typeof _=="function"?(o.pop(),_):e,V0(o,_)});function Q0(o){var u=B(o);return u.__chain__=!0,u}function gx(o,u){return u(o),o}function Ko(o,u){return u(o)}var vx=ln(function(o){var u=o.length,_=u?o[0]:0,y=this.__wrapped__,A=function(I){return Bu(I,o)};return u>1||this.__actions__.length||!(y instanceof Ut)||!fn(_)?this.thru(A):(y=y.slice(_,+_+(u?1:0)),y.__actions__.push({func:Ko,args:[A],thisArg:e}),new Ar(y,this.__chain__).thru(function(I){return u&&!I.length&&I.push(e),I}))});function wx(){return Q0(this)}function yx(){return new Ar(this.value(),this.__chain__)}function Dx(){this.__values__===e&&(this.__values__=pp(this.value()));var o=this.__index__>=this.__values__.length,u=o?e:this.__values__[this.__index__++];return{done:o,value:u}}function bx(){return this}function Ex(o){for(var u,_=this;_ instanceof Io;){var y=Z0(_);y.__index__=0,y.__values__=e,u?A.__wrapped__=y:u=y;var A=y;_=_.__wrapped__}return A.__wrapped__=o,u}function xx(){var o=this.__wrapped__;if(o instanceof Ut){var u=o;return this.__actions__.length&&(u=new Ut(this)),u=u.reverse(),u.__actions__.push({func:Ko,args:[sl],thisArg:e}),new Ar(u,this.__chain__)}return this.thru(sl)}function Ax(){return _0(this.__wrapped__,this.__actions__)}var Cx=qo(function(o,u,_){ie.call(o,_)?++o[_]:an(o,_,1)});function Fx(o,u,_){var y=Ot(o)?Mh:gb;return _&&He(o,u,_)&&(u=e),y(o,At(u,3))}function Mx(o,u){var _=Ot(o)?Fn:Vh;return _(o,At(u,3))}var Nx=C0(G0),Sx=C0(K0);function Bx(o,u){return ke(Ho(o,u),1)}function Tx(o,u){return ke(Ho(o,u),K)}function Ix(o,u,_){return _=_===e?1:Lt(_),ke(Ho(o,u),_)}function tp(o,u){var _=Ot(o)?Er:Bn;return _(o,At(u,3))}function ep(o,u){var _=Ot(o)?Vy:Xh;return _(o,At(u,3))}var Ox=qo(function(o,u,_){ie.call(o,_)?o[_].push(u):an(o,_,[u])});function $x(o,u,_,y){o=er(o)?o:Pi(o),_=_&&!y?Lt(_):0;var A=o.length;return _<0&&(_=Oe(A+_,0)),ta(o)?_<=A&&o.indexOf(u,_)>-1:!!A&&Ci(o,u,_)>-1}var Lx=Pt(function(o,u,_){var y=-1,A=typeof u=="function",I=er(o)?J(o.length):[];return Bn(o,function(R){I[++y]=A?hr(u,R,_):ls(R,u,_)}),I}),Rx=qo(function(o,u,_){an(o,_,u)});function Ho(o,u){var _=Ot(o)?me:i0;return _(o,At(u,3))}function Px(o,u,_,y){return o==null?[]:(Ot(u)||(u=u==null?[]:[u]),_=y?e:_,Ot(_)||(_=_==null?[]:[_]),u0(o,u,_))}var zx=qo(function(o,u,_){o[_?0:1].push(u)},function(){return[[],[]]});function qx(o,u,_){var y=Ot(o)?vu:Th,A=arguments.length<3;return y(o,At(u,4),_,A,Bn)}function kx(o,u,_){var y=Ot(o)?Qy:Th,A=arguments.length<3;return y(o,At(u,4),_,A,Xh)}function Ux(o,u){var _=Ot(o)?Fn:Vh;return _(o,Vo(At(u,3)))}function Wx(o){var u=Ot(o)?Gh:$b;return u(o)}function jx(o,u,_){(_?He(o,u,_):u===e)?u=1:u=Lt(u);var y=Ot(o)?hb:Lb;return y(o,u)}function Yx(o){var u=Ot(o)?pb:Pb;return u(o)}function Zx(o){if(o==null)return 0;if(er(o))return ta(o)?Mi(o):o.length;var u=Ze(o);return u==Kt||u==lr?o.size:Ru(o).length}function Gx(o,u,_){var y=Ot(o)?wu:zb;return _&&He(o,u,_)&&(u=e),y(o,At(u,3))}var Kx=Pt(function(o,u){if(o==null)return[];var _=u.length;return _>1&&He(o,u[0],u[1])?u=[]:_>2&&He(u[0],u[1],u[2])&&(u=[u[0]]),u0(o,ke(u,1),[])}),Jo=MD||function(){return qe.Date.now()};function Hx(o,u){if(typeof u!="function")throw new xr(a);return o=Lt(o),function(){if(--o<1)return u.apply(this,arguments)}}function rp(o,u,_){return u=_?e:u,u=o&&u==null?o.length:u,un(o,M,e,e,e,e,u)}function np(o,u){var _;if(typeof u!="function")throw new xr(a);return o=Lt(o),function(){return--o>0&&(_=u.apply(this,arguments)),o<=1&&(u=e),_}}var al=Pt(function(o,u,_){var y=D;if(_.length){var A=Nn(_,Li(al));y|=x}return un(o,y,u,_,A)}),ip=Pt(function(o,u,_){var y=D|v;if(_.length){var A=Nn(_,Li(ip));y|=x}return un(u,y,o,_,A)});function sp(o,u,_){u=_?e:u;var y=un(o,b,e,e,e,e,e,u);return y.placeholder=sp.placeholder,y}function op(o,u,_){u=_?e:u;var y=un(o,N,e,e,e,e,e,u);return y.placeholder=op.placeholder,y}function ap(o,u,_){var y,A,I,R,q,Y,Q=0,et=!1,ot=!1,dt=!0;if(typeof o!="function")throw new xr(a);u=Nr(u)||0,ye(_)&&(et=!!_.leading,ot="maxWait"in _,I=ot?Oe(Nr(_.maxWait)||0,u):I,dt="trailing"in _?!!_.trailing:dt);function wt(Ae){var qr=y,pn=A;return y=A=e,Q=Ae,R=o.apply(pn,qr),R}function Ct(Ae){return Q=Ae,q=ds(kt,u),et?wt(Ae):R}function Rt(Ae){var qr=Ae-Y,pn=Ae-Q,Cp=u-qr;return ot?Ye(Cp,I-pn):Cp}function Ft(Ae){var qr=Ae-Y,pn=Ae-Q;return Y===e||qr>=u||qr<0||ot&&pn>=I}function kt(){var Ae=Jo();if(Ft(Ae))return Wt(Ae);q=ds(kt,Rt(Ae))}function Wt(Ae){return q=e,dt&&y?wt(Ae):(y=A=e,R)}function mr(){q!==e&&g0(q),Q=0,y=Y=A=q=e}function Je(){return q===e?R:Wt(Jo())}function gr(){var Ae=Jo(),qr=Ft(Ae);if(y=arguments,A=this,Y=Ae,qr){if(q===e)return Ct(Y);if(ot)return g0(q),q=ds(kt,u),wt(Y)}return q===e&&(q=ds(kt,u)),R}return gr.cancel=mr,gr.flush=Je,gr}var Jx=Pt(function(o,u){return Jh(o,1,u)}),Xx=Pt(function(o,u,_){return Jh(o,Nr(u)||0,_)});function Vx(o){return un(o,O)}function Xo(o,u){if(typeof o!="function"||u!=null&&typeof u!="function")throw new xr(a);var _=function(){var y=arguments,A=u?u.apply(this,y):y[0],I=_.cache;if(I.has(A))return I.get(A);var R=o.apply(this,y);return _.cache=I.set(A,R)||I,R};return _.cache=new(Xo.Cache||on),_}Xo.Cache=on;function Vo(o){if(typeof o!="function")throw new xr(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 Qx(o){return np(2,o)}var tA=qb(function(o,u){u=u.length==1&&Ot(u[0])?me(u[0],pr(At())):me(ke(u,1),pr(At()));var _=u.length;return Pt(function(y){for(var A=-1,I=Ye(y.length,_);++A<I;)y[A]=u[A].call(this,y[A]);return hr(o,this,y)})}),ul=Pt(function(o,u){var _=Nn(u,Li(ul));return un(o,x,e,u,_)}),up=Pt(function(o,u){var _=Nn(u,Li(up));return un(o,F,e,u,_)}),eA=ln(function(o,u){return un(o,S,e,e,e,u)});function rA(o,u){if(typeof o!="function")throw new xr(a);return u=u===e?u:Lt(u),Pt(o,u)}function nA(o,u){if(typeof o!="function")throw new xr(a);return u=u==null?0:Oe(Lt(u),0),Pt(function(_){var y=_[u],A=On(_,0,u);return y&&Mn(A,y),hr(o,this,A)})}function iA(o,u,_){var y=!0,A=!0;if(typeof o!="function")throw new xr(a);return ye(_)&&(y="leading"in _?!!_.leading:y,A="trailing"in _?!!_.trailing:A),ap(o,u,{leading:y,maxWait:u,trailing:A})}function sA(o){return rp(o,1)}function oA(o,u){return ul(Zu(u),o)}function aA(){if(!arguments.length)return[];var o=arguments[0];return Ot(o)?o:[o]}function uA(o){return Cr(o,g)}function lA(o,u){return u=typeof u=="function"?u:e,Cr(o,g,u)}function fA(o){return Cr(o,c|g)}function cA(o,u){return u=typeof u=="function"?u:e,Cr(o,c|g,u)}function hA(o,u){return u==null||Hh(o,u,Re(u))}function zr(o,u){return o===u||o!==o&&u!==u}var pA=jo(Ou),dA=jo(function(o,u){return o>=u}),ii=e0(function(){return arguments}())?e0:function(o){return De(o)&&ie.call(o,"callee")&&!kh.call(o,"callee")},Ot=J.isArray,_A=bh?pr(bh):Eb;function er(o){return o!=null&&Qo(o.length)&&!cn(o)}function xe(o){return De(o)&&er(o)}function mA(o){return o===!0||o===!1||De(o)&&Ke(o)==ne}var $n=SD||wl,gA=Eh?pr(Eh):xb;function vA(o){return De(o)&&o.nodeType===1&&!_s(o)}function wA(o){if(o==null)return!0;if(er(o)&&(Ot(o)||typeof o=="string"||typeof o.splice=="function"||$n(o)||Ri(o)||ii(o)))return!o.length;var u=Ze(o);if(u==Kt||u==lr)return!o.size;if(ps(o))return!Ru(o).length;for(var _ in o)if(ie.call(o,_))return!1;return!0}function yA(o,u){return fs(o,u)}function DA(o,u,_){_=typeof _=="function"?_:e;var y=_?_(o,u):e;return y===e?fs(o,u,e,_):!!y}function ll(o){if(!De(o))return!1;var u=Ke(o);return u==se||u==Nt||typeof o.message=="string"&&typeof o.name=="string"&&!_s(o)}function bA(o){return typeof o=="number"&&Wh(o)}function cn(o){if(!ye(o))return!1;var u=Ke(o);return u==Qt||u==qt||u==Et||u==En}function lp(o){return typeof o=="number"&&o==Lt(o)}function Qo(o){return typeof o=="number"&&o>-1&&o%1==0&&o<=G}function ye(o){var u=typeof o;return o!=null&&(u=="object"||u=="function")}function De(o){return o!=null&&typeof o=="object"}var fp=xh?pr(xh):Cb;function EA(o,u){return o===u||Lu(o,u,Qu(u))}function xA(o,u,_){return _=typeof _=="function"?_:e,Lu(o,u,Qu(u),_)}function AA(o){return cp(o)&&o!=+o}function CA(o){if(lE(o))throw new Tt(s);return r0(o)}function FA(o){return o===null}function MA(o){return o==null}function cp(o){return typeof o=="number"||De(o)&&Ke(o)==Ne}function _s(o){if(!De(o)||Ke(o)!=Be)return!1;var u=Co(o);if(u===null)return!0;var _=ie.call(u,"constructor")&&u.constructor;return typeof _=="function"&&_ instanceof _&&bo.call(_)==xD}var fl=Ah?pr(Ah):Fb;function NA(o){return lp(o)&&o>=-G&&o<=G}var hp=Ch?pr(Ch):Mb;function ta(o){return typeof o=="string"||!Ot(o)&&De(o)&&Ke(o)==xn}function _r(o){return typeof o=="symbol"||De(o)&&Ke(o)==$}var Ri=Fh?pr(Fh):Nb;function SA(o){return o===e}function BA(o){return De(o)&&Ze(o)==H}function TA(o){return De(o)&&Ke(o)==nt}var IA=jo(Pu),OA=jo(function(o,u){return o<=u});function pp(o){if(!o)return[];if(er(o))return ta(o)?Rr(o):tr(o);if(rs&&o[rs])return hD(o[rs]());var u=Ze(o),_=u==Kt?Au:u==lr?wo:Pi;return _(o)}function hn(o){if(!o)return o===0?o:0;if(o=Nr(o),o===K||o===-K){var u=o<0?-1:1;return u*V}return o===o?o:0}function Lt(o){var u=hn(o),_=u%1;return u===u?_?u-_:u:0}function dp(o){return o?ti(Lt(o),0,ft):0}function Nr(o){if(typeof o=="number")return o;if(_r(o))return tt;if(ye(o)){var u=typeof o.valueOf=="function"?o.valueOf():o;o=ye(u)?u+"":u}if(typeof o!="string")return o===0?o:+o;o=Ih(o);var _=iu.test(o);return _||ou.test(o)?Hy(o.slice(2),_?2:8):nu.test(o)?tt:+o}function _p(o){return Hr(o,rr(o))}function $A(o){return o?ti(Lt(o),-G,G):o===0?o:0}function ee(o){return o==null?"":dr(o)}var LA=Oi(function(o,u){if(ps(u)||er(u)){Hr(u,Re(u),o);return}for(var _ in u)ie.call(u,_)&&as(o,_,u[_])}),mp=Oi(function(o,u){Hr(u,rr(u),o)}),ea=Oi(function(o,u,_,y){Hr(u,rr(u),o,y)}),RA=Oi(function(o,u,_,y){Hr(u,Re(u),o,y)}),PA=ln(Bu);function zA(o,u){var _=Ii(o);return u==null?_:Kh(_,u)}var qA=Pt(function(o,u){o=ue(o);var _=-1,y=u.length,A=y>2?u[2]:e;for(A&&He(u[0],u[1],A)&&(y=1);++_<y;)for(var I=u[_],R=rr(I),q=-1,Y=R.length;++q<Y;){var Q=R[q],et=o[Q];(et===e||zr(et,Si[Q])&&!ie.call(o,Q))&&(o[Q]=I[Q])}return o}),kA=Pt(function(o){return o.push(e,I0),hr(gp,e,o)});function UA(o,u){return Nh(o,At(u,3),Kr)}function WA(o,u){return Nh(o,At(u,3),Iu)}function jA(o,u){return o==null?o:Tu(o,At(u,3),rr)}function YA(o,u){return o==null?o:Qh(o,At(u,3),rr)}function ZA(o,u){return o&&Kr(o,At(u,3))}function GA(o,u){return o&&Iu(o,At(u,3))}function KA(o){return o==null?[]:Lo(o,Re(o))}function HA(o){return o==null?[]:Lo(o,rr(o))}function cl(o,u,_){var y=o==null?e:ei(o,u);return y===e?_:y}function JA(o,u){return o!=null&&L0(o,u,wb)}function hl(o,u){return o!=null&&L0(o,u,yb)}var XA=M0(function(o,u,_){u!=null&&typeof u.toString!="function"&&(u=Eo.call(u)),o[u]=_},dl(nr)),VA=M0(function(o,u,_){u!=null&&typeof u.toString!="function"&&(u=Eo.call(u)),ie.call(o,u)?o[u].push(_):o[u]=[_]},At),QA=Pt(ls);function Re(o){return er(o)?Zh(o):Ru(o)}function rr(o){return er(o)?Zh(o,!0):Sb(o)}function tC(o,u){var _={};return u=At(u,3),Kr(o,function(y,A,I){an(_,u(y,A,I),y)}),_}function eC(o,u){var _={};return u=At(u,3),Kr(o,function(y,A,I){an(_,A,u(y,A,I))}),_}var rC=Oi(function(o,u,_){Ro(o,u,_)}),gp=Oi(function(o,u,_,y){Ro(o,u,_,y)}),nC=ln(function(o,u){var _={};if(o==null)return _;var y=!1;u=me(u,function(I){return I=In(I,o),y||(y=I.length>1),I}),Hr(o,Xu(o),_),y&&(_=Cr(_,c|d|g,Xb));for(var A=u.length;A--;)Wu(_,u[A]);return _});function iC(o,u){return vp(o,Vo(At(u)))}var sC=ln(function(o,u){return o==null?{}:Tb(o,u)});function vp(o,u){if(o==null)return{};var _=me(Xu(o),function(y){return[y]});return u=At(u),l0(o,_,function(y,A){return u(y,A[0])})}function oC(o,u,_){u=In(u,o);var y=-1,A=u.length;for(A||(A=1,o=e);++y<A;){var I=o==null?e:o[Jr(u[y])];I===e&&(y=A,I=_),o=cn(I)?I.call(o):I}return o}function aC(o,u,_){return o==null?o:cs(o,u,_)}function uC(o,u,_,y){return y=typeof y=="function"?y:e,o==null?o:cs(o,u,_,y)}var wp=B0(Re),yp=B0(rr);function lC(o,u,_){var y=Ot(o),A=y||$n(o)||Ri(o);if(u=At(u,4),_==null){var I=o&&o.constructor;A?_=y?new I:[]:ye(o)?_=cn(I)?Ii(Co(o)):{}:_={}}return(A?Er:Kr)(o,function(R,q,Y){return u(_,R,q,Y)}),_}function fC(o,u){return o==null?!0:Wu(o,u)}function cC(o,u,_){return o==null?o:d0(o,u,Zu(_))}function hC(o,u,_,y){return y=typeof y=="function"?y:e,o==null?o:d0(o,u,Zu(_),y)}function Pi(o){return o==null?[]:xu(o,Re(o))}function pC(o){return o==null?[]:xu(o,rr(o))}function dC(o,u,_){return _===e&&(_=u,u=e),_!==e&&(_=Nr(_),_=_===_?_:0),u!==e&&(u=Nr(u),u=u===u?u:0),ti(Nr(o),u,_)}function _C(o,u,_){return u=hn(u),_===e?(_=u,u=0):_=hn(_),o=Nr(o),Db(o,u,_)}function mC(o,u,_){if(_&&typeof _!="boolean"&&He(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=hn(o),u===e?(u=o,o=0):u=hn(u)),o>u){var y=o;o=u,u=y}if(_||o%1||u%1){var A=jh();return Ye(o+A*(u-o+Ky("1e-"+((A+"").length-1))),u)}return qu(o,u)}var gC=$i(function(o,u,_){return u=u.toLowerCase(),o+(_?Dp(u):u)});function Dp(o){return pl(ee(o).toLowerCase())}function bp(o){return o=ee(o),o&&o.replace(uu,aD).replace(Py,"")}function vC(o,u,_){o=ee(o),u=dr(u);var y=o.length;_=_===e?y:ti(Lt(_),0,y);var A=_;return _-=u.length,_>=0&&o.slice(_,A)==u}function wC(o){return o=ee(o),o&&Ua.test(o)?o.replace(co,uD):o}function yC(o){return o=ee(o),o&&Ka.test(o)?o.replace(Qi,"\\$&"):o}var DC=$i(function(o,u,_){return o+(_?"-":"")+u.toLowerCase()}),bC=$i(function(o,u,_){return o+(_?" ":"")+u.toLowerCase()}),EC=A0("toLowerCase");function xC(o,u,_){o=ee(o),u=Lt(u);var y=u?Mi(o):0;if(!u||y>=u)return o;var A=(u-y)/2;return Wo(So(A),_)+o+Wo(No(A),_)}function AC(o,u,_){o=ee(o),u=Lt(u);var y=u?Mi(o):0;return u&&y<u?o+Wo(u-y,_):o}function CC(o,u,_){o=ee(o),u=Lt(u);var y=u?Mi(o):0;return u&&y<u?Wo(u-y,_)+o:o}function FC(o,u,_){return _||u==null?u=0:u&&(u=+u),OD(ee(o).replace(ts,""),u||0)}function MC(o,u,_){return(_?He(o,u,_):u===e)?u=1:u=Lt(u),ku(ee(o),u)}function NC(){var o=arguments,u=ee(o[0]);return o.length<3?u:u.replace(o[1],o[2])}var SC=$i(function(o,u,_){return o+(_?"_":"")+u.toLowerCase()});function BC(o,u,_){return _&&typeof _!="number"&&He(o,u,_)&&(u=_=e),_=_===e?ft:_>>>0,_?(o=ee(o),o&&(typeof u=="string"||u!=null&&!fl(u))&&(u=dr(u),!u&&Fi(o))?On(Rr(o),0,_):o.split(u,_)):[]}var TC=$i(function(o,u,_){return o+(_?" ":"")+pl(u)});function IC(o,u,_){return o=ee(o),_=_==null?0:ti(Lt(_),0,o.length),u=dr(u),o.slice(_,_+u.length)==u}function OC(o,u,_){var y=B.templateSettings;_&&He(o,u,_)&&(u=e),o=ee(o),u=ea({},u,y,T0);var A=ea({},u.imports,y.imports,T0),I=Re(A),R=xu(A,I),q,Y,Q=0,et=u.interpolate||Ei,ot="__p += '",dt=Cu((u.escape||Ei).source+"|"+et.source+"|"+(et===ho?ru:Ei).source+"|"+(u.evaluate||Ei).source+"|$","g"),wt="//# sourceURL="+(ie.call(u,"sourceURL")?(u.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Wy+"]")+`
11
- `;o.replace(dt,function(Ft,kt,Wt,mr,Je,gr){return Wt||(Wt=mr),ot+=o.slice(Q,gr).replace(Hn,lD),kt&&(q=!0,ot+=`' +
10
+ `)}function aE(o){return It(o)||si(o)||!!(Wh&&o&&o[Wh])}function cn(o,u){var _=typeof o;return u=u??G,!!u&&(_=="number"||_!="symbol"&&uu.test(o))&&o>-1&&o%1==0&&o<u}function He(o,u,_){if(!ye(_))return!1;var y=typeof u;return(y=="number"?rr(_)&&cn(u,_.length):y=="string"&&u in _)?qr(_[u],o):!1}function rl(o,u){if(It(o))return!1;var _=typeof o;return _=="number"||_=="symbol"||_=="boolean"||o==null||mr(o)?!0:Ga.test(o)||!Za.test(o)||u!=null&&o in ue(u)}function uE(o){var u=typeof o;return u=="string"||u=="number"||u=="symbol"||u=="boolean"?o!=="__proto__":o===null}function nl(o){var u=Zo(o),_=B[u];if(typeof _!="function"||!(u in Ut.prototype))return!1;if(o===_)return!0;var y=Vu(_);return!!y&&o===y[0]}function lE(o){return!!zh&&zh in o}var fE=bo?hn:yl;function ds(o){var u=o&&o.constructor,_=typeof u=="function"&&u.prototype||Bi;return o===_}function z0(o){return o===o&&!ye(o)}function q0(o,u){return function(_){return _==null?!1:_[o]===u&&(u!==e||o in ue(_))}}function cE(o){var u=Qo(o,function(y){return _.size===h&&_.clear(),y}),_=u.cache;return u}function hE(o,u){var _=o[1],y=u[1],A=_|y,O=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(!(O||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?b0(Y,q,u[4]):q,o[4]=Y?Sn(o[3],p):u[4]}return q=u[5],q&&(Y=o[5],o[5]=Y?E0(Y,q,u[6]):q,o[6]=Y?Sn(o[5],p):u[6]),q=u[7],q&&(o[7]=q),y&M&&(o[8]=o[8]==null?u[8]:Ye(o[8],u[8])),o[9]==null&&(o[9]=u[9]),o[0]=u[0],o[1]=A,o}function pE(o){var u=[];if(o!=null)for(var _ in ue(o))u.push(_);return u}function dE(o){return xo.call(o)}function k0(o,u,_){return u=Ie(u===e?o.length-1:u,0),function(){for(var y=arguments,A=-1,O=Ie(y.length-u,0),R=X(O);++A<O;)R[A]=y[u+A];A=-1;for(var q=X(u+1);++A<u;)q[A]=y[A];return q[u]=_(R),pr(o,this,q)}}function U0(o,u){return u.length<2?o:ri(o,Mr(u,0,-1))}function _E(o,u){for(var _=o.length,y=Ye(u.length,_),A=er(o);y--;){var O=u[y];o[y]=cn(O,_)?A[O]:e}return o}function il(o,u){if(!(u==="constructor"&&typeof o[u]=="function")&&u!="__proto__")return o[u]}var W0=Y0(h0),_s=SD||function(o,u){return qe.setTimeout(o,u)},sl=Y0(Pb);function j0(o,u,_){var y=u+"";return sl(o,oE(y,mE(nE(y),_)))}function Y0(o){var u=0,_=0;return function(){var y=ID(),A=U-(y-_);if(_=y,A>0){if(++u>=L)return arguments[0]}else u=0;return o.apply(e,arguments)}}function Ko(o,u){var _=-1,y=o.length,A=y-1;for(u=u===e?y:u;++_<u;){var O=ku(_,A),R=o[O];o[O]=o[_],o[_]=R}return o.length=u,o}var Z0=cE(function(o){var u=[];return o.charCodeAt(0)===46&&u.push(""),o.replace(Ka,function(_,y,A,O){u.push(A?O.replace(ru,"$1"):y||_)}),u});function Jr(o){if(typeof o=="string"||mr(o))return o;var u=o+"";return u=="0"&&1/o==-K?"-0":u}function ii(o){if(o!=null){try{return Eo.call(o)}catch{}try{return o+""}catch{}}return""}function mE(o,u){return xr(yt,function(_){var y="_."+_[0];u&_[1]&&!vo(o,y)&&o.push(y)}),o.sort()}function G0(o){if(o instanceof Ut)return o.clone();var u=new Cr(o.__wrapped__,o.__chain__);return u.__actions__=er(o.__actions__),u.__index__=o.__index__,u.__values__=o.__values__,u}function gE(o,u,_){(_?He(o,u,_):u===e)?u=1:u=Ie(Lt(u),0);var y=o==null?0:o.length;if(!y||u<1)return[];for(var A=0,O=0,R=X(So(y/u));A<y;)R[O++]=Mr(o,A,A+=u);return R}function vE(o){for(var u=-1,_=o==null?0:o.length,y=0,A=[];++u<_;){var O=o[u];O&&(A[y++]=O)}return A}function wE(){var o=arguments.length;if(!o)return[];for(var u=X(o-1),_=arguments[0],y=o;y--;)u[y-1]=arguments[y];return Nn(It(_)?er(_):[_],ke(u,1))}var yE=Pt(function(o,u){return xe(o)?ls(o,ke(u,1,xe,!0)):[]}),DE=Pt(function(o,u){var _=Nr(u);return xe(_)&&(_=e),xe(o)?ls(o,ke(u,1,xe,!0),At(_,2)):[]}),bE=Pt(function(o,u){var _=Nr(u);return xe(_)&&(_=e),xe(o)?ls(o,ke(u,1,xe,!0),e,_):[]});function EE(o,u,_){var y=o==null?0:o.length;return y?(u=_||u===e?1:Lt(u),Mr(o,u<0?0:u,y)):[]}function xE(o,u,_){var y=o==null?0:o.length;return y?(u=_||u===e?1:Lt(u),u=y-u,Mr(o,0,u<0?0:u)):[]}function AE(o,u){return o&&o.length?qo(o,At(u,3),!0,!0):[]}function CE(o,u){return o&&o.length?qo(o,At(u,3),!0):[]}function FE(o,u,_,y){var A=o==null?0:o.length;return A?(_&&typeof _!="number"&&He(o,u,_)&&(_=0,y=A),wb(o,u,_,y)):[]}function K0(o,u,_){var y=o==null?0:o.length;if(!y)return-1;var A=_==null?0:Lt(_);return A<0&&(A=Ie(y+A,0)),wo(o,At(u,3),A)}function H0(o,u,_){var y=o==null?0:o.length;if(!y)return-1;var A=y-1;return _!==e&&(A=Lt(_),A=_<0?Ie(y+A,0):Ye(A,y-1)),wo(o,At(u,3),A,!0)}function X0(o){var u=o==null?0:o.length;return u?ke(o,1):[]}function ME(o){var u=o==null?0:o.length;return u?ke(o,K):[]}function NE(o,u){var _=o==null?0:o.length;return _?(u=u===e?1:Lt(u),ke(o,u)):[]}function SE(o){for(var u=-1,_=o==null?0:o.length,y={};++u<_;){var A=o[u];y[A[0]]=A[1]}return y}function J0(o){return o&&o.length?o[0]:e}function BE(o,u,_){var y=o==null?0:o.length;if(!y)return-1;var A=_==null?0:Lt(_);return A<0&&(A=Ie(y+A,0)),Fi(o,u,A)}function TE(o){var u=o==null?0:o.length;return u?Mr(o,0,-1):[]}var OE=Pt(function(o){var u=me(o,Zu);return u.length&&u[0]===o[0]?Lu(u):[]}),IE=Pt(function(o){var u=Nr(o),_=me(o,Zu);return u===Nr(_)?u=e:_.pop(),_.length&&_[0]===o[0]?Lu(_,At(u,2)):[]}),$E=Pt(function(o){var u=Nr(o),_=me(o,Zu);return u=typeof u=="function"?u:e,u&&_.pop(),_.length&&_[0]===o[0]?Lu(_,e,u):[]});function LE(o,u){return o==null?"":TD.call(o,u)}function Nr(o){var u=o==null?0:o.length;return u?o[u-1]:e}function RE(o,u,_){var y=o==null?0:o.length;if(!y)return-1;var A=y;return _!==e&&(A=Lt(_),A=A<0?Ie(y+A,0):Ye(A,y-1)),u===u?mD(o,u,A):wo(o,Bh,A,!0)}function PE(o,u){return o&&o.length?u0(o,Lt(u)):e}var zE=Pt(Q0);function Q0(o,u){return o&&o.length&&u&&u.length?qu(o,u):o}function qE(o,u,_){return o&&o.length&&u&&u.length?qu(o,u,At(_,2)):o}function kE(o,u,_){return o&&o.length&&u&&u.length?qu(o,u,e,_):o}var UE=fn(function(o,u){var _=o==null?0:o.length,y=Tu(o,u);return c0(o,me(u,function(A){return cn(A,_)?+A:A}).sort(D0)),y});function WE(o,u){var _=[];if(!(o&&o.length))return _;var y=-1,A=[],O=o.length;for(u=At(u,3);++y<O;){var R=o[y];u(R,y,o)&&(_.push(R),A.push(y))}return c0(o,A),_}function ol(o){return o==null?o:LD.call(o)}function jE(o,u,_){var y=o==null?0:o.length;return y?(_&&typeof _!="number"&&He(o,u,_)?(u=0,_=y):(u=u==null?0:Lt(u),_=_===e?y:Lt(_)),Mr(o,u,_)):[]}function YE(o,u){return zo(o,u)}function ZE(o,u,_){return Wu(o,u,At(_,2))}function GE(o,u){var _=o==null?0:o.length;if(_){var y=zo(o,u);if(y<_&&qr(o[y],u))return y}return-1}function KE(o,u){return zo(o,u,!0)}function HE(o,u,_){return Wu(o,u,At(_,2),!0)}function XE(o,u){var _=o==null?0:o.length;if(_){var y=zo(o,u,!0)-1;if(qr(o[y],u))return y}return-1}function JE(o){return o&&o.length?p0(o):[]}function QE(o,u){return o&&o.length?p0(o,At(u,2)):[]}function VE(o){var u=o==null?0:o.length;return u?Mr(o,1,u):[]}function tx(o,u,_){return o&&o.length?(u=_||u===e?1:Lt(u),Mr(o,0,u<0?0:u)):[]}function ex(o,u,_){var y=o==null?0:o.length;return y?(u=_||u===e?1:Lt(u),u=y-u,Mr(o,u<0?0:u,y)):[]}function rx(o,u){return o&&o.length?qo(o,At(u,3),!1,!0):[]}function nx(o,u){return o&&o.length?qo(o,At(u,3)):[]}var ix=Pt(function(o){return On(ke(o,1,xe,!0))}),sx=Pt(function(o){var u=Nr(o);return xe(u)&&(u=e),On(ke(o,1,xe,!0),At(u,2))}),ox=Pt(function(o){var u=Nr(o);return u=typeof u=="function"?u:e,On(ke(o,1,xe,!0),e,u)});function ax(o){return o&&o.length?On(o):[]}function ux(o,u){return o&&o.length?On(o,At(u,2)):[]}function lx(o,u){return u=typeof u=="function"?u:e,o&&o.length?On(o,e,u):[]}function al(o){if(!(o&&o.length))return[];var u=0;return o=Mn(o,function(_){if(xe(_))return u=Ie(_.length,u),!0}),xu(u,function(_){return me(o,Du(_))})}function V0(o,u){if(!(o&&o.length))return[];var _=al(o);return u==null?_:me(_,function(y){return pr(u,e,y)})}var fx=Pt(function(o,u){return xe(o)?ls(o,u):[]}),cx=Pt(function(o){return Yu(Mn(o,xe))}),hx=Pt(function(o){var u=Nr(o);return xe(u)&&(u=e),Yu(Mn(o,xe),At(u,2))}),px=Pt(function(o){var u=Nr(o);return u=typeof u=="function"?u:e,Yu(Mn(o,xe),e,u)}),dx=Pt(al);function _x(o,u){return g0(o||[],u||[],us)}function mx(o,u){return g0(o||[],u||[],hs)}var gx=Pt(function(o){var u=o.length,_=u>1?o[u-1]:e;return _=typeof _=="function"?(o.pop(),_):e,V0(o,_)});function tp(o){var u=B(o);return u.__chain__=!0,u}function vx(o,u){return u(o),o}function Ho(o,u){return u(o)}var wx=fn(function(o){var u=o.length,_=u?o[0]:0,y=this.__wrapped__,A=function(O){return Tu(O,o)};return u>1||this.__actions__.length||!(y instanceof Ut)||!cn(_)?this.thru(A):(y=y.slice(_,+_+(u?1:0)),y.__actions__.push({func:Ho,args:[A],thisArg:e}),new Cr(y,this.__chain__).thru(function(O){return u&&!O.length&&O.push(e),O}))});function yx(){return tp(this)}function Dx(){return new Cr(this.value(),this.__chain__)}function bx(){this.__values__===e&&(this.__values__=dp(this.value()));var o=this.__index__>=this.__values__.length,u=o?e:this.__values__[this.__index__++];return{done:o,value:u}}function Ex(){return this}function xx(o){for(var u,_=this;_ instanceof Io;){var y=G0(_);y.__index__=0,y.__values__=e,u?A.__wrapped__=y:u=y;var A=y;_=_.__wrapped__}return A.__wrapped__=o,u}function Ax(){var o=this.__wrapped__;if(o instanceof Ut){var u=o;return this.__actions__.length&&(u=new Ut(this)),u=u.reverse(),u.__actions__.push({func:Ho,args:[ol],thisArg:e}),new Cr(u,this.__chain__)}return this.thru(ol)}function Cx(){return m0(this.__wrapped__,this.__actions__)}var Fx=ko(function(o,u,_){ie.call(o,_)?++o[_]:un(o,_,1)});function Mx(o,u,_){var y=It(o)?Nh:vb;return _&&He(o,u,_)&&(u=e),y(o,At(u,3))}function Nx(o,u){var _=It(o)?Mn:Vh;return _(o,At(u,3))}var Sx=F0(K0),Bx=F0(H0);function Tx(o,u){return ke(Xo(o,u),1)}function Ox(o,u){return ke(Xo(o,u),K)}function Ix(o,u,_){return _=_===e?1:Lt(_),ke(Xo(o,u),_)}function ep(o,u){var _=It(o)?xr:Tn;return _(o,At(u,3))}function rp(o,u){var _=It(o)?Vy:Qh;return _(o,At(u,3))}var $x=ko(function(o,u,_){ie.call(o,_)?o[_].push(u):un(o,_,[u])});function Lx(o,u,_,y){o=rr(o)?o:zi(o),_=_&&!y?Lt(_):0;var A=o.length;return _<0&&(_=Ie(A+_,0)),ea(o)?_<=A&&o.indexOf(u,_)>-1:!!A&&Fi(o,u,_)>-1}var Rx=Pt(function(o,u,_){var y=-1,A=typeof u=="function",O=rr(o)?X(o.length):[];return Tn(o,function(R){O[++y]=A?pr(u,R,_):fs(R,u,_)}),O}),Px=ko(function(o,u,_){un(o,_,u)});function Xo(o,u){var _=It(o)?me:s0;return _(o,At(u,3))}function zx(o,u,_,y){return o==null?[]:(It(u)||(u=u==null?[]:[u]),_=y?e:_,It(_)||(_=_==null?[]:[_]),l0(o,u,_))}var qx=ko(function(o,u,_){o[_?0:1].push(u)},function(){return[[],[]]});function kx(o,u,_){var y=It(o)?wu:Oh,A=arguments.length<3;return y(o,At(u,4),_,A,Tn)}function Ux(o,u,_){var y=It(o)?tD:Oh,A=arguments.length<3;return y(o,At(u,4),_,A,Qh)}function Wx(o,u){var _=It(o)?Mn:Vh;return _(o,Vo(At(u,3)))}function jx(o){var u=It(o)?Kh:Lb;return u(o)}function Yx(o,u,_){(_?He(o,u,_):u===e)?u=1:u=Lt(u);var y=It(o)?pb:Rb;return y(o,u)}function Zx(o){var u=It(o)?db:zb;return u(o)}function Gx(o){if(o==null)return 0;if(rr(o))return ea(o)?Ni(o):o.length;var u=Ze(o);return u==Kt||u==fr?o.size:Pu(o).length}function Kx(o,u,_){var y=It(o)?yu:qb;return _&&He(o,u,_)&&(u=e),y(o,At(u,3))}var Hx=Pt(function(o,u){if(o==null)return[];var _=u.length;return _>1&&He(o,u[0],u[1])?u=[]:_>2&&He(u[0],u[1],u[2])&&(u=[u[0]]),l0(o,ke(u,1),[])}),Jo=ND||function(){return qe.Date.now()};function Xx(o,u){if(typeof u!="function")throw new Ar(a);return o=Lt(o),function(){if(--o<1)return u.apply(this,arguments)}}function np(o,u,_){return u=_?e:u,u=o&&u==null?o.length:u,ln(o,M,e,e,e,e,u)}function ip(o,u){var _;if(typeof u!="function")throw new Ar(a);return o=Lt(o),function(){return--o>0&&(_=u.apply(this,arguments)),o<=1&&(u=e),_}}var ul=Pt(function(o,u,_){var y=D;if(_.length){var A=Sn(_,Ri(ul));y|=x}return ln(o,y,u,_,A)}),sp=Pt(function(o,u,_){var y=D|v;if(_.length){var A=Sn(_,Ri(sp));y|=x}return ln(u,y,o,_,A)});function op(o,u,_){u=_?e:u;var y=ln(o,b,e,e,e,e,e,u);return y.placeholder=op.placeholder,y}function ap(o,u,_){u=_?e:u;var y=ln(o,N,e,e,e,e,e,u);return y.placeholder=ap.placeholder,y}function up(o,u,_){var y,A,O,R,q,Y,V=0,et=!1,ot=!1,dt=!0;if(typeof o!="function")throw new Ar(a);u=Sr(u)||0,ye(_)&&(et=!!_.leading,ot="maxWait"in _,O=ot?Ie(Sr(_.maxWait)||0,u):O,dt="trailing"in _?!!_.trailing:dt);function wt(Ae){var kr=y,dn=A;return y=A=e,V=Ae,R=o.apply(dn,kr),R}function Ct(Ae){return V=Ae,q=_s(kt,u),et?wt(Ae):R}function Rt(Ae){var kr=Ae-Y,dn=Ae-V,Fp=u-kr;return ot?Ye(Fp,O-dn):Fp}function Ft(Ae){var kr=Ae-Y,dn=Ae-V;return Y===e||kr>=u||kr<0||ot&&dn>=O}function kt(){var Ae=Jo();if(Ft(Ae))return Wt(Ae);q=_s(kt,Rt(Ae))}function Wt(Ae){return q=e,dt&&y?wt(Ae):(y=A=e,R)}function gr(){q!==e&&v0(q),V=0,y=Y=A=q=e}function Xe(){return q===e?R:Wt(Jo())}function vr(){var Ae=Jo(),kr=Ft(Ae);if(y=arguments,A=this,Y=Ae,kr){if(q===e)return Ct(Y);if(ot)return v0(q),q=_s(kt,u),wt(Y)}return q===e&&(q=_s(kt,u)),R}return vr.cancel=gr,vr.flush=Xe,vr}var Jx=Pt(function(o,u){return Jh(o,1,u)}),Qx=Pt(function(o,u,_){return Jh(o,Sr(u)||0,_)});function Vx(o){return ln(o,I)}function Qo(o,u){if(typeof o!="function"||u!=null&&typeof u!="function")throw new Ar(a);var _=function(){var y=arguments,A=u?u.apply(this,y):y[0],O=_.cache;if(O.has(A))return O.get(A);var R=o.apply(this,y);return _.cache=O.set(A,R)||O,R};return _.cache=new(Qo.Cache||an),_}Qo.Cache=an;function Vo(o){if(typeof o!="function")throw new Ar(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 tA(o){return ip(2,o)}var eA=kb(function(o,u){u=u.length==1&&It(u[0])?me(u[0],dr(At())):me(ke(u,1),dr(At()));var _=u.length;return Pt(function(y){for(var A=-1,O=Ye(y.length,_);++A<O;)y[A]=u[A].call(this,y[A]);return pr(o,this,y)})}),ll=Pt(function(o,u){var _=Sn(u,Ri(ll));return ln(o,x,e,u,_)}),lp=Pt(function(o,u){var _=Sn(u,Ri(lp));return ln(o,F,e,u,_)}),rA=fn(function(o,u){return ln(o,S,e,e,e,u)});function nA(o,u){if(typeof o!="function")throw new Ar(a);return u=u===e?u:Lt(u),Pt(o,u)}function iA(o,u){if(typeof o!="function")throw new Ar(a);return u=u==null?0:Ie(Lt(u),0),Pt(function(_){var y=_[u],A=$n(_,0,u);return y&&Nn(A,y),pr(o,this,A)})}function sA(o,u,_){var y=!0,A=!0;if(typeof o!="function")throw new Ar(a);return ye(_)&&(y="leading"in _?!!_.leading:y,A="trailing"in _?!!_.trailing:A),up(o,u,{leading:y,maxWait:u,trailing:A})}function oA(o){return np(o,1)}function aA(o,u){return ll(Gu(u),o)}function uA(){if(!arguments.length)return[];var o=arguments[0];return It(o)?o:[o]}function lA(o){return Fr(o,g)}function fA(o,u){return u=typeof u=="function"?u:e,Fr(o,g,u)}function cA(o){return Fr(o,c|g)}function hA(o,u){return u=typeof u=="function"?u:e,Fr(o,c|g,u)}function pA(o,u){return u==null||Xh(o,u,Re(u))}function qr(o,u){return o===u||o!==o&&u!==u}var dA=Yo($u),_A=Yo(function(o,u){return o>=u}),si=r0(function(){return arguments}())?r0:function(o){return De(o)&&ie.call(o,"callee")&&!Uh.call(o,"callee")},It=X.isArray,mA=Eh?dr(Eh):xb;function rr(o){return o!=null&&ta(o.length)&&!hn(o)}function xe(o){return De(o)&&rr(o)}function gA(o){return o===!0||o===!1||De(o)&&Ke(o)==ne}var Ln=BD||yl,vA=xh?dr(xh):Ab;function wA(o){return De(o)&&o.nodeType===1&&!ms(o)}function yA(o){if(o==null)return!0;if(rr(o)&&(It(o)||typeof o=="string"||typeof o.splice=="function"||Ln(o)||Pi(o)||si(o)))return!o.length;var u=Ze(o);if(u==Kt||u==fr)return!o.size;if(ds(o))return!Pu(o).length;for(var _ in o)if(ie.call(o,_))return!1;return!0}function DA(o,u){return cs(o,u)}function bA(o,u,_){_=typeof _=="function"?_:e;var y=_?_(o,u):e;return y===e?cs(o,u,e,_):!!y}function fl(o){if(!De(o))return!1;var u=Ke(o);return u==se||u==Nt||typeof o.message=="string"&&typeof o.name=="string"&&!ms(o)}function EA(o){return typeof o=="number"&&jh(o)}function hn(o){if(!ye(o))return!1;var u=Ke(o);return u==Vt||u==qt||u==Et||u==xn}function fp(o){return typeof o=="number"&&o==Lt(o)}function ta(o){return typeof o=="number"&&o>-1&&o%1==0&&o<=G}function ye(o){var u=typeof o;return o!=null&&(u=="object"||u=="function")}function De(o){return o!=null&&typeof o=="object"}var cp=Ah?dr(Ah):Fb;function xA(o,u){return o===u||Ru(o,u,tl(u))}function AA(o,u,_){return _=typeof _=="function"?_:e,Ru(o,u,tl(u),_)}function CA(o){return hp(o)&&o!=+o}function FA(o){if(fE(o))throw new Tt(s);return n0(o)}function MA(o){return o===null}function NA(o){return o==null}function hp(o){return typeof o=="number"||De(o)&&Ke(o)==Ne}function ms(o){if(!De(o)||Ke(o)!=Be)return!1;var u=Fo(o);if(u===null)return!0;var _=ie.call(u,"constructor")&&u.constructor;return typeof _=="function"&&_ instanceof _&&Eo.call(_)==AD}var cl=Ch?dr(Ch):Mb;function SA(o){return fp(o)&&o>=-G&&o<=G}var pp=Fh?dr(Fh):Nb;function ea(o){return typeof o=="string"||!It(o)&&De(o)&&Ke(o)==An}function mr(o){return typeof o=="symbol"||De(o)&&Ke(o)==$}var Pi=Mh?dr(Mh):Sb;function BA(o){return o===e}function TA(o){return De(o)&&Ze(o)==H}function OA(o){return De(o)&&Ke(o)==nt}var IA=Yo(zu),$A=Yo(function(o,u){return o<=u});function dp(o){if(!o)return[];if(rr(o))return ea(o)?Pr(o):er(o);if(ns&&o[ns])return pD(o[ns]());var u=Ze(o),_=u==Kt?Cu:u==fr?yo:zi;return _(o)}function pn(o){if(!o)return o===0?o:0;if(o=Sr(o),o===K||o===-K){var u=o<0?-1:1;return u*Q}return o===o?o:0}function Lt(o){var u=pn(o),_=u%1;return u===u?_?u-_:u:0}function _p(o){return o?ei(Lt(o),0,ft):0}function Sr(o){if(typeof o=="number")return o;if(mr(o))return tt;if(ye(o)){var u=typeof o.valueOf=="function"?o.valueOf():o;o=ye(u)?u+"":u}if(typeof o!="string")return o===0?o:+o;o=Ih(o);var _=su.test(o);return _||au.test(o)?Xy(o.slice(2),_?2:8):iu.test(o)?tt:+o}function mp(o){return Xr(o,nr(o))}function LA(o){return o?ei(Lt(o),-G,G):o===0?o:0}function ee(o){return o==null?"":_r(o)}var RA=$i(function(o,u){if(ds(u)||rr(u)){Xr(u,Re(u),o);return}for(var _ in u)ie.call(u,_)&&us(o,_,u[_])}),gp=$i(function(o,u){Xr(u,nr(u),o)}),ra=$i(function(o,u,_,y){Xr(u,nr(u),o,y)}),PA=$i(function(o,u,_,y){Xr(u,Re(u),o,y)}),zA=fn(Tu);function qA(o,u){var _=Ii(o);return u==null?_:Hh(_,u)}var kA=Pt(function(o,u){o=ue(o);var _=-1,y=u.length,A=y>2?u[2]:e;for(A&&He(u[0],u[1],A)&&(y=1);++_<y;)for(var O=u[_],R=nr(O),q=-1,Y=R.length;++q<Y;){var V=R[q],et=o[V];(et===e||qr(et,Bi[V])&&!ie.call(o,V))&&(o[V]=O[V])}return o}),UA=Pt(function(o){return o.push(e,I0),pr(vp,e,o)});function WA(o,u){return Sh(o,At(u,3),Hr)}function jA(o,u){return Sh(o,At(u,3),Iu)}function YA(o,u){return o==null?o:Ou(o,At(u,3),nr)}function ZA(o,u){return o==null?o:t0(o,At(u,3),nr)}function GA(o,u){return o&&Hr(o,At(u,3))}function KA(o,u){return o&&Iu(o,At(u,3))}function HA(o){return o==null?[]:Ro(o,Re(o))}function XA(o){return o==null?[]:Ro(o,nr(o))}function hl(o,u,_){var y=o==null?e:ri(o,u);return y===e?_:y}function JA(o,u){return o!=null&&R0(o,u,yb)}function pl(o,u){return o!=null&&R0(o,u,Db)}var QA=N0(function(o,u,_){u!=null&&typeof u.toString!="function"&&(u=xo.call(u)),o[u]=_},_l(ir)),VA=N0(function(o,u,_){u!=null&&typeof u.toString!="function"&&(u=xo.call(u)),ie.call(o,u)?o[u].push(_):o[u]=[_]},At),tC=Pt(fs);function Re(o){return rr(o)?Gh(o):Pu(o)}function nr(o){return rr(o)?Gh(o,!0):Bb(o)}function eC(o,u){var _={};return u=At(u,3),Hr(o,function(y,A,O){un(_,u(y,A,O),y)}),_}function rC(o,u){var _={};return u=At(u,3),Hr(o,function(y,A,O){un(_,A,u(y,A,O))}),_}var nC=$i(function(o,u,_){Po(o,u,_)}),vp=$i(function(o,u,_,y){Po(o,u,_,y)}),iC=fn(function(o,u){var _={};if(o==null)return _;var y=!1;u=me(u,function(O){return O=In(O,o),y||(y=O.length>1),O}),Xr(o,Qu(o),_),y&&(_=Fr(_,c|d|g,Qb));for(var A=u.length;A--;)ju(_,u[A]);return _});function sC(o,u){return wp(o,Vo(At(u)))}var oC=fn(function(o,u){return o==null?{}:Ob(o,u)});function wp(o,u){if(o==null)return{};var _=me(Qu(o),function(y){return[y]});return u=At(u),f0(o,_,function(y,A){return u(y,A[0])})}function aC(o,u,_){u=In(u,o);var y=-1,A=u.length;for(A||(A=1,o=e);++y<A;){var O=o==null?e:o[Jr(u[y])];O===e&&(y=A,O=_),o=hn(O)?O.call(o):O}return o}function uC(o,u,_){return o==null?o:hs(o,u,_)}function lC(o,u,_,y){return y=typeof y=="function"?y:e,o==null?o:hs(o,u,_,y)}var yp=T0(Re),Dp=T0(nr);function fC(o,u,_){var y=It(o),A=y||Ln(o)||Pi(o);if(u=At(u,4),_==null){var O=o&&o.constructor;A?_=y?new O:[]:ye(o)?_=hn(O)?Ii(Fo(o)):{}:_={}}return(A?xr:Hr)(o,function(R,q,Y){return u(_,R,q,Y)}),_}function cC(o,u){return o==null?!0:ju(o,u)}function hC(o,u,_){return o==null?o:_0(o,u,Gu(_))}function pC(o,u,_,y){return y=typeof y=="function"?y:e,o==null?o:_0(o,u,Gu(_),y)}function zi(o){return o==null?[]:Au(o,Re(o))}function dC(o){return o==null?[]:Au(o,nr(o))}function _C(o,u,_){return _===e&&(_=u,u=e),_!==e&&(_=Sr(_),_=_===_?_:0),u!==e&&(u=Sr(u),u=u===u?u:0),ei(Sr(o),u,_)}function mC(o,u,_){return u=pn(u),_===e?(_=u,u=0):_=pn(_),o=Sr(o),bb(o,u,_)}function gC(o,u,_){if(_&&typeof _!="boolean"&&He(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=pn(o),u===e?(u=o,o=0):u=pn(u)),o>u){var y=o;o=u,u=y}if(_||o%1||u%1){var A=Yh();return Ye(o+A*(u-o+Hy("1e-"+((A+"").length-1))),u)}return ku(o,u)}var vC=Li(function(o,u,_){return u=u.toLowerCase(),o+(_?bp(u):u)});function bp(o){return dl(ee(o).toLowerCase())}function Ep(o){return o=ee(o),o&&o.replace(lu,uD).replace(zy,"")}function wC(o,u,_){o=ee(o),u=_r(u);var y=o.length;_=_===e?y:ei(Lt(_),0,y);var A=_;return _-=u.length,_>=0&&o.slice(_,A)==u}function yC(o){return o=ee(o),o&&Wa.test(o)?o.replace(ho,lD):o}function DC(o){return o=ee(o),o&&Ha.test(o)?o.replace(ts,"\\$&"):o}var bC=Li(function(o,u,_){return o+(_?"-":"")+u.toLowerCase()}),EC=Li(function(o,u,_){return o+(_?" ":"")+u.toLowerCase()}),xC=C0("toLowerCase");function AC(o,u,_){o=ee(o),u=Lt(u);var y=u?Ni(o):0;if(!u||y>=u)return o;var A=(u-y)/2;return jo(Bo(A),_)+o+jo(So(A),_)}function CC(o,u,_){o=ee(o),u=Lt(u);var y=u?Ni(o):0;return u&&y<u?o+jo(u-y,_):o}function FC(o,u,_){o=ee(o),u=Lt(u);var y=u?Ni(o):0;return u&&y<u?jo(u-y,_)+o:o}function MC(o,u,_){return _||u==null?u=0:u&&(u=+u),$D(ee(o).replace(es,""),u||0)}function NC(o,u,_){return(_?He(o,u,_):u===e)?u=1:u=Lt(u),Uu(ee(o),u)}function SC(){var o=arguments,u=ee(o[0]);return o.length<3?u:u.replace(o[1],o[2])}var BC=Li(function(o,u,_){return o+(_?"_":"")+u.toLowerCase()});function TC(o,u,_){return _&&typeof _!="number"&&He(o,u,_)&&(u=_=e),_=_===e?ft:_>>>0,_?(o=ee(o),o&&(typeof u=="string"||u!=null&&!cl(u))&&(u=_r(u),!u&&Mi(o))?$n(Pr(o),0,_):o.split(u,_)):[]}var OC=Li(function(o,u,_){return o+(_?" ":"")+dl(u)});function IC(o,u,_){return o=ee(o),_=_==null?0:ei(Lt(_),0,o.length),u=_r(u),o.slice(_,_+u.length)==u}function $C(o,u,_){var y=B.templateSettings;_&&He(o,u,_)&&(u=e),o=ee(o),u=ra({},u,y,O0);var A=ra({},u.imports,y.imports,O0),O=Re(A),R=Au(A,O),q,Y,V=0,et=u.interpolate||xi,ot="__p += '",dt=Fu((u.escape||xi).source+"|"+et.source+"|"+(et===po?nu:xi).source+"|"+(u.evaluate||xi).source+"|$","g"),wt="//# sourceURL="+(ie.call(u,"sourceURL")?(u.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++jy+"]")+`
11
+ `;o.replace(dt,function(Ft,kt,Wt,gr,Xe,vr){return Wt||(Wt=gr),ot+=o.slice(V,vr).replace(Xn,fD),kt&&(q=!0,ot+=`' +
12
12
  __e(`+kt+`) +
13
- '`),Je&&(Y=!0,ot+=`';
14
- `+Je+`;
13
+ '`),Xe&&(Y=!0,ot+=`';
14
+ `+Xe+`;
15
15
  __p += '`),Wt&&(ot+=`' +
16
16
  ((__t = (`+Wt+`)) == null ? '' : __t) +
17
- '`),Q=gr+Ft.length,Ft}),ot+=`';
17
+ '`),V=vr+Ft.length,Ft}),ot+=`';
18
18
  `;var Ct=ie.call(u,"variable")&&u.variable;if(!Ct)ot=`with (obj) {
19
19
  `+ot+`
20
20
  }
21
- `;else if(tu.test(Ct))throw new Tt(l);ot=(Y?ot.replace(fr,""):ot).replace(cr,"$1").replace(An,"$1;"),ot="function("+(Ct||"obj")+`) {
21
+ `;else if(eu.test(Ct))throw new Tt(l);ot=(Y?ot.replace(cr,""):ot).replace(hr,"$1").replace(Cn,"$1;"),ot="function("+(Ct||"obj")+`) {
22
22
  `+(Ct?"":`obj || (obj = {});
23
23
  `)+"var __t, __p = ''"+(q?", __e = _.escape":"")+(Y?`, __j = Array.prototype.join;
24
24
  function print() { __p += __j.call(arguments, '') }
25
25
  `:`;
26
26
  `)+ot+`return __p
27
- }`;var Rt=xp(function(){return Xt(I,wt+"return "+ot).apply(e,R)});if(Rt.source=ot,ll(Rt))throw Rt;return Rt}function $C(o){return ee(o).toLowerCase()}function LC(o){return ee(o).toUpperCase()}function RC(o,u,_){if(o=ee(o),o&&(_||u===e))return Ih(o);if(!o||!(u=dr(u)))return o;var y=Rr(o),A=Rr(u),I=Oh(y,A),R=$h(y,A)+1;return On(y,I,R).join("")}function PC(o,u,_){if(o=ee(o),o&&(_||u===e))return o.slice(0,Rh(o)+1);if(!o||!(u=dr(u)))return o;var y=Rr(o),A=$h(y,Rr(u))+1;return On(y,0,A).join("")}function zC(o,u,_){if(o=ee(o),o&&(_||u===e))return o.replace(ts,"");if(!o||!(u=dr(u)))return o;var y=Rr(o),A=Oh(y,Rr(u));return On(y,A).join("")}function qC(o,u){var _=C,y=T;if(ye(u)){var A="separator"in u?u.separator:A;_="length"in u?Lt(u.length):_,y="omission"in u?dr(u.omission):y}o=ee(o);var I=o.length;if(Fi(o)){var R=Rr(o);I=R.length}if(_>=I)return o;var q=_-Mi(y);if(q<1)return y;var Y=R?On(R,0,q).join(""):o.slice(0,q);if(A===e)return Y+y;if(R&&(q+=Y.length-q),fl(A)){if(o.slice(q).search(A)){var Q,et=Y;for(A.global||(A=Cu(A.source,ee(po.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 kC(o){return o=ee(o),o&&ka.test(o)?o.replace(Kn,mD):o}var UC=$i(function(o,u,_){return o+(_?" ":"")+u.toUpperCase()}),pl=A0("toUpperCase");function Ep(o,u,_){return o=ee(o),u=_?e:u,u===e?cD(o)?wD(o):rD(o):o.match(u)||[]}var xp=Pt(function(o,u){try{return hr(o,e,u)}catch(_){return ll(_)?_:new Tt(_)}}),WC=ln(function(o,u){return Er(u,function(_){_=Jr(_),an(o,_,al(o[_],o))}),o});function jC(o){var u=o==null?0:o.length,_=At();return o=u?me(o,function(y){if(typeof y[1]!="function")throw new xr(a);return[_(y[0]),y[1]]}):[],Pt(function(y){for(var A=-1;++A<u;){var I=o[A];if(hr(I[0],this,y))return hr(I[1],this,y)}})}function YC(o){return mb(Cr(o,c))}function dl(o){return function(){return o}}function ZC(o,u){return o==null||o!==o?u:o}var GC=F0(),KC=F0(!0);function nr(o){return o}function _l(o){return n0(typeof o=="function"?o:Cr(o,c))}function HC(o){return s0(Cr(o,c))}function JC(o,u){return o0(o,Cr(u,c))}var XC=Pt(function(o,u){return function(_){return ls(_,o,u)}}),VC=Pt(function(o,u){return function(_){return ls(o,_,u)}});function ml(o,u,_){var y=Re(u),A=Lo(u,y);_==null&&!(ye(u)&&(A.length||!y.length))&&(_=u,u=o,o=this,A=Lo(u,Re(u)));var I=!(ye(_)&&"chain"in _)||!!_.chain,R=cn(o);return Er(A,function(q){var Y=u[q];o[q]=Y,R&&(o.prototype[q]=function(){var Q=this.__chain__;if(I||Q){var et=o(this.__wrapped__),ot=et.__actions__=tr(this.__actions__);return ot.push({func:Y,args:arguments,thisArg:o}),et.__chain__=Q,et}return Y.apply(o,Mn([this.value()],arguments))})}),o}function QC(){return qe._===this&&(qe._=AD),this}function gl(){}function t2(o){return o=Lt(o),Pt(function(u){return a0(u,o)})}var e2=Ku(me),r2=Ku(Mh),n2=Ku(wu);function Ap(o){return el(o)?yu(Jr(o)):Ib(o)}function i2(o){return function(u){return o==null?e:ei(o,u)}}var s2=N0(),o2=N0(!0);function vl(){return[]}function wl(){return!1}function a2(){return{}}function u2(){return""}function l2(){return!0}function f2(o,u){if(o=Lt(o),o<1||o>G)return[];var _=ft,y=Ye(o,ft);u=At(u),o-=ft;for(var A=Eu(y,u);++_<o;)u(_);return A}function c2(o){return Ot(o)?me(o,Jr):_r(o)?[o]:tr(Y0(ee(o)))}function h2(o){var u=++ED;return ee(o)+u}var p2=Uo(function(o,u){return o+u},0),d2=Hu("ceil"),_2=Uo(function(o,u){return o/u},1),m2=Hu("floor");function g2(o){return o&&o.length?$o(o,nr,Ou):e}function v2(o,u){return o&&o.length?$o(o,At(u,2),Ou):e}function w2(o){return Bh(o,nr)}function y2(o,u){return Bh(o,At(u,2))}function D2(o){return o&&o.length?$o(o,nr,Pu):e}function b2(o,u){return o&&o.length?$o(o,At(u,2),Pu):e}var E2=Uo(function(o,u){return o*u},1),x2=Hu("round"),A2=Uo(function(o,u){return o-u},0);function C2(o){return o&&o.length?bu(o,nr):0}function F2(o,u){return o&&o.length?bu(o,At(u,2)):0}return B.after=Hx,B.ary=rp,B.assign=LA,B.assignIn=mp,B.assignInWith=ea,B.assignWith=RA,B.at=PA,B.before=np,B.bind=al,B.bindAll=WC,B.bindKey=ip,B.castArray=aA,B.chain=Q0,B.chunk=mE,B.compact=gE,B.concat=vE,B.cond=jC,B.conforms=YC,B.constant=dl,B.countBy=Cx,B.create=zA,B.curry=sp,B.curryRight=op,B.debounce=ap,B.defaults=qA,B.defaultsDeep=kA,B.defer=Jx,B.delay=Xx,B.difference=wE,B.differenceBy=yE,B.differenceWith=DE,B.drop=bE,B.dropRight=EE,B.dropRightWhile=xE,B.dropWhile=AE,B.fill=CE,B.filter=Mx,B.flatMap=Bx,B.flatMapDeep=Tx,B.flatMapDepth=Ix,B.flatten=H0,B.flattenDeep=FE,B.flattenDepth=ME,B.flip=Vx,B.flow=GC,B.flowRight=KC,B.fromPairs=NE,B.functions=KA,B.functionsIn=HA,B.groupBy=Ox,B.initial=BE,B.intersection=TE,B.intersectionBy=IE,B.intersectionWith=OE,B.invert=XA,B.invertBy=VA,B.invokeMap=Lx,B.iteratee=_l,B.keyBy=Rx,B.keys=Re,B.keysIn=rr,B.map=Ho,B.mapKeys=tC,B.mapValues=eC,B.matches=HC,B.matchesProperty=JC,B.memoize=Xo,B.merge=rC,B.mergeWith=gp,B.method=XC,B.methodOf=VC,B.mixin=ml,B.negate=Vo,B.nthArg=t2,B.omit=nC,B.omitBy=iC,B.once=Qx,B.orderBy=Px,B.over=e2,B.overArgs=tA,B.overEvery=r2,B.overSome=n2,B.partial=ul,B.partialRight=up,B.partition=zx,B.pick=sC,B.pickBy=vp,B.property=Ap,B.propertyOf=i2,B.pull=PE,B.pullAll=X0,B.pullAllBy=zE,B.pullAllWith=qE,B.pullAt=kE,B.range=s2,B.rangeRight=o2,B.rearg=eA,B.reject=Ux,B.remove=UE,B.rest=rA,B.reverse=sl,B.sampleSize=jx,B.set=aC,B.setWith=uC,B.shuffle=Yx,B.slice=WE,B.sortBy=Kx,B.sortedUniq=JE,B.sortedUniqBy=XE,B.split=BC,B.spread=nA,B.tail=VE,B.take=QE,B.takeRight=tx,B.takeRightWhile=ex,B.takeWhile=rx,B.tap=gx,B.throttle=iA,B.thru=Ko,B.toArray=pp,B.toPairs=wp,B.toPairsIn=yp,B.toPath=c2,B.toPlainObject=_p,B.transform=lC,B.unary=sA,B.union=nx,B.unionBy=ix,B.unionWith=sx,B.uniq=ox,B.uniqBy=ax,B.uniqWith=ux,B.unset=fC,B.unzip=ol,B.unzipWith=V0,B.update=cC,B.updateWith=hC,B.values=Pi,B.valuesIn=pC,B.without=lx,B.words=Ep,B.wrap=oA,B.xor=fx,B.xorBy=cx,B.xorWith=hx,B.zip=px,B.zipObject=dx,B.zipObjectDeep=_x,B.zipWith=mx,B.entries=wp,B.entriesIn=yp,B.extend=mp,B.extendWith=ea,ml(B,B),B.add=p2,B.attempt=xp,B.camelCase=gC,B.capitalize=Dp,B.ceil=d2,B.clamp=dC,B.clone=uA,B.cloneDeep=fA,B.cloneDeepWith=cA,B.cloneWith=lA,B.conformsTo=hA,B.deburr=bp,B.defaultTo=ZC,B.divide=_2,B.endsWith=vC,B.eq=zr,B.escape=wC,B.escapeRegExp=yC,B.every=Fx,B.find=Nx,B.findIndex=G0,B.findKey=UA,B.findLast=Sx,B.findLastIndex=K0,B.findLastKey=WA,B.floor=m2,B.forEach=tp,B.forEachRight=ep,B.forIn=jA,B.forInRight=YA,B.forOwn=ZA,B.forOwnRight=GA,B.get=cl,B.gt=pA,B.gte=dA,B.has=JA,B.hasIn=hl,B.head=J0,B.identity=nr,B.includes=$x,B.indexOf=SE,B.inRange=_C,B.invoke=QA,B.isArguments=ii,B.isArray=Ot,B.isArrayBuffer=_A,B.isArrayLike=er,B.isArrayLikeObject=xe,B.isBoolean=mA,B.isBuffer=$n,B.isDate=gA,B.isElement=vA,B.isEmpty=wA,B.isEqual=yA,B.isEqualWith=DA,B.isError=ll,B.isFinite=bA,B.isFunction=cn,B.isInteger=lp,B.isLength=Qo,B.isMap=fp,B.isMatch=EA,B.isMatchWith=xA,B.isNaN=AA,B.isNative=CA,B.isNil=MA,B.isNull=FA,B.isNumber=cp,B.isObject=ye,B.isObjectLike=De,B.isPlainObject=_s,B.isRegExp=fl,B.isSafeInteger=NA,B.isSet=hp,B.isString=ta,B.isSymbol=_r,B.isTypedArray=Ri,B.isUndefined=SA,B.isWeakMap=BA,B.isWeakSet=TA,B.join=$E,B.kebabCase=DC,B.last=Mr,B.lastIndexOf=LE,B.lowerCase=bC,B.lowerFirst=EC,B.lt=IA,B.lte=OA,B.max=g2,B.maxBy=v2,B.mean=w2,B.meanBy=y2,B.min=D2,B.minBy=b2,B.stubArray=vl,B.stubFalse=wl,B.stubObject=a2,B.stubString=u2,B.stubTrue=l2,B.multiply=E2,B.nth=RE,B.noConflict=QC,B.noop=gl,B.now=Jo,B.pad=xC,B.padEnd=AC,B.padStart=CC,B.parseInt=FC,B.random=mC,B.reduce=qx,B.reduceRight=kx,B.repeat=MC,B.replace=NC,B.result=oC,B.round=x2,B.runInContext=j,B.sample=Wx,B.size=Zx,B.snakeCase=SC,B.some=Gx,B.sortedIndex=jE,B.sortedIndexBy=YE,B.sortedIndexOf=ZE,B.sortedLastIndex=GE,B.sortedLastIndexBy=KE,B.sortedLastIndexOf=HE,B.startCase=TC,B.startsWith=IC,B.subtract=A2,B.sum=C2,B.sumBy=F2,B.template=OC,B.times=f2,B.toFinite=hn,B.toInteger=Lt,B.toLength=dp,B.toLower=$C,B.toNumber=Nr,B.toSafeInteger=$A,B.toString=ee,B.toUpper=LC,B.trim=RC,B.trimEnd=PC,B.trimStart=zC,B.truncate=qC,B.unescape=kC,B.uniqueId=h2,B.upperCase=UC,B.upperFirst=pl,B.each=tp,B.eachRight=ep,B.first=J0,ml(B,function(){var o={};return Kr(B,function(u,_){ie.call(B.prototype,_)||(o[_]=u)}),o}(),{chain:!1}),B.VERSION=r,Er(["bind","bindKey","curry","curryRight","partial","partialRight"],function(o){B[o].placeholder=B}),Er(["drop","take"],function(o,u){Ut.prototype[o]=function(_){_=_===e?1:Oe(Lt(_),0);var y=this.__filtered__&&!u?new Ut(this):this.clone();return y.__filtered__?y.__takeCount__=Ye(_,y.__takeCount__):y.__views__.push({size:Ye(_,ft),type:o+(y.__dir__<0?"Right":"")}),y},Ut.prototype[o+"Right"]=function(_){return this.reverse()[o](_).reverse()}}),Er(["filter","map","takeWhile"],function(o,u){var _=u+1,y=_==k||_==P;Ut.prototype[o]=function(A){var I=this.clone();return I.__iteratees__.push({iteratee:At(A,3),type:_}),I.__filtered__=I.__filtered__||y,I}}),Er(["head","last"],function(o,u){var _="take"+(u?"Right":"");Ut.prototype[o]=function(){return this[_](1).value()[0]}}),Er(["initial","tail"],function(o,u){var _="drop"+(u?"":"Right");Ut.prototype[o]=function(){return this.__filtered__?new Ut(this):this[_](1)}}),Ut.prototype.compact=function(){return this.filter(nr)},Ut.prototype.find=function(o){return this.filter(o).head()},Ut.prototype.findLast=function(o){return this.reverse().find(o)},Ut.prototype.invokeMap=Pt(function(o,u){return typeof o=="function"?new Ut(this):this.map(function(_){return ls(_,o,u)})}),Ut.prototype.reject=function(o){return this.filter(Vo(At(o)))},Ut.prototype.slice=function(o,u){o=Lt(o);var _=this;return _.__filtered__&&(o>0||u<0)?new Ut(_):(o<0?_=_.takeRight(-o):o&&(_=_.drop(o)),u!==e&&(u=Lt(u),_=u<0?_.dropRight(-u):_.take(u-o)),_)},Ut.prototype.takeRightWhile=function(o){return this.reverse().takeWhile(o).reverse()},Ut.prototype.toArray=function(){return this.take(ft)},Kr(Ut.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],I=y||/^find/.test(u);A&&(B.prototype[u]=function(){var R=this.__wrapped__,q=y?[1]:arguments,Y=R instanceof Ut,Q=q[0],et=Y||Ot(R),ot=function(kt){var Wt=A.apply(B,Mn([kt],q));return y&&dt?Wt[0]:Wt};et&&_&&typeof Q=="function"&&Q.length!=1&&(Y=et=!1);var dt=this.__chain__,wt=!!this.__actions__.length,Ct=I&&!dt,Rt=Y&&!wt;if(!I&&et){R=Rt?R:new Ut(this);var Ft=o.apply(R,q);return Ft.__actions__.push({func:Ko,args:[ot],thisArg:e}),new Ar(Ft,dt)}return Ct&&Rt?o.apply(this,q):(Ft=this.thru(ot),Ct?y?Ft.value()[0]:Ft.value():Ft)})}),Er(["pop","push","shift","sort","splice","unshift"],function(o){var u=yo[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 I=this.value();return u.apply(Ot(I)?I:[],A)}return this[_](function(R){return u.apply(Ot(R)?R:[],A)})}}),Kr(Ut.prototype,function(o,u){var _=B[u];if(_){var y=_.name+"";ie.call(Ti,y)||(Ti[y]=[]),Ti[y].push({name:u,func:_})}}),Ti[ko(e,v).name]=[{name:"wrapper",func:e}],Ut.prototype.clone=kD,Ut.prototype.reverse=UD,Ut.prototype.value=WD,B.prototype.at=vx,B.prototype.chain=wx,B.prototype.commit=yx,B.prototype.next=Dx,B.prototype.plant=Ex,B.prototype.reverse=xx,B.prototype.toJSON=B.prototype.valueOf=B.prototype.value=Ax,B.prototype.first=B.prototype.head,rs&&(B.prototype[rs]=bx),B},Ni=yD();Jn?((Jn.exports=Ni)._=Ni,_u._=Ni):qe._=Ni}).call(jt)}(Ln,Ln.exports);var Sr=Ln.exports;class Fp{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 Sr.cloneDeep(t)}new(t={}){return new this._UserTypeFileds(Object.assign(Sr.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 Sr.cloneDeep(this)}}}}var xl={exports:{}};(function(i,t){(function(e,r){i.exports=r()})(jt,function(){var e=1e3,r=6e4,n=36e5,s="millisecond",a="second",l="minute",f="hour",h="day",p="week",c="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(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 K=String(k);return!K||K.length>=W?k:""+Array(W+1-K.length).join(P)+k},N={s:b,z:function(k){var W=-k.utcOffset(),P=Math.abs(W),K=Math.floor(P/60),G=P%60;return(W<=0?"+":"-")+b(K,2,"0")+":"+b(G,2,"0")},m:function k(W,P){if(W.date()<P.date())return-k(P,W);var K=12*(P.year()-W.year())+(P.month()-W.month()),G=W.clone().add(K,c),V=P-G<0,tt=W.clone().add(K+(V?-1:1),c);return+(-(K+(P-G)/(V?G-tt:tt-G))||0)},a:function(k){return k<0?Math.ceil(k)||0:Math.floor(k)},p:function(k){return{M:c,y:g,w:p,d:h,D:w,h:f,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])},O=function k(W,P,K){var G;if(!W)return x;if(typeof W=="string"){var V=W.toLowerCase();F[V]&&(G=V),P&&(F[V]=P,G=V);var tt=W.split("-");if(!G&&tt.length>1)return k(tt[0])}else{var ft=W.name;F[ft]=W,G=ft}return!K&&G&&(x=G),G||!K&&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)},T=N;T.l=O,T.i=S,T.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=O(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(K){var G=K.date,V=K.utc;if(G===null)return new Date(NaN);if(T.u(G))return new Date;if(G instanceof Date)return new Date(G);if(typeof G=="string"&&!/Z$/i.test(G)){var tt=G.match(D);if(tt){var ft=tt[2]-1||0,vt=(tt[7]||"0").substring(0,3);return V?new Date(Date.UTC(tt[1],ft,tt[3]||1,tt[4]||0,tt[5]||0,tt[6]||0,vt)):new Date(tt[1],ft,tt[3]||1,tt[4]||0,tt[5]||0,tt[6]||0,vt)}}return new Date(G)}(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 T},W.isValid=function(){return this.$d.toString()!==m},W.isSame=function(P,K){var G=C(P);return this.startOf(K)<=G&&G<=this.endOf(K)},W.isAfter=function(P,K){return C(P)<this.startOf(K)},W.isBefore=function(P,K){return this.endOf(K)<C(P)},W.$g=function(P,K,G){return T.u(P)?this[K]:this.set(G,P)},W.unix=function(){return Math.floor(this.valueOf()/1e3)},W.valueOf=function(){return this.$d.getTime()},W.startOf=function(P,K){var G=this,V=!!T.u(K)||K,tt=T.p(P),ft=function(It,Nt){var se=T.w(G.$u?Date.UTC(G.$y,Nt,It):new Date(G.$y,Nt,It),G);return V?se:se.endOf(h)},vt=function(It,Nt){return T.w(G.toDate()[It].apply(G.toDate("s"),(V?[0,0,0,0]:[23,59,59,999]).slice(Nt)),G)},lt=this.$W,yt=this.$M,bt=this.$D,Bt="set"+(this.$u?"UTC":"");switch(tt){case g:return V?ft(1,0):ft(31,11);case c:return V?ft(1,yt):ft(0,yt+1);case p:var Et=this.$locale().weekStart||0,ne=(lt<Et?lt+7:lt)-Et;return ft(V?bt-ne:bt+(6-ne),yt);case h:case w:return vt(Bt+"Hours",0);case f: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,K){var G,V=T.p(P),tt="set"+(this.$u?"UTC":""),ft=(G={},G[h]=tt+"Date",G[w]=tt+"Date",G[c]=tt+"Month",G[g]=tt+"FullYear",G[f]=tt+"Hours",G[l]=tt+"Minutes",G[a]=tt+"Seconds",G[s]=tt+"Milliseconds",G)[V],vt=V===h?this.$D+(K-this.$W):K;if(V===c||V===g){var lt=this.clone().set(w,1);lt.$d[ft](vt),lt.init(),this.$d=lt.set(w,Math.min(this.$D,lt.daysInMonth())).$d}else ft&&this.$d[ft](vt);return this.init(),this},W.set=function(P,K){return this.clone().$set(P,K)},W.get=function(P){return this[T.p(P)]()},W.add=function(P,K){var G,V=this;P=Number(P);var tt=T.p(K),ft=function(yt){var bt=C(V);return T.w(bt.date(bt.date()+Math.round(yt*P)),V)};if(tt===c)return this.set(c,this.$M+P);if(tt===g)return this.set(g,this.$y+P);if(tt===h)return ft(1);if(tt===p)return ft(7);var vt=(G={},G[l]=r,G[f]=n,G[a]=e,G)[tt]||1,lt=this.$d.getTime()+P*vt;return T.w(lt,this)},W.subtract=function(P,K){return this.add(-1*P,K)},W.format=function(P){var K=this,G=this.$locale();if(!this.isValid())return G.invalidDate||m;var V=P||"YYYY-MM-DDTHH:mm:ssZ",tt=T.z(this),ft=this.$H,vt=this.$m,lt=this.$M,yt=G.weekdays,bt=G.months,Bt=G.meridiem,Et=function(Nt,se,Qt,qt){return Nt&&(Nt[se]||Nt(K,V))||Qt[se].slice(0,qt)},ne=function(Nt){return T.s(ft%12||12,Nt,"0")},It=Bt||function(Nt,se,Qt){var qt=Nt<12?"AM":"PM";return Qt?qt.toLowerCase():qt};return V.replace(v,function(Nt,se){return se||function(Qt){switch(Qt){case"YY":return String(K.$y).slice(-2);case"YYYY":return T.s(K.$y,4,"0");case"M":return lt+1;case"MM":return T.s(lt+1,2,"0");case"MMM":return Et(G.monthsShort,lt,bt,3);case"MMMM":return Et(bt,lt);case"D":return K.$D;case"DD":return T.s(K.$D,2,"0");case"d":return String(K.$W);case"dd":return Et(G.weekdaysMin,K.$W,yt,2);case"ddd":return Et(G.weekdaysShort,K.$W,yt,3);case"dddd":return yt[K.$W];case"H":return String(ft);case"HH":return T.s(ft,2,"0");case"h":return ne(1);case"hh":return ne(2);case"a":return It(ft,vt,!0);case"A":return It(ft,vt,!1);case"m":return String(vt);case"mm":return T.s(vt,2,"0");case"s":return String(K.$s);case"ss":return T.s(K.$s,2,"0");case"SSS":return T.s(K.$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,K,G){var V,tt=this,ft=T.p(K),vt=C(P),lt=(vt.utcOffset()-this.utcOffset())*r,yt=this-vt,bt=function(){return T.m(tt,vt)};switch(ft){case g:V=bt()/12;break;case c:V=bt();break;case d:V=bt()/3;break;case p:V=(yt-lt)/6048e5;break;case h:V=(yt-lt)/864e5;break;case f:V=yt/n;break;case l:V=yt/r;break;case a:V=yt/e;break;default:V=yt}return G?V:T.a(V)},W.daysInMonth=function(){return this.endOf(c).$D},W.$locale=function(){return F[this.$L]},W.locale=function(P,K){if(!P)return this.$L;var G=this.clone(),V=O(P,K,!0);return V&&(G.$L=V),G},W.clone=function(){return T.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",f],["$W",h],["$M",c],["$y",g],["$D",w]].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=O,C.isDayjs=S,C.unix=function(k){return C(1e3*k)},C.en=F[x],C.Ls=F,C.p={},C})})(xl);var Mp=xl.exports,Vt=Zt(Mp),Al={exports:{}};(function(i,t){(function(e,r){i.exports=r()})(jt,function(){var e="minute",r=/[+-]\d\d(?::?\d\d)?/g,n=/([+-]|\d\d)/g;return function(s,a,l){var f=a.prototype;l.utc=function(m){var D={date:m,utc:!0,args:arguments};return new a(D)},f.utc=function(m){var D=l(this.toDate(),{locale:this.$L,utc:!0});return m?D.add(this.utcOffset(),e):D},f.local=function(){return l(this.toDate(),{locale:this.$L,utc:!1})};var h=f.parse;f.parse=function(m){m.utc&&(this.$u=!0),this.$utils().u(m.$offset)||(this.$offset=m.$offset),h.call(this,m)};var p=f.init;f.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 c=f.utcOffset;f.utcOffset=function(m,D){var v=this.$utils().u;if(v(m))return this.$u?0:v(this.$offset)?c.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],O=60*+M[1]+ +M[2];return O===0?0:S==="+"?O:-O}(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=f.format;f.format=function(m){var D=m||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return d.call(this,D)},f.valueOf=function(){var m=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*m},f.isUTC=function(){return!!this.$u},f.toISOString=function(){return this.toDate().toISOString()},f.toString=function(){return this.toDate().toUTCString()};var g=f.toDate;f.toDate=function(m){return m==="s"&&this.$offset?l(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():g.call(this)};var w=f.diff;f.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)}}})})(Al);var Np=Al.exports,Cl=Zt(Np),Fl={exports:{}};(function(i,t){(function(e,r){i.exports=r()})(jt,function(){var e={year:0,month:1,day:2,hour:3,minute:4,second:5},r={};return function(n,s,a){var l,f=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=f(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=f(this.valueOf(),g,{timeZoneName:d}).find(function(m){return m.type.toLowerCase()==="timezonename"});return w&&w.value};var c=p.startOf;p.startOf=function(d,g){if(!this.$x||!this.$x.$timezone)return c.call(this,d,g);var w=a(this.format("YYYY-MM-DD HH:mm:ss:SSS"),{locale:this.$L});return c.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 O=F-60*M*1e3,C=h(O,S);if(M===C)return[O,M];var T=h(O-=60*(C-M)*1e3,S);return C===T?[O,C]:[F-60*Math.min(C,T)*1e3,Math.max(C,T)]}(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}}})})(Fl);var Sp=Fl.exports,Bp=Zt(Sp),Ml={exports:{}};(function(i,t){(function(e,r){i.exports=r()})(jt,function(){var e="week",r="year";return function(n,s,a){var l=s.prototype;l.week=function(f){if(f===void 0&&(f=null),f!==null)return this.add(7*(f-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),c=a(this).endOf(e);if(p.isBefore(c))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(f){return f===void 0&&(f=null),this.week(f)}}})})(Ml);var Tp=Ml.exports,Ip=Zt(Tp);function ms(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 Op(i=10){const t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";let e="";const r=t.length;for(let n=0;n<i;n++)e+=t.charAt(Math.floor(Math.random()*r));return e}function $p(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 Br(i,t){return t&&(t.startsWith("UTC")||t.startsWith("GMT"))?Vt(i).utcOffset($p(t)):Vt(i).tz(t)}function Xr(i){const[t,e]=ms(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 Ur=(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))(Ur||{}),gs=(i=>(i.dividends="dividends",i.none="none",i.splits="splits",i))(gs||{}),dn=(i=>(i.freqAll="freq_all",i.freqOncePerBar="freq_once_per_bar",i.freqOncePerBarClose="freq_once_per_bar_close",i))(dn||{}),zi=(i=>(i.gapsOff="gaps_off",i.gapsOn="gaps_on",i.lookaheadOff="lookahead_off",i.lookaheadOn="lookahead_on",i))(zi||{}),ir=(i=>(i.all="all",i.dataWindow="data_window",i.none="none",i.pane="pane",i.priceScale="price_scale",i.statusLine="status_line",i))(ir||{}),Rn=(i=>(i.both="both",i.left="left",i.none="none",i.right="right",i))(Rn||{}),Pn=(i=>(i.inherit="inherit",i.mintick="mintick",i.percent="percent",i.price="price",i.volume="volume",i))(Pn||{}),vs=(i=>(i.styleDashed="style_dashed",i.styleDotted="style_dotted",i.styleSolid="style_solid",i))(vs||{}),ge=(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))(ge||{}),Wr=(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))(Wr||{}),si=(i=>(i.abovebar="abovebar",i.absolute="absolute",i.belowbar="belowbar",i.bottom="bottom",i.top="top",i))(si||{}),zn=(i=>(i.ascending="ascending",i.descending="descending",i))(zn||{}),vr=(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))(vr||{}),Tr=(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))(Tr||{}),ws=(i=>(i.left="left",i.none="none",i.right="right",i))(ws||{}),na=(i=>(i.extended="extended",i.regular="regular",i))(na||{}),sr=(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))(sr||{}),jr=(i=>(i.auto="auto",i.huge="huge",i.large="large",i.normal="normal",i.small="small",i.tiny="tiny",i))(jr||{}),Ge=(i=>(i.cash="cash",i.fixed="fixed",i.percentOfEquity="percent_of_equity",i))(Ge||{}),Ir=(i=>(i.cashPerContract="cash_per_contract",i.cashPerOrder="cash_per_order",i.percent="percent",i))(Ir||{}),pe=(i=>(i.all="all",i.long="long",i.short="short",i))(pe||{}),qn=(i=>(i.cancel="cancel",i.none="none",i.reduce="reduce",i))(qn||{}),Xe=(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))(Xe||{}),$e=(i=>(i.bar_index="bar_index",i.bar_time="bar_time",i))($e||{}),qi=(i=>(i.abovebar="abovebar",i.belowbar="belowbar",i.price="price",i))(qi||{}),ys=(i=>(i.actual="actual",i.estimate="estimate",i.standardized="standardized",i))(ys||{}),kn=(i=>(i.traditional="Traditional",i.fibonacci="Fibonacci",i.woodie="Woodie",i.classic="Classic",i.dm="DM",i.camarilla="Camarilla",i))(kn||{}),Ce=(i=>(i[i.Hint=1]="Hint",i[i.Info=2]="Info",i[i.Warning=4]="Warning",i[i.Error=8]="Error",i))(Ce||{});class Lp{constructor(t){z(this,"_errorListener");this._errorListener=t}new({size:t,initial_value:e}={}){return new Jt(t,e,this._errorListener)}new_float({size:t,initial_value:e}={}){return new Jt(t,e,this._errorListener)}new_int({size:t,initial_value:e}={}){return new Jt(t,e,this._errorListener)}new_color({size:t,initial_value:e}={}){return new Jt(t,e,this._errorListener)}new_bool({size:t,initial_value:e}={}){return new Jt(t,e,this._errorListener)}new_string({size:t,initial_value:e}={}){return new Jt(t,e,this._errorListener)}new_line({size:t,initial_value:e}={}){return new Jt(t,e,this._errorListener)}new_box({size:t,initial_value:e}={}){return new Jt(t,e,this._errorListener)}new_table({size:t,initial_value:e}={}){return new Jt(t,e,this._errorListener)}new_linefill({size:t,initial_value:e}={}){return new Jt(t,e,this._errorListener)}new_label({size:t,initial_value:e}={}){return new Jt(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 Jt(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 Jt{constructor(t=0,e,r){z(this,"_arrInstance");z(this,"_errorListener");this._errorListener=r,this._arrInstance=Array.from(new Array(t||0),()=>Sr.cloneDeep(e))}get isArray(){return!0}get _value(){return[...this._arrInstance]}set _value(t){this._arrInstance=[...t]}_deepCopyData(t){this._arrInstance=Sr.cloneDeep(t)}_copyData(t){this._arrInstance=t}copy(){const t=new Jt(0,void 0,this._errorListener);return t._deepCopyData(this._arrInstance),t}slice({index_from:t,index_to:e}){const r=new Jt(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 Jt(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),Sr.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,Ce.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,Ce.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!==zn.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!==zn.descending?this._arrInstance[s]-this._arrInstance[a]:this._arrInstance[a]-this._arrInstance[s]);const n=new Jt(0,void 0,this._errorListener);return n._copyData(r),n}standardize(t){this._verifySimpleType("number","standardize","int/float",t);const e=new Jt(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,Ce.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,Ce.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 f=(l||0)-r;return a+f*f},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 f;if(t.length!=e.length){(f=this._errorListener)==null||f.addError("Arrays have different lengths",n,Ce.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(f=>f!==void 0).some(f=>!t.split("|").includes(typeof f))&&((l=this._errorListener)==null||l.addError(`数组类型错误,array.${e}方法只能使用${r}类型数组!`,n,Ce.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 Rp{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 Sr.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,Ce.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 Sr.sum(s.slice(-e))}todegrees({radians:t}){if(!_t(t))return t*(180/Math.PI)}toradians({degrees:t}){if(_t(t))return;const e=t*(Math.PI/180);return Number(e.toFixed(this._mintick))}}function Ds(){return Ds=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},Ds.apply(this,arguments)}var Nl={epsilon:1e-12,matrix:"Matrix",number:"number",precision:64,predictable:!1,randomSeed:null};function le(i){return typeof i=="number"}function Ee(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 Sl(i){return i&&typeof i=="object"&&Object.getPrototypeOf(i).isComplex===!0||!1}function Bl(i){return i&&typeof i=="object"&&Object.getPrototypeOf(i).isFraction===!0||!1}function Tl(i){return i&&i.constructor.prototype.isUnit===!0||!1}function Yr(i){return typeof i=="string"}var ve=Array.isArray;function ce(i){return i&&i.constructor.prototype.isMatrix===!0||!1}function ki(i){return Array.isArray(i)||ce(i)}function Pp(i){return i&&i.isDenseMatrix&&i.constructor.prototype.isMatrix===!0||!1}function zp(i){return i&&i.isSparseMatrix&&i.constructor.prototype.isMatrix===!0||!1}function qp(i){return i&&i.constructor.prototype.isRange===!0||!1}function ia(i){return i&&i.constructor.prototype.isIndex===!0||!1}function kp(i){return typeof i=="boolean"}function Up(i){return i&&i.constructor.prototype.isResultSet===!0||!1}function Wp(i){return i&&i.constructor.prototype.isHelp===!0||!1}function jp(i){return typeof i=="function"}function Yp(i){return i instanceof Date}function Zp(i){return i instanceof RegExp}function sa(i){return!!(i&&typeof i=="object"&&i.constructor===Object&&!Sl(i)&&!Bl(i))}function Gp(i){return i===null}function Kp(i){return i===void 0}function Hp(i){return i&&i.isAccessorNode===!0&&i.constructor.prototype.isNode===!0||!1}function Jp(i){return i&&i.isArrayNode===!0&&i.constructor.prototype.isNode===!0||!1}function Xp(i){return i&&i.isAssignmentNode===!0&&i.constructor.prototype.isNode===!0||!1}function Vp(i){return i&&i.isBlockNode===!0&&i.constructor.prototype.isNode===!0||!1}function Qp(i){return i&&i.isConditionalNode===!0&&i.constructor.prototype.isNode===!0||!1}function td(i){return i&&i.isConstantNode===!0&&i.constructor.prototype.isNode===!0||!1}function ed(i){return i&&i.isFunctionAssignmentNode===!0&&i.constructor.prototype.isNode===!0||!1}function rd(i){return i&&i.isFunctionNode===!0&&i.constructor.prototype.isNode===!0||!1}function nd(i){return i&&i.isIndexNode===!0&&i.constructor.prototype.isNode===!0||!1}function id(i){return i&&i.isNode===!0&&i.constructor.prototype.isNode===!0||!1}function sd(i){return i&&i.isObjectNode===!0&&i.constructor.prototype.isNode===!0||!1}function od(i){return i&&i.isOperatorNode===!0&&i.constructor.prototype.isNode===!0||!1}function ad(i){return i&&i.isParenthesisNode===!0&&i.constructor.prototype.isNode===!0||!1}function ud(i){return i&&i.isRangeNode===!0&&i.constructor.prototype.isNode===!0||!1}function ld(i){return i&&i.isRelationalNode===!0&&i.constructor.prototype.isNode===!0||!1}function fd(i){return i&&i.isSymbolNode===!0&&i.constructor.prototype.isNode===!0||!1}function cd(i){return i&&i.constructor.prototype.isChain===!0||!1}function _n(i){var t=typeof i;return t==="object"?i===null?"null":Ee(i)?"BigNumber":i.constructor&&i.constructor.name?i.constructor.name:"Object":t}function re(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 re(e)});if(i instanceof Date)return new Date(i.valueOf());if(Ee(i))return i;if(sa(i))return hd(i,re);throw new TypeError("Cannot clone: unknown type of value (value: ".concat(i,")"))}function hd(i,t){var e={};for(var r in i)Ui(i,r)&&(e[r]=t(i[r]));return e}function Il(i,t){for(var e in t)Ui(t,e)&&(i[e]=t[e]);return i}function oi(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(!oi(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)||!oi(i[e],t[e]))return!1;for(e in t)if(!(e in i))return!1;return!0}else return i===t}}function Ui(i,t){return i&&Object.hasOwnProperty.call(i,t)}function pd(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 dd=["Matrix","Array"],_d=["number","BigNumber","Fraction"],or=function(t){if(t)throw new Error(`The global config is readonly.
27
+ }`;var Rt=Ap(function(){return Jt(O,wt+"return "+ot).apply(e,R)});if(Rt.source=ot,fl(Rt))throw Rt;return Rt}function LC(o){return ee(o).toLowerCase()}function RC(o){return ee(o).toUpperCase()}function PC(o,u,_){if(o=ee(o),o&&(_||u===e))return Ih(o);if(!o||!(u=_r(u)))return o;var y=Pr(o),A=Pr(u),O=$h(y,A),R=Lh(y,A)+1;return $n(y,O,R).join("")}function zC(o,u,_){if(o=ee(o),o&&(_||u===e))return o.slice(0,Ph(o)+1);if(!o||!(u=_r(u)))return o;var y=Pr(o),A=Lh(y,Pr(u))+1;return $n(y,0,A).join("")}function qC(o,u,_){if(o=ee(o),o&&(_||u===e))return o.replace(es,"");if(!o||!(u=_r(u)))return o;var y=Pr(o),A=$h(y,Pr(u));return $n(y,A).join("")}function kC(o,u){var _=C,y=T;if(ye(u)){var A="separator"in u?u.separator:A;_="length"in u?Lt(u.length):_,y="omission"in u?_r(u.omission):y}o=ee(o);var O=o.length;if(Mi(o)){var R=Pr(o);O=R.length}if(_>=O)return o;var q=_-Ni(y);if(q<1)return y;var Y=R?$n(R,0,q).join(""):o.slice(0,q);if(A===e)return Y+y;if(R&&(q+=Y.length-q),cl(A)){if(o.slice(q).search(A)){var V,et=Y;for(A.global||(A=Fu(A.source,ee(_o.exec(A))+"g")),A.lastIndex=0;V=A.exec(et);)var ot=V.index;Y=Y.slice(0,ot===e?q:ot)}}else if(o.indexOf(_r(A),q)!=q){var dt=Y.lastIndexOf(A);dt>-1&&(Y=Y.slice(0,dt))}return Y+y}function UC(o){return o=ee(o),o&&Ua.test(o)?o.replace(Hn,gD):o}var WC=Li(function(o,u,_){return o+(_?" ":"")+u.toUpperCase()}),dl=C0("toUpperCase");function xp(o,u,_){return o=ee(o),u=_?e:u,u===e?hD(o)?yD(o):nD(o):o.match(u)||[]}var Ap=Pt(function(o,u){try{return pr(o,e,u)}catch(_){return fl(_)?_:new Tt(_)}}),jC=fn(function(o,u){return xr(u,function(_){_=Jr(_),un(o,_,ul(o[_],o))}),o});function YC(o){var u=o==null?0:o.length,_=At();return o=u?me(o,function(y){if(typeof y[1]!="function")throw new Ar(a);return[_(y[0]),y[1]]}):[],Pt(function(y){for(var A=-1;++A<u;){var O=o[A];if(pr(O[0],this,y))return pr(O[1],this,y)}})}function ZC(o){return gb(Fr(o,c))}function _l(o){return function(){return o}}function GC(o,u){return o==null||o!==o?u:o}var KC=M0(),HC=M0(!0);function ir(o){return o}function ml(o){return i0(typeof o=="function"?o:Fr(o,c))}function XC(o){return o0(Fr(o,c))}function JC(o,u){return a0(o,Fr(u,c))}var QC=Pt(function(o,u){return function(_){return fs(_,o,u)}}),VC=Pt(function(o,u){return function(_){return fs(o,_,u)}});function gl(o,u,_){var y=Re(u),A=Ro(u,y);_==null&&!(ye(u)&&(A.length||!y.length))&&(_=u,u=o,o=this,A=Ro(u,Re(u)));var O=!(ye(_)&&"chain"in _)||!!_.chain,R=hn(o);return xr(A,function(q){var Y=u[q];o[q]=Y,R&&(o.prototype[q]=function(){var V=this.__chain__;if(O||V){var et=o(this.__wrapped__),ot=et.__actions__=er(this.__actions__);return ot.push({func:Y,args:arguments,thisArg:o}),et.__chain__=V,et}return Y.apply(o,Nn([this.value()],arguments))})}),o}function t2(){return qe._===this&&(qe._=CD),this}function vl(){}function e2(o){return o=Lt(o),Pt(function(u){return u0(u,o)})}var r2=Hu(me),n2=Hu(Nh),i2=Hu(yu);function Cp(o){return rl(o)?Du(Jr(o)):Ib(o)}function s2(o){return function(u){return o==null?e:ri(o,u)}}var o2=S0(),a2=S0(!0);function wl(){return[]}function yl(){return!1}function u2(){return{}}function l2(){return""}function f2(){return!0}function c2(o,u){if(o=Lt(o),o<1||o>G)return[];var _=ft,y=Ye(o,ft);u=At(u),o-=ft;for(var A=xu(y,u);++_<o;)u(_);return A}function h2(o){return It(o)?me(o,Jr):mr(o)?[o]:er(Z0(ee(o)))}function p2(o){var u=++xD;return ee(o)+u}var d2=Wo(function(o,u){return o+u},0),_2=Xu("ceil"),m2=Wo(function(o,u){return o/u},1),g2=Xu("floor");function v2(o){return o&&o.length?Lo(o,ir,$u):e}function w2(o,u){return o&&o.length?Lo(o,At(u,2),$u):e}function y2(o){return Th(o,ir)}function D2(o,u){return Th(o,At(u,2))}function b2(o){return o&&o.length?Lo(o,ir,zu):e}function E2(o,u){return o&&o.length?Lo(o,At(u,2),zu):e}var x2=Wo(function(o,u){return o*u},1),A2=Xu("round"),C2=Wo(function(o,u){return o-u},0);function F2(o){return o&&o.length?Eu(o,ir):0}function M2(o,u){return o&&o.length?Eu(o,At(u,2)):0}return B.after=Xx,B.ary=np,B.assign=RA,B.assignIn=gp,B.assignInWith=ra,B.assignWith=PA,B.at=zA,B.before=ip,B.bind=ul,B.bindAll=jC,B.bindKey=sp,B.castArray=uA,B.chain=tp,B.chunk=gE,B.compact=vE,B.concat=wE,B.cond=YC,B.conforms=ZC,B.constant=_l,B.countBy=Fx,B.create=qA,B.curry=op,B.curryRight=ap,B.debounce=up,B.defaults=kA,B.defaultsDeep=UA,B.defer=Jx,B.delay=Qx,B.difference=yE,B.differenceBy=DE,B.differenceWith=bE,B.drop=EE,B.dropRight=xE,B.dropRightWhile=AE,B.dropWhile=CE,B.fill=FE,B.filter=Nx,B.flatMap=Tx,B.flatMapDeep=Ox,B.flatMapDepth=Ix,B.flatten=X0,B.flattenDeep=ME,B.flattenDepth=NE,B.flip=Vx,B.flow=KC,B.flowRight=HC,B.fromPairs=SE,B.functions=HA,B.functionsIn=XA,B.groupBy=$x,B.initial=TE,B.intersection=OE,B.intersectionBy=IE,B.intersectionWith=$E,B.invert=QA,B.invertBy=VA,B.invokeMap=Rx,B.iteratee=ml,B.keyBy=Px,B.keys=Re,B.keysIn=nr,B.map=Xo,B.mapKeys=eC,B.mapValues=rC,B.matches=XC,B.matchesProperty=JC,B.memoize=Qo,B.merge=nC,B.mergeWith=vp,B.method=QC,B.methodOf=VC,B.mixin=gl,B.negate=Vo,B.nthArg=e2,B.omit=iC,B.omitBy=sC,B.once=tA,B.orderBy=zx,B.over=r2,B.overArgs=eA,B.overEvery=n2,B.overSome=i2,B.partial=ll,B.partialRight=lp,B.partition=qx,B.pick=oC,B.pickBy=wp,B.property=Cp,B.propertyOf=s2,B.pull=zE,B.pullAll=Q0,B.pullAllBy=qE,B.pullAllWith=kE,B.pullAt=UE,B.range=o2,B.rangeRight=a2,B.rearg=rA,B.reject=Wx,B.remove=WE,B.rest=nA,B.reverse=ol,B.sampleSize=Yx,B.set=uC,B.setWith=lC,B.shuffle=Zx,B.slice=jE,B.sortBy=Hx,B.sortedUniq=JE,B.sortedUniqBy=QE,B.split=TC,B.spread=iA,B.tail=VE,B.take=tx,B.takeRight=ex,B.takeRightWhile=rx,B.takeWhile=nx,B.tap=vx,B.throttle=sA,B.thru=Ho,B.toArray=dp,B.toPairs=yp,B.toPairsIn=Dp,B.toPath=h2,B.toPlainObject=mp,B.transform=fC,B.unary=oA,B.union=ix,B.unionBy=sx,B.unionWith=ox,B.uniq=ax,B.uniqBy=ux,B.uniqWith=lx,B.unset=cC,B.unzip=al,B.unzipWith=V0,B.update=hC,B.updateWith=pC,B.values=zi,B.valuesIn=dC,B.without=fx,B.words=xp,B.wrap=aA,B.xor=cx,B.xorBy=hx,B.xorWith=px,B.zip=dx,B.zipObject=_x,B.zipObjectDeep=mx,B.zipWith=gx,B.entries=yp,B.entriesIn=Dp,B.extend=gp,B.extendWith=ra,gl(B,B),B.add=d2,B.attempt=Ap,B.camelCase=vC,B.capitalize=bp,B.ceil=_2,B.clamp=_C,B.clone=lA,B.cloneDeep=cA,B.cloneDeepWith=hA,B.cloneWith=fA,B.conformsTo=pA,B.deburr=Ep,B.defaultTo=GC,B.divide=m2,B.endsWith=wC,B.eq=qr,B.escape=yC,B.escapeRegExp=DC,B.every=Mx,B.find=Sx,B.findIndex=K0,B.findKey=WA,B.findLast=Bx,B.findLastIndex=H0,B.findLastKey=jA,B.floor=g2,B.forEach=ep,B.forEachRight=rp,B.forIn=YA,B.forInRight=ZA,B.forOwn=GA,B.forOwnRight=KA,B.get=hl,B.gt=dA,B.gte=_A,B.has=JA,B.hasIn=pl,B.head=J0,B.identity=ir,B.includes=Lx,B.indexOf=BE,B.inRange=mC,B.invoke=tC,B.isArguments=si,B.isArray=It,B.isArrayBuffer=mA,B.isArrayLike=rr,B.isArrayLikeObject=xe,B.isBoolean=gA,B.isBuffer=Ln,B.isDate=vA,B.isElement=wA,B.isEmpty=yA,B.isEqual=DA,B.isEqualWith=bA,B.isError=fl,B.isFinite=EA,B.isFunction=hn,B.isInteger=fp,B.isLength=ta,B.isMap=cp,B.isMatch=xA,B.isMatchWith=AA,B.isNaN=CA,B.isNative=FA,B.isNil=NA,B.isNull=MA,B.isNumber=hp,B.isObject=ye,B.isObjectLike=De,B.isPlainObject=ms,B.isRegExp=cl,B.isSafeInteger=SA,B.isSet=pp,B.isString=ea,B.isSymbol=mr,B.isTypedArray=Pi,B.isUndefined=BA,B.isWeakMap=TA,B.isWeakSet=OA,B.join=LE,B.kebabCase=bC,B.last=Nr,B.lastIndexOf=RE,B.lowerCase=EC,B.lowerFirst=xC,B.lt=IA,B.lte=$A,B.max=v2,B.maxBy=w2,B.mean=y2,B.meanBy=D2,B.min=b2,B.minBy=E2,B.stubArray=wl,B.stubFalse=yl,B.stubObject=u2,B.stubString=l2,B.stubTrue=f2,B.multiply=x2,B.nth=PE,B.noConflict=t2,B.noop=vl,B.now=Jo,B.pad=AC,B.padEnd=CC,B.padStart=FC,B.parseInt=MC,B.random=gC,B.reduce=kx,B.reduceRight=Ux,B.repeat=NC,B.replace=SC,B.result=aC,B.round=A2,B.runInContext=j,B.sample=jx,B.size=Gx,B.snakeCase=BC,B.some=Kx,B.sortedIndex=YE,B.sortedIndexBy=ZE,B.sortedIndexOf=GE,B.sortedLastIndex=KE,B.sortedLastIndexBy=HE,B.sortedLastIndexOf=XE,B.startCase=OC,B.startsWith=IC,B.subtract=C2,B.sum=F2,B.sumBy=M2,B.template=$C,B.times=c2,B.toFinite=pn,B.toInteger=Lt,B.toLength=_p,B.toLower=LC,B.toNumber=Sr,B.toSafeInteger=LA,B.toString=ee,B.toUpper=RC,B.trim=PC,B.trimEnd=zC,B.trimStart=qC,B.truncate=kC,B.unescape=UC,B.uniqueId=p2,B.upperCase=WC,B.upperFirst=dl,B.each=ep,B.eachRight=rp,B.first=J0,gl(B,function(){var o={};return Hr(B,function(u,_){ie.call(B.prototype,_)||(o[_]=u)}),o}(),{chain:!1}),B.VERSION=r,xr(["bind","bindKey","curry","curryRight","partial","partialRight"],function(o){B[o].placeholder=B}),xr(["drop","take"],function(o,u){Ut.prototype[o]=function(_){_=_===e?1:Ie(Lt(_),0);var y=this.__filtered__&&!u?new Ut(this):this.clone();return y.__filtered__?y.__takeCount__=Ye(_,y.__takeCount__):y.__views__.push({size:Ye(_,ft),type:o+(y.__dir__<0?"Right":"")}),y},Ut.prototype[o+"Right"]=function(_){return this.reverse()[o](_).reverse()}}),xr(["filter","map","takeWhile"],function(o,u){var _=u+1,y=_==k||_==P;Ut.prototype[o]=function(A){var O=this.clone();return O.__iteratees__.push({iteratee:At(A,3),type:_}),O.__filtered__=O.__filtered__||y,O}}),xr(["head","last"],function(o,u){var _="take"+(u?"Right":"");Ut.prototype[o]=function(){return this[_](1).value()[0]}}),xr(["initial","tail"],function(o,u){var _="drop"+(u?"":"Right");Ut.prototype[o]=function(){return this.__filtered__?new Ut(this):this[_](1)}}),Ut.prototype.compact=function(){return this.filter(ir)},Ut.prototype.find=function(o){return this.filter(o).head()},Ut.prototype.findLast=function(o){return this.reverse().find(o)},Ut.prototype.invokeMap=Pt(function(o,u){return typeof o=="function"?new Ut(this):this.map(function(_){return fs(_,o,u)})}),Ut.prototype.reject=function(o){return this.filter(Vo(At(o)))},Ut.prototype.slice=function(o,u){o=Lt(o);var _=this;return _.__filtered__&&(o>0||u<0)?new Ut(_):(o<0?_=_.takeRight(-o):o&&(_=_.drop(o)),u!==e&&(u=Lt(u),_=u<0?_.dropRight(-u):_.take(u-o)),_)},Ut.prototype.takeRightWhile=function(o){return this.reverse().takeWhile(o).reverse()},Ut.prototype.toArray=function(){return this.take(ft)},Hr(Ut.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],O=y||/^find/.test(u);A&&(B.prototype[u]=function(){var R=this.__wrapped__,q=y?[1]:arguments,Y=R instanceof Ut,V=q[0],et=Y||It(R),ot=function(kt){var Wt=A.apply(B,Nn([kt],q));return y&&dt?Wt[0]:Wt};et&&_&&typeof V=="function"&&V.length!=1&&(Y=et=!1);var dt=this.__chain__,wt=!!this.__actions__.length,Ct=O&&!dt,Rt=Y&&!wt;if(!O&&et){R=Rt?R:new Ut(this);var Ft=o.apply(R,q);return Ft.__actions__.push({func:Ho,args:[ot],thisArg:e}),new Cr(Ft,dt)}return Ct&&Rt?o.apply(this,q):(Ft=this.thru(ot),Ct?y?Ft.value()[0]:Ft.value():Ft)})}),xr(["pop","push","shift","sort","splice","unshift"],function(o){var u=Do[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 O=this.value();return u.apply(It(O)?O:[],A)}return this[_](function(R){return u.apply(It(R)?R:[],A)})}}),Hr(Ut.prototype,function(o,u){var _=B[u];if(_){var y=_.name+"";ie.call(Oi,y)||(Oi[y]=[]),Oi[y].push({name:u,func:_})}}),Oi[Uo(e,v).name]=[{name:"wrapper",func:e}],Ut.prototype.clone=UD,Ut.prototype.reverse=WD,Ut.prototype.value=jD,B.prototype.at=wx,B.prototype.chain=yx,B.prototype.commit=Dx,B.prototype.next=bx,B.prototype.plant=xx,B.prototype.reverse=Ax,B.prototype.toJSON=B.prototype.valueOf=B.prototype.value=Cx,B.prototype.first=B.prototype.head,ns&&(B.prototype[ns]=Ex),B},Si=DD();Jn?((Jn.exports=Si)._=Si,mu._=Si):qe._=Si}).call(jt)}(Rn,Rn.exports);var Br=Rn.exports;class Mp{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 Br.cloneDeep(t)}new(t={}){return new this._UserTypeFileds(Object.assign(Br.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 Br.cloneDeep(this)}}}}var Al={exports:{}};(function(i,t){(function(e,r){i.exports=r()})(jt,function(){var e=1e3,r=6e4,n=36e5,s="millisecond",a="second",l="minute",f="hour",h="day",p="week",c="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(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 K=String(k);return!K||K.length>=W?k:""+Array(W+1-K.length).join(P)+k},N={s:b,z:function(k){var W=-k.utcOffset(),P=Math.abs(W),K=Math.floor(P/60),G=P%60;return(W<=0?"+":"-")+b(K,2,"0")+":"+b(G,2,"0")},m:function k(W,P){if(W.date()<P.date())return-k(P,W);var K=12*(P.year()-W.year())+(P.month()-W.month()),G=W.clone().add(K,c),Q=P-G<0,tt=W.clone().add(K+(Q?-1:1),c);return+(-(K+(P-G)/(Q?G-tt:tt-G))||0)},a:function(k){return k<0?Math.ceil(k)||0:Math.floor(k)},p:function(k){return{M:c,y:g,w:p,d:h,D:w,h:f,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,K){var G;if(!W)return x;if(typeof W=="string"){var Q=W.toLowerCase();F[Q]&&(G=Q),P&&(F[Q]=P,G=Q);var tt=W.split("-");if(!G&&tt.length>1)return k(tt[0])}else{var ft=W.name;F[ft]=W,G=ft}return!K&&G&&(x=G),G||!K&&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)},T=N;T.l=I,T.i=S,T.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(K){var G=K.date,Q=K.utc;if(G===null)return new Date(NaN);if(T.u(G))return new Date;if(G instanceof Date)return new Date(G);if(typeof G=="string"&&!/Z$/i.test(G)){var tt=G.match(D);if(tt){var ft=tt[2]-1||0,vt=(tt[7]||"0").substring(0,3);return Q?new Date(Date.UTC(tt[1],ft,tt[3]||1,tt[4]||0,tt[5]||0,tt[6]||0,vt)):new Date(tt[1],ft,tt[3]||1,tt[4]||0,tt[5]||0,tt[6]||0,vt)}}return new Date(G)}(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 T},W.isValid=function(){return this.$d.toString()!==m},W.isSame=function(P,K){var G=C(P);return this.startOf(K)<=G&&G<=this.endOf(K)},W.isAfter=function(P,K){return C(P)<this.startOf(K)},W.isBefore=function(P,K){return this.endOf(K)<C(P)},W.$g=function(P,K,G){return T.u(P)?this[K]:this.set(G,P)},W.unix=function(){return Math.floor(this.valueOf()/1e3)},W.valueOf=function(){return this.$d.getTime()},W.startOf=function(P,K){var G=this,Q=!!T.u(K)||K,tt=T.p(P),ft=function(Ot,Nt){var se=T.w(G.$u?Date.UTC(G.$y,Nt,Ot):new Date(G.$y,Nt,Ot),G);return Q?se:se.endOf(h)},vt=function(Ot,Nt){return T.w(G.toDate()[Ot].apply(G.toDate("s"),(Q?[0,0,0,0]:[23,59,59,999]).slice(Nt)),G)},lt=this.$W,yt=this.$M,bt=this.$D,Bt="set"+(this.$u?"UTC":"");switch(tt){case g:return Q?ft(1,0):ft(31,11);case c:return Q?ft(1,yt):ft(0,yt+1);case p:var Et=this.$locale().weekStart||0,ne=(lt<Et?lt+7:lt)-Et;return ft(Q?bt-ne:bt+(6-ne),yt);case h:case w:return vt(Bt+"Hours",0);case f: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,K){var G,Q=T.p(P),tt="set"+(this.$u?"UTC":""),ft=(G={},G[h]=tt+"Date",G[w]=tt+"Date",G[c]=tt+"Month",G[g]=tt+"FullYear",G[f]=tt+"Hours",G[l]=tt+"Minutes",G[a]=tt+"Seconds",G[s]=tt+"Milliseconds",G)[Q],vt=Q===h?this.$D+(K-this.$W):K;if(Q===c||Q===g){var lt=this.clone().set(w,1);lt.$d[ft](vt),lt.init(),this.$d=lt.set(w,Math.min(this.$D,lt.daysInMonth())).$d}else ft&&this.$d[ft](vt);return this.init(),this},W.set=function(P,K){return this.clone().$set(P,K)},W.get=function(P){return this[T.p(P)]()},W.add=function(P,K){var G,Q=this;P=Number(P);var tt=T.p(K),ft=function(yt){var bt=C(Q);return T.w(bt.date(bt.date()+Math.round(yt*P)),Q)};if(tt===c)return this.set(c,this.$M+P);if(tt===g)return this.set(g,this.$y+P);if(tt===h)return ft(1);if(tt===p)return ft(7);var vt=(G={},G[l]=r,G[f]=n,G[a]=e,G)[tt]||1,lt=this.$d.getTime()+P*vt;return T.w(lt,this)},W.subtract=function(P,K){return this.add(-1*P,K)},W.format=function(P){var K=this,G=this.$locale();if(!this.isValid())return G.invalidDate||m;var Q=P||"YYYY-MM-DDTHH:mm:ssZ",tt=T.z(this),ft=this.$H,vt=this.$m,lt=this.$M,yt=G.weekdays,bt=G.months,Bt=G.meridiem,Et=function(Nt,se,Vt,qt){return Nt&&(Nt[se]||Nt(K,Q))||Vt[se].slice(0,qt)},ne=function(Nt){return T.s(ft%12||12,Nt,"0")},Ot=Bt||function(Nt,se,Vt){var qt=Nt<12?"AM":"PM";return Vt?qt.toLowerCase():qt};return Q.replace(v,function(Nt,se){return se||function(Vt){switch(Vt){case"YY":return String(K.$y).slice(-2);case"YYYY":return T.s(K.$y,4,"0");case"M":return lt+1;case"MM":return T.s(lt+1,2,"0");case"MMM":return Et(G.monthsShort,lt,bt,3);case"MMMM":return Et(bt,lt);case"D":return K.$D;case"DD":return T.s(K.$D,2,"0");case"d":return String(K.$W);case"dd":return Et(G.weekdaysMin,K.$W,yt,2);case"ddd":return Et(G.weekdaysShort,K.$W,yt,3);case"dddd":return yt[K.$W];case"H":return String(ft);case"HH":return T.s(ft,2,"0");case"h":return ne(1);case"hh":return ne(2);case"a":return Ot(ft,vt,!0);case"A":return Ot(ft,vt,!1);case"m":return String(vt);case"mm":return T.s(vt,2,"0");case"s":return String(K.$s);case"ss":return T.s(K.$s,2,"0");case"SSS":return T.s(K.$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,K,G){var Q,tt=this,ft=T.p(K),vt=C(P),lt=(vt.utcOffset()-this.utcOffset())*r,yt=this-vt,bt=function(){return T.m(tt,vt)};switch(ft){case g:Q=bt()/12;break;case c:Q=bt();break;case d:Q=bt()/3;break;case p:Q=(yt-lt)/6048e5;break;case h:Q=(yt-lt)/864e5;break;case f:Q=yt/n;break;case l:Q=yt/r;break;case a:Q=yt/e;break;default:Q=yt}return G?Q:T.a(Q)},W.daysInMonth=function(){return this.endOf(c).$D},W.$locale=function(){return F[this.$L]},W.locale=function(P,K){if(!P)return this.$L;var G=this.clone(),Q=I(P,K,!0);return Q&&(G.$L=Q),G},W.clone=function(){return T.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",f],["$W",h],["$M",c],["$y",g],["$D",w]].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})})(Al);var Np=Al.exports,Qt=Zt(Np),Cl={exports:{}};(function(i,t){(function(e,r){i.exports=r()})(jt,function(){var e="minute",r=/[+-]\d\d(?::?\d\d)?/g,n=/([+-]|\d\d)/g;return function(s,a,l){var f=a.prototype;l.utc=function(m){var D={date:m,utc:!0,args:arguments};return new a(D)},f.utc=function(m){var D=l(this.toDate(),{locale:this.$L,utc:!0});return m?D.add(this.utcOffset(),e):D},f.local=function(){return l(this.toDate(),{locale:this.$L,utc:!1})};var h=f.parse;f.parse=function(m){m.utc&&(this.$u=!0),this.$utils().u(m.$offset)||(this.$offset=m.$offset),h.call(this,m)};var p=f.init;f.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 c=f.utcOffset;f.utcOffset=function(m,D){var v=this.$utils().u;if(v(m))return this.$u?0:v(this.$offset)?c.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=f.format;f.format=function(m){var D=m||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return d.call(this,D)},f.valueOf=function(){var m=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*m},f.isUTC=function(){return!!this.$u},f.toISOString=function(){return this.toDate().toISOString()},f.toString=function(){return this.toDate().toUTCString()};var g=f.toDate;f.toDate=function(m){return m==="s"&&this.$offset?l(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():g.call(this)};var w=f.diff;f.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)}}})})(Cl);var Sp=Cl.exports,Fl=Zt(Sp),Ml={exports:{}};(function(i,t){(function(e,r){i.exports=r()})(jt,function(){var e={year:0,month:1,day:2,hour:3,minute:4,second:5},r={};return function(n,s,a){var l,f=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=f(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=f(this.valueOf(),g,{timeZoneName:d}).find(function(m){return m.type.toLowerCase()==="timezonename"});return w&&w.value};var c=p.startOf;p.startOf=function(d,g){if(!this.$x||!this.$x.$timezone)return c.call(this,d,g);var w=a(this.format("YYYY-MM-DD HH:mm:ss:SSS"),{locale:this.$L});return c.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 T=h(I-=60*(C-M)*1e3,S);return C===T?[I,C]:[F-60*Math.min(C,T)*1e3,Math.max(C,T)]}(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}}})})(Ml);var Bp=Ml.exports,Tp=Zt(Bp),Nl={exports:{}};(function(i,t){(function(e,r){i.exports=r()})(jt,function(){var e="week",r="year";return function(n,s,a){var l=s.prototype;l.week=function(f){if(f===void 0&&(f=null),f!==null)return this.add(7*(f-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),c=a(this).endOf(e);if(p.isBefore(c))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(f){return f===void 0&&(f=null),this.week(f)}}})})(Nl);var Op=Nl.exports,Ip=Zt(Op);function gs(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 $p(i=10){const t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";let e="";const r=t.length;for(let n=0;n<i;n++)e+=t.charAt(Math.floor(Math.random()*r));return e}function Lp(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 Tr(i,t){return t&&(t.startsWith("UTC")||t.startsWith("GMT"))?Qt(i).utcOffset(Lp(t)):Qt(i).tz(t)}function Qr(i){const[t,e]=gs(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 Wr=(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))(Wr||{}),vs=(i=>(i.dividends="dividends",i.none="none",i.splits="splits",i))(vs||{}),_n=(i=>(i.freqAll="freq_all",i.freqOncePerBar="freq_once_per_bar",i.freqOncePerBarClose="freq_once_per_bar_close",i))(_n||{}),qi=(i=>(i.gapsOff="gaps_off",i.gapsOn="gaps_on",i.lookaheadOff="lookahead_off",i.lookaheadOn="lookahead_on",i))(qi||{}),sr=(i=>(i.all="all",i.dataWindow="data_window",i.none="none",i.pane="pane",i.priceScale="price_scale",i.statusLine="status_line",i))(sr||{}),Pn=(i=>(i.both="both",i.left="left",i.none="none",i.right="right",i))(Pn||{}),zn=(i=>(i.inherit="inherit",i.mintick="mintick",i.percent="percent",i.price="price",i.volume="volume",i))(zn||{}),ws=(i=>(i.styleDashed="style_dashed",i.styleDotted="style_dotted",i.styleSolid="style_solid",i))(ws||{}),ge=(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))(ge||{}),jr=(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))(jr||{}),oi=(i=>(i.abovebar="abovebar",i.absolute="absolute",i.belowbar="belowbar",i.bottom="bottom",i.top="top",i))(oi||{}),qn=(i=>(i.ascending="ascending",i.descending="descending",i))(qn||{}),wr=(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))(wr||{}),Or=(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))(Or||{}),ys=(i=>(i.left="left",i.none="none",i.right="right",i))(ys||{}),ia=(i=>(i.extended="extended",i.regular="regular",i))(ia||{}),or=(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))(or||{}),Yr=(i=>(i.auto="auto",i.huge="huge",i.large="large",i.normal="normal",i.small="small",i.tiny="tiny",i))(Yr||{}),Ge=(i=>(i.cash="cash",i.fixed="fixed",i.percentOfEquity="percent_of_equity",i))(Ge||{}),Ir=(i=>(i.cashPerContract="cash_per_contract",i.cashPerOrder="cash_per_order",i.percent="percent",i))(Ir||{}),pe=(i=>(i.all="all",i.long="long",i.short="short",i))(pe||{}),kn=(i=>(i.cancel="cancel",i.none="none",i.reduce="reduce",i))(kn||{}),Je=(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))(Je||{}),$e=(i=>(i.bar_index="bar_index",i.bar_time="bar_time",i))($e||{}),ki=(i=>(i.abovebar="abovebar",i.belowbar="belowbar",i.price="price",i))(ki||{}),Ds=(i=>(i.actual="actual",i.estimate="estimate",i.standardized="standardized",i))(Ds||{}),Un=(i=>(i.traditional="Traditional",i.fibonacci="Fibonacci",i.woodie="Woodie",i.classic="Classic",i.dm="DM",i.camarilla="Camarilla",i))(Un||{}),Qe=(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))(Qe||{}),Ce=(i=>(i[i.Hint=1]="Hint",i[i.Info=2]="Info",i[i.Warning=4]="Warning",i[i.Error=8]="Error",i))(Ce||{});class Rp{constructor(t){z(this,"_errorListener");this._errorListener=t}new({size:t,initial_value:e}={}){return new Xt(t,e,this._errorListener)}new_float({size:t,initial_value:e}={}){return new Xt(t,e,this._errorListener)}new_int({size:t,initial_value:e}={}){return new Xt(t,e,this._errorListener)}new_color({size:t,initial_value:e}={}){return new Xt(t,e,this._errorListener)}new_bool({size:t,initial_value:e}={}){return new Xt(t,e,this._errorListener)}new_string({size:t,initial_value:e}={}){return new Xt(t,e,this._errorListener)}new_line({size:t,initial_value:e}={}){return new Xt(t,e,this._errorListener)}new_box({size:t,initial_value:e}={}){return new Xt(t,e,this._errorListener)}new_table({size:t,initial_value:e}={}){return new Xt(t,e,this._errorListener)}new_linefill({size:t,initial_value:e}={}){return new Xt(t,e,this._errorListener)}new_label({size:t,initial_value:e}={}){return new Xt(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 Xt(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 Xt{constructor(t=0,e,r){z(this,"_arrInstance");z(this,"_errorListener");this._errorListener=r,this._arrInstance=Array.from(new Array(t||0),()=>Br.cloneDeep(e))}get isArray(){return!0}get _value(){return[...this._arrInstance]}set _value(t){this._arrInstance=[...t]}_deepCopyData(t){this._arrInstance=Br.cloneDeep(t)}_copyData(t){this._arrInstance=t}copy(){const t=new Xt(0,void 0,this._errorListener);return t._deepCopyData(this._arrInstance),t}slice({index_from:t,index_to:e}){const r=new Xt(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 Xt(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),Br.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,Ce.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,Ce.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!==qn.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!==qn.descending?this._arrInstance[s]-this._arrInstance[a]:this._arrInstance[a]-this._arrInstance[s]);const n=new Xt(0,void 0,this._errorListener);return n._copyData(r),n}standardize(t){this._verifySimpleType("number","standardize","int/float",t);const e=new Xt(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,Ce.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,Ce.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 f=(l||0)-r;return a+f*f},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 f;if(t.length!=e.length){(f=this._errorListener)==null||f.addError("Arrays have different lengths",n,Ce.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(f=>f!==void 0).some(f=>!t.split("|").includes(typeof f))&&((l=this._errorListener)==null||l.addError(`数组类型错误,array.${e}方法只能使用${r}类型数组!`,n,Ce.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 Pp{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 Br.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,Ce.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 Br.sum(s.slice(-e))}todegrees({radians:t}){if(!_t(t))return t*(180/Math.PI)}toradians({degrees:t}){if(_t(t))return;const e=t*(Math.PI/180);return Number(e.toFixed(this._mintick))}}function bs(){return bs=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},bs.apply(this,arguments)}var Sl={epsilon:1e-12,matrix:"Matrix",number:"number",precision:64,predictable:!1,randomSeed:null};function le(i){return typeof i=="number"}function Ee(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 Bl(i){return i&&typeof i=="object"&&Object.getPrototypeOf(i).isComplex===!0||!1}function Tl(i){return i&&typeof i=="object"&&Object.getPrototypeOf(i).isFraction===!0||!1}function Ol(i){return i&&i.constructor.prototype.isUnit===!0||!1}function Zr(i){return typeof i=="string"}var ve=Array.isArray;function ce(i){return i&&i.constructor.prototype.isMatrix===!0||!1}function Ui(i){return Array.isArray(i)||ce(i)}function zp(i){return i&&i.isDenseMatrix&&i.constructor.prototype.isMatrix===!0||!1}function qp(i){return i&&i.isSparseMatrix&&i.constructor.prototype.isMatrix===!0||!1}function kp(i){return i&&i.constructor.prototype.isRange===!0||!1}function sa(i){return i&&i.constructor.prototype.isIndex===!0||!1}function Up(i){return typeof i=="boolean"}function Wp(i){return i&&i.constructor.prototype.isResultSet===!0||!1}function jp(i){return i&&i.constructor.prototype.isHelp===!0||!1}function Yp(i){return typeof i=="function"}function Zp(i){return i instanceof Date}function Gp(i){return i instanceof RegExp}function oa(i){return!!(i&&typeof i=="object"&&i.constructor===Object&&!Bl(i)&&!Tl(i))}function Kp(i){return i===null}function Hp(i){return i===void 0}function Xp(i){return i&&i.isAccessorNode===!0&&i.constructor.prototype.isNode===!0||!1}function Jp(i){return i&&i.isArrayNode===!0&&i.constructor.prototype.isNode===!0||!1}function Qp(i){return i&&i.isAssignmentNode===!0&&i.constructor.prototype.isNode===!0||!1}function Vp(i){return i&&i.isBlockNode===!0&&i.constructor.prototype.isNode===!0||!1}function td(i){return i&&i.isConditionalNode===!0&&i.constructor.prototype.isNode===!0||!1}function ed(i){return i&&i.isConstantNode===!0&&i.constructor.prototype.isNode===!0||!1}function rd(i){return i&&i.isFunctionAssignmentNode===!0&&i.constructor.prototype.isNode===!0||!1}function nd(i){return i&&i.isFunctionNode===!0&&i.constructor.prototype.isNode===!0||!1}function id(i){return i&&i.isIndexNode===!0&&i.constructor.prototype.isNode===!0||!1}function sd(i){return i&&i.isNode===!0&&i.constructor.prototype.isNode===!0||!1}function od(i){return i&&i.isObjectNode===!0&&i.constructor.prototype.isNode===!0||!1}function ad(i){return i&&i.isOperatorNode===!0&&i.constructor.prototype.isNode===!0||!1}function ud(i){return i&&i.isParenthesisNode===!0&&i.constructor.prototype.isNode===!0||!1}function ld(i){return i&&i.isRangeNode===!0&&i.constructor.prototype.isNode===!0||!1}function fd(i){return i&&i.isRelationalNode===!0&&i.constructor.prototype.isNode===!0||!1}function cd(i){return i&&i.isSymbolNode===!0&&i.constructor.prototype.isNode===!0||!1}function hd(i){return i&&i.constructor.prototype.isChain===!0||!1}function mn(i){var t=typeof i;return t==="object"?i===null?"null":Ee(i)?"BigNumber":i.constructor&&i.constructor.name?i.constructor.name:"Object":t}function re(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 re(e)});if(i instanceof Date)return new Date(i.valueOf());if(Ee(i))return i;if(oa(i))return pd(i,re);throw new TypeError("Cannot clone: unknown type of value (value: ".concat(i,")"))}function pd(i,t){var e={};for(var r in i)Wi(i,r)&&(e[r]=t(i[r]));return e}function Il(i,t){for(var e in t)Wi(t,e)&&(i[e]=t[e]);return i}function ai(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(!ai(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)||!ai(i[e],t[e]))return!1;for(e in t)if(!(e in i))return!1;return!0}else return i===t}}function Wi(i,t){return i&&Object.hasOwnProperty.call(i,t)}function dd(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 _d=["Matrix","Array"],md=["number","BigNumber","Fraction"],ar=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(Nl)};Ds(or,Nl,{MATRIX_OPTIONS:dd,NUMBER_OPTIONS:_d});function Ol(){return!0}function wr(){return!1}function ai(){}const $l="Argument is not a typed-function.";function Ll(){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:Ol,isAny:!0};let r,n,s=0,a={createCount:0};function l($){const Z=r.get($);if(Z)return Z;let H='Unknown type "'+$+'"';const nt=$.toLowerCase();let st;for(st of n)if(st.toLowerCase()===nt){H+='. Did you mean "'+st+'" ?';break}throw new TypeError(H)}function f($){let Z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"any";const H=Z?l(Z).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 ct=$[rt].name;if(r.has(ct))throw new TypeError('Duplicate type name "'+ct+'"');nt.push(ct),r.set(ct,{name:ct,test:$[rt].test,isAny:$[rt].isAny,index:H+rt,conversionsTo:[]})}const st=n.slice(H);n=n.slice(0,H).concat(nt).concat(st);for(let rt=H+nt.length;rt<n.length;++rt)r.get(n[rt]).index=rt}function h(){r=new Map,n=[],s=0,f([e],!1)}h(),f(t);function p(){let $;for($ of n)r.get($).conversionsTo=[];s=0}function c($){const Z=n.filter(H=>{const nt=r.get(H);return!nt.isAny&&nt.test($)});return Z.length?Z:["any"]}function d($){return $&&typeof $=="function"&&"_typedFunctionData"in $}function g($,Z,H){if(!d($))throw new TypeError($l);const nt=H&&H.exact,st=Array.isArray(Z)?Z.join(","):Z,rt=N(st),ct=D(rt);if(!nt||ct in $.signatures){const Ht=$._typedFunctionData.signatureMap.get(ct);if(Ht)return Ht}const ut=rt.length;let ht;if(nt){ht=[];let Ht;for(Ht in $.signatures)ht.push($._typedFunctionData.signatureMap.get(Ht))}else ht=$._typedFunctionData.signatures;for(let Ht=0;Ht<ut;++Ht){const te=rt[Ht],_e=[];let Le;for(Le of ht){const Te=S(Le.params,Ht);if(!(!Te||te.restParam&&!Te.restParam)){if(!Te.hasAny){const fr=b(Te);if(te.types.some(cr=>!fr.has(cr.name)))continue}_e.push(Le)}}if(ht=_e,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($,Z,H){return g($,Z,H).implementation}function m($,Z){const H=l(Z);if(H.test($))return $;const nt=H.conversionsTo;if(nt.length===0)throw new Error("There are no conversions to "+Z+" 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 "+Z)}function D($){let Z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:",";return $.map(H=>H.name).join(Z)}function v($){const Z=$.indexOf("...")===0,nt=(Z?$.length>3?$.slice(3):"any":$).split("|").map(ut=>l(ut.trim()));let st=!1,rt=Z?"...":"";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:Z}}function E($){const Z=$.types.map(ct=>ct.name),H=K(Z);let nt=$.hasAny,st=$.name;const rt=H.map(function(ct){const ut=l(ct.from);return nt=ut.isAny||nt,st+="|"+ct.from,{name:ct.from,typeIndex:ut.index,test:ut.test,isAny:ut.isAny,conversion:ct,conversionIndex:ct.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(Z=>$.typeSet.add(Z.name))),$.typeSet}function N($){const Z=[];if(typeof $!="string")throw new TypeError("Signatures must be strings");const H=$.trim();if(H==="")return Z;const nt=H.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;Z.push(rt)}return Z}function x($){const Z=It($);return Z?Z.restParam:!1}function F($){if(!$||$.types.length===0)return Ol;if($.types.length===1)return l($.types[0].name).test;if($.types.length===2){const Z=l($.types[0].name).test,H=l($.types[1].name).test;return function(st){return Z(st)||H(st)}}else{const Z=$.types.map(function(H){return l(H.name).test});return function(nt){for(let st=0;st<Z.length;st++)if(Z[st](nt))return!0;return!1}}}function M($){let Z,H,nt;if(x($)){Z=ne($).map(F);const st=Z.length,rt=F(It($)),ct=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<Z.length;at++)if(!Z[at](ht[at]))return!1;return ct(ht)&&ht.length>=st+1}}else return $.length===0?function(rt){return rt.length===0}:$.length===1?(H=F($[0]),function(rt){return H(rt[0])&&rt.length===1}):$.length===2?(H=F($[0]),nt=F($[1]),function(rt){return H(rt[0])&&nt(rt[1])&&rt.length===2}):(Z=$.map(F),function(rt){for(let ct=0;ct<Z.length;ct++)if(!Z[ct](rt[ct]))return!1;return rt.length===Z.length})}function S($,Z){return Z<$.length?$[Z]:x($)?It($):null}function O($,Z){const H=S($,Z);return H?b(H):new Set}function C($){return $.conversion===null||$.conversion===void 0}function T($,Z){const H=new Set;return $.forEach(nt=>{const st=O(nt.params,Z);let rt;for(rt of st)H.add(rt)}),H.has("any")?["any"]:Array.from(H)}function L($,Z,H){let nt,st;const rt=$||"unnamed";let ct=H,ut;for(ut=0;ut<Z.length;ut++){const te=[];if(ct.forEach(_e=>{const Le=S(_e.params,ut),Te=F(Le);(ut<_e.params.length||x(_e.params))&&Te(Z[ut])&&te.push(_e)}),te.length===0){if(st=T(ct,ut),st.length>0){const _e=c(Z[ut]);return nt=new TypeError("Unexpected type of argument in function "+rt+" (expected: "+st.join(" or ")+", actual: "+_e.join(" | ")+", index: "+ut+")"),nt.data={category:"wrongType",fn:rt,index:ut,actual:_e,expected:st},nt}}else ct=te}const ht=ct.map(function(te){return x(te.params)?1/0:te.params.length});if(Z.length<Math.min.apply(null,ht))return st=T(ct,ut),nt=new TypeError("Too few arguments in function "+rt+" (expected: "+st.join(" or ")+", index: "+Z.length+")"),nt.data={category:"tooFewArgs",fn:rt,index:Z.length,expected:st},nt;const at=Math.max.apply(null,ht);if(Z.length>at)return nt=new TypeError("Too many arguments in function "+rt+" (expected: "+at+", actual: "+Z.length+")"),nt.data={category:"tooManyArgs",fn:rt,index:Z.length,expectedLength:at},nt;const Ht=[];for(let te=0;te<Z.length;++te)Ht.push(c(Z[te]).join("|"));return nt=new TypeError('Arguments of type "'+Ht.join(", ")+'" do not match any of the defined signatures of function '+rt+"."),nt.data={category:"mismatch",actual:Ht},nt}function U($){let Z=n.length+1;for(let H=0;H<$.types.length;H++)C($.types[H])&&(Z=Math.min(Z,$.types[H].typeIndex));return Z}function k($){let Z=s+1;for(let H=0;H<$.types.length;H++)C($.types[H])||(Z=Math.min(Z,$.types[H].conversionIndex));return Z}function W($,Z){if($.hasAny){if(!Z.hasAny)return 1}else if(Z.hasAny)return-1;if($.restParam){if(!Z.restParam)return 1}else if(Z.restParam)return-1;if($.hasConversion){if(!Z.hasConversion)return 1}else if(Z.hasConversion)return-1;const H=U($)-U(Z);if(H<0)return-1;if(H>0)return 1;const nt=k($)-k(Z);return nt<0?-1:nt>0?1:0}function P($,Z){const H=$.params,nt=Z.params,st=It(H),rt=It(nt),ct=x(H),ut=x(nt);if(ct&&st.hasAny){if(!ut||!rt.hasAny)return 1}else if(ut&&rt.hasAny)return-1;let ht=0,at=0,Ht;for(Ht of H)Ht.hasAny&&++ht,Ht.hasConversion&&++at;let te=0,_e=0;for(Ht of nt)Ht.hasAny&&++te,Ht.hasConversion&&++_e;if(ht!==te)return ht-te;if(ct&&st.hasConversion){if(!ut||!rt.hasConversion)return 1}else if(ut&&rt.hasConversion)return-1;if(at!==_e)return at-_e;if(ct){if(!ut)return 1}else if(ut)return-1;const Le=(H.length-nt.length)*(ct?-1:1);if(Le!==0)return Le;const Te=[];let fr=0;for(let An=0;An<H.length;++An){const Kn=W(H[An],nt[An]);Te.push(Kn),fr+=Kn}if(fr!==0)return fr;let cr;for(cr of Te)if(cr!==0)return cr;return 0}function K($){if($.length===0)return[];const Z=$.map(l);$.length>1&&Z.sort((st,rt)=>st.index-rt.index);let H=Z[0].conversionsTo;if($.length===1)return H;H=H.concat([]);const nt=new Set($);for(let st=1;st<Z.length;++st){let rt;for(rt of Z[st].conversionsTo)nt.has(rt.from)||(H.push(rt),nt.add(rt.from))}return H}function G($,Z){let H=Z;if($.some(st=>st.hasConversion)){const st=x($),rt=$.map(V);H=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])),Z.apply(this,ut)}}let nt=H;if(x($)){const st=$.length-1;nt=function(){return H.apply(this,Nt(arguments,0,st).concat([Nt(arguments,st)]))}}return nt}function V($){let Z,H,nt,st;const rt=[],ct=[];switch($.types.forEach(function(ut){ut.conversion&&(rt.push(l(ut.conversion.from).test),ct.push(ut.conversion.convert))}),ct.length){case 0:return function(ht){return ht};case 1:return Z=rt[0],nt=ct[0],function(ht){return Z(ht)?nt(ht):ht};case 2:return Z=rt[0],H=rt[1],nt=ct[0],st=ct[1],function(ht){return Z(ht)?nt(ht):H(ht)?st(ht):ht};default:return function(ht){for(let at=0;at<ct.length;at++)if(rt[at](ht))return ct[at](ht);return ht}}}function tt($){function Z(H,nt,st){if(nt<H.length){const rt=H[nt];let ct=[];if(rt.restParam){const ut=rt.types.filter(C);ut.length<rt.types.length&&ct.push({types:ut,name:"..."+ut.map(ht=>ht.name).join("|"),hasAny:ut.some(ht=>ht.isAny),hasConversion:!1,restParam:!0}),ct.push(rt)}else ct=rt.types.map(function(ut){return{types:[ut],name:ut.name,hasAny:ut.isAny,hasConversion:ut.conversion,restParam:!1}});return Qt(ct,function(ut){return Z(H,nt+1,st.concat([ut]))})}else return[st]}return Z($,0,[])}function ft($,Z){const H=Math.max($.length,Z.length);for(let ut=0;ut<H;ut++){const ht=O($,ut),at=O(Z,ut);let Ht=!1,te;for(te of at)if(ht.has(te)){Ht=!0;break}if(!Ht)return!1}const nt=$.length,st=Z.length,rt=x($),ct=x(Z);return rt?ct?nt===st:st>=nt:ct?nt>=st:nt===st}function vt($){return $.map(Z=>Be(Z)?Ne(Z.referToSelf.callback):ur(Z)?Kt(Z.referTo.references,Z.referTo.callback):Z)}function lt($,Z,H){const nt=[];let st;for(st of $){let rt=H[st];if(typeof rt!="number")throw new TypeError('No definition for referenced signature "'+st+'"');if(rt=Z[rt],typeof rt!="function")return!1;nt.push(rt)}return nt}function yt($,Z,H){const nt=vt($),st=new Array(nt.length).fill(!1);let rt=!0;for(;rt;){rt=!1;let ct=!0;for(let ut=0;ut<nt.length;++ut){if(st[ut])continue;const ht=nt[ut];if(Be(ht))nt[ut]=ht.referToSelf.callback(H),nt[ut].referToSelf=ht.referToSelf,st[ut]=!0,ct=!1;else if(ur(ht)){const at=lt(ht.referTo.references,nt,Z);at?(nt[ut]=ht.referTo.callback.apply(this,at),nt[ut].referTo=ht.referTo,st[ut]=!0,ct=!1):rt=!0}}if(ct&&rt)throw new SyntaxError("Circular reference detected in resolving typed.referTo")}return nt}function bt($){const Z=/\bthis(\(|\.signatures\b)/;Object.keys($).forEach(H=>{const nt=$[H];if(Z.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($,Z){if(a.createCount++,Object.keys(Z).length===0)throw new SyntaxError("No signatures provided");a.warnAgainstDeprecatedThis&&bt(Z);const H=[],nt=[],st={},rt=[];let ct;for(ct in Z){if(!Object.prototype.hasOwnProperty.call(Z,ct))continue;const Yt=N(ct);if(!Yt)continue;H.forEach(function(Cn){if(ft(Cn,Yt))throw new TypeError('Conflicting signatures "'+D(Cn)+'" and "'+D(Yt)+'".')}),H.push(Yt);const je=nt.length;nt.push(Z[ct]);const lu=Yt.map(E);let xi;for(xi of tt(lu)){const Cn=D(xi);rt.push({params:xi,name:Cn,fn:je}),xi.every(_o=>!_o.hasConversion)&&(st[Cn]=je)}}rt.sort(P);const ut=yt(nt,st,Hn);let ht;for(ht in st)Object.prototype.hasOwnProperty.call(st,ht)&&(st[ht]=ut[st[ht]]);const at=[],Ht=new Map;for(ht of rt)Ht.has(ht.name)||(ht.fn=ut[ht.fn],at.push(ht),Ht.set(ht.name,ht));const te=at[0]&&at[0].params.length<=2&&!x(at[0].params),_e=at[1]&&at[1].params.length<=2&&!x(at[1].params),Le=at[2]&&at[2].params.length<=2&&!x(at[2].params),Te=at[3]&&at[3].params.length<=2&&!x(at[3].params),fr=at[4]&&at[4].params.length<=2&&!x(at[4].params),cr=at[5]&&at[5].params.length<=2&&!x(at[5].params),An=te&&_e&&Le&&Te&&fr&&cr;for(let Yt=0;Yt<at.length;++Yt)at[Yt].test=M(at[Yt].params);const Kn=te?F(at[0].params[0]):wr,co=_e?F(at[1].params[0]):wr,ka=Le?F(at[2].params[0]):wr,Ua=Te?F(at[3].params[0]):wr,Wa=fr?F(at[4].params[0]):wr,ja=cr?F(at[5].params[0]):wr,ho=te?F(at[0].params[1]):wr,Ya=_e?F(at[1].params[1]):wr,Za=Le?F(at[2].params[1]):wr,Ga=Te?F(at[3].params[1]):wr,Qi=fr?F(at[4].params[1]):wr,Ka=cr?F(at[5].params[1]):wr;for(let Yt=0;Yt<at.length;++Yt)at[Yt].implementation=G(at[Yt].params,at[Yt].fn);const ts=te?at[0].implementation:ai,Ha=_e?at[1].implementation:ai,Ja=Le?at[2].implementation:ai,Xa=Te?at[3].implementation:ai,Va=fr?at[4].implementation:ai,Qa=cr?at[5].implementation:ai,tu=te?at[0].params.length:-1,eu=_e?at[1].params.length:-1,ru=Le?at[2].params.length:-1,po=Te?at[3].params.length:-1,nu=fr?at[4].params.length:-1,iu=cr?at[5].params.length:-1,su=An?6:0,ou=at.length,au=at.map(Yt=>Yt.test),uu=at.map(Yt=>Yt.implementation),Ei=function(){for(let je=su;je<ou;je++)if(au[je](arguments))return uu[je].apply(this,arguments);return a.onMismatch($,arguments,at)};function Hn(Yt,je){return arguments.length===tu&&Kn(Yt)&&ho(je)?ts.apply(this,arguments):arguments.length===eu&&co(Yt)&&Ya(je)?Ha.apply(this,arguments):arguments.length===ru&&ka(Yt)&&Za(je)?Ja.apply(this,arguments):arguments.length===po&&Ua(Yt)&&Ga(je)?Xa.apply(this,arguments):arguments.length===nu&&Wa(Yt)&&Qi(je)?Va.apply(this,arguments):arguments.length===iu&&ja(Yt)&&Ka(je)?Qa.apply(this,arguments):Ei.apply(this,arguments)}try{Object.defineProperty(Hn,"name",{value:$})}catch{}return Hn.signatures=st,Hn._typedFunctionData={signatures:at,signatureMap:Ht},Hn}function Et($,Z,H){throw L($,Z,H)}function ne($){return Nt($,0,$.length-1)}function It($){return $[$.length-1]}function Nt($,Z,H){return Array.prototype.slice.call($,Z,H)}function se($,Z){for(let H=0;H<$.length;H++)if(Z($[H]))return $[H]}function Qt($,Z){return Array.prototype.concat.apply([],$.map(Z))}function qt(){const $=ne(arguments).map(H=>D(N(H))),Z=It(arguments);if(typeof Z!="function")throw new TypeError("Callback function expected as last argument");return Kt($,Z)}function Kt($,Z){return{referTo:{references:$,callback:Z}}}function Ne($){if(typeof $!="function")throw new TypeError("Callback function expected as first argument");return{referToSelf:{callback:$}}}function ur($){return $&&typeof $.referTo=="object"&&Array.isArray($.referTo.references)&&typeof $.referTo.callback=="function"}function Be($){return $&&typeof $.referToSelf=="object"&&typeof $.referToSelf.callback=="function"}function rn($,Z){if(!$)return Z;if(Z&&Z!==$){const H=new Error("Function names do not match (expected: "+$+", actual: "+Z+")");throw H.data={actual:Z,expected:$},H}return $}function En($){let Z;for(const H in $)Object.prototype.hasOwnProperty.call($,H)&&(d($[H])||typeof $[H].signature=="string")&&(Z=rn(Z,$[H].name));return Z}function nn($,Z){let H;for(H in Z)if(Object.prototype.hasOwnProperty.call(Z,H)){if(H in $&&Z[H]!==$[H]){const nt=new Error('Signature "'+H+'" is defined twice');throw nt.data={signature:H,sourceFunction:Z[H],destFunction:$[H]},nt}$[H]=Z[H]}}const lr=a;a=function($){const Z=typeof $=="string",H=Z?1:0;let nt=Z?$:"";const st={};for(let rt=H;rt<arguments.length;++rt){const ct=arguments[rt];let ut={},ht;if(typeof ct=="function"?(ht=ct.name,typeof ct.signature=="string"?ut[ct.signature]=ct:d(ct)&&(ut=ct.signatures)):i(ct)&&(ut=ct,Z||(ht=En(ct))),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:ct},at}Z||(nt=rn(nt,ht)),nn(st,ut)}return Bt(nt||"",st)},a.create=Ll,a.createCount=lr.createCount,a.onMismatch=Et,a.throwMismatchError=Et,a.createError=L,a.clear=h,a.clearConversions=p,a.addTypes=f,a._findType=l,a.referTo=qt,a.referToSelf=Ne,a.convert=m,a.findSignature=g,a.find=w,a.isTypedFunction=d,a.warnAgainstDeprecatedThis=!0,a.addType=function($,Z){let H="any";Z!==!1&&r.has("Object")&&(H="Object"),a.addTypes([$],H)};function xn($){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($){xn($);const Z=l($.to);if(Z.conversionsTo.every(function(H){return H.from!==$.from}))Z.conversionsTo.push({from:$.from,convert:$.convert,index:s++});else throw new Error('There is already a conversion from "'+$.from+'" to "'+Z.name+'"')},a.addConversions=function($){$.forEach(a.addConversion)},a.removeConversion=function($){xn($);const Z=l($.to),H=se(Z.conversionsTo,st=>st.from===$.from);if(!H)throw new Error("Attempt to remove nonexistent conversion from "+$.from+" to "+$.to);if(H.convert!==$.convert)throw new Error("Conversion to remove does not match existing conversion");const nt=Z.conversionsTo.indexOf(H);Z.conversionsTo.splice(nt,1)},a.resolve=function($,Z){if(!d($))throw new TypeError($l);const H=$._typedFunctionData.signatures;for(let nt=0;nt<H.length;++nt)if(H[nt].test(Z))return H[nt];return null},a}var Rl=Ll();function de(i){return typeof i=="boolean"?!0:isFinite(i)?i===Math.round(i):!1}function oa(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(!de(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(!de(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 aa(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}=Pl(t);switch(e){case"fixed":return gd(i,r);case"exponential":return zl(i,r);case"engineering":return md(i,r);case"bin":return oa(i,2,n);case"oct":return oa(i,8,n);case"hex":return oa(i,16,n);case"auto":return vd(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 Pl(i){var t="auto",e,r;if(i!==void 0)if(le(i))e=i;else if(Ee(i))e=i.toNumber();else if(sa(i))i.precision!==void 0&&(e=ql(i.precision,()=>{throw new Error('Option "precision" must be a number or BigNumber')})),i.wordSize!==void 0&&(r=ql(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 bs(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 md(i,t){if(isNaN(i)||!isFinite(i))return String(i);var e=bs(i),r=Es(e,t),n=r.exponent,s=r.coefficients,a=n%3===0?n:n<0?n-3-n%3:n-n%3;if(le(t))for(;t>s.length||n-a+1>s.length;)s.push(0);else for(var l=Math.abs(n-a)-(s.length-1),f=0;f<l;f++)s.push(0);for(var h=Math.abs(n-a),p=1;h>0;)p++,h--;var c=s.slice(p).join(""),d=le(t)&&c.length||c.match(/[1-9]/)?"."+c:"",g=s.slice(0,p).join("")+d+"e"+(n>=0?"+":"")+a.toString();return r.sign+g}function gd(i,t){if(isNaN(i)||!isFinite(i))return String(i);var e=bs(i),r=typeof t=="number"?Es(e,e.exponent+1+t):e,n=r.coefficients,s=r.exponent+1,a=s+(t||0);return n.length<a&&(n=n.concat(ui(a-n.length))),s<0&&(n=ui(-s+1).concat(n),s=1),s<n.length&&n.splice(s,0,s===0?"0.":"."),r.sign+n.join("")}function zl(i,t){if(isNaN(i)||!isFinite(i))return String(i);var e=bs(i),r=t?Es(e,t):e,n=r.coefficients,s=r.exponent;n.length<t&&(n=n.concat(ui(t-n.length)));var a=n.shift();return r.sign+a+(n.length>0?"."+n.join(""):"")+"e"+(s>=0?"+":"")+s}function vd(i,t,e){if(isNaN(i)||!isFinite(i))return String(i);var r=kl(e==null?void 0:e.lowerExp,-3),n=kl(e==null?void 0:e.upperExp,5),s=bs(i),a=t?Es(s,t):s;if(a.exponent<r||a.exponent>=n)return zl(i,t);var l=a.coefficients,f=a.exponent;l.length<t&&(l=l.concat(ui(t-l.length))),l=l.concat(ui(f-l.length+1+(l.length<t?t-l.length:0))),l=ui(-f).concat(l);var h=f>0?f:0;return h<l.length-1&&l.splice(h+1,0,"."),a.sign+l.join("")}function Es(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 ui(i){for(var t=[],e=0;e<i;e++)t.push(0);return t}function wd(i){return i.toExponential().replace(/e.*$/,"").replace(/^0\.?0*|\./,"").length}var yd=Number.EPSILON||2220446049250313e-31;function Un(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<=yd?!0:r<=Math.max(Math.abs(i),Math.abs(t))*e}return!1}function ql(i,t){if(le(i))return i;if(Ee(i))return i.toNumber();t()}function kl(i,t){return le(i)?i:Ee(i)?i.toNumber():t}function ua(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(!de(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 Dd(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}=Pl(t);switch(e){case"fixed":return Ed(i,r);case"exponential":return Ul(i,r);case"engineering":return bd(i,r);case"bin":return ua(i,2,n);case"oct":return ua(i,8,n);case"hex":return ua(i,16,n);case"auto":{var s=Wl(t==null?void 0:t.lowerExp,-3),a=Wl(t==null?void 0:t.upperExp,5);if(i.isZero())return"0";var l,f=i.toSignificantDigits(r),h=f.e;return h>=s&&h<a?l=f.toFixed():l=Ul(i,r),l.replace(/((\.\d*?)(0+))($|e)/,function(){var p=arguments[2],c=arguments[4];return p!=="."?p+c:c})}default:throw new Error('Unknown notation "'+e+'". Choose "auto", "exponential", "fixed", "bin", "oct", or "hex.')}}function bd(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 Ul(i,t){return t!==void 0?i.toExponential(t-1):i.toExponential()}function Ed(i,t){return i.toFixed(t)}function Wl(i,t){return le(i)?i:Ee(i)?i.toNumber():t}function oe(i,t){var e=xd(i,t);return t&&typeof t=="object"&&"truncate"in t&&e.length>t.truncate?e.substring(0,t.truncate-3)+"...":e}function xd(i,t){if(typeof i=="number")return aa(i,t);if(Ee(i))return Dd(i,t);if(Ad(i))return!t||t.fraction!=="decimal"?i.s*i.n+"/"+i.d:i.toString();if(Array.isArray(i))return Zl(i,t);if(Yr(i))return jl(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=>jl(r)+": "+oe(i[r],t));return"{"+e.join(", ")+"}"}return String(i)}function jl(i){for(var t=String(i),e="",r=0;r<t.length;){var n=t.charAt(r);e+=n in Yl?Yl[n]:n,r++}return'"'+e+'"'}var Yl={'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t"};function Zl(i,t){if(Array.isArray(i)){for(var e="[",r=i.length,n=0;n<r;n++)n!==0&&(e+=", "),e+=Zl(i[n],t);return e+="]",e}else return oe(i,t)}function Ad(i){return i&&typeof i=="object"&&typeof i.s=="number"&&typeof i.n=="number"&&typeof i.d=="number"||!1}function Gt(i,t,e){if(!(this instanceof Gt))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}Gt.prototype=new RangeError,Gt.prototype.constructor=RangeError,Gt.prototype.name="DimensionError",Gt.prototype.isDimensionError=!0;function mn(i,t,e){if(!(this instanceof mn))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}mn.prototype=new RangeError,mn.prototype.constructor=RangeError,mn.prototype.name="IndexError",mn.prototype.isIndexError=!0;function Fe(i){for(var t=[];Array.isArray(i);)t.push(i.length),i=i[0];return t}function Gl(i,t,e){var r,n=i.length;if(n!==t[e])throw new Gt(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 Gt(t.length-1,t.length,"<");Gl(i[r],t,s)}}else for(r=0;r<n;r++)if(Array.isArray(i[r]))throw new Gt(t.length+1,t.length,">")}function Kl(i,t){var e=t.length===0;if(e){if(Array.isArray(i))throw new Gt(i.length,0)}else Gl(i,t,0)}function we(i,t){if(i!==void 0){if(!le(i)||!de(i))throw new TypeError("Index must be an integer (value: "+i+")");if(i<0||typeof t=="number"&&i>=t)throw new mn(i,t)}}function la(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(!le(n)||!de(n)||n<0)throw new TypeError("Invalid size, must contain positive integers (size: "+oe(t)+")")}),(le(i)||Ee(i))&&(i=[i]);var r=e!==void 0?e:0;return fa(i,t,0,r),i}function fa(i,t,e,r){var n,s,a=i.length,l=t[e],f=Math.min(a,l);if(i.length=l,e<t.length-1){var h=e+1;for(n=0;n<f;n++)s=i[n],Array.isArray(s)||(s=[s],i[n]=s),fa(s,t,h,r);for(n=f;n<l;n++)s=[],i[n]=s,fa(s,t,h,r)}else{for(n=0;n<f;n++)for(;Array.isArray(i[n]);)i[n]=i[n][0];for(n=f;n<l;n++)i[n]=r}}function ca(i,t){var e=pa(i),r=e.length;if(!Array.isArray(i)||!Array.isArray(t))throw new TypeError("Array expected");if(t.length===0)throw new Gt(0,r,"!=");t=ha(t,r);var n=Hl(t);if(r!==n)throw new Gt(n,r,"!=");try{return Cd(e,t)}catch(s){throw s instanceof Gt?new Gt(n,r,"!="):s}}function ha(i,t){var e=Hl(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,f=t%e===0;if(l)if(f)r[s]=-t/e;else throw new Error("Could not replace wildcard, since "+t+" is no multiple of "+-e);return r}function Hl(i){return i.reduce((t,e)=>t*e,1)}function Cd(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 Jl(i,t,e,r){var n=r||Fe(i);if(e)for(var s=0;s<e;s++)i=[i],n.unshift(1);for(i=Xl(i,t,0);n.length<t;)n.push(1);return i}function Xl(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]=Xl(i[r],t,s)}else for(var a=e;a<t;a++)i=[i];return i}function pa(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 xs(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?xs(s,t):t(s);if(e===void 0)e=l;else if(e!==l)return"mixed"}return e}function Vl(i,t,e,r){if(r<e){if(i.length!==t.length)throw new Gt(i.length,t.length);for(var n=[],s=0;s<i.length;s++)n[s]=Vl(i[s],t[s],e,r+1);return n}else return i.concat(t)}function Ql(){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 Vl(e,r,t,0)},i[0]);throw new Error("Wrong number of arguments in function concat")}function Fd(){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],f=r[a],h=0;h<f;h++){var p=n-f+h;l[h]>s[p]&&(s[p]=l[h])}for(var c=0;c<t.length;c++)As(t[c],s);return s}function As(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 tf(i,t){var e=Fe(i);if(oi(e,t))return i;As(e,t);var r=Fd(e,t),n=r.length,s=[...Array(n-e.length).fill(1),...e],a=Nd(i);e.length<n&&(a=ca(a,s),e=Fe(a));for(var l=0;l<n;l++)e[l]<r[l]&&(a=Md(a,r[l],l),e=Fe(a));return a}function Md(i,t,e){return Ql(...Array(t).fill(i),e)}function Nd(i){return Ds([],i)}function mt(i,t,e,r){function n(s){var a=pd(s,t.map(Td));return Sd(i,t,s),e(a)}return n.isFactory=!0,n.fn=i,n.dependencies=t.slice().sort(),r&&(n.meta=r),n}function Sd(i,t,e){var r=t.filter(s=>!Bd(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 Bd(i){return i&&i[0]==="?"}function Td(i){return i&&i[0]==="?"?i.slice(1):i}function Id(i,t){if(rf(i)&&ef(i,t))return i[t];throw typeof i[t]=="function"&&Ld(i,t)?new Error('Cannot access method "'+t+'" as a property'):new Error('No access to property "'+t+'"')}function Od(i,t,e){if(rf(i)&&ef(i,t))return i[t]=e,e;throw new Error('No access to property "'+t+'"')}function $d(i,t){return t in i}function ef(i,t){return!i||typeof i!="object"?!1:Ui(Rd,t)?!0:!(t in Object.prototype||t in Function.prototype)}function Ld(i,t){return i==null||typeof i[t]!="function"||Ui(i,t)&&Object.getPrototypeOf&&t in Object.getPrototypeOf(i)?!1:Ui(Pd,t)?!0:!(t in Object.prototype||t in Function.prototype)}function rf(i){return typeof i=="object"&&i&&i.constructor===Object}var Rd={length:!0,name:!0},Pd={toString:!0,valueOf:!0,toLocaleString:!0};class zd{constructor(t){this.wrappedObject=t,this[Symbol.iterator]=this.entries}keys(){return Object.keys(this.wrappedObject).values()}get(t){return Id(this.wrappedObject,t)}set(t,e){return Od(this.wrappedObject,t,e),this}has(t){return $d(this.wrappedObject,t)}entries(){return qd(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 qd(i,t){return{next:()=>{var e=i.next();return e.done?e:{value:t(e.value),done:!1}}}}function kd(i){return i?i instanceof Map||i instanceof zd||typeof i.set=="function"&&typeof i.get=="function"&&typeof i.keys=="function"&&typeof i.has=="function":!1}var nf=function(){return nf=Rl.create,Rl},Ud=["?BigNumber","?Complex","?DenseMatrix","?Fraction"],Wd=mt("typed",Ud,function(t){var{BigNumber:e,Complex:r,DenseMatrix:n,Fraction:s}=t,a=nf();return a.clear(),a.addTypes([{name:"number",test:le},{name:"Complex",test:Sl},{name:"BigNumber",test:Ee},{name:"Fraction",test:Bl},{name:"Unit",test:Tl},{name:"identifier",test:l=>Yr&&/^(?:[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:Yr},{name:"Chain",test:cd},{name:"Array",test:ve},{name:"Matrix",test:ce},{name:"DenseMatrix",test:Pp},{name:"SparseMatrix",test:zp},{name:"Range",test:qp},{name:"Index",test:ia},{name:"boolean",test:kp},{name:"ResultSet",test:Up},{name:"Help",test:Wp},{name:"function",test:jp},{name:"Date",test:Yp},{name:"RegExp",test:Zp},{name:"null",test:Gp},{name:"undefined",test:Kp},{name:"AccessorNode",test:Hp},{name:"ArrayNode",test:Jp},{name:"AssignmentNode",test:Xp},{name:"BlockNode",test:Vp},{name:"ConditionalNode",test:Qp},{name:"ConstantNode",test:td},{name:"FunctionNode",test:rd},{name:"FunctionAssignmentNode",test:ed},{name:"IndexNode",test:nd},{name:"Node",test:id},{name:"ObjectNode",test:sd},{name:"OperatorNode",test:od},{name:"ParenthesisNode",test:ad},{name:"RangeNode",test:ud},{name:"RelationalNode",test:ld},{name:"SymbolNode",test:fd},{name:"Map",test:kd},{name:"Object",test:sa}]),a.addConversions([{from:"number",to:"BigNumber",convert:function(f){if(e||da(f),wd(f)>15)throw new TypeError("Cannot implicitly convert a number with >15 significant digits to BigNumber (value: "+f+"). Use function bignumber(x) to convert to BigNumber.");return new e(f)}},{from:"number",to:"Complex",convert:function(f){return r||Cs(f),new r(f,0)}},{from:"BigNumber",to:"Complex",convert:function(f){return r||Cs(f),new r(f.toNumber(),0)}},{from:"Fraction",to:"BigNumber",convert:function(f){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(f){return r||Cs(f),new r(f.valueOf(),0)}},{from:"number",to:"Fraction",convert:function(f){s||_a(f);var h=new s(f);if(h.valueOf()!==f)throw new TypeError("Cannot implicitly convert a number to a Fraction when there will be a loss of precision (value: "+f+"). Use function fraction(x) to convert to Fraction.");return h}},{from:"string",to:"number",convert:function(f){var h=Number(f);if(isNaN(h))throw new Error('Cannot convert "'+f+'" to a number');return h}},{from:"string",to:"BigNumber",convert:function(f){e||da(f);try{return new e(f)}catch{throw new Error('Cannot convert "'+f+'" to BigNumber')}}},{from:"string",to:"Fraction",convert:function(f){s||_a(f);try{return new s(f)}catch{throw new Error('Cannot convert "'+f+'" to Fraction')}}},{from:"string",to:"Complex",convert:function(f){r||Cs(f);try{return new r(f)}catch{throw new Error('Cannot convert "'+f+'" to Complex')}}},{from:"boolean",to:"number",convert:function(f){return+f}},{from:"boolean",to:"BigNumber",convert:function(f){return e||da(f),new e(+f)}},{from:"boolean",to:"Fraction",convert:function(f){return s||_a(f),new s(+f)}},{from:"boolean",to:"string",convert:function(f){return String(f)}},{from:"Array",to:"Matrix",convert:function(f){return n||jd(),new n(f)}},{from:"Matrix",to:"Array",convert:function(f){return f.valueOf()}}]),a.onMismatch=(l,f,h)=>{var p=a.createError(l,f,h);if(["wrongType","mismatch"].includes(p.data.category)&&f.length===1&&ki(f[0])&&h.some(d=>!d.params.includes(","))){var c=new TypeError("Function '".concat(l,"' doesn't apply to matrices. To call it ")+"elementwise on a matrix 'M', try 'map(M, ".concat(l,")'."));throw c.data=p.data,c}throw p},a.onMismatch=(l,f,h)=>{var p=a.createError(l,f,h);if(["wrongType","mismatch"].includes(p.data.category)&&f.length===1&&ki(f[0])&&h.some(d=>!d.params.includes(","))){var c=new TypeError("Function '".concat(l,"' doesn't apply to matrices. To call it ")+"elementwise on a matrix 'M', try 'map(M, ".concat(l,")'."));throw c.data=p.data,c}throw p},a});function da(i){throw new Error("Cannot convert value ".concat(i," into a BigNumber: no class 'BigNumber' provided"))}function Cs(i){throw new Error("Cannot convert value ".concat(i," into a Complex number: no class 'Complex' provided"))}function jd(){throw new Error("Cannot convert array into a Matrix: no class 'DenseMatrix' provided")}function _a(i){throw new Error("Cannot convert value ".concat(i," into a Fraction, no class 'Fraction' provided."))}/*!
34
+ `);return Object.freeze(Sl)};bs(ar,Sl,{MATRIX_OPTIONS:_d,NUMBER_OPTIONS:md});function $l(){return!0}function yr(){return!1}function ui(){}const Ll="Argument is not a typed-function.";function Rl(){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:$l,isAny:!0};let r,n,s=0,a={createCount:0};function l($){const Z=r.get($);if(Z)return Z;let H='Unknown type "'+$+'"';const nt=$.toLowerCase();let st;for(st of n)if(st.toLowerCase()===nt){H+='. Did you mean "'+st+'" ?';break}throw new TypeError(H)}function f($){let Z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"any";const H=Z?l(Z).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 ct=$[rt].name;if(r.has(ct))throw new TypeError('Duplicate type name "'+ct+'"');nt.push(ct),r.set(ct,{name:ct,test:$[rt].test,isAny:$[rt].isAny,index:H+rt,conversionsTo:[]})}const st=n.slice(H);n=n.slice(0,H).concat(nt).concat(st);for(let rt=H+nt.length;rt<n.length;++rt)r.get(n[rt]).index=rt}function h(){r=new Map,n=[],s=0,f([e],!1)}h(),f(t);function p(){let $;for($ of n)r.get($).conversionsTo=[];s=0}function c($){const Z=n.filter(H=>{const nt=r.get(H);return!nt.isAny&&nt.test($)});return Z.length?Z:["any"]}function d($){return $&&typeof $=="function"&&"_typedFunctionData"in $}function g($,Z,H){if(!d($))throw new TypeError(Ll);const nt=H&&H.exact,st=Array.isArray(Z)?Z.join(","):Z,rt=N(st),ct=D(rt);if(!nt||ct in $.signatures){const Ht=$._typedFunctionData.signatureMap.get(ct);if(Ht)return Ht}const ut=rt.length;let ht;if(nt){ht=[];let Ht;for(Ht in $.signatures)ht.push($._typedFunctionData.signatureMap.get(Ht))}else ht=$._typedFunctionData.signatures;for(let Ht=0;Ht<ut;++Ht){const te=rt[Ht],_e=[];let Le;for(Le of ht){const Te=S(Le.params,Ht);if(!(!Te||te.restParam&&!Te.restParam)){if(!Te.hasAny){const cr=b(Te);if(te.types.some(hr=>!cr.has(hr.name)))continue}_e.push(Le)}}if(ht=_e,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($,Z,H){return g($,Z,H).implementation}function m($,Z){const H=l(Z);if(H.test($))return $;const nt=H.conversionsTo;if(nt.length===0)throw new Error("There are no conversions to "+Z+" 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 "+Z)}function D($){let Z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:",";return $.map(H=>H.name).join(Z)}function v($){const Z=$.indexOf("...")===0,nt=(Z?$.length>3?$.slice(3):"any":$).split("|").map(ut=>l(ut.trim()));let st=!1,rt=Z?"...":"";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:Z}}function E($){const Z=$.types.map(ct=>ct.name),H=K(Z);let nt=$.hasAny,st=$.name;const rt=H.map(function(ct){const ut=l(ct.from);return nt=ut.isAny||nt,st+="|"+ct.from,{name:ct.from,typeIndex:ut.index,test:ut.test,isAny:ut.isAny,conversion:ct,conversionIndex:ct.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(Z=>$.typeSet.add(Z.name))),$.typeSet}function N($){const Z=[];if(typeof $!="string")throw new TypeError("Signatures must be strings");const H=$.trim();if(H==="")return Z;const nt=H.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;Z.push(rt)}return Z}function x($){const Z=Ot($);return Z?Z.restParam:!1}function F($){if(!$||$.types.length===0)return $l;if($.types.length===1)return l($.types[0].name).test;if($.types.length===2){const Z=l($.types[0].name).test,H=l($.types[1].name).test;return function(st){return Z(st)||H(st)}}else{const Z=$.types.map(function(H){return l(H.name).test});return function(nt){for(let st=0;st<Z.length;st++)if(Z[st](nt))return!0;return!1}}}function M($){let Z,H,nt;if(x($)){Z=ne($).map(F);const st=Z.length,rt=F(Ot($)),ct=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<Z.length;at++)if(!Z[at](ht[at]))return!1;return ct(ht)&&ht.length>=st+1}}else return $.length===0?function(rt){return rt.length===0}:$.length===1?(H=F($[0]),function(rt){return H(rt[0])&&rt.length===1}):$.length===2?(H=F($[0]),nt=F($[1]),function(rt){return H(rt[0])&&nt(rt[1])&&rt.length===2}):(Z=$.map(F),function(rt){for(let ct=0;ct<Z.length;ct++)if(!Z[ct](rt[ct]))return!1;return rt.length===Z.length})}function S($,Z){return Z<$.length?$[Z]:x($)?Ot($):null}function I($,Z){const H=S($,Z);return H?b(H):new Set}function C($){return $.conversion===null||$.conversion===void 0}function T($,Z){const H=new Set;return $.forEach(nt=>{const st=I(nt.params,Z);let rt;for(rt of st)H.add(rt)}),H.has("any")?["any"]:Array.from(H)}function L($,Z,H){let nt,st;const rt=$||"unnamed";let ct=H,ut;for(ut=0;ut<Z.length;ut++){const te=[];if(ct.forEach(_e=>{const Le=S(_e.params,ut),Te=F(Le);(ut<_e.params.length||x(_e.params))&&Te(Z[ut])&&te.push(_e)}),te.length===0){if(st=T(ct,ut),st.length>0){const _e=c(Z[ut]);return nt=new TypeError("Unexpected type of argument in function "+rt+" (expected: "+st.join(" or ")+", actual: "+_e.join(" | ")+", index: "+ut+")"),nt.data={category:"wrongType",fn:rt,index:ut,actual:_e,expected:st},nt}}else ct=te}const ht=ct.map(function(te){return x(te.params)?1/0:te.params.length});if(Z.length<Math.min.apply(null,ht))return st=T(ct,ut),nt=new TypeError("Too few arguments in function "+rt+" (expected: "+st.join(" or ")+", index: "+Z.length+")"),nt.data={category:"tooFewArgs",fn:rt,index:Z.length,expected:st},nt;const at=Math.max.apply(null,ht);if(Z.length>at)return nt=new TypeError("Too many arguments in function "+rt+" (expected: "+at+", actual: "+Z.length+")"),nt.data={category:"tooManyArgs",fn:rt,index:Z.length,expectedLength:at},nt;const Ht=[];for(let te=0;te<Z.length;++te)Ht.push(c(Z[te]).join("|"));return nt=new TypeError('Arguments of type "'+Ht.join(", ")+'" do not match any of the defined signatures of function '+rt+"."),nt.data={category:"mismatch",actual:Ht},nt}function U($){let Z=n.length+1;for(let H=0;H<$.types.length;H++)C($.types[H])&&(Z=Math.min(Z,$.types[H].typeIndex));return Z}function k($){let Z=s+1;for(let H=0;H<$.types.length;H++)C($.types[H])||(Z=Math.min(Z,$.types[H].conversionIndex));return Z}function W($,Z){if($.hasAny){if(!Z.hasAny)return 1}else if(Z.hasAny)return-1;if($.restParam){if(!Z.restParam)return 1}else if(Z.restParam)return-1;if($.hasConversion){if(!Z.hasConversion)return 1}else if(Z.hasConversion)return-1;const H=U($)-U(Z);if(H<0)return-1;if(H>0)return 1;const nt=k($)-k(Z);return nt<0?-1:nt>0?1:0}function P($,Z){const H=$.params,nt=Z.params,st=Ot(H),rt=Ot(nt),ct=x(H),ut=x(nt);if(ct&&st.hasAny){if(!ut||!rt.hasAny)return 1}else if(ut&&rt.hasAny)return-1;let ht=0,at=0,Ht;for(Ht of H)Ht.hasAny&&++ht,Ht.hasConversion&&++at;let te=0,_e=0;for(Ht of nt)Ht.hasAny&&++te,Ht.hasConversion&&++_e;if(ht!==te)return ht-te;if(ct&&st.hasConversion){if(!ut||!rt.hasConversion)return 1}else if(ut&&rt.hasConversion)return-1;if(at!==_e)return at-_e;if(ct){if(!ut)return 1}else if(ut)return-1;const Le=(H.length-nt.length)*(ct?-1:1);if(Le!==0)return Le;const Te=[];let cr=0;for(let Cn=0;Cn<H.length;++Cn){const Hn=W(H[Cn],nt[Cn]);Te.push(Hn),cr+=Hn}if(cr!==0)return cr;let hr;for(hr of Te)if(hr!==0)return hr;return 0}function K($){if($.length===0)return[];const Z=$.map(l);$.length>1&&Z.sort((st,rt)=>st.index-rt.index);let H=Z[0].conversionsTo;if($.length===1)return H;H=H.concat([]);const nt=new Set($);for(let st=1;st<Z.length;++st){let rt;for(rt of Z[st].conversionsTo)nt.has(rt.from)||(H.push(rt),nt.add(rt.from))}return H}function G($,Z){let H=Z;if($.some(st=>st.hasConversion)){const st=x($),rt=$.map(Q);H=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])),Z.apply(this,ut)}}let nt=H;if(x($)){const st=$.length-1;nt=function(){return H.apply(this,Nt(arguments,0,st).concat([Nt(arguments,st)]))}}return nt}function Q($){let Z,H,nt,st;const rt=[],ct=[];switch($.types.forEach(function(ut){ut.conversion&&(rt.push(l(ut.conversion.from).test),ct.push(ut.conversion.convert))}),ct.length){case 0:return function(ht){return ht};case 1:return Z=rt[0],nt=ct[0],function(ht){return Z(ht)?nt(ht):ht};case 2:return Z=rt[0],H=rt[1],nt=ct[0],st=ct[1],function(ht){return Z(ht)?nt(ht):H(ht)?st(ht):ht};default:return function(ht){for(let at=0;at<ct.length;at++)if(rt[at](ht))return ct[at](ht);return ht}}}function tt($){function Z(H,nt,st){if(nt<H.length){const rt=H[nt];let ct=[];if(rt.restParam){const ut=rt.types.filter(C);ut.length<rt.types.length&&ct.push({types:ut,name:"..."+ut.map(ht=>ht.name).join("|"),hasAny:ut.some(ht=>ht.isAny),hasConversion:!1,restParam:!0}),ct.push(rt)}else ct=rt.types.map(function(ut){return{types:[ut],name:ut.name,hasAny:ut.isAny,hasConversion:ut.conversion,restParam:!1}});return Vt(ct,function(ut){return Z(H,nt+1,st.concat([ut]))})}else return[st]}return Z($,0,[])}function ft($,Z){const H=Math.max($.length,Z.length);for(let ut=0;ut<H;ut++){const ht=I($,ut),at=I(Z,ut);let Ht=!1,te;for(te of at)if(ht.has(te)){Ht=!0;break}if(!Ht)return!1}const nt=$.length,st=Z.length,rt=x($),ct=x(Z);return rt?ct?nt===st:st>=nt:ct?nt>=st:nt===st}function vt($){return $.map(Z=>Be(Z)?Ne(Z.referToSelf.callback):lr(Z)?Kt(Z.referTo.references,Z.referTo.callback):Z)}function lt($,Z,H){const nt=[];let st;for(st of $){let rt=H[st];if(typeof rt!="number")throw new TypeError('No definition for referenced signature "'+st+'"');if(rt=Z[rt],typeof rt!="function")return!1;nt.push(rt)}return nt}function yt($,Z,H){const nt=vt($),st=new Array(nt.length).fill(!1);let rt=!0;for(;rt;){rt=!1;let ct=!0;for(let ut=0;ut<nt.length;++ut){if(st[ut])continue;const ht=nt[ut];if(Be(ht))nt[ut]=ht.referToSelf.callback(H),nt[ut].referToSelf=ht.referToSelf,st[ut]=!0,ct=!1;else if(lr(ht)){const at=lt(ht.referTo.references,nt,Z);at?(nt[ut]=ht.referTo.callback.apply(this,at),nt[ut].referTo=ht.referTo,st[ut]=!0,ct=!1):rt=!0}}if(ct&&rt)throw new SyntaxError("Circular reference detected in resolving typed.referTo")}return nt}function bt($){const Z=/\bthis(\(|\.signatures\b)/;Object.keys($).forEach(H=>{const nt=$[H];if(Z.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($,Z){if(a.createCount++,Object.keys(Z).length===0)throw new SyntaxError("No signatures provided");a.warnAgainstDeprecatedThis&&bt(Z);const H=[],nt=[],st={},rt=[];let ct;for(ct in Z){if(!Object.prototype.hasOwnProperty.call(Z,ct))continue;const Yt=N(ct);if(!Yt)continue;H.forEach(function(Fn){if(ft(Fn,Yt))throw new TypeError('Conflicting signatures "'+D(Fn)+'" and "'+D(Yt)+'".')}),H.push(Yt);const je=nt.length;nt.push(Z[ct]);const fu=Yt.map(E);let Ai;for(Ai of tt(fu)){const Fn=D(Ai);rt.push({params:Ai,name:Fn,fn:je}),Ai.every(mo=>!mo.hasConversion)&&(st[Fn]=je)}}rt.sort(P);const ut=yt(nt,st,Xn);let ht;for(ht in st)Object.prototype.hasOwnProperty.call(st,ht)&&(st[ht]=ut[st[ht]]);const at=[],Ht=new Map;for(ht of rt)Ht.has(ht.name)||(ht.fn=ut[ht.fn],at.push(ht),Ht.set(ht.name,ht));const te=at[0]&&at[0].params.length<=2&&!x(at[0].params),_e=at[1]&&at[1].params.length<=2&&!x(at[1].params),Le=at[2]&&at[2].params.length<=2&&!x(at[2].params),Te=at[3]&&at[3].params.length<=2&&!x(at[3].params),cr=at[4]&&at[4].params.length<=2&&!x(at[4].params),hr=at[5]&&at[5].params.length<=2&&!x(at[5].params),Cn=te&&_e&&Le&&Te&&cr&&hr;for(let Yt=0;Yt<at.length;++Yt)at[Yt].test=M(at[Yt].params);const Hn=te?F(at[0].params[0]):yr,ho=_e?F(at[1].params[0]):yr,Ua=Le?F(at[2].params[0]):yr,Wa=Te?F(at[3].params[0]):yr,ja=cr?F(at[4].params[0]):yr,Ya=hr?F(at[5].params[0]):yr,po=te?F(at[0].params[1]):yr,Za=_e?F(at[1].params[1]):yr,Ga=Le?F(at[2].params[1]):yr,Ka=Te?F(at[3].params[1]):yr,ts=cr?F(at[4].params[1]):yr,Ha=hr?F(at[5].params[1]):yr;for(let Yt=0;Yt<at.length;++Yt)at[Yt].implementation=G(at[Yt].params,at[Yt].fn);const es=te?at[0].implementation:ui,Xa=_e?at[1].implementation:ui,Ja=Le?at[2].implementation:ui,Qa=Te?at[3].implementation:ui,Va=cr?at[4].implementation:ui,tu=hr?at[5].implementation:ui,eu=te?at[0].params.length:-1,ru=_e?at[1].params.length:-1,nu=Le?at[2].params.length:-1,_o=Te?at[3].params.length:-1,iu=cr?at[4].params.length:-1,su=hr?at[5].params.length:-1,ou=Cn?6:0,au=at.length,uu=at.map(Yt=>Yt.test),lu=at.map(Yt=>Yt.implementation),xi=function(){for(let je=ou;je<au;je++)if(uu[je](arguments))return lu[je].apply(this,arguments);return a.onMismatch($,arguments,at)};function Xn(Yt,je){return arguments.length===eu&&Hn(Yt)&&po(je)?es.apply(this,arguments):arguments.length===ru&&ho(Yt)&&Za(je)?Xa.apply(this,arguments):arguments.length===nu&&Ua(Yt)&&Ga(je)?Ja.apply(this,arguments):arguments.length===_o&&Wa(Yt)&&Ka(je)?Qa.apply(this,arguments):arguments.length===iu&&ja(Yt)&&ts(je)?Va.apply(this,arguments):arguments.length===su&&Ya(Yt)&&Ha(je)?tu.apply(this,arguments):xi.apply(this,arguments)}try{Object.defineProperty(Xn,"name",{value:$})}catch{}return Xn.signatures=st,Xn._typedFunctionData={signatures:at,signatureMap:Ht},Xn}function Et($,Z,H){throw L($,Z,H)}function ne($){return Nt($,0,$.length-1)}function Ot($){return $[$.length-1]}function Nt($,Z,H){return Array.prototype.slice.call($,Z,H)}function se($,Z){for(let H=0;H<$.length;H++)if(Z($[H]))return $[H]}function Vt($,Z){return Array.prototype.concat.apply([],$.map(Z))}function qt(){const $=ne(arguments).map(H=>D(N(H))),Z=Ot(arguments);if(typeof Z!="function")throw new TypeError("Callback function expected as last argument");return Kt($,Z)}function Kt($,Z){return{referTo:{references:$,callback:Z}}}function Ne($){if(typeof $!="function")throw new TypeError("Callback function expected as first argument");return{referToSelf:{callback:$}}}function lr($){return $&&typeof $.referTo=="object"&&Array.isArray($.referTo.references)&&typeof $.referTo.callback=="function"}function Be($){return $&&typeof $.referToSelf=="object"&&typeof $.referToSelf.callback=="function"}function nn($,Z){if(!$)return Z;if(Z&&Z!==$){const H=new Error("Function names do not match (expected: "+$+", actual: "+Z+")");throw H.data={actual:Z,expected:$},H}return $}function xn($){let Z;for(const H in $)Object.prototype.hasOwnProperty.call($,H)&&(d($[H])||typeof $[H].signature=="string")&&(Z=nn(Z,$[H].name));return Z}function sn($,Z){let H;for(H in Z)if(Object.prototype.hasOwnProperty.call(Z,H)){if(H in $&&Z[H]!==$[H]){const nt=new Error('Signature "'+H+'" is defined twice');throw nt.data={signature:H,sourceFunction:Z[H],destFunction:$[H]},nt}$[H]=Z[H]}}const fr=a;a=function($){const Z=typeof $=="string",H=Z?1:0;let nt=Z?$:"";const st={};for(let rt=H;rt<arguments.length;++rt){const ct=arguments[rt];let ut={},ht;if(typeof ct=="function"?(ht=ct.name,typeof ct.signature=="string"?ut[ct.signature]=ct:d(ct)&&(ut=ct.signatures)):i(ct)&&(ut=ct,Z||(ht=xn(ct))),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:ct},at}Z||(nt=nn(nt,ht)),sn(st,ut)}return Bt(nt||"",st)},a.create=Rl,a.createCount=fr.createCount,a.onMismatch=Et,a.throwMismatchError=Et,a.createError=L,a.clear=h,a.clearConversions=p,a.addTypes=f,a._findType=l,a.referTo=qt,a.referToSelf=Ne,a.convert=m,a.findSignature=g,a.find=w,a.isTypedFunction=d,a.warnAgainstDeprecatedThis=!0,a.addType=function($,Z){let H="any";Z!==!1&&r.has("Object")&&(H="Object"),a.addTypes([$],H)};function An($){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($){An($);const Z=l($.to);if(Z.conversionsTo.every(function(H){return H.from!==$.from}))Z.conversionsTo.push({from:$.from,convert:$.convert,index:s++});else throw new Error('There is already a conversion from "'+$.from+'" to "'+Z.name+'"')},a.addConversions=function($){$.forEach(a.addConversion)},a.removeConversion=function($){An($);const Z=l($.to),H=se(Z.conversionsTo,st=>st.from===$.from);if(!H)throw new Error("Attempt to remove nonexistent conversion from "+$.from+" to "+$.to);if(H.convert!==$.convert)throw new Error("Conversion to remove does not match existing conversion");const nt=Z.conversionsTo.indexOf(H);Z.conversionsTo.splice(nt,1)},a.resolve=function($,Z){if(!d($))throw new TypeError(Ll);const H=$._typedFunctionData.signatures;for(let nt=0;nt<H.length;++nt)if(H[nt].test(Z))return H[nt];return null},a}var Pl=Rl();function de(i){return typeof i=="boolean"?!0:isFinite(i)?i===Math.round(i):!1}function aa(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(!de(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(!de(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 ua(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}=zl(t);switch(e){case"fixed":return vd(i,r);case"exponential":return ql(i,r);case"engineering":return gd(i,r);case"bin":return aa(i,2,n);case"oct":return aa(i,8,n);case"hex":return aa(i,16,n);case"auto":return wd(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 zl(i){var t="auto",e,r;if(i!==void 0)if(le(i))e=i;else if(Ee(i))e=i.toNumber();else if(oa(i))i.precision!==void 0&&(e=kl(i.precision,()=>{throw new Error('Option "precision" must be a number or BigNumber')})),i.wordSize!==void 0&&(r=kl(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 Es(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 gd(i,t){if(isNaN(i)||!isFinite(i))return String(i);var e=Es(i),r=xs(e,t),n=r.exponent,s=r.coefficients,a=n%3===0?n:n<0?n-3-n%3:n-n%3;if(le(t))for(;t>s.length||n-a+1>s.length;)s.push(0);else for(var l=Math.abs(n-a)-(s.length-1),f=0;f<l;f++)s.push(0);for(var h=Math.abs(n-a),p=1;h>0;)p++,h--;var c=s.slice(p).join(""),d=le(t)&&c.length||c.match(/[1-9]/)?"."+c:"",g=s.slice(0,p).join("")+d+"e"+(n>=0?"+":"")+a.toString();return r.sign+g}function vd(i,t){if(isNaN(i)||!isFinite(i))return String(i);var e=Es(i),r=typeof t=="number"?xs(e,e.exponent+1+t):e,n=r.coefficients,s=r.exponent+1,a=s+(t||0);return n.length<a&&(n=n.concat(li(a-n.length))),s<0&&(n=li(-s+1).concat(n),s=1),s<n.length&&n.splice(s,0,s===0?"0.":"."),r.sign+n.join("")}function ql(i,t){if(isNaN(i)||!isFinite(i))return String(i);var e=Es(i),r=t?xs(e,t):e,n=r.coefficients,s=r.exponent;n.length<t&&(n=n.concat(li(t-n.length)));var a=n.shift();return r.sign+a+(n.length>0?"."+n.join(""):"")+"e"+(s>=0?"+":"")+s}function wd(i,t,e){if(isNaN(i)||!isFinite(i))return String(i);var r=Ul(e==null?void 0:e.lowerExp,-3),n=Ul(e==null?void 0:e.upperExp,5),s=Es(i),a=t?xs(s,t):s;if(a.exponent<r||a.exponent>=n)return ql(i,t);var l=a.coefficients,f=a.exponent;l.length<t&&(l=l.concat(li(t-l.length))),l=l.concat(li(f-l.length+1+(l.length<t?t-l.length:0))),l=li(-f).concat(l);var h=f>0?f:0;return h<l.length-1&&l.splice(h+1,0,"."),a.sign+l.join("")}function xs(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 li(i){for(var t=[],e=0;e<i;e++)t.push(0);return t}function yd(i){return i.toExponential().replace(/e.*$/,"").replace(/^0\.?0*|\./,"").length}var Dd=Number.EPSILON||2220446049250313e-31;function Wn(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<=Dd?!0:r<=Math.max(Math.abs(i),Math.abs(t))*e}return!1}function kl(i,t){if(le(i))return i;if(Ee(i))return i.toNumber();t()}function Ul(i,t){return le(i)?i:Ee(i)?i.toNumber():t}function la(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(!de(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 bd(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}=zl(t);switch(e){case"fixed":return xd(i,r);case"exponential":return Wl(i,r);case"engineering":return Ed(i,r);case"bin":return la(i,2,n);case"oct":return la(i,8,n);case"hex":return la(i,16,n);case"auto":{var s=jl(t==null?void 0:t.lowerExp,-3),a=jl(t==null?void 0:t.upperExp,5);if(i.isZero())return"0";var l,f=i.toSignificantDigits(r),h=f.e;return h>=s&&h<a?l=f.toFixed():l=Wl(i,r),l.replace(/((\.\d*?)(0+))($|e)/,function(){var p=arguments[2],c=arguments[4];return p!=="."?p+c:c})}default:throw new Error('Unknown notation "'+e+'". Choose "auto", "exponential", "fixed", "bin", "oct", or "hex.')}}function Ed(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 Wl(i,t){return t!==void 0?i.toExponential(t-1):i.toExponential()}function xd(i,t){return i.toFixed(t)}function jl(i,t){return le(i)?i:Ee(i)?i.toNumber():t}function oe(i,t){var e=Ad(i,t);return t&&typeof t=="object"&&"truncate"in t&&e.length>t.truncate?e.substring(0,t.truncate-3)+"...":e}function Ad(i,t){if(typeof i=="number")return ua(i,t);if(Ee(i))return bd(i,t);if(Cd(i))return!t||t.fraction!=="decimal"?i.s*i.n+"/"+i.d:i.toString();if(Array.isArray(i))return Gl(i,t);if(Zr(i))return Yl(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=>Yl(r)+": "+oe(i[r],t));return"{"+e.join(", ")+"}"}return String(i)}function Yl(i){for(var t=String(i),e="",r=0;r<t.length;){var n=t.charAt(r);e+=n in Zl?Zl[n]:n,r++}return'"'+e+'"'}var Zl={'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t"};function Gl(i,t){if(Array.isArray(i)){for(var e="[",r=i.length,n=0;n<r;n++)n!==0&&(e+=", "),e+=Gl(i[n],t);return e+="]",e}else return oe(i,t)}function Cd(i){return i&&typeof i=="object"&&typeof i.s=="number"&&typeof i.n=="number"&&typeof i.d=="number"||!1}function Gt(i,t,e){if(!(this instanceof Gt))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}Gt.prototype=new RangeError,Gt.prototype.constructor=RangeError,Gt.prototype.name="DimensionError",Gt.prototype.isDimensionError=!0;function gn(i,t,e){if(!(this instanceof gn))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}gn.prototype=new RangeError,gn.prototype.constructor=RangeError,gn.prototype.name="IndexError",gn.prototype.isIndexError=!0;function Fe(i){for(var t=[];Array.isArray(i);)t.push(i.length),i=i[0];return t}function Kl(i,t,e){var r,n=i.length;if(n!==t[e])throw new Gt(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 Gt(t.length-1,t.length,"<");Kl(i[r],t,s)}}else for(r=0;r<n;r++)if(Array.isArray(i[r]))throw new Gt(t.length+1,t.length,">")}function Hl(i,t){var e=t.length===0;if(e){if(Array.isArray(i))throw new Gt(i.length,0)}else Kl(i,t,0)}function we(i,t){if(i!==void 0){if(!le(i)||!de(i))throw new TypeError("Index must be an integer (value: "+i+")");if(i<0||typeof t=="number"&&i>=t)throw new gn(i,t)}}function fa(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(!le(n)||!de(n)||n<0)throw new TypeError("Invalid size, must contain positive integers (size: "+oe(t)+")")}),(le(i)||Ee(i))&&(i=[i]);var r=e!==void 0?e:0;return ca(i,t,0,r),i}function ca(i,t,e,r){var n,s,a=i.length,l=t[e],f=Math.min(a,l);if(i.length=l,e<t.length-1){var h=e+1;for(n=0;n<f;n++)s=i[n],Array.isArray(s)||(s=[s],i[n]=s),ca(s,t,h,r);for(n=f;n<l;n++)s=[],i[n]=s,ca(s,t,h,r)}else{for(n=0;n<f;n++)for(;Array.isArray(i[n]);)i[n]=i[n][0];for(n=f;n<l;n++)i[n]=r}}function ha(i,t){var e=da(i),r=e.length;if(!Array.isArray(i)||!Array.isArray(t))throw new TypeError("Array expected");if(t.length===0)throw new Gt(0,r,"!=");t=pa(t,r);var n=Xl(t);if(r!==n)throw new Gt(n,r,"!=");try{return Fd(e,t)}catch(s){throw s instanceof Gt?new Gt(n,r,"!="):s}}function pa(i,t){var e=Xl(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,f=t%e===0;if(l)if(f)r[s]=-t/e;else throw new Error("Could not replace wildcard, since "+t+" is no multiple of "+-e);return r}function Xl(i){return i.reduce((t,e)=>t*e,1)}function Fd(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 Jl(i,t,e,r){var n=r||Fe(i);if(e)for(var s=0;s<e;s++)i=[i],n.unshift(1);for(i=Ql(i,t,0);n.length<t;)n.push(1);return i}function Ql(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]=Ql(i[r],t,s)}else for(var a=e;a<t;a++)i=[i];return i}function da(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 As(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?As(s,t):t(s);if(e===void 0)e=l;else if(e!==l)return"mixed"}return e}function Vl(i,t,e,r){if(r<e){if(i.length!==t.length)throw new Gt(i.length,t.length);for(var n=[],s=0;s<i.length;s++)n[s]=Vl(i[s],t[s],e,r+1);return n}else return i.concat(t)}function tf(){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 Vl(e,r,t,0)},i[0]);throw new Error("Wrong number of arguments in function concat")}function Md(){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],f=r[a],h=0;h<f;h++){var p=n-f+h;l[h]>s[p]&&(s[p]=l[h])}for(var c=0;c<t.length;c++)Cs(t[c],s);return s}function Cs(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 ef(i,t){var e=Fe(i);if(ai(e,t))return i;Cs(e,t);var r=Md(e,t),n=r.length,s=[...Array(n-e.length).fill(1),...e],a=Sd(i);e.length<n&&(a=ha(a,s),e=Fe(a));for(var l=0;l<n;l++)e[l]<r[l]&&(a=Nd(a,r[l],l),e=Fe(a));return a}function Nd(i,t,e){return tf(...Array(t).fill(i),e)}function Sd(i){return bs([],i)}function mt(i,t,e,r){function n(s){var a=dd(s,t.map(Od));return Bd(i,t,s),e(a)}return n.isFactory=!0,n.fn=i,n.dependencies=t.slice().sort(),r&&(n.meta=r),n}function Bd(i,t,e){var r=t.filter(s=>!Td(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 Td(i){return i&&i[0]==="?"}function Od(i){return i&&i[0]==="?"?i.slice(1):i}function Id(i,t){if(nf(i)&&rf(i,t))return i[t];throw typeof i[t]=="function"&&Rd(i,t)?new Error('Cannot access method "'+t+'" as a property'):new Error('No access to property "'+t+'"')}function $d(i,t,e){if(nf(i)&&rf(i,t))return i[t]=e,e;throw new Error('No access to property "'+t+'"')}function Ld(i,t){return t in i}function rf(i,t){return!i||typeof i!="object"?!1:Wi(Pd,t)?!0:!(t in Object.prototype||t in Function.prototype)}function Rd(i,t){return i==null||typeof i[t]!="function"||Wi(i,t)&&Object.getPrototypeOf&&t in Object.getPrototypeOf(i)?!1:Wi(zd,t)?!0:!(t in Object.prototype||t in Function.prototype)}function nf(i){return typeof i=="object"&&i&&i.constructor===Object}var Pd={length:!0,name:!0},zd={toString:!0,valueOf:!0,toLocaleString:!0};class qd{constructor(t){this.wrappedObject=t,this[Symbol.iterator]=this.entries}keys(){return Object.keys(this.wrappedObject).values()}get(t){return Id(this.wrappedObject,t)}set(t,e){return $d(this.wrappedObject,t,e),this}has(t){return Ld(this.wrappedObject,t)}entries(){return kd(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 kd(i,t){return{next:()=>{var e=i.next();return e.done?e:{value:t(e.value),done:!1}}}}function Ud(i){return i?i instanceof Map||i instanceof qd||typeof i.set=="function"&&typeof i.get=="function"&&typeof i.keys=="function"&&typeof i.has=="function":!1}var sf=function(){return sf=Pl.create,Pl},Wd=["?BigNumber","?Complex","?DenseMatrix","?Fraction"],jd=mt("typed",Wd,function(t){var{BigNumber:e,Complex:r,DenseMatrix:n,Fraction:s}=t,a=sf();return a.clear(),a.addTypes([{name:"number",test:le},{name:"Complex",test:Bl},{name:"BigNumber",test:Ee},{name:"Fraction",test:Tl},{name:"Unit",test:Ol},{name:"identifier",test:l=>Zr&&/^(?:[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:Zr},{name:"Chain",test:hd},{name:"Array",test:ve},{name:"Matrix",test:ce},{name:"DenseMatrix",test:zp},{name:"SparseMatrix",test:qp},{name:"Range",test:kp},{name:"Index",test:sa},{name:"boolean",test:Up},{name:"ResultSet",test:Wp},{name:"Help",test:jp},{name:"function",test:Yp},{name:"Date",test:Zp},{name:"RegExp",test:Gp},{name:"null",test:Kp},{name:"undefined",test:Hp},{name:"AccessorNode",test:Xp},{name:"ArrayNode",test:Jp},{name:"AssignmentNode",test:Qp},{name:"BlockNode",test:Vp},{name:"ConditionalNode",test:td},{name:"ConstantNode",test:ed},{name:"FunctionNode",test:nd},{name:"FunctionAssignmentNode",test:rd},{name:"IndexNode",test:id},{name:"Node",test:sd},{name:"ObjectNode",test:od},{name:"OperatorNode",test:ad},{name:"ParenthesisNode",test:ud},{name:"RangeNode",test:ld},{name:"RelationalNode",test:fd},{name:"SymbolNode",test:cd},{name:"Map",test:Ud},{name:"Object",test:oa}]),a.addConversions([{from:"number",to:"BigNumber",convert:function(f){if(e||_a(f),yd(f)>15)throw new TypeError("Cannot implicitly convert a number with >15 significant digits to BigNumber (value: "+f+"). Use function bignumber(x) to convert to BigNumber.");return new e(f)}},{from:"number",to:"Complex",convert:function(f){return r||Fs(f),new r(f,0)}},{from:"BigNumber",to:"Complex",convert:function(f){return r||Fs(f),new r(f.toNumber(),0)}},{from:"Fraction",to:"BigNumber",convert:function(f){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(f){return r||Fs(f),new r(f.valueOf(),0)}},{from:"number",to:"Fraction",convert:function(f){s||ma(f);var h=new s(f);if(h.valueOf()!==f)throw new TypeError("Cannot implicitly convert a number to a Fraction when there will be a loss of precision (value: "+f+"). Use function fraction(x) to convert to Fraction.");return h}},{from:"string",to:"number",convert:function(f){var h=Number(f);if(isNaN(h))throw new Error('Cannot convert "'+f+'" to a number');return h}},{from:"string",to:"BigNumber",convert:function(f){e||_a(f);try{return new e(f)}catch{throw new Error('Cannot convert "'+f+'" to BigNumber')}}},{from:"string",to:"Fraction",convert:function(f){s||ma(f);try{return new s(f)}catch{throw new Error('Cannot convert "'+f+'" to Fraction')}}},{from:"string",to:"Complex",convert:function(f){r||Fs(f);try{return new r(f)}catch{throw new Error('Cannot convert "'+f+'" to Complex')}}},{from:"boolean",to:"number",convert:function(f){return+f}},{from:"boolean",to:"BigNumber",convert:function(f){return e||_a(f),new e(+f)}},{from:"boolean",to:"Fraction",convert:function(f){return s||ma(f),new s(+f)}},{from:"boolean",to:"string",convert:function(f){return String(f)}},{from:"Array",to:"Matrix",convert:function(f){return n||Yd(),new n(f)}},{from:"Matrix",to:"Array",convert:function(f){return f.valueOf()}}]),a.onMismatch=(l,f,h)=>{var p=a.createError(l,f,h);if(["wrongType","mismatch"].includes(p.data.category)&&f.length===1&&Ui(f[0])&&h.some(d=>!d.params.includes(","))){var c=new TypeError("Function '".concat(l,"' doesn't apply to matrices. To call it ")+"elementwise on a matrix 'M', try 'map(M, ".concat(l,")'."));throw c.data=p.data,c}throw p},a.onMismatch=(l,f,h)=>{var p=a.createError(l,f,h);if(["wrongType","mismatch"].includes(p.data.category)&&f.length===1&&Ui(f[0])&&h.some(d=>!d.params.includes(","))){var c=new TypeError("Function '".concat(l,"' doesn't apply to matrices. To call it ")+"elementwise on a matrix 'M', try 'map(M, ".concat(l,")'."));throw c.data=p.data,c}throw p},a});function _a(i){throw new Error("Cannot convert value ".concat(i," into a BigNumber: no class 'BigNumber' provided"))}function Fs(i){throw new Error("Cannot convert value ".concat(i," into a Complex number: no class 'Complex' provided"))}function Yd(){throw new Error("Cannot convert array into a Matrix: no class 'DenseMatrix' provided")}function ma(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 li=9e15,gn=1e9,ma="0123456789abcdef",Fs="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",Ms="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",ga={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-li,maxE:li,crypto:!1},sf,Vr,St=!0,Ns="[DecimalError] ",vn=Ns+"Invalid argument: ",of=Ns+"Precision limit exceeded",af=Ns+"crypto unavailable",uf="[object Decimal]",Ue=Math.floor,Se=Math.pow,Yd=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,Zd=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,Gd=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,lf=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,Or=1e7,xt=7,Kd=9007199254740991,Hd=Fs.length-1,va=Ms.length-1,it={toStringTag:uf};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(vn+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,f=s.s,h=i.s;if(!a||!l)return!f||!h?NaN:f!==h?f:a===l?0:!a^f<0?1:-1;if(!a[0]||!l[0])return a[0]?f:l[0]?-h:0;if(f!==h)return f;if(s.e!==i.e)return s.e>i.e^f<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]^f<0?1:-1;return r===n?0:r>n^f<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=Jd(r,_f(r,e)),r.precision=i,r.rounding=t,Dt(Vr==2||Vr==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,f,h,p=this,c=p.constructor;if(!p.isFinite()||p.isZero())return new c(p);for(St=!1,s=p.s*Se(p.s*p,1/3),!s||Math.abs(s)==1/0?(e=Pe(p.d),i=p.e,(s=(i-e.length+1)%3)&&(e+=s==1||s==-2?"0":"00"),s=Se(e,1/3),i=Ue((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 c(e),r.s=p.s):r=new c(s.toString()),a=(i=c.precision)+3;;)if(l=r,f=l.times(l).times(l),h=f.plus(p),r=ae(h.plus(p).times(l),h.plus(f),a+2,1),Pe(l.d).slice(0,a)===(e=Pe(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,c.rounding,t)},it.decimalPlaces=it.dp=function(){var i,t=this.d,e=NaN;if(t){if(i=t.length-1,e=(i-Ue(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 ae(this,new this.constructor(i))},it.dividedToIntegerBy=it.divToInt=function(i){var t=this,e=t.constructor;return Dt(ae(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/Is(4,i)).toString()):(i=16,t="2.3283064365386962890625e-10"),s=fi(a,1,s.times(t),new a(1),!0);for(var f,h=i,p=new a(8);h--;)f=s.times(s),s=l.minus(f.times(p.minus(f.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=fi(s,2,n,n,!0);else{i=1.4*Math.sqrt(r),i=i>16?16:i|0,n=n.times(1/Is(5,i)),n=fi(s,2,n,n,!0);for(var a,l=new s(5),f=new s(16),h=new s(20);i--;)a=n.times(n),n=n.times(l.plus(a.times(f.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,ae(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()?$r(e,n,s):new e(0):new e(NaN):t.isZero()?$r(e,n+4,s).times(.5):(e.precision=n+6,e.rounding=1,t=t.asin(),i=$r(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=ae(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=$r(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,f,h=this,p=h.constructor,c=p.precision,d=p.rounding;if(h.isFinite()){if(h.isZero())return new p(h);if(h.abs().eq(1)&&c+4<=va)return a=$r(p,c+4,d).times(.25),a.s=h.s,a}else{if(!h.s)return new p(NaN);if(c+4<=va)return a=$r(p,c+4,d).times(.5),a.s=h.s,a}for(p.precision=l=c+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,f=h.times(h),a=new p(h),n=h;i!==-1;)if(n=n.times(f),s=a.minus(n.div(r+=2)),n=n.times(f),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=c,p.rounding=d,!0)},it.isFinite=function(){return!!this.d},it.isInteger=it.isInt=function(){return!!this.d&&Ue(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,f,h=this,p=h.constructor,c=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=c+g,a=yn(h,l),r=t?Ts(p,l+10):yn(i,l),f=ae(a,r,l,1),Wi(f.d,n=c,d))do if(l+=10,a=yn(h,l),r=t?Ts(p,l+10):yn(i,l),f=ae(a,r,l,1),!s){+Pe(f.d).slice(n+1,n+15)+1==1e14&&(f=Dt(f,c+1,0));break}while(Wi(f.d,n+=10,d));return St=!0,Dt(f,c,d)},it.minus=it.sub=function(i){var t,e,r,n,s,a,l,f,h,p,c,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,f=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(f===3?-0:0);return St?Dt(i,l,f):i}if(e=Ue(i.e/xt),p=Ue(g.e/xt),h=h.slice(),s=p-e,s){for(c=s<0,c?(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,c=r<a,c&&(a=r),r=0;r<a;r++)if(h[r]!=d[r]){c=h[r]<d[r];break}s=0}for(c&&(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]=Or-1;--h[n],h[r]+=Or}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=Bs(h,e),St?Dt(i,l,f):i):new w(f===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=ae(e,i.abs(),0,3,1),t.s*=i.s):t=ae(e,i,0,r.modulo,1),t=t.times(i),St=!0,e.minus(t))},it.naturalExponential=it.exp=function(){return wa(this)},it.naturalLogarithm=it.ln=function(){return yn(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,f,h,p,c=this,d=c.constructor;if(i=new d(i),!c.d||!i.d)return!c.s||!i.s?i=new d(NaN):c.d||(i=new d(i.d||c.s===i.s?c:NaN)),i;if(c.s!=i.s)return i.s=-i.s,c.minus(i);if(h=c.d,p=i.d,l=d.precision,f=d.rounding,!h[0]||!p[0])return p[0]||(i=new d(c)),St?Dt(i,l,f):i;if(s=Ue(c.e/xt),r=Ue(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)/Or|0,h[n]%=Or;for(t&&(h.unshift(t),++r),a=h.length;h[--a]==0;)h.pop();return i.d=h,i.e=Bs(h,r),St?Dt(i,l,f):i},it.precision=it.sd=function(i){var t,e=this;if(i!==void 0&&i!==!!i&&i!==1&&i!==0)throw Error(vn+i);return e.d?(t=ff(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=Vd(r,_f(r,e)),r.precision=i,r.rounding=t,Dt(Vr>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,f=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=Pe(l),(t.length+f)%2==0&&(t+="0"),h=Math.sqrt(t),f=Ue((f+1)/2)-(f<0||f%2),h==1/0?t="5e"+f:(t=h.toExponential(),t=t.slice(0,t.indexOf("e")+1)+f),r=new p(t)):r=new p(h.toString()),e=(f=p.precision)+3;;)if(s=r,r=s.plus(ae(a,s,e+2,1)).times(.5),Pe(s.d).slice(0,e)===(t=Pe(r.d)).slice(0,e))if(t=t.slice(e-3,e+1),t=="9999"||!n&&t=="4999"){if(!n&&(Dt(s,f+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,f+1,1),i=!r.times(r).eq(a));break}return St=!0,Dt(r,f,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=ae(e,new r(1).minus(e.times(e)).sqrt(),i+10,0),r.precision=i,r.rounding=t,Dt(Vr==2||Vr==4?e.neg():e,i,t,!0)):new r(NaN)},it.times=it.mul=function(i){var t,e,r,n,s,a,l,f,h,p=this,c=p.constructor,d=p.d,g=(i=new c(i)).d;if(i.s*=p.s,!d||!d[0]||!g||!g[0])return new c(!i.s||d&&!d[0]&&!g||g&&!g[0]&&!d?NaN:!d||!g?i.s/0:i.s*0);for(e=Ue(p.e/xt)+Ue(i.e/xt),f=d.length,h=g.length,f<h&&(s=d,d=g,g=s,a=f,f=h,h=a),s=[],a=f+h,r=a;r--;)s.push(0);for(r=h;--r>=0;){for(t=0,n=f+r;n>r;)l=s[n]+g[r]*d[n-r-1]+t,s[n--]=l%Or|0,t=l/Or|0;s[n]=(s[n]+t)%Or|0}for(;!s[--a];)s.pop();return t?++e:s.shift(),i.d=s,i.e=Bs(s,e),St?Dt(i,c.precision,c.rounding):i},it.toBinary=function(i,t){return Da(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:(Ve(i,0,gn),t===void 0?t=r.rounding:Ve(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=Zr(r,!0):(Ve(i,0,gn),t===void 0?t=n.rounding:Ve(t,0,8),r=Dt(new n(r),i+1,t),e=Zr(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=Zr(n):(Ve(i,0,gn),t===void 0?t=s.rounding:Ve(t,0,8),r=Dt(new s(n),i+n.e+1,t),e=Zr(r,!1,i+r.e+1)),n.isNeg()&&!n.isZero()?"-"+e:e},it.toFraction=function(i){var t,e,r,n,s,a,l,f,h,p,c,d,g=this,w=g.d,m=g.constructor;if(!w)return new m(g);if(h=e=new m(1),r=f=new m(0),t=new m(r),s=t.e=ff(w)-g.e-1,a=s%xt,t.d[0]=Se(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(vn+l);i=l.gt(t)?s>0?t:h:l}for(St=!1,l=new m(Pe(w)),p=m.precision,m.precision=s=w.length*xt*2;c=ae(l,t,0,1,1),n=e.plus(c.times(r)),n.cmp(i)!=1;)e=r,r=n,n=h,h=f.plus(c.times(n)),f=n,n=t,t=l.minus(c.times(n)),l=n;return n=ae(i.minus(e),r,0,1,1),f=f.plus(n.times(h)),e=e.plus(n.times(r)),f.s=h.s=g.s,d=ae(h,r,s,1).minus(g).abs().cmp(ae(f,e,s,1).minus(g).abs())<1?[h,r]:[f,e],m.precision=p,St=!0,d},it.toHexadecimal=it.toHex=function(i,t){return Da(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:Ve(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=ae(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 Da(this,8,i,t)},it.toPower=it.pow=function(i){var t,e,r,n,s,a,l=this,f=l.constructor,h=+(i=new f(i));if(!l.d||!i.d||!l.d[0]||!i.d[0])return new f(Se(+l,h));if(l=new f(l),l.eq(1))return l;if(r=f.precision,s=f.rounding,i.eq(1))return Dt(l,r,s);if(t=Ue(i.e/xt),t>=i.d.length-1&&(e=h<0?-h:h)<=Kd)return n=cf(f,l,e,r),i.s<0?new f(1).div(n):Dt(n,r,s);if(a=l.s,a<0){if(t<i.d.length-1)return new f(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=Se(+l,h),t=e==0||!isFinite(e)?Ue(h*(Math.log("0."+Pe(l.d))/Math.LN10+l.e+1)):new f(e+"").e,t>f.maxE+1||t<f.minE-1?new f(t>0?a/0:0):(St=!1,f.rounding=l.s=1,e=Math.min(12,(t+"").length),n=wa(i.times(yn(l,r+e)),r),n.d&&(n=Dt(n,r+5,1),Wi(n.d,r,s)&&(t=r+10,n=Dt(wa(i.times(yn(l,t+e)),t),t+5,1),+Pe(n.d).slice(r+1,r+15)+1==1e14&&(n=Dt(n,r+1,0)))),n.s=a,St=!0,f.rounding=s,Dt(n,r,s))},it.toPrecision=function(i,t){var e,r=this,n=r.constructor;return i===void 0?e=Zr(r,r.e<=n.toExpNeg||r.e>=n.toExpPos):(Ve(i,1,gn),t===void 0?t=n.rounding:Ve(t,0,8),r=Dt(new n(r),i,t),e=Zr(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):(Ve(i,1,gn),t===void 0?t=r.rounding:Ve(t,0,8)),Dt(new r(e),i,t)},it.toString=function(){var i=this,t=i.constructor,e=Zr(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=Zr(i,i.e<=t.toExpNeg||i.e>=t.toExpPos);return i.isNeg()?"-"+e:e};function Pe(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+=wn(e)),s+=r;a=i[t],r=a+"",e=xt-r.length,e&&(s+=wn(e))}else if(a===0)return"0";for(;a%10===0;)a/=10;return s+a}function Ve(i,t,e){if(i!==~~i||i<t||i>e)throw Error(vn+i)}function Wi(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=Se(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)==Se(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)==Se(10,t-3)-1,a}function Ss(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]+=ma.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 Jd(i,t){var e,r,n;if(t.isZero())return t;r=t.d.length,r<32?(e=Math.ceil(r/3),n=(1/Is(4,e)).toString()):(e=16,n="2.3283064365386962890625e-10"),i.precision+=e,t=fi(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 ae=function(){function i(r,n,s){var a,l=0,f=r.length;for(r=r.slice();f--;)a=r[f]*n+l,r[f]=a%s|0,l=a/s|0;return l&&r.unshift(l),r}function t(r,n,s,a){var l,f;if(s!=a)f=s>a?1:-1;else for(l=f=0;l<s;l++)if(r[l]!=n[l]){f=r[l]>n[l]?1:-1;break}return f}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,f){var h,p,c,d,g,w,m,D,v,E,b,N,x,F,M,S,O,C,T,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(f?(g=1,p=r.e-n.e):(f=Or,g=xt,p=Ue(r.e/g)-Ue(n.e/g)),T=P.length,O=W.length,v=new U(k),E=v.d=[],c=0;P[c]==(W[c]||0);c++);if(P[c]>(W[c]||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),w=!0;else{if(F=F/g+2|0,c=0,T==1){for(d=0,P=P[0],F++;(c<O||d)&&F--;c++)M=d*f+(W[c]||0),E[c]=M/P|0,d=M%P|0;w=d||c<O}else{for(d=f/(P[0]+1)|0,d>1&&(P=i(P,d,f),W=i(W,d,f),T=P.length,O=W.length),S=T,b=W.slice(0,T),N=b.length;N<T;)b[N++]=0;L=P.slice(),L.unshift(0),C=P[0],P[1]>=f/2&&++C;do d=0,h=t(P,b,T,N),h<0?(x=b[0],T!=N&&(x=x*f+(b[1]||0)),d=x/C|0,d>1?(d>=f&&(d=f-1),m=i(P,d,f),D=m.length,N=b.length,h=t(m,b,D,N),h==1&&(d--,e(m,T<D?L:P,D,f))):(d==0&&(h=d=1),m=P.slice()),D=m.length,D<N&&m.unshift(0),e(b,m,N,f),h==-1&&(N=b.length,h=t(P,b,T,N),h<1&&(d++,e(b,T<N?L:P,N,f))),N=b.length):h===0&&(d++,b=[0]),E[c++]=d,h&&b[0]?b[N++]=W[S]||0:(b=[W[S]],N=1);while((S++<O||b[0]!==void 0)&&F--);w=b[0]!==void 0}E[0]||E.shift()}if(g==1)v.e=p,sf=w;else{for(c=1,d=E[0];d>=10;d/=10)c++;v.e=c+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,f,h,p,c,d,g=i.constructor;t:if(t!=null){if(c=i.d,!c)return i;for(n=1,l=c[0];l>=10;l/=10)n++;if(s=t-n,s<0)s+=xt,a=t,p=c[d=0],f=p/Se(10,n-a-1)%10|0;else if(d=Math.ceil((s+1)/xt),l=c.length,d>=l)if(r){for(;l++<=d;)c.push(0);p=f=0,n=1,s%=xt,a=s-xt+1}else break t;else{for(p=l=c[d],n=1;l>=10;l/=10)n++;s%=xt,a=s-xt+n,f=a<0?0:p/Se(10,n-a-1)%10|0}if(r=r||t<0||c[d+1]!==void 0||(a<0?p:p%Se(10,n-a-1)),h=e<4?(f||r)&&(e==0||e==(i.s<0?3:2)):f>5||f==5&&(e==4||r||e==6&&(s>0?a>0?p/Se(10,n-a):0:c[d-1])%10&1||e==(i.s<0?8:7)),t<1||!c[0])return c.length=0,h?(t-=i.e+1,c[0]=Se(10,(xt-t%xt)%xt),i.e=-t||0):c[0]=i.e=0,i;if(s==0?(c.length=d,l=1,d--):(c.length=d+1,l=Se(10,xt-s),c[d]=a>0?(p/Se(10,n-a)%Se(10,a)|0)*l:0),h)for(;;)if(d==0){for(s=1,a=c[0];a>=10;a/=10)s++;for(a=c[0]+=l,l=1;a>=10;a/=10)l++;s!=l&&(i.e++,c[0]==Or&&(c[0]=1));break}else{if(c[d]+=l,c[d]!=Or)break;c[d--]=0,l=1}for(s=c.length;c[--s]===0;)c.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 Zr(i,t,e){if(!i.isFinite())return df(i);var r,n=i.e,s=Pe(i.d),a=s.length;return t?(e&&(r=e-a)>0?s=s.charAt(0)+"."+s.slice(1)+wn(r):a>1&&(s=s.charAt(0)+"."+s.slice(1)),s=s+(i.e<0?"e":"e+")+i.e):n<0?(s="0."+wn(-n-1)+s,e&&(r=e-a)>0&&(s+=wn(r))):n>=a?(s+=wn(n+1-a),e&&(r=e-n-1)>0&&(s=s+"."+wn(r))):((r=n+1)<a&&(s=s.slice(0,r)+"."+s.slice(r)),e&&(r=e-a)>0&&(n+1===a&&(s+="."),s+=wn(r))),s}function Bs(i,t){var e=i[0];for(t*=xt;e>=10;e/=10)t++;return t}function Ts(i,t,e){if(t>Hd)throw St=!0,e&&(i.precision=e),Error(of);return Dt(new i(Fs),t,1,!0)}function $r(i,t,e){if(t>va)throw Error(of);return Dt(new i(Ms),t,e,!0)}function ff(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 wn(i){for(var t="";i--;)t+="0";return t}function cf(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),mf(s.d,a)&&(n=!0)),e=Ue(e/2),e===0){e=s.d.length-1,n&&s.d[e]===0&&++s.d[e];break}t=t.times(t),mf(t.d,a)}return St=!0,s}function hf(i){return i.d[i.d.length-1]&1}function pf(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 wa(i,t){var e,r,n,s,a,l,f,h=0,p=0,c=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,f=w):f=t,l=new d(.03125);i.e>-2;)i=i.times(l),c+=5;for(r=Math.log(Se(2,c))/Math.LN10*2+5|0,f+=r,e=s=a=new d(1),d.precision=f;;){if(s=Dt(s.times(i),f,1),e=e.times(++p),l=a.plus(ae(s,e,f,1)),Pe(l.d).slice(0,f)===Pe(a.d).slice(0,f)){for(n=c;n--;)a=Dt(a.times(a),f,1);if(t==null)if(h<3&&Wi(a.d,f-r,g,h))d.precision=f+=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 yn(i,t){var e,r,n,s,a,l,f,h,p,c,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=Pe(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=Pe(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=Ts(v,p+2,b).times(s+""),m=yn(new v(r+"."+e.slice(1)),p-w).plus(h),v.precision=b,t==null?Dt(m,b,E,St=!0):m;for(c=m,f=a=m=ae(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=f.plus(ae(a,new v(n),p,1)),Pe(h.d).slice(0,p)===Pe(f.d).slice(0,p))if(f=f.times(2),s!==0&&(f=f.plus(Ts(v,p+2,b).times(s+""))),f=ae(f,new v(g),p,1),t==null)if(Wi(f.d,p-w,E,l))v.precision=p+=w,h=a=m=ae(c.minus(1),c.plus(1),p,1),d=Dt(m.times(m),p,1),n=l=1;else return Dt(f,v.precision=b,E,St=!0);else return v.precision=b,f;f=h,n+=2}}function df(i){return String(i.s*i.s/0)}function ya(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 Xd(i,t){var e,r,n,s,a,l,f,h,p;if(t.indexOf("_")>-1){if(t=t.replace(/(\d)_(?=\d)/g,"$1"),lf.test(t))return ya(i,t)}else if(t==="Infinity"||t==="NaN")return+t||(i.s=NaN),i.e=NaN,i.d=null,i;if(Zd.test(t))e=16,t=t.toLowerCase();else if(Yd.test(t))e=2;else if(Gd.test(t))e=8;else throw Error(vn+t);for(s=t.search(/p/i),s>0?(f=+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=cf(r,new r(e),s,s*2)),h=Ss(t,e,Or),p=h.length-1,s=p;h[s]===0;--s)h.pop();return s<0?new r(i.s*0):(i.e=Bs(h,p),i.d=h,St=!1,a&&(i=ae(i,n,l*4)),f&&(i=i.times(Math.abs(f)<54?Se(2,f):ci.pow(2,f))),St=!0,i)}function Vd(i,t){var e,r=t.d.length;if(r<3)return t.isZero()?t:fi(i,2,t,t);e=1.4*Math.sqrt(r),e=e>16?16:e|0,t=t.times(1/Is(5,e)),t=fi(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 fi(i,t,e,r,n){var s,a,l,f,h=i.precision,p=Math.ceil(h/xt);for(St=!1,f=e.times(e),l=new i(r);;){if(a=ae(l.times(f),new i(t++*t++),h,1),l=n?r.plus(a):r.minus(a),r=ae(a.times(f),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 Is(i,t){for(var e=i;--t;)e*=i;return e}function _f(i,t){var e,r=t.s<0,n=$r(i,i.precision,1),s=n.times(.5);if(t=t.abs(),t.lte(s))return Vr=r?4:1,t;if(e=t.divToInt(n),e.isZero())Vr=r?3:2;else{if(t=t.minus(e.times(n)),t.lte(s))return Vr=hf(e)?r?2:3:r?4:1,t;Vr=hf(e)?r?1:4:r?3:2}return t.minus(n).abs()}function Da(i,t,e,r){var n,s,a,l,f,h,p,c,d,g=i.constructor,w=e!==void 0;if(w?(Ve(e,1,gn),r===void 0?r=g.rounding:Ve(r,0,8)):(e=g.precision,r=g.rounding),!i.isFinite())p=df(i);else{for(p=Zr(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=Ss(Zr(d),10,n),d.e=d.d.length),c=Ss(p,10,n),s=f=c.length;c[--f]==0;)c.pop();if(!c[0])p=w?"0p+0":"0";else{if(a<0?s--:(i=new g(i),i.d=c,i.e=s,i=ae(i,d,e,r,0,n),c=i.d,s=i.e,h=sf),a=c[e],l=n/2,h=h||c[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&&c[e-1]&1||r===(i.s<0?8:7)),c.length=e,h)for(;++c[--e]>n-1;)c[e]=0,e||(++s,c.unshift(1));for(f=c.length;!c[f-1];--f);for(a=0,p="";a<f;a++)p+=ma.charAt(c[a]);if(w){if(f>1)if(t==16||t==8){for(a=t==16?4:3,--f;f%a;f++)p+="0";for(c=Ss(p,n,t),f=c.length;!c[f-1];--f);for(a=1,p="1.";a<f;a++)p+=ma.charAt(c[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>f)for(s-=f;s--;)p+="0";else s<f&&(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 mf(i,t){if(i.length>t)return i.length=t,!0}function Qd(i){return new this(i).abs()}function t_(i){return new this(i).acos()}function e_(i){return new this(i).acosh()}function r_(i,t){return new this(i).plus(t)}function n_(i){return new this(i).asin()}function i_(i){return new this(i).asinh()}function s_(i){return new this(i).atan()}function o_(i){return new this(i).atanh()}function a_(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=$r(this,s,1).times(t.s>0?.25:.75),e.s=i.s):!t.d||i.isZero()?(e=t.s<0?$r(this,r,n):new this(0),e.s=i.s):!i.d||t.isZero()?(e=$r(this,s,1).times(.5),e.s=i.s):t.s<0?(this.precision=s,this.rounding=1,e=this.atan(ae(i,t,s,1)),t=$r(this,s,1),this.precision=r,this.rounding=n,e=i.s<0?e.minus(t):e.plus(t)):e=this.atan(ae(i,t,s,1)),e}function u_(i){return new this(i).cbrt()}function l_(i){return Dt(i=new this(i),i.e+1,2)}function f_(i,t,e){return new this(i).clamp(t,e)}function c_(i){if(!i||typeof i!="object")throw Error(Ns+"Object expected");var t,e,r,n=i.defaults===!0,s=["precision",1,gn,"rounding",0,8,"toExpNeg",-li,0,"toExpPos",0,li,"maxE",0,li,"minE",-li,0,"modulo",0,9];for(t=0;t<s.length;t+=3)if(e=s[t],n&&(this[e]=ga[e]),(r=i[e])!==void 0)if(Ue(r)===r&&r>=s[t+1]&&r<=s[t+2])this[e]=r;else throw Error(vn+e+": "+r);if(e="crypto",n&&(this[e]=ga[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(af);else this[e]=!1;else throw Error(vn+e+": "+r);return this}function h_(i){return new this(i).cos()}function p_(i){return new this(i).cosh()}function gf(i){var t,e,r;function n(s){var a,l,f,h=this;if(!(h instanceof n))return new n(s);if(h.constructor=n,vf(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(f=typeof s,f==="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 ya(h,s.toString())}else if(f!=="string")throw Error(vn+s);return(l=s.charCodeAt(0))===45?(s=s.slice(1),h.s=-1):(l===43&&(s=s.slice(1)),h.s=1),lf.test(s)?ya(h,s):Xd(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=c_,n.clone=gf,n.isDecimal=vf,n.abs=Qd,n.acos=t_,n.acosh=e_,n.add=r_,n.asin=n_,n.asinh=i_,n.atan=s_,n.atanh=o_,n.atan2=a_,n.cbrt=u_,n.ceil=l_,n.clamp=f_,n.cos=h_,n.cosh=p_,n.div=d_,n.exp=__,n.floor=m_,n.hypot=g_,n.ln=v_,n.log=w_,n.log10=D_,n.log2=y_,n.max=b_,n.min=E_,n.mod=x_,n.mul=A_,n.pow=C_,n.random=F_,n.round=M_,n.sign=N_,n.sin=S_,n.sinh=B_,n.sqrt=T_,n.sub=I_,n.sum=O_,n.tan=$_,n.tanh=L_,n.trunc=R_,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 d_(i,t){return new this(i).div(t)}function __(i){return new this(i).exp()}function m_(i){return Dt(i=new this(i),i.e+1,3)}function g_(){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 vf(i){return i instanceof ci||i&&i.toStringTag===uf||!1}function v_(i){return new this(i).ln()}function w_(i,t){return new this(i).log(t)}function y_(i){return new this(i).log(2)}function D_(i){return new this(i).log(10)}function b_(){return pf(this,arguments,"lt")}function E_(){return pf(this,arguments,"gt")}function x_(i,t){return new this(i).mod(t)}function A_(i,t){return new this(i).mul(t)}function C_(i,t){return new this(i).pow(t)}function F_(i){var t,e,r,n,s=0,a=new this(1),l=[];if(i===void 0?i=this.precision:Ve(i,1,gn),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(af);else for(;s<r;)l[s++]=Math.random()*1e7|0;for(r=l[--s],i%=xt,r&&i&&(n=Se(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 M_(i){return Dt(i=new this(i),i.e+1,this.rounding)}function N_(i){return i=new this(i),i.d?i.d[0]?i.s:0*i.s:i.s||NaN}function S_(i){return new this(i).sin()}function B_(i){return new this(i).sinh()}function T_(i){return new this(i).sqrt()}function I_(i,t){return new this(i).sub(t)}function O_(){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 $_(i){return new this(i).tan()}function L_(i){return new this(i).tanh()}function R_(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 ci=it.constructor=gf(ga);Fs=new ci(Fs),Ms=new ci(Ms);var P_="BigNumber",z_=["?on","config"],q_=mt(P_,z_,i=>{var{on:t,config:e}=i,r=ci.clone({precision:e.precision,modulo:ci.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}),wf={exports:{}};/**
40
+ */var fi=9e15,vn=1e9,ga="0123456789abcdef",Ms="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",Ns="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",va={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-fi,maxE:fi,crypto:!1},of,Vr,St=!0,Ss="[DecimalError] ",wn=Ss+"Invalid argument: ",af=Ss+"Precision limit exceeded",uf=Ss+"crypto unavailable",lf="[object Decimal]",Ue=Math.floor,Se=Math.pow,Zd=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,Gd=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,Kd=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,ff=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,$r=1e7,xt=7,Hd=9007199254740991,Xd=Ms.length-1,wa=Ns.length-1,it={toStringTag:lf};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(wn+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,f=s.s,h=i.s;if(!a||!l)return!f||!h?NaN:f!==h?f:a===l?0:!a^f<0?1:-1;if(!a[0]||!l[0])return a[0]?f:l[0]?-h:0;if(f!==h)return f;if(s.e!==i.e)return s.e>i.e^f<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]^f<0?1:-1;return r===n?0:r>n^f<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=Jd(r,mf(r,e)),r.precision=i,r.rounding=t,Dt(Vr==2||Vr==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,f,h,p=this,c=p.constructor;if(!p.isFinite()||p.isZero())return new c(p);for(St=!1,s=p.s*Se(p.s*p,1/3),!s||Math.abs(s)==1/0?(e=Pe(p.d),i=p.e,(s=(i-e.length+1)%3)&&(e+=s==1||s==-2?"0":"00"),s=Se(e,1/3),i=Ue((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 c(e),r.s=p.s):r=new c(s.toString()),a=(i=c.precision)+3;;)if(l=r,f=l.times(l).times(l),h=f.plus(p),r=ae(h.plus(p).times(l),h.plus(f),a+2,1),Pe(l.d).slice(0,a)===(e=Pe(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,c.rounding,t)},it.decimalPlaces=it.dp=function(){var i,t=this.d,e=NaN;if(t){if(i=t.length-1,e=(i-Ue(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 ae(this,new this.constructor(i))},it.dividedToIntegerBy=it.divToInt=function(i){var t=this,e=t.constructor;return Dt(ae(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/Is(4,i)).toString()):(i=16,t="2.3283064365386962890625e-10"),s=ci(a,1,s.times(t),new a(1),!0);for(var f,h=i,p=new a(8);h--;)f=s.times(s),s=l.minus(f.times(p.minus(f.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=ci(s,2,n,n,!0);else{i=1.4*Math.sqrt(r),i=i>16?16:i|0,n=n.times(1/Is(5,i)),n=ci(s,2,n,n,!0);for(var a,l=new s(5),f=new s(16),h=new s(20);i--;)a=n.times(n),n=n.times(l.plus(a.times(f.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,ae(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()?Lr(e,n,s):new e(0):new e(NaN):t.isZero()?Lr(e,n+4,s).times(.5):(e.precision=n+6,e.rounding=1,t=t.asin(),i=Lr(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=ae(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=Lr(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,f,h=this,p=h.constructor,c=p.precision,d=p.rounding;if(h.isFinite()){if(h.isZero())return new p(h);if(h.abs().eq(1)&&c+4<=wa)return a=Lr(p,c+4,d).times(.25),a.s=h.s,a}else{if(!h.s)return new p(NaN);if(c+4<=wa)return a=Lr(p,c+4,d).times(.5),a.s=h.s,a}for(p.precision=l=c+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,f=h.times(h),a=new p(h),n=h;i!==-1;)if(n=n.times(f),s=a.minus(n.div(r+=2)),n=n.times(f),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=c,p.rounding=d,!0)},it.isFinite=function(){return!!this.d},it.isInteger=it.isInt=function(){return!!this.d&&Ue(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,f,h=this,p=h.constructor,c=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=c+g,a=Dn(h,l),r=t?Os(p,l+10):Dn(i,l),f=ae(a,r,l,1),ji(f.d,n=c,d))do if(l+=10,a=Dn(h,l),r=t?Os(p,l+10):Dn(i,l),f=ae(a,r,l,1),!s){+Pe(f.d).slice(n+1,n+15)+1==1e14&&(f=Dt(f,c+1,0));break}while(ji(f.d,n+=10,d));return St=!0,Dt(f,c,d)},it.minus=it.sub=function(i){var t,e,r,n,s,a,l,f,h,p,c,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,f=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(f===3?-0:0);return St?Dt(i,l,f):i}if(e=Ue(i.e/xt),p=Ue(g.e/xt),h=h.slice(),s=p-e,s){for(c=s<0,c?(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,c=r<a,c&&(a=r),r=0;r<a;r++)if(h[r]!=d[r]){c=h[r]<d[r];break}s=0}for(c&&(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]=$r-1;--h[n],h[r]+=$r}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=Ts(h,e),St?Dt(i,l,f):i):new w(f===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=ae(e,i.abs(),0,3,1),t.s*=i.s):t=ae(e,i,0,r.modulo,1),t=t.times(i),St=!0,e.minus(t))},it.naturalExponential=it.exp=function(){return ya(this)},it.naturalLogarithm=it.ln=function(){return Dn(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,f,h,p,c=this,d=c.constructor;if(i=new d(i),!c.d||!i.d)return!c.s||!i.s?i=new d(NaN):c.d||(i=new d(i.d||c.s===i.s?c:NaN)),i;if(c.s!=i.s)return i.s=-i.s,c.minus(i);if(h=c.d,p=i.d,l=d.precision,f=d.rounding,!h[0]||!p[0])return p[0]||(i=new d(c)),St?Dt(i,l,f):i;if(s=Ue(c.e/xt),r=Ue(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)/$r|0,h[n]%=$r;for(t&&(h.unshift(t),++r),a=h.length;h[--a]==0;)h.pop();return i.d=h,i.e=Ts(h,r),St?Dt(i,l,f):i},it.precision=it.sd=function(i){var t,e=this;if(i!==void 0&&i!==!!i&&i!==1&&i!==0)throw Error(wn+i);return e.d?(t=cf(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=Vd(r,mf(r,e)),r.precision=i,r.rounding=t,Dt(Vr>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,f=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=Pe(l),(t.length+f)%2==0&&(t+="0"),h=Math.sqrt(t),f=Ue((f+1)/2)-(f<0||f%2),h==1/0?t="5e"+f:(t=h.toExponential(),t=t.slice(0,t.indexOf("e")+1)+f),r=new p(t)):r=new p(h.toString()),e=(f=p.precision)+3;;)if(s=r,r=s.plus(ae(a,s,e+2,1)).times(.5),Pe(s.d).slice(0,e)===(t=Pe(r.d)).slice(0,e))if(t=t.slice(e-3,e+1),t=="9999"||!n&&t=="4999"){if(!n&&(Dt(s,f+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,f+1,1),i=!r.times(r).eq(a));break}return St=!0,Dt(r,f,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=ae(e,new r(1).minus(e.times(e)).sqrt(),i+10,0),r.precision=i,r.rounding=t,Dt(Vr==2||Vr==4?e.neg():e,i,t,!0)):new r(NaN)},it.times=it.mul=function(i){var t,e,r,n,s,a,l,f,h,p=this,c=p.constructor,d=p.d,g=(i=new c(i)).d;if(i.s*=p.s,!d||!d[0]||!g||!g[0])return new c(!i.s||d&&!d[0]&&!g||g&&!g[0]&&!d?NaN:!d||!g?i.s/0:i.s*0);for(e=Ue(p.e/xt)+Ue(i.e/xt),f=d.length,h=g.length,f<h&&(s=d,d=g,g=s,a=f,f=h,h=a),s=[],a=f+h,r=a;r--;)s.push(0);for(r=h;--r>=0;){for(t=0,n=f+r;n>r;)l=s[n]+g[r]*d[n-r-1]+t,s[n--]=l%$r|0,t=l/$r|0;s[n]=(s[n]+t)%$r|0}for(;!s[--a];)s.pop();return t?++e:s.shift(),i.d=s,i.e=Ts(s,e),St?Dt(i,c.precision,c.rounding):i},it.toBinary=function(i,t){return ba(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:(Ve(i,0,vn),t===void 0?t=r.rounding:Ve(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=Gr(r,!0):(Ve(i,0,vn),t===void 0?t=n.rounding:Ve(t,0,8),r=Dt(new n(r),i+1,t),e=Gr(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=Gr(n):(Ve(i,0,vn),t===void 0?t=s.rounding:Ve(t,0,8),r=Dt(new s(n),i+n.e+1,t),e=Gr(r,!1,i+r.e+1)),n.isNeg()&&!n.isZero()?"-"+e:e},it.toFraction=function(i){var t,e,r,n,s,a,l,f,h,p,c,d,g=this,w=g.d,m=g.constructor;if(!w)return new m(g);if(h=e=new m(1),r=f=new m(0),t=new m(r),s=t.e=cf(w)-g.e-1,a=s%xt,t.d[0]=Se(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(wn+l);i=l.gt(t)?s>0?t:h:l}for(St=!1,l=new m(Pe(w)),p=m.precision,m.precision=s=w.length*xt*2;c=ae(l,t,0,1,1),n=e.plus(c.times(r)),n.cmp(i)!=1;)e=r,r=n,n=h,h=f.plus(c.times(n)),f=n,n=t,t=l.minus(c.times(n)),l=n;return n=ae(i.minus(e),r,0,1,1),f=f.plus(n.times(h)),e=e.plus(n.times(r)),f.s=h.s=g.s,d=ae(h,r,s,1).minus(g).abs().cmp(ae(f,e,s,1).minus(g).abs())<1?[h,r]:[f,e],m.precision=p,St=!0,d},it.toHexadecimal=it.toHex=function(i,t){return ba(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:Ve(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=ae(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 ba(this,8,i,t)},it.toPower=it.pow=function(i){var t,e,r,n,s,a,l=this,f=l.constructor,h=+(i=new f(i));if(!l.d||!i.d||!l.d[0]||!i.d[0])return new f(Se(+l,h));if(l=new f(l),l.eq(1))return l;if(r=f.precision,s=f.rounding,i.eq(1))return Dt(l,r,s);if(t=Ue(i.e/xt),t>=i.d.length-1&&(e=h<0?-h:h)<=Hd)return n=hf(f,l,e,r),i.s<0?new f(1).div(n):Dt(n,r,s);if(a=l.s,a<0){if(t<i.d.length-1)return new f(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=Se(+l,h),t=e==0||!isFinite(e)?Ue(h*(Math.log("0."+Pe(l.d))/Math.LN10+l.e+1)):new f(e+"").e,t>f.maxE+1||t<f.minE-1?new f(t>0?a/0:0):(St=!1,f.rounding=l.s=1,e=Math.min(12,(t+"").length),n=ya(i.times(Dn(l,r+e)),r),n.d&&(n=Dt(n,r+5,1),ji(n.d,r,s)&&(t=r+10,n=Dt(ya(i.times(Dn(l,t+e)),t),t+5,1),+Pe(n.d).slice(r+1,r+15)+1==1e14&&(n=Dt(n,r+1,0)))),n.s=a,St=!0,f.rounding=s,Dt(n,r,s))},it.toPrecision=function(i,t){var e,r=this,n=r.constructor;return i===void 0?e=Gr(r,r.e<=n.toExpNeg||r.e>=n.toExpPos):(Ve(i,1,vn),t===void 0?t=n.rounding:Ve(t,0,8),r=Dt(new n(r),i,t),e=Gr(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):(Ve(i,1,vn),t===void 0?t=r.rounding:Ve(t,0,8)),Dt(new r(e),i,t)},it.toString=function(){var i=this,t=i.constructor,e=Gr(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=Gr(i,i.e<=t.toExpNeg||i.e>=t.toExpPos);return i.isNeg()?"-"+e:e};function Pe(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+=yn(e)),s+=r;a=i[t],r=a+"",e=xt-r.length,e&&(s+=yn(e))}else if(a===0)return"0";for(;a%10===0;)a/=10;return s+a}function Ve(i,t,e){if(i!==~~i||i<t||i>e)throw Error(wn+i)}function ji(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=Se(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)==Se(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)==Se(10,t-3)-1,a}function Bs(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]+=ga.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 Jd(i,t){var e,r,n;if(t.isZero())return t;r=t.d.length,r<32?(e=Math.ceil(r/3),n=(1/Is(4,e)).toString()):(e=16,n="2.3283064365386962890625e-10"),i.precision+=e,t=ci(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 ae=function(){function i(r,n,s){var a,l=0,f=r.length;for(r=r.slice();f--;)a=r[f]*n+l,r[f]=a%s|0,l=a/s|0;return l&&r.unshift(l),r}function t(r,n,s,a){var l,f;if(s!=a)f=s>a?1:-1;else for(l=f=0;l<s;l++)if(r[l]!=n[l]){f=r[l]>n[l]?1:-1;break}return f}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,f){var h,p,c,d,g,w,m,D,v,E,b,N,x,F,M,S,I,C,T,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(f?(g=1,p=r.e-n.e):(f=$r,g=xt,p=Ue(r.e/g)-Ue(n.e/g)),T=P.length,I=W.length,v=new U(k),E=v.d=[],c=0;P[c]==(W[c]||0);c++);if(P[c]>(W[c]||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),w=!0;else{if(F=F/g+2|0,c=0,T==1){for(d=0,P=P[0],F++;(c<I||d)&&F--;c++)M=d*f+(W[c]||0),E[c]=M/P|0,d=M%P|0;w=d||c<I}else{for(d=f/(P[0]+1)|0,d>1&&(P=i(P,d,f),W=i(W,d,f),T=P.length,I=W.length),S=T,b=W.slice(0,T),N=b.length;N<T;)b[N++]=0;L=P.slice(),L.unshift(0),C=P[0],P[1]>=f/2&&++C;do d=0,h=t(P,b,T,N),h<0?(x=b[0],T!=N&&(x=x*f+(b[1]||0)),d=x/C|0,d>1?(d>=f&&(d=f-1),m=i(P,d,f),D=m.length,N=b.length,h=t(m,b,D,N),h==1&&(d--,e(m,T<D?L:P,D,f))):(d==0&&(h=d=1),m=P.slice()),D=m.length,D<N&&m.unshift(0),e(b,m,N,f),h==-1&&(N=b.length,h=t(P,b,T,N),h<1&&(d++,e(b,T<N?L:P,N,f))),N=b.length):h===0&&(d++,b=[0]),E[c++]=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,of=w;else{for(c=1,d=E[0];d>=10;d/=10)c++;v.e=c+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,f,h,p,c,d,g=i.constructor;t:if(t!=null){if(c=i.d,!c)return i;for(n=1,l=c[0];l>=10;l/=10)n++;if(s=t-n,s<0)s+=xt,a=t,p=c[d=0],f=p/Se(10,n-a-1)%10|0;else if(d=Math.ceil((s+1)/xt),l=c.length,d>=l)if(r){for(;l++<=d;)c.push(0);p=f=0,n=1,s%=xt,a=s-xt+1}else break t;else{for(p=l=c[d],n=1;l>=10;l/=10)n++;s%=xt,a=s-xt+n,f=a<0?0:p/Se(10,n-a-1)%10|0}if(r=r||t<0||c[d+1]!==void 0||(a<0?p:p%Se(10,n-a-1)),h=e<4?(f||r)&&(e==0||e==(i.s<0?3:2)):f>5||f==5&&(e==4||r||e==6&&(s>0?a>0?p/Se(10,n-a):0:c[d-1])%10&1||e==(i.s<0?8:7)),t<1||!c[0])return c.length=0,h?(t-=i.e+1,c[0]=Se(10,(xt-t%xt)%xt),i.e=-t||0):c[0]=i.e=0,i;if(s==0?(c.length=d,l=1,d--):(c.length=d+1,l=Se(10,xt-s),c[d]=a>0?(p/Se(10,n-a)%Se(10,a)|0)*l:0),h)for(;;)if(d==0){for(s=1,a=c[0];a>=10;a/=10)s++;for(a=c[0]+=l,l=1;a>=10;a/=10)l++;s!=l&&(i.e++,c[0]==$r&&(c[0]=1));break}else{if(c[d]+=l,c[d]!=$r)break;c[d--]=0,l=1}for(s=c.length;c[--s]===0;)c.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 Gr(i,t,e){if(!i.isFinite())return _f(i);var r,n=i.e,s=Pe(i.d),a=s.length;return t?(e&&(r=e-a)>0?s=s.charAt(0)+"."+s.slice(1)+yn(r):a>1&&(s=s.charAt(0)+"."+s.slice(1)),s=s+(i.e<0?"e":"e+")+i.e):n<0?(s="0."+yn(-n-1)+s,e&&(r=e-a)>0&&(s+=yn(r))):n>=a?(s+=yn(n+1-a),e&&(r=e-n-1)>0&&(s=s+"."+yn(r))):((r=n+1)<a&&(s=s.slice(0,r)+"."+s.slice(r)),e&&(r=e-a)>0&&(n+1===a&&(s+="."),s+=yn(r))),s}function Ts(i,t){var e=i[0];for(t*=xt;e>=10;e/=10)t++;return t}function Os(i,t,e){if(t>Xd)throw St=!0,e&&(i.precision=e),Error(af);return Dt(new i(Ms),t,1,!0)}function Lr(i,t,e){if(t>wa)throw Error(af);return Dt(new i(Ns),t,e,!0)}function cf(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 yn(i){for(var t="";i--;)t+="0";return t}function hf(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),gf(s.d,a)&&(n=!0)),e=Ue(e/2),e===0){e=s.d.length-1,n&&s.d[e]===0&&++s.d[e];break}t=t.times(t),gf(t.d,a)}return St=!0,s}function pf(i){return i.d[i.d.length-1]&1}function df(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 ya(i,t){var e,r,n,s,a,l,f,h=0,p=0,c=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,f=w):f=t,l=new d(.03125);i.e>-2;)i=i.times(l),c+=5;for(r=Math.log(Se(2,c))/Math.LN10*2+5|0,f+=r,e=s=a=new d(1),d.precision=f;;){if(s=Dt(s.times(i),f,1),e=e.times(++p),l=a.plus(ae(s,e,f,1)),Pe(l.d).slice(0,f)===Pe(a.d).slice(0,f)){for(n=c;n--;)a=Dt(a.times(a),f,1);if(t==null)if(h<3&&ji(a.d,f-r,g,h))d.precision=f+=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 Dn(i,t){var e,r,n,s,a,l,f,h,p,c,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=Pe(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=Pe(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=Os(v,p+2,b).times(s+""),m=Dn(new v(r+"."+e.slice(1)),p-w).plus(h),v.precision=b,t==null?Dt(m,b,E,St=!0):m;for(c=m,f=a=m=ae(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=f.plus(ae(a,new v(n),p,1)),Pe(h.d).slice(0,p)===Pe(f.d).slice(0,p))if(f=f.times(2),s!==0&&(f=f.plus(Os(v,p+2,b).times(s+""))),f=ae(f,new v(g),p,1),t==null)if(ji(f.d,p-w,E,l))v.precision=p+=w,h=a=m=ae(c.minus(1),c.plus(1),p,1),d=Dt(m.times(m),p,1),n=l=1;else return Dt(f,v.precision=b,E,St=!0);else return v.precision=b,f;f=h,n+=2}}function _f(i){return String(i.s*i.s/0)}function Da(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 Qd(i,t){var e,r,n,s,a,l,f,h,p;if(t.indexOf("_")>-1){if(t=t.replace(/(\d)_(?=\d)/g,"$1"),ff.test(t))return Da(i,t)}else if(t==="Infinity"||t==="NaN")return+t||(i.s=NaN),i.e=NaN,i.d=null,i;if(Gd.test(t))e=16,t=t.toLowerCase();else if(Zd.test(t))e=2;else if(Kd.test(t))e=8;else throw Error(wn+t);for(s=t.search(/p/i),s>0?(f=+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=hf(r,new r(e),s,s*2)),h=Bs(t,e,$r),p=h.length-1,s=p;h[s]===0;--s)h.pop();return s<0?new r(i.s*0):(i.e=Ts(h,p),i.d=h,St=!1,a&&(i=ae(i,n,l*4)),f&&(i=i.times(Math.abs(f)<54?Se(2,f):hi.pow(2,f))),St=!0,i)}function Vd(i,t){var e,r=t.d.length;if(r<3)return t.isZero()?t:ci(i,2,t,t);e=1.4*Math.sqrt(r),e=e>16?16:e|0,t=t.times(1/Is(5,e)),t=ci(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 ci(i,t,e,r,n){var s,a,l,f,h=i.precision,p=Math.ceil(h/xt);for(St=!1,f=e.times(e),l=new i(r);;){if(a=ae(l.times(f),new i(t++*t++),h,1),l=n?r.plus(a):r.minus(a),r=ae(a.times(f),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 Is(i,t){for(var e=i;--t;)e*=i;return e}function mf(i,t){var e,r=t.s<0,n=Lr(i,i.precision,1),s=n.times(.5);if(t=t.abs(),t.lte(s))return Vr=r?4:1,t;if(e=t.divToInt(n),e.isZero())Vr=r?3:2;else{if(t=t.minus(e.times(n)),t.lte(s))return Vr=pf(e)?r?2:3:r?4:1,t;Vr=pf(e)?r?1:4:r?3:2}return t.minus(n).abs()}function ba(i,t,e,r){var n,s,a,l,f,h,p,c,d,g=i.constructor,w=e!==void 0;if(w?(Ve(e,1,vn),r===void 0?r=g.rounding:Ve(r,0,8)):(e=g.precision,r=g.rounding),!i.isFinite())p=_f(i);else{for(p=Gr(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=Bs(Gr(d),10,n),d.e=d.d.length),c=Bs(p,10,n),s=f=c.length;c[--f]==0;)c.pop();if(!c[0])p=w?"0p+0":"0";else{if(a<0?s--:(i=new g(i),i.d=c,i.e=s,i=ae(i,d,e,r,0,n),c=i.d,s=i.e,h=of),a=c[e],l=n/2,h=h||c[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&&c[e-1]&1||r===(i.s<0?8:7)),c.length=e,h)for(;++c[--e]>n-1;)c[e]=0,e||(++s,c.unshift(1));for(f=c.length;!c[f-1];--f);for(a=0,p="";a<f;a++)p+=ga.charAt(c[a]);if(w){if(f>1)if(t==16||t==8){for(a=t==16?4:3,--f;f%a;f++)p+="0";for(c=Bs(p,n,t),f=c.length;!c[f-1];--f);for(a=1,p="1.";a<f;a++)p+=ga.charAt(c[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>f)for(s-=f;s--;)p+="0";else s<f&&(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 gf(i,t){if(i.length>t)return i.length=t,!0}function t_(i){return new this(i).abs()}function e_(i){return new this(i).acos()}function r_(i){return new this(i).acosh()}function n_(i,t){return new this(i).plus(t)}function i_(i){return new this(i).asin()}function s_(i){return new this(i).asinh()}function o_(i){return new this(i).atan()}function a_(i){return new this(i).atanh()}function u_(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=Lr(this,s,1).times(t.s>0?.25:.75),e.s=i.s):!t.d||i.isZero()?(e=t.s<0?Lr(this,r,n):new this(0),e.s=i.s):!i.d||t.isZero()?(e=Lr(this,s,1).times(.5),e.s=i.s):t.s<0?(this.precision=s,this.rounding=1,e=this.atan(ae(i,t,s,1)),t=Lr(this,s,1),this.precision=r,this.rounding=n,e=i.s<0?e.minus(t):e.plus(t)):e=this.atan(ae(i,t,s,1)),e}function l_(i){return new this(i).cbrt()}function f_(i){return Dt(i=new this(i),i.e+1,2)}function c_(i,t,e){return new this(i).clamp(t,e)}function h_(i){if(!i||typeof i!="object")throw Error(Ss+"Object expected");var t,e,r,n=i.defaults===!0,s=["precision",1,vn,"rounding",0,8,"toExpNeg",-fi,0,"toExpPos",0,fi,"maxE",0,fi,"minE",-fi,0,"modulo",0,9];for(t=0;t<s.length;t+=3)if(e=s[t],n&&(this[e]=va[e]),(r=i[e])!==void 0)if(Ue(r)===r&&r>=s[t+1]&&r<=s[t+2])this[e]=r;else throw Error(wn+e+": "+r);if(e="crypto",n&&(this[e]=va[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(uf);else this[e]=!1;else throw Error(wn+e+": "+r);return this}function p_(i){return new this(i).cos()}function d_(i){return new this(i).cosh()}function vf(i){var t,e,r;function n(s){var a,l,f,h=this;if(!(h instanceof n))return new n(s);if(h.constructor=n,wf(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(f=typeof s,f==="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 Da(h,s.toString())}else if(f!=="string")throw Error(wn+s);return(l=s.charCodeAt(0))===45?(s=s.slice(1),h.s=-1):(l===43&&(s=s.slice(1)),h.s=1),ff.test(s)?Da(h,s):Qd(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=h_,n.clone=vf,n.isDecimal=wf,n.abs=t_,n.acos=e_,n.acosh=r_,n.add=n_,n.asin=i_,n.asinh=s_,n.atan=o_,n.atanh=a_,n.atan2=u_,n.cbrt=l_,n.ceil=f_,n.clamp=c_,n.cos=p_,n.cosh=d_,n.div=__,n.exp=m_,n.floor=g_,n.hypot=v_,n.ln=w_,n.log=y_,n.log10=b_,n.log2=D_,n.max=E_,n.min=x_,n.mod=A_,n.mul=C_,n.pow=F_,n.random=M_,n.round=N_,n.sign=S_,n.sin=B_,n.sinh=T_,n.sqrt=O_,n.sub=I_,n.sum=$_,n.tan=L_,n.tanh=R_,n.trunc=P_,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 __(i,t){return new this(i).div(t)}function m_(i){return new this(i).exp()}function g_(i){return Dt(i=new this(i),i.e+1,3)}function v_(){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 wf(i){return i instanceof hi||i&&i.toStringTag===lf||!1}function w_(i){return new this(i).ln()}function y_(i,t){return new this(i).log(t)}function D_(i){return new this(i).log(2)}function b_(i){return new this(i).log(10)}function E_(){return df(this,arguments,"lt")}function x_(){return df(this,arguments,"gt")}function A_(i,t){return new this(i).mod(t)}function C_(i,t){return new this(i).mul(t)}function F_(i,t){return new this(i).pow(t)}function M_(i){var t,e,r,n,s=0,a=new this(1),l=[];if(i===void 0?i=this.precision:Ve(i,1,vn),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(uf);else for(;s<r;)l[s++]=Math.random()*1e7|0;for(r=l[--s],i%=xt,r&&i&&(n=Se(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 N_(i){return Dt(i=new this(i),i.e+1,this.rounding)}function S_(i){return i=new this(i),i.d?i.d[0]?i.s:0*i.s:i.s||NaN}function B_(i){return new this(i).sin()}function T_(i){return new this(i).sinh()}function O_(i){return new this(i).sqrt()}function I_(i,t){return new this(i).sub(t)}function $_(){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 L_(i){return new this(i).tan()}function R_(i){return new this(i).tanh()}function P_(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 hi=it.constructor=vf(va);Ms=new hi(Ms),Ns=new hi(Ns);var z_="BigNumber",q_=["?on","config"],k_=mt(z_,q_,i=>{var{on:t,config:e}=i,r=hi.clone({precision:e.precision,modulo:hi.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}),yf={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
45
  **/(function(i,t){(function(e){var r=Math.cosh||function(c){return Math.abs(c)<1e-9?1-c:(Math.exp(c)+Math.exp(-c))*.5},n=Math.sinh||function(c){return Math.abs(c)<1e-9?c:(Math.exp(c)-Math.exp(-c))*.5},s=function(c){var d=Math.PI/4;if(-d>c||c>d)return Math.cos(c)-1;var g=c*c;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(c,d){var g=Math.abs(c),w=Math.abs(d);return g<3e3&&w<3e3?Math.sqrt(g*g+w*w):(g<w?(g=w,w=c/d):w=d/c,g*Math.sqrt(1+w*w))},l=function(){throw SyntaxError("Invalid Param")};function f(c,d){var g=Math.abs(c),w=Math.abs(d);return c===0?Math.log(w):d===0?Math.log(g):g<3e3&&w<3e3?Math.log(c*c+d*d)*.5:(c=c/2,d=d/2,.5*Math.log(c*c+d*d)+Math.LN2)}var h=function(c,d){var g={re:0,im:0};if(c==null)g.re=g.im=0;else if(d!==void 0)g.re=c,g.im=d;else switch(typeof c){case"object":if("im"in c&&"re"in c)g.re=c.re,g.im=c.im;else if("abs"in c&&"arg"in c){if(!Number.isFinite(c.abs)&&Number.isFinite(c.arg))return p.INFINITY;g.re=c.abs*Math.cos(c.arg),g.im=c.abs*Math.sin(c.arg)}else if("r"in c&&"phi"in c){if(!Number.isFinite(c.r)&&Number.isFinite(c.phi))return p.INFINITY;g.re=c.r*Math.cos(c.phi),g.im=c.r*Math.sin(c.phi)}else c.length===2?(g.re=c[0],g.im=c[1]):l();break;case"string":g.im=g.re=0;var w=c.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=c;break;default:l()}return isNaN(g.re)||isNaN(g.im),g};function p(c,d){if(!(this instanceof p))return new p(c,d);var g=h(c,d);this.re=g.re,this.im=g.im}p.prototype={re:0,im:0,sign:function(){var c=this.abs();return new p(this.re/c,this.im/c)},add:function(c,d){var g=new p(c,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(c,d){var g=new p(c,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(c,d){var g=new p(c,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(c,d){var g=new p(c,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;c=this.re,d=this.im;var w=g.re,m=g.im,D,v;return m===0?new p(c/w,d/w):Math.abs(w)<Math.abs(m)?(v=w/m,D=w*v+m,new p((c*v+d)/D,(d*v-c)/D)):(v=m/w,D=m*v+w,new p((c+d*v)/D,(d-c*v)/D))},pow:function(c,d){var g=new p(c,d);if(c=this.re,d=this.im,g.isZero())return p.ONE;if(g.im===0){if(d===0&&c>0)return new p(Math.pow(c,g.re),0);if(c===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(c===0&&d===0&&g.re>0&&g.im>=0)return p.ZERO;var w=Math.atan2(d,c),m=f(c,d);return c=Math.exp(g.re*m-g.im*w),d=g.im*m+g.re*w,new p(c*Math.cos(d),c*Math.sin(d))},sqrt:function(){var c=this.re,d=this.im,g=this.abs(),w,m;if(c>=0){if(d===0)return new p(Math.sqrt(c),0);w=.5*Math.sqrt(2*(g+c))}else w=Math.abs(d)/Math.sqrt(2*(g-c));return c<=0?m=.5*Math.sqrt(2*(g-c)):m=Math.abs(d)/Math.sqrt(2*(g+c)),new p(w,d<0?-m:m)},exp:function(){var c=Math.exp(this.re);return this.im,new p(c*Math.cos(this.im),c*Math.sin(this.im))},expm1:function(){var c=this.re,d=this.im;return new p(Math.expm1(c)*Math.cos(d)+s(d),Math.exp(c)*Math.sin(d))},log:function(){var c=this.re,d=this.im;return new p(f(c,d),Math.atan2(d,c))},abs:function(){return a(this.re,this.im)},arg:function(){return Math.atan2(this.im,this.re)},sin:function(){var c=this.re,d=this.im;return new p(Math.sin(c)*r(d),Math.cos(c)*n(d))},cos:function(){var c=this.re,d=this.im;return new p(Math.cos(c)*r(d),-Math.sin(c)*n(d))},tan:function(){var c=2*this.re,d=2*this.im,g=Math.cos(c)+r(d);return new p(Math.sin(c)/g,n(d)/g)},cot:function(){var c=2*this.re,d=2*this.im,g=Math.cos(c)-r(d);return new p(-Math.sin(c)/g,n(d)/g)},sec:function(){var c=this.re,d=this.im,g=.5*r(2*d)+.5*Math.cos(2*c);return new p(Math.cos(c)*r(d)/g,Math.sin(c)*n(d)/g)},csc:function(){var c=this.re,d=this.im,g=.5*r(2*d)-.5*Math.cos(2*c);return new p(Math.sin(c)*r(d)/g,-Math.cos(c)*n(d)/g)},asin:function(){var c=this.re,d=this.im,g=new p(d*d-c*c+1,-2*c*d).sqrt(),w=new p(g.re-d,g.im+c).log();return new p(w.im,-w.re)},acos:function(){var c=this.re,d=this.im,g=new p(d*d-c*c+1,-2*c*d).sqrt(),w=new p(g.re-d,g.im+c).log();return new p(Math.PI/2-w.im,w.re)},atan:function(){var c=this.re,d=this.im;if(c===0){if(d===1)return new p(0,1/0);if(d===-1)return new p(0,-1/0)}var g=c*c+(1-d)*(1-d),w=new p((1-d*d-c*c)/g,-2*c/g).log();return new p(-.5*w.im,.5*w.re)},acot:function(){var c=this.re,d=this.im;if(d===0)return new p(Math.atan2(1,c),0);var g=c*c+d*d;return g!==0?new p(c/g,-d/g).atan():new p(c!==0?c/0:0,d!==0?-d/0:0).atan()},asec:function(){var c=this.re,d=this.im;if(c===0&&d===0)return new p(0,1/0);var g=c*c+d*d;return g!==0?new p(c/g,-d/g).acos():new p(c!==0?c/0:0,d!==0?-d/0:0).acos()},acsc:function(){var c=this.re,d=this.im;if(c===0&&d===0)return new p(Math.PI/2,1/0);var g=c*c+d*d;return g!==0?new p(c/g,-d/g).asin():new p(c!==0?c/0:0,d!==0?-d/0:0).asin()},sinh:function(){var c=this.re,d=this.im;return new p(n(c)*Math.cos(d),r(c)*Math.sin(d))},cosh:function(){var c=this.re,d=this.im;return new p(r(c)*Math.cos(d),n(c)*Math.sin(d))},tanh:function(){var c=2*this.re,d=2*this.im,g=r(c)+Math.cos(d);return new p(n(c)/g,Math.sin(d)/g)},coth:function(){var c=2*this.re,d=2*this.im,g=r(c)-Math.cos(d);return new p(n(c)/g,-Math.sin(d)/g)},csch:function(){var c=this.re,d=this.im,g=Math.cos(2*d)-r(2*c);return new p(-2*n(c)*Math.cos(d)/g,2*r(c)*Math.sin(d)/g)},sech:function(){var c=this.re,d=this.im,g=Math.cos(2*d)+r(2*c);return new p(2*r(c)*Math.cos(d)/g,-2*n(c)*Math.sin(d)/g)},asinh:function(){var c=this.im;this.im=-this.re,this.re=c;var d=this.asin();return this.re=-this.im,this.im=c,c=d.re,d.re=-d.im,d.im=c,d},acosh:function(){var c=this.acos();if(c.im<=0){var d=c.re;c.re=-c.im,c.im=d}else{var d=c.im;c.im=-c.re,c.re=d}return c},atanh:function(){var c=this.re,d=this.im,g=c>1&&d===0,w=1-c,m=1+c,D=w*w+d*d,v=D!==0?new p((m*w-d*d)/D,(d*w+m*d)/D):new p(c!==-1?c/0:0,d!==0?d/0:0),E=v.re;return v.re=f(v.re,v.im)/2,v.im=Math.atan2(v.im,E)/2,g&&(v.im=-v.im),v},acoth:function(){var c=this.re,d=this.im;if(c===0&&d===0)return new p(0,Math.PI/2);var g=c*c+d*d;return g!==0?new p(c/g,-d/g).atanh():new p(c!==0?c/0:0,d!==0?-d/0:0).atanh()},acsch:function(){var c=this.re,d=this.im;if(d===0)return new p(c!==0?Math.log(c+Math.sqrt(c*c+1)):1/0,0);var g=c*c+d*d;return g!==0?new p(c/g,-d/g).asinh():new p(c!==0?c/0:0,d!==0?-d/0:0).asinh()},asech:function(){var c=this.re,d=this.im;if(this.isZero())return p.INFINITY;var g=c*c+d*d;return g!==0?new p(c/g,-d/g).acosh():new p(c!==0?c/0:0,d!==0?-d/0:0).acosh()},inverse:function(){if(this.isZero())return p.INFINITY;if(this.isInfinite())return p.ZERO;var c=this.re,d=this.im,g=c*c+d*d;return new p(c/g,-d/g)},conjugate:function(){return new p(this.re,-this.im)},neg:function(){return new p(-this.re,-this.im)},ceil:function(c){return c=Math.pow(10,c||0),new p(Math.ceil(this.re*c)/c,Math.ceil(this.im*c)/c)},floor:function(c){return c=Math.pow(10,c||0),new p(Math.floor(this.re*c)/c,Math.floor(this.im*c)/c)},round:function(c){return c=Math.pow(10,c||0),new p(Math.round(this.re*c)/c,Math.round(this.im*c)/c)},equals:function(c,d){var g=new p(c,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 c=this.re,d=this.im,g="";return this.isNaN()?"NaN":this.isInfinite()?"Infinity":(Math.abs(c)<p.EPSILON&&(c=0),Math.abs(d)<p.EPSILON&&(d=0),d===0?g+c:(c!==0?(g+=c,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})()})(wf);var k_=wf.exports,ze=Zt(k_),U_="Complex",W_=[],j_=mt(U_,W_,()=>(Object.defineProperty(ze,"name",{value:"Complex"}),ze.prototype.constructor=ze,ze.prototype.type="Complex",ze.prototype.isComplex=!0,ze.prototype.toJSON=function(){return{mathjs:"Complex",re:this.re,im:this.im}},ze.prototype.toPolar=function(){return{r:this.abs(),phi:this.arg()}},ze.prototype.format=function(i){var t="",e=this.im,r=this.re,n=aa(this.re,i),s=aa(this.im,i),a=le(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},ze.fromPolar=function(i){switch(arguments.length){case 1:{var t=arguments[0];if(typeof t=="object")return ze(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(le(e)){if(Tl(r)&&r.hasBase("ANGLE")&&(r=r.toNumber("rad")),le(r))return new ze({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")}},ze.prototype.valueOf=ze.prototype.toString,ze.fromJSON=function(i){return new ze(i)},ze.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},ze),{isClass:!0}),yf={exports:{}};/**
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=c;break;default:l()}return isNaN(g.re)||isNaN(g.im),g};function p(c,d){if(!(this instanceof p))return new p(c,d);var g=h(c,d);this.re=g.re,this.im=g.im}p.prototype={re:0,im:0,sign:function(){var c=this.abs();return new p(this.re/c,this.im/c)},add:function(c,d){var g=new p(c,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(c,d){var g=new p(c,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(c,d){var g=new p(c,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(c,d){var g=new p(c,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;c=this.re,d=this.im;var w=g.re,m=g.im,D,v;return m===0?new p(c/w,d/w):Math.abs(w)<Math.abs(m)?(v=w/m,D=w*v+m,new p((c*v+d)/D,(d*v-c)/D)):(v=m/w,D=m*v+w,new p((c+d*v)/D,(d-c*v)/D))},pow:function(c,d){var g=new p(c,d);if(c=this.re,d=this.im,g.isZero())return p.ONE;if(g.im===0){if(d===0&&c>0)return new p(Math.pow(c,g.re),0);if(c===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(c===0&&d===0&&g.re>0&&g.im>=0)return p.ZERO;var w=Math.atan2(d,c),m=f(c,d);return c=Math.exp(g.re*m-g.im*w),d=g.im*m+g.re*w,new p(c*Math.cos(d),c*Math.sin(d))},sqrt:function(){var c=this.re,d=this.im,g=this.abs(),w,m;if(c>=0){if(d===0)return new p(Math.sqrt(c),0);w=.5*Math.sqrt(2*(g+c))}else w=Math.abs(d)/Math.sqrt(2*(g-c));return c<=0?m=.5*Math.sqrt(2*(g-c)):m=Math.abs(d)/Math.sqrt(2*(g+c)),new p(w,d<0?-m:m)},exp:function(){var c=Math.exp(this.re);return this.im,new p(c*Math.cos(this.im),c*Math.sin(this.im))},expm1:function(){var c=this.re,d=this.im;return new p(Math.expm1(c)*Math.cos(d)+s(d),Math.exp(c)*Math.sin(d))},log:function(){var c=this.re,d=this.im;return new p(f(c,d),Math.atan2(d,c))},abs:function(){return a(this.re,this.im)},arg:function(){return Math.atan2(this.im,this.re)},sin:function(){var c=this.re,d=this.im;return new p(Math.sin(c)*r(d),Math.cos(c)*n(d))},cos:function(){var c=this.re,d=this.im;return new p(Math.cos(c)*r(d),-Math.sin(c)*n(d))},tan:function(){var c=2*this.re,d=2*this.im,g=Math.cos(c)+r(d);return new p(Math.sin(c)/g,n(d)/g)},cot:function(){var c=2*this.re,d=2*this.im,g=Math.cos(c)-r(d);return new p(-Math.sin(c)/g,n(d)/g)},sec:function(){var c=this.re,d=this.im,g=.5*r(2*d)+.5*Math.cos(2*c);return new p(Math.cos(c)*r(d)/g,Math.sin(c)*n(d)/g)},csc:function(){var c=this.re,d=this.im,g=.5*r(2*d)-.5*Math.cos(2*c);return new p(Math.sin(c)*r(d)/g,-Math.cos(c)*n(d)/g)},asin:function(){var c=this.re,d=this.im,g=new p(d*d-c*c+1,-2*c*d).sqrt(),w=new p(g.re-d,g.im+c).log();return new p(w.im,-w.re)},acos:function(){var c=this.re,d=this.im,g=new p(d*d-c*c+1,-2*c*d).sqrt(),w=new p(g.re-d,g.im+c).log();return new p(Math.PI/2-w.im,w.re)},atan:function(){var c=this.re,d=this.im;if(c===0){if(d===1)return new p(0,1/0);if(d===-1)return new p(0,-1/0)}var g=c*c+(1-d)*(1-d),w=new p((1-d*d-c*c)/g,-2*c/g).log();return new p(-.5*w.im,.5*w.re)},acot:function(){var c=this.re,d=this.im;if(d===0)return new p(Math.atan2(1,c),0);var g=c*c+d*d;return g!==0?new p(c/g,-d/g).atan():new p(c!==0?c/0:0,d!==0?-d/0:0).atan()},asec:function(){var c=this.re,d=this.im;if(c===0&&d===0)return new p(0,1/0);var g=c*c+d*d;return g!==0?new p(c/g,-d/g).acos():new p(c!==0?c/0:0,d!==0?-d/0:0).acos()},acsc:function(){var c=this.re,d=this.im;if(c===0&&d===0)return new p(Math.PI/2,1/0);var g=c*c+d*d;return g!==0?new p(c/g,-d/g).asin():new p(c!==0?c/0:0,d!==0?-d/0:0).asin()},sinh:function(){var c=this.re,d=this.im;return new p(n(c)*Math.cos(d),r(c)*Math.sin(d))},cosh:function(){var c=this.re,d=this.im;return new p(r(c)*Math.cos(d),n(c)*Math.sin(d))},tanh:function(){var c=2*this.re,d=2*this.im,g=r(c)+Math.cos(d);return new p(n(c)/g,Math.sin(d)/g)},coth:function(){var c=2*this.re,d=2*this.im,g=r(c)-Math.cos(d);return new p(n(c)/g,-Math.sin(d)/g)},csch:function(){var c=this.re,d=this.im,g=Math.cos(2*d)-r(2*c);return new p(-2*n(c)*Math.cos(d)/g,2*r(c)*Math.sin(d)/g)},sech:function(){var c=this.re,d=this.im,g=Math.cos(2*d)+r(2*c);return new p(2*r(c)*Math.cos(d)/g,-2*n(c)*Math.sin(d)/g)},asinh:function(){var c=this.im;this.im=-this.re,this.re=c;var d=this.asin();return this.re=-this.im,this.im=c,c=d.re,d.re=-d.im,d.im=c,d},acosh:function(){var c=this.acos();if(c.im<=0){var d=c.re;c.re=-c.im,c.im=d}else{var d=c.im;c.im=-c.re,c.re=d}return c},atanh:function(){var c=this.re,d=this.im,g=c>1&&d===0,w=1-c,m=1+c,D=w*w+d*d,v=D!==0?new p((m*w-d*d)/D,(d*w+m*d)/D):new p(c!==-1?c/0:0,d!==0?d/0:0),E=v.re;return v.re=f(v.re,v.im)/2,v.im=Math.atan2(v.im,E)/2,g&&(v.im=-v.im),v},acoth:function(){var c=this.re,d=this.im;if(c===0&&d===0)return new p(0,Math.PI/2);var g=c*c+d*d;return g!==0?new p(c/g,-d/g).atanh():new p(c!==0?c/0:0,d!==0?-d/0:0).atanh()},acsch:function(){var c=this.re,d=this.im;if(d===0)return new p(c!==0?Math.log(c+Math.sqrt(c*c+1)):1/0,0);var g=c*c+d*d;return g!==0?new p(c/g,-d/g).asinh():new p(c!==0?c/0:0,d!==0?-d/0:0).asinh()},asech:function(){var c=this.re,d=this.im;if(this.isZero())return p.INFINITY;var g=c*c+d*d;return g!==0?new p(c/g,-d/g).acosh():new p(c!==0?c/0:0,d!==0?-d/0:0).acosh()},inverse:function(){if(this.isZero())return p.INFINITY;if(this.isInfinite())return p.ZERO;var c=this.re,d=this.im,g=c*c+d*d;return new p(c/g,-d/g)},conjugate:function(){return new p(this.re,-this.im)},neg:function(){return new p(-this.re,-this.im)},ceil:function(c){return c=Math.pow(10,c||0),new p(Math.ceil(this.re*c)/c,Math.ceil(this.im*c)/c)},floor:function(c){return c=Math.pow(10,c||0),new p(Math.floor(this.re*c)/c,Math.floor(this.im*c)/c)},round:function(c){return c=Math.pow(10,c||0),new p(Math.round(this.re*c)/c,Math.round(this.im*c)/c)},equals:function(c,d){var g=new p(c,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 c=this.re,d=this.im,g="";return this.isNaN()?"NaN":this.isInfinite()?"Infinity":(Math.abs(c)<p.EPSILON&&(c=0),Math.abs(d)<p.EPSILON&&(d=0),d===0?g+c:(c!==0?(g+=c,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})()})(yf);var U_=yf.exports,ze=Zt(U_),W_="Complex",j_=[],Y_=mt(W_,j_,()=>(Object.defineProperty(ze,"name",{value:"Complex"}),ze.prototype.constructor=ze,ze.prototype.type="Complex",ze.prototype.isComplex=!0,ze.prototype.toJSON=function(){return{mathjs:"Complex",re:this.re,im:this.im}},ze.prototype.toPolar=function(){return{r:this.abs(),phi:this.arg()}},ze.prototype.format=function(i){var t="",e=this.im,r=this.re,n=ua(this.re,i),s=ua(this.im,i),a=le(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},ze.fromPolar=function(i){switch(arguments.length){case 1:{var t=arguments[0];if(typeof t=="object")return ze(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(le(e)){if(Ol(r)&&r.hasBase("ANGLE")&&(r=r.toNumber("rad")),le(r))return new ze({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")}},ze.prototype.valueOf=ze.prototype.toString,ze.fromJSON=function(i){return new ze(i)},ze.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},ze),{isClass:!0}),Df={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 f=function(v,E){var b=0,N=1,x=1,F=0,M=0,S=0,O=1,C=1,T=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=(T+U)/(L+k),v===P){L+k<=W?(b=T+U,N=L+k):k>L?(b=U,N=k):(b=T,N=L);break}else v>P?(T+=U,L+=k):(U+=T,k+=L),L>W?(b=U,N=k):(b=T,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[T]==="-"?(x=-1,T++):L[T]==="+"&&T++,L.length===T+1?M=s(L[T++],x):L[T+1]==="."||L[T]==="."?(L[T]!=="."&&(F=s(L[T++],x)),T++,(T+1===L.length||L[T+1]==="("&&L[T+3]===")"||L[T+1]==="'"&&L[T+3]==="'")&&(M=s(L[T],x),O=Math.pow(10,L[T].length),T++),(L[T]==="("&&L[T+2]===")"||L[T]==="'"&&L[T+2]==="'")&&(S=s(L[T+1],x),C=Math.pow(10,L[T+1].length)-1,T+=3)):L[T+1]==="/"||L[T+1]===":"?(M=s(L[T],x),O=s(L[T+2],1),T+=3):L[T+3]==="/"&&L[T+1]===" "&&(F=s(L[T],x),M=s(L[T+2],x),O=s(L[T+4],1),T+=5),L.length<=T){N=O*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 c(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(f(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 f(v,E),a(this.s*this.n*n.d+n.s*this.d*n.n,this.d*n.d)},sub:function(v,E){return f(v,E),a(this.s*this.n*n.d-n.s*this.d*n.n,this.d*n.d)},mul:function(v,E){return f(v,E),a(this.s*n.s*this.n*n.n,this.d*n.d)},div:function(v,E){return f(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(f(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 f(v,E),a(d(n.n,this.n)*d(n.d,this.d),n.d*this.d)},lcm:function(v,E){return f(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(f(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 f(v,E),this.s*this.n*n.d===n.s*n.n*this.d},compare:function(v,E){f(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 f(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=c(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})()})(yf);var Y_=yf.exports,Qr=Zt(Y_),Z_="Fraction",G_=[],K_=mt(Z_,G_,()=>(Object.defineProperty(Qr,"name",{value:"Fraction"}),Qr.prototype.constructor=Qr,Qr.prototype.type="Fraction",Qr.prototype.isFraction=!0,Qr.prototype.toJSON=function(){return{mathjs:"Fraction",n:this.s*this.n,d:this.d}},Qr.fromJSON=function(i){return new Qr(i)},Qr),{isClass:!0}),H_="Matrix",J_=[],X_=mt(H_,J_,()=>{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 Df(i){return Object.keys(i.signatures||{}).reduce(function(t,e){var r=(e.match(/,/g)||[]).length+1;return Math.max(t,r)},-1)}var V_="DenseMatrix",Q_=["Matrix"],tm=mt(V_,Q_,i=>{var{Matrix:t}=i;function e(p,c){if(!(this instanceof e))throw new SyntaxError("Constructor must be called with the new operator");if(c&&!Yr(c))throw new Error("Invalid datatype: "+c);if(ce(p))p.type==="DenseMatrix"?(this._data=re(p._data),this._size=re(p._size),this._datatype=c||p._datatype):(this._data=p.toArray(),this._size=p.size(),this._datatype=c||p._datatype);else if(p&&ve(p.data)&&ve(p.size))this._data=p.data,this._size=p.size,Kl(this._data,this._size),this._datatype=c||p.datatype;else if(ve(p))this._data=h(p),this._size=Fe(this._data),Kl(this._data,this._size),this._datatype=c;else{if(p)throw new TypeError("Unsupported type of data ("+_n(p)+")");this._data=[],this._size=[0],this._datatype=c}}e.prototype=new t,e.prototype.createDenseMatrix=function(p,c){return new e(p,c)},Object.defineProperty(e,"name",{value:"DenseMatrix"}),e.prototype.constructor=e,e.prototype.type="DenseMatrix",e.prototype.isDenseMatrix=!0,e.prototype.getDataType=function(){return xs(this._data,_n)},e.prototype.storage=function(){return"dense"},e.prototype.datatype=function(){return this._datatype},e.prototype.create=function(p,c){return new e(p,c)},e.prototype.subset=function(p,c,d){switch(arguments.length){case 1:return r(this,p);case 2:case 3:return s(this,p,c,d);default:throw new SyntaxError("Wrong number of arguments")}},e.prototype.get=function(p){if(!ve(p))throw new TypeError("Array expected");if(p.length!==this._size.length)throw new Gt(p.length,this._size.length);for(var c=0;c<p.length;c++)we(p[c],this._size[c]);for(var d=this._data,g=0,w=p.length;g<w;g++){var m=p[g];we(m,d.length),d=d[m]}return d},e.prototype.set=function(p,c,d){if(!ve(p))throw new TypeError("Array expected");if(p.length<this._size.length)throw new Gt(p.length,this._size.length,"<");var g,w,m,D=p.map(function(E){return E+1});f(this,D,d);var v=this._data;for(g=0,w=p.length-1;g<w;g++)m=p[g],we(m,v.length),v=v[m];return m=p[p.length-1],we(m,v.length),v[m]=c,this};function r(p,c){if(!ia(c))throw new TypeError("Invalid index");var d=c.isScalar();if(d)return p.get(c.min());var g=c.size();if(g.length!==p._size.length)throw new Gt(g.length,p._size.length);for(var w=c.min(),m=c.max(),D=0,v=p._size.length;D<v;D++)we(w[D],p._size[D]),we(m[D],p._size[D]);return new e(n(p._data,c,g.length,0),p._datatype)}function n(p,c,d,g){var w=g===d-1,m=c.dimension(g);return w?m.map(function(D){return we(D,p.length),p[D]}).valueOf():m.map(function(D){we(D,p.length);var v=p[D];return n(v,c,d,g+1)}).valueOf()}function s(p,c,d,g){if(!c||c.isIndex!==!0)throw new TypeError("Invalid index");var w=c.size(),m=c.isScalar(),D;if(ce(d)?(D=d.size(),d=d.valueOf()):D=Fe(d),m){if(D.length!==0)throw new TypeError("Scalar expected");p.set(c.min(),d,g)}else{if(!oi(D,w))try{D.length===0?d=tf([d],w):d=tf(d,w),D=Fe(d)}catch{}if(w.length<p._size.length)throw new Gt(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=Jl(d,w.length,E,D)}if(!oi(w,D))throw new Gt(w,D,">");var b=c.max().map(function(F){return F+1});f(p,b,g);var N=w.length,x=0;a(p._data,c,d,N,x)}return p}function a(p,c,d,g,w){var m=w===g-1,D=c.dimension(w);m?D.forEach(function(v,E){we(v),p[v]=d[E[0]]}):D.forEach(function(v,E){we(v),a(p[v],c,d[E[0]],g,w+1)})}e.prototype.resize=function(p,c,d){if(!ki(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,c)};function l(p,c,d){if(c.length===0){for(var g=p._data;ve(g);)g=g[0];return g}return p._size=c.slice(0),p._data=la(p._data,p._size,d),p}e.prototype.reshape=function(p,c){var d=c?this.clone():this;d._data=ca(d._data,p);var g=d._size.reduce((w,m)=>w*m);return d._size=ha(p,g),d};function f(p,c,d){for(var g=p._size.slice(0),w=!1;g.length<c.length;)g.push(0),w=!0;for(var m=0,D=c.length;m<D;m++)c[m]>g[m]&&(g[m]=c[m],w=!0);w&&l(p,g,d)}e.prototype.clone=function(){var p=new e({data:re(this._data),size:re(this._size),datatype:this._datatype});return p},e.prototype.size=function(){return this._size.slice(0)},e.prototype.map=function(p){var c=this,d=Df(p),g=function D(v,E){return ve(v)?v.map(function(b,N){return D(b,E.concat(N))}):d===1?p(v):d===2?p(v,E):p(v,E,c)},w=g(this._data,[]),m=this._datatype!==void 0?xs(w,_n):void 0;return new e(w,m)},e.prototype.forEach=function(p){var c=this,d=function g(w,m){ve(w)?w.forEach(function(D,v){g(D,m.concat(v))}):p(w,m,c)};d(this._data,[])},e.prototype[Symbol.iterator]=function*(){var p=function*c(d,g){if(ve(d))for(var w=0;w<d.length;w++)yield*c(d[w],g.concat(w));else yield{value:d,index:g}};yield*p(this._data,[])},e.prototype.rows=function(){var p=[],c=this.size();if(c.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,c=[],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]]);c.push(new e(E,p._datatype))},m=0;m<d[1];m++)w(m);return c},e.prototype.toArray=function(){return re(this._data)},e.prototype.valueOf=function(){return this._data},e.prototype.format=function(p){return oe(this._data,p)},e.prototype.toString=function(){return oe(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(Ee(p)&&(p=p.toNumber()),!le(p)||!de(p))throw new TypeError("The parameter k must be an integer number")}else p=0;for(var c=p>0?p:0,d=p<0?-p:0,g=this._size[0],w=this._size[1],m=Math.min(g-d,w-c),D=[],v=0;v<m;v++)D[v]=this._data[v+d][v+c];return new e({data:D,size:[m],datatype:this._datatype})},e.diagonal=function(p,c,d,g){if(!ve(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(Ee(M)&&(M=M.toNumber()),!le(M)||!de(M)||M<1)throw new Error("Size values must be positive integers");return M}),d){if(Ee(d)&&(d=d.toNumber()),!le(d)||!de(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(ve(c)){if(c.length!==E)throw new Error("Invalid value array length");b=function(S){return c[S]}}else if(ce(c)){var N=c.size();if(N.length!==1||N[0]!==E)throw new Error("Invalid matrix length");b=function(S){return c.get([S])}}else b=function(){return c};g||(g=Ee(b(0))?b(0).mul(0):0);var x=[];if(p.length>0){x=la(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,c){if(!le(p)||!de(p)||!le(c)||!de(c))throw new Error("Row index must be positive integers");if(this._size.length!==2)throw new Error("Only two dimensional matrix is supported");return we(p,this._size[0]),we(c,this._size[0]),e._swapRows(p,c,this._data),this},e._swapRows=function(p,c,d){var g=d[p];d[p]=d[c],d[c]=g};function h(p){return ce(p)?h(p.valueOf()):ve(p)?p.map(h):p}return e},{isClass:!0});function em(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 Os(i){for(var t=0;t<i.length;t++)if(ki(i[t]))return!0;return!1}function ji(i,t){ce(i)&&(i=i.valueOf());for(var e=0,r=i.length;e<r;e++){var n=i[e];Array.isArray(n)?ji(n,t):t(n)}}function Lr(i,t,e){return i&&typeof i.map=="function"?i.map(function(r){return Lr(r,t)}):t(i)}function ba(i,t,e){var r=Array.isArray(i)?Fe(i):i.size();if(t<0||t>=r.length)throw new mn(t,r.length);return ce(i)?i.create($s(i.valueOf(),t,e)):$s(i,t,e)}function $s(i,t,e){var r,n,s,a;if(t<=0)if(Array.isArray(i[0])){for(a=em(i),n=[],r=0;r<a.length;r++)n[r]=$s(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]=$s(i[r],t-1,e);return n}}var bf="isInteger",rm=["typed"],nm=mt(bf,rm,i=>{var{typed:t}=i;return t(bf,{number:de,BigNumber:function(r){return r.isInt()},Fraction:function(r){return r.d===1&&isFinite(r.n)},"Array | Matrix":t.referToSelf(e=>r=>Lr(r,e))})}),Ef="number",Ls="number, number";function xf(i){return Math.abs(i)}xf.signature=Ef;function Af(i,t){return i+t}Af.signature=Ls;function Cf(i,t){return i-t}Cf.signature=Ls;function Ff(i,t){return i*t}Ff.signature=Ls;function Mf(i){return-i}Mf.signature=Ef;function Nf(i,t){return i*i<1&&t===1/0||i*i>1&&t===-1/0?0:Math.pow(i,t)}Nf.signature=Ls;var Sf="number";function Bf(i){return i===0}Bf.signature=Sf;function Tf(i){return Number.isNaN(i)}Tf.signature=Sf;var If="isNumeric",im=["typed"],sm=mt(If,im,i=>{var{typed:t}=i;return t(If,{"number | BigNumber | Fraction | boolean":()=>!0,"Complex | Unit | string | null | undefined | Node":()=>!1,"Array | Matrix":t.referToSelf(e=>r=>Lr(r,e))})}),Of="isZero",om=["typed"],am=mt(Of,om,i=>{var{typed:t}=i;return t(Of,{number:Bf,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=>Lr(r,e))})}),$f="isNaN",um=["typed"],lm=mt($f,um,i=>{var{typed:t}=i;return t($f,{number:Tf,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 Lr(r,Number.isNaN)}})});function Rs(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 fm(i,t,e){return Un(i.re,t.re,e)&&Un(i.im,t.im,e)}var Ps=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)})}}),zs="equalScalar",cm=["typed","config"],hm=mt(zs,cm,i=>{var{typed:t,config:e}=i,r=Ps({typed:t});return t(zs,{"boolean, boolean":function(s,a){return s===a},"number, number":function(s,a){return Un(s,a,e.epsilon)},"BigNumber, BigNumber":function(s,a){return s.eq(a)||Rs(s,a,e.epsilon)},"Fraction, Fraction":function(s,a){return s.equals(a)},"Complex, Complex":function(s,a){return fm(s,a,e.epsilon)}},r)});mt(zs,["typed","config"],i=>{var{typed:t,config:e}=i;return t(zs,{"number, number":function(n,s){return Un(n,s,e.epsilon)}})});var pm="SparseMatrix",dm=["typed","equalScalar","Matrix"],_m=mt(pm,dm,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&&!Yr(D))throw new Error("Invalid datatype: "+D);if(ce(m))s(this,m,D);else if(m&&ve(m.index)&&ve(m.ptr)&&ve(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(ve(m))a(this,m,D);else{if(m)throw new TypeError("Unsupported type of data ("+_n(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?re(D._values):void 0,m._index=re(D._index),m._ptr=re(D._ptr),m._size=re(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(Yr(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(ve(S)){if(F===0&&b<S.length&&(b=S.length),F<S.length){var O=S[F];N(O,x)||(m._values.push(O),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 xs(this._values,_n)},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 f(this,m,D,v);default:throw new SyntaxError("Wrong number of arguments")}};function l(m,D){if(!ia(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 Gt(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++)we(M[b],m._size[b]),we(S[b],m._size[b]);var O=m._values,C=m._index,T=m._ptr,L=D.dimension(0),U=D.dimension(1),k=[],W=[];L.forEach(function(V,tt){W[V]=tt[0],k[V]=!0});var P=O?[]:void 0,K=[],G=[];return U.forEach(function(V){for(G.push(K.length),x=T[V],F=T[V+1];x<F;x++)b=C[x],k[b]===!0&&(K.push(W[b]),P&&P.push(O[x]))}),G.push(K.length),new n({values:P,index:K,ptr:G,size:E,datatype:m._datatype})}function f(m,D,v,E){if(!D||D.isIndex!==!0)throw new TypeError("Invalid index");var b=D.size(),N=D.isScalar(),x;if(ce(v)?(x=v.size(),v=v.toArray()):x=Fe(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 Gt(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=Jl(v,b.length,M,x)}if(!oi(b,x))throw new Gt(b,x,">");if(b.length===1){var S=D.dimension(0);S.forEach(function(T,L){we(T),m.set([T,0],v[L[0]],E)})}else{var O=D.dimension(0),C=D.dimension(1);O.forEach(function(T,L){we(T),C.forEach(function(U,k){we(U),m.set([T,U],v[L[0]][k[0]],E)})})}}return m}n.prototype.get=function(m){if(!ve(m))throw new TypeError("Array expected");if(m.length!==this._size.length)throw new Gt(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];we(D,this._size[0]),we(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(!ve(m))throw new TypeError("Array expected");if(m.length!==this._size.length)throw new Gt(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;Yr(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]),we(E,N),we(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)||c(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 c(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(!ki(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(!le(N)||!de(N)||N<0)throw new TypeError("Invalid size, must contain positive integers (size: "+oe(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;Yr(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],O,C,T;if(v>S){for(C=S;C<v;C++)if(m._ptr[C]=m._values.length,F)for(O=0;O<M;O++)m._values.push(b),m._index.push(O);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,T=m._ptr[C+1]+L;var U=0;for(O=M;O<D;O++,U++)m._values.splice(T+U,0,b),m._index.splice(T+U,0,O),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(T=W;T<P;T++)O=m._index[T],O>D-1&&(m._values.splice(T,1),m._index.splice(T,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(!ve(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(V){if(!le(V)||!de(V)||V<=-2||V===0)throw new TypeError("Invalid size, must contain positive integers or -1 (size: "+oe(m)+")")});var v=this._size[0]*this._size[1];m=ha(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(),O=0;O<b._index.length;O++){var C=S[O],T=N[O],L=C*b._size[1]+T;N[O]=L%m[1],S[O]=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],K=M[k],G=h(W,b._ptr[P],b._ptr[P+1],b._index);c(G,W,P,K,b._values,b._index,b._ptr)}return b},n.prototype.clone=function(){var m=new n({values:this._values?re(this._values):void 0,index:re(this._index),ptr:re(this._ptr),size:re(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=Df(m),x=function(M,S,O){return N===1?m(M):N===2?m(M,[S,O]):m(M,[S,O],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=[],O=e,C=0;Yr(m._datatype)&&(O=t.find(e,[m._datatype,m._datatype])||e,C=t.convert(0,m._datatype));for(var T=function(lt,yt,bt){lt=N(lt,yt,bt),O(lt,C)||(F.push(lt),M.push(yt))},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&&T(m._values[W],P-D,L-E)}else{for(var K={},G=U;G<k;G++){var V=m._index[G];K[V]=m._values[G]}for(var tt=D;tt<=v;tt++){var ft=tt in K?K[tt]:0;T(ft,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 O={},C=x;C<F;C++){var T=this._index[C];O[T]=this._values[C]}for(var L=0;L<E;L++){var U=L in O?O[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 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 O=v[S],C=v[S+1],T=O;T<C;T++)M=D[T],F[M][S]=m?b?re(m[T]):m[T]: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 ["+oe(D,m)+" x "+oe(v,m)+"] density: "+oe(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 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 f=function(v,E){var b=0,N=1,x=1,F=0,M=0,S=0,I=1,C=1,T=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=(T+U)/(L+k),v===P){L+k<=W?(b=T+U,N=L+k):k>L?(b=U,N=k):(b=T,N=L);break}else v>P?(T+=U,L+=k):(U+=T,k+=L),L>W?(b=U,N=k):(b=T,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[T]==="-"?(x=-1,T++):L[T]==="+"&&T++,L.length===T+1?M=s(L[T++],x):L[T+1]==="."||L[T]==="."?(L[T]!=="."&&(F=s(L[T++],x)),T++,(T+1===L.length||L[T+1]==="("&&L[T+3]===")"||L[T+1]==="'"&&L[T+3]==="'")&&(M=s(L[T],x),I=Math.pow(10,L[T].length),T++),(L[T]==="("&&L[T+2]===")"||L[T]==="'"&&L[T+2]==="'")&&(S=s(L[T+1],x),C=Math.pow(10,L[T+1].length)-1,T+=3)):L[T+1]==="/"||L[T+1]===":"?(M=s(L[T],x),I=s(L[T+2],1),T+=3):L[T+3]==="/"&&L[T+1]===" "&&(F=s(L[T],x),M=s(L[T+2],x),I=s(L[T+4],1),T+=5),L.length<=T){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 c(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(f(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 f(v,E),a(this.s*this.n*n.d+n.s*this.d*n.n,this.d*n.d)},sub:function(v,E){return f(v,E),a(this.s*this.n*n.d-n.s*this.d*n.n,this.d*n.d)},mul:function(v,E){return f(v,E),a(this.s*n.s*this.n*n.n,this.d*n.d)},div:function(v,E){return f(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(f(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 f(v,E),a(d(n.n,this.n)*d(n.d,this.d),n.d*this.d)},lcm:function(v,E){return f(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(f(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 f(v,E),this.s*this.n*n.d===n.s*n.n*this.d},compare:function(v,E){f(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 f(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=c(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})()})(Df);var Z_=Df.exports,tn=Zt(Z_),G_="Fraction",K_=[],H_=mt(G_,K_,()=>(Object.defineProperty(tn,"name",{value:"Fraction"}),tn.prototype.constructor=tn,tn.prototype.type="Fraction",tn.prototype.isFraction=!0,tn.prototype.toJSON=function(){return{mathjs:"Fraction",n:this.s*this.n,d:this.d}},tn.fromJSON=function(i){return new tn(i)},tn),{isClass:!0}),X_="Matrix",J_=[],Q_=mt(X_,J_,()=>{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 bf(i){return Object.keys(i.signatures||{}).reduce(function(t,e){var r=(e.match(/,/g)||[]).length+1;return Math.max(t,r)},-1)}var V_="DenseMatrix",tm=["Matrix"],em=mt(V_,tm,i=>{var{Matrix:t}=i;function e(p,c){if(!(this instanceof e))throw new SyntaxError("Constructor must be called with the new operator");if(c&&!Zr(c))throw new Error("Invalid datatype: "+c);if(ce(p))p.type==="DenseMatrix"?(this._data=re(p._data),this._size=re(p._size),this._datatype=c||p._datatype):(this._data=p.toArray(),this._size=p.size(),this._datatype=c||p._datatype);else if(p&&ve(p.data)&&ve(p.size))this._data=p.data,this._size=p.size,Hl(this._data,this._size),this._datatype=c||p.datatype;else if(ve(p))this._data=h(p),this._size=Fe(this._data),Hl(this._data,this._size),this._datatype=c;else{if(p)throw new TypeError("Unsupported type of data ("+mn(p)+")");this._data=[],this._size=[0],this._datatype=c}}e.prototype=new t,e.prototype.createDenseMatrix=function(p,c){return new e(p,c)},Object.defineProperty(e,"name",{value:"DenseMatrix"}),e.prototype.constructor=e,e.prototype.type="DenseMatrix",e.prototype.isDenseMatrix=!0,e.prototype.getDataType=function(){return As(this._data,mn)},e.prototype.storage=function(){return"dense"},e.prototype.datatype=function(){return this._datatype},e.prototype.create=function(p,c){return new e(p,c)},e.prototype.subset=function(p,c,d){switch(arguments.length){case 1:return r(this,p);case 2:case 3:return s(this,p,c,d);default:throw new SyntaxError("Wrong number of arguments")}},e.prototype.get=function(p){if(!ve(p))throw new TypeError("Array expected");if(p.length!==this._size.length)throw new Gt(p.length,this._size.length);for(var c=0;c<p.length;c++)we(p[c],this._size[c]);for(var d=this._data,g=0,w=p.length;g<w;g++){var m=p[g];we(m,d.length),d=d[m]}return d},e.prototype.set=function(p,c,d){if(!ve(p))throw new TypeError("Array expected");if(p.length<this._size.length)throw new Gt(p.length,this._size.length,"<");var g,w,m,D=p.map(function(E){return E+1});f(this,D,d);var v=this._data;for(g=0,w=p.length-1;g<w;g++)m=p[g],we(m,v.length),v=v[m];return m=p[p.length-1],we(m,v.length),v[m]=c,this};function r(p,c){if(!sa(c))throw new TypeError("Invalid index");var d=c.isScalar();if(d)return p.get(c.min());var g=c.size();if(g.length!==p._size.length)throw new Gt(g.length,p._size.length);for(var w=c.min(),m=c.max(),D=0,v=p._size.length;D<v;D++)we(w[D],p._size[D]),we(m[D],p._size[D]);return new e(n(p._data,c,g.length,0),p._datatype)}function n(p,c,d,g){var w=g===d-1,m=c.dimension(g);return w?m.map(function(D){return we(D,p.length),p[D]}).valueOf():m.map(function(D){we(D,p.length);var v=p[D];return n(v,c,d,g+1)}).valueOf()}function s(p,c,d,g){if(!c||c.isIndex!==!0)throw new TypeError("Invalid index");var w=c.size(),m=c.isScalar(),D;if(ce(d)?(D=d.size(),d=d.valueOf()):D=Fe(d),m){if(D.length!==0)throw new TypeError("Scalar expected");p.set(c.min(),d,g)}else{if(!ai(D,w))try{D.length===0?d=ef([d],w):d=ef(d,w),D=Fe(d)}catch{}if(w.length<p._size.length)throw new Gt(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=Jl(d,w.length,E,D)}if(!ai(w,D))throw new Gt(w,D,">");var b=c.max().map(function(F){return F+1});f(p,b,g);var N=w.length,x=0;a(p._data,c,d,N,x)}return p}function a(p,c,d,g,w){var m=w===g-1,D=c.dimension(w);m?D.forEach(function(v,E){we(v),p[v]=d[E[0]]}):D.forEach(function(v,E){we(v),a(p[v],c,d[E[0]],g,w+1)})}e.prototype.resize=function(p,c,d){if(!Ui(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,c)};function l(p,c,d){if(c.length===0){for(var g=p._data;ve(g);)g=g[0];return g}return p._size=c.slice(0),p._data=fa(p._data,p._size,d),p}e.prototype.reshape=function(p,c){var d=c?this.clone():this;d._data=ha(d._data,p);var g=d._size.reduce((w,m)=>w*m);return d._size=pa(p,g),d};function f(p,c,d){for(var g=p._size.slice(0),w=!1;g.length<c.length;)g.push(0),w=!0;for(var m=0,D=c.length;m<D;m++)c[m]>g[m]&&(g[m]=c[m],w=!0);w&&l(p,g,d)}e.prototype.clone=function(){var p=new e({data:re(this._data),size:re(this._size),datatype:this._datatype});return p},e.prototype.size=function(){return this._size.slice(0)},e.prototype.map=function(p){var c=this,d=bf(p),g=function D(v,E){return ve(v)?v.map(function(b,N){return D(b,E.concat(N))}):d===1?p(v):d===2?p(v,E):p(v,E,c)},w=g(this._data,[]),m=this._datatype!==void 0?As(w,mn):void 0;return new e(w,m)},e.prototype.forEach=function(p){var c=this,d=function g(w,m){ve(w)?w.forEach(function(D,v){g(D,m.concat(v))}):p(w,m,c)};d(this._data,[])},e.prototype[Symbol.iterator]=function*(){var p=function*c(d,g){if(ve(d))for(var w=0;w<d.length;w++)yield*c(d[w],g.concat(w));else yield{value:d,index:g}};yield*p(this._data,[])},e.prototype.rows=function(){var p=[],c=this.size();if(c.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,c=[],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]]);c.push(new e(E,p._datatype))},m=0;m<d[1];m++)w(m);return c},e.prototype.toArray=function(){return re(this._data)},e.prototype.valueOf=function(){return this._data},e.prototype.format=function(p){return oe(this._data,p)},e.prototype.toString=function(){return oe(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(Ee(p)&&(p=p.toNumber()),!le(p)||!de(p))throw new TypeError("The parameter k must be an integer number")}else p=0;for(var c=p>0?p:0,d=p<0?-p:0,g=this._size[0],w=this._size[1],m=Math.min(g-d,w-c),D=[],v=0;v<m;v++)D[v]=this._data[v+d][v+c];return new e({data:D,size:[m],datatype:this._datatype})},e.diagonal=function(p,c,d,g){if(!ve(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(Ee(M)&&(M=M.toNumber()),!le(M)||!de(M)||M<1)throw new Error("Size values must be positive integers");return M}),d){if(Ee(d)&&(d=d.toNumber()),!le(d)||!de(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(ve(c)){if(c.length!==E)throw new Error("Invalid value array length");b=function(S){return c[S]}}else if(ce(c)){var N=c.size();if(N.length!==1||N[0]!==E)throw new Error("Invalid matrix length");b=function(S){return c.get([S])}}else b=function(){return c};g||(g=Ee(b(0))?b(0).mul(0):0);var x=[];if(p.length>0){x=fa(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,c){if(!le(p)||!de(p)||!le(c)||!de(c))throw new Error("Row index must be positive integers");if(this._size.length!==2)throw new Error("Only two dimensional matrix is supported");return we(p,this._size[0]),we(c,this._size[0]),e._swapRows(p,c,this._data),this},e._swapRows=function(p,c,d){var g=d[p];d[p]=d[c],d[c]=g};function h(p){return ce(p)?h(p.valueOf()):ve(p)?p.map(h):p}return e},{isClass:!0});function rm(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 $s(i){for(var t=0;t<i.length;t++)if(Ui(i[t]))return!0;return!1}function Yi(i,t){ce(i)&&(i=i.valueOf());for(var e=0,r=i.length;e<r;e++){var n=i[e];Array.isArray(n)?Yi(n,t):t(n)}}function Rr(i,t,e){return i&&typeof i.map=="function"?i.map(function(r){return Rr(r,t)}):t(i)}function Ea(i,t,e){var r=Array.isArray(i)?Fe(i):i.size();if(t<0||t>=r.length)throw new gn(t,r.length);return ce(i)?i.create(Ls(i.valueOf(),t,e)):Ls(i,t,e)}function Ls(i,t,e){var r,n,s,a;if(t<=0)if(Array.isArray(i[0])){for(a=rm(i),n=[],r=0;r<a.length;r++)n[r]=Ls(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]=Ls(i[r],t-1,e);return n}}var Ef="isInteger",nm=["typed"],im=mt(Ef,nm,i=>{var{typed:t}=i;return t(Ef,{number:de,BigNumber:function(r){return r.isInt()},Fraction:function(r){return r.d===1&&isFinite(r.n)},"Array | Matrix":t.referToSelf(e=>r=>Rr(r,e))})}),xf="number",Rs="number, number";function Af(i){return Math.abs(i)}Af.signature=xf;function Cf(i,t){return i+t}Cf.signature=Rs;function Ff(i,t){return i-t}Ff.signature=Rs;function Mf(i,t){return i*t}Mf.signature=Rs;function Nf(i){return-i}Nf.signature=xf;function Sf(i,t){return i*i<1&&t===1/0||i*i>1&&t===-1/0?0:Math.pow(i,t)}Sf.signature=Rs;var Bf="number";function Tf(i){return i===0}Tf.signature=Bf;function Of(i){return Number.isNaN(i)}Of.signature=Bf;var If="isNumeric",sm=["typed"],om=mt(If,sm,i=>{var{typed:t}=i;return t(If,{"number | BigNumber | Fraction | boolean":()=>!0,"Complex | Unit | string | null | undefined | Node":()=>!1,"Array | Matrix":t.referToSelf(e=>r=>Rr(r,e))})}),$f="isZero",am=["typed"],um=mt($f,am,i=>{var{typed:t}=i;return t($f,{number:Tf,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=>Rr(r,e))})}),Lf="isNaN",lm=["typed"],fm=mt(Lf,lm,i=>{var{typed:t}=i;return t(Lf,{number:Of,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 Rr(r,Number.isNaN)}})});function Ps(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 cm(i,t,e){return Wn(i.re,t.re,e)&&Wn(i.im,t.im,e)}var zs=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)})}}),qs="equalScalar",hm=["typed","config"],pm=mt(qs,hm,i=>{var{typed:t,config:e}=i,r=zs({typed:t});return t(qs,{"boolean, boolean":function(s,a){return s===a},"number, number":function(s,a){return Wn(s,a,e.epsilon)},"BigNumber, BigNumber":function(s,a){return s.eq(a)||Ps(s,a,e.epsilon)},"Fraction, Fraction":function(s,a){return s.equals(a)},"Complex, Complex":function(s,a){return cm(s,a,e.epsilon)}},r)});mt(qs,["typed","config"],i=>{var{typed:t,config:e}=i;return t(qs,{"number, number":function(n,s){return Wn(n,s,e.epsilon)}})});var dm="SparseMatrix",_m=["typed","equalScalar","Matrix"],mm=mt(dm,_m,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&&!Zr(D))throw new Error("Invalid datatype: "+D);if(ce(m))s(this,m,D);else if(m&&ve(m.index)&&ve(m.ptr)&&ve(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(ve(m))a(this,m,D);else{if(m)throw new TypeError("Unsupported type of data ("+mn(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?re(D._values):void 0,m._index=re(D._index),m._ptr=re(D._ptr),m._size=re(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(Zr(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(ve(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 As(this._values,mn)},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 f(this,m,D,v);default:throw new SyntaxError("Wrong number of arguments")}};function l(m,D){if(!sa(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 Gt(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++)we(M[b],m._size[b]),we(S[b],m._size[b]);var I=m._values,C=m._index,T=m._ptr,L=D.dimension(0),U=D.dimension(1),k=[],W=[];L.forEach(function(Q,tt){W[Q]=tt[0],k[Q]=!0});var P=I?[]:void 0,K=[],G=[];return U.forEach(function(Q){for(G.push(K.length),x=T[Q],F=T[Q+1];x<F;x++)b=C[x],k[b]===!0&&(K.push(W[b]),P&&P.push(I[x]))}),G.push(K.length),new n({values:P,index:K,ptr:G,size:E,datatype:m._datatype})}function f(m,D,v,E){if(!D||D.isIndex!==!0)throw new TypeError("Invalid index");var b=D.size(),N=D.isScalar(),x;if(ce(v)?(x=v.size(),v=v.toArray()):x=Fe(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 Gt(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=Jl(v,b.length,M,x)}if(!ai(b,x))throw new Gt(b,x,">");if(b.length===1){var S=D.dimension(0);S.forEach(function(T,L){we(T),m.set([T,0],v[L[0]],E)})}else{var I=D.dimension(0),C=D.dimension(1);I.forEach(function(T,L){we(T),C.forEach(function(U,k){we(U),m.set([T,U],v[L[0]][k[0]],E)})})}}return m}n.prototype.get=function(m){if(!ve(m))throw new TypeError("Array expected");if(m.length!==this._size.length)throw new Gt(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];we(D,this._size[0]),we(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(!ve(m))throw new TypeError("Array expected");if(m.length!==this._size.length)throw new Gt(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;Zr(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]),we(E,N),we(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)||c(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 c(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(!Ui(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(!le(N)||!de(N)||N<0)throw new TypeError("Invalid size, must contain positive integers (size: "+oe(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;Zr(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,T;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,T=m._ptr[C+1]+L;var U=0;for(I=M;I<D;I++,U++)m._values.splice(T+U,0,b),m._index.splice(T+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(T=W;T<P;T++)I=m._index[T],I>D-1&&(m._values.splice(T,1),m._index.splice(T,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(!ve(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(Q){if(!le(Q)||!de(Q)||Q<=-2||Q===0)throw new TypeError("Invalid size, must contain positive integers or -1 (size: "+oe(m)+")")});var v=this._size[0]*this._size[1];m=pa(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],T=N[I],L=C*b._size[1]+T;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],K=M[k],G=h(W,b._ptr[P],b._ptr[P+1],b._index);c(G,W,P,K,b._values,b._index,b._ptr)}return b},n.prototype.clone=function(){var m=new n({values:this._values?re(this._values):void 0,index:re(this._index),ptr:re(this._ptr),size:re(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=bf(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;Zr(m._datatype)&&(I=t.find(e,[m._datatype,m._datatype])||e,C=t.convert(0,m._datatype));for(var T=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 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&&T(m._values[W],P-D,L-E)}else{for(var K={},G=U;G<k;G++){var Q=m._index[G];K[Q]=m._values[G]}for(var tt=D;tt<=v;tt++){var ft=tt in K?K[tt]:0;T(ft,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 T=this._index[C];I[T]=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 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],T=I;T<C;T++)M=D[T],F[M][S]=m?b?re(m[T]):m[T]: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 ["+oe(D,m)+" x "+oe(v,m)+"] density: "+oe(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
- (`+oe(S,m)+", "+oe(N,m)+") ==> "+(this._values?oe(this._values[M],m):"X")}return b},n.prototype.toString=function(){return oe(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(Ee(m)&&(m=m.toNumber()),!le(m)||!de(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 O=this._ptr[S],C=this._ptr[S+1],T=O;T<C;T++){var L=this._index[T];if(L===S-D+v){x.push(this._values[T]),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(!ve(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(V){if(Ee(V)&&(V=V.toNumber()),!le(V)||!de(V)||V<1)throw new Error("Size values must be positive integers");return V}),v){if(Ee(v)&&(v=v.toNumber()),!le(v)||!de(v))throw new TypeError("The parameter k must be an integer number")}else v=0;var N=e,x=0;Yr(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],O=m[1],C=Math.min(S-M,O-F),T;if(ve(D)){if(D.length!==C)throw new Error("Invalid value array length");T=function(tt){return D[tt]}}else if(ce(D)){var L=D.size();if(L.length!==1||L[0]!==C)throw new Error("Invalid matrix length");T=function(tt){return D.get([tt])}}else T=function(){return D};for(var U=[],k=[],W=[],P=0;P<O;P++){W.push(U.length);var K=P-F;if(K>=0&&K<C){var G=T(K);N(G,x)||(k.push(K+M),U.push(G))}}return W.push(U.length),new n({values:U,index:k,ptr:W,size:[S,O]})},n.prototype.swapRows=function(m,D){if(!le(m)||!de(m)||!le(D)||!de(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 we(m,this._size[0]),we(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),O=h(D,F,M,b);if(S<M&&O<M&&b[S]===m&&b[O]===D){if(E){var C=E[S];E[S]=E[O],E[O]=C}continue}if(S<M&&b[S]===m&&(O>=M||b[O]!==D)){var T=E?E[S]:void 0;b.splice(O,0,D),E&&E.splice(O,0,T),b.splice(O<=S?S+1:S,1),E&&E.splice(O<=S?S+1:S,1);continue}if(O<M&&b[O]===D&&(S>=M||b[S]!==m)){var L=E?E[O]:void 0;b.splice(S,0,m),E&&E.splice(S,0,L),b.splice(S<=O?O+1:O,1),E&&E.splice(S<=O?O+1:O,1)}}},n},{isClass:!0}),mm="number",gm=["typed"];function vm(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 wm(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 ym=mt(mm,gm,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=vm(n);if(s)return wm(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 f=Number(n);if(isNaN(f))throw new SyntaxError('String "'+n+'" is not a valid number');if(l){if(f>2**a-1)throw new SyntaxError('String "'.concat(n,'" is out of range'));f>=2**(a-1)&&(f=f-2**a)}return f},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=>Lr(n,r))});return e.fromJSON=function(r){return parseFloat(r.value)},e}),Dm="bignumber",bm=["typed","BigNumber"],Em=mt(Dm,bm,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]),f=new e(2).pow(Number(a));if(l.gt(f.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(f):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=>Lr(n,r))})}),xm="fraction",Am=["typed","Fraction"],Cm=mt(xm,Am,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=>Lr(n,r))})}),Lf="matrix",Fm=["typed","Matrix","DenseMatrix","SparseMatrix"],Mm=mt(Lf,Fm,i=>{var{typed:t,Matrix:e,DenseMatrix:r,SparseMatrix:n}=i;return t(Lf,{"":function(){return s([])},string:function(l){return s([],l)},"string, string":function(l,f){return s([],l,f)},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,f){if(l==="dense"||l==="default"||l===void 0)return new r(a,f);if(l==="sparse")return new n(a,f);throw new TypeError("Unknown matrix type "+JSON.stringify(l)+".")}}),Rf="unaryMinus",Nm=["typed"],Sm=mt(Rf,Nm,i=>{var{typed:t}=i;return t(Rf,{number:Mf,"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=>Lr(r,e))})}),Pf="abs",Bm=["typed"],Tm=mt(Pf,Bm,i=>{var{typed:t}=i;return t(Pf,{number:xf,"Complex | BigNumber | Fraction | Unit":e=>e.abs(),"Array | Matrix":t.referToSelf(e=>r=>Lr(r,e))})}),zf="addScalar",Im=["typed"],Om=mt(zf,Im,i=>{var{typed:t}=i;return t(zf,{"number, number":Af,"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})})}),qf="subtractScalar",$m=["typed"],Lm=mt(qf,$m,i=>{var{typed:t}=i;return t(qf,{"number, number":Cf,"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})})}),Rm="matAlgo11xS0s",Pm=["typed","equalScalar"],Ea=mt(Rm,Pm,i=>{var{typed:t,equalScalar:e}=i;return function(n,s,a,l){var f=n._values,h=n._index,p=n._ptr,c=n._size,d=n._datatype;if(!f)throw new Error("Cannot perform operation on Pattern Sparse Matrix and Scalar value");var g=c[0],w=c[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],O=M;O<S;O++){var C=h[O],T=l?E(s,f[O]):E(f[O],s);D(T,v)||(N.push(C),b.push(T))}}return x[w]=N.length,n.createSparseMatrix({values:b,index:N,ptr:x,size:[g,w],datatype:m})}}),zm="matAlgo12xSfs",qm=["typed","DenseMatrix"],hi=mt(zm,qm,i=>{var{typed:t,DenseMatrix:e}=i;return function(n,s,a,l){var f=n._values,h=n._index,p=n._ptr,c=n._size,d=n._datatype;if(!f)throw new Error("Cannot perform operation on Pattern Sparse Matrix and Scalar value");var g=c[0],w=c[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 O=h[S];E[O]=f[S],b[O]=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})}}),km="matAlgo14xDs",Um=["typed"],xa=mt(km,Um,i=>{var{typed:t}=i;return function(n,s,a,l){var f=n._data,h=n._size,p=n._datatype,c,d=a;typeof p=="string"&&(c=p,s=t.convert(s,c),d=t.find(a,[c,c]));var g=h.length>0?e(d,0,h,h[0],f,s,l):[];return n.createDenseMatrix({data:g,size:re(h),datatype:c})};function e(r,n,s,a,l,f,h){var p=[];if(n===s.length-1)for(var c=0;c<a;c++)p[c]=h?r(f,l[c]):r(l[c],f);else for(var d=0;d<a;d++)p[d]=e(r,n+1,s,s[n+1],l[d],f,h);return p}}),Wm="matAlgo02xDS0",jm=["typed","equalScalar"],Ym=mt(Wm,jm,i=>{var{typed:t,equalScalar:e}=i;return function(n,s,a,l){var f=n._data,h=n._size,p=n._datatype||n.getDataType(),c=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 Gt(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(!c)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=[],O=0;O<v;O++){S[O]=M.length;for(var C=g[O],T=g[O+1],L=C;L<T;L++){var U=d[L],k=l?x(c[L],f[U][O]):x(f[U][O],c[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})}}),Zm="matAlgo03xDSf",Gm=["typed"],pi=mt(Zm,Gm,i=>{var{typed:t}=i;return function(r,n,s,a){var l=r._data,f=r._size,h=r._datatype||r.getDataType(),p=n._values,c=n._index,d=n._ptr,g=n._size,w=n._datatype||n._data===void 0?n._datatype:n.getDataType();if(f.length!==g.length)throw new Gt(f.length,g.length);if(f[0]!==g[0]||f[1]!==g[1])throw new RangeError("Dimension mismatch. Matrix A ("+f+") must match Matrix B ("+g+")");if(!p)throw new Error("Cannot perform operation on Dense Matrix and Pattern Sparse Matrix");var m=f[0],D=f[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 O=S+1,C=d[S],T=d[S+1],L=C;L<T;L++){var U=c[L];F[U]=a?b(p[L],l[U][S]):b(l[U][S],p[L]),M[U]=O}for(var k=0;k<m;k++)M[k]===O?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&&w===n._datatype?v:void 0})}}),Km="matAlgo05xSfSf",Hm=["typed","equalScalar"],kf=mt(Km,Hm,i=>{var{typed:t,equalScalar:e}=i;return function(n,s,a){var l=n._values,f=n._index,h=n._ptr,p=n._size,c=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 Gt(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 c=="string"&&c===D&&c!=="mixed"&&(b=c,N=t.find(e,[b,b]),x=t.convert(0,b),F=t.find(a,[b,b]));var M=l&&d?[]:void 0,S=[],O=[],C=M?[]:void 0,T=M?[]:void 0,L=[],U=[],k,W,P,K;for(W=0;W<E;W++){O[W]=S.length;var G=W+1;for(P=h[W],K=h[W+1];P<K;P++)k=f[P],S.push(k),L[k]=G,C&&(C[k]=l[P]);for(P=w[W],K=w[W+1];P<K;P++)k=g[P],L[k]!==G&&S.push(k),U[k]=G,T&&(T[k]=d[P]);if(M)for(P=O[W];P<S.length;){k=S[P];var V=L[k],tt=U[k];if(V===G||tt===G){var ft=V===G?C[k]:x,vt=tt===G?T[k]:x,lt=F(ft,vt);N(lt,x)?S.splice(P,1):(M.push(lt),P++)}}}return O[E]=S.length,n.createSparseMatrix({values:M,index:S,ptr:O,size:[v,E],datatype:c===n._datatype&&D===s._datatype?b:void 0})}}),Jm="matAlgo13xDD",Xm=["typed"],Vm=mt(Jm,Xm,i=>{var{typed:t}=i;return function(n,s,a){var l=n._data,f=n._size,h=n._datatype,p=s._data,c=s._size,d=s._datatype,g=[];if(f.length!==c.length)throw new Gt(f.length,c.length);for(var w=0;w<f.length;w++){if(f[w]!==c[w])throw new RangeError("Dimension mismatch. Matrix A ("+f+") must match Matrix B ("+c+")");g[w]=f[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,f){var h=[];if(n===s.length-1)for(var p=0;p<a;p++)h[p]=r(l[p],f[p]);else for(var c=0;c<a;c++)h[c]=e(r,n+1,s,s[n+1],l[c],f[c]);return h}}),Qm="broadcast",tg=["concat"],eg=mt(Qm,tg,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),f=e(s._size,a,0),h=[],p=0;p<a;p++)h[p]=Math.max(l[p],f[p]);As(l,h),As(f,h);var c=n.clone(),d=s.clone();c._size.length<a?c.reshape(e(c._size,a,1)):d._size.length<a&&d.reshape(e(d._size,a,1));for(var g=0;g<a;g++)c._size[g]<h[g]&&(c=r(c,h[g],g)),d._size[g]<h[g]&&(d=r(d,h[g],g));return[c,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)}}),rg="matrixAlgorithmSuite",ng=["typed","matrix","concat"],Wn=mt(rg,ng,i=>{var{typed:t,matrix:e,concat:r}=i,n=Vm({typed:t}),s=xa({typed:t}),a=eg({concat:r});return function(f){var h=f.elop,p=f.SD||f.DS,c;h?(c={"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)},f.SS&&(c["SparseMatrix, SparseMatrix"]=(m,D)=>f.SS(...a(m,D),h,!1)),f.DS&&(c["DenseMatrix, SparseMatrix"]=(m,D)=>f.DS(...a(m,D),h,!1),c["Array, SparseMatrix"]=(m,D)=>f.DS(...a(e(m),D),h,!1)),p&&(c["SparseMatrix, DenseMatrix"]=(m,D)=>p(...a(D,m),h,!0),c["SparseMatrix, Array"]=(m,D)=>p(...a(e(D),m),h,!0))):(c={"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))},f.SS&&(c["SparseMatrix, SparseMatrix"]=t.referToSelf(m=>(D,v)=>f.SS(...a(D,v),m,!1))),f.DS&&(c["DenseMatrix, SparseMatrix"]=t.referToSelf(m=>(D,v)=>f.DS(...a(D,v),m,!1)),c["Array, SparseMatrix"]=t.referToSelf(m=>(D,v)=>f.DS(...a(e(D),v),m,!1))),p&&(c["SparseMatrix, DenseMatrix"]=t.referToSelf(m=>(D,v)=>p(...a(v,D),m,!0)),c["SparseMatrix, Array"]=t.referToSelf(m=>(D,v)=>p(...a(e(v),D),m,!0))));var d=f.scalar||"any",g=f.Ds||f.Ss;g&&(h?(c["DenseMatrix,"+d]=(m,D)=>s(m,D,h,!1),c[d+", DenseMatrix"]=(m,D)=>s(D,m,h,!0),c["Array,"+d]=(m,D)=>s(e(m),D,h,!1).valueOf(),c[d+", Array"]=(m,D)=>s(e(D),m,h,!0).valueOf()):(c["DenseMatrix,"+d]=t.referToSelf(m=>(D,v)=>s(D,v,m,!1)),c[d+", DenseMatrix"]=t.referToSelf(m=>(D,v)=>s(v,D,m,!0)),c["Array,"+d]=t.referToSelf(m=>(D,v)=>s(e(D),v,m,!1).valueOf()),c[d+", Array"]=t.referToSelf(m=>(D,v)=>s(e(v),D,m,!0).valueOf())));var w=f.sS!==void 0?f.sS:f.Ss;return h?(f.Ss&&(c["SparseMatrix,"+d]=(m,D)=>f.Ss(m,D,h,!1)),w&&(c[d+", SparseMatrix"]=(m,D)=>w(D,m,h,!0))):(f.Ss&&(c["SparseMatrix,"+d]=t.referToSelf(m=>(D,v)=>f.Ss(D,v,m,!1))),w&&(c[d+", SparseMatrix"]=t.referToSelf(m=>(D,v)=>w(v,D,m,!0)))),h&&h.signatures&&Il(c,h.signatures),c}}),ig="matAlgo01xDSid",sg=["typed"],Uf=mt(ig,sg,i=>{var{typed:t}=i;return function(r,n,s,a){var l=r._data,f=r._size,h=r._datatype||r.getDataType(),p=n._values,c=n._index,d=n._ptr,g=n._size,w=n._datatype||n._data===void 0?n._datatype:n.getDataType();if(f.length!==g.length)throw new Gt(f.length,g.length);if(f[0]!==g[0]||f[1]!==g[1])throw new RangeError("Dimension mismatch. Matrix A ("+f+") must match Matrix B ("+g+")");if(!p)throw new Error("Cannot perform operation on Dense Matrix and Pattern Sparse Matrix");var m=f[0],D=f[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,O=d[N],C=d[N+1],T=O;T<C;T++)b=c[T],F[b]=a?E(p[T],l[b][N]):E(l[b][N],p[T]),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})}}),og="matAlgo04xSidSid",ag=["typed","equalScalar"],ug=mt(og,ag,i=>{var{typed:t,equalScalar:e}=i;return function(n,s,a){var l=n._values,f=n._index,h=n._ptr,p=n._size,c=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 Gt(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 c=="string"&&c===D&&c!=="mixed"&&(b=c,N=t.find(e,[b,b]),x=t.convert(0,b),F=t.find(a,[b,b]));var M=l&&d?[]:void 0,S=[],O=[],C=l&&d?[]:void 0,T=l&&d?[]:void 0,L=[],U=[],k,W,P,K,G;for(W=0;W<E;W++){O[W]=S.length;var V=W+1;for(K=h[W],G=h[W+1],P=K;P<G;P++)k=f[P],S.push(k),L[k]=V,C&&(C[k]=l[P]);for(K=w[W],G=w[W+1],P=K;P<G;P++)if(k=g[P],L[k]===V){if(C){var tt=F(C[k],d[P]);N(tt,x)?L[k]=null:C[k]=tt}}else S.push(k),U[k]=V,T&&(T[k]=d[P]);if(C&&T)for(P=O[W];P<S.length;)k=S[P],L[k]===V?(M[P]=C[k],P++):U[k]===V?(M[P]=T[k],P++):S.splice(P,1)}return O[E]=S.length,n.createSparseMatrix({values:M,index:S,ptr:O,size:[v,E],datatype:c===n._datatype&&D===s._datatype?b:void 0})}}),lg="matAlgo10xSids",fg=["typed","DenseMatrix"],Wf=mt(lg,fg,i=>{var{typed:t,DenseMatrix:e}=i;return function(n,s,a,l){var f=n._values,h=n._index,p=n._ptr,c=n._size,d=n._datatype;if(!f)throw new Error("Cannot perform operation on Pattern Sparse Matrix and Scalar value");var g=c[0],w=c[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 O=h[S];E[O]=f[S],b[O]=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})}}),cg="multiplyScalar",hg=["typed"],pg=mt(cg,hg,i=>{var{typed:t}=i;return t("multiplyScalar",{"number, number":Ff,"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)})}),jf="multiply",dg=["typed","matrix","addScalar","multiplyScalar","equalScalar","dot"],_g=mt(jf,dg,i=>{var{typed:t,matrix:e,addScalar:r,multiplyScalar:n,equalScalar:s,dot:a}=i,l=Ea({typed:t,equalScalar:s}),f=xa({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 c(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,O=x._datatype||x.getDataType(),C=F._data,T=F._size,L=F._datatype||F.getDataType(),U=S[0],k=T[1],W,P=r,K=n;O&&L&&O===L&&typeof O=="string"&&O!=="mixed"&&(W=O,P=t.find(r,[W,W]),K=t.find(n,[W,W]));for(var G=[],V=0;V<k;V++){for(var tt=K(M[0],C[0][V]),ft=1;ft<U;ft++)tt=P(tt,K(M[ft],C[ft][V]));G[V]=tt}return x.createDenseMatrix({data:G,size:[k],datatype:O===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,O=x._datatype||x.getDataType(),C=F._data,T=F._datatype||F.getDataType(),L=S[0],U=S[1],k,W=r,P=n;O&&T&&O===T&&typeof O=="string"&&O!=="mixed"&&(k=O,W=t.find(r,[k,k]),P=t.find(n,[k,k]));for(var K=[],G=0;G<L;G++){for(var V=M[G],tt=P(V[0],C[0]),ft=1;ft<U;ft++)tt=W(tt,P(V[ft],C[ft]));K[G]=tt}return x.createDenseMatrix({data:K,size:[L],datatype:O===x._datatype&&T===F._datatype?k:void 0})}function D(x,F){var M=x._data,S=x._size,O=x._datatype||x.getDataType(),C=F._data,T=F._size,L=F._datatype||F.getDataType(),U=S[0],k=S[1],W=T[1],P,K=r,G=n;O&&L&&O===L&&typeof O=="string"&&O!=="mixed"&&O!=="mixed"&&(P=O,K=t.find(r,[P,P]),G=t.find(n,[P,P]));for(var V=[],tt=0;tt<U;tt++){var ft=M[tt];V[tt]=[];for(var vt=0;vt<W;vt++){for(var lt=G(ft[0],C[0][vt]),yt=1;yt<k;yt++)lt=K(lt,G(ft[yt],C[yt][vt]));V[tt][vt]=lt}}return x.createDenseMatrix({data:V,size:[U,W],datatype:O===x._datatype&&L===F._datatype?P:void 0})}function v(x,F){var M=x._data,S=x._size,O=x._datatype||x.getDataType(),C=F._values,T=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],K,G=r,V=n,tt=s,ft=0;O&&k&&O===k&&typeof O=="string"&&O!=="mixed"&&(K=O,G=t.find(r,[K,K]),V=t.find(n,[K,K]),tt=t.find(s,[K,K]),ft=t.convert(0,K));for(var vt=[],lt=[],yt=[],bt=F.createSparseMatrix({values:vt,index:lt,ptr:yt,size:[W,P],datatype:O===x._datatype&&k===F._datatype?K:void 0}),Bt=0;Bt<P;Bt++){yt[Bt]=lt.length;var Et=L[Bt],ne=L[Bt+1];if(ne>Et)for(var It=0,Nt=0;Nt<W;Nt++){for(var se=Nt+1,Qt=void 0,qt=Et;qt<ne;qt++){var Kt=T[qt];It!==se?(Qt=V(M[Nt][Kt],C[qt]),It=se):Qt=G(Qt,V(M[Nt][Kt],C[qt]))}It===se&&!tt(Qt,ft)&&(lt.push(Nt),vt.push(Qt))}}return yt[P]=lt.length,bt}function E(x,F){var M=x._values,S=x._index,O=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 T=F._data,L=F._datatype||F.getDataType(),U=x._size[0],k=F._size[0],W=[],P=[],K=[],G,V=r,tt=n,ft=s,vt=0;C&&L&&C===L&&typeof C=="string"&&C!=="mixed"&&(G=C,V=t.find(r,[G,G]),tt=t.find(n,[G,G]),ft=t.find(s,[G,G]),vt=t.convert(0,G));var lt=[],yt=[];K[0]=0;for(var bt=0;bt<k;bt++){var Bt=T[bt];if(!ft(Bt,vt))for(var Et=O[bt],ne=O[bt+1],It=Et;It<ne;It++){var Nt=S[It];yt[Nt]?lt[Nt]=V(lt[Nt],tt(Bt,M[It])):(yt[Nt]=!0,P.push(Nt),lt[Nt]=tt(Bt,M[It]))}}for(var se=P.length,Qt=0;Qt<se;Qt++){var qt=P[Qt];W[Qt]=lt[qt]}return K[1]=P.length,x.createSparseMatrix({values:W,index:P,ptr:K,size:[U,1],datatype:C===x._datatype&&L===F._datatype?G:void 0})}function b(x,F){var M=x._values,S=x._index,O=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 T=F._data,L=F._datatype||F.getDataType(),U=x._size[0],k=F._size[0],W=F._size[1],P,K=r,G=n,V=s,tt=0;C&&L&&C===L&&typeof C=="string"&&C!=="mixed"&&(P=C,K=t.find(r,[P,P]),G=t.find(n,[P,P]),V=t.find(s,[P,P]),tt=t.convert(0,P));for(var ft=[],vt=[],lt=[],yt=x.createSparseMatrix({values:ft,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 ne=Et+1,It=0;It<k;It++){var Nt=T[It][Et];if(!V(Nt,tt))for(var se=O[It],Qt=O[It+1],qt=se;qt<Qt;qt++){var Kt=S[qt];Bt[Kt]!==ne?(Bt[Kt]=ne,vt.push(Kt),bt[Kt]=G(Nt,M[qt])):bt[Kt]=K(bt[Kt],G(Nt,M[qt]))}}for(var Ne=lt[Et],ur=vt.length,Be=Ne;Be<ur;Be++){var rn=vt[Be];ft[Be]=bt[rn]}}return lt[W]=vt.length,yt}function N(x,F){var M=x._values,S=x._index,O=x._ptr,C=x._datatype||x._data===void 0?x._datatype:x.getDataType(),T=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],K=M&&T,G,V=r,tt=n;C&&k&&C===k&&typeof C=="string"&&C!=="mixed"&&(G=C,V=t.find(r,[G,G]),tt=t.find(n,[G,G]));for(var ft=K?[]:void 0,vt=[],lt=[],yt=x.createSparseMatrix({values:ft,index:vt,ptr:lt,size:[W,P],datatype:C===x._datatype&&k===F._datatype?G:void 0}),bt=K?[]:void 0,Bt=[],Et,ne,It,Nt,se,Qt,qt,Kt,Ne=0;Ne<P;Ne++){lt[Ne]=vt.length;var ur=Ne+1;for(se=U[Ne],Qt=U[Ne+1],Nt=se;Nt<Qt;Nt++)if(Kt=L[Nt],K)for(ne=O[Kt],It=O[Kt+1],Et=ne;Et<It;Et++)qt=S[Et],Bt[qt]!==ur?(Bt[qt]=ur,vt.push(qt),bt[qt]=tt(T[Nt],M[Et])):bt[qt]=V(bt[qt],tt(T[Nt],M[Et]));else for(ne=O[Kt],It=O[Kt+1],Et=ne;Et<It;Et++)qt=S[Et],Bt[qt]!==ur&&(Bt[qt]=ur,vt.push(qt));if(K)for(var Be=lt[Ne],rn=vt.length,En=Be;En<rn;En++){var nn=vt[En];ft[En]=bt[nn]}}return lt[P]=vt.length,yt}return t(jf,n,{"Array, Array":t.referTo("Matrix, Matrix",x=>(F,M)=>{h(Fe(F),Fe(M));var S=x(e(F),e(M));return ce(S)?S.valueOf():S}),"Matrix, Matrix":function(F,M){var S=F.size(),O=M.size();return h(S,O),S.length===1?O.length===1?p(F,M,S[0]):c(F,M):O.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 f(F,M,n,!1)},"any, SparseMatrix":function(F,M){return l(M,F,n,!0)},"any, DenseMatrix":function(F,M){return f(M,F,n,!0)},"Array, any":function(F,M){return f(e(F),M,n,!1).valueOf()},"any, Array":function(F,M){return f(e(M),F,n,!0).valueOf()},"any, any":n,"any, any, ...any":t.referToSelf(x=>(F,M,S)=>{for(var O=x(F,M),C=0;C<S.length;C++)O=x(O,S[C]);return O})})}),Yf="subtract",mg=["typed","matrix","equalScalar","subtractScalar","unaryMinus","DenseMatrix","concat"],gg=mt(Yf,mg,i=>{var{typed:t,matrix:e,equalScalar:r,subtractScalar:n,unaryMinus:s,DenseMatrix:a,concat:l}=i,f=Uf({typed:t}),h=pi({typed:t}),p=kf({typed:t,equalScalar:r}),c=Wf({typed:t,DenseMatrix:a}),d=hi({typed:t,DenseMatrix:a}),g=Wn({typed:t,matrix:e,concat:l});return t(Yf,{"any, any":n},g({elop:n,SS:p,DS:f,SD:h,Ss:d,sS:c}))}),vg="matAlgo07xSSf",wg=["typed","DenseMatrix"],qs=mt(vg,wg,i=>{var{typed:t,DenseMatrix:e}=i;return function(s,a,l){var f=s._size,h=s._datatype||s._data===void 0?s._datatype:s.getDataType(),p=a._size,c=a._datatype||a._data===void 0?a._datatype:a.getDataType();if(f.length!==p.length)throw new Gt(f.length,p.length);if(f[0]!==p[0]||f[1]!==p[1])throw new RangeError("Dimension mismatch. Matrix A ("+f+") must match Matrix B ("+p+")");var d=f[0],g=f[1],w,m=0,D=l;typeof h=="string"&&h===c&&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 O=F[v]===S?N[v]:m,C=M[v]===S?x[v]:m;b[v][E]=D(O,C)}}return new e({data:b,size:[d,g],datatype:h===s._datatype&&c===a._datatype?w:void 0})};function r(n,s,a,l,f){for(var h=n._values,p=n._index,c=n._ptr,d=c[s],g=c[s+1];d<g;d++){var w=p[d];a[w]=f,l[w]=h[d]}}}),Zf="conj",yg=["typed"],Dg=mt(Zf,yg,i=>{var{typed:t}=i;return t(Zf,{"number | BigNumber | Fraction":e=>e,Complex:e=>e.conjugate(),"Array | Matrix":t.referToSelf(e=>r=>Lr(r,e))})}),Gf="concat",bg=["typed","matrix","isInteger"],Eg=mt(Gf,bg,i=>{var{typed:t,matrix:e,isInteger:r}=i;return t(Gf,{"...Array | Matrix | number | BigNumber":function(s){var a,l=s.length,f=-1,h,p=!1,c=[];for(a=0;a<l;a++){var d=s[a];if(ce(d)&&(p=!0),le(d)||Ee(d)){if(a!==l-1)throw new Error("Dimension must be specified as last argument");if(h=f,f=d.valueOf(),!r(f))throw new TypeError("Integer number expected for dimension");if(f<0||a>0&&f>h)throw new mn(f,h+1)}else{var g=re(d).valueOf(),w=Fe(g);if(c[a]=g,h=f,f=w.length-1,a>0&&f!==h)throw new Gt(h+1,f+1)}}if(c.length===0)throw new SyntaxError("At least one matrix expected");for(var m=c.shift();c.length;)m=Ql(m,c.shift(),f);return p?e(m):m},"...string":function(s){return s.join("")}})}),Kf="count",xg=["typed","size","prod"],Ag=mt(Kf,xg,i=>{var{typed:t,size:e,prod:r}=i;return t(Kf,{string:function(s){return s.length},"Matrix | Array":function(s){return r(e(s))}})}),Hf="identity",Cg=["typed","config","matrix","BigNumber","DenseMatrix","SparseMatrix"],Fg=mt(Hf,Cg,i=>{var{typed:t,config:e,matrix:r,BigNumber:n,DenseMatrix:s,SparseMatrix:a}=i;return t(Hf,{"":function(){return e.matrix==="Matrix"?r([]):[]},string:function(p){return r(p)},"number | BigNumber":function(p){return f(p,p,e.matrix==="Matrix"?"dense":void 0)},"number | BigNumber, string":function(p,c){return f(p,p,c)},"number | BigNumber, number | BigNumber":function(p,c){return f(p,c,e.matrix==="Matrix"?"dense":void 0)},"number | BigNumber, number | BigNumber, string":function(p,c,d){return f(p,c,d)},Array:function(p){return l(p)},"Array, string":function(p,c){return l(p,c)},Matrix:function(p){return l(p.valueOf(),p.storage())},"Matrix, string":function(p,c){return l(p.valueOf(),c)}});function l(h,p){switch(h.length){case 0:return p?r(p):[];case 1:return f(h[0],h[0],p);case 2:return f(h[0],h[1],p);default:throw new Error("Vector containing two values expected")}}function f(h,p,c){var d=Ee(h)||Ee(p)?n:null;if(Ee(h)&&(h=h.toNumber()),Ee(p)&&(p=p.toNumber()),!de(h)||h<1)throw new Error("Parameters in function identity must be positive integers");if(!de(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(c){if(c==="sparse")return a.diagonal(m,g,0,w);if(c==="dense")return s.diagonal(m,g,0,w);throw new TypeError('Unknown matrix type "'.concat(c,'"'))}for(var D=la([],m,w),v=h<p?h:p,E=0;E<v;E++)D[E][E]=g;return D}}),Jf="kron",Mg=["typed","matrix","multiplyScalar"],Ng=mt(Jf,Mg,i=>{var{typed:t,matrix:e,multiplyScalar:r}=i;return t(Jf,{"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(Fe(s).length===1&&(s=[s]),Fe(a).length===1&&(a=[a]),Fe(s).length>2||Fe(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=[],f=[];return s.map(function(h){return a.map(function(p){return f=[],l.push(f),h.map(function(c){return p.map(function(d){return f.push(r(c,d))})})})})&&l}});function Sg(){throw new Error('No "bignumber" implementation available')}function Bg(){throw new Error('No "fraction" implementation available')}function Tg(){throw new Error('No "matrix" implementation available')}var Xf="reshape",Ig=["typed","isInteger","matrix"],Og=mt(Xf,Ig,i=>{var{typed:t,isInteger:e}=i;return t(Xf,{"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)}),ca(n,s)}})}),Vf="size",$g=["typed","config","?matrix"],Lg=mt(Vf,$g,i=>{var{typed:t,config:e,matrix:r}=i;return t(Vf,{Matrix:function(s){return s.create(s.size())},Array:Fe,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([]):Tg()}})}),Qf="transpose",Rg=["typed","matrix"],Pg=mt(Qf,Rg,i=>{var{typed:t,matrix:e}=i;return t(Qf,{Array:a=>r(e(a)).valueOf(),Matrix:r,any:re});function r(a){var l=a.size(),f;switch(l.length){case 1:f=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: "+oe(l)+")");switch(a.storage()){case"dense":f=n(a,h,p);break;case"sparse":f=s(a,h,p);break}}break;default:throw new RangeError("Matrix must be a vector or two dimensional (size: "+oe(l)+")")}return f}function n(a,l,f){for(var h=a._data,p=[],c,d=0;d<f;d++){c=p[d]=[];for(var g=0;g<l;g++)c[g]=re(h[g][d])}return a.createDenseMatrix({data:p,size:[f,l],datatype:a._datatype})}function s(a,l,f){for(var h=a._values,p=a._index,c=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<f;b++)for(var F=c[b],M=c[b+1],S=F;S<M;S++){var O=m[p[S]]++;g[O]=b,h&&(d[O]=re(h[S]))}return a.createSparseMatrix({values:d,index:g,ptr:w,size:[f,l],datatype:a._datatype})}}),tc="ctranspose",zg=["typed","transpose","conj"],qg=mt(tc,zg,i=>{var{typed:t,transpose:e,conj:r}=i;return t(tc,{any:function(s){return r(e(s))}})}),ec="mode",kg=["typed","isNaN","isNumeric"],Ug=mt(ec,kg,i=>{var{typed:t,isNaN:e,isNumeric:r}=i;return t(ec,{"Array | Matrix":n,"...":function(a){return n(a)}});function n(s){s=pa(s.valueOf());var a=s.length;if(a===0)throw new Error("Cannot calculate mode of an empty array");for(var l={},f=[],h=0,p=0;p<s.length;p++){var c=s[p];if(r(c)&&e(c))throw new Error("Cannot calculate mode of an array containing NaN values");c in l||(l[c]=0),l[c]++,l[c]===h?f.push(c):l[c]>h&&(h=l[c],f=[c])}return f}});function Dn(i,t,e){var r;return String(i).indexOf("Unexpected type")!==-1?(r=arguments.length>2?" (type: "+_n(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: "+_n(e)+", value: "+JSON.stringify(e)+")":"",new TypeError("Cannot calculate "+t+", no ordering relation is defined for complex numbers"+r)):i}var rc="prod",Wg=["typed","config","multiplyScalar","numeric"],jg=mt(rc,Wg,i=>{var{typed:t,config:e,multiplyScalar:r,numeric:n}=i;return t(rc,{"Array | Matrix":s,"Array | Matrix, number | BigNumber":function(l,f){throw new Error("prod(A, dim) is not yet supported")},"...":function(l){return s(l)}});function s(a){var l;if(ji(a,function(f){try{l=l===void 0?f:r(l,f)}catch(h){throw Dn(h,"prod",f)}}),typeof l=="string"&&(l=n(l,e.number)),l===void 0)throw new Error("Cannot calculate prod of an empty array");return l}}),Yg="numeric",Zg=["number","?bignumber","?fraction"],Gg=mt(Yg,Zg,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):Sg,Fraction:r?a=>r(a):Bg};return function(l){var f=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=_n(l);if(!(p in n))throw new TypeError("Cannot convert "+l+' of type "'+p+'"; valid input types are '+Object.keys(n).join(", "));if(!(f in s))throw new TypeError("Cannot convert "+l+' to type "'+f+'"; valid output types are '+Object.keys(s).join(", "));return f===p?l:s[f](l)}}),nc="divideScalar",Kg=["typed","numeric"],Hg=mt(nc,Kg,i=>{var{typed:t,numeric:e}=i;return t(nc,{"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)})}),ic="pow",Jg=["typed","config","identity","multiply","matrix","inv","fraction","number","Complex"],Xg=mt(ic,Jg,i=>{var{typed:t,config:e,identity:r,multiply:n,matrix:s,inv:a,number:l,fraction:f,Complex:h}=i;return t(ic,{"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":c,"Array, BigNumber":function(w,m){return c(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&&!de(w)&&g<0)try{var m=f(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:de(w)||g>=0||e.predictable?Nf(g,w):g*g<1&&w===1/0||g*g>1&&w===-1/0?0:new h(g,0).pow(w,0)}function c(g,w){if(!de(w))throw new TypeError("For A^b, b must be an integer (value is "+w+")");var m=Fe(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 c(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(c(g.valueOf(),w))}}),sc="dotDivide",Vg=["typed","matrix","equalScalar","divideScalar","DenseMatrix","concat"],Qg=mt(sc,Vg,i=>{var{typed:t,matrix:e,equalScalar:r,divideScalar:n,DenseMatrix:s,concat:a}=i,l=Ym({typed:t,equalScalar:r}),f=pi({typed:t}),h=qs({typed:t,DenseMatrix:s}),p=Ea({typed:t,equalScalar:r}),c=hi({typed:t,DenseMatrix:s}),d=Wn({typed:t,matrix:e,concat:a});return t(sc,d({elop:n,SS:h,DS:f,SD:l,Ss:p,sS:c}))}),ks="compare",tv=["typed","config","matrix","equalScalar","BigNumber","Fraction","DenseMatrix","concat"],ev=mt(ks,tv,i=>{var{typed:t,config:e,equalScalar:r,matrix:n,BigNumber:s,Fraction:a,DenseMatrix:l,concat:f}=i,h=pi({typed:t}),p=kf({typed:t,equalScalar:r}),c=hi({typed:t,DenseMatrix:l}),d=Wn({typed:t,matrix:n,concat:f}),g=Ps({typed:t});return t(ks,rv({typed:t,config:e}),{"boolean, boolean":function(m,D){return m===D?0:m>D?1:-1},"BigNumber, BigNumber":function(m,D){return Rs(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:c}))}),rv=mt(ks,["typed","config"],i=>{var{typed:t,config:e}=i;return t(ks,{"number, number":function(n,s){return Un(n,s,e.epsilon)?0:n>s?1:-1}})}),Us="equal",nv=["typed","matrix","equalScalar","DenseMatrix","concat"],iv=mt(Us,nv,i=>{var{typed:t,matrix:e,equalScalar:r,DenseMatrix:n,concat:s}=i,a=pi({typed:t}),l=qs({typed:t,DenseMatrix:n}),f=hi({typed:t,DenseMatrix:n}),h=Wn({typed:t,matrix:e,concat:s});return t(Us,sv({typed:t,equalScalar:r}),h({elop:r,SS:l,DS:a,Ss:f}))}),sv=mt(Us,["typed","equalScalar"],i=>{var{typed:t,equalScalar:e}=i;return t(Us,{"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)}})}),Ws="smaller",ov=["typed","config","matrix","DenseMatrix","concat"],av=mt(Ws,ov,i=>{var{typed:t,config:e,matrix:r,DenseMatrix:n,concat:s}=i,a=pi({typed:t}),l=qs({typed:t,DenseMatrix:n}),f=hi({typed:t,DenseMatrix:n}),h=Wn({typed:t,matrix:r,concat:s}),p=Ps({typed:t});return t(Ws,uv({typed:t,config:e}),{"boolean, boolean":(c,d)=>c<d,"BigNumber, BigNumber":function(d,g){return d.lt(g)&&!Rs(d,g,e.epsilon)},"Fraction, Fraction":(c,d)=>c.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:f}))}),uv=mt(Ws,["typed","config"],i=>{var{typed:t,config:e}=i;return t(Ws,{"number, number":function(n,s){return n<s&&!Un(n,s,e.epsilon)}})}),js="larger",lv=["typed","config","matrix","DenseMatrix","concat"],fv=mt(js,lv,i=>{var{typed:t,config:e,matrix:r,DenseMatrix:n,concat:s}=i,a=pi({typed:t}),l=qs({typed:t,DenseMatrix:n}),f=hi({typed:t,DenseMatrix:n}),h=Wn({typed:t,matrix:r,concat:s}),p=Ps({typed:t});return t(js,cv({typed:t,config:e}),{"boolean, boolean":(c,d)=>c>d,"BigNumber, BigNumber":function(d,g){return d.gt(g)&&!Rs(d,g,e.epsilon)},"Fraction, Fraction":(c,d)=>c.compare(d)===1,"Complex, Complex":function(){throw new TypeError("No ordering relation is defined for complex numbers")}},p,h({SS:l,DS:a,Ss:f}))}),cv=mt(js,["typed","config"],i=>{var{typed:t,config:e}=i;return t(js,{"number, number":function(n,s){return n>s&&!Un(n,s,e.epsilon)}})}),oc="deepEqual",hv=["typed","equal"],pv=mt(oc,hv,i=>{var{typed:t,equal:e}=i;return t(oc,{"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)}}),ac="partitionSelect",dv=["typed","isNumeric","isNaN","compare"],_v=mt(ac,dv,i=>{var{typed:t,isNumeric:e,isNaN:r,compare:n}=i,s=n,a=(h,p)=>-n(h,p);return t(ac,{"Array | Matrix, number":function(p,c){return l(p,c,s)},"Array | Matrix, number, string":function(p,c,d){if(d==="asc")return l(p,c,s);if(d==="desc")return l(p,c,a);throw new Error('Compare string must be "asc" or "desc"')},"Array | Matrix, number, function":l});function l(h,p,c){if(!de(p)||p<0)throw new Error("k must be a non-negative integer");if(ce(h)){var d=h.size();if(d.length>1)throw new Error("Only one dimensional matrices supported");return f(h.valueOf(),p,c)}if(Array.isArray(h))return f(h,p,c)}function f(h,p,c){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(c(h[m],v)>=0){var E=h[D];h[D]=h[m],h[m]=E,--D}else++m;c(h[m],v)>0&&--m,p<=m?w=m:g=m+1}return h[p]}}),uc="max",mv=["typed","config","numeric","larger"],gv=mt(uc,mv,i=>{var{typed:t,config:e,numeric:r,larger:n}=i;return t(uc,{"Array | Matrix":a,"Array | Matrix, number | BigNumber":function(f,h){return ba(f,h.valueOf(),s)},"...":function(f){if(Os(f))throw new TypeError("Scalar values expected in function max");return a(f)}});function s(l,f){try{return n(l,f)?l:f}catch(h){throw Dn(h,"max",f)}}function a(l){var f;if(ji(l,function(h){try{isNaN(h)&&typeof h=="number"?f=NaN:(f===void 0||n(h,f))&&(f=h)}catch(p){throw Dn(p,"max",h)}}),f===void 0)throw new Error("Cannot calculate max of an empty array");return typeof f=="string"&&(f=r(f,e.number)),f}}),lc="min",vv=["typed","config","numeric","smaller"],wv=mt(lc,vv,i=>{var{typed:t,config:e,numeric:r,smaller:n}=i;return t(lc,{"Array | Matrix":a,"Array | Matrix, number | BigNumber":function(f,h){return ba(f,h.valueOf(),s)},"...":function(f){if(Os(f))throw new TypeError("Scalar values expected in function min");return a(f)}});function s(l,f){try{return n(l,f)?l:f}catch(h){throw Dn(h,"min",f)}}function a(l){var f;if(ji(l,function(h){try{isNaN(h)&&typeof h=="number"?f=NaN:(f===void 0||n(h,f))&&(f=h)}catch(p){throw Dn(p,"min",h)}}),f===void 0)throw new Error("Cannot calculate min of an empty array");return typeof f=="string"&&(f=r(f,e.number)),f}}),fc="add",yv=["typed","matrix","addScalar","equalScalar","DenseMatrix","SparseMatrix","concat"],Dv=mt(fc,yv,i=>{var{typed:t,matrix:e,addScalar:r,equalScalar:n,DenseMatrix:s,SparseMatrix:a,concat:l}=i,f=Uf({typed:t}),h=ug({typed:t,equalScalar:n}),p=Wf({typed:t,DenseMatrix:s}),c=Wn({typed:t,matrix:e,concat:l});return t(fc,{"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})},c({elop:r,DS:f,SS:h,Ss:p}))}),cc="dot",bv=["typed","addScalar","multiplyScalar","conj","size"],Ev=mt(cc,bv,i=>{var{typed:t,addScalar:e,multiplyScalar:r,conj:n,size:s}=i;return t(cc,{"Array | DenseMatrix, Array | DenseMatrix":l,"SparseMatrix, SparseMatrix":f});function a(p,c){var d=h(p),g=h(c),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,c){var d=a(p,c),g=ce(p)?p._data:p,w=ce(p)?p._datatype||p.getDataType():void 0,m=ce(c)?c._data:c,D=ce(c)?c._datatype||c.getDataType():void 0,v=h(p).length===2,E=h(c).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]),O=1;O<d;O++)S=b(S,N(n(g[O]),m[O][0]));return S}if(v&&!E){for(var C=N(n(g[0][0]),m[0]),T=1;T<d;T++)C=b(C,N(n(g[T][0]),m[T]));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 f(p,c){a(p,c);for(var d=p._index,g=p._values,w=c._index,m=c._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 ce(p)?p.size():s(p)}}),xv="trace",Av=["typed","matrix","add"],Cv=mt(xv,Av,i=>{var{typed:t,matrix:e,add:r}=i;return t("trace",{Array:function(l){return n(e(l))},SparseMatrix:s,DenseMatrix:n,any:re});function n(a){var l=a._size,f=a._data;switch(l.length){case 1:if(l[0]===1)return re(f[0]);throw new RangeError("Matrix must be square (size: "+oe(l)+")");case 2:{var h=l[0],p=l[1];if(h===p){for(var c=0,d=0;d<h;d++)c=r(c,f[d][d]);return c}else throw new RangeError("Matrix must be square (size: "+oe(l)+")")}default:throw new RangeError("Matrix must be two dimensional (size: "+oe(l)+")")}}function s(a){var l=a._values,f=a._index,h=a._ptr,p=a._size,c=p[0],d=p[1];if(c===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=f[v];if(E===w){g=r(g,l[v]);break}if(E>w)break}return g}throw new RangeError("Matrix must be square (size: "+oe(p)+")")}}),hc="det",Fv=["typed","matrix","subtractScalar","multiply","divideScalar","isZero","unaryMinus"],Mv=mt(hc,Fv,i=>{var{typed:t,matrix:e,subtractScalar:r,multiply:n,divideScalar:s,isZero:a,unaryMinus:l}=i;return t(hc,{any:function(p){return re(p)},"Array | Matrix":function(p){var c;switch(ce(p)?c=p.size():Array.isArray(p)?(p=e(p),c=p.size()):c=[],c.length){case 0:return re(p);case 1:if(c[0]===1)return re(p.valueOf()[0]);if(c[0]===0)return 1;throw new RangeError("Matrix must be square (size: "+oe(c)+")");case 2:{var d=c[0],g=c[1];if(d===g)return f(p.clone().valueOf(),d);if(g===0)return 1;throw new RangeError("Matrix must be square (size: "+oe(c)+")")}default:throw new RangeError("Matrix must be two dimensional (size: "+oe(c)+")")}}});function f(h,p,c){if(p===1)return re(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}}),pc="inv",Nv=["typed","matrix","divideScalar","addScalar","multiply","unaryMinus","det","identity","abs"],Sv=mt(pc,Nv,i=>{var{typed:t,matrix:e,divideScalar:r,addScalar:n,multiply:s,unaryMinus:a,det:l,identity:f,abs:h}=i;return t(pc,{"Array | Matrix":function(d){var g=ce(d)?d.size():Fe(d);switch(g.length){case 1:if(g[0]===1)return ce(d)?e([r(1,d.valueOf()[0])]):[r(1,d[0])];throw new RangeError("Matrix must be square (size: "+oe(g)+")");case 2:{var w=g[0],m=g[1];if(w===m)return ce(d)?e(p(d.valueOf(),w,m),d.storage()):p(d,w,m);throw new RangeError("Matrix must be square (size: "+oe(g)+")")}default:throw new RangeError("Matrix must be two dimensional (size: "+oe(g)+")")}},any:function(d){return r(1,d)}});function p(c,d,g){var w,m,D,v,E;if(d===1){if(v=c[0][0],v===0)throw Error("Cannot calculate inverse, determinant is zero");return[[r(1,v)]]}else if(d===2){var b=l(c);if(b===0)throw Error("Cannot calculate inverse, determinant is zero");return[[r(c[1][1],b),r(a(c[0][1]),b)],[r(a(c[1][0]),b),r(c[0][0],b)]]}else{var N=c.concat();for(w=0;w<d;w++)N[w]=N[w].concat();for(var x=f(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 O=N[F],C=x[F];for(w=0;w<d;w++){var T=N[w],L=x[w];if(w!==F){if(T[F]!==0){for(D=r(a(T[F]),O[F]),m=F;m<g;m++)T[m]=n(T[m],s(D,O[m]));for(m=0;m<g;m++)L[m]=n(L[m],s(D,C[m]))}}else{for(D=O[F],m=F;m<g;m++)T[m]=r(T[m],D);for(m=0;m<g;m++)L[m]=r(L[m],D)}}}return x}}}),dc="pinv",Bv=["typed","matrix","inv","deepEqual","equal","dotDivide","dot","ctranspose","divideScalar","multiply","add","Complex"],Tv=mt(dc,Bv,i=>{var{typed:t,matrix:e,inv:r,deepEqual:n,equal:s,dotDivide:a,dot:l,ctranspose:f,divideScalar:h,multiply:p,add:c,Complex:d}=i;return t(dc,{"Array | Matrix":function(b){var N=ce(b)?b.size():Fe(b);switch(N.length){case 1:return v(b)?f(b):N[0]===1?r(b):a(f(b),l(b,b));case 2:{if(v(b))return f(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 ce(b)?e(g(b.valueOf(),x,F),b.storage()):g(b,x,F)}default:throw new RangeError("Matrix must be two dimensional (size: "+oe(N)+")")}},any:function(b){return s(b,0)?re(b):h(1,b)}});function g(E,b,N){var{C:x,F}=m(E,b,N),M=p(r(p(f(x),x)),f(x)),S=p(f(F),r(p(F,f(F))));return p(S,M)}function w(E,b,N){for(var x=re(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 O=x[M][F],C=0;C<N;C++)x[M][C]=a(x[M][C],O);for(var T=0;T<b;T++)if(T!==M){O=x[T][F];for(var L=0;L<N;L++)x[T][L]=c(x[T][L],p(-1,p(O,x[M][L])))}F++}return x}function m(E,b,N){var x=w(E,b,N),F=E.map((S,O)=>S.filter((C,T)=>T<b&&!D(l(x[T],x[T])))),M=x.filter((S,O)=>!D(l(x[O],x[O])));return{C:F,F:M}}function D(E){return s(c(E,d(1,1)),c(0,d(1,1)))}function v(E){return n(c(E,d(1,1)),c(p(E,0),d(1,1)))}}),Iv="divide",Ov=["typed","matrix","multiply","equalScalar","divideScalar","inv"],$v=mt(Iv,Ov,i=>{var{typed:t,matrix:e,multiply:r,equalScalar:n,divideScalar:s,inv:a}=i,l=Ea({typed:t,equalScalar:n}),f=xa({typed:t});return t("divide",Il({"Array | Matrix, Array | Matrix":function(p,c){return r(p,a(c))},"DenseMatrix, any":function(p,c){return f(p,c,s,!1)},"SparseMatrix, any":function(p,c){return l(p,c,s,!1)},"Array, any":function(p,c){return f(e(p),c,s,!1).valueOf()},"any, Array | Matrix":function(p,c){return r(p,a(c))}},s.signatures))}),_c="sum",Lv=["typed","config","add","numeric"],Rv=mt(_c,Lv,i=>{var{typed:t,config:e,add:r,numeric:n}=i;return t(_c,{"Array | Matrix":s,"Array | Matrix, number | BigNumber":a,"...":function(f){if(Os(f))throw new TypeError("Scalar values expected in function sum");return s(f)}});function s(l){var f;return ji(l,function(h){try{f=f===void 0?h:r(f,h)}catch(p){throw Dn(p,"sum",h)}}),f===void 0&&(f=n(0,e.number)),typeof f=="string"&&(f=n(f,e.number)),f}function a(l,f){try{var h=ba(l,f,r);return h}catch(p){throw Dn(p,"sum")}}}),mc="median",Pv=["typed","add","divide","compare","partitionSelect"],zv=mt(mc,Pv,i=>{var{typed:t,add:e,divide:r,compare:n,partitionSelect:s}=i;function a(h){try{h=pa(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 c=p/2-1,d=s(h,c+1),g=h[c],w=0;w<c;++w)n(h[w],g)>0&&(g=h[w]);return f(g,d)}else{var m=s(h,(p-1)/2);return l(m)}}catch(D){throw Dn(D,"median")}}var l=t({"number | BigNumber | Complex | Unit":function(p){return p}}),f=t({"number | BigNumber | Complex | Unit, number | BigNumber | Complex | Unit":function(p,c){return r(e(p,c),2)}});return t(mc,{"Array | Matrix":a,"Array | Matrix, number | BigNumber":function(p,c){throw new Error("median(A, dim) is not yet supported")},"...":function(p){if(Os(p))throw new TypeError("Scalar values expected in function median");return a(p)}})}),Ys=q_({config:or}),Aa=j_({}),Ca=K_({}),Fa=X_({}),Gr=tm({Matrix:Fa}),Mt=Wd({BigNumber:Ys,Complex:Aa,DenseMatrix:Gr,Fraction:Ca}),qv=Tm({typed:Mt}),Zs=Om({typed:Mt}),kv=Em({BigNumber:Ys,typed:Mt}),gc=Dg({typed:Mt}),bn=hm({config:or,typed:Mt}),Gs=nm({typed:Mt}),Uv=am({typed:Mt}),Ks=pg({typed:Mt}),vc=ym({typed:Mt}),Ma=_m({Matrix:Fa,equalScalar:bn,typed:Mt}),wc=Lm({typed:Mt}),yc=lm({typed:Mt}),Na=Sm({typed:Mt}),Dc=Cm({Fraction:Ca,typed:Mt}),bc=sm({typed:Mt}),Me=Mm({DenseMatrix:Gr,Matrix:Fa,SparseMatrix:Ma,typed:Mt}),Ec=Ug({isNaN:yc,isNumeric:bc,typed:Mt}),Yi=Gg({bignumber:kv,fraction:Dc,number:vc}),Wv=jg({config:or,multiplyScalar:Ks,numeric:Yi,typed:Mt}),jv=Og({isInteger:Gs,matrix:Me,typed:Mt}),xc=Lg({matrix:Me,config:or,typed:Mt}),Ac=Pg({matrix:Me,typed:Mt}),jn=Eg({isInteger:Gs,matrix:Me,typed:Mt}),Yv=Ag({prod:Wv,size:xc,typed:Mt}),Zv=qg({conj:gc,transpose:Ac,typed:Mt}),Zi=Hg({numeric:Yi,typed:Mt}),Gv=Qg({DenseMatrix:Gr,concat:jn,divideScalar:Zi,equalScalar:bn,matrix:Me,typed:Mt}),Cc=iv({DenseMatrix:Gr,concat:jn,equalScalar:bn,matrix:Me,typed:Mt}),Fc=Fg({BigNumber:Ys,DenseMatrix:Gr,SparseMatrix:Ma,config:or,matrix:Me,typed:Mt}),Kv=Ng({matrix:Me,multiplyScalar:Ks,typed:Mt}),Hv=av({DenseMatrix:Gr,concat:jn,config:or,matrix:Me,typed:Mt}),Jv=gg({DenseMatrix:Gr,concat:jn,equalScalar:bn,matrix:Me,subtractScalar:wc,typed:Mt,unaryMinus:Na}),Gi=Dv({DenseMatrix:Gr,SparseMatrix:Ma,addScalar:Zs,concat:jn,equalScalar:bn,matrix:Me,typed:Mt}),Mc=ev({BigNumber:Ys,DenseMatrix:Gr,Fraction:Ca,concat:jn,config:or,equalScalar:bn,matrix:Me,typed:Mt}),Xv=pv({equal:Cc,typed:Mt}),Nc=Ev({addScalar:Zs,conj:gc,multiplyScalar:Ks,size:xc,typed:Mt}),Vv=fv({DenseMatrix:Gr,concat:jn,config:or,matrix:Me,typed:Mt}),Sa=wv({config:or,numeric:Yi,smaller:Hv,typed:Mt}),di=_g({addScalar:Zs,dot:Nc,equalScalar:bn,matrix:Me,multiplyScalar:Ks,typed:Mt}),Qv=_v({compare:Mc,isNaN:yc,isNumeric:bc,typed:Mt}),t1=Rv({add:Gi,config:or,numeric:Yi,typed:Mt}),e1=Cv({add:Gi,matrix:Me,typed:Mt}),Sc=Mv({divideScalar:Zi,isZero:Uv,matrix:Me,multiply:di,subtractScalar:wc,typed:Mt,unaryMinus:Na}),r1=gv({config:or,larger:Vv,numeric:Yi,typed:Mt}),Hs=Sv({abs:qv,addScalar:Zs,det:Sc,divideScalar:Zi,identity:Fc,matrix:Me,multiply:di,typed:Mt,unaryMinus:Na}),n1=Tv({Complex:Aa,add:Gi,ctranspose:Zv,deepEqual:Xv,divideScalar:Zi,dot:Nc,dotDivide:Gv,equal:Cc,inv:Hs,matrix:Me,multiply:di,typed:Mt}),i1=Xg({Complex:Aa,config:or,fraction:Dc,identity:Fc,inv:Hs,matrix:Me,multiply:di,number:vc,typed:Mt}),s1=$v({divideScalar:Zi,equalScalar:bn,inv:Hs,matrix:Me,multiply:di,typed:Mt}),Bc=zv({add:Gi,compare:Mc,divide:s1,partitionSelect:Qv,typed:Mt});class o1{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 f=r*(e-1);s&&(f=Math.floor(f));const h=e/n;let p=0,c=0;for(let d=0;d<=e-1;d++){const g=Math.exp(-1*Math.pow(d-f,2)/(2*Math.pow(h,2)));p+=g,c+=l[l.length-1-(e-d-1)]*g}return c/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=t1(...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,f=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:f,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 f=0;f<e;f++){const h=this._sum(s[s.length-1-f],-(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 f=n[n.length-1-l];a+=f*(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 f=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;f+=m*D,h+=m*m,p+=D*D}return isNaN(h)||isNaN(f)||isNaN(p)?void 0:f/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 f=a[a.length-1-l];s+=Math.abs(f-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:f,NDMS:h,TRS:p,ADX:c,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:f,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:(f||0)+D,NDMS:(h||0)+v,TRS:(p||0)+E,count:d+1}),[void 0,void 0,void 0];{const b=f-f/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 O=S,C=[F,M,void 0];if(d+1-t<e){const T=d+1-t;O=((c||0)*(T-1)+S)/T}else O=(c*(e-1)+S)/e,C=[F,M,O];return this._cacheDataHandle(n,{low:g,high:w,close:m,PDMS:b,NDMS:N,TRS:x,ADX:O,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,c,d)=>p>=d[h]?c: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 f=(e-l)*e;s+=f,a+=n[n.length-1-l]*f}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:f,low:h}=this._variables,p=n?l.tr:f-h,c=this.ema({source:p,length:e},`range_${s}`);return[a,a+c*r,a-c*r]}kcw({series:t,length:e,mult:r,useTrueRange:n=!0},s){if(t===void 0||isNaN(t)||e===void 0||r===void 0)return;const a=this.ema({source:t,length:e},s),{ta:l,high:f,low:h}=this._variables,p=n?l.tr:f-h,c=this.ema({source:p,length:e},`range_${s}`);return(a+c*r-(a-c*r))/a}linreg({source:t,length:e,offset:r},n){if(e===void 0||r===void 0)return;const s=this._cacheDataList(t,e,`dev_${n}`);if(!s)return;const a=s.slice(-e).filter(g=>g!==void 0);let l=0,f=0,h=0,p=0;for(const[g,w]of a.entries())l+=g,f+=w,h+=g*w,p+=g*g;const c=(e*h-l*f)/(e*p-l*l);return(f-c*l)/e+c*(e-1-r)}lowest({source:t,length:e},r){if(e===void 0||e<=0)return;const n=this._cacheData[`lowest_${r}`]||[],{low:s,bar_index:a}=this._variables;typeof t!="number"?n[a]=s:n[a]=t,this._cacheData[`lowest_${r}`]=n;const 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,c,d)=>p<=d[h]?c: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 f=a-l,h=this.ema({source:f,length:n},`macd_${s}`);if(h===void 0)return[f,h,void 0];const p=f-h;return[f,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 Bc(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 Sa(Ec(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 f=1/(l*2);if(r<=f)return a[0];if(r>=1-1/(l*2))return a[l-1];for(const[h,p]of a.entries()){const c=a[h-1];if(r<(h+.5)/l)return c===void 0||p===void 0?void 0:c+(p-c)*(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,f=Math.ceil(l)-1;return a[f>=a.length?a.length-1:f]}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 f=0;f<s.length;f++)s[f]!==void 0&&(s[f]<a||s[f]===a&&f<e)&&l++;return l/(s.length-1)*100}pivot_point_levels({type:t,anchor:e,developing:r},n){const s=new Jt;let{close:a,open:l,low:f,high:h}=this._variables;const p=`pivot_point_levels_${n}`,{close:c,low:d,high:g,open:w,result:m}=this._cacheData[p]||{};if(!e&&(g&&d&&(h=Math.max(g,h),f=Math.min(d,f)),this._cacheDataHandle(p,{close:a,open:l,low:f,high:h,result:m}),!r))return s._value=m||[],s;const D={close:a,open:l,low:f,high:h};e===!0&&!r&&(a=c,l=w,f=d,h=g);const v=this._getPivotPointLevels(h,f,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 kn.traditional:return this._traditional(t,e,r);case kn.fibonacci:return this._fibonacci(t,e,r);case kn.woodie:return s?[]:this._woodie(t,e);case kn.classic:return this._classic(t,e,r);case kn.dm:return this._DM(t,e,r,n);case kn.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),f=n*3+(t-3*e),h=n*4+(t-4*e),p=n*2-t,c=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,c,l,d,f,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),f=n-.618*(t-e),h=n+(t-e),p=n-(t-e);return[n,s,a,l,f,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),f=n-(t-e),h=t+2*(n-e),p=e-2*(t-n),c=h+(t-e),d=p-(t-e);return[n,s,a,l,f,h,p,c,d]}_classic(t,e,r){const n=(t+e+r)/3,s=2*n-e,a=2*n-t,l=n+(t-e),f=n-(t-e),h=n+2*(t-e),p=n-2*(t-e),c=n+3*(t-e),d=n-3*(t-e);return[n,s,a,l,f,h,p,c,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,f=s/2-t;return[a,l,f]}_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,f=r-1.1*(t-e)/6,h=r+1.1*(t-e)/4,p=r-1.1*(t-e)/4,c=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,f,h,p,c,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(f=>f!==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}`),f=this.rma({source:a,length:e},`rma2_${r}`);if(this._cacheDataHandle(`rsi_${r}`,{source:t}),!(l===void 0||f===void 0))return 100-100/(1+l/f)}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:f,preHigh:h,data:p={}}=this._cacheData[`sar_${n}`]||{};let{result:c,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,c=a):(w=!1,d=v,c=l),m=!0,g=t),c=c+g*(d-c),w?c>v&&(m=!0,w=!1,c=Math.max(E,d||0),d=v,g=t):c<E&&(m=!0,w=!0,c=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?(c=Math.min(c,a),b>1&&(c=Math.min(c,f))):(c=Math.max(c,l),b>1&&(c=Math.max(c,h))),this._cacheDataHandle(`sar_${n}`,{high:E,close:D,low:v,preLow:a,preHigh:l,data:Object.assign(p,{result:c,maxMin:d,acceleration:g,isBelow:w})}),c}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:f,superTrend:h,atr:p,close:c}=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=f||0;w=w>D||c<D?w:D,g=g<m||c>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 f=this.ema({source:l,length:r},`ema2_${n}`),h=this.ema({source:a,length:e},`absema2_${n}`);if(f!==void 0)return f/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 f=l.reduce((h,p)=>h+Math.pow(p-s,2),0);if(f!==void 0)return r||e<=1?f/e:f/(e-1)}vwap({source:t,anchor:e,stdev_mult:r},n){if(t===void 0)return;e=e===void 0?this._timeframe.change({timeframe:"1D"},n):e;const{volume:s}=this._variables;let{sum:a=0,sumV:l=0,count:f=0,isReset:h,sumS:p=0}=this._cacheData[`vwap_${n}`]||{};if(e&&(a=l=f=p=0,h=!0),!h)return r!==void 0?[]:void 0;const c=t*s+a,d=s+l,g=c/d;return f++,r!==void 0?(p=s*Math.pow(t,2)+p,this._cacheDataHandle(`vwap_${n}`,{sum:c,sumV:d,count:f,isReset:h,sumS:p}),this._computeBands(p,d,r,g)):(this._cacheDataHandle(`vwap_${n}`,{sum:c,sumV:d,count:f,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,f=a!==void 0&&!isNaN(a)?n-r*a:void 0;return[n,l,f]}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,f=t[s];if(f!==void 0){if(a!==void 0&&f<a){t.splice(s,1),t.splice(l,0,f),n={currentIndex:l+1,currentVal:a};continue}n={currentIndex:s,currentVal:f}}}}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 a1={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",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 undefined 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."};Ur.SERIES,Ur.SIMPLE,Ur.INPUT,Ur.CONST,Ur.INT,Ur.FLOAT,Ur.BOOL,Ur.COLOR,Ur.STRING;const u1=["close","open","high","low","hl2","hlc3","hlcc4","ohlc4","volume"];class l1{constructor(t,e){z(this,"_cacheData");z(this,"_variables");z(this,"_errorListener");z(this,"_count");z(this,"_historyInputs");z(this,"_name");this._cacheData={},this._variables=t,this._errorListener=e,this._count=-1,this._name=`inputs_${Op()}`,this._historyInputs=self.workerStorage.get(this._name)||{}}update(t){for(const e of t){const r=e.id;if(!this._cacheData[r])return;Object.assign(this._cacheData[r],{...e,isModify:!0}),self.workerStorage.updateValue(this._name,`in_${e.index}`,{modifyDefval:e.sourceTypeName||e.defval})}}input(t,e){return this._cacheHandle(t,e)}int(t,e){return this._cacheHandle(t,e,"int")}bool(t,e){return this._cacheHandle(t,e,"bool")}color(t,e){return this._cacheHandle(t,e,"color")}time(t,e){return this._cacheHandle(t,e,"time")}float(t,e){return this._cacheHandle(t,e,"float")}price(t,e){return this._cacheHandle(t,e,"price")}source(t,e){return this._cacheHandle(t,e,"source")}string(t,e){return this._cacheHandle(t,e,"string")}symbol(t,e){return this._cacheHandle(t,e,"symbol")}session(t,e){return this._cacheHandle(t,e,"session")}text_area(t,e){return this._cacheHandle(t,e,"text_area")}timeframe(t,e){return this._cacheHandle(t,e,"timeframe")}_cacheHandle(t,e,r){const n=`${r||"input"}_${e}`,s=this._cacheData[n];if(t.defval===void 0&&this._errorListener.addError(a1.inputDefvalErr,e,Ce.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),this._count++,t={inputType:r,...t,index:this._count},this._cacheData[n]=t,this._judgeHistoryInputs(t),(r||t.inputType)==="source"?this._cacheData[n].options=u1: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,Ce.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:f,modifyDefval:h}=l;f===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(ir.dataWindow)||e.includes(ir.statusLine)||this._errorListener.addError("Invalid argument 'display' in 'input' call. Possible values: [display.none, display.data_window, display.status_line, display.all]",t,Ce.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}_getGroups(t){const e=[];for(const[r,n]of t)e.push({name:r,inputs:n});return e}}class f1{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:f,g:h,b:p,a:c}=this._parseColor(n||"rgba(0,0,0,0)"),{r:d,g,b:w,a:m}=this._parseColor(s||"rgba(0,0,0,0)"),D=f+l*(d-f),v=h+l*(g-h),E=p+l*(w-p),b=c+l*(m-c);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 c1=Object.prototype.toString;function Ki(i){const t=c1.call(i);return t.endsWith("Array]")&&!t.includes("Big")}var h1=Object.freeze({__proto__:null,isAnyArray:Ki}),p1=be(h1);function d1(i){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!Ki(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 _1(i){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!Ki(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 m1(i){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(Ki(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(!Ki(t.output))throw new TypeError("output option must be an array if specified");e=t.output}else e=new Array(i.length);var r=_1(i),n=d1(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,f=l===void 0?t.autoMinMax?n:1:l;if(a>=f)throw new RangeError("min option must be smaller than max option");for(var h=(f-a)/(n-r),p=0;p<i.length;p++)e[p]=(i[p]-r)*h+a;return e}var g1=Object.freeze({__proto__:null,default:m1}),v1=be(g1);Object.defineProperty(zt,"__esModule",{value:!0});var Qe=p1,Tc=v1;const Js=" ".repeat(2),Ic=" ".repeat(4);function w1(){return Oc(this)}function Oc(i,t={}){const{maxRows:e=15,maxColumns:r=10,maxNumSize:n=8,padMinus:s="auto"}=t;return`${i.constructor.name} {
54
+ (`+oe(S,m)+", "+oe(N,m)+") ==> "+(this._values?oe(this._values[M],m):"X")}return b},n.prototype.toString=function(){return oe(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(Ee(m)&&(m=m.toNumber()),!le(m)||!de(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],T=I;T<C;T++){var L=this._index[T];if(L===S-D+v){x.push(this._values[T]),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(!ve(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(Q){if(Ee(Q)&&(Q=Q.toNumber()),!le(Q)||!de(Q)||Q<1)throw new Error("Size values must be positive integers");return Q}),v){if(Ee(v)&&(v=v.toNumber()),!le(v)||!de(v))throw new TypeError("The parameter k must be an integer number")}else v=0;var N=e,x=0;Zr(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),T;if(ve(D)){if(D.length!==C)throw new Error("Invalid value array length");T=function(tt){return D[tt]}}else if(ce(D)){var L=D.size();if(L.length!==1||L[0]!==C)throw new Error("Invalid matrix length");T=function(tt){return D.get([tt])}}else T=function(){return D};for(var U=[],k=[],W=[],P=0;P<I;P++){W.push(U.length);var K=P-F;if(K>=0&&K<C){var G=T(K);N(G,x)||(k.push(K+M),U.push(G))}}return W.push(U.length),new n({values:U,index:k,ptr:W,size:[S,I]})},n.prototype.swapRows=function(m,D){if(!le(m)||!de(m)||!le(D)||!de(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 we(m,this._size[0]),we(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 T=E?E[S]:void 0;b.splice(I,0,D),E&&E.splice(I,0,T),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}),gm="number",vm=["typed"];function wm(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 ym(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 Dm=mt(gm,vm,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=wm(n);if(s)return ym(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 f=Number(n);if(isNaN(f))throw new SyntaxError('String "'+n+'" is not a valid number');if(l){if(f>2**a-1)throw new SyntaxError('String "'.concat(n,'" is out of range'));f>=2**(a-1)&&(f=f-2**a)}return f},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=>Rr(n,r))});return e.fromJSON=function(r){return parseFloat(r.value)},e}),bm="bignumber",Em=["typed","BigNumber"],xm=mt(bm,Em,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]),f=new e(2).pow(Number(a));if(l.gt(f.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(f):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=>Rr(n,r))})}),Am="fraction",Cm=["typed","Fraction"],Fm=mt(Am,Cm,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=>Rr(n,r))})}),Rf="matrix",Mm=["typed","Matrix","DenseMatrix","SparseMatrix"],Nm=mt(Rf,Mm,i=>{var{typed:t,Matrix:e,DenseMatrix:r,SparseMatrix:n}=i;return t(Rf,{"":function(){return s([])},string:function(l){return s([],l)},"string, string":function(l,f){return s([],l,f)},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,f){if(l==="dense"||l==="default"||l===void 0)return new r(a,f);if(l==="sparse")return new n(a,f);throw new TypeError("Unknown matrix type "+JSON.stringify(l)+".")}}),Pf="unaryMinus",Sm=["typed"],Bm=mt(Pf,Sm,i=>{var{typed:t}=i;return t(Pf,{number:Nf,"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=>Rr(r,e))})}),zf="abs",Tm=["typed"],Om=mt(zf,Tm,i=>{var{typed:t}=i;return t(zf,{number:Af,"Complex | BigNumber | Fraction | Unit":e=>e.abs(),"Array | Matrix":t.referToSelf(e=>r=>Rr(r,e))})}),qf="addScalar",Im=["typed"],$m=mt(qf,Im,i=>{var{typed:t}=i;return t(qf,{"number, number":Cf,"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})})}),kf="subtractScalar",Lm=["typed"],Rm=mt(kf,Lm,i=>{var{typed:t}=i;return t(kf,{"number, number":Ff,"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})})}),Pm="matAlgo11xS0s",zm=["typed","equalScalar"],xa=mt(Pm,zm,i=>{var{typed:t,equalScalar:e}=i;return function(n,s,a,l){var f=n._values,h=n._index,p=n._ptr,c=n._size,d=n._datatype;if(!f)throw new Error("Cannot perform operation on Pattern Sparse Matrix and Scalar value");var g=c[0],w=c[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],T=l?E(s,f[I]):E(f[I],s);D(T,v)||(N.push(C),b.push(T))}}return x[w]=N.length,n.createSparseMatrix({values:b,index:N,ptr:x,size:[g,w],datatype:m})}}),qm="matAlgo12xSfs",km=["typed","DenseMatrix"],pi=mt(qm,km,i=>{var{typed:t,DenseMatrix:e}=i;return function(n,s,a,l){var f=n._values,h=n._index,p=n._ptr,c=n._size,d=n._datatype;if(!f)throw new Error("Cannot perform operation on Pattern Sparse Matrix and Scalar value");var g=c[0],w=c[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]=f[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})}}),Um="matAlgo14xDs",Wm=["typed"],Aa=mt(Um,Wm,i=>{var{typed:t}=i;return function(n,s,a,l){var f=n._data,h=n._size,p=n._datatype,c,d=a;typeof p=="string"&&(c=p,s=t.convert(s,c),d=t.find(a,[c,c]));var g=h.length>0?e(d,0,h,h[0],f,s,l):[];return n.createDenseMatrix({data:g,size:re(h),datatype:c})};function e(r,n,s,a,l,f,h){var p=[];if(n===s.length-1)for(var c=0;c<a;c++)p[c]=h?r(f,l[c]):r(l[c],f);else for(var d=0;d<a;d++)p[d]=e(r,n+1,s,s[n+1],l[d],f,h);return p}}),jm="matAlgo02xDS0",Ym=["typed","equalScalar"],Zm=mt(jm,Ym,i=>{var{typed:t,equalScalar:e}=i;return function(n,s,a,l){var f=n._data,h=n._size,p=n._datatype||n.getDataType(),c=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 Gt(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(!c)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],T=g[I+1],L=C;L<T;L++){var U=d[L],k=l?x(c[L],f[U][I]):x(f[U][I],c[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})}}),Gm="matAlgo03xDSf",Km=["typed"],di=mt(Gm,Km,i=>{var{typed:t}=i;return function(r,n,s,a){var l=r._data,f=r._size,h=r._datatype||r.getDataType(),p=n._values,c=n._index,d=n._ptr,g=n._size,w=n._datatype||n._data===void 0?n._datatype:n.getDataType();if(f.length!==g.length)throw new Gt(f.length,g.length);if(f[0]!==g[0]||f[1]!==g[1])throw new RangeError("Dimension mismatch. Matrix A ("+f+") must match Matrix B ("+g+")");if(!p)throw new Error("Cannot perform operation on Dense Matrix and Pattern Sparse Matrix");var m=f[0],D=f[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],T=d[S+1],L=C;L<T;L++){var U=c[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&&w===n._datatype?v:void 0})}}),Hm="matAlgo05xSfSf",Xm=["typed","equalScalar"],Uf=mt(Hm,Xm,i=>{var{typed:t,equalScalar:e}=i;return function(n,s,a){var l=n._values,f=n._index,h=n._ptr,p=n._size,c=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 Gt(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 c=="string"&&c===D&&c!=="mixed"&&(b=c,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,T=M?[]:void 0,L=[],U=[],k,W,P,K;for(W=0;W<E;W++){I[W]=S.length;var G=W+1;for(P=h[W],K=h[W+1];P<K;P++)k=f[P],S.push(k),L[k]=G,C&&(C[k]=l[P]);for(P=w[W],K=w[W+1];P<K;P++)k=g[P],L[k]!==G&&S.push(k),U[k]=G,T&&(T[k]=d[P]);if(M)for(P=I[W];P<S.length;){k=S[P];var Q=L[k],tt=U[k];if(Q===G||tt===G){var ft=Q===G?C[k]:x,vt=tt===G?T[k]:x,lt=F(ft,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:c===n._datatype&&D===s._datatype?b:void 0})}}),Jm="matAlgo13xDD",Qm=["typed"],Vm=mt(Jm,Qm,i=>{var{typed:t}=i;return function(n,s,a){var l=n._data,f=n._size,h=n._datatype,p=s._data,c=s._size,d=s._datatype,g=[];if(f.length!==c.length)throw new Gt(f.length,c.length);for(var w=0;w<f.length;w++){if(f[w]!==c[w])throw new RangeError("Dimension mismatch. Matrix A ("+f+") must match Matrix B ("+c+")");g[w]=f[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,f){var h=[];if(n===s.length-1)for(var p=0;p<a;p++)h[p]=r(l[p],f[p]);else for(var c=0;c<a;c++)h[c]=e(r,n+1,s,s[n+1],l[c],f[c]);return h}}),tg="broadcast",eg=["concat"],rg=mt(tg,eg,i=>{var{concat:t}=i;return function(n,s){var a=Math.max(n._size.length,s._size.length);if(n._size.length===s._size.length&&n._size.every((w,m)=>w===s._size[m]))return[n,s];for(var l=e(n._size,a,0),f=e(s._size,a,0),h=[],p=0;p<a;p++)h[p]=Math.max(l[p],f[p]);Cs(l,h),Cs(f,h);var c=n.clone(),d=s.clone();c._size.length<a?c.reshape(e(c._size,a,1)):d._size.length<a&&d.reshape(e(d._size,a,1));for(var g=0;g<a;g++)c._size[g]<h[g]&&(c=r(c,h[g],g)),d._size[g]<h[g]&&(d=r(d,h[g],g));return[c,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)}}),ng="matrixAlgorithmSuite",ig=["typed","matrix","concat"],jn=mt(ng,ig,i=>{var{typed:t,matrix:e,concat:r}=i,n=Vm({typed:t}),s=Aa({typed:t}),a=rg({concat:r});return function(f){var h=f.elop,p=f.SD||f.DS,c;h?(c={"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)},f.SS&&(c["SparseMatrix, SparseMatrix"]=(m,D)=>f.SS(...a(m,D),h,!1)),f.DS&&(c["DenseMatrix, SparseMatrix"]=(m,D)=>f.DS(...a(m,D),h,!1),c["Array, SparseMatrix"]=(m,D)=>f.DS(...a(e(m),D),h,!1)),p&&(c["SparseMatrix, DenseMatrix"]=(m,D)=>p(...a(D,m),h,!0),c["SparseMatrix, Array"]=(m,D)=>p(...a(e(D),m),h,!0))):(c={"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))},f.SS&&(c["SparseMatrix, SparseMatrix"]=t.referToSelf(m=>(D,v)=>f.SS(...a(D,v),m,!1))),f.DS&&(c["DenseMatrix, SparseMatrix"]=t.referToSelf(m=>(D,v)=>f.DS(...a(D,v),m,!1)),c["Array, SparseMatrix"]=t.referToSelf(m=>(D,v)=>f.DS(...a(e(D),v),m,!1))),p&&(c["SparseMatrix, DenseMatrix"]=t.referToSelf(m=>(D,v)=>p(...a(v,D),m,!0)),c["SparseMatrix, Array"]=t.referToSelf(m=>(D,v)=>p(...a(e(v),D),m,!0))));var d=f.scalar||"any",g=f.Ds||f.Ss;g&&(h?(c["DenseMatrix,"+d]=(m,D)=>s(m,D,h,!1),c[d+", DenseMatrix"]=(m,D)=>s(D,m,h,!0),c["Array,"+d]=(m,D)=>s(e(m),D,h,!1).valueOf(),c[d+", Array"]=(m,D)=>s(e(D),m,h,!0).valueOf()):(c["DenseMatrix,"+d]=t.referToSelf(m=>(D,v)=>s(D,v,m,!1)),c[d+", DenseMatrix"]=t.referToSelf(m=>(D,v)=>s(v,D,m,!0)),c["Array,"+d]=t.referToSelf(m=>(D,v)=>s(e(D),v,m,!1).valueOf()),c[d+", Array"]=t.referToSelf(m=>(D,v)=>s(e(v),D,m,!0).valueOf())));var w=f.sS!==void 0?f.sS:f.Ss;return h?(f.Ss&&(c["SparseMatrix,"+d]=(m,D)=>f.Ss(m,D,h,!1)),w&&(c[d+", SparseMatrix"]=(m,D)=>w(D,m,h,!0))):(f.Ss&&(c["SparseMatrix,"+d]=t.referToSelf(m=>(D,v)=>f.Ss(D,v,m,!1))),w&&(c[d+", SparseMatrix"]=t.referToSelf(m=>(D,v)=>w(v,D,m,!0)))),h&&h.signatures&&Il(c,h.signatures),c}}),sg="matAlgo01xDSid",og=["typed"],Wf=mt(sg,og,i=>{var{typed:t}=i;return function(r,n,s,a){var l=r._data,f=r._size,h=r._datatype||r.getDataType(),p=n._values,c=n._index,d=n._ptr,g=n._size,w=n._datatype||n._data===void 0?n._datatype:n.getDataType();if(f.length!==g.length)throw new Gt(f.length,g.length);if(f[0]!==g[0]||f[1]!==g[1])throw new RangeError("Dimension mismatch. Matrix A ("+f+") must match Matrix B ("+g+")");if(!p)throw new Error("Cannot perform operation on Dense Matrix and Pattern Sparse Matrix");var m=f[0],D=f[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],T=I;T<C;T++)b=c[T],F[b]=a?E(p[T],l[b][N]):E(l[b][N],p[T]),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})}}),ag="matAlgo04xSidSid",ug=["typed","equalScalar"],lg=mt(ag,ug,i=>{var{typed:t,equalScalar:e}=i;return function(n,s,a){var l=n._values,f=n._index,h=n._ptr,p=n._size,c=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 Gt(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 c=="string"&&c===D&&c!=="mixed"&&(b=c,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,T=l&&d?[]:void 0,L=[],U=[],k,W,P,K,G;for(W=0;W<E;W++){I[W]=S.length;var Q=W+1;for(K=h[W],G=h[W+1],P=K;P<G;P++)k=f[P],S.push(k),L[k]=Q,C&&(C[k]=l[P]);for(K=w[W],G=w[W+1],P=K;P<G;P++)if(k=g[P],L[k]===Q){if(C){var tt=F(C[k],d[P]);N(tt,x)?L[k]=null:C[k]=tt}}else S.push(k),U[k]=Q,T&&(T[k]=d[P]);if(C&&T)for(P=I[W];P<S.length;)k=S[P],L[k]===Q?(M[P]=C[k],P++):U[k]===Q?(M[P]=T[k],P++):S.splice(P,1)}return I[E]=S.length,n.createSparseMatrix({values:M,index:S,ptr:I,size:[v,E],datatype:c===n._datatype&&D===s._datatype?b:void 0})}}),fg="matAlgo10xSids",cg=["typed","DenseMatrix"],jf=mt(fg,cg,i=>{var{typed:t,DenseMatrix:e}=i;return function(n,s,a,l){var f=n._values,h=n._index,p=n._ptr,c=n._size,d=n._datatype;if(!f)throw new Error("Cannot perform operation on Pattern Sparse Matrix and Scalar value");var g=c[0],w=c[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]=f[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})}}),hg="multiplyScalar",pg=["typed"],dg=mt(hg,pg,i=>{var{typed:t}=i;return t("multiplyScalar",{"number, number":Mf,"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)})}),Yf="multiply",_g=["typed","matrix","addScalar","multiplyScalar","equalScalar","dot"],mg=mt(Yf,_g,i=>{var{typed:t,matrix:e,addScalar:r,multiplyScalar:n,equalScalar:s,dot:a}=i,l=xa({typed:t,equalScalar:s}),f=Aa({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 c(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,T=F._size,L=F._datatype||F.getDataType(),U=S[0],k=T[1],W,P=r,K=n;I&&L&&I===L&&typeof I=="string"&&I!=="mixed"&&(W=I,P=t.find(r,[W,W]),K=t.find(n,[W,W]));for(var G=[],Q=0;Q<k;Q++){for(var tt=K(M[0],C[0][Q]),ft=1;ft<U;ft++)tt=P(tt,K(M[ft],C[ft][Q]));G[Q]=tt}return x.createDenseMatrix({data:G,size:[k],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,T=F._datatype||F.getDataType(),L=S[0],U=S[1],k,W=r,P=n;I&&T&&I===T&&typeof I=="string"&&I!=="mixed"&&(k=I,W=t.find(r,[k,k]),P=t.find(n,[k,k]));for(var K=[],G=0;G<L;G++){for(var Q=M[G],tt=P(Q[0],C[0]),ft=1;ft<U;ft++)tt=W(tt,P(Q[ft],C[ft]));K[G]=tt}return x.createDenseMatrix({data:K,size:[L],datatype:I===x._datatype&&T===F._datatype?k:void 0})}function D(x,F){var M=x._data,S=x._size,I=x._datatype||x.getDataType(),C=F._data,T=F._size,L=F._datatype||F.getDataType(),U=S[0],k=S[1],W=T[1],P,K=r,G=n;I&&L&&I===L&&typeof I=="string"&&I!=="mixed"&&I!=="mixed"&&(P=I,K=t.find(r,[P,P]),G=t.find(n,[P,P]));for(var Q=[],tt=0;tt<U;tt++){var ft=M[tt];Q[tt]=[];for(var vt=0;vt<W;vt++){for(var lt=G(ft[0],C[0][vt]),yt=1;yt<k;yt++)lt=K(lt,G(ft[yt],C[yt][vt]));Q[tt][vt]=lt}}return x.createDenseMatrix({data:Q,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,T=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],K,G=r,Q=n,tt=s,ft=0;I&&k&&I===k&&typeof I=="string"&&I!=="mixed"&&(K=I,G=t.find(r,[K,K]),Q=t.find(n,[K,K]),tt=t.find(s,[K,K]),ft=t.convert(0,K));for(var vt=[],lt=[],yt=[],bt=F.createSparseMatrix({values:vt,index:lt,ptr:yt,size:[W,P],datatype:I===x._datatype&&k===F._datatype?K:void 0}),Bt=0;Bt<P;Bt++){yt[Bt]=lt.length;var Et=L[Bt],ne=L[Bt+1];if(ne>Et)for(var Ot=0,Nt=0;Nt<W;Nt++){for(var se=Nt+1,Vt=void 0,qt=Et;qt<ne;qt++){var Kt=T[qt];Ot!==se?(Vt=Q(M[Nt][Kt],C[qt]),Ot=se):Vt=G(Vt,Q(M[Nt][Kt],C[qt]))}Ot===se&&!tt(Vt,ft)&&(lt.push(Nt),vt.push(Vt))}}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 T=F._data,L=F._datatype||F.getDataType(),U=x._size[0],k=F._size[0],W=[],P=[],K=[],G,Q=r,tt=n,ft=s,vt=0;C&&L&&C===L&&typeof C=="string"&&C!=="mixed"&&(G=C,Q=t.find(r,[G,G]),tt=t.find(n,[G,G]),ft=t.find(s,[G,G]),vt=t.convert(0,G));var lt=[],yt=[];K[0]=0;for(var bt=0;bt<k;bt++){var Bt=T[bt];if(!ft(Bt,vt))for(var Et=I[bt],ne=I[bt+1],Ot=Et;Ot<ne;Ot++){var Nt=S[Ot];yt[Nt]?lt[Nt]=Q(lt[Nt],tt(Bt,M[Ot])):(yt[Nt]=!0,P.push(Nt),lt[Nt]=tt(Bt,M[Ot]))}}for(var se=P.length,Vt=0;Vt<se;Vt++){var qt=P[Vt];W[Vt]=lt[qt]}return K[1]=P.length,x.createSparseMatrix({values:W,index:P,ptr:K,size:[U,1],datatype:C===x._datatype&&L===F._datatype?G: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 T=F._data,L=F._datatype||F.getDataType(),U=x._size[0],k=F._size[0],W=F._size[1],P,K=r,G=n,Q=s,tt=0;C&&L&&C===L&&typeof C=="string"&&C!=="mixed"&&(P=C,K=t.find(r,[P,P]),G=t.find(n,[P,P]),Q=t.find(s,[P,P]),tt=t.convert(0,P));for(var ft=[],vt=[],lt=[],yt=x.createSparseMatrix({values:ft,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 ne=Et+1,Ot=0;Ot<k;Ot++){var Nt=T[Ot][Et];if(!Q(Nt,tt))for(var se=I[Ot],Vt=I[Ot+1],qt=se;qt<Vt;qt++){var Kt=S[qt];Bt[Kt]!==ne?(Bt[Kt]=ne,vt.push(Kt),bt[Kt]=G(Nt,M[qt])):bt[Kt]=K(bt[Kt],G(Nt,M[qt]))}}for(var Ne=lt[Et],lr=vt.length,Be=Ne;Be<lr;Be++){var nn=vt[Be];ft[Be]=bt[nn]}}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(),T=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],K=M&&T,G,Q=r,tt=n;C&&k&&C===k&&typeof C=="string"&&C!=="mixed"&&(G=C,Q=t.find(r,[G,G]),tt=t.find(n,[G,G]));for(var ft=K?[]:void 0,vt=[],lt=[],yt=x.createSparseMatrix({values:ft,index:vt,ptr:lt,size:[W,P],datatype:C===x._datatype&&k===F._datatype?G:void 0}),bt=K?[]:void 0,Bt=[],Et,ne,Ot,Nt,se,Vt,qt,Kt,Ne=0;Ne<P;Ne++){lt[Ne]=vt.length;var lr=Ne+1;for(se=U[Ne],Vt=U[Ne+1],Nt=se;Nt<Vt;Nt++)if(Kt=L[Nt],K)for(ne=I[Kt],Ot=I[Kt+1],Et=ne;Et<Ot;Et++)qt=S[Et],Bt[qt]!==lr?(Bt[qt]=lr,vt.push(qt),bt[qt]=tt(T[Nt],M[Et])):bt[qt]=Q(bt[qt],tt(T[Nt],M[Et]));else for(ne=I[Kt],Ot=I[Kt+1],Et=ne;Et<Ot;Et++)qt=S[Et],Bt[qt]!==lr&&(Bt[qt]=lr,vt.push(qt));if(K)for(var Be=lt[Ne],nn=vt.length,xn=Be;xn<nn;xn++){var sn=vt[xn];ft[xn]=bt[sn]}}return lt[P]=vt.length,yt}return t(Yf,n,{"Array, Array":t.referTo("Matrix, Matrix",x=>(F,M)=>{h(Fe(F),Fe(M));var S=x(e(F),e(M));return ce(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]):c(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 f(F,M,n,!1)},"any, SparseMatrix":function(F,M){return l(M,F,n,!0)},"any, DenseMatrix":function(F,M){return f(M,F,n,!0)},"Array, any":function(F,M){return f(e(F),M,n,!1).valueOf()},"any, Array":function(F,M){return f(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})})}),Zf="subtract",gg=["typed","matrix","equalScalar","subtractScalar","unaryMinus","DenseMatrix","concat"],vg=mt(Zf,gg,i=>{var{typed:t,matrix:e,equalScalar:r,subtractScalar:n,unaryMinus:s,DenseMatrix:a,concat:l}=i,f=Wf({typed:t}),h=di({typed:t}),p=Uf({typed:t,equalScalar:r}),c=jf({typed:t,DenseMatrix:a}),d=pi({typed:t,DenseMatrix:a}),g=jn({typed:t,matrix:e,concat:l});return t(Zf,{"any, any":n},g({elop:n,SS:p,DS:f,SD:h,Ss:d,sS:c}))}),wg="matAlgo07xSSf",yg=["typed","DenseMatrix"],ks=mt(wg,yg,i=>{var{typed:t,DenseMatrix:e}=i;return function(s,a,l){var f=s._size,h=s._datatype||s._data===void 0?s._datatype:s.getDataType(),p=a._size,c=a._datatype||a._data===void 0?a._datatype:a.getDataType();if(f.length!==p.length)throw new Gt(f.length,p.length);if(f[0]!==p[0]||f[1]!==p[1])throw new RangeError("Dimension mismatch. Matrix A ("+f+") must match Matrix B ("+p+")");var d=f[0],g=f[1],w,m=0,D=l;typeof h=="string"&&h===c&&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&&c===a._datatype?w:void 0})};function r(n,s,a,l,f){for(var h=n._values,p=n._index,c=n._ptr,d=c[s],g=c[s+1];d<g;d++){var w=p[d];a[w]=f,l[w]=h[d]}}}),Gf="conj",Dg=["typed"],bg=mt(Gf,Dg,i=>{var{typed:t}=i;return t(Gf,{"number | BigNumber | Fraction":e=>e,Complex:e=>e.conjugate(),"Array | Matrix":t.referToSelf(e=>r=>Rr(r,e))})}),Kf="concat",Eg=["typed","matrix","isInteger"],xg=mt(Kf,Eg,i=>{var{typed:t,matrix:e,isInteger:r}=i;return t(Kf,{"...Array | Matrix | number | BigNumber":function(s){var a,l=s.length,f=-1,h,p=!1,c=[];for(a=0;a<l;a++){var d=s[a];if(ce(d)&&(p=!0),le(d)||Ee(d)){if(a!==l-1)throw new Error("Dimension must be specified as last argument");if(h=f,f=d.valueOf(),!r(f))throw new TypeError("Integer number expected for dimension");if(f<0||a>0&&f>h)throw new gn(f,h+1)}else{var g=re(d).valueOf(),w=Fe(g);if(c[a]=g,h=f,f=w.length-1,a>0&&f!==h)throw new Gt(h+1,f+1)}}if(c.length===0)throw new SyntaxError("At least one matrix expected");for(var m=c.shift();c.length;)m=tf(m,c.shift(),f);return p?e(m):m},"...string":function(s){return s.join("")}})}),Hf="count",Ag=["typed","size","prod"],Cg=mt(Hf,Ag,i=>{var{typed:t,size:e,prod:r}=i;return t(Hf,{string:function(s){return s.length},"Matrix | Array":function(s){return r(e(s))}})}),Xf="identity",Fg=["typed","config","matrix","BigNumber","DenseMatrix","SparseMatrix"],Mg=mt(Xf,Fg,i=>{var{typed:t,config:e,matrix:r,BigNumber:n,DenseMatrix:s,SparseMatrix:a}=i;return t(Xf,{"":function(){return e.matrix==="Matrix"?r([]):[]},string:function(p){return r(p)},"number | BigNumber":function(p){return f(p,p,e.matrix==="Matrix"?"dense":void 0)},"number | BigNumber, string":function(p,c){return f(p,p,c)},"number | BigNumber, number | BigNumber":function(p,c){return f(p,c,e.matrix==="Matrix"?"dense":void 0)},"number | BigNumber, number | BigNumber, string":function(p,c,d){return f(p,c,d)},Array:function(p){return l(p)},"Array, string":function(p,c){return l(p,c)},Matrix:function(p){return l(p.valueOf(),p.storage())},"Matrix, string":function(p,c){return l(p.valueOf(),c)}});function l(h,p){switch(h.length){case 0:return p?r(p):[];case 1:return f(h[0],h[0],p);case 2:return f(h[0],h[1],p);default:throw new Error("Vector containing two values expected")}}function f(h,p,c){var d=Ee(h)||Ee(p)?n:null;if(Ee(h)&&(h=h.toNumber()),Ee(p)&&(p=p.toNumber()),!de(h)||h<1)throw new Error("Parameters in function identity must be positive integers");if(!de(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(c){if(c==="sparse")return a.diagonal(m,g,0,w);if(c==="dense")return s.diagonal(m,g,0,w);throw new TypeError('Unknown matrix type "'.concat(c,'"'))}for(var D=fa([],m,w),v=h<p?h:p,E=0;E<v;E++)D[E][E]=g;return D}}),Jf="kron",Ng=["typed","matrix","multiplyScalar"],Sg=mt(Jf,Ng,i=>{var{typed:t,matrix:e,multiplyScalar:r}=i;return t(Jf,{"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(Fe(s).length===1&&(s=[s]),Fe(a).length===1&&(a=[a]),Fe(s).length>2||Fe(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=[],f=[];return s.map(function(h){return a.map(function(p){return f=[],l.push(f),h.map(function(c){return p.map(function(d){return f.push(r(c,d))})})})})&&l}});function Bg(){throw new Error('No "bignumber" implementation available')}function Tg(){throw new Error('No "fraction" implementation available')}function Og(){throw new Error('No "matrix" implementation available')}var Qf="reshape",Ig=["typed","isInteger","matrix"],$g=mt(Qf,Ig,i=>{var{typed:t,isInteger:e}=i;return t(Qf,{"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)}),ha(n,s)}})}),Vf="size",Lg=["typed","config","?matrix"],Rg=mt(Vf,Lg,i=>{var{typed:t,config:e,matrix:r}=i;return t(Vf,{Matrix:function(s){return s.create(s.size())},Array:Fe,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([]):Og()}})}),tc="transpose",Pg=["typed","matrix"],zg=mt(tc,Pg,i=>{var{typed:t,matrix:e}=i;return t(tc,{Array:a=>r(e(a)).valueOf(),Matrix:r,any:re});function r(a){var l=a.size(),f;switch(l.length){case 1:f=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: "+oe(l)+")");switch(a.storage()){case"dense":f=n(a,h,p);break;case"sparse":f=s(a,h,p);break}}break;default:throw new RangeError("Matrix must be a vector or two dimensional (size: "+oe(l)+")")}return f}function n(a,l,f){for(var h=a._data,p=[],c,d=0;d<f;d++){c=p[d]=[];for(var g=0;g<l;g++)c[g]=re(h[g][d])}return a.createDenseMatrix({data:p,size:[f,l],datatype:a._datatype})}function s(a,l,f){for(var h=a._values,p=a._index,c=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<f;b++)for(var F=c[b],M=c[b+1],S=F;S<M;S++){var I=m[p[S]]++;g[I]=b,h&&(d[I]=re(h[S]))}return a.createSparseMatrix({values:d,index:g,ptr:w,size:[f,l],datatype:a._datatype})}}),ec="ctranspose",qg=["typed","transpose","conj"],kg=mt(ec,qg,i=>{var{typed:t,transpose:e,conj:r}=i;return t(ec,{any:function(s){return r(e(s))}})}),rc="mode",Ug=["typed","isNaN","isNumeric"],Wg=mt(rc,Ug,i=>{var{typed:t,isNaN:e,isNumeric:r}=i;return t(rc,{"Array | Matrix":n,"...":function(a){return n(a)}});function n(s){s=da(s.valueOf());var a=s.length;if(a===0)throw new Error("Cannot calculate mode of an empty array");for(var l={},f=[],h=0,p=0;p<s.length;p++){var c=s[p];if(r(c)&&e(c))throw new Error("Cannot calculate mode of an array containing NaN values");c in l||(l[c]=0),l[c]++,l[c]===h?f.push(c):l[c]>h&&(h=l[c],f=[c])}return f}});function bn(i,t,e){var r;return String(i).indexOf("Unexpected type")!==-1?(r=arguments.length>2?" (type: "+mn(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: "+mn(e)+", value: "+JSON.stringify(e)+")":"",new TypeError("Cannot calculate "+t+", no ordering relation is defined for complex numbers"+r)):i}var nc="prod",jg=["typed","config","multiplyScalar","numeric"],Yg=mt(nc,jg,i=>{var{typed:t,config:e,multiplyScalar:r,numeric:n}=i;return t(nc,{"Array | Matrix":s,"Array | Matrix, number | BigNumber":function(l,f){throw new Error("prod(A, dim) is not yet supported")},"...":function(l){return s(l)}});function s(a){var l;if(Yi(a,function(f){try{l=l===void 0?f:r(l,f)}catch(h){throw bn(h,"prod",f)}}),typeof l=="string"&&(l=n(l,e.number)),l===void 0)throw new Error("Cannot calculate prod of an empty array");return l}}),Zg="numeric",Gg=["number","?bignumber","?fraction"],Kg=mt(Zg,Gg,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):Bg,Fraction:r?a=>r(a):Tg};return function(l){var f=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=mn(l);if(!(p in n))throw new TypeError("Cannot convert "+l+' of type "'+p+'"; valid input types are '+Object.keys(n).join(", "));if(!(f in s))throw new TypeError("Cannot convert "+l+' to type "'+f+'"; valid output types are '+Object.keys(s).join(", "));return f===p?l:s[f](l)}}),ic="divideScalar",Hg=["typed","numeric"],Xg=mt(ic,Hg,i=>{var{typed:t,numeric:e}=i;return t(ic,{"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)})}),sc="pow",Jg=["typed","config","identity","multiply","matrix","inv","fraction","number","Complex"],Qg=mt(sc,Jg,i=>{var{typed:t,config:e,identity:r,multiply:n,matrix:s,inv:a,number:l,fraction:f,Complex:h}=i;return t(sc,{"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":c,"Array, BigNumber":function(w,m){return c(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&&!de(w)&&g<0)try{var m=f(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:de(w)||g>=0||e.predictable?Sf(g,w):g*g<1&&w===1/0||g*g>1&&w===-1/0?0:new h(g,0).pow(w,0)}function c(g,w){if(!de(w))throw new TypeError("For A^b, b must be an integer (value is "+w+")");var m=Fe(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 c(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(c(g.valueOf(),w))}}),oc="dotDivide",Vg=["typed","matrix","equalScalar","divideScalar","DenseMatrix","concat"],tv=mt(oc,Vg,i=>{var{typed:t,matrix:e,equalScalar:r,divideScalar:n,DenseMatrix:s,concat:a}=i,l=Zm({typed:t,equalScalar:r}),f=di({typed:t}),h=ks({typed:t,DenseMatrix:s}),p=xa({typed:t,equalScalar:r}),c=pi({typed:t,DenseMatrix:s}),d=jn({typed:t,matrix:e,concat:a});return t(oc,d({elop:n,SS:h,DS:f,SD:l,Ss:p,sS:c}))}),Us="compare",ev=["typed","config","matrix","equalScalar","BigNumber","Fraction","DenseMatrix","concat"],rv=mt(Us,ev,i=>{var{typed:t,config:e,equalScalar:r,matrix:n,BigNumber:s,Fraction:a,DenseMatrix:l,concat:f}=i,h=di({typed:t}),p=Uf({typed:t,equalScalar:r}),c=pi({typed:t,DenseMatrix:l}),d=jn({typed:t,matrix:n,concat:f}),g=zs({typed:t});return t(Us,nv({typed:t,config:e}),{"boolean, boolean":function(m,D){return m===D?0:m>D?1:-1},"BigNumber, BigNumber":function(m,D){return Ps(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:c}))}),nv=mt(Us,["typed","config"],i=>{var{typed:t,config:e}=i;return t(Us,{"number, number":function(n,s){return Wn(n,s,e.epsilon)?0:n>s?1:-1}})}),Ws="equal",iv=["typed","matrix","equalScalar","DenseMatrix","concat"],sv=mt(Ws,iv,i=>{var{typed:t,matrix:e,equalScalar:r,DenseMatrix:n,concat:s}=i,a=di({typed:t}),l=ks({typed:t,DenseMatrix:n}),f=pi({typed:t,DenseMatrix:n}),h=jn({typed:t,matrix:e,concat:s});return t(Ws,ov({typed:t,equalScalar:r}),h({elop:r,SS:l,DS:a,Ss:f}))}),ov=mt(Ws,["typed","equalScalar"],i=>{var{typed:t,equalScalar:e}=i;return t(Ws,{"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)}})}),js="smaller",av=["typed","config","matrix","DenseMatrix","concat"],uv=mt(js,av,i=>{var{typed:t,config:e,matrix:r,DenseMatrix:n,concat:s}=i,a=di({typed:t}),l=ks({typed:t,DenseMatrix:n}),f=pi({typed:t,DenseMatrix:n}),h=jn({typed:t,matrix:r,concat:s}),p=zs({typed:t});return t(js,lv({typed:t,config:e}),{"boolean, boolean":(c,d)=>c<d,"BigNumber, BigNumber":function(d,g){return d.lt(g)&&!Ps(d,g,e.epsilon)},"Fraction, Fraction":(c,d)=>c.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:f}))}),lv=mt(js,["typed","config"],i=>{var{typed:t,config:e}=i;return t(js,{"number, number":function(n,s){return n<s&&!Wn(n,s,e.epsilon)}})}),Ys="larger",fv=["typed","config","matrix","DenseMatrix","concat"],cv=mt(Ys,fv,i=>{var{typed:t,config:e,matrix:r,DenseMatrix:n,concat:s}=i,a=di({typed:t}),l=ks({typed:t,DenseMatrix:n}),f=pi({typed:t,DenseMatrix:n}),h=jn({typed:t,matrix:r,concat:s}),p=zs({typed:t});return t(Ys,hv({typed:t,config:e}),{"boolean, boolean":(c,d)=>c>d,"BigNumber, BigNumber":function(d,g){return d.gt(g)&&!Ps(d,g,e.epsilon)},"Fraction, Fraction":(c,d)=>c.compare(d)===1,"Complex, Complex":function(){throw new TypeError("No ordering relation is defined for complex numbers")}},p,h({SS:l,DS:a,Ss:f}))}),hv=mt(Ys,["typed","config"],i=>{var{typed:t,config:e}=i;return t(Ys,{"number, number":function(n,s){return n>s&&!Wn(n,s,e.epsilon)}})}),ac="deepEqual",pv=["typed","equal"],dv=mt(ac,pv,i=>{var{typed:t,equal:e}=i;return t(ac,{"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)}}),uc="partitionSelect",_v=["typed","isNumeric","isNaN","compare"],mv=mt(uc,_v,i=>{var{typed:t,isNumeric:e,isNaN:r,compare:n}=i,s=n,a=(h,p)=>-n(h,p);return t(uc,{"Array | Matrix, number":function(p,c){return l(p,c,s)},"Array | Matrix, number, string":function(p,c,d){if(d==="asc")return l(p,c,s);if(d==="desc")return l(p,c,a);throw new Error('Compare string must be "asc" or "desc"')},"Array | Matrix, number, function":l});function l(h,p,c){if(!de(p)||p<0)throw new Error("k must be a non-negative integer");if(ce(h)){var d=h.size();if(d.length>1)throw new Error("Only one dimensional matrices supported");return f(h.valueOf(),p,c)}if(Array.isArray(h))return f(h,p,c)}function f(h,p,c){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(c(h[m],v)>=0){var E=h[D];h[D]=h[m],h[m]=E,--D}else++m;c(h[m],v)>0&&--m,p<=m?w=m:g=m+1}return h[p]}}),lc="max",gv=["typed","config","numeric","larger"],vv=mt(lc,gv,i=>{var{typed:t,config:e,numeric:r,larger:n}=i;return t(lc,{"Array | Matrix":a,"Array | Matrix, number | BigNumber":function(f,h){return Ea(f,h.valueOf(),s)},"...":function(f){if($s(f))throw new TypeError("Scalar values expected in function max");return a(f)}});function s(l,f){try{return n(l,f)?l:f}catch(h){throw bn(h,"max",f)}}function a(l){var f;if(Yi(l,function(h){try{isNaN(h)&&typeof h=="number"?f=NaN:(f===void 0||n(h,f))&&(f=h)}catch(p){throw bn(p,"max",h)}}),f===void 0)throw new Error("Cannot calculate max of an empty array");return typeof f=="string"&&(f=r(f,e.number)),f}}),fc="min",wv=["typed","config","numeric","smaller"],yv=mt(fc,wv,i=>{var{typed:t,config:e,numeric:r,smaller:n}=i;return t(fc,{"Array | Matrix":a,"Array | Matrix, number | BigNumber":function(f,h){return Ea(f,h.valueOf(),s)},"...":function(f){if($s(f))throw new TypeError("Scalar values expected in function min");return a(f)}});function s(l,f){try{return n(l,f)?l:f}catch(h){throw bn(h,"min",f)}}function a(l){var f;if(Yi(l,function(h){try{isNaN(h)&&typeof h=="number"?f=NaN:(f===void 0||n(h,f))&&(f=h)}catch(p){throw bn(p,"min",h)}}),f===void 0)throw new Error("Cannot calculate min of an empty array");return typeof f=="string"&&(f=r(f,e.number)),f}}),cc="add",Dv=["typed","matrix","addScalar","equalScalar","DenseMatrix","SparseMatrix","concat"],bv=mt(cc,Dv,i=>{var{typed:t,matrix:e,addScalar:r,equalScalar:n,DenseMatrix:s,SparseMatrix:a,concat:l}=i,f=Wf({typed:t}),h=lg({typed:t,equalScalar:n}),p=jf({typed:t,DenseMatrix:s}),c=jn({typed:t,matrix:e,concat:l});return t(cc,{"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})},c({elop:r,DS:f,SS:h,Ss:p}))}),hc="dot",Ev=["typed","addScalar","multiplyScalar","conj","size"],xv=mt(hc,Ev,i=>{var{typed:t,addScalar:e,multiplyScalar:r,conj:n,size:s}=i;return t(hc,{"Array | DenseMatrix, Array | DenseMatrix":l,"SparseMatrix, SparseMatrix":f});function a(p,c){var d=h(p),g=h(c),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,c){var d=a(p,c),g=ce(p)?p._data:p,w=ce(p)?p._datatype||p.getDataType():void 0,m=ce(c)?c._data:c,D=ce(c)?c._datatype||c.getDataType():void 0,v=h(p).length===2,E=h(c).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]),T=1;T<d;T++)C=b(C,N(n(g[T][0]),m[T]));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 f(p,c){a(p,c);for(var d=p._index,g=p._values,w=c._index,m=c._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 ce(p)?p.size():s(p)}}),Av="trace",Cv=["typed","matrix","add"],Fv=mt(Av,Cv,i=>{var{typed:t,matrix:e,add:r}=i;return t("trace",{Array:function(l){return n(e(l))},SparseMatrix:s,DenseMatrix:n,any:re});function n(a){var l=a._size,f=a._data;switch(l.length){case 1:if(l[0]===1)return re(f[0]);throw new RangeError("Matrix must be square (size: "+oe(l)+")");case 2:{var h=l[0],p=l[1];if(h===p){for(var c=0,d=0;d<h;d++)c=r(c,f[d][d]);return c}else throw new RangeError("Matrix must be square (size: "+oe(l)+")")}default:throw new RangeError("Matrix must be two dimensional (size: "+oe(l)+")")}}function s(a){var l=a._values,f=a._index,h=a._ptr,p=a._size,c=p[0],d=p[1];if(c===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=f[v];if(E===w){g=r(g,l[v]);break}if(E>w)break}return g}throw new RangeError("Matrix must be square (size: "+oe(p)+")")}}),pc="det",Mv=["typed","matrix","subtractScalar","multiply","divideScalar","isZero","unaryMinus"],Nv=mt(pc,Mv,i=>{var{typed:t,matrix:e,subtractScalar:r,multiply:n,divideScalar:s,isZero:a,unaryMinus:l}=i;return t(pc,{any:function(p){return re(p)},"Array | Matrix":function(p){var c;switch(ce(p)?c=p.size():Array.isArray(p)?(p=e(p),c=p.size()):c=[],c.length){case 0:return re(p);case 1:if(c[0]===1)return re(p.valueOf()[0]);if(c[0]===0)return 1;throw new RangeError("Matrix must be square (size: "+oe(c)+")");case 2:{var d=c[0],g=c[1];if(d===g)return f(p.clone().valueOf(),d);if(g===0)return 1;throw new RangeError("Matrix must be square (size: "+oe(c)+")")}default:throw new RangeError("Matrix must be two dimensional (size: "+oe(c)+")")}}});function f(h,p,c){if(p===1)return re(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}}),dc="inv",Sv=["typed","matrix","divideScalar","addScalar","multiply","unaryMinus","det","identity","abs"],Bv=mt(dc,Sv,i=>{var{typed:t,matrix:e,divideScalar:r,addScalar:n,multiply:s,unaryMinus:a,det:l,identity:f,abs:h}=i;return t(dc,{"Array | Matrix":function(d){var g=ce(d)?d.size():Fe(d);switch(g.length){case 1:if(g[0]===1)return ce(d)?e([r(1,d.valueOf()[0])]):[r(1,d[0])];throw new RangeError("Matrix must be square (size: "+oe(g)+")");case 2:{var w=g[0],m=g[1];if(w===m)return ce(d)?e(p(d.valueOf(),w,m),d.storage()):p(d,w,m);throw new RangeError("Matrix must be square (size: "+oe(g)+")")}default:throw new RangeError("Matrix must be two dimensional (size: "+oe(g)+")")}},any:function(d){return r(1,d)}});function p(c,d,g){var w,m,D,v,E;if(d===1){if(v=c[0][0],v===0)throw Error("Cannot calculate inverse, determinant is zero");return[[r(1,v)]]}else if(d===2){var b=l(c);if(b===0)throw Error("Cannot calculate inverse, determinant is zero");return[[r(c[1][1],b),r(a(c[0][1]),b)],[r(a(c[1][0]),b),r(c[0][0],b)]]}else{var N=c.concat();for(w=0;w<d;w++)N[w]=N[w].concat();for(var x=f(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 T=N[w],L=x[w];if(w!==F){if(T[F]!==0){for(D=r(a(T[F]),I[F]),m=F;m<g;m++)T[m]=n(T[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++)T[m]=r(T[m],D);for(m=0;m<g;m++)L[m]=r(L[m],D)}}}return x}}}),_c="pinv",Tv=["typed","matrix","inv","deepEqual","equal","dotDivide","dot","ctranspose","divideScalar","multiply","add","Complex"],Ov=mt(_c,Tv,i=>{var{typed:t,matrix:e,inv:r,deepEqual:n,equal:s,dotDivide:a,dot:l,ctranspose:f,divideScalar:h,multiply:p,add:c,Complex:d}=i;return t(_c,{"Array | Matrix":function(b){var N=ce(b)?b.size():Fe(b);switch(N.length){case 1:return v(b)?f(b):N[0]===1?r(b):a(f(b),l(b,b));case 2:{if(v(b))return f(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 ce(b)?e(g(b.valueOf(),x,F),b.storage()):g(b,x,F)}default:throw new RangeError("Matrix must be two dimensional (size: "+oe(N)+")")}},any:function(b){return s(b,0)?re(b):h(1,b)}});function g(E,b,N){var{C:x,F}=m(E,b,N),M=p(r(p(f(x),x)),f(x)),S=p(f(F),r(p(F,f(F))));return p(S,M)}function w(E,b,N){for(var x=re(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 T=0;T<b;T++)if(T!==M){I=x[T][F];for(var L=0;L<N;L++)x[T][L]=c(x[T][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,T)=>T<b&&!D(l(x[T],x[T])))),M=x.filter((S,I)=>!D(l(x[I],x[I])));return{C:F,F:M}}function D(E){return s(c(E,d(1,1)),c(0,d(1,1)))}function v(E){return n(c(E,d(1,1)),c(p(E,0),d(1,1)))}}),Iv="divide",$v=["typed","matrix","multiply","equalScalar","divideScalar","inv"],Lv=mt(Iv,$v,i=>{var{typed:t,matrix:e,multiply:r,equalScalar:n,divideScalar:s,inv:a}=i,l=xa({typed:t,equalScalar:n}),f=Aa({typed:t});return t("divide",Il({"Array | Matrix, Array | Matrix":function(p,c){return r(p,a(c))},"DenseMatrix, any":function(p,c){return f(p,c,s,!1)},"SparseMatrix, any":function(p,c){return l(p,c,s,!1)},"Array, any":function(p,c){return f(e(p),c,s,!1).valueOf()},"any, Array | Matrix":function(p,c){return r(p,a(c))}},s.signatures))}),mc="sum",Rv=["typed","config","add","numeric"],Pv=mt(mc,Rv,i=>{var{typed:t,config:e,add:r,numeric:n}=i;return t(mc,{"Array | Matrix":s,"Array | Matrix, number | BigNumber":a,"...":function(f){if($s(f))throw new TypeError("Scalar values expected in function sum");return s(f)}});function s(l){var f;return Yi(l,function(h){try{f=f===void 0?h:r(f,h)}catch(p){throw bn(p,"sum",h)}}),f===void 0&&(f=n(0,e.number)),typeof f=="string"&&(f=n(f,e.number)),f}function a(l,f){try{var h=Ea(l,f,r);return h}catch(p){throw bn(p,"sum")}}}),gc="median",zv=["typed","add","divide","compare","partitionSelect"],qv=mt(gc,zv,i=>{var{typed:t,add:e,divide:r,compare:n,partitionSelect:s}=i;function a(h){try{h=da(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 c=p/2-1,d=s(h,c+1),g=h[c],w=0;w<c;++w)n(h[w],g)>0&&(g=h[w]);return f(g,d)}else{var m=s(h,(p-1)/2);return l(m)}}catch(D){throw bn(D,"median")}}var l=t({"number | BigNumber | Complex | Unit":function(p){return p}}),f=t({"number | BigNumber | Complex | Unit, number | BigNumber | Complex | Unit":function(p,c){return r(e(p,c),2)}});return t(gc,{"Array | Matrix":a,"Array | Matrix, number | BigNumber":function(p,c){throw new Error("median(A, dim) is not yet supported")},"...":function(p){if($s(p))throw new TypeError("Scalar values expected in function median");return a(p)}})}),Zs=k_({config:ar}),Ca=Y_({}),Fa=H_({}),Ma=Q_({}),Kr=em({Matrix:Ma}),Mt=jd({BigNumber:Zs,Complex:Ca,DenseMatrix:Kr,Fraction:Fa}),kv=Om({typed:Mt}),Gs=$m({typed:Mt}),Uv=xm({BigNumber:Zs,typed:Mt}),vc=bg({typed:Mt}),En=pm({config:ar,typed:Mt}),Ks=im({typed:Mt}),Wv=um({typed:Mt}),Hs=dg({typed:Mt}),wc=Dm({typed:Mt}),Na=mm({Matrix:Ma,equalScalar:En,typed:Mt}),yc=Rm({typed:Mt}),Dc=fm({typed:Mt}),Sa=Bm({typed:Mt}),bc=Fm({Fraction:Fa,typed:Mt}),Ec=om({typed:Mt}),Me=Nm({DenseMatrix:Kr,Matrix:Ma,SparseMatrix:Na,typed:Mt}),xc=Wg({isNaN:Dc,isNumeric:Ec,typed:Mt}),Zi=Kg({bignumber:Uv,fraction:bc,number:wc}),jv=Yg({config:ar,multiplyScalar:Hs,numeric:Zi,typed:Mt}),Yv=$g({isInteger:Ks,matrix:Me,typed:Mt}),Ac=Rg({matrix:Me,config:ar,typed:Mt}),Cc=zg({matrix:Me,typed:Mt}),Yn=xg({isInteger:Ks,matrix:Me,typed:Mt}),Zv=Cg({prod:jv,size:Ac,typed:Mt}),Gv=kg({conj:vc,transpose:Cc,typed:Mt}),Gi=Xg({numeric:Zi,typed:Mt}),Kv=tv({DenseMatrix:Kr,concat:Yn,divideScalar:Gi,equalScalar:En,matrix:Me,typed:Mt}),Fc=sv({DenseMatrix:Kr,concat:Yn,equalScalar:En,matrix:Me,typed:Mt}),Mc=Mg({BigNumber:Zs,DenseMatrix:Kr,SparseMatrix:Na,config:ar,matrix:Me,typed:Mt}),Hv=Sg({matrix:Me,multiplyScalar:Hs,typed:Mt}),Xv=uv({DenseMatrix:Kr,concat:Yn,config:ar,matrix:Me,typed:Mt}),Jv=vg({DenseMatrix:Kr,concat:Yn,equalScalar:En,matrix:Me,subtractScalar:yc,typed:Mt,unaryMinus:Sa}),Ki=bv({DenseMatrix:Kr,SparseMatrix:Na,addScalar:Gs,concat:Yn,equalScalar:En,matrix:Me,typed:Mt}),Nc=rv({BigNumber:Zs,DenseMatrix:Kr,Fraction:Fa,concat:Yn,config:ar,equalScalar:En,matrix:Me,typed:Mt}),Qv=dv({equal:Fc,typed:Mt}),Sc=xv({addScalar:Gs,conj:vc,multiplyScalar:Hs,size:Ac,typed:Mt}),Vv=cv({DenseMatrix:Kr,concat:Yn,config:ar,matrix:Me,typed:Mt}),Ba=yv({config:ar,numeric:Zi,smaller:Xv,typed:Mt}),_i=mg({addScalar:Gs,dot:Sc,equalScalar:En,matrix:Me,multiplyScalar:Hs,typed:Mt}),t1=mv({compare:Nc,isNaN:Dc,isNumeric:Ec,typed:Mt}),e1=Pv({add:Ki,config:ar,numeric:Zi,typed:Mt}),r1=Fv({add:Ki,matrix:Me,typed:Mt}),Bc=Nv({divideScalar:Gi,isZero:Wv,matrix:Me,multiply:_i,subtractScalar:yc,typed:Mt,unaryMinus:Sa}),n1=vv({config:ar,larger:Vv,numeric:Zi,typed:Mt}),Xs=Bv({abs:kv,addScalar:Gs,det:Bc,divideScalar:Gi,identity:Mc,matrix:Me,multiply:_i,typed:Mt,unaryMinus:Sa}),i1=Ov({Complex:Ca,add:Ki,ctranspose:Gv,deepEqual:Qv,divideScalar:Gi,dot:Sc,dotDivide:Kv,equal:Fc,inv:Xs,matrix:Me,multiply:_i,typed:Mt}),s1=Qg({Complex:Ca,config:ar,fraction:bc,identity:Mc,inv:Xs,matrix:Me,multiply:_i,number:wc,typed:Mt}),o1=Lv({divideScalar:Gi,equalScalar:En,inv:Xs,matrix:Me,multiply:_i,typed:Mt}),Tc=qv({add:Ki,compare:Nc,divide:o1,partitionSelect:t1,typed:Mt});class a1{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 f=r*(e-1);s&&(f=Math.floor(f));const h=e/n;let p=0,c=0;for(let d=0;d<=e-1;d++){const g=Math.exp(-1*Math.pow(d-f,2)/(2*Math.pow(h,2)));p+=g,c+=l[l.length-1-(e-d-1)]*g}return c/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=e1(...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,f=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:f,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 f=0;f<e;f++){const h=this._sum(s[s.length-1-f],-(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 f=n[n.length-1-l];a+=f*(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 f=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;f+=m*D,h+=m*m,p+=D*D}return isNaN(h)||isNaN(f)||isNaN(p)?void 0:f/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 f=a[a.length-1-l];s+=Math.abs(f-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:f,NDMS:h,TRS:p,ADX:c,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:f,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:(f||0)+D,NDMS:(h||0)+v,TRS:(p||0)+E,count:d+1}),[void 0,void 0,void 0];{const b=f-f/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 T=d+1-t;I=((c||0)*(T-1)+S)/T}else I=(c*(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,c,d)=>p>=d[h]?c: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 f=(e-l)*e;s+=f,a+=n[n.length-1-l]*f}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:f,low:h}=this._variables,p=n?l.tr:f-h,c=this.ema({source:p,length:e},`range_${s}`);return[a,a+c*r,a-c*r]}kcw({series:t,length:e,mult:r,useTrueRange:n=!0},s){if(t===void 0||isNaN(t)||e===void 0||r===void 0)return;const a=this.ema({source:t,length:e},s),{ta:l,high:f,low:h}=this._variables,p=n?l.tr:f-h,c=this.ema({source:p,length:e},`range_${s}`);return(a+c*r-(a-c*r))/a}linreg({source:t,length:e,offset:r},n){if(e===void 0||r===void 0)return;const s=this._cacheDataList(t,e,`dev_${n}`);if(!s)return;const a=s.slice(-e).filter(g=>g!==void 0);let l=0,f=0,h=0,p=0;for(const[g,w]of a.entries())l+=g,f+=w,h+=g*w,p+=g*g;const c=(e*h-l*f)/(e*p-l*l);return(f-c*l)/e+c*(e-1-r)}lowest({source:t,length:e},r){if(e===void 0||e<=0)return;const n=this._cacheData[`lowest_${r}`]||[],{low:s,bar_index:a}=this._variables;typeof t!="number"?n[a]=s:n[a]=t,this._cacheData[`lowest_${r}`]=n;const 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,c,d)=>p<=d[h]?c: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 f=a-l,h=this.ema({source:f,length:n},`macd_${s}`);if(h===void 0)return[f,h,void 0];const p=f-h;return[f,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 Tc(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 Ba(xc(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 f=1/(l*2);if(r<=f)return a[0];if(r>=1-1/(l*2))return a[l-1];for(const[h,p]of a.entries()){const c=a[h-1];if(r<(h+.5)/l)return c===void 0||p===void 0?void 0:c+(p-c)*(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,f=Math.ceil(l)-1;return a[f>=a.length?a.length-1:f]}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 f=0;f<s.length;f++)s[f]!==void 0&&(s[f]<a||s[f]===a&&f<e)&&l++;return l/(s.length-1)*100}pivot_point_levels({type:t,anchor:e,developing:r},n){const s=new Xt;let{close:a,open:l,low:f,high:h}=this._variables;const p=`pivot_point_levels_${n}`,{close:c,low:d,high:g,open:w,result:m}=this._cacheData[p]||{};if(!e&&(g&&d&&(h=Math.max(g,h),f=Math.min(d,f)),this._cacheDataHandle(p,{close:a,open:l,low:f,high:h,result:m}),!r))return s._value=m||[],s;const D={close:a,open:l,low:f,high:h};e===!0&&!r&&(a=c,l=w,f=d,h=g);const v=this._getPivotPointLevels(h,f,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 Un.traditional:return this._traditional(t,e,r);case Un.fibonacci:return this._fibonacci(t,e,r);case Un.woodie:return s?[]:this._woodie(t,e);case Un.classic:return this._classic(t,e,r);case Un.dm:return this._DM(t,e,r,n);case Un.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),f=n*3+(t-3*e),h=n*4+(t-4*e),p=n*2-t,c=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,c,l,d,f,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),f=n-.618*(t-e),h=n+(t-e),p=n-(t-e);return[n,s,a,l,f,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),f=n-(t-e),h=t+2*(n-e),p=e-2*(t-n),c=h+(t-e),d=p-(t-e);return[n,s,a,l,f,h,p,c,d]}_classic(t,e,r){const n=(t+e+r)/3,s=2*n-e,a=2*n-t,l=n+(t-e),f=n-(t-e),h=n+2*(t-e),p=n-2*(t-e),c=n+3*(t-e),d=n-3*(t-e);return[n,s,a,l,f,h,p,c,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,f=s/2-t;return[a,l,f]}_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,f=r-1.1*(t-e)/6,h=r+1.1*(t-e)/4,p=r-1.1*(t-e)/4,c=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,f,h,p,c,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(f=>f!==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}`),f=this.rma({source:a,length:e},`rma2_${r}`);if(this._cacheDataHandle(`rsi_${r}`,{source:t}),!(l===void 0||f===void 0))return 100-100/(1+l/f)}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:f,preHigh:h,data:p={}}=this._cacheData[`sar_${n}`]||{};let{result:c,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,c=a):(w=!1,d=v,c=l),m=!0,g=t),c=c+g*(d-c),w?c>v&&(m=!0,w=!1,c=Math.max(E,d||0),d=v,g=t):c<E&&(m=!0,w=!0,c=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?(c=Math.min(c,a),b>1&&(c=Math.min(c,f))):(c=Math.max(c,l),b>1&&(c=Math.max(c,h))),this._cacheDataHandle(`sar_${n}`,{high:E,close:D,low:v,preLow:a,preHigh:l,data:Object.assign(p,{result:c,maxMin:d,acceleration:g,isBelow:w})}),c}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:f,superTrend:h,atr:p,close:c}=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=f||0;w=w>D||c<D?w:D,g=g<m||c>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 f=this.ema({source:l,length:r},`ema2_${n}`),h=this.ema({source:a,length:e},`absema2_${n}`);if(f!==void 0)return f/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 f=l.reduce((h,p)=>h+Math.pow(p-s,2),0);if(f!==void 0)return r||e<=1?f/e:f/(e-1)}vwap({source:t,anchor:e,stdev_mult:r},n){if(t===void 0)return;e=e===void 0?this._timeframe.change({timeframe:"1D"},n):e;const{volume:s}=this._variables;let{sum:a=0,sumV:l=0,count:f=0,isReset:h,sumS:p=0}=this._cacheData[`vwap_${n}`]||{};if(e&&(a=l=f=p=0,h=!0),!h)return r!==void 0?[]:void 0;const c=t*s+a,d=s+l,g=c/d;return f++,r!==void 0?(p=s*Math.pow(t,2)+p,this._cacheDataHandle(`vwap_${n}`,{sum:c,sumV:d,count:f,isReset:h,sumS:p}),this._computeBands(p,d,r,g)):(this._cacheDataHandle(`vwap_${n}`,{sum:c,sumV:d,count:f,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,f=a!==void 0&&!isNaN(a)?n-r*a:void 0;return[n,l,f]}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,f=t[s];if(f!==void 0){if(a!==void 0&&f<a){t.splice(s,1),t.splice(l,0,f),n={currentIndex:l+1,currentVal:a};continue}n={currentIndex:s,currentVal:f}}}}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 u1={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",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 undefined 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."};Wr.SERIES,Wr.SIMPLE,Wr.INPUT,Wr.CONST,Wr.INT,Wr.FLOAT,Wr.BOOL,Wr.COLOR,Wr.STRING;const l1=["close","open","high","low","hl2","hlc3","hlcc4","ohlc4","volume"];class f1{constructor(t,e){z(this,"_cacheData");z(this,"_variables");z(this,"_errorListener");z(this,"_count");z(this,"_historyInputs");z(this,"_name");this._cacheData={},this._variables=t,this._errorListener=e,this._count=-1,this._name=`inputs_${$p()}`,this._historyInputs=self.workerStorage.get(this._name)||{}}update(t){for(const e of t){const r=e.id;if(!this._cacheData[r])return;Object.assign(this._cacheData[r],{...e,isModify:!0}),self.workerStorage.updateValue(this._name,`in_${e.index}`,{modifyDefval:e.sourceTypeName||e.defval})}}input(t,e){return this._cacheHandle(t,e)}int(t,e){return this._cacheHandle(t,e,Qe.INT)}bool(t,e){return this._cacheHandle(t,e,Qe.BOOL)}color(t,e){return this._cacheHandle(t,e,Qe.COLOR)}time(t,e){return this._cacheHandle(t,e,Qe.TIME)}float(t,e){return this._cacheHandle(t,e,Qe.FLOAT)}price(t,e){return this._cacheHandle(t,e,Qe.PRICE)}source(t,e){return this._cacheHandle(t,e,Qe.SOURCE)}string(t,e){return this._cacheHandle(t,e,Qe.STRING)}symbol(t,e){return this._cacheHandle(t,e,Qe.SYMBOL)}session(t,e){return this._cacheHandle(t,e,Qe.SESSION)}text_area(t,e){return this._cacheHandle(t,e,Qe.TEXT_AREA)}timeframe(t,e){return this._cacheHandle(t,e,Qe.TIMEFRAME)}_cacheHandle(t,e,r){const n=`${r||"input"}_${e}`,s=this._cacheData[n];if(t.defval===void 0&&this._errorListener.addError(u1.inputDefvalErr,e,Ce.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),this._count++,t={inputType:r,...t,index:this._count},this._cacheData[n]=t,this._judgeHistoryInputs(t),(r||t.inputType)===Qe.SOURCE?this._cacheData[n].options=l1: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,Ce.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:f,modifyDefval:h}=l;f===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(sr.dataWindow)||e.includes(sr.statusLine)||this._errorListener.addError("Invalid argument 'display' in 'input' call. Possible values: [display.none, display.data_window, display.status_line, display.all]",t,Ce.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}_getGroups(t){const e=[];for(const[r,n]of t)e.push({name:r,inputs:n});return e}}class c1{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:f,g:h,b:p,a:c}=this._parseColor(n||"rgba(0,0,0,0)"),{r:d,g,b:w,a:m}=this._parseColor(s||"rgba(0,0,0,0)"),D=f+l*(d-f),v=h+l*(g-h),E=p+l*(w-p),b=c+l*(m-c);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 h1=Object.prototype.toString;function Hi(i){const t=h1.call(i);return t.endsWith("Array]")&&!t.includes("Big")}var p1=Object.freeze({__proto__:null,isAnyArray:Hi}),d1=be(p1);function _1(i){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!Hi(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 m1(i){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!Hi(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 g1(i){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(Hi(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(!Hi(t.output))throw new TypeError("output option must be an array if specified");e=t.output}else e=new Array(i.length);var r=m1(i),n=_1(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,f=l===void 0?t.autoMinMax?n:1:l;if(a>=f)throw new RangeError("min option must be smaller than max option");for(var h=(f-a)/(n-r),p=0;p<i.length;p++)e[p]=(i[p]-r)*h+a;return e}var v1=Object.freeze({__proto__:null,default:g1}),w1=be(v1);Object.defineProperty(zt,"__esModule",{value:!0});var tr=d1,Oc=w1;const Js=" ".repeat(2),Ic=" ".repeat(4);function y1(){return $c(this)}function $c(i,t={}){const{maxRows:e=15,maxColumns:r=10,maxNumSize:n=8,padMinus:s="auto"}=t;return`${i.constructor.name} {
55
55
  ${Js}[
56
- ${Ic}${y1(i,e,r,n,s)}
56
+ ${Ic}${D1(i,e,r,n,s)}
57
57
  ${Js}]
58
58
  ${Js}rows: ${i.rows}
59
59
  ${Js}columns: ${i.columns}
60
- }`}function y1(i,t,e,r,n){const{rows:s,columns:a}=i,l=Math.min(s,t),f=Math.min(a,e),h=[];if(n==="auto"){n=!1;t:for(let p=0;p<l;p++)for(let c=0;c<f;c++)if(i.get(p,c)<0){n=!0;break t}}for(let p=0;p<l;p++){let c=[];for(let d=0;d<f;d++)c.push(D1(i.get(p,d),r,n));h.push(`${c.join(" ")}`)}return f!==a&&(h[h.length-1]+=` ... ${a-e} more columns`),l!==s&&h.push(`... ${s-t} more rows`),h.join(`
61
- ${Ic}`)}function D1(i,t,e){return(i>=0&&e?` ${$c(i,t-1)}`:$c(i,t)).padEnd(t)}function $c(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 b1(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 yr(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 Dr(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 _i(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 mi(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 Ba(i,t){if(!Qe.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 Ta(i,t){if(!Qe.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 Ia(i,t,e,r,n){if(arguments.length!==5)throw new RangeError("expected 4 arguments");if(Vs("startRow",t),Vs("endRow",e),Vs("startColumn",r),Vs("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 Xs(i,t=0){let e=[];for(let r=0;r<i;r++)e.push(t);return e}function Vs(i,t){if(typeof t!="number")throw new TypeError(`${i} must be a number`)}function gi(i){if(i.isEmpty())throw new Error("Empty matrix has no elements to index")}function E1(i){let t=Xs(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 x1(i){let t=Xs(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 A1(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 C1(i){let t=Xs(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 F1(i){let t=Xs(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 M1(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 N1(i,t,e){const r=i.rows,n=i.columns,s=[];for(let a=0;a<r;a++){let l=0,f=0,h=0;for(let p=0;p<n;p++)h=i.get(a,p)-e[a],l+=h,f+=h*h;t?s.push((f-l*l/n)/(n-1)):s.push((f-l*l/n)/n)}return s}function S1(i,t,e){const r=i.rows,n=i.columns,s=[];for(let a=0;a<n;a++){let l=0,f=0,h=0;for(let p=0;p<r;p++)h=i.get(p,a)-e[a],l+=h,f+=h*h;t?s.push((f-l*l/r)/(r-1)):s.push((f-l*l/r)/r)}return s}function B1(i,t,e){const r=i.rows,n=i.columns,s=r*n;let a=0,l=0,f=0;for(let h=0;h<r;h++)for(let p=0;p<n;p++)f=i.get(h,p)-e,a+=f,l+=f*f;return t?(l-a*a/s)/(s-1):(l-a*a/s)/s}function T1(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 I1(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 O1(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 $1(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 L1(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 R1(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 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){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 q1(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,f=new pt(t,e);for(let h=0;h<t;h++)for(let p=0;p<e;p++){let c=n+Math.round(a()*l);f.set(h,p,c)}return f}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 f=r+1;f<t.columns;f++)t.set(a,f,t.get(a,f)-t.get(e,f)*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 f=t.get(l,s);for(let h=s;h<e;h++){let p=t.get(l,h)-f*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){yr(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){yr(this,t),e=_i(this,e);for(let r=0;r<this.columns;r++)this.set(t,r,e[r]);return this}swapRows(t,e){yr(this,t),yr(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){Dr(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){Dr(this,t),e=mi(this,e);for(let r=0;r<this.rows;r++)this.set(r,t,e[r]);return this}swapColumns(t,e){Dr(this,t),Dr(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=_i(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=_i(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=_i(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=_i(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=mi(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=mi(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=mi(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=mi(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){yr(this,t);for(let r=0;r<this.columns;r++)this.set(t,r,this.get(t,r)*e);return this}mulColumn(t,e){Dr(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(){gi(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(){gi(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(yr(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){yr(this,t),gi(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(yr(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){yr(this,t),gi(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(Dr(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){Dr(this,t),gi(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(Dr(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){Dr(this,t),gi(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 f=0;f<r;f++)a[f]=t.get(f,l);for(let f=0;f<e;f++){let h=0;for(let p=0;p<r;p++)h+=this.get(f,p)*a[p];s.set(f,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),f=t.get(1,0),h=this.get(1,1),p=t.get(1,1),c=(r+h)*(n+p),d=(l+h)*n,g=r*(a-p),w=h*(f-n),m=(r+s)*p,D=(l-r)*(n+a),v=(s-h)*(f+p),E=c+w-m+v,b=g+m,N=d+w,x=c-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),f=this.get(1,2),h=this.get(2,0),p=this.get(2,1),c=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-c)*D,F=(r-a)*(-g+D),M=l*(-d+g+m-D-v-E+N),S=(-r+a+l)*(d-g+D),O=(a+l)*(-d+g),C=r*d,T=(-r+h+p)*(d-w+v),L=(-r+h)*(w-v),U=(h+p)*(-d+w),k=(r+n+s-l-f-h-p)*v,W=p*(-d+w+m-D-v-E+b),P=(-s+p+c)*(D+E-b),K=(s-c)*(D-b),G=s*E,V=(p+c)*(-E+b),tt=(-s+l+f)*(v+E-N),ft=(s-f)*(v-N),vt=(l+f)*(-E+N),lt=n*m,yt=f*b,bt=a*w,Bt=h*g,Et=c*N,ne=C+G+lt,It=x+S+O+C+P+G+V,Nt=C+T+U+k+G+tt+vt,se=F+M+S+C+G+tt+ft,Qt=F+S+O+C+yt,qt=G+tt+ft+vt+bt,Kt=C+T+L+W+P+K+G,Ne=P+K+G+V+Bt,ur=C+T+L+U+Et;return e.set(0,0,ne),e.set(0,1,It),e.set(0,2,Nt),e.set(1,0,se),e.set(1,1,Qt),e.set(1,2,qt),e.set(2,0,Kt),e.set(2,1,Ne),e.set(2,2,ur),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(c,d,g){let w=c.rows,m=c.columns;if(w===d&&m===g)return c;{let D=$t.zeros(d,g);return D=D.setSubMatrix(c,0,0),D}}let f=Math.max(r,s),h=Math.max(n,a);e=l(e,f,h),t=l(t,f,h);function p(c,d,g,w){if(g<=512||w<=512)return c.mmul(d);g%2===1&&w%2===1?(c=l(c,g+1,w+1),d=l(d,g+1,w+1)):g%2===1?(c=l(c,g+1,w),d=l(d,g+1,w)):w%2===1&&(c=l(c,g,w+1),d=l(d,g,w+1));let m=parseInt(c.rows/2,10),D=parseInt(c.columns/2,10),v=c.subMatrix(0,m-1,0,D-1),E=d.subMatrix(0,m-1,0,D-1),b=c.subMatrix(0,m-1,D,c.columns-1),N=d.subMatrix(0,m-1,D,d.columns-1),x=c.subMatrix(m,c.rows-1,0,D-1),F=d.subMatrix(m,d.rows-1,0,D-1),M=c.subMatrix(m,c.rows-1,D,c.columns-1),S=d.subMatrix(m,d.rows-1,D,d.columns-1),O=p($t.add(v,M),$t.add(E,S),m,D),C=p($t.add(x,M),E,m,D),T=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(O,L);P.sub(U),P.add(W);let K=$t.add(T,U),G=$t.add(C,L),V=$t.sub(O,C);V.add(T),V.add(k);let tt=$t.zeros(2*P.rows,2*P.columns);return tt=tt.setSubMatrix(P,0,0),tt=tt.setSubMatrix(K,P.rows,0),tt=tt.setSubMatrix(G,0,P.columns),tt=tt.setSubMatrix(V,P.rows,P.columns),tt.subMatrix(0,g-1,0,w-1)}return p(e,t,f,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&&Tc(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&&Tc(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 f=0;f<r;f++)for(let h=0;h<n;h++)for(let p=0;p<s;p++)a.set(n*l+h,s*f+p,this.get(l,f)*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=Lc){for(let e=0;e<this.rows;e++)this.setRow(e,this.getRow(e).sort(t));return this}sortColumns(t=Lc){for(let e=0;e<this.columns;e++)this.setColumn(e,this.getColumn(e).sort(t));return this}subMatrix(t,e,r,n){Ia(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;Ia(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){Ba(this,t),Ta(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 E1(this);case"column":return x1(this);case void 0:return A1(this);default:throw new Error(`invalid option: ${t}`)}}product(t){switch(t){case"row":return C1(this);case"column":return F1(this);case void 0:return M1(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(!Qe.isAnyArray(n))throw new TypeError("mean must be an array");return N1(this,r,n)}case"column":{if(!Qe.isAnyArray(n))throw new TypeError("mean must be an array");return S1(this,r,n)}case void 0:{if(typeof n!="number")throw new TypeError("mean must be a number");return B1(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(!Qe.isAnyArray(r))throw new TypeError("center must be an array");return T1(this,r),this}case"column":{if(!Qe.isAnyArray(r))throw new TypeError("center must be an array");return I1(this,r),this}case void 0:{if(typeof r!="number")throw new TypeError("center must be a number");return O1(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=$1(this);else if(!Qe.isAnyArray(r))throw new TypeError("scale must be an array");return L1(this,r),this}case"column":{if(r===void 0)r=R1(this);else if(!Qe.isAnyArray(r))throw new TypeError("scale must be an array");return P1(this,r),this}case void 0:{if(r===void 0)r=z1(this);else if(typeof r!="number")throw new TypeError("scale must be a number");return q1(this,r),this}default:throw new Error(`invalid option: ${t}`)}}toString(t){return Oc(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")]=w1);function Lc(i,t){return i-t}function k1(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=(bi=class extends $t{constructor(e,r){super();Dl(this,Vi);z(this,"data");if(bi.isMatrix(e))bl(this,Vi,El).call(this,e.rows,e.columns),bi.copy(e,this);else if(Number.isInteger(e)&&e>=0)bl(this,Vi,El).call(this,e,r);else if(Qe.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(!k1(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 yr(this,e),this.data.splice(e,1),this.rows-=1,this}addRow(e,r){return r===void 0&&(r=e,e=this.rows),yr(this,e,!0),r=Float64Array.from(_i(this,r)),this.data.splice(e,0,r),this.rows+=1,this}removeColumn(e){Dr(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),Dr(this,e,!0),r=mi(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}},Vi=new WeakSet,El=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},bi);b1($t,pt);const fo=class fo extends $t{constructor(e){super();Dl(this,We,void 0);if(pt.isMatrix(e)){if(!e.isSymmetric())throw new TypeError("not symmetric data");ra(this,We,pt.copy(e,new pt(e.rows,e.rows)))}else if(Number.isInteger(e)&&e>=0)ra(this,We,new pt(e,e));else if(ra(this,We,new pt(e)),!this.isSymmetric())throw new TypeError("not symmetric data")}get size(){return kr(this,We).size}get rows(){return kr(this,We).rows}get columns(){return kr(this,We).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 fo(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 kr(this,We).get(e,r)}set(e,r,n){return kr(this,We).set(e,r,n),kr(this,We).set(r,e,n),this}removeCross(e){return kr(this,We).removeRow(e),kr(this,We).removeColumn(e),this}addCross(e,r){r===void 0&&(r=e,e=this.diagonalSize);const n=r.slice();return n.splice(e,1),kr(this,We).addRow(e,n),kr(this,We).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 fo(n);for(let a=0,l=0,f=0;f<r;f++)s.set(a,l,e[f]),++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)}};We=new WeakMap;let Yn=fo;Yn.prototype.klassType="SymmetricMatrix";class Qs extends Yn{static isDistanceMatrix(t){return Yn.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 Yn(this)}clone(){const t=new Qs(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}}Qs.prototype.klassSubType="DistanceMatrix";class tn extends $t{constructor(t,e,r){super(),this.matrix=t,this.rows=e,this.columns=r}}class U1 extends tn{constructor(t,e){Dr(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 W1 extends tn{constructor(t,e){Ta(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 j1 extends tn{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 Y1 extends tn{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 Z1 extends tn{constructor(t,e){yr(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 G1 extends tn{constructor(t,e){Ba(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 to extends tn{constructor(t,e,r){Ba(t,e),Ta(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 K1 extends tn{constructor(t,e,r,n,s){Ia(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 H1 extends tn{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 Rc 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 ar 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 J1(i,t){if(Qe.isAnyArray(i))return i[0]&&Qe.isAnyArray(i[0])?new ar(i):new Rc(i,t);throw new Error("the argument is not an array")}class eo{constructor(t){t=ar.checkMatrix(t);let e=t.clone(),r=e.rows,n=e.columns,s=new Float64Array(r),a=1,l,f,h,p,c,d,g,w,m;for(l=0;l<r;l++)s[l]=l;for(w=new Float64Array(r),f=0;f<n;f++){for(l=0;l<r;l++)w[l]=e.get(l,f);for(l=0;l<r;l++){for(m=Math.min(l,f),c=0,h=0;h<m;h++)c+=e.get(l,h)*w[h];w[l]-=c,e.set(l,f,w[l])}for(p=f,l=f+1;l<r;l++)Math.abs(w[l])>Math.abs(w[p])&&(p=l);if(p!==f){for(h=0;h<n;h++)d=e.get(p,h),e.set(p,h,e.get(f,h)),e.set(f,h,d);g=s[p],s[p]=s[f],s[f]=g,a=-a}if(f<r&&e.get(f,f)!==0)for(l=f+1;l<r;l++)e.set(l,f,e.get(l,f)/e.get(f,f))}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,f,h;for(h=0;h<a;h++)for(l=h+1;l<a;l++)for(f=0;f<n;f++)s.set(l,f,s.get(l,f)-s.get(h,f)*e.get(l,h));for(h=a-1;h>=0;h--){for(f=0;f<n;f++)s.set(h,f,s.get(h,f)/e.get(h,h));for(l=0;l<h;l++)for(f=0;f<n;f++)s.set(l,f,s.get(l,f)-s.get(h,f)*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 en(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 Oa{constructor(t){t=ar.checkMatrix(t);let e=t.clone(),r=t.rows,n=t.columns,s=new Float64Array(n),a,l,f,h;for(f=0;f<n;f++){let p=0;for(a=f;a<r;a++)p=en(p,e.get(a,f));if(p!==0){for(e.get(f,f)<0&&(p=-p),a=f;a<r;a++)e.set(a,f,e.get(a,f)/p);for(e.set(f,f,e.get(f,f)+1),l=f+1;l<n;l++){for(h=0,a=f;a<r;a++)h+=e.get(a,f)*e.get(a,l);for(h=-h/e.get(f,f),a=f;a<r;a++)e.set(a,l,e.get(a,l)+h*e.get(a,f))}}s[f]=-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,f,h,p;for(h=0;h<a;h++)for(f=0;f<n;f++){for(p=0,l=h;l<r;l++)p+=e.get(l,h)*s.get(l,f);for(p=-p/e.get(h,h),l=h;l<r;l++)s.set(l,f,s.get(l,f)+p*e.get(l,h))}for(h=a-1;h>=0;h--){for(f=0;f<n;f++)s.set(h,f,s.get(h,f)/this.Rdiag[h]);for(l=0;l<h;l++)for(f=0;f<n;f++)s.set(l,f,s.get(l,f)-s.get(h,f)*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,f;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(f=0,s=l;s<e;s++)f+=t.get(s,l)*n.get(s,a);for(f=-f/t.get(l,l),s=l;s<e;s++)n.set(s,a,n.get(s,a)+f*t.get(s,l))}}return n}}class vi{constructor(t,e={}){if(t=ar.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 f=!!s,h=!!a,p=!1,c;if(r<n)if(!l)c=t.clone(),console.warn("Computing SVD on a matrix with more columns than rows. Consider enabling autoTranspose");else{c=t.transpose(),r=c.rows,n=c.columns,p=!0;let C=f;f=h,h=C}else c=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 T=C;T<r;T++)w[C]=en(w[C],c.get(T,C));if(w[C]!==0){c.get(C,C)<0&&(w[C]=-w[C]);for(let T=C;T<r;T++)c.set(T,C,c.get(T,C)/w[C]);c.set(C,C,c.get(C,C)+1)}w[C]=-w[C]}for(let T=C+1;T<n;T++){if(C<N&&w[C]!==0){let L=0;for(let U=C;U<r;U++)L+=c.get(U,C)*c.get(U,T);L=-L/c.get(C,C);for(let U=C;U<r;U++)c.set(U,T,c.get(U,T)+L*c.get(U,C))}v[T]=c.get(C,T)}if(f&&C<N)for(let T=C;T<r;T++)m.set(T,C,c.get(T,C));if(C<x){v[C]=0;for(let T=C+1;T<n;T++)v[C]=en(v[C],v[T]);if(v[C]!==0){v[C+1]<0&&(v[C]=0-v[C]);for(let T=C+1;T<n;T++)v[T]/=v[C];v[C+1]+=1}if(v[C]=-v[C],C+1<r&&v[C]!==0){for(let T=C+1;T<r;T++)E[T]=0;for(let T=C+1;T<r;T++)for(let L=C+1;L<n;L++)E[T]+=v[L]*c.get(T,L);for(let T=C+1;T<n;T++){let L=-v[T]/v[C+1];for(let U=C+1;U<r;U++)c.set(U,T,c.get(U,T)+L*E[U])}}if(h)for(let T=C+1;T<n;T++)D.set(T,C,v[T])}}let M=Math.min(n,r+1);if(N<n&&(w[N]=c.get(N,N)),r<M&&(w[M-1]=0),x+1<M&&(v[x]=c.get(x,M-1)),v[M-1]=0,f){for(let C=N;C<d;C++){for(let T=0;T<r;T++)m.set(T,C,0);m.set(C,C,1)}for(let C=N-1;C>=0;C--)if(w[C]!==0){for(let T=C+1;T<d;T++){let L=0;for(let U=C;U<r;U++)L+=m.get(U,C)*m.get(U,T);L=-L/m.get(C,C);for(let U=C;U<r;U++)m.set(U,T,m.get(U,T)+L*m.get(U,C))}for(let T=C;T<r;T++)m.set(T,C,-m.get(T,C));m.set(C,C,1+m.get(C,C));for(let T=0;T<C-1;T++)m.set(T,C,0)}else{for(let T=0;T<r;T++)m.set(T,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 T=C+1;T<n;T++){let L=0;for(let U=C+1;U<n;U++)L+=D.get(U,C)*D.get(U,T);L=-L/D.get(C+1,C);for(let U=C+1;U<n;U++)D.set(U,T,D.get(U,T)+L*D.get(U,C))}for(let T=0;T<n;T++)D.set(T,C,0);D.set(C,C,1)}let S=M-1,O=Number.EPSILON;for(;M>0;){let C,T;for(C=M-2;C>=-1&&C!==-1;C--){const L=Number.MIN_VALUE+O*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)T=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(w[L])<=O*U){w[L]=0;break}}L===C?T=3:L===M-1?T=1:(T=2,C=L)}switch(C++,T){case 1:{let L=v[M-2];v[M-2]=0;for(let U=M-2;U>=C;U--){let k=en(w[U],L),W=w[U]/k,P=L/k;if(w[U]=k,U!==C&&(L=-P*v[U-1],v[U-1]=W*v[U-1]),h)for(let K=0;K<n;K++)k=W*D.get(K,U)+P*D.get(K,M-1),D.set(K,M-1,-P*D.get(K,U)+W*D.get(K,M-1)),D.set(K,U,k)}break}case 2:{let L=v[C-1];v[C-1]=0;for(let U=C;U<M;U++){let k=en(w[U],L),W=w[U]/k,P=L/k;if(w[U]=k,L=-P*v[U],v[U]=W*v[U],f)for(let K=0;K<r;K++)k=W*m.get(K,U)+P*m.get(K,C-1),m.set(K,C-1,-P*m.get(K,U)+W*m.get(K,C-1)),m.set(K,U,k)}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])),U=w[M-1]/L,k=w[M-2]/L,W=v[M-2]/L,P=w[C]/L,K=v[C]/L,G=((k+U)*(k-U)+W*W)/2,V=U*W*(U*W);let tt=0;(G!==0||V!==0)&&(G<0?tt=0-Math.sqrt(G*G+V):tt=Math.sqrt(G*G+V),tt=V/(G+tt));let ft=(P+U)*(P-U)+tt,vt=P*K;for(let lt=C;lt<M-1;lt++){let yt=en(ft,vt);yt===0&&(yt=Number.MIN_VALUE);let bt=ft/yt,Bt=vt/yt;if(lt!==C&&(v[lt-1]=yt),ft=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=en(ft,vt),yt===0&&(yt=Number.MIN_VALUE),bt=ft/yt,Bt=vt/yt,w[lt]=yt,ft=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],f&&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]=ft;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 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(f&&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=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,f=l.mmul(s),h=l.rows,p=a.rows,c=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+=f.get(d,m)*a.get(g,m);c.set(d,g,w)}return c.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 c=0;c<n;c++)Math.abs(this.s[c])>e&&s.set(p,c,t.get(p,c)/this.s[c]);let a=this.U,l=a.rows,f=a.columns,h=new pt(r,l);for(let p=0;p<r;p++)for(let c=0;c<l;c++){let d=0;for(let g=0;g<f;g++)d+=s.get(p,g)*a.get(c,g);h.set(p,c,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 X1(i,t=!1){return i=ar.checkMatrix(i),t?new vi(i).inverse():Pc(i,pt.eye(i.rows))}function Pc(i,t,e=!1){return i=ar.checkMatrix(i),t=ar.checkMatrix(t),e?new vi(i).solve(t):i.isSquare()?new eo(i).solve(t):new Oa(i).solve(t)}function ro(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 to(i,[1,2],[1,2]),a=new to(i,[1,2],[0,2]),l=new to(i,[1,2],[0,1]),t=i.get(0,0),e=i.get(0,1),r=i.get(0,2),t*ro(s)-e*ro(a)+r*ro(l)}else return new eo(i).determinant}else throw Error("determinant can only be calculated for a square matrix")}function V1(i,t){let e=[];for(let r=0;r<i;r++)r!==t&&e.push(r);return e}function Q1(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 tw(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)),f=i.subMatrixRow(V1(n,a)).transpose(),p=new vi(f).solve(l),c=pt.sub(l,f.mmul(p)).abs().max();s.setRow(a,Q1(c,p,a,e,r))}return s}function ew(i,t=Number.EPSILON){if(i=pt.checkMatrix(i),i.isEmpty())return i.transpose();let e=new vi(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 rw(i,t=i,e={}){i=new pt(i);let r=!1;if(typeof t=="object"&&!pt.isMatrix(t)&&!Qe.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 nw(i,t=i,e={}){i=new pt(i);let r=!1;if(typeof t=="object"&&!pt.isMatrix(t)&&!Qe.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}),f=i.transpose().mmul(t);for(let h=0;h<f.rows;h++)for(let p=0;p<f.columns;p++)f.set(h,p,f.get(h,p)*(1/(a[h]*l[p]))*(1/(i.rows-1)));return f}let zc=class{constructor(t,e={}){const{assumeSymmetric:r=!1}=e;if(t=ar.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),f=t,h,p,c=!1;if(r?c=!0:c=t.isSymmetric(),c){for(h=0;h<n;h++)for(p=0;p<n;p++)s.set(h,p,f.get(h,p));iw(n,l,a,s),sw(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,f.get(h,p));ow(n,d,g,s),aw(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 iw(i,t,e,r){let n,s,a,l,f,h,p,c;for(f=0;f<i;f++)e[f]=r.get(i-1,f);for(l=i-1;l>0;l--){for(c=0,a=0,h=0;h<l;h++)c=c+Math.abs(e[h]);if(c===0)for(t[l]=e[l-1],f=0;f<l;f++)e[f]=r.get(l-1,f),r.set(l,f,0),r.set(f,l,0);else{for(h=0;h<l;h++)e[h]/=c,a+=e[h]*e[h];for(n=e[l-1],s=Math.sqrt(a),n>0&&(s=-s),t[l]=c*s,a=a-n*s,e[l-1]=n-s,f=0;f<l;f++)t[f]=0;for(f=0;f<l;f++){for(n=e[f],r.set(f,l,n),s=t[f]+r.get(f,f)*n,h=f+1;h<=l-1;h++)s+=r.get(h,f)*e[h],t[h]+=r.get(h,f)*n;t[f]=s}for(n=0,f=0;f<l;f++)t[f]/=a,n+=t[f]*e[f];for(p=n/(a+a),f=0;f<l;f++)t[f]-=p*e[f];for(f=0;f<l;f++){for(n=e[f],s=t[f],h=f;h<=l-1;h++)r.set(h,f,r.get(h,f)-(n*t[h]+s*e[h]));e[f]=r.get(l-1,f),r.set(l,f,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(f=0;f<=l;f++){for(s=0,h=0;h<=l;h++)s+=r.get(h,l+1)*r.get(h,f);for(h=0;h<=l;h++)r.set(h,f,r.get(h,f)-s*e[h])}}for(h=0;h<=l;h++)r.set(h,l+1,0)}for(f=0;f<i;f++)e[f]=r.get(i-1,f),r.set(i-1,f,0);r.set(i-1,i-1,1),t[0]=0}function sw(i,t,e,r){let n,s,a,l,f,h,p,c,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],c=(e[h+1]-n)/(2*t[h]),d=en(c,1),c<0&&(d=-d),e[h]=t[h]/(c+d),e[h+1]=t[h]*(c+d),g=e[h+1],s=n-e[h],a=h+2;a<i;a++)e[a]-=s;for(N=N+s,c=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*c,d=en(c,t[a]),t[a+1]=E*d,E=t[a]/d,w=c/d,c=w*e[a]-E*n,e[a+1]=s+E*(w*n+E*e[a]),f=0;f<i;f++)s=r.get(f,a+1),r.set(f,a+1,E*r.get(f,a)+w*s),r.set(f,a,w*r.get(f,a)-E*s);c=-E*b*D*v*t[h]/g,t[h]=E*c,e[h]=w*c}while(Math.abs(t[h])>F*x);e[h]=e[h]+N,t[h]=0}for(a=0;a<i-1;a++){for(f=a,c=e[a],l=a+1;l<i;l++)e[l]<c&&(f=l,c=e[l]);if(f!==a)for(e[f]=e[a],e[a]=c,l=0;l<i;l++)c=r.get(l,a),r.set(l,a,r.get(l,f)),r.set(l,f,c)}}function ow(i,t,e,r){let n=0,s=i-1,a,l,f,h,p,c,d;for(c=n+1;c<=s-1;c++){for(d=0,h=c;h<=s;h++)d=d+Math.abs(t.get(h,c-1));if(d!==0){for(f=0,h=s;h>=c;h--)e[h]=t.get(h,c-1)/d,f+=e[h]*e[h];for(l=Math.sqrt(f),e[c]>0&&(l=-l),f=f-e[c]*l,e[c]=e[c]-l,p=c;p<i;p++){for(a=0,h=s;h>=c;h--)a+=e[h]*t.get(h,p);for(a=a/f,h=c;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>=c;p--)a+=e[p]*t.get(h,p);for(a=a/f,p=c;p<=s;p++)t.set(h,p,t.get(h,p)-a*e[p])}e[c]=d*e[c],t.set(c,c-1,d*l)}}for(h=0;h<i;h++)for(p=0;p<i;p++)r.set(h,p,h===p?1:0);for(c=s-1;c>=n+1;c--)if(t.get(c,c-1)!==0){for(h=c+1;h<=s;h++)e[h]=t.get(h,c-1);for(p=c;p<=s;p++){for(l=0,h=c;h<=s;h++)l+=e[h]*r.get(h,p);for(l=l/e[c]/t.get(c,c-1),h=c;h<=s;h++)r.set(h,p,r.get(h,p)+l*e[h])}}}function aw(i,t,e,r,n){let s=i-1,a=0,l=i-1,f=Number.EPSILON,h=0,p=0,c=0,d=0,g=0,w=0,m=0,D=0,v,E,b,N,x,F,M,S,O,C,T,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&&(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))<f*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),c=(n.get(s-1,s-1)-n.get(s,s))/2,d=c*c+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=c>=0?c+m:c-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),c=S/w,d=m/w,g=Math.sqrt(c*c+d*d),c=c/g,d=d/g,E=s-1;E<i;E++)m=n.get(s-1,E),n.set(s-1,E,d*m+c*n.get(s,E)),n.set(s,E,d*n.get(s,E)-c*m);for(v=0;v<=s;v++)m=n.get(v,s-1),n.set(v,s-1,d*m+c*n.get(v,s)),n.set(v,s,d*n.get(v,s)-c*m);for(v=a;v<=l;v++)m=r.get(v,s-1),r.set(v,s-1,d*m+c*r.get(v,s)),r.set(v,s,d*r.get(v,s)-c*m)}else e[s-1]=S+c,e[s]=S+c,t[s-1]=m,t[s]=-m;s=s-2,D=0}else{if(S=n.get(s,s),O=0,M=0,N<s&&(O=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=O=.75*w,M=-.4375*w*w}if(D===30&&(w=(O-S)/2,w=w*w+M,w>0)){for(w=Math.sqrt(w),O<S&&(w=-w),w=S-M/((O-S)/2+w),v=a;v<=s;v++)n.set(v,v,n.get(v,v)-w);h+=w,S=O=M=.964}for(D=D+1,x=s-2;x>=N&&(m=n.get(x,x),g=S-m,w=O-m,c=(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(c)+Math.abs(d)+Math.abs(g),c=c/w,d=d/w,g=g/w,!(x===N||Math.abs(n.get(x,x-1))*(Math.abs(d)+Math.abs(g))<f*(Math.abs(c)*(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&&(c=n.get(b,b-1),d=n.get(b+1,b-1),g=k?n.get(b+2,b-1):0,S=Math.abs(c)+Math.abs(d)+Math.abs(g),S!==0&&(c=c/S,d=d/S,g=g/S)),S!==0);b++)if(w=Math.sqrt(c*c+d*d+g*g),c<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)),c=c+w,S=c/w,O=d/w,m=g/w,d=d/c,g=g/c,E=b;E<i;E++)c=n.get(b,E)+d*n.get(b+1,E),k&&(c=c+g*n.get(b+2,E),n.set(b+2,E,n.get(b+2,E)-c*m)),n.set(b,E,n.get(b,E)-c*S),n.set(b+1,E,n.get(b+1,E)-c*O);for(v=0;v<=Math.min(s,b+3);v++)c=S*n.get(v,b)+O*n.get(v,b+1),k&&(c=c+m*n.get(v,b+2),n.set(v,b+2,n.get(v,b+2)-c*g)),n.set(v,b,n.get(v,b)-c),n.set(v,b+1,n.get(v,b+1)-c*d);for(v=a;v<=l;v++)c=S*r.get(v,b)+O*r.get(v,b+1),k&&(c=c+m*r.get(v,b+2),r.set(v,b+2,r.get(v,b+2)-c*g)),r.set(v,b,r.get(v,b)-c),r.set(v,b+1,r.get(v,b+1)-c*d)}}}if(p!==0){for(s=i-1;s>=0;s--)if(c=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)-c,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/(f*p)):(S=n.get(v,v+1),O=n.get(v+1,v),d=(e[v]-c)*(e[v]-c)+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-O*F)/m)),F=Math.abs(n.get(v,s)),f*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)-c)/n.get(s,s-1))):(W=no(0,-n.get(s-1,s),n.get(s-1,s-1)-c,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,T=0,E=N;E<=s;E++)C=C+n.get(v,E)*n.get(E,s-1),T=T+n.get(v,E)*n.get(E,s);if(M=n.get(v,v)-c,t[v]<0)m=M,g=C,w=T;else if(N=v,t[v]===0?(W=no(-C,-T,M,d),n.set(v,s-1,W[0]),n.set(v,s,W[1])):(S=n.get(v,v+1),O=n.get(v+1,v),L=(e[v]-c)*(e[v]-c)+t[v]*t[v]-d*d,U=(e[v]-c)*2*d,L===0&&U===0&&(L=f*p*(Math.abs(M)+Math.abs(d)+Math.abs(S)+Math.abs(O)+Math.abs(m))),W=no(S*g-m*C+d*T,S*w-m*T-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,(-T-M*n.get(v,s)-d*n.get(v,s-1))/S)):(W=no(-g-O*n.get(v,s-1),-w-O*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))),f*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 no(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 qc{constructor(t){if(t=ar.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,f;for(l=0;l<r;l++){let h=0;for(f=0;f<l;f++){let p=0;for(a=0;a<f;a++)p+=n.get(f,a)*n.get(l,a);p=(e.get(l,f)-p)/n.get(f,f),n.set(l,f,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))),f=l+1;f<r;f++)n.set(l,f,0)}this.L=n,this.positiveDefinite=!!s}isPositiveDefinite(){return this.positiveDefinite}solve(t){t=ar.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,f;for(f=0;f<r;f++)for(l=0;l<n;l++){for(a=0;a<f;a++)s.set(f,l,s.get(f,l)-s.get(a,l)*e.get(f,a));s.set(f,l,s.get(f,l)/e.get(f,f))}for(f=r-1;f>=0;f--)for(l=0;l<n;l++){for(a=f+1;a<r;a++)s.set(f,l,s.get(f,l)-s.get(a,l)*e.get(a,f));s.set(f,l,s.get(f,l)/e.get(f,f))}return s}get lowerTriangularMatrix(){return this.L}}class kc{constructor(t,e={}){t=ar.checkMatrix(t);let{Y:r}=e;const{scaleScores:n=!1,maxIterations:s=1e3,terminationCriteria:a=1e-10}=e;let l;if(r){if(Qe.isAnyArray(r)&&typeof r[0]=="number"?r=pt.columnVector(r):r=ar.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 f=1,h,p,c,d;for(let g=0;g<s&&f>a;g++)c=t.transpose().mmul(l).div(l.transpose().mmul(l).get(0,0)),c=c.div(c.norm()),h=t.mmul(c).div(c.transpose().mmul(c).get(0,0)),g>0&&(f=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=c.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=c.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(c.transpose()))}}zt.AbstractMatrix=$t,zt.CHO=qc,zt.CholeskyDecomposition=qc,zt.DistanceMatrix=Qs,zt.EVD=zc;var uw=zt.EigenvalueDecomposition=zc;zt.LU=eo,zt.LuDecomposition=eo;var Uc=zt.Matrix=pt;zt.MatrixColumnSelectionView=W1,zt.MatrixColumnView=U1,zt.MatrixFlipColumnView=j1,zt.MatrixFlipRowView=Y1,zt.MatrixRowSelectionView=G1,zt.MatrixRowView=Z1,zt.MatrixSelectionView=to,zt.MatrixSubView=K1,zt.MatrixTransposeView=H1,zt.NIPALS=kc,zt.Nipals=kc,zt.QR=Oa,zt.QrDecomposition=Oa,zt.SVD=vi,zt.SingularValueDecomposition=vi,zt.SymmetricMatrix=Yn,zt.WrapperMatrix1D=Rc,zt.WrapperMatrix2D=ar,zt.correlation=nw,zt.covariance=rw;var Wc=zt.default=pt;zt.determinant=ro,zt.inverse=X1,zt.linearDependencies=tw,zt.pseudoInverse=ew,zt.solve=Pc,zt.wrap=J1;const jc=uw,Yc=Uc;Wc.Matrix&&Wc.Matrix;class lw{constructor(t){z(this,"_errorListener");this._errorListener=t}new({rows:t,columns:e,initial_value:r}={}){return new $a(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 $a{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 Jt(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 Jt(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 Sc(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=Hs(this._matrixArray);return this._newMatrix(t)}max(){return r1(this._matrixArray)}min(){return Sa(this._matrixArray)}pow({power:t}){const e=_t(t)?this._matrixArray:i1(this._matrixArray,t);return this._newMatrix(e)}row({row:t}){return _t(t)?new Jt(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=Gi(this._matrixArray,typeof t=="number"?t:t._matrixArray);return this._newMatrix(e)}copy(){return this._newMatrix(this._matrixArray)}diff({id2:t}){const e=Jv(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[f]of l._value.entries())a<r&&a>=e&&f>=n&&f<s&&l.set({index:f,value:t})}kron({id2:t}){const e=Kv(this._matrixArray,t._matrixArray);return this._newMatrix(e)}mode(){return Sa(Ec(this._matrixArray))}mult({id2:t}){const e=typeof t=="number"?t:t._matrixArray?t._matrixArray:t._value,r=di(this._matrixArray,e);return this._newMatrix(r)}pinv(){const t=n1(this._matrixArray);return this._newMatrix(t)}rank(){return this._matrixRank(this._matrixArray)}sort({column:t,order:e=zn.ascending}={}){_t(t)&&(t=0),this._matrixInstance.sort((r,n)=>{const s=r._value[t],a=n._value[t];return e!==zn.descending?s-a:a-s})}trace(){return e1(this._matrixArray)}concat({id2:t}){for(const e of t._value)this._matrixInstance.push(e);return this}median(){return Bc(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 Jt(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,Ce.Error);return}const n=jv(this._matrixArray,[t,e]);this._matrixInstance=n.map(s=>{const a=new Jt(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=Ac(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 Jt(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 jc(new Yc(this._matrixArray)),e=new Jt(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 jc(new Yc(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 Yv(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 $a(0,0,void 0,this._errorListener);return e._value=t.map(r=>{const n=new Jt(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 f=s[a][a];for(let h=0;h<n;h++)s[a][h]/=f;for(let h=a+1;h<r;h++){const p=s[h][a];s[h]=s[h].map((c,d)=>c-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 fw{constructor(t){z(this,"_variables");z(this,"_cacheData");this._variables=t,this._cacheData={}}change({timeframe:t},e){if(!t)return!0;const r=Xr(t),n=Xr(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 f=this._calcTimeOffset(l,t);return this._cacheData[s]={currentTime:l,offset:f},!1}return!1}in_seconds({timeframe:t}={}){return Xr(t||this._variables.timeframe.period)}from_seconds({seconds:t=0}){const e=t*1e3,r=Vt.duration(e);if(r.years())return"12M";const s=r.asMonths();if(Gs(s))return`${s}M`;const a=r.asWeeks();if(Gs(a))return`${a}M`;const l=r.asDays();if(l>=1)return`${Math.ceil(l)}D`;const f=r.asMinutes();if(f>=1)return`${Math.ceil(f)}`;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=Vt(t).day();e="1D",l!==1&&(r=(8-l)*60*60*24*1e3)}else if(e.includes("M")){const l=Vt(t).date();e="1D";const f=Vt(t).daysInMonth();l!==1&&(r=(f-l+1)*60*60*24*1e3)}const n=this._variables.getTimeTradingday(t,e),s=Xr(e)*1e3,a=t-n-Math.floor((t-n)/s)*s;return r?r-a:a}}class cw{constructor(t){z(this,"_errorListener");this._errorListener=t}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 Jt;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,Ce.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 this._formatNumber(t,e)}_arrToStr(t,e){return`[${t.map(n=>typeof n=="number"?this._formatNumber(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),Br(t,r).format(e)}replace_all({source:t="",target:e="",replacement:r=""}){return t==null?void 0:t.replace(new RegExp(e,"g"),r)}_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 f=l[1];r=r.replace(new RegExp(a,"g"),String(this._formatNumber(n,f)))}else r=r.replace(new RegExp(`\\{${s}\\}`,"g"),String(n))}else r=r.replace(new RegExp(`\\{${s}\\}`,"g"),n)}),r}}class hw{constructor(t){z(this,"_errorListener");this._errorListener=t}new(){return new La(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 La{constructor(t){z(this,"_errorListener");z(this,"_mapInstance");this._errorListener=t,this._mapInstance=new Map}get isMap(){return!0}_copyMap(t){const e=new La(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 Jt(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 Jt(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 pw{constructor(t){z(this,"_variables");this._variables=t}new({price:t,time:e,index:r}){return new Zn(t,r,e)}now({price:t}){const{time:e,bar_index:r}=this._variables;return new Zn(t,r,e)}copy({id:t}){const{price:e,time:r,index:n}=t||{};return new Zn(e,n,r)}from_index({price:t,index:e}){return new Zn(t,e)}from_time({price:t,time:e}){return new Zn(t,void 0,e)}}class Zn{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 Zn(this._price,this._index,this._time)}}class dw{constructor(t){z(this,"_variables");z(this,"_defaultLabel",{text:"",xloc:$e.bar_index,yloc:qi.price,size:jr.normal,style:ge.styleLabelDown,textalign:Xe.alignCenter});this._variables=t}new(t,e){const r=`label_${e}`,n={...this._defaultLabel,...t,id:r};t.point&&(n.x=n.xloc===$e.bar_index?t.point.index:t.point.time,n.y=t.point.price);const s=new Hi(r,this._variables);return this._variables.label.add(r,n,s),s}label(t,e){return t.x?t.x:new Hi(e,this._variables)}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 Hi{constructor(t,e){z(this,"_id");z(this,"_variables");this._id=t,this._variables=e}copy(t){const e=`label_${t}`,r=this._getLabel(t),n=new Hi(e,this._variables);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)}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)}set_yloc({yloc:t},e){const r=this._getLabel(e);r&&(r.yloc=t)}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===$e.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)}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)}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)}_getLabel(t){const e=this._variables.label.get(this._id);return e||console.log(`错误${t}: label 不存在`),e}}const _w={freq_all:dn.freqAll,freq_once_per_bar:dn.freqOncePerBar,freq_once_per_bar_close:dn.freqOncePerBarClose},mw={gaps_off:zi.gapsOff,gaps_on:zi.gapsOn,lookahead_off:zi.lookaheadOff,lookahead_on:zi.lookaheadOn},wi={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"},Zc={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"},gw={friday:6,monday:2,saturday:7,sunday:1,thursday:5,tuesday:3,wednesday:4},vw={all:[ir.dataWindow,ir.pane,ir.priceScale,ir.statusLine],data_window:[ir.dataWindow],none:[],pane:[ir.pane],price_scale:[ir.priceScale],status_line:[ir.statusLine]},ww={both:Rn.both,left:Rn.left,none:Rn.none,right:Rn.right},yw={inherit:Pn.inherit,mintick:Pn.mintick,percent:Pn.percent,price:Pn.price,volume:Pn.volume},Dw={style_solid:vs.styleSolid,style_dashed:vs.styleDashed,style_dotted:vs.styleDotted},bw={style_arrowdown:ge.styleArrowdown,style_arrowup:ge.styleArrowup,style_circle:ge.styleCircle,style_cross:ge.styleCross,style_diamond:ge.styleDiamond,style_flag:ge.styleFlag,style_label_center:ge.styleLabelCenter,style_label_down:ge.styleLabelDown,style_label_left:ge.styleLabelLeft,style_label_lower_left:ge.styleLabelLowerLeft,style_label_lower_right:ge.styleLabelLowerRight,style_label_right:ge.styleLabelRight,style_label_up:ge.styleLabelUp,style_label_upper_left:ge.styleLabelUpperLeft,style_label_upper_right:ge.styleLabelUpperRight,style_none:ge.styleNone,style_square:ge.styleSquare,style_text_outline:ge.styleTextOutline,style_triangledown:ge.styleTriangledown,style_triangleup:ge.styleTriangleup,style_xcross:ge.styleXcross},Ew={style_arrow_both:Wr.styleArrowBoth,style_arrow_left:Wr.styleArrowLeft,style_arrow_right:Wr.styleArrowRight,style_dashed:Wr.styleDashed,style_dotted:Wr.styleDotted,style_solid:Wr.styleSolid},xw={abovebar:si.abovebar,absolute:si.absolute,belowbar:si.belowbar,bottom:si.bottom,top:si.top},Aw={e:2.718281828459045,phi:1.618033988749895,pi:3.141592653589793,rphi:.6180339887498948},Cw={style_area:vr.styleArea,style_areabr:vr.styleAreabr,style_circles:vr.styleCircles,style_columns:vr.styleColumns,style_cross:vr.styleCross,style_histogram:vr.styleHistogram,style_line:vr.styleLine,style_linebr:vr.styleLinebr,style_stepline:vr.styleStepline,style_stepline_diamond:vr.styleSteplineDiamond,style_steplinebr:vr.styleSteplinebr},Fw={bottom_center:Tr.bottomCenter,bottom_left:Tr.bottomLeft,bottom_right:Tr.bottomRight,middle_center:Tr.middleCenter,middle_left:Tr.middleLeft,middle_right:Tr.middleRight,top_center:Tr.topCenter,top_left:Tr.topLeft,top_right:Tr.topRight},Mw={left:ws.left,none:ws.none,right:ws.right},Nw={arrowdown:sr.arrowdown,arrowup:sr.arrowup,circle:sr.circle,cross:sr.cross,diamond:sr.diamond,flag:sr.flag,labeldown:sr.labeldown,labelup:sr.labelup,square:sr.square,triangledown:sr.triangledown,triangleup:sr.triangleup,xcross:sr.xcross},Sw={auto:jr.auto,huge:jr.huge,large:jr.large,normal:jr.normal,small:jr.small,tiny:jr.tiny},Bw={cash:Ge.cash,fixed:Ge.fixed,percent_of_equity:Ge.percentOfEquity,commission:{cash_per_contract:Ir.cashPerContract,cash_per_order:Ir.cashPerOrder,percent:Ir.percent},direction:{all:pe.all,long:pe.long,short:pe.short},oca:{cancel:qn.cancel,none:qn.none,reduce:qn.reduce}},Tw={align_bottom:Xe.alignBottom,align_center:Xe.alignCenter,align_left:Xe.alignLeft,align_right:Xe.alignRight,align_top:Xe.alignTop,wrap_auto:Xe.wrapAuto,wrap_none:Xe.wrapNone},Iw={bar_index:$e.bar_index,bar_time:$e.bar_time},Ow={abovebar:qi.abovebar,belowbar:qi.belowbar,price:qi.price},$w={actual:ys.actual,estimate:ys.estimate,standardized:ys.standardized};class Lw{constructor(){z(this,"adjustment",{dividends:gs.dividends,none:gs.none,splits:gs.splits});z(this,"alert",_w);z(this,"barmerge",mw);z(this,"color",wi);z(this,"currency",Zc);z(this,"dayofweek",gw);z(this,"earnings",$w);z(this,"display",vw);z(this,"extend",ww);z(this,"font",{family_default:"SimSun",family_monospace:"Monospace"});z(this,"format",yw);z(this,"hline",Dw);z(this,"label",bw);z(this,"line",Ew);z(this,"location",xw);z(this,"math",Aw);z(this,"order",{ascending:zn.ascending,descending:zn.descending});z(this,"plot",Cw);z(this,"position",Fw);z(this,"scale",Mw);z(this,"session",{extended:na.extended,regular:na.regular});z(this,"shape",Nw);z(this,"size",Sw);z(this,"splits",{denominator:"denominator",numerator:"numerator"});z(this,"strategy",Bw);z(this,"text",Tw);z(this,"xloc",Iw);z(this,"yloc",Ow)}updateData(){}}class Rw{constructor(t){z(this,"_variables");z(this,"_defaultPolyline",{curved:!1,closed:!1,xloc:$e.bar_index,line_color:wi.blue,line_style:Wr.styleSolid,line_width:1});this._variables=t}new(t,e){const r=`polyline_${e}`,n=Object.assign({},this._defaultPolyline,t,{id:r}),s=new Gc(r,this._variables);return this._variables.polyline.add(r,n,s),s}delete({id:t}){t&&t.delete()}}class Gc{constructor(t,e){z(this,"_id");z(this,"_variables");this._variables=e,this._id=t}delete(){this._variables.polyline.delete(this._id)}}class Pw{constructor(t){z(this,"_variables");z(this,"_defaultLine",{xloc:$e.bar_index,extend:Rn.none,style:Wr.styleSolid});this._variables=t}new({first_point:t,second_point:e,...r},n){const s=`line_${n}`,a={...this._defaultLine,...r,id:s};if(t&&e){const f=a.xloc===$e.bar_index?t.index:t.time,h=a.xloc===$e.bar_index?e.index:e.time;Object.assign(a,{x1:f,y1:t.price,x2:h,y2:e.price})}const l=new Ji(s,this._variables);return this._variables.line.add(s,a,l),l}line(t,e){return t.x?t.x:new Ji(e,this._variables)}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 Ji{constructor(t,e){z(this,"_variables");z(this,"_id");this._id=t,this._variables=e}get data(){return this._variables.line.get(this._id)}copy(t){const e=`line_${t}`,r=this._getLine(t),n=new Ji(e,this._variables);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===$e.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)}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)}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)}set_first_point({point:t},e){const r=this._getLine(e);if(r){const{index:n,time:s,price:a}=t||{},l=r.xloc===$e.bar_index?n:s,f=a;l&&(r.x1=l),f&&(r.y1=f)}}set_second_point({point:t},e){const r=this._getLine(e);if(r){const{index:n,time:s,price:a}=t||{},l=r.xloc===$e.bar_index?n:s,f=a;l&&(r.x2=l),f&&(r.y2=f)}}_getLine(t){const e=this._variables.line.get(this._id);return e||console.log(`${t}: line 不存在`),e}}class zw{constructor(t){z(this,"_variables");this._variables=t}new({line1:t,line2:e,color:r},n){const s=`linefill_${n}`,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 f=new io(this._variables,s,t,e);return(a||l)&&this._variables.linefill.add(s,{line1:a,line2:l,color:r,id:s},f),f}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 io{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 io(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 qw{constructor(t){z(this,"_variables");z(this,"_defaultBox",{border_color:wi.blue,border_width:1,bgcolor:wi.blue,xloc:$e.bar_index,extend:Rn.none,style:Wr.styleSolid,text:"",text_size:jr.auto,text_color:wi.black,text_halign:Xe.alignCenter,text_valign:Xe.alignCenter,text_wrap:Xe.wrapNone});this._variables=t}box({x:t},e){return t===void 0?new Xi(this._variables,e):t}new({top_left:t,bottom_right:e,...r},n){const s=`box_${n}`,a={...this._defaultBox,...r,id:s};if(t){const{price:f,time:h,index:p}=t;a.top=f,a.left=a.xloc===$e.bar_index?p:h}if(e){const{price:f,time:h,index:p}=e;a.bottom=f,a.right=a.xloc===$e.bar_index?p:h}const l=new Xi(this._variables,s);return this._variables.box.add(s,a,l),l}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}){t==null||t.set_extend(e)}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}){t==null||t.set_border_style(e)}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}){t==null||t.set_text_size(e)}set_text_wrap({id:t,...e}){t==null||t.set_text_wrap(e)}set_text_color({id:t,...e}){t==null||t.set_text_color(e)}set_text_halign({id:t,...e}){t==null||t.set_text_halign(e)}set_text_valign({id:t,...e}){t==null||t.set_text_valign(e)}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}){t==null||t.set_text_font_family(e)}}class Xi{constructor(t,e){z(this,"_id");z(this,"_variables");this._variables=t,this._id=e}copy(t){const e=`box_${t}`,r=this._getBox(),n=new Xi(this._variables,e);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}){const e=this._getBox();e&&(e.extend=t)}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}){const e=this._getBox();e&&(e.text_size=t)}set_text_wrap({text_wrap:t}){const e=this._getBox();e&&(e.text_wrap=t)}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}){const e=this._getBox();e&&(e.text_halign=t)}set_text_valign({text_valign:t}){const e=this._getBox();e&&(e.text_valign=t)}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===$e.bar_index?r:s}}set_border_color({color:t}){const e=this._getBox();e&&(e.border_color=t)}set_border_style({style:t}){const e=this._getBox();e&&(e.border_style=t)}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===$e.bar_index?r:s}}set_text_font_family({text_font_family:t}){const e=this._getBox();e&&(e.text_font_family=t)}_getBox(){return this._variables.box.get(this._id)}}class kw{constructor(t){z(this,"_variables");z(this,"_defaultTable",{position:Tr.topLeft,columns:0,rows:0,frame_width:0,border_width:0});this._variables=t}table({x:t},e){return t||new Ra(this._variables,e)}new(t,e){const r=`table_${e}`,n={...this._defaultTable,...t,cell:[],id:r},s=new Ra(this._variables,r);return this._variables.table.add(r,n,s),s}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}){t==null||t.set_position(e)}}class Ra{constructor(t,e){z(this,"_id");z(this,"_variables");z(this,"_defaultCell",{column:0,row:0,text:"",text_color:wi.black,text_halign:Xe.alignCenter,text_valign:Xe.alignCenter,text_size:jr.normal});this._variables=t,this._id=e}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 f=t;f<=r;f++){const h=a[l];h&&(h[f]=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}){const e=this._variables.table.get(this._id);e&&(e.position=t)}_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 Uw{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===pe.long?e:-e}_verifyTradeNum(t){if(typeof t!="number"||t<0)return!1;const e=this._strategy.historyOrders.length;return!(t>=e)}}class Ww{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===pe.long?e:-e}_verifyTradeNum(t){if(typeof t!="number"||t<0)return!1;const e=this._strategy.orders.length;return!(t>=e)}}class jw{constructor(t){z(this,"_strategy");this._strategy=t}allow_entry_in({value:t}){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}){e===Ge.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}){e===Ge.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})}}let Yw=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:Pn.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:Ge.fixed,default_qty_value:1,initial_capital:1e6,currency:Zc.NONE,slippage:0,commission_type:Ir.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 Ww(this),this._closedtrades=new Uw(this),this._riskNamespace=new jw(this)}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:f,initial_capital:h}}=this._variables;let{preNetprofit:p=0}=this._risk;l===a&&(p=f,this._risk.preNetprofit=f,this._risk.isTemporaryBan=!1);let c=p-f;c+=this._orders.reduce((w,m)=>{const{in_price:D,direction:v,qty:E=0,commission:b=0,original_qty:N=0}=m,x=v===pe.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 Ge.cash:d=t<c;break;case Ge.percentOfEquity:const w=c/(h+f)*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===pe.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:f}=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(f,"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 Ge.percentOfEquity:l=a<s;break;case Ge.cash:l=t<s;break}if(l){const{high:f,low:h}=this._variables,p=(n=this._orders[0])==null?void 0:n.direction;this._riskTouchOff(p===pe.long?f:h,"Close Position (Max Drawdown)")}}}_riskTouchOff(t,e){this._risk.isDisabledOpen=!0,this._closeOrders(this._orders,t,e),this._pendingOrders=[]}strategy(t){this._options={...t},Object.assign(this._funcOptions,{strategy:this._options,scriptType:"strategy"})}order(t){this._risk.isDisabledOpen||this._orderHandle(t)}entry(t){this._risk.isDisabledOpen||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=Ge.fixed,default_qty_value:r=1,initial_capital:n}=this._options;switch(e){case Ge.fixed:return r;case Ge.cash:return r/t;case Ge.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,f=l===pe.long?1:-1,h=(r-s)*f*a,p=(t-s)*a,c=(e-s)*a,d=f===1?p:-c,g=f===1?-c: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:f=0,in_price:h,max_profit:p=0,trading_loss:c=0}=t;let{commission:d=0}=t;const g=h*f;if(s){const w=this._getCommission(a,f);e=e-w,d=d*f/l,r-=d,n+=d}r=Math.max(r,p),n=Math.min(n,c),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===pe.long?1:-1,f=l===1?e:t,h=(l===1?n:s)/100;if(h<=0)return;const[p,c,d]=this._orders.reduce((v,E)=>{let[b,N,x]=v;const{in_price:F,qty:M=0,original_qty:S=0,commission:O=0}=E,C=F*M,T=f*M;if(b+=C,N+=T,a){const L=this._getCommission(f,M);x+=L+M/S*O}return[b,N,x]},[0,0,0]),g=l*(c-p),m=r+this._totalChangeCapital+g-d-c*h;if(m>=0)return;const D=Math.trunc(m/h/f)*4;this._marginCallOrders(f,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:f,activePrice:h}=this._orderArgsParse(t),p=t.direction===pe.long?1:-1;if(a<=0)return;let c=a;if(s&&e){if(n.length){const m=this._processOrders(n,l,c,t.id,t.comment);if(m<=0)return;c=m}const g=l+p*r*this._mintick;if(!this._judgeCapitalEnough(c,g,p))return;this._ocaGroupVerify(c,t.oca_name,t.oca_type),this._calcCurrentOrder({...t,in_price:g,in_index:this._variables.bar_index,in_time:this._variables.time,qty:c,place_order_type:"order"});return}this._judgeCapitalEnough(a,f,p)&&this._addPendingOrders(t,f,c,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===qn.none)return!1;let n=!1;switch(r){case qn.cancel:this._pendingOrders=this._pendingOrders.filter(s=>{if(s.oca_name===e)s.isCancel=!0,n=!0;else return!0});break;case qn.reduce:this._pendingOrders=this._pendingOrders.filter(s=>{const{qty:a=0,oca_name:l}=s;if(e===l){const f=a-t;return n=!0,f<=0?(s.isCancel=!0,!1):(s.qty=f,!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,f=!1,h;const p=e===pe.long?1:-1,c=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;c&&g?(h=n,l=s):c?l=n:g?l=s:f=!0;const w=r||this._calcDefaultQty(l)||1;return{orders:this._orders.filter(D=>D.direction!==e),isMarketPrice:f,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:f}=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===pe.long?1:-1)&&this._addPendingEntry(t,l,s,n,f)}_entryOrder(t,e,r,n){const{time:s,bar_index:a}=this._variables,{slippage:l=0}=this._options,{oca_name:f,oca_type:h,direction:p,comment:c,isMarketPrice:d,id:g}=n,w=p===pe.long?1:-1;if(this._closeOrders(t,e,g,c),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,f,h),this._calcCurrentOrder(m))}_getAvailablePositionSize(t,e){const{max_position_size:r,allow_entry_in:n}=this._risk;if(n&&n!==pe.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),f=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(!f||f<(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:f,qty:h=0,direction:p}=t,c=p===pe.long?1:-1;e=e-c*l*this._mintick,t.isDeal=!0;const d=(e-f)*c*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:f,trail_stop_price:h,isMarketPriceLimit:p,isMarketPriceStop:c,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===pe.long?1:-1;let M,S=w;if(p||c?M=e:(f&&r<=f&&n>=f&&(S=b||w,M=f),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 O=!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)),O=!0,a.trail_stop_price=x),x)if((x-e)*F>=0&&!O)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:f,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 c=this._orders.filter(d=>d.direction!==f);this._entryOrder(c,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:f,qty:h=0,in_price:p,direction:c,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(f&&(v=e),v<=n&&v>=r){const b=this._orders.filter(x=>x.direction!==c);if(b.length&&(E=this._processOrders(b,v,h,D,d),E<=0))return;const N=c===pe.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,f=this._orders.filter(g=>g.id===r&&g.in_index!==l&&(!g.close_qty||g.close_qty<(g.qty||0)));if(!f.length)return;let h=0;if(n?h=n:(h=f.reduce((g,w)=>g+(w.qty||0),h),h=s/100*h),h<=0)return;const{open:p,close:c}=this._variables;let d=h;for(const g of f){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"?f:this._orders,e?c: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:f,trail_points:h,from_entry:p="",id:c}=t;if(this._isNaN(r)&&this._isNaN(n)&&this._isNaN(s)&&this._isNaN(a)&&(this._isNaN(l)||this._isNaN(h)&&this._isNaN(f))){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,Ce.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===c);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:f,comment_trailing:h}=e;let p=r,c=!1;e.comment=a||s;for(const d of t){const{qty:g=0}=d,w=d.direction===pe.long?1:-1;p=r?r>=g?g:r:n/100*g,d.out_qty=p,p<g&&(c=!0),Object.assign(d,{out_comment:a||s,comment_loss:l,comment_profit:f,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 c}_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 f=n;const{close:h}=this._variables,{in_price:p}=t,{process_orders_on_close:c}=this._options;if(!this._isNaN(s)&&this._isNaN(n)&&(f=p+e*s*this._mintick),t.limit=f,f&&(f-h)*e<=0&&(t.isMarketPriceLimit=!0,r.comment=a||l,Object.assign(t,{out_comment:r.comment}),f=h,c))return this._addExitPendingCloseOrders(r),!0}_stopLoss(t,e,r){const{stop:n,loss:s,comment_loss:a,comment:l}=r;let f=n;const{close:h}=this._variables,{in_price:p}=t,{process_orders_on_close:c}=this._options;if(!this._isNaN(s)&&this._isNaN(n)&&(f=p-e*s*this._mintick),t.stop=f,f&&(f-h)*e>=0&&(t.isMarketPriceStop=!0,r.comment=a||l,Object.assign(t,{out_comment:r.comment}),f=h,c))return this._addExitPendingCloseOrders(r),!0}_trailStopLoss(t,e,r){const{trail_offset:n,trail_price:s,trail_points:a,comment_trailing:l,comment:f}=r;if(!this._isNaN(n)){const{close:h}=this._variables,{in_price:p}=t,{process_orders_on_close:c}=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||f,Object.assign(t,{out_comment:r.comment}),c))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 f=this._processExitOrders(this._orders,e,n,a,s);f&&!f.hasExit?(f.hasExit=!0,Object.assign(t,{trail_stop_price:f.trail_stop_price,stop:f.stop,limit:f.limit,trail_offset:f.trail_offset,active_price:f.active_price})):f&&(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 f of t)if(l=f,a=this._processOrder(f,e,a,n,s),a<=0||!f.hasExit)break;return this._orders=this._orders.filter(f=>!f.isDeal),this._variables.strategy.updateOrders(this._orders),l}_processOrder(t,e,r,n,s){const{time:a,bar_index:l}=this._variables,{slippage:f=0}=this._options,{in_price:h,qty:p=0,max_profit:c=0,trading_loss:d=0,direction:g,commission:w=0,original_qty:m=0}=t,D=g===pe.long?1:-1;if(e=e-D*f*this._mintick,r<p){const v=p-r,E=(e-h)*D*r,b=c/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:c-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:f=0,trading_loss:h=0,commission:p=0}=t;f=f<0?0:f;const c=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:f})}Object.assign(t,{total_profit:this._totalChangeCapital,profit_percent:l/c*100,max_profit_percent:f/c*100,trading_loss_percent:h/c*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 Ir.percent:a=s*r/100;break;case Ir.cashPerContract:a=e*r;break;case Ir.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 f=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/f*100,max_profit_percent:s/f*100,trading_loss_percent:a/f*100}),this._risk.intradayOrders+=1,this._orders.push(t),this._variables.strategy.updateOrders(this._orders)}_isNaN(t){return t===void 0||isNaN(t)}};class Zw{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){this._addLog(t,e,"info")}error(t,e){this._addLog(t,e,"error")}warning(t,e){this._addLog(t,e,"warning")}_addLog(t,e,r){const{message:n,formatString:s}=t,{time:a,bar_index:l,precision:f}=this._variables;let h=n;s&&Array.isArray(e)&&e.length&&(h=s.replace(/{(\d+)}/g,(p,c)=>{let d=e[c];return typeof d=="number"&&(d=this._intlFormat.format(parseFloat(d.toFixed(f)))),d!==void 0?d:p})),h&&this._logs.push({message:`[${Vt(a).format()}]: ${h}`,time:a,barIndex:l,type:r})}}class Gw{constructor(t){z(this,"_errorListener");this._errorListener=t}error({message:t},e){this._errorListener.addError(t,e,Ce.Error)}}class Kw{constructor(){z(this,"_errors");this._errors=new Map}clear(){this._errors.clear()}get errors(){return Sr.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 Hw{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 Jw{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=Xr(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=Xr(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 Xw{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:c=0,commission:d=0,original_qty:g=0,direction:w}=h,m=w===pe.long?1:-1,D=(r-p)*c,v=(n-p)*c,E=m===1?D:-v,b=m===1?-v:D;t+=b+d*c/g,e+=E+d*c/g}const[s,a]=this._historyOrders.reduce((h,p)=>{let[c,d]=h;const{profit:g=0,commission:w=0}=p;return c+=g,d+=g-w,[c,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 f=e/(this.initial_capital+this.netprofit)*100;e>this._max_runup&&(this._max_runup=e),f>this._max_runup_percent&&(this._max_runup_percent=f)}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(([f,h,p,c,d,g],w)=>{const{direction:m,qty:D=0,in_price:v}=w;return m===pe.long?(f+=D,h+=D,g+=D):(f+=D,p+=D,g-=D),c+=D*v,d+=v,[f,h,p,c,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,f]=this._historyOrders.reduce((h,p)=>{let[c,d,g,w,m,D]=h;const{profit:v=0,profit_percent:E=0}=p;return c+=v,d+=E,v<0?(g+=v,w+=E):(m+=v,D+=E),[c,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=f,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===pe.long?1:-1,l=(a===1?e:r)/100;if(l<=0)return;const{close:f}=this._variables,[h,p]=this._orders.reduce((c,d)=>{let[g,w]=c;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 Ir.percent:b=(E+D*f)*s/100;break;case Ir.cashPerContract:b=D*s*2;break;case Ir.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 Vw{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,f=e+n;!this.isRealTime&&(this._preVwap={sum:l,sumV:f,isReset:s});const h=l/f;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 Qw{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]=ms(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}}Vt.extend(Ip),Vt.extend(Cl),Vt.extend(Bp);class ty{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,"_precision");z(this,"_session");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 Hw,this._timeframe=new Qw,this._priceVariables={close:0,open:0,low:0,high:0,volume:0},this._ta=new Vw,this._polyline=new yi,this._label=new yi,this._line=new yi,this._linefill=new yi,this._box=new yi,this._table=new yi,this._strategy=new Xw(this),this._precision=4,this._session=new Jw(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 Vt(this._currentBarTime).subtract(this._offsetTime,"hour").hour()}get minute(){return Vt(this._currentBarTime).minute()}get second(){return Vt(this._currentBarTime).second()}get month(){return Vt(this._currentBarTime).month()+1}get year(){return Vt(this._currentBarTime).year()}get dayofweek(){return Vt(this._currentBarTime).day()+1}get dayofmonth(){return Vt(this._currentBarTime).date()}get weekofyear(){return Vt(this._currentBarTime).week()}get last_bar_time(){return this._lastBarTime}get time(){return this._currentBarTime}get time_close(){const[t,e]=ms(this._period);return this._isRealTimeBar?void 0:Vt(this._currentBarTime).add(t,e).valueOf()}get timenow(){return Date.now()}get time_tradingday(){return this.getTimeTradingday(this._currentBarTime,this._period)}get timeframe(){return this._timeframe}get precision(){return this._precision}getTimeTradingday(t,e){const[r,n]=ms(e),s=Vt(t);return["M","w","y","d"].includes(n)?s.valueOf():(s.subtract(this._offsetTime,"h"),s.startOf("d").add(this._offsetTime,"h").valueOf())}updateData(t){const{barIndex:e,c:r,o:n,h:s,l:a,volume:l,lastBarIndex:f,time:h,lastBarTime:p,period:c="1D",offsetTime:d=5,precision:g=4}=t;this._priceVariables={close:Number(r),open:Number(n),high:Number(s),low:Number(a),volume:Number(l)},e>this._barIndex&&this._isRealTimeBar&&(this._cacheData.varData=this._cacheData.varNewData,this._cacheData.varNewData={}),this._precision=g,this._currentBarTime=h*1e3,this._lastBarIndex=f,this._barIndex=e,this._lastBarTime=p*1e3,this._period=c,this._offsetTime=d,this._timeframe.update(c),this._barstate.update(e,f,!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 Fp(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=Sr.cloneDeep(r);if(this._cacheData.varNewData[s]=l,a&&a.length)for(const f of a)this._cacheData.varData[s][f]=l[f]}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)?Sr.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 Hi.name:case Gc.name:case Xi.name:case Ra.name:case Ji.name:case io.name:t==null||t.delete();break}}}class yi{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 Jt,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 Kc={exports:{}};(function(i,t){(function(e,r){i.exports=r()})(jt,function(){return function(e,r,n){r.prototype.isBetween=function(s,a,l,f){var h=n(s),p=n(a),c=(f=f||"()")[0]==="(",d=f[1]===")";return(c?this.isAfter(h,l):!this.isBefore(h,l))&&(d?this.isBefore(p,l):!this.isAfter(p,l))||(c?this.isBefore(h,l):!this.isAfter(h,l))&&(d?this.isAfter(p,l):!this.isBefore(p,l))}}})})(Kc);var ey=Kc.exports,ry=Zt(ey),Hc={exports:{}};(function(i,t){(function(e,r){i.exports=r()})(jt,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(O){var C,T;D[C=O,T=s.$utils().p(C),T==="date"?"day":T]=w[O]});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 f=s.set,h=s.add,p=s.subtract,c=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"?c.bind(this)(function(w,m){return f.bind(this)(m,w)},g,d):f.bind(this)(d,g)},s.add=function(d,g){return d.constructor.name==="Object"?c.bind(this)(h,d,g):h.bind(this)(d,g)},s.subtract=function(d,g){return d.constructor.name==="Object"?c.bind(this)(h,d,g,-1):p.bind(this)(d,g)}}})})(Hc);var ny=Hc.exports,iy=Zt(ny),Jc={exports:{}};(function(i,t){(function(e,r){i.exports=r()})(jt,function(){var e,r,n=1e3,s=6e4,a=36e5,l=864e5,f=/\[([^\]]+)]|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,c=/^(-|\+)?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,O,C){var T=this;if(this.$d={},this.$l=C,S===void 0&&(this.$ms=0,this.parseFromMilliseconds()),O)return w(S*d[m(O)],this);if(typeof S=="number")return this.$ms=S,this.parseFromMilliseconds(),this;if(typeof S=="object")return Object.keys(S).forEach(function(k){T.$d[m(k)]=S[k]}),this.calMilliseconds(),this;if(typeof S=="string"){var L=S.match(c);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(O,C){return O+(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"),O=b(this.$d.months,"M"),C=+this.$d.days||0;this.$d.weeks&&(C+=7*this.$d.weeks);var T=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||O.negative||T.negative||L.negative||U.negative||W.negative,K=L.format||U.format||W.format?"T":"",G=(P?"-":"")+"P"+S.format+O.format+T.format+K+L.format+U.format+W.format;return G==="P"||G==="-P"?"P0D":G},M.toJSON=function(){return this.toISOString()},M.format=function(S){var O=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 O.replace(f,function(T,L){return L||String(C[T])})},M.as=function(S){return this.$ms/d[m(S)]},M.get=function(S){var O=this.$ms,C=m(S);return C==="milliseconds"?O%=1e3:O=C==="weeks"?v(O/d[C]):this.$d[C],O||0},M.add=function(S,O,C){var T;return T=O?S*d[m(O)]:g(S)?S.$ms:w(S,this).$ms,w(this.$ms+T*(C?-1:1),this)},M.subtract=function(S,O){return this.add(S,O,!0)},M.locale=function(S){var O=this.clone();return O.$l=S,O},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(T,L){var U=S.locale();return w(T,{$l:U},L)},S.isDuration=g;var O=M.prototype.add,C=M.prototype.subtract;M.prototype.add=function(T,L){return g(T)?x(this,T,1):O.bind(this)(T,L)},M.prototype.subtract=function(T,L){return g(T)?x(this,T,-1):C.bind(this)(T,L)}}})})(Jc);var sy=Jc.exports,oy=Zt(sy);Vt.extend(Cl),Vt.extend(ry),Vt.extend(iy),Vt.extend(oy);class ay{constructor(t,e){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,"_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");this._variables=e,this._errorListener=new Kw,this.array=new Lp(this._errorListener),this.math=new Rp(t,this._errorListener),this.color=new f1,this.str=new cw(this._errorListener),this.map=new hw(this._errorListener),this.timeframe=new fw(e),this.matrix=new lw(this._errorListener),this.ta=new o1(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 l1(e,this._errorListener),this._plots=new Map,this.chart={point:new pw(e)},this.line=new Pw(e),this.label=new dw(e),this.polyline=new Rw(e),this.box=new qw(e),this.table=new kw(e),this.linefill=new zw(e),this.log=new Zw(e),this.runtime=new Gw(this._errorListener),this.strategy=new Yw(this._variables,this._options,1e-4,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).length?{...this._bgColors}:void 0,n=this._hlines.size?[...this._hlines.values()]:void 0,s=this._fills.size?[...this._fills.values()]:void 0,a=this.log.logs.length?this.log.logs:void 0;return this.log.clearLogs(),this._options.scriptType==="strategy"&&Object.assign(this._options,{orders:this.strategy.orders,historyOrders:this.strategy.historyOrders}),Object.assign(this._options,{inputs:t,plots:[...this._plots.values()],draws:this._getDraws(),alerts:e,colors:r,hlines:n,fills:s,logs:a})}_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}update(t){const{barIndex:e,inputs:r}=t;r&&r.length&&this.input.update(r),this.strategy.updateOptions(),this.math.update(e)}endExecution(){this.strategy.endExecution()}indicator(t){this._variables.bar_index||(this._options.scriptType="indicator",this._options.indicator=t)}plot(t,e){const{series:r,color:n,seriesColors:s,...a}=t,{bar_index:l}=this._variables,f=`plot_${e}`,h=this._plots.get(f),p=(h==null?void 0:h.data)||[],c=r!==void 0&&isNaN(r)?void 0:r;if(p[l]=c,s!=null&&s.length&&(this._seriesColorHandle(t,f),p[l]={value:c,itemStyle:{color:n}}),!h){const d=n?[n]:void 0;this._plots.set(f,{editable:!0,...a,colors:d,data:p,id:f})}return{type:"plot",key:f}}plotbar(t,e){const{open:r,close:n,low:s,high:a,color:l,seriesColors:f,...h}=t,{bar_index:p}=this._variables,c=`plotbar_${e}`,d=this._plots.get(c),g=(d==null?void 0:d.data)||[],w=n!==void 0&&isNaN(n)?void 0:n,m=r!==void 0&&isNaN(r)?void 0:r,D=s!==void 0&&isNaN(s)?void 0:s,v=a!==void 0&&isNaN(a)?void 0:a,E=[m,w,D,v];if(g[p]=E,f!=null&&f.length&&(this._seriesColorHandle(t,c),g[p]={value:E,itemStyle:{color:l}}),!d){const b=l?[l]:void 0;this._plots.set(c,{editable:!0,...h,colors:b,data:g,id:c})}}plotchar(t,e){const{series:r,color:n,textcolor:s,...a}=t,{bar_index:l}=this._variables,f=`plotchar_${e}`,h=this._plots.get(f),p=(h==null?void 0:h.data)||[];p[l]={value:r,color:n,textcolor:s},h||this._plots.set(f,{editable:!0,...a,data:p,id:f})}plotarrow(t,e){const{series:r,colorup:n,colordown:s,...a}=t,{bar_index:l}=this._variables,f=`plotarrow_${e}`,h=this._plots.get(f),p=(h==null?void 0:h.data)||[];p[l]={value:r!==void 0&&isNaN(r)?void 0:r,colorup:n,colordown:s},h||this._plots.set(f,{editable:!0,...a,data:p,id:f})}plotshape(t,e){const{series:r,color:n,textcolor:s,...a}=t,{bar_index:l}=this._variables,f=`plotshape_${e}`,h=this._plots.get(f),p=(h==null?void 0:h.data)||[];p[l]={value:r,color:n,textcolor:s},h||this._plots.set(f,{editable:!0,...a,data:p,id:f})}plotcandle(t,e){const{wickcolor:r,bordercolor:n,color:s,close:a,open:l,low:f,high:h,...p}=t,{bar_index:c}=this._variables,d=`plotcandle_${e}`,g=this._plots.get(d),w=(g==null?void 0:g.data)||[],m=a!==void 0&&isNaN(a)?void 0:a,D=l!==void 0&&isNaN(l)?void 0:l,v=f!==void 0&&isNaN(f)?void 0:f,E=h!==void 0&&isNaN(h)?void 0:h,b=[D,m,v,E];w[c]={value:b,wickcolor:r,bordercolor:n,color:s},g||this._plots.set(d,{editable:!0,...p,data:w,id:d})}hline(t,e){const r=`hline_${e}`;return this._hlines.set(r,{linewidth:1,editable:!0,display:ir.all,...t}),{type:"hline",key:r}}fill(t,e){const r=`fill_${e}`;this._fills.set(r,{display:ir.all,editable:!0,fillgaps:!1,...t})}alert({message:t,freq:e=dn.freqOncePerBar},r){const{bar_index:n,_isRealTimeBar:s,last_bar_index:a}=this._variables,l=`alert_${r}`,f=this._cacheData[l].barIndex;if(e===dn.freqOncePerBar&&n===f){this._alerts.delete(l);return}const h={message:t,freq:e,id:l,type:"alert"};if(s){e!==dn.freqOncePerBarClose&&this._alerts.set(l,h),this._cacheData[l].barIndex=n;return}if(!s&&e===dn.freqOncePerBarClose&&n===f&&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){this._setColors(t,"barcolor")}bgcolor(t){this._setColors(t,"bgcolor")}_setColors(t,e){var l,f;const{color:r,...n}=t,{bar_index:s}=this._variables,a=((l=this._bgColors[e])==null?void 0:l.colors)||[];if(!a[s]){const h=((f=this._bgColors[e])==null?void 0:f.setColors)||[];h.includes(r)||h.push(r),a[s]=r,this._bgColors[e]={...n,colors:a,setColors:h}}}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:f=0,second:h=0}=t;if(e)return Vt(e).utc(!/GMT|UTC/.test(e)).valueOf();let p=s-1,c=n;if(p<0){const g=Math.ceil(Math.abs(p/12));p=12*g+p,c=n-g}let d=Vt({year:c,month:p,day:a,hour:l,minute:f,second:h});return r&&(d=Br(d.utc(!0).valueOf(),r)),d.utc(!0).valueOf()}weekofyear({time:t,timezone:e}){return Br(t,e).week()}year({time:t,timezone:e}){return Br(t,e).year()}second({time:t,timezone:e}){return Br(t,e).second()}month({time:t,timezone:e}){return Br(t,e).month()+1}minute({time:t,timezone:e}){return Br(t,e).minute()}hour({time:t,timezone:e}){return Br(t,e).hour()}dayofweek({time:t,timezone:e}){return Br(t,e).day()+1}dayofmonth({time:t,timezone:e}){return Br(t,e).date()}_calcTimeOffset(t,e){const r=this._variables.getTimeTradingday(t,e),n=Xr(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,f=Xr(l),h=Xr(this._variables.timeframe.period);let p;if(f<=h)p=t;else{const c=`time_${e}`,d=this._cacheData[c];if(d)d.currentTime+f*1e3-d.offset<=t?(p=t,this._cacheData[c]={currentTime:t,offset:0}):p=d;else{const g=this._calcTimeOffset(t,l);this._cacheData[c]={currentTime:t,offset:g},p=t}}if(n){const{timePeriods:c,weeks:d}=this._parserSession(n,e),g=Vt(t).format("YYYY-MM-DD"),w=p;p=void 0;for(const D of c){const[v,E]=D;if(Vt(t).isBetween(`${g} ${v}`,`${g} ${E}`,"hour")){Vt(w).isBetween(`${g} ${v}`,`${g} ${E}`,"hour")?p=w:p=Vt(`${g} ${v}`).valueOf();break}}const m=this._variables.dayofweek;p&&!d.includes(m)&&(p=void 0)}return s&&(p=p&&Br(p,s).valueOf()),p&&p-a*h*1e3}_seriesColorHandle(t,e){var s,a;const{seriesColors:r}=t,n=this._plots.get(e);if(n&&r!=null&&r.length)for(const l of r){if((s=n.gradientColorKeys)!=null&&s.includes(l))continue;const f=t[l],h=n[`${l}s`]||[];h.includes(f)||(h.push(f),n[`${l}s`]=h,h.length>5&&(n[`${l}s`]=[],(a=n.gradientColorKeys)==null||a.push(l)))}}_parserSession(t,e){const r=t.split(":"),n=r[0],a=(r[1]||"1234567").split("").map(f=>{const h=parseInt(f,10);if(h<1||h>7){this._errorListener.addError(`Invalid day of week: ${f}`,e,Ce.Error);return}return h});return{timePeriods:n.split(",").map(f=>{const h=f.split("-");return h.length!==2?(this._errorListener.addError(`Invalid time period: ${f}`,e,Ce.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,Ce.Error);return}return`${r}:${n}`}}/**
60
+ }`}function D1(i,t,e,r,n){const{rows:s,columns:a}=i,l=Math.min(s,t),f=Math.min(a,e),h=[];if(n==="auto"){n=!1;t:for(let p=0;p<l;p++)for(let c=0;c<f;c++)if(i.get(p,c)<0){n=!0;break t}}for(let p=0;p<l;p++){let c=[];for(let d=0;d<f;d++)c.push(b1(i.get(p,d),r,n));h.push(`${c.join(" ")}`)}return f!==a&&(h[h.length-1]+=` ... ${a-e} more columns`),l!==s&&h.push(`... ${s-t} more rows`),h.join(`
61
+ ${Ic}`)}function b1(i,t,e){return(i>=0&&e?` ${Lc(i,t-1)}`:Lc(i,t)).padEnd(t)}function Lc(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 E1(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 Dr(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 br(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 mi(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 gi(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 Ta(i,t){if(!tr.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 Oa(i,t){if(!tr.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 Ia(i,t,e,r,n){if(arguments.length!==5)throw new RangeError("expected 4 arguments");if(Vs("startRow",t),Vs("endRow",e),Vs("startColumn",r),Vs("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 Qs(i,t=0){let e=[];for(let r=0;r<i;r++)e.push(t);return e}function Vs(i,t){if(typeof t!="number")throw new TypeError(`${i} must be a number`)}function vi(i){if(i.isEmpty())throw new Error("Empty matrix has no elements to index")}function x1(i){let t=Qs(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 A1(i){let t=Qs(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 C1(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 F1(i){let t=Qs(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 M1(i){let t=Qs(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 N1(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 S1(i,t,e){const r=i.rows,n=i.columns,s=[];for(let a=0;a<r;a++){let l=0,f=0,h=0;for(let p=0;p<n;p++)h=i.get(a,p)-e[a],l+=h,f+=h*h;t?s.push((f-l*l/n)/(n-1)):s.push((f-l*l/n)/n)}return s}function B1(i,t,e){const r=i.rows,n=i.columns,s=[];for(let a=0;a<n;a++){let l=0,f=0,h=0;for(let p=0;p<r;p++)h=i.get(p,a)-e[a],l+=h,f+=h*h;t?s.push((f-l*l/r)/(r-1)):s.push((f-l*l/r)/r)}return s}function T1(i,t,e){const r=i.rows,n=i.columns,s=r*n;let a=0,l=0,f=0;for(let h=0;h<r;h++)for(let p=0;p<n;p++)f=i.get(h,p)-e,a+=f,l+=f*f;return t?(l-a*a/s)/(s-1):(l-a*a/s)/s}function O1(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 I1(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 $1(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 L1(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 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){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 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[r])}function q1(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 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)}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,f=new pt(t,e);for(let h=0;h<t;h++)for(let p=0;p<e;p++){let c=n+Math.round(a()*l);f.set(h,p,c)}return f}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 f=r+1;f<t.columns;f++)t.set(a,f,t.get(a,f)-t.get(e,f)*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 f=t.get(l,s);for(let h=s;h<e;h++){let p=t.get(l,h)-f*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){Dr(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){Dr(this,t),e=mi(this,e);for(let r=0;r<this.columns;r++)this.set(t,r,e[r]);return this}swapRows(t,e){Dr(this,t),Dr(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){br(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){br(this,t),e=gi(this,e);for(let r=0;r<this.rows;r++)this.set(r,t,e[r]);return this}swapColumns(t,e){br(this,t),br(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=mi(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=mi(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=mi(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=mi(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=gi(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=gi(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=gi(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=gi(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){Dr(this,t);for(let r=0;r<this.columns;r++)this.set(t,r,this.get(t,r)*e);return this}mulColumn(t,e){br(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(){vi(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(){vi(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(Dr(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){Dr(this,t),vi(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(Dr(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){Dr(this,t),vi(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(br(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){br(this,t),vi(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(br(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){br(this,t),vi(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 f=0;f<r;f++)a[f]=t.get(f,l);for(let f=0;f<e;f++){let h=0;for(let p=0;p<r;p++)h+=this.get(f,p)*a[p];s.set(f,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),f=t.get(1,0),h=this.get(1,1),p=t.get(1,1),c=(r+h)*(n+p),d=(l+h)*n,g=r*(a-p),w=h*(f-n),m=(r+s)*p,D=(l-r)*(n+a),v=(s-h)*(f+p),E=c+w-m+v,b=g+m,N=d+w,x=c-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),f=this.get(1,2),h=this.get(2,0),p=this.get(2,1),c=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-c)*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,T=(-r+h+p)*(d-w+v),L=(-r+h)*(w-v),U=(h+p)*(-d+w),k=(r+n+s-l-f-h-p)*v,W=p*(-d+w+m-D-v-E+b),P=(-s+p+c)*(D+E-b),K=(s-c)*(D-b),G=s*E,Q=(p+c)*(-E+b),tt=(-s+l+f)*(v+E-N),ft=(s-f)*(v-N),vt=(l+f)*(-E+N),lt=n*m,yt=f*b,bt=a*w,Bt=h*g,Et=c*N,ne=C+G+lt,Ot=x+S+I+C+P+G+Q,Nt=C+T+U+k+G+tt+vt,se=F+M+S+C+G+tt+ft,Vt=F+S+I+C+yt,qt=G+tt+ft+vt+bt,Kt=C+T+L+W+P+K+G,Ne=P+K+G+Q+Bt,lr=C+T+L+U+Et;return e.set(0,0,ne),e.set(0,1,Ot),e.set(0,2,Nt),e.set(1,0,se),e.set(1,1,Vt),e.set(1,2,qt),e.set(2,0,Kt),e.set(2,1,Ne),e.set(2,2,lr),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(c,d,g){let w=c.rows,m=c.columns;if(w===d&&m===g)return c;{let D=$t.zeros(d,g);return D=D.setSubMatrix(c,0,0),D}}let f=Math.max(r,s),h=Math.max(n,a);e=l(e,f,h),t=l(t,f,h);function p(c,d,g,w){if(g<=512||w<=512)return c.mmul(d);g%2===1&&w%2===1?(c=l(c,g+1,w+1),d=l(d,g+1,w+1)):g%2===1?(c=l(c,g+1,w),d=l(d,g+1,w)):w%2===1&&(c=l(c,g,w+1),d=l(d,g,w+1));let m=parseInt(c.rows/2,10),D=parseInt(c.columns/2,10),v=c.subMatrix(0,m-1,0,D-1),E=d.subMatrix(0,m-1,0,D-1),b=c.subMatrix(0,m-1,D,c.columns-1),N=d.subMatrix(0,m-1,D,d.columns-1),x=c.subMatrix(m,c.rows-1,0,D-1),F=d.subMatrix(m,d.rows-1,0,D-1),M=c.subMatrix(m,c.rows-1,D,c.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),T=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 K=$t.add(T,U),G=$t.add(C,L),Q=$t.sub(I,C);Q.add(T),Q.add(k);let tt=$t.zeros(2*P.rows,2*P.columns);return tt=tt.setSubMatrix(P,0,0),tt=tt.setSubMatrix(K,P.rows,0),tt=tt.setSubMatrix(G,0,P.columns),tt=tt.setSubMatrix(Q,P.rows,P.columns),tt.subMatrix(0,g-1,0,w-1)}return p(e,t,f,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&&Oc(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&&Oc(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 f=0;f<r;f++)for(let h=0;h<n;h++)for(let p=0;p<s;p++)a.set(n*l+h,s*f+p,this.get(l,f)*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=Rc){for(let e=0;e<this.rows;e++)this.setRow(e,this.getRow(e).sort(t));return this}sortColumns(t=Rc){for(let e=0;e<this.columns;e++)this.setColumn(e,this.getColumn(e).sort(t));return this}subMatrix(t,e,r,n){Ia(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;Ia(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){Ta(this,t),Oa(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 x1(this);case"column":return A1(this);case void 0:return C1(this);default:throw new Error(`invalid option: ${t}`)}}product(t){switch(t){case"row":return F1(this);case"column":return M1(this);case void 0:return N1(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(!tr.isAnyArray(n))throw new TypeError("mean must be an array");return S1(this,r,n)}case"column":{if(!tr.isAnyArray(n))throw new TypeError("mean must be an array");return B1(this,r,n)}case void 0:{if(typeof n!="number")throw new TypeError("mean must be a number");return T1(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(!tr.isAnyArray(r))throw new TypeError("center must be an array");return O1(this,r),this}case"column":{if(!tr.isAnyArray(r))throw new TypeError("center must be an array");return I1(this,r),this}case void 0:{if(typeof r!="number")throw new TypeError("center must be a number");return $1(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=L1(this);else if(!tr.isAnyArray(r))throw new TypeError("scale must be an array");return R1(this,r),this}case"column":{if(r===void 0)r=P1(this);else if(!tr.isAnyArray(r))throw new TypeError("scale must be an array");return z1(this,r),this}case void 0:{if(r===void 0)r=q1(this);else if(typeof r!="number")throw new TypeError("scale must be a number");return k1(this,r),this}default:throw new Error(`invalid option: ${t}`)}}toString(t){return $c(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")]=y1);function Rc(i,t){return i-t}function U1(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=(Ei=class extends $t{constructor(e,r){super();bl(this,Vi);z(this,"data");if(Ei.isMatrix(e))El(this,Vi,xl).call(this,e.rows,e.columns),Ei.copy(e,this);else if(Number.isInteger(e)&&e>=0)El(this,Vi,xl).call(this,e,r);else if(tr.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(!U1(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 Dr(this,e),this.data.splice(e,1),this.rows-=1,this}addRow(e,r){return r===void 0&&(r=e,e=this.rows),Dr(this,e,!0),r=Float64Array.from(mi(this,r)),this.data.splice(e,0,r),this.rows+=1,this}removeColumn(e){br(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),br(this,e,!0),r=gi(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}},Vi=new WeakSet,xl=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},Ei);E1($t,pt);const co=class co extends $t{constructor(e){super();bl(this,We,void 0);if(pt.isMatrix(e)){if(!e.isSymmetric())throw new TypeError("not symmetric data");na(this,We,pt.copy(e,new pt(e.rows,e.rows)))}else if(Number.isInteger(e)&&e>=0)na(this,We,new pt(e,e));else if(na(this,We,new pt(e)),!this.isSymmetric())throw new TypeError("not symmetric data")}get size(){return Ur(this,We).size}get rows(){return Ur(this,We).rows}get columns(){return Ur(this,We).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 co(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 Ur(this,We).get(e,r)}set(e,r,n){return Ur(this,We).set(e,r,n),Ur(this,We).set(r,e,n),this}removeCross(e){return Ur(this,We).removeRow(e),Ur(this,We).removeColumn(e),this}addCross(e,r){r===void 0&&(r=e,e=this.diagonalSize);const n=r.slice();return n.splice(e,1),Ur(this,We).addRow(e,n),Ur(this,We).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 co(n);for(let a=0,l=0,f=0;f<r;f++)s.set(a,l,e[f]),++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)}};We=new WeakMap;let Zn=co;Zn.prototype.klassType="SymmetricMatrix";class to extends Zn{static isDistanceMatrix(t){return Zn.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 Zn(this)}clone(){const t=new to(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}}to.prototype.klassSubType="DistanceMatrix";class en extends $t{constructor(t,e,r){super(),this.matrix=t,this.rows=e,this.columns=r}}class W1 extends en{constructor(t,e){br(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 j1 extends en{constructor(t,e){Oa(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 Y1 extends en{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 Z1 extends en{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 G1 extends en{constructor(t,e){Dr(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 K1 extends en{constructor(t,e){Ta(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 eo extends en{constructor(t,e,r){Ta(t,e),Oa(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 H1 extends en{constructor(t,e,r,n,s){Ia(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 X1 extends en{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 Pc 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 ur 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 J1(i,t){if(tr.isAnyArray(i))return i[0]&&tr.isAnyArray(i[0])?new ur(i):new Pc(i,t);throw new Error("the argument is not an array")}class ro{constructor(t){t=ur.checkMatrix(t);let e=t.clone(),r=e.rows,n=e.columns,s=new Float64Array(r),a=1,l,f,h,p,c,d,g,w,m;for(l=0;l<r;l++)s[l]=l;for(w=new Float64Array(r),f=0;f<n;f++){for(l=0;l<r;l++)w[l]=e.get(l,f);for(l=0;l<r;l++){for(m=Math.min(l,f),c=0,h=0;h<m;h++)c+=e.get(l,h)*w[h];w[l]-=c,e.set(l,f,w[l])}for(p=f,l=f+1;l<r;l++)Math.abs(w[l])>Math.abs(w[p])&&(p=l);if(p!==f){for(h=0;h<n;h++)d=e.get(p,h),e.set(p,h,e.get(f,h)),e.set(f,h,d);g=s[p],s[p]=s[f],s[f]=g,a=-a}if(f<r&&e.get(f,f)!==0)for(l=f+1;l<r;l++)e.set(l,f,e.get(l,f)/e.get(f,f))}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,f,h;for(h=0;h<a;h++)for(l=h+1;l<a;l++)for(f=0;f<n;f++)s.set(l,f,s.get(l,f)-s.get(h,f)*e.get(l,h));for(h=a-1;h>=0;h--){for(f=0;f<n;f++)s.set(h,f,s.get(h,f)/e.get(h,h));for(l=0;l<h;l++)for(f=0;f<n;f++)s.set(l,f,s.get(l,f)-s.get(h,f)*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 rn(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 $a{constructor(t){t=ur.checkMatrix(t);let e=t.clone(),r=t.rows,n=t.columns,s=new Float64Array(n),a,l,f,h;for(f=0;f<n;f++){let p=0;for(a=f;a<r;a++)p=rn(p,e.get(a,f));if(p!==0){for(e.get(f,f)<0&&(p=-p),a=f;a<r;a++)e.set(a,f,e.get(a,f)/p);for(e.set(f,f,e.get(f,f)+1),l=f+1;l<n;l++){for(h=0,a=f;a<r;a++)h+=e.get(a,f)*e.get(a,l);for(h=-h/e.get(f,f),a=f;a<r;a++)e.set(a,l,e.get(a,l)+h*e.get(a,f))}}s[f]=-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,f,h,p;for(h=0;h<a;h++)for(f=0;f<n;f++){for(p=0,l=h;l<r;l++)p+=e.get(l,h)*s.get(l,f);for(p=-p/e.get(h,h),l=h;l<r;l++)s.set(l,f,s.get(l,f)+p*e.get(l,h))}for(h=a-1;h>=0;h--){for(f=0;f<n;f++)s.set(h,f,s.get(h,f)/this.Rdiag[h]);for(l=0;l<h;l++)for(f=0;f<n;f++)s.set(l,f,s.get(l,f)-s.get(h,f)*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,f;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(f=0,s=l;s<e;s++)f+=t.get(s,l)*n.get(s,a);for(f=-f/t.get(l,l),s=l;s<e;s++)n.set(s,a,n.get(s,a)+f*t.get(s,l))}}return n}}class wi{constructor(t,e={}){if(t=ur.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 f=!!s,h=!!a,p=!1,c;if(r<n)if(!l)c=t.clone(),console.warn("Computing SVD on a matrix with more columns than rows. Consider enabling autoTranspose");else{c=t.transpose(),r=c.rows,n=c.columns,p=!0;let C=f;f=h,h=C}else c=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 T=C;T<r;T++)w[C]=rn(w[C],c.get(T,C));if(w[C]!==0){c.get(C,C)<0&&(w[C]=-w[C]);for(let T=C;T<r;T++)c.set(T,C,c.get(T,C)/w[C]);c.set(C,C,c.get(C,C)+1)}w[C]=-w[C]}for(let T=C+1;T<n;T++){if(C<N&&w[C]!==0){let L=0;for(let U=C;U<r;U++)L+=c.get(U,C)*c.get(U,T);L=-L/c.get(C,C);for(let U=C;U<r;U++)c.set(U,T,c.get(U,T)+L*c.get(U,C))}v[T]=c.get(C,T)}if(f&&C<N)for(let T=C;T<r;T++)m.set(T,C,c.get(T,C));if(C<x){v[C]=0;for(let T=C+1;T<n;T++)v[C]=rn(v[C],v[T]);if(v[C]!==0){v[C+1]<0&&(v[C]=0-v[C]);for(let T=C+1;T<n;T++)v[T]/=v[C];v[C+1]+=1}if(v[C]=-v[C],C+1<r&&v[C]!==0){for(let T=C+1;T<r;T++)E[T]=0;for(let T=C+1;T<r;T++)for(let L=C+1;L<n;L++)E[T]+=v[L]*c.get(T,L);for(let T=C+1;T<n;T++){let L=-v[T]/v[C+1];for(let U=C+1;U<r;U++)c.set(U,T,c.get(U,T)+L*E[U])}}if(h)for(let T=C+1;T<n;T++)D.set(T,C,v[T])}}let M=Math.min(n,r+1);if(N<n&&(w[N]=c.get(N,N)),r<M&&(w[M-1]=0),x+1<M&&(v[x]=c.get(x,M-1)),v[M-1]=0,f){for(let C=N;C<d;C++){for(let T=0;T<r;T++)m.set(T,C,0);m.set(C,C,1)}for(let C=N-1;C>=0;C--)if(w[C]!==0){for(let T=C+1;T<d;T++){let L=0;for(let U=C;U<r;U++)L+=m.get(U,C)*m.get(U,T);L=-L/m.get(C,C);for(let U=C;U<r;U++)m.set(U,T,m.get(U,T)+L*m.get(U,C))}for(let T=C;T<r;T++)m.set(T,C,-m.get(T,C));m.set(C,C,1+m.get(C,C));for(let T=0;T<C-1;T++)m.set(T,C,0)}else{for(let T=0;T<r;T++)m.set(T,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 T=C+1;T<n;T++){let L=0;for(let U=C+1;U<n;U++)L+=D.get(U,C)*D.get(U,T);L=-L/D.get(C+1,C);for(let U=C+1;U<n;U++)D.set(U,T,D.get(U,T)+L*D.get(U,C))}for(let T=0;T<n;T++)D.set(T,C,0);D.set(C,C,1)}let S=M-1,I=Number.EPSILON;for(;M>0;){let C,T;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)T=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(w[L])<=I*U){w[L]=0;break}}L===C?T=3:L===M-1?T=1:(T=2,C=L)}switch(C++,T){case 1:{let L=v[M-2];v[M-2]=0;for(let U=M-2;U>=C;U--){let k=rn(w[U],L),W=w[U]/k,P=L/k;if(w[U]=k,U!==C&&(L=-P*v[U-1],v[U-1]=W*v[U-1]),h)for(let K=0;K<n;K++)k=W*D.get(K,U)+P*D.get(K,M-1),D.set(K,M-1,-P*D.get(K,U)+W*D.get(K,M-1)),D.set(K,U,k)}break}case 2:{let L=v[C-1];v[C-1]=0;for(let U=C;U<M;U++){let k=rn(w[U],L),W=w[U]/k,P=L/k;if(w[U]=k,L=-P*v[U],v[U]=W*v[U],f)for(let K=0;K<r;K++)k=W*m.get(K,U)+P*m.get(K,C-1),m.set(K,C-1,-P*m.get(K,U)+W*m.get(K,C-1)),m.set(K,U,k)}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])),U=w[M-1]/L,k=w[M-2]/L,W=v[M-2]/L,P=w[C]/L,K=v[C]/L,G=((k+U)*(k-U)+W*W)/2,Q=U*W*(U*W);let tt=0;(G!==0||Q!==0)&&(G<0?tt=0-Math.sqrt(G*G+Q):tt=Math.sqrt(G*G+Q),tt=Q/(G+tt));let ft=(P+U)*(P-U)+tt,vt=P*K;for(let lt=C;lt<M-1;lt++){let yt=rn(ft,vt);yt===0&&(yt=Number.MIN_VALUE);let bt=ft/yt,Bt=vt/yt;if(lt!==C&&(v[lt-1]=yt),ft=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=rn(ft,vt),yt===0&&(yt=Number.MIN_VALUE),bt=ft/yt,Bt=vt/yt,w[lt]=yt,ft=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],f&&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]=ft;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 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(f&&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=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,f=l.mmul(s),h=l.rows,p=a.rows,c=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+=f.get(d,m)*a.get(g,m);c.set(d,g,w)}return c.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 c=0;c<n;c++)Math.abs(this.s[c])>e&&s.set(p,c,t.get(p,c)/this.s[c]);let a=this.U,l=a.rows,f=a.columns,h=new pt(r,l);for(let p=0;p<r;p++)for(let c=0;c<l;c++){let d=0;for(let g=0;g<f;g++)d+=s.get(p,g)*a.get(c,g);h.set(p,c,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 Q1(i,t=!1){return i=ur.checkMatrix(i),t?new wi(i).inverse():zc(i,pt.eye(i.rows))}function zc(i,t,e=!1){return i=ur.checkMatrix(i),t=ur.checkMatrix(t),e?new wi(i).solve(t):i.isSquare()?new ro(i).solve(t):new $a(i).solve(t)}function no(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 eo(i,[1,2],[1,2]),a=new eo(i,[1,2],[0,2]),l=new eo(i,[1,2],[0,1]),t=i.get(0,0),e=i.get(0,1),r=i.get(0,2),t*no(s)-e*no(a)+r*no(l)}else return new ro(i).determinant}else throw Error("determinant can only be calculated for a square matrix")}function V1(i,t){let e=[];for(let r=0;r<i;r++)r!==t&&e.push(r);return e}function tw(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 ew(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)),f=i.subMatrixRow(V1(n,a)).transpose(),p=new wi(f).solve(l),c=pt.sub(l,f.mmul(p)).abs().max();s.setRow(a,tw(c,p,a,e,r))}return s}function rw(i,t=Number.EPSILON){if(i=pt.checkMatrix(i),i.isEmpty())return i.transpose();let e=new wi(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 nw(i,t=i,e={}){i=new pt(i);let r=!1;if(typeof t=="object"&&!pt.isMatrix(t)&&!tr.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 iw(i,t=i,e={}){i=new pt(i);let r=!1;if(typeof t=="object"&&!pt.isMatrix(t)&&!tr.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}),f=i.transpose().mmul(t);for(let h=0;h<f.rows;h++)for(let p=0;p<f.columns;p++)f.set(h,p,f.get(h,p)*(1/(a[h]*l[p]))*(1/(i.rows-1)));return f}let qc=class{constructor(t,e={}){const{assumeSymmetric:r=!1}=e;if(t=ur.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),f=t,h,p,c=!1;if(r?c=!0:c=t.isSymmetric(),c){for(h=0;h<n;h++)for(p=0;p<n;p++)s.set(h,p,f.get(h,p));sw(n,l,a,s),ow(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,f.get(h,p));aw(n,d,g,s),uw(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 sw(i,t,e,r){let n,s,a,l,f,h,p,c;for(f=0;f<i;f++)e[f]=r.get(i-1,f);for(l=i-1;l>0;l--){for(c=0,a=0,h=0;h<l;h++)c=c+Math.abs(e[h]);if(c===0)for(t[l]=e[l-1],f=0;f<l;f++)e[f]=r.get(l-1,f),r.set(l,f,0),r.set(f,l,0);else{for(h=0;h<l;h++)e[h]/=c,a+=e[h]*e[h];for(n=e[l-1],s=Math.sqrt(a),n>0&&(s=-s),t[l]=c*s,a=a-n*s,e[l-1]=n-s,f=0;f<l;f++)t[f]=0;for(f=0;f<l;f++){for(n=e[f],r.set(f,l,n),s=t[f]+r.get(f,f)*n,h=f+1;h<=l-1;h++)s+=r.get(h,f)*e[h],t[h]+=r.get(h,f)*n;t[f]=s}for(n=0,f=0;f<l;f++)t[f]/=a,n+=t[f]*e[f];for(p=n/(a+a),f=0;f<l;f++)t[f]-=p*e[f];for(f=0;f<l;f++){for(n=e[f],s=t[f],h=f;h<=l-1;h++)r.set(h,f,r.get(h,f)-(n*t[h]+s*e[h]));e[f]=r.get(l-1,f),r.set(l,f,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(f=0;f<=l;f++){for(s=0,h=0;h<=l;h++)s+=r.get(h,l+1)*r.get(h,f);for(h=0;h<=l;h++)r.set(h,f,r.get(h,f)-s*e[h])}}for(h=0;h<=l;h++)r.set(h,l+1,0)}for(f=0;f<i;f++)e[f]=r.get(i-1,f),r.set(i-1,f,0);r.set(i-1,i-1,1),t[0]=0}function ow(i,t,e,r){let n,s,a,l,f,h,p,c,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],c=(e[h+1]-n)/(2*t[h]),d=rn(c,1),c<0&&(d=-d),e[h]=t[h]/(c+d),e[h+1]=t[h]*(c+d),g=e[h+1],s=n-e[h],a=h+2;a<i;a++)e[a]-=s;for(N=N+s,c=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*c,d=rn(c,t[a]),t[a+1]=E*d,E=t[a]/d,w=c/d,c=w*e[a]-E*n,e[a+1]=s+E*(w*n+E*e[a]),f=0;f<i;f++)s=r.get(f,a+1),r.set(f,a+1,E*r.get(f,a)+w*s),r.set(f,a,w*r.get(f,a)-E*s);c=-E*b*D*v*t[h]/g,t[h]=E*c,e[h]=w*c}while(Math.abs(t[h])>F*x);e[h]=e[h]+N,t[h]=0}for(a=0;a<i-1;a++){for(f=a,c=e[a],l=a+1;l<i;l++)e[l]<c&&(f=l,c=e[l]);if(f!==a)for(e[f]=e[a],e[a]=c,l=0;l<i;l++)c=r.get(l,a),r.set(l,a,r.get(l,f)),r.set(l,f,c)}}function aw(i,t,e,r){let n=0,s=i-1,a,l,f,h,p,c,d;for(c=n+1;c<=s-1;c++){for(d=0,h=c;h<=s;h++)d=d+Math.abs(t.get(h,c-1));if(d!==0){for(f=0,h=s;h>=c;h--)e[h]=t.get(h,c-1)/d,f+=e[h]*e[h];for(l=Math.sqrt(f),e[c]>0&&(l=-l),f=f-e[c]*l,e[c]=e[c]-l,p=c;p<i;p++){for(a=0,h=s;h>=c;h--)a+=e[h]*t.get(h,p);for(a=a/f,h=c;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>=c;p--)a+=e[p]*t.get(h,p);for(a=a/f,p=c;p<=s;p++)t.set(h,p,t.get(h,p)-a*e[p])}e[c]=d*e[c],t.set(c,c-1,d*l)}}for(h=0;h<i;h++)for(p=0;p<i;p++)r.set(h,p,h===p?1:0);for(c=s-1;c>=n+1;c--)if(t.get(c,c-1)!==0){for(h=c+1;h<=s;h++)e[h]=t.get(h,c-1);for(p=c;p<=s;p++){for(l=0,h=c;h<=s;h++)l+=e[h]*r.get(h,p);for(l=l/e[c]/t.get(c,c-1),h=c;h<=s;h++)r.set(h,p,r.get(h,p)+l*e[h])}}}function uw(i,t,e,r,n){let s=i-1,a=0,l=i-1,f=Number.EPSILON,h=0,p=0,c=0,d=0,g=0,w=0,m=0,D=0,v,E,b,N,x,F,M,S,I,C,T,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&&(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))<f*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),c=(n.get(s-1,s-1)-n.get(s,s))/2,d=c*c+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=c>=0?c+m:c-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),c=S/w,d=m/w,g=Math.sqrt(c*c+d*d),c=c/g,d=d/g,E=s-1;E<i;E++)m=n.get(s-1,E),n.set(s-1,E,d*m+c*n.get(s,E)),n.set(s,E,d*n.get(s,E)-c*m);for(v=0;v<=s;v++)m=n.get(v,s-1),n.set(v,s-1,d*m+c*n.get(v,s)),n.set(v,s,d*n.get(v,s)-c*m);for(v=a;v<=l;v++)m=r.get(v,s-1),r.set(v,s-1,d*m+c*r.get(v,s)),r.set(v,s,d*r.get(v,s)-c*m)}else e[s-1]=S+c,e[s]=S+c,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,c=(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(c)+Math.abs(d)+Math.abs(g),c=c/w,d=d/w,g=g/w,!(x===N||Math.abs(n.get(x,x-1))*(Math.abs(d)+Math.abs(g))<f*(Math.abs(c)*(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&&(c=n.get(b,b-1),d=n.get(b+1,b-1),g=k?n.get(b+2,b-1):0,S=Math.abs(c)+Math.abs(d)+Math.abs(g),S!==0&&(c=c/S,d=d/S,g=g/S)),S!==0);b++)if(w=Math.sqrt(c*c+d*d+g*g),c<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)),c=c+w,S=c/w,I=d/w,m=g/w,d=d/c,g=g/c,E=b;E<i;E++)c=n.get(b,E)+d*n.get(b+1,E),k&&(c=c+g*n.get(b+2,E),n.set(b+2,E,n.get(b+2,E)-c*m)),n.set(b,E,n.get(b,E)-c*S),n.set(b+1,E,n.get(b+1,E)-c*I);for(v=0;v<=Math.min(s,b+3);v++)c=S*n.get(v,b)+I*n.get(v,b+1),k&&(c=c+m*n.get(v,b+2),n.set(v,b+2,n.get(v,b+2)-c*g)),n.set(v,b,n.get(v,b)-c),n.set(v,b+1,n.get(v,b+1)-c*d);for(v=a;v<=l;v++)c=S*r.get(v,b)+I*r.get(v,b+1),k&&(c=c+m*r.get(v,b+2),r.set(v,b+2,r.get(v,b+2)-c*g)),r.set(v,b,r.get(v,b)-c),r.set(v,b+1,r.get(v,b+1)-c*d)}}}if(p!==0){for(s=i-1;s>=0;s--)if(c=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)-c,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/(f*p)):(S=n.get(v,v+1),I=n.get(v+1,v),d=(e[v]-c)*(e[v]-c)+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)),f*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)-c)/n.get(s,s-1))):(W=io(0,-n.get(s-1,s),n.get(s-1,s-1)-c,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,T=0,E=N;E<=s;E++)C=C+n.get(v,E)*n.get(E,s-1),T=T+n.get(v,E)*n.get(E,s);if(M=n.get(v,v)-c,t[v]<0)m=M,g=C,w=T;else if(N=v,t[v]===0?(W=io(-C,-T,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]-c)*(e[v]-c)+t[v]*t[v]-d*d,U=(e[v]-c)*2*d,L===0&&U===0&&(L=f*p*(Math.abs(M)+Math.abs(d)+Math.abs(S)+Math.abs(I)+Math.abs(m))),W=io(S*g-m*C+d*T,S*w-m*T-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,(-T-M*n.get(v,s)-d*n.get(v,s-1))/S)):(W=io(-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))),f*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 io(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 kc{constructor(t){if(t=ur.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,f;for(l=0;l<r;l++){let h=0;for(f=0;f<l;f++){let p=0;for(a=0;a<f;a++)p+=n.get(f,a)*n.get(l,a);p=(e.get(l,f)-p)/n.get(f,f),n.set(l,f,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))),f=l+1;f<r;f++)n.set(l,f,0)}this.L=n,this.positiveDefinite=!!s}isPositiveDefinite(){return this.positiveDefinite}solve(t){t=ur.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,f;for(f=0;f<r;f++)for(l=0;l<n;l++){for(a=0;a<f;a++)s.set(f,l,s.get(f,l)-s.get(a,l)*e.get(f,a));s.set(f,l,s.get(f,l)/e.get(f,f))}for(f=r-1;f>=0;f--)for(l=0;l<n;l++){for(a=f+1;a<r;a++)s.set(f,l,s.get(f,l)-s.get(a,l)*e.get(a,f));s.set(f,l,s.get(f,l)/e.get(f,f))}return s}get lowerTriangularMatrix(){return this.L}}class Uc{constructor(t,e={}){t=ur.checkMatrix(t);let{Y:r}=e;const{scaleScores:n=!1,maxIterations:s=1e3,terminationCriteria:a=1e-10}=e;let l;if(r){if(tr.isAnyArray(r)&&typeof r[0]=="number"?r=pt.columnVector(r):r=ur.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 f=1,h,p,c,d;for(let g=0;g<s&&f>a;g++)c=t.transpose().mmul(l).div(l.transpose().mmul(l).get(0,0)),c=c.div(c.norm()),h=t.mmul(c).div(c.transpose().mmul(c).get(0,0)),g>0&&(f=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=c.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=c.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(c.transpose()))}}zt.AbstractMatrix=$t,zt.CHO=kc,zt.CholeskyDecomposition=kc,zt.DistanceMatrix=to,zt.EVD=qc;var lw=zt.EigenvalueDecomposition=qc;zt.LU=ro,zt.LuDecomposition=ro;var Wc=zt.Matrix=pt;zt.MatrixColumnSelectionView=j1,zt.MatrixColumnView=W1,zt.MatrixFlipColumnView=Y1,zt.MatrixFlipRowView=Z1,zt.MatrixRowSelectionView=K1,zt.MatrixRowView=G1,zt.MatrixSelectionView=eo,zt.MatrixSubView=H1,zt.MatrixTransposeView=X1,zt.NIPALS=Uc,zt.Nipals=Uc,zt.QR=$a,zt.QrDecomposition=$a,zt.SVD=wi,zt.SingularValueDecomposition=wi,zt.SymmetricMatrix=Zn,zt.WrapperMatrix1D=Pc,zt.WrapperMatrix2D=ur,zt.correlation=iw,zt.covariance=nw;var jc=zt.default=pt;zt.determinant=no,zt.inverse=Q1,zt.linearDependencies=ew,zt.pseudoInverse=rw,zt.solve=zc,zt.wrap=J1;const Yc=lw,Zc=Wc;jc.Matrix&&jc.Matrix;class fw{constructor(t){z(this,"_errorListener");this._errorListener=t}new({rows:t,columns:e,initial_value:r}={}){return new La(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 La{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 Xt(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 Xt(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 Bc(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=Xs(this._matrixArray);return this._newMatrix(t)}max(){return n1(this._matrixArray)}min(){return Ba(this._matrixArray)}pow({power:t}){const e=_t(t)?this._matrixArray:s1(this._matrixArray,t);return this._newMatrix(e)}row({row:t}){return _t(t)?new Xt(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=Ki(this._matrixArray,typeof t=="number"?t:t._matrixArray);return this._newMatrix(e)}copy(){return this._newMatrix(this._matrixArray)}diff({id2:t}){const e=Jv(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[f]of l._value.entries())a<r&&a>=e&&f>=n&&f<s&&l.set({index:f,value:t})}kron({id2:t}){const e=Hv(this._matrixArray,t._matrixArray);return this._newMatrix(e)}mode(){return Ba(xc(this._matrixArray))}mult({id2:t}){const e=typeof t=="number"?t:t._matrixArray?t._matrixArray:t._value,r=_i(this._matrixArray,e);return this._newMatrix(r)}pinv(){const t=i1(this._matrixArray);return this._newMatrix(t)}rank(){return this._matrixRank(this._matrixArray)}sort({column:t,order:e=qn.ascending}={}){_t(t)&&(t=0),this._matrixInstance.sort((r,n)=>{const s=r._value[t],a=n._value[t];return e!==qn.descending?s-a:a-s})}trace(){return r1(this._matrixArray)}concat({id2:t}){for(const e of t._value)this._matrixInstance.push(e);return this}median(){return Tc(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 Xt(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,Ce.Error);return}const n=Yv(this._matrixArray,[t,e]);this._matrixInstance=n.map(s=>{const a=new Xt(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=Cc(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 Xt(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 Yc(new Zc(this._matrixArray)),e=new Xt(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 Yc(new Zc(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 Zv(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 La(0,0,void 0,this._errorListener);return e._value=t.map(r=>{const n=new Xt(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 f=s[a][a];for(let h=0;h<n;h++)s[a][h]/=f;for(let h=a+1;h<r;h++){const p=s[h][a];s[h]=s[h].map((c,d)=>c-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 cw{constructor(t){z(this,"_variables");z(this,"_cacheData");this._variables=t,this._cacheData={}}change({timeframe:t},e){if(!t)return!0;const r=Qr(t),n=Qr(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 f=this._calcTimeOffset(l,t);return this._cacheData[s]={currentTime:l,offset:f},!1}return!1}in_seconds({timeframe:t}={}){return Qr(t||this._variables.timeframe.period)}from_seconds({seconds:t=0}){const e=t*1e3,r=Qt.duration(e);if(r.years())return"12M";const s=r.asMonths();if(Ks(s))return`${s}M`;const a=r.asWeeks();if(Ks(a))return`${a}M`;const l=r.asDays();if(l>=1)return`${Math.ceil(l)}D`;const f=r.asMinutes();if(f>=1)return`${Math.ceil(f)}`;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=Qt(t).day();e="1D",l!==1&&(r=(8-l)*60*60*24*1e3)}else if(e.includes("M")){const l=Qt(t).date();e="1D";const f=Qt(t).daysInMonth();l!==1&&(r=(f-l+1)*60*60*24*1e3)}const n=this._variables.getTimeTradingday(t,e),s=Qr(e)*1e3,a=t-n-Math.floor((t-n)/s)*s;return r?r-a:a}}class hw{constructor(t){z(this,"_errorListener");this._errorListener=t}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 Xt;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,Ce.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 this._formatNumber(t,e)}_arrToStr(t,e){return`[${t.map(n=>typeof n=="number"?this._formatNumber(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),Tr(t,r).format(e)}replace_all({source:t="",target:e="",replacement:r=""}){return t==null?void 0:t.replace(new RegExp(e,"g"),r)}_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 f=l[1];r=r.replace(new RegExp(a,"g"),String(this._formatNumber(n,f)))}else r=r.replace(new RegExp(`\\{${s}\\}`,"g"),String(n))}else r=r.replace(new RegExp(`\\{${s}\\}`,"g"),n)}),r}}class pw{constructor(t){z(this,"_errorListener");this._errorListener=t}new(){return new Ra(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 Ra{constructor(t){z(this,"_errorListener");z(this,"_mapInstance");this._errorListener=t,this._mapInstance=new Map}get isMap(){return!0}_copyMap(t){const e=new Ra(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 Xt(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 Xt(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 dw{constructor(t){z(this,"_variables");this._variables=t}new({price:t,time:e,index:r}){return new Gn(t,r,e)}now({price:t}){const{time:e,bar_index:r}=this._variables;return new Gn(t,r,e)}copy({id:t}){const{price:e,time:r,index:n}=t||{};return new Gn(e,n,r)}from_index({price:t,index:e}){return new Gn(t,e)}from_time({price:t,time:e}){return new Gn(t,void 0,e)}}class Gn{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 Gn(this._price,this._index,this._time)}}class _w{constructor(t){z(this,"_variables");z(this,"_defaultLabel",{text:"",xloc:$e.bar_index,yloc:ki.price,size:Yr.normal,style:ge.styleLabelDown,textalign:Je.alignCenter});this._variables=t}new(t,e){const r=`label_${e}`,n={...this._defaultLabel,...t,id:r};t.point&&(n.x=n.xloc===$e.bar_index?t.point.index:t.point.time,n.y=t.point.price);const s=new Xi(r,this._variables);return this._variables.label.add(r,n,s),s}label(t,e){return t.x?t.x:new Xi(e,this._variables)}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 Xi{constructor(t,e){z(this,"_id");z(this,"_variables");this._id=t,this._variables=e}copy(t){const e=`label_${t}`,r=this._getLabel(t),n=new Xi(e,this._variables);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)}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)}set_yloc({yloc:t},e){const r=this._getLabel(e);r&&(r.yloc=t)}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===$e.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)}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)}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)}_getLabel(t){const e=this._variables.label.get(this._id);return e||console.log(`错误${t}: label 不存在`),e}}const mw={freq_all:_n.freqAll,freq_once_per_bar:_n.freqOncePerBar,freq_once_per_bar_close:_n.freqOncePerBarClose},gw={gaps_off:qi.gapsOff,gaps_on:qi.gapsOn,lookahead_off:qi.lookaheadOff,lookahead_on:qi.lookaheadOn},yi={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"},Gc={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"},vw={friday:6,monday:2,saturday:7,sunday:1,thursday:5,tuesday:3,wednesday:4},ww={all:[sr.dataWindow,sr.pane,sr.priceScale,sr.statusLine],data_window:[sr.dataWindow],none:[],pane:[sr.pane],price_scale:[sr.priceScale],status_line:[sr.statusLine]},yw={both:Pn.both,left:Pn.left,none:Pn.none,right:Pn.right},Dw={inherit:zn.inherit,mintick:zn.mintick,percent:zn.percent,price:zn.price,volume:zn.volume},bw={style_solid:ws.styleSolid,style_dashed:ws.styleDashed,style_dotted:ws.styleDotted},Ew={style_arrowdown:ge.styleArrowdown,style_arrowup:ge.styleArrowup,style_circle:ge.styleCircle,style_cross:ge.styleCross,style_diamond:ge.styleDiamond,style_flag:ge.styleFlag,style_label_center:ge.styleLabelCenter,style_label_down:ge.styleLabelDown,style_label_left:ge.styleLabelLeft,style_label_lower_left:ge.styleLabelLowerLeft,style_label_lower_right:ge.styleLabelLowerRight,style_label_right:ge.styleLabelRight,style_label_up:ge.styleLabelUp,style_label_upper_left:ge.styleLabelUpperLeft,style_label_upper_right:ge.styleLabelUpperRight,style_none:ge.styleNone,style_square:ge.styleSquare,style_text_outline:ge.styleTextOutline,style_triangledown:ge.styleTriangledown,style_triangleup:ge.styleTriangleup,style_xcross:ge.styleXcross},xw={style_arrow_both:jr.styleArrowBoth,style_arrow_left:jr.styleArrowLeft,style_arrow_right:jr.styleArrowRight,style_dashed:jr.styleDashed,style_dotted:jr.styleDotted,style_solid:jr.styleSolid},Aw={abovebar:oi.abovebar,absolute:oi.absolute,belowbar:oi.belowbar,bottom:oi.bottom,top:oi.top},Cw={e:2.718281828459045,phi:1.618033988749895,pi:3.141592653589793,rphi:.6180339887498948},Fw={style_area:wr.styleArea,style_areabr:wr.styleAreabr,style_circles:wr.styleCircles,style_columns:wr.styleColumns,style_cross:wr.styleCross,style_histogram:wr.styleHistogram,style_line:wr.styleLine,style_linebr:wr.styleLinebr,style_stepline:wr.styleStepline,style_stepline_diamond:wr.styleSteplineDiamond,style_steplinebr:wr.styleSteplinebr},Mw={bottom_center:Or.bottomCenter,bottom_left:Or.bottomLeft,bottom_right:Or.bottomRight,middle_center:Or.middleCenter,middle_left:Or.middleLeft,middle_right:Or.middleRight,top_center:Or.topCenter,top_left:Or.topLeft,top_right:Or.topRight},Nw={left:ys.left,none:ys.none,right:ys.right},Sw={arrowdown:or.arrowdown,arrowup:or.arrowup,circle:or.circle,cross:or.cross,diamond:or.diamond,flag:or.flag,labeldown:or.labeldown,labelup:or.labelup,square:or.square,triangledown:or.triangledown,triangleup:or.triangleup,xcross:or.xcross},Bw={auto:Yr.auto,huge:Yr.huge,large:Yr.large,normal:Yr.normal,small:Yr.small,tiny:Yr.tiny},Tw={cash:Ge.cash,fixed:Ge.fixed,percent_of_equity:Ge.percentOfEquity,commission:{cash_per_contract:Ir.cashPerContract,cash_per_order:Ir.cashPerOrder,percent:Ir.percent},direction:{all:pe.all,long:pe.long,short:pe.short},oca:{cancel:kn.cancel,none:kn.none,reduce:kn.reduce}},Ow={align_bottom:Je.alignBottom,align_center:Je.alignCenter,align_left:Je.alignLeft,align_right:Je.alignRight,align_top:Je.alignTop,wrap_auto:Je.wrapAuto,wrap_none:Je.wrapNone},Iw={bar_index:$e.bar_index,bar_time:$e.bar_time},$w={abovebar:ki.abovebar,belowbar:ki.belowbar,price:ki.price},Lw={actual:Ds.actual,estimate:Ds.estimate,standardized:Ds.standardized};class Rw{constructor(){z(this,"adjustment",{dividends:vs.dividends,none:vs.none,splits:vs.splits});z(this,"alert",mw);z(this,"barmerge",gw);z(this,"color",yi);z(this,"currency",Gc);z(this,"dayofweek",vw);z(this,"earnings",Lw);z(this,"display",ww);z(this,"extend",yw);z(this,"font",{family_default:"SimSun",family_monospace:"Monospace"});z(this,"format",Dw);z(this,"hline",bw);z(this,"label",Ew);z(this,"line",xw);z(this,"location",Aw);z(this,"math",Cw);z(this,"order",{ascending:qn.ascending,descending:qn.descending});z(this,"plot",Fw);z(this,"position",Mw);z(this,"scale",Nw);z(this,"session",{extended:ia.extended,regular:ia.regular});z(this,"shape",Sw);z(this,"size",Bw);z(this,"splits",{denominator:"denominator",numerator:"numerator"});z(this,"strategy",Tw);z(this,"text",Ow);z(this,"xloc",Iw);z(this,"yloc",$w)}updateData(){}}class Pw{constructor(t){z(this,"_variables");z(this,"_defaultPolyline",{curved:!1,closed:!1,xloc:$e.bar_index,line_color:yi.blue,line_style:jr.styleSolid,line_width:1});this._variables=t}new(t,e){const r=`polyline_${e}`,n=Object.assign({},this._defaultPolyline,t,{id:r}),s=new Kc(r,this._variables);return this._variables.polyline.add(r,n,s),s}delete({id:t}){t&&t.delete()}}class Kc{constructor(t,e){z(this,"_id");z(this,"_variables");this._variables=e,this._id=t}delete(){this._variables.polyline.delete(this._id)}}class zw{constructor(t){z(this,"_variables");z(this,"_defaultLine",{xloc:$e.bar_index,extend:Pn.none,style:jr.styleSolid});this._variables=t}new({first_point:t,second_point:e,...r},n){const s=`line_${n}`,a={...this._defaultLine,...r,id:s};if(t&&e){const f=a.xloc===$e.bar_index?t.index:t.time,h=a.xloc===$e.bar_index?e.index:e.time;Object.assign(a,{x1:f,y1:t.price,x2:h,y2:e.price})}const l=new Ji(s,this._variables);return this._variables.line.add(s,a,l),l}line(t,e){return t.x?t.x:new Ji(e,this._variables)}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 Ji{constructor(t,e){z(this,"_variables");z(this,"_id");this._id=t,this._variables=e}get data(){return this._variables.line.get(this._id)}copy(t){const e=`line_${t}`,r=this._getLine(t),n=new Ji(e,this._variables);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===$e.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)}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)}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)}set_first_point({point:t},e){const r=this._getLine(e);if(r){const{index:n,time:s,price:a}=t||{},l=r.xloc===$e.bar_index?n:s,f=a;l&&(r.x1=l),f&&(r.y1=f)}}set_second_point({point:t},e){const r=this._getLine(e);if(r){const{index:n,time:s,price:a}=t||{},l=r.xloc===$e.bar_index?n:s,f=a;l&&(r.x2=l),f&&(r.y2=f)}}_getLine(t){const e=this._variables.line.get(this._id);return e||console.log(`${t}: line 不存在`),e}}class qw{constructor(t){z(this,"_variables");this._variables=t}new({line1:t,line2:e,color:r},n){const s=`linefill_${n}`,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 f=new so(this._variables,s,t,e);return(a||l)&&this._variables.linefill.add(s,{line1:a,line2:l,color:r,id:s},f),f}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 so{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 so(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 kw{constructor(t){z(this,"_variables");z(this,"_defaultBox",{border_color:yi.blue,border_width:1,bgcolor:yi.blue,xloc:$e.bar_index,extend:Pn.none,style:jr.styleSolid,text:"",text_size:Yr.auto,text_color:yi.black,text_halign:Je.alignCenter,text_valign:Je.alignCenter,text_wrap:Je.wrapNone});this._variables=t}box({x:t},e){return t===void 0?new Qi(this._variables,e):t}new({top_left:t,bottom_right:e,...r},n){const s=`box_${n}`,a={...this._defaultBox,...r,id:s};if(t){const{price:f,time:h,index:p}=t;a.top=f,a.left=a.xloc===$e.bar_index?p:h}if(e){const{price:f,time:h,index:p}=e;a.bottom=f,a.right=a.xloc===$e.bar_index?p:h}const l=new Qi(this._variables,s);return this._variables.box.add(s,a,l),l}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}){t==null||t.set_extend(e)}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}){t==null||t.set_border_style(e)}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}){t==null||t.set_text_size(e)}set_text_wrap({id:t,...e}){t==null||t.set_text_wrap(e)}set_text_color({id:t,...e}){t==null||t.set_text_color(e)}set_text_halign({id:t,...e}){t==null||t.set_text_halign(e)}set_text_valign({id:t,...e}){t==null||t.set_text_valign(e)}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}){t==null||t.set_text_font_family(e)}}class Qi{constructor(t,e){z(this,"_id");z(this,"_variables");this._variables=t,this._id=e}copy(t){const e=`box_${t}`,r=this._getBox(),n=new Qi(this._variables,e);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}){const e=this._getBox();e&&(e.extend=t)}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}){const e=this._getBox();e&&(e.text_size=t)}set_text_wrap({text_wrap:t}){const e=this._getBox();e&&(e.text_wrap=t)}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}){const e=this._getBox();e&&(e.text_halign=t)}set_text_valign({text_valign:t}){const e=this._getBox();e&&(e.text_valign=t)}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===$e.bar_index?r:s}}set_border_color({color:t}){const e=this._getBox();e&&(e.border_color=t)}set_border_style({style:t}){const e=this._getBox();e&&(e.border_style=t)}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===$e.bar_index?r:s}}set_text_font_family({text_font_family:t}){const e=this._getBox();e&&(e.text_font_family=t)}_getBox(){return this._variables.box.get(this._id)}}class Uw{constructor(t){z(this,"_variables");z(this,"_defaultTable",{position:Or.topLeft,columns:0,rows:0,frame_width:0,border_width:0});this._variables=t}table({x:t},e){return t||new Pa(this._variables,e)}new(t,e){const r=`table_${e}`,n={...this._defaultTable,...t,cell:[],id:r},s=new Pa(this._variables,r);return this._variables.table.add(r,n,s),s}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}){t==null||t.set_position(e)}}class Pa{constructor(t,e){z(this,"_id");z(this,"_variables");z(this,"_defaultCell",{column:0,row:0,text:"",text_color:yi.black,text_halign:Je.alignCenter,text_valign:Je.alignCenter,text_size:Yr.normal});this._variables=t,this._id=e}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 f=t;f<=r;f++){const h=a[l];h&&(h[f]=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}){const e=this._variables.table.get(this._id);e&&(e.position=t)}_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 Ww{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===pe.long?e:-e}_verifyTradeNum(t){if(typeof t!="number"||t<0)return!1;const e=this._strategy.historyOrders.length;return!(t>=e)}}class jw{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===pe.long?e:-e}_verifyTradeNum(t){if(typeof t!="number"||t<0)return!1;const e=this._strategy.orders.length;return!(t>=e)}}class Yw{constructor(t){z(this,"_strategy");this._strategy=t}allow_entry_in({value:t}){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}){e===Ge.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}){e===Ge.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})}}let Zw=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:zn.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:Ge.fixed,default_qty_value:1,initial_capital:1e6,currency:Gc.NONE,slippage:0,commission_type:Ir.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 jw(this),this._closedtrades=new Ww(this),this._riskNamespace=new Yw(this)}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:f,initial_capital:h}}=this._variables;let{preNetprofit:p=0}=this._risk;l===a&&(p=f,this._risk.preNetprofit=f,this._risk.isTemporaryBan=!1);let c=p-f;c+=this._orders.reduce((w,m)=>{const{in_price:D,direction:v,qty:E=0,commission:b=0,original_qty:N=0}=m,x=v===pe.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 Ge.cash:d=t<c;break;case Ge.percentOfEquity:const w=c/(h+f)*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===pe.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:f}=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(f,"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 Ge.percentOfEquity:l=a<s;break;case Ge.cash:l=t<s;break}if(l){const{high:f,low:h}=this._variables,p=(n=this._orders[0])==null?void 0:n.direction;this._riskTouchOff(p===pe.long?f:h,"Close Position (Max Drawdown)")}}}_riskTouchOff(t,e){this._risk.isDisabledOpen=!0,this._closeOrders(this._orders,t,e),this._pendingOrders=[]}strategy(t){this._options={...t},Object.assign(this._funcOptions,{strategy:this._options,scriptType:"strategy"})}order(t){this._risk.isDisabledOpen||this._orderHandle(t)}entry(t){this._risk.isDisabledOpen||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=Ge.fixed,default_qty_value:r=1,initial_capital:n}=this._options;switch(e){case Ge.fixed:return r;case Ge.cash:return r/t;case Ge.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,f=l===pe.long?1:-1,h=(r-s)*f*a,p=(t-s)*a,c=(e-s)*a,d=f===1?p:-c,g=f===1?-c: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:f=0,in_price:h,max_profit:p=0,trading_loss:c=0}=t;let{commission:d=0}=t;const g=h*f;if(s){const w=this._getCommission(a,f);e=e-w,d=d*f/l,r-=d,n+=d}r=Math.max(r,p),n=Math.min(n,c),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===pe.long?1:-1,f=l===1?e:t,h=(l===1?n:s)/100;if(h<=0)return;const[p,c,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,T=f*M;if(b+=C,N+=T,a){const L=this._getCommission(f,M);x+=L+M/S*I}return[b,N,x]},[0,0,0]),g=l*(c-p),m=r+this._totalChangeCapital+g-d-c*h;if(m>=0)return;const D=Math.trunc(m/h/f)*4;this._marginCallOrders(f,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:f,activePrice:h}=this._orderArgsParse(t),p=t.direction===pe.long?1:-1;if(a<=0)return;let c=a;if(s&&e){if(n.length){const m=this._processOrders(n,l,c,t.id,t.comment);if(m<=0)return;c=m}const g=l+p*r*this._mintick;if(!this._judgeCapitalEnough(c,g,p))return;this._ocaGroupVerify(c,t.oca_name,t.oca_type),this._calcCurrentOrder({...t,in_price:g,in_index:this._variables.bar_index,in_time:this._variables.time,qty:c,place_order_type:"order"});return}this._judgeCapitalEnough(a,f,p)&&this._addPendingOrders(t,f,c,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===kn.none)return!1;let n=!1;switch(r){case kn.cancel:this._pendingOrders=this._pendingOrders.filter(s=>{if(s.oca_name===e)s.isCancel=!0,n=!0;else return!0});break;case kn.reduce:this._pendingOrders=this._pendingOrders.filter(s=>{const{qty:a=0,oca_name:l}=s;if(e===l){const f=a-t;return n=!0,f<=0?(s.isCancel=!0,!1):(s.qty=f,!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,f=!1,h;const p=e===pe.long?1:-1,c=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;c&&g?(h=n,l=s):c?l=n:g?l=s:f=!0;const w=r||this._calcDefaultQty(l)||1;return{orders:this._orders.filter(D=>D.direction!==e),isMarketPrice:f,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:f}=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===pe.long?1:-1)&&this._addPendingEntry(t,l,s,n,f)}_entryOrder(t,e,r,n){const{time:s,bar_index:a}=this._variables,{slippage:l=0}=this._options,{oca_name:f,oca_type:h,direction:p,comment:c,isMarketPrice:d,id:g}=n,w=p===pe.long?1:-1;if(this._closeOrders(t,e,g,c),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,f,h),this._calcCurrentOrder(m))}_getAvailablePositionSize(t,e){const{max_position_size:r,allow_entry_in:n}=this._risk;if(n&&n!==pe.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),f=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(!f||f<(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:f,qty:h=0,direction:p}=t,c=p===pe.long?1:-1;e=e-c*l*this._mintick,t.isDeal=!0;const d=(e-f)*c*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:f,trail_stop_price:h,isMarketPriceLimit:p,isMarketPriceStop:c,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===pe.long?1:-1;let M,S=w;if(p||c?M=e:(f&&r<=f&&n>=f&&(S=b||w,M=f),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:f,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 c=this._orders.filter(d=>d.direction!==f);this._entryOrder(c,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:f,qty:h=0,in_price:p,direction:c,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(f&&(v=e),v<=n&&v>=r){const b=this._orders.filter(x=>x.direction!==c);if(b.length&&(E=this._processOrders(b,v,h,D,d),E<=0))return;const N=c===pe.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,f=this._orders.filter(g=>g.id===r&&g.in_index!==l&&(!g.close_qty||g.close_qty<(g.qty||0)));if(!f.length)return;let h=0;if(n?h=n:(h=f.reduce((g,w)=>g+(w.qty||0),h),h=s/100*h),h<=0)return;const{open:p,close:c}=this._variables;let d=h;for(const g of f){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"?f:this._orders,e?c: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:f,trail_points:h,from_entry:p="",id:c}=t;if(this._isNaN(r)&&this._isNaN(n)&&this._isNaN(s)&&this._isNaN(a)&&(this._isNaN(l)||this._isNaN(h)&&this._isNaN(f))){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,Ce.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===c);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:f,comment_trailing:h}=e;let p=r,c=!1;e.comment=a||s;for(const d of t){const{qty:g=0}=d,w=d.direction===pe.long?1:-1;p=r?r>=g?g:r:n/100*g,d.out_qty=p,p<g&&(c=!0),Object.assign(d,{out_comment:a||s,comment_loss:l,comment_profit:f,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 c}_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 f=n;const{close:h}=this._variables,{in_price:p}=t,{process_orders_on_close:c}=this._options;if(!this._isNaN(s)&&this._isNaN(n)&&(f=p+e*s*this._mintick),t.limit=f,f&&(f-h)*e<=0&&(t.isMarketPriceLimit=!0,r.comment=a||l,Object.assign(t,{out_comment:r.comment}),f=h,c))return this._addExitPendingCloseOrders(r),!0}_stopLoss(t,e,r){const{stop:n,loss:s,comment_loss:a,comment:l}=r;let f=n;const{close:h}=this._variables,{in_price:p}=t,{process_orders_on_close:c}=this._options;if(!this._isNaN(s)&&this._isNaN(n)&&(f=p-e*s*this._mintick),t.stop=f,f&&(f-h)*e>=0&&(t.isMarketPriceStop=!0,r.comment=a||l,Object.assign(t,{out_comment:r.comment}),f=h,c))return this._addExitPendingCloseOrders(r),!0}_trailStopLoss(t,e,r){const{trail_offset:n,trail_price:s,trail_points:a,comment_trailing:l,comment:f}=r;if(!this._isNaN(n)){const{close:h}=this._variables,{in_price:p}=t,{process_orders_on_close:c}=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||f,Object.assign(t,{out_comment:r.comment}),c))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 f=this._processExitOrders(this._orders,e,n,a,s);f&&!f.hasExit?(f.hasExit=!0,Object.assign(t,{trail_stop_price:f.trail_stop_price,stop:f.stop,limit:f.limit,trail_offset:f.trail_offset,active_price:f.active_price})):f&&(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 f of t)if(l=f,a=this._processOrder(f,e,a,n,s),a<=0||!f.hasExit)break;return this._orders=this._orders.filter(f=>!f.isDeal),this._variables.strategy.updateOrders(this._orders),l}_processOrder(t,e,r,n,s){const{time:a,bar_index:l}=this._variables,{slippage:f=0}=this._options,{in_price:h,qty:p=0,max_profit:c=0,trading_loss:d=0,direction:g,commission:w=0,original_qty:m=0}=t,D=g===pe.long?1:-1;if(e=e-D*f*this._mintick,r<p){const v=p-r,E=(e-h)*D*r,b=c/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:c-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:f=0,trading_loss:h=0,commission:p=0}=t;f=f<0?0:f;const c=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:f})}Object.assign(t,{total_profit:this._totalChangeCapital,profit_percent:l/c*100,max_profit_percent:f/c*100,trading_loss_percent:h/c*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 Ir.percent:a=s*r/100;break;case Ir.cashPerContract:a=e*r;break;case Ir.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 f=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/f*100,max_profit_percent:s/f*100,trading_loss_percent:a/f*100}),this._risk.intradayOrders+=1,this._orders.push(t),this._variables.strategy.updateOrders(this._orders)}_isNaN(t){return t===void 0||isNaN(t)}};class Gw{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){this._addLog(t,e,"info")}error(t,e){this._addLog(t,e,"error")}warning(t,e){this._addLog(t,e,"warning")}_addLog(t,e,r){const{message:n,formatString:s}=t,{time:a,bar_index:l,precision:f}=this._variables;let h=n;s&&Array.isArray(e)&&e.length&&(h=s.replace(/{(\d+)}/g,(p,c)=>{let d=e[c];return typeof d=="number"&&(d=this._intlFormat.format(parseFloat(d.toFixed(f)))),d!==void 0?d:p})),h&&this._logs.push({message:`[${Qt(a).format()}]: ${h}`,time:a,barIndex:l,type:r})}}class Kw{constructor(t){z(this,"_errorListener");this._errorListener=t}error({message:t},e){this._errorListener.addError(t,e,Ce.Error)}}class Hw{constructor(){z(this,"_errors");this._errors=new Map}clear(){this._errors.clear()}get errors(){return Br.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 Xw{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 Jw{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=Qr(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=Qr(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 Qw{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:c=0,commission:d=0,original_qty:g=0,direction:w}=h,m=w===pe.long?1:-1,D=(r-p)*c,v=(n-p)*c,E=m===1?D:-v,b=m===1?-v:D;t+=b+d*c/g,e+=E+d*c/g}const[s,a]=this._historyOrders.reduce((h,p)=>{let[c,d]=h;const{profit:g=0,commission:w=0}=p;return c+=g,d+=g-w,[c,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 f=e/(this.initial_capital+this.netprofit)*100;e>this._max_runup&&(this._max_runup=e),f>this._max_runup_percent&&(this._max_runup_percent=f)}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(([f,h,p,c,d,g],w)=>{const{direction:m,qty:D=0,in_price:v}=w;return m===pe.long?(f+=D,h+=D,g+=D):(f+=D,p+=D,g-=D),c+=D*v,d+=v,[f,h,p,c,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,f]=this._historyOrders.reduce((h,p)=>{let[c,d,g,w,m,D]=h;const{profit:v=0,profit_percent:E=0}=p;return c+=v,d+=E,v<0?(g+=v,w+=E):(m+=v,D+=E),[c,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=f,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===pe.long?1:-1,l=(a===1?e:r)/100;if(l<=0)return;const{close:f}=this._variables,[h,p]=this._orders.reduce((c,d)=>{let[g,w]=c;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 Ir.percent:b=(E+D*f)*s/100;break;case Ir.cashPerContract:b=D*s*2;break;case Ir.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 Vw{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,f=e+n;!this.isRealTime&&(this._preVwap={sum:l,sumV:f,isReset:s});const h=l/f;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 ty{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]=gs(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}}Qt.extend(Ip),Qt.extend(Fl),Qt.extend(Tp);class ey{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,"_precision");z(this,"_session");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 Xw,this._timeframe=new ty,this._priceVariables={close:0,open:0,low:0,high:0,volume:0},this._ta=new Vw,this._polyline=new Di,this._label=new Di,this._line=new Di,this._linefill=new Di,this._box=new Di,this._table=new Di,this._strategy=new Qw(this),this._precision=4,this._session=new Jw(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 Qt(this._currentBarTime).subtract(this._offsetTime,"hour").hour()}get minute(){return Qt(this._currentBarTime).minute()}get second(){return Qt(this._currentBarTime).second()}get month(){return Qt(this._currentBarTime).month()+1}get year(){return Qt(this._currentBarTime).year()}get dayofweek(){return Qt(this._currentBarTime).day()+1}get dayofmonth(){return Qt(this._currentBarTime).date()}get weekofyear(){return Qt(this._currentBarTime).week()}get last_bar_time(){return this._lastBarTime}get time(){return this._currentBarTime}get time_close(){const[t,e]=gs(this._period);return this._isRealTimeBar?void 0:Qt(this._currentBarTime).add(t,e).valueOf()}get timenow(){return Date.now()}get time_tradingday(){return this.getTimeTradingday(this._currentBarTime,this._period)}get timeframe(){return this._timeframe}get precision(){return this._precision}getTimeTradingday(t,e){const[r,n]=gs(e),s=Qt(t);return["M","w","y","d"].includes(n)?s.valueOf():(s.subtract(this._offsetTime,"h"),s.startOf("d").add(this._offsetTime,"h").valueOf())}updateData(t){const{barIndex:e,c:r,o:n,h:s,l:a,volume:l,lastBarIndex:f,time:h,lastBarTime:p,period:c="1D",offsetTime:d=5,precision:g=4}=t;this._priceVariables={close:Number(r),open:Number(n),high:Number(s),low:Number(a),volume:Number(l)},e>this._barIndex&&this._isRealTimeBar&&(this._cacheData.varData=this._cacheData.varNewData,this._cacheData.varNewData={}),this._precision=g,this._currentBarTime=h*1e3,this._lastBarIndex=f,this._barIndex=e,this._lastBarTime=p*1e3,this._period=c,this._offsetTime=d,this._timeframe.update(c),this._barstate.update(e,f,!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 Mp(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=Br.cloneDeep(r);if(this._cacheData.varNewData[s]=l,a&&a.length)for(const f of a)this._cacheData.varData[s][f]=l[f]}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)?Br.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 Xi.name:case Kc.name:case Qi.name:case Pa.name:case Ji.name:case so.name:t==null||t.delete();break}}}class Di{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 Xt,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 Hc={exports:{}};(function(i,t){(function(e,r){i.exports=r()})(jt,function(){return function(e,r,n){r.prototype.isBetween=function(s,a,l,f){var h=n(s),p=n(a),c=(f=f||"()")[0]==="(",d=f[1]===")";return(c?this.isAfter(h,l):!this.isBefore(h,l))&&(d?this.isBefore(p,l):!this.isAfter(p,l))||(c?this.isBefore(h,l):!this.isAfter(h,l))&&(d?this.isAfter(p,l):!this.isBefore(p,l))}}})})(Hc);var ry=Hc.exports,ny=Zt(ry),Xc={exports:{}};(function(i,t){(function(e,r){i.exports=r()})(jt,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,T;D[C=I,T=s.$utils().p(C),T==="date"?"day":T]=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 f=s.set,h=s.add,p=s.subtract,c=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"?c.bind(this)(function(w,m){return f.bind(this)(m,w)},g,d):f.bind(this)(d,g)},s.add=function(d,g){return d.constructor.name==="Object"?c.bind(this)(h,d,g):h.bind(this)(d,g)},s.subtract=function(d,g){return d.constructor.name==="Object"?c.bind(this)(h,d,g,-1):p.bind(this)(d,g)}}})})(Xc);var iy=Xc.exports,sy=Zt(iy),Jc={exports:{}};(function(i,t){(function(e,r){i.exports=r()})(jt,function(){var e,r,n=1e3,s=6e4,a=36e5,l=864e5,f=/\[([^\]]+)]|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,c=/^(-|\+)?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 T=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(k){T.$d[m(k)]=S[k]}),this.calMilliseconds(),this;if(typeof S=="string"){var L=S.match(c);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 T=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||T.negative||L.negative||U.negative||W.negative,K=L.format||U.format||W.format?"T":"",G=(P?"-":"")+"P"+S.format+I.format+T.format+K+L.format+U.format+W.format;return G==="P"||G==="-P"?"P0D":G},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(f,function(T,L){return L||String(C[T])})},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 T;return T=I?S*d[m(I)]:g(S)?S.$ms:w(S,this).$ms,w(this.$ms+T*(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(T,L){var U=S.locale();return w(T,{$l:U},L)},S.isDuration=g;var I=M.prototype.add,C=M.prototype.subtract;M.prototype.add=function(T,L){return g(T)?x(this,T,1):I.bind(this)(T,L)},M.prototype.subtract=function(T,L){return g(T)?x(this,T,-1):C.bind(this)(T,L)}}})})(Jc);var oy=Jc.exports,ay=Zt(oy);Qt.extend(Fl),Qt.extend(ny),Qt.extend(sy),Qt.extend(ay);class uy{constructor(t,e){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,"_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");this._variables=e,this._errorListener=new Hw,this.array=new Rp(this._errorListener),this.math=new Pp(t,this._errorListener),this.color=new c1,this.str=new hw(this._errorListener),this.map=new pw(this._errorListener),this.timeframe=new cw(e),this.matrix=new fw(this._errorListener),this.ta=new a1(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 f1(e,this._errorListener),this._plots=new Map,this.chart={point:new dw(e)},this.line=new zw(e),this.label=new _w(e),this.polyline=new Pw(e),this.box=new kw(e),this.table=new Uw(e),this.linefill=new qw(e),this.log=new Gw(e),this.runtime=new Kw(this._errorListener),this.strategy=new Zw(this._variables,this._options,1e-4,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).length?{...this._bgColors}:void 0,n=this._hlines.size?[...this._hlines.values()]:void 0,s=this._fills.size?[...this._fills.values()]:void 0,a=this.log.logs.length?this.log.logs:void 0;return this.log.clearLogs(),this._options.scriptType==="strategy"&&Object.assign(this._options,{orders:this.strategy.orders,historyOrders:this.strategy.historyOrders}),Object.assign(this._options,{inputs:t,plots:[...this._plots.values()],draws:this._getDraws(),alerts:e,colors:r,hlines:n,fills:s,logs:a})}_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}update(t){const{barIndex:e,inputs:r}=t;r&&r.length&&this.input.update(r),this.strategy.updateOptions(),this.math.update(e)}endExecution(){this.strategy.endExecution()}indicator(t){this._variables.bar_index||(this._options.scriptType="indicator",this._options.indicator=t)}plot(t,e){const{series:r,color:n,seriesColors:s,...a}=t,{bar_index:l}=this._variables,f=`plot_${e}`,h=this._plots.get(f),p=(h==null?void 0:h.data)||[],c=r!==void 0&&isNaN(r)?void 0:r;if(p[l]=c,s!=null&&s.length&&(this._seriesColorHandle(t,f),p[l]={value:c,itemStyle:{color:n}}),!h){const d=n?[n]:void 0;this._plots.set(f,{editable:!0,...a,colors:d,data:p,id:f})}return{type:"plot",key:f}}plotbar(t,e){const{open:r,close:n,low:s,high:a,color:l,seriesColors:f,...h}=t,{bar_index:p}=this._variables,c=`plotbar_${e}`,d=this._plots.get(c),g=(d==null?void 0:d.data)||[],w=n!==void 0&&isNaN(n)?void 0:n,m=r!==void 0&&isNaN(r)?void 0:r,D=s!==void 0&&isNaN(s)?void 0:s,v=a!==void 0&&isNaN(a)?void 0:a,E=[m,w,D,v];if(g[p]=E,f!=null&&f.length&&(this._seriesColorHandle(t,c),g[p]={value:E,itemStyle:{color:l}}),!d){const b=l?[l]:void 0;this._plots.set(c,{editable:!0,...h,colors:b,data:g,id:c})}}plotchar(t,e){const{series:r,color:n,textcolor:s,...a}=t,{bar_index:l}=this._variables,f=`plotchar_${e}`,h=this._plots.get(f),p=(h==null?void 0:h.data)||[];p[l]={value:r,color:n,textcolor:s},h||this._plots.set(f,{editable:!0,...a,data:p,id:f})}plotarrow(t,e){const{series:r,colorup:n,colordown:s,...a}=t,{bar_index:l}=this._variables,f=`plotarrow_${e}`,h=this._plots.get(f),p=(h==null?void 0:h.data)||[];p[l]={value:r!==void 0&&isNaN(r)?void 0:r,colorup:n,colordown:s},h||this._plots.set(f,{editable:!0,...a,data:p,id:f})}plotshape(t,e){const{series:r,color:n,textcolor:s,...a}=t,{bar_index:l}=this._variables,f=`plotshape_${e}`,h=this._plots.get(f),p=(h==null?void 0:h.data)||[];p[l]={value:r,color:n,textcolor:s},h||this._plots.set(f,{editable:!0,...a,data:p,id:f})}plotcandle(t,e){const{wickcolor:r,bordercolor:n,color:s,close:a,open:l,low:f,high:h,...p}=t,{bar_index:c}=this._variables,d=`plotcandle_${e}`,g=this._plots.get(d),w=(g==null?void 0:g.data)||[],m=a!==void 0&&isNaN(a)?void 0:a,D=l!==void 0&&isNaN(l)?void 0:l,v=f!==void 0&&isNaN(f)?void 0:f,E=h!==void 0&&isNaN(h)?void 0:h,b=[D,m,v,E];w[c]={value:b,wickcolor:r,bordercolor:n,color:s},g||this._plots.set(d,{editable:!0,...p,data:w,id:d})}hline(t,e){const r=`hline_${e}`;return this._hlines.set(r,{linewidth:1,editable:!0,display:sr.all,...t}),{type:"hline",key:r}}fill(t,e){const r=`fill_${e}`;this._fills.set(r,{display:sr.all,editable:!0,fillgaps:!1,...t})}alert({message:t,freq:e=_n.freqOncePerBar},r){const{bar_index:n,_isRealTimeBar:s,last_bar_index:a}=this._variables,l=`alert_${r}`,f=this._cacheData[l].barIndex;if(e===_n.freqOncePerBar&&n===f){this._alerts.delete(l);return}const h={message:t,freq:e,id:l,type:"alert"};if(s){e!==_n.freqOncePerBarClose&&this._alerts.set(l,h),this._cacheData[l].barIndex=n;return}if(!s&&e===_n.freqOncePerBarClose&&n===f&&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){this._setColors(t,"barcolor")}bgcolor(t){this._setColors(t,"bgcolor")}_setColors(t,e){var l,f;const{color:r,...n}=t,{bar_index:s}=this._variables,a=((l=this._bgColors[e])==null?void 0:l.colors)||[];if(!a[s]){const h=((f=this._bgColors[e])==null?void 0:f.setColors)||[];h.includes(r)||h.push(r),a[s]=r,this._bgColors[e]={...n,colors:a,setColors:h}}}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:f=0,second:h=0}=t;if(e)return Qt(e).utc(!/GMT|UTC/.test(e)).valueOf();let p=s-1,c=n;if(p<0){const g=Math.ceil(Math.abs(p/12));p=12*g+p,c=n-g}let d=Qt({year:c,month:p,day:a,hour:l,minute:f,second:h});return r&&(d=Tr(d.utc(!0).valueOf(),r)),d.utc(!0).valueOf()}weekofyear({time:t,timezone:e}){return Tr(t,e).week()}year({time:t,timezone:e}){return Tr(t,e).year()}second({time:t,timezone:e}){return Tr(t,e).second()}month({time:t,timezone:e}){return Tr(t,e).month()+1}minute({time:t,timezone:e}){return Tr(t,e).minute()}hour({time:t,timezone:e}){return Tr(t,e).hour()}dayofweek({time:t,timezone:e}){return Tr(t,e).day()+1}dayofmonth({time:t,timezone:e}){return Tr(t,e).date()}_calcTimeOffset(t,e){const r=this._variables.getTimeTradingday(t,e),n=Qr(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,f=Qr(l),h=Qr(this._variables.timeframe.period);let p;if(f<=h)p=t;else{const c=`time_${e}`,d=this._cacheData[c];if(d)d.currentTime+f*1e3-d.offset<=t?(p=t,this._cacheData[c]={currentTime:t,offset:0}):p=d;else{const g=this._calcTimeOffset(t,l);this._cacheData[c]={currentTime:t,offset:g},p=t}}if(n){const{timePeriods:c,weeks:d}=this._parserSession(n,e),g=Qt(t).format("YYYY-MM-DD"),w=p;p=void 0;for(const D of c){const[v,E]=D;if(Qt(t).isBetween(`${g} ${v}`,`${g} ${E}`,"hour")){Qt(w).isBetween(`${g} ${v}`,`${g} ${E}`,"hour")?p=w:p=Qt(`${g} ${v}`).valueOf();break}}const m=this._variables.dayofweek;p&&!d.includes(m)&&(p=void 0)}return s&&(p=p&&Tr(p,s).valueOf()),p&&p-a*h*1e3}_seriesColorHandle(t,e){var s,a;const{seriesColors:r}=t,n=this._plots.get(e);if(n&&r!=null&&r.length)for(const l of r){if((s=n.gradientColorKeys)!=null&&s.includes(l))continue;const f=t[l],h=n[`${l}s`]||[];h.includes(f)||(h.push(f),n[`${l}s`]=h,h.length>5&&(n[`${l}s`]=[],(a=n.gradientColorKeys)==null||a.push(l)))}}_parserSession(t,e){const r=t.split(":"),n=r[0],a=(r[1]||"1234567").split("").map(f=>{const h=parseInt(f,10);if(h<1||h>7){this._errorListener.addError(`Invalid day of week: ${f}`,e,Ce.Error);return}return h});return{timePeriods:n.split(",").map(f=>{const h=f.split("-");return h.length!==2?(this._errorListener.addError(`Invalid time period: ${f}`,e,Ce.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,Ce.Error);return}return`${r}:${n}`}}/**
63
63
  * @license
64
64
  * Copyright 2019 Google LLC
65
65
  * SPDX-License-Identifier: Apache-2.0
66
- */const Xc=Symbol("Comlink.proxy"),uy=Symbol("Comlink.endpoint"),ly=Symbol("Comlink.releaseProxy"),Pa=Symbol("Comlink.finalizer"),so=Symbol("Comlink.thrown"),Vc=i=>typeof i=="object"&&i!==null||typeof i=="function",fy={canHandle:i=>Vc(i)&&i[Xc],serialize(i){const{port1:t,port2:e}=new MessageChannel;return za(i,t),[e,[e]]},deserialize(i){return i.start(),dy(i)}},cy={canHandle:i=>Vc(i)&&so 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}},Qc=new Map([["proxy",fy],["throw",cy]]);function hy(i,t){for(const e of i)if(t===e||e==="*"||e instanceof RegExp&&e.test(t))return!0;return!1}function za(i,t=globalThis,e=["*"]){t.addEventListener("message",function r(n){if(!n||!n.data)return;if(!hy(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),f=(n.data.argumentList||[]).map(Gn);let h;try{const p=l.slice(0,-1).reduce((d,g)=>d[g],i),c=l.reduce((d,g)=>d[g],i);switch(a){case"GET":h=c;break;case"SET":p[l.slice(-1)[0]]=Gn(n.data.value),h=!0;break;case"APPLY":h=c.apply(p,f);break;case"CONSTRUCT":{const d=new c(...f);h=wy(d)}break;case"ENDPOINT":{const{port1:d,port2:g}=new MessageChannel;za(i,g),h=vy(d,[d])}break;case"RELEASE":h=void 0;break;default:return}}catch(p){h={value:p,[so]:0}}Promise.resolve(h).catch(p=>({value:p,[so]:0})).then(p=>{const[c,d]=lo(p);t.postMessage(Object.assign(Object.assign({},c),{id:s}),d),a==="RELEASE"&&(t.removeEventListener("message",r),th(t),Pa in i&&typeof i[Pa]=="function"&&i[Pa]())}).catch(p=>{const[c,d]=lo({value:new TypeError("Unserializable return value"),[so]:0});t.postMessage(Object.assign(Object.assign({},c),{id:s}),d)})}),t.start&&t.start()}function py(i){return i.constructor.name==="MessagePort"}function th(i){py(i)&&i.close()}function dy(i,t){return qa(i,[],t)}function oo(i){if(i)throw new Error("Proxy has been released and is not useable")}function eh(i){return Di(i,{type:"RELEASE"}).then(()=>{th(i)})}const ao=new WeakMap,uo="FinalizationRegistry"in globalThis&&new FinalizationRegistry(i=>{const t=(ao.get(i)||0)-1;ao.set(i,t),t===0&&eh(i)});function _y(i,t){const e=(ao.get(t)||0)+1;ao.set(t,e),uo&&uo.register(i,t,i)}function my(i){uo&&uo.unregister(i)}function qa(i,t=[],e=function(){}){let r=!1;const n=new Proxy(e,{get(s,a){if(oo(r),a===ly)return()=>{my(n),eh(i),r=!0};if(a==="then"){if(t.length===0)return{then:()=>n};const l=Di(i,{type:"GET",path:t.map(f=>f.toString())}).then(Gn);return l.then.bind(l)}return qa(i,[...t,a])},set(s,a,l){oo(r);const[f,h]=lo(l);return Di(i,{type:"SET",path:[...t,a].map(p=>p.toString()),value:f},h).then(Gn)},apply(s,a,l){oo(r);const f=t[t.length-1];if(f===uy)return Di(i,{type:"ENDPOINT"}).then(Gn);if(f==="bind")return qa(i,t.slice(0,-1));const[h,p]=rh(l);return Di(i,{type:"APPLY",path:t.map(c=>c.toString()),argumentList:h},p).then(Gn)},construct(s,a){oo(r);const[l,f]=rh(a);return Di(i,{type:"CONSTRUCT",path:t.map(h=>h.toString()),argumentList:l},f).then(Gn)}});return _y(n,i),n}function gy(i){return Array.prototype.concat.apply([],i)}function rh(i){const t=i.map(lo);return[t.map(e=>e[0]),gy(t.map(e=>e[1]))]}const nh=new WeakMap;function vy(i,t){return nh.set(i,t),i}function wy(i){return Object.assign(i,{[Xc]:!0})}function lo(i){for(const[t,e]of Qc)if(e.canHandle(i)){const[r,n]=e.serialize(i);return[{type:"HANDLER",name:t,value:r},n]}return[{type:"RAW",value:i},nh.get(i)||[]]}function Gn(i){switch(i.type){case"HANDLER":return Qc.get(i.name).deserialize(i.value);case"RAW":return i.value}}function Di(i,t,e){return new Promise(r=>{const n=yy();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 yy(){return new Array(4).fill(0).map(()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)).join("-")}class Dy{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 by(i,t,e){const{data:r,isPreParser:n}=t;if(self.workerStorage||(self.workerStorage=new Dy),e&&(self.builtInGather=new ty,self.buildinConstants=new Lw,self.buildInFunctions=new ay(4,self.builtInGather),self.tradingvueFunc=new Function("$_var","$_const","$_func",i)),n)self.tradingvueFunc(self.builtInGather,self.buildinConstants,self.buildInFunctions);else if(r&&r.length){const a=r.length;for(const[l,f]of r.entries()){self.builtInGather.updateData(Object.assign(f,{barIndex:l,lastBarIndex:a-1,lastBarTime:r[a-1].time})),self.buildInFunctions.update({barIndex:l}),self.tradingvueFunc(self.builtInGather,self.buildinConstants,self.buildInFunctions),self.buildInFunctions.endExecution();const h=self.buildInFunctions.errors;if(h.length&&h.some(p=>p.type===Ce.Error))return{status:1,errors:h}}}const s=self.buildInFunctions.errors;return s.length&&s.some(a=>a.type===Ce.Error)?{status:1,errors:s}:{status:0,options:self.buildInFunctions.options}}function Ey(i){self==null||self.workerStorage.delete(i)}za({runScript:by,removeScript:Ey})})();
66
+ */const Qc=Symbol("Comlink.proxy"),ly=Symbol("Comlink.endpoint"),fy=Symbol("Comlink.releaseProxy"),za=Symbol("Comlink.finalizer"),oo=Symbol("Comlink.thrown"),Vc=i=>typeof i=="object"&&i!==null||typeof i=="function",cy={canHandle:i=>Vc(i)&&i[Qc],serialize(i){const{port1:t,port2:e}=new MessageChannel;return qa(i,t),[e,[e]]},deserialize(i){return i.start(),_y(i)}},hy={canHandle:i=>Vc(i)&&oo 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}},th=new Map([["proxy",cy],["throw",hy]]);function py(i,t){for(const e of i)if(t===e||e==="*"||e instanceof RegExp&&e.test(t))return!0;return!1}function qa(i,t=globalThis,e=["*"]){t.addEventListener("message",function r(n){if(!n||!n.data)return;if(!py(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),f=(n.data.argumentList||[]).map(Kn);let h;try{const p=l.slice(0,-1).reduce((d,g)=>d[g],i),c=l.reduce((d,g)=>d[g],i);switch(a){case"GET":h=c;break;case"SET":p[l.slice(-1)[0]]=Kn(n.data.value),h=!0;break;case"APPLY":h=c.apply(p,f);break;case"CONSTRUCT":{const d=new c(...f);h=yy(d)}break;case"ENDPOINT":{const{port1:d,port2:g}=new MessageChannel;qa(i,g),h=wy(d,[d])}break;case"RELEASE":h=void 0;break;default:return}}catch(p){h={value:p,[oo]:0}}Promise.resolve(h).catch(p=>({value:p,[oo]:0})).then(p=>{const[c,d]=fo(p);t.postMessage(Object.assign(Object.assign({},c),{id:s}),d),a==="RELEASE"&&(t.removeEventListener("message",r),eh(t),za in i&&typeof i[za]=="function"&&i[za]())}).catch(p=>{const[c,d]=fo({value:new TypeError("Unserializable return value"),[oo]:0});t.postMessage(Object.assign(Object.assign({},c),{id:s}),d)})}),t.start&&t.start()}function dy(i){return i.constructor.name==="MessagePort"}function eh(i){dy(i)&&i.close()}function _y(i,t){return ka(i,[],t)}function ao(i){if(i)throw new Error("Proxy has been released and is not useable")}function rh(i){return bi(i,{type:"RELEASE"}).then(()=>{eh(i)})}const uo=new WeakMap,lo="FinalizationRegistry"in globalThis&&new FinalizationRegistry(i=>{const t=(uo.get(i)||0)-1;uo.set(i,t),t===0&&rh(i)});function my(i,t){const e=(uo.get(t)||0)+1;uo.set(t,e),lo&&lo.register(i,t,i)}function gy(i){lo&&lo.unregister(i)}function ka(i,t=[],e=function(){}){let r=!1;const n=new Proxy(e,{get(s,a){if(ao(r),a===fy)return()=>{gy(n),rh(i),r=!0};if(a==="then"){if(t.length===0)return{then:()=>n};const l=bi(i,{type:"GET",path:t.map(f=>f.toString())}).then(Kn);return l.then.bind(l)}return ka(i,[...t,a])},set(s,a,l){ao(r);const[f,h]=fo(l);return bi(i,{type:"SET",path:[...t,a].map(p=>p.toString()),value:f},h).then(Kn)},apply(s,a,l){ao(r);const f=t[t.length-1];if(f===ly)return bi(i,{type:"ENDPOINT"}).then(Kn);if(f==="bind")return ka(i,t.slice(0,-1));const[h,p]=nh(l);return bi(i,{type:"APPLY",path:t.map(c=>c.toString()),argumentList:h},p).then(Kn)},construct(s,a){ao(r);const[l,f]=nh(a);return bi(i,{type:"CONSTRUCT",path:t.map(h=>h.toString()),argumentList:l},f).then(Kn)}});return my(n,i),n}function vy(i){return Array.prototype.concat.apply([],i)}function nh(i){const t=i.map(fo);return[t.map(e=>e[0]),vy(t.map(e=>e[1]))]}const ih=new WeakMap;function wy(i,t){return ih.set(i,t),i}function yy(i){return Object.assign(i,{[Qc]:!0})}function fo(i){for(const[t,e]of th)if(e.canHandle(i)){const[r,n]=e.serialize(i);return[{type:"HANDLER",name:t,value:r},n]}return[{type:"RAW",value:i},ih.get(i)||[]]}function Kn(i){switch(i.type){case"HANDLER":return th.get(i.name).deserialize(i.value);case"RAW":return i.value}}function bi(i,t,e){return new Promise(r=>{const n=Dy();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 Dy(){return new Array(4).fill(0).map(()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)).join("-")}class by{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 Ey(i,t,e){const{data:r,isPreParser:n}=t;if(self.workerStorage||(self.workerStorage=new by),e&&(self.builtInGather=new ey,self.buildinConstants=new Rw,self.buildInFunctions=new uy(4,self.builtInGather),self.tradingvueFunc=new Function("$_var","$_const","$_func",i)),n)self.tradingvueFunc(self.builtInGather,self.buildinConstants,self.buildInFunctions);else if(r&&r.length){const a=r.length;for(const[l,f]of r.entries()){self.builtInGather.updateData(Object.assign(f,{barIndex:l,lastBarIndex:a-1,lastBarTime:r[a-1].time})),self.buildInFunctions.update({barIndex:l}),self.tradingvueFunc(self.builtInGather,self.buildinConstants,self.buildInFunctions),self.buildInFunctions.endExecution();const h=self.buildInFunctions.errors;if(h.length&&h.some(p=>p.type===Ce.Error))return{status:1,errors:h}}}const s=self.buildInFunctions.errors;return s.length&&s.some(a=>a.type===Ce.Error)?{status:1,errors:s}:{status:0,options:self.buildInFunctions.options}}function xy(i){self==null||self.workerStorage.delete(i)}qa({runScript:Ey,removeScript:xy})})();