mathjs
Version:
Math.js is an extensive math library for JavaScript and Node.js. It features a flexible expression parser with support for symbolic computation, comes with a large set of built-in functions and constants, and offers an integrated solution to work with dif
33 lines • 688 kB
JavaScript
/**
* math.js
* https://github.com/josdejong/mathjs
*
* Math.js is an extensive math library for JavaScript and Node.js,
* It features real and complex numbers, units, matrices, a large set of
* mathematical functions, and a flexible expression parser.
*
* @version 10.5.0
* @date 2022-04-19
*
* @license
* Copyright (C) 2013-2022 Jos de Jong <wjosdejong@gmail.com>
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy
* of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.math=t():e.math=t()}(this,(function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)r.d(n,i,function(t){return e[t]}.bind(null,i));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=271)}([function(e,t,r){var n=r(115),i=r(35),a=r(198);n||i(Object.prototype,"toString",a,{unsafe:!0})},function(e,t,r){(function(t){var r=function(e){return e&&e.Math==Math&&e};e.exports=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof t&&t)||function(){return this}()||Function("return this")()}).call(this,r(194))},,function(e,t,r){var n=r(1),i=r(60).f,a=r(55),o=r(35),s=r(111),u=r(145),c=r(84);e.exports=function(e,t){var r,f,l,p,m,h=e.target,d=e.global,v=e.stat;if(r=d?n:v?n[h]||s(h,{}):(n[h]||{}).prototype)for(f in t){if(p=t[f],l=e.noTargetGet?(m=i(r,f))&&m.value:r[f],!c(d?f:h+(v?".":"#")+f,e.forced)&&void 0!==l){if(typeof p==typeof l)continue;u(p,l)}(e.sham||l&&l.sham)&&a(p,"sham",!0),o(r,f,p,e)}}},function(e,t,r){"use strict";var n=r(3),i=r(85).map;n({target:"Array",proto:!0,forced:!r(86)("map")},{map:function(e){return i(this,e,arguments.length>1?arguments[1]:void 0)}})},function(e,t){function r(t){return e.exports=r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,r(t)}e.exports=r,e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t,r){var n=r(1),i=r(148),a=r(149),o=r(199),s=r(55),u=function(e){if(e&&e.forEach!==o)try{s(e,"forEach",o)}catch(t){e.forEach=o}};for(var c in i)i[c]&&u(n[c]&&n[c].prototype);u(a)},function(e,t,r){"use strict";var n=r(9),i=r(82).PROPER,a=r(35),o=r(23),s=r(53),u=r(29),c=r(8),f=r(121),l=RegExp.prototype,p=l.toString,m=n(f),h=c((function(){return"/a/b"!=p.call({source:"a",flags:"b"})})),d=i&&"toString"!=p.name;(h||d)&&a(RegExp.prototype,"toString",(function(){var e=o(this),t=u(e.source),r=e.flags;return"/"+t+"/"+u(void 0===r&&s(l,e)&&!("flags"in l)?m(e):r)}),{unsafe:!0})},function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,t,r){var n=r(94),i=Function.prototype,a=i.bind,o=i.call,s=n&&a.bind(o,o);e.exports=n?function(e){return e&&s(e)}:function(e){return e&&function(){return o.apply(e,arguments)}}},function(e,t,r){"use strict";var n=r(3),i=r(105);n({target:"RegExp",proto:!0,forced:/./.exec!==i},{exec:i})},function(e,t,r){r(237),r(245),r(246),r(247),r(248),r(249)},function(e,t,r){var n=r(19),i=r(82).EXISTS,a=r(9),o=r(22).f,s=Function.prototype,u=a(s.toString),c=/function\b(?:\s|\/\*[\S\s]*?\*\/|\/\/[^\n\r]*[\n\r]+)*([^\s(/]*)/,f=a(c.exec);n&&!i&&o(s,"name",{configurable:!0,get:function(){try{return f(c,u(this))[1]}catch(e){return""}}})},function(e,t,r){"use strict";var n=r(3),i=r(17);n({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return i(URL.prototype.toString,this)}})},function(e,t){e.exports=function(e){return"function"==typeof e}},function(e,t,r){var n=r(1),i=r(69),a=r(21),o=r(96),s=r(67),u=r(142),c=i("wks"),f=n.Symbol,l=f&&f.for,p=u?f:f&&f.withoutSetter||o;e.exports=function(e){if(!a(c,e)||!s&&"string"!=typeof c[e]){var t="Symbol."+e;s&&a(f,e)?c[e]=f[e]:c[e]=u&&l?l(t):p(t)}return c[e]}},function(e,t,r){"use strict";var n=r(3),i=r(9),a=r(109),o=r(40),s=r(117),u=i([].join),c=a!=Object,f=s("join",",");n({target:"Array",proto:!0,forced:c||!f},{join:function(e){return u(o(this),void 0===e?",":e)}})},function(e,t,r){var n=r(94),i=Function.prototype.call;e.exports=n?i.bind(i):function(){return i.apply(i,arguments)}},function(e,t,r){"use strict";var n=r(3),i=r(1),a=r(102),o=r(103),s=r(24),u=r(83),c=r(47),f=r(40),l=r(73),p=r(15),m=r(86),h=r(124),d=m("slice"),v=p("species"),y=i.Array,g=Math.max;n({target:"Array",proto:!0,forced:!d},{slice:function(e,t){var r,n,i,p=f(this),m=c(p),d=u(e,m),x=u(void 0===t?m:t,m);if(a(p)&&(r=p.constructor,(o(r)&&(r===y||a(r.prototype))||s(r)&&null===(r=r[v]))&&(r=void 0),r===y||void 0===r))return h(p,d,x);for(n=new(void 0===r?y:r)(g(x-d,0)),i=0;d<x;d++,i++)d in p&&l(n,i,p[d]);return n.length=i,n}})},function(e,t,r){var n=r(8);e.exports=!n((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},function(e,t,r){"use strict";var n=r(3),i=r(1),a=r(8),o=r(102),s=r(24),u=r(37),c=r(47),f=r(73),l=r(116),p=r(86),m=r(15),h=r(79),d=m("isConcatSpreadable"),v=i.TypeError,y=h>=51||!a((function(){var e=[];return e[d]=!1,e.concat()[0]!==e})),g=p("concat"),x=function(e){if(!s(e))return!1;var t=e[d];return void 0!==t?!!t:o(e)};n({target:"Array",proto:!0,forced:!y||!g},{concat:function(e){var t,r,n,i,a,o=u(this),s=l(o,0),p=0;for(t=-1,n=arguments.length;t<n;t++)if(x(a=-1===t?o:arguments[t])){if(p+(i=c(a))>9007199254740991)throw v("Maximum allowed index exceeded");for(r=0;r<i;r++,p++)r in a&&f(s,p,a[r])}else{if(p>=9007199254740991)throw v("Maximum allowed index exceeded");f(s,p++,a)}return s.length=p,s}})},function(e,t,r){var n=r(9),i=r(37),a=n({}.hasOwnProperty);e.exports=Object.hasOwn||function(e,t){return a(i(e),t)}},function(e,t,r){var n=r(1),i=r(19),a=r(143),o=r(144),s=r(23),u=r(95),c=n.TypeError,f=Object.defineProperty,l=Object.getOwnPropertyDescriptor;t.f=i?o?function(e,t,r){if(s(e),t=u(t),s(r),"function"==typeof e&&"prototype"===t&&"value"in r&&"writable"in r&&!r.writable){var n=l(e,t);n&&n.writable&&(e[t]=r.value,r={configurable:"configurable"in r?r.configurable:n.configurable,enumerable:"enumerable"in r?r.enumerable:n.enumerable,writable:!1})}return f(e,t,r)}:f:function(e,t,r){if(s(e),t=u(t),s(r),a)try{return f(e,t,r)}catch(e){}if("get"in r||"set"in r)throw c("Accessors not supported");return"value"in r&&(e[t]=r.value),e}},function(e,t,r){var n=r(1),i=r(24),a=n.String,o=n.TypeError;e.exports=function(e){if(i(e))return e;throw o(a(e)+" is not an object")}},function(e,t,r){var n=r(14);e.exports=function(e){return"object"==typeof e?null!==e:n(e)}},function(e,t,r){"use strict";var n=r(3),i=r(85).find,a=r(129),o=!0;"find"in[]&&Array(1).find((function(){o=!1})),n({target:"Array",proto:!0,forced:o},{find:function(e){return i(this,e,arguments.length>1?arguments[1]:void 0)}}),a("find")},function(e,t,r){var n=r(257),i=r(258),a=r(186),o=r(259);e.exports=function(e){return n(e)||i(e)||a(e)||o()},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t,r){"use strict";var n=r(40),i=r(129),a=r(89),o=r(46),s=r(22).f,u=r(130),c=r(50),f=r(19),l=o.set,p=o.getterFor("Array Iterator");e.exports=u(Array,"Array",(function(e,t){l(this,{type:"Array Iterator",target:n(e),index:0,kind:t})}),(function(){var e=p(this),t=e.target,r=e.kind,n=e.index++;return!t||n>=t.length?(e.target=void 0,{value:void 0,done:!0}):"keys"==r?{value:n,done:!1}:"values"==r?{value:t[n],done:!1}:{value:[n,t[n]],done:!1}}),"values");var m=a.Arguments=a.Array;if(i("keys"),i("values"),i("entries"),!c&&f&&"values"!==m.name)try{s(m,"name",{value:"values"})}catch(e){}},function(e,t,r){var n=r(3),i=r(37),a=r(114);n({target:"Object",stat:!0,forced:r(8)((function(){a(1)}))},{keys:function(e){return a(i(e))}})},function(e,t,r){var n=r(1),i=r(101),a=n.String;e.exports=function(e){if("Symbol"===i(e))throw TypeError("Cannot convert a Symbol value to a string");return a(e)}},function(e,t,r){"use strict";var n=r(3),i=r(1),a=r(83),o=r(62),s=r(47),u=r(37),c=r(116),f=r(73),l=r(86)("splice"),p=i.TypeError,m=Math.max,h=Math.min;n({target:"Array",proto:!0,forced:!l},{splice:function(e,t){var r,n,i,l,d,v,y=u(this),g=s(y),x=a(e,g),b=arguments.length;if(0===b?r=n=0:1===b?(r=0,n=g-x):(r=b-2,n=h(m(o(t),0),g-x)),g+r-n>9007199254740991)throw p("Maximum allowed length exceeded");for(i=c(y,n),l=0;l<n;l++)(d=x+l)in y&&f(i,l,y[d]);if(i.length=n,r<n){for(l=x;l<g-n;l++)v=l+r,(d=l+n)in y?y[v]=y[d]:delete y[v];for(l=g;l>g-n+r;l--)delete y[l-1]}else if(r>n)for(l=g-n;l>x;l--)v=l+r-1,(d=l+n-1)in y?y[v]=y[d]:delete y[v];for(l=0;l<r;l++)y[l+x]=arguments[l+2];return y.length=g-n+r,i}})},function(e,t,r){"use strict";var n=r(19),i=r(1),a=r(9),o=r(84),s=r(35),u=r(21),c=r(119),f=r(53),l=r(78),p=r(141),m=r(8),h=r(70).f,d=r(60).f,v=r(22).f,y=r(164),g=r(165).trim,x=i.Number,b=x.prototype,w=i.TypeError,N=a("".slice),M=a("".charCodeAt),E=function(e){var t=p(e,"number");return"bigint"==typeof t?t:S(t)},S=function(e){var t,r,n,i,a,o,s,u,c=p(e,"number");if(l(c))throw w("Cannot convert a Symbol value to a number");if("string"==typeof c&&c.length>2)if(c=g(c),43===(t=M(c,0))||45===t){if(88===(r=M(c,2))||120===r)return NaN}else if(48===t){switch(M(c,1)){case 66:case 98:n=2,i=49;break;case 79:case 111:n=8,i=55;break;default:return+c}for(o=(a=N(c,2)).length,s=0;s<o;s++)if((u=M(a,s))<48||u>i)return NaN;return parseInt(a,n)}return+c};if(o("Number",!x(" 0o1")||!x("0b1")||x("+0x1"))){for(var A,O=function(e){var t=arguments.length<1?0:x(E(e)),r=this;return f(b,r)&&m((function(){y(r)}))?c(Object(t),r,O):t},C=n?h(x):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,fromString,range".split(","),T=0;C.length>T;T++)u(x,A=C[T])&&!u(O,A)&&v(O,A,d(x,A));O.prototype=b,b.constructor=O,s(i,"Number",O)}},function(e,t,r){var n=r(1),i=r(148),a=r(149),o=r(27),s=r(55),u=r(15),c=u("iterator"),f=u("toStringTag"),l=o.values,p=function(e,t){if(e){if(e[c]!==l)try{s(e,c,l)}catch(t){e[c]=l}if(e[f]||s(e,f,t),i[t])for(var r in o)if(e[r]!==o[r])try{s(e,r,o[r])}catch(t){e[r]=o[r]}}};for(var m in i)p(n[m]&&n[m].prototype,m);p(a,"DOMTokenList")},function(e,t){function r(){return e.exports=r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},e.exports.__esModule=!0,e.exports.default=e.exports,r.apply(this,arguments)}e.exports=r,e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t,r){var n;
/**
* @license Complex.js v2.1.1 12/05/2020
*
* Copyright (c) 2020, Robert Eisele (robert@xarg.org)
* Dual licensed under the MIT or GPL Version 2 licenses.
**/!function(r){"use strict";var i=Math.cosh||function(e){return Math.abs(e)<1e-9?1-e:.5*(Math.exp(e)+Math.exp(-e))},a=Math.sinh||function(e){return Math.abs(e)<1e-9?e:.5*(Math.exp(e)-Math.exp(-e))},o=function(){throw SyntaxError("Invalid Param")};function s(e,t){var r=Math.abs(e),n=Math.abs(t);return 0===e?Math.log(n):0===t?Math.log(r):r<3e3&&n<3e3?.5*Math.log(e*e+t*t):(e/=2,t/=2,.5*Math.log(e*e+t*t)+Math.LN2)}function u(e,t){if(!(this instanceof u))return new u(e,t);var r=function(e,t){var r={re:0,im:0};if(null==e)r.re=r.im=0;else if(void 0!==t)r.re=e,r.im=t;else switch(typeof e){case"object":if("im"in e&&"re"in e)r.re=e.re,r.im=e.im;else if("abs"in e&&"arg"in e){if(!Number.isFinite(e.abs)&&Number.isFinite(e.arg))return u.INFINITY;r.re=e.abs*Math.cos(e.arg),r.im=e.abs*Math.sin(e.arg)}else if("r"in e&&"phi"in e){if(!Number.isFinite(e.r)&&Number.isFinite(e.phi))return u.INFINITY;r.re=e.r*Math.cos(e.phi),r.im=e.r*Math.sin(e.phi)}else 2===e.length?(r.re=e[0],r.im=e[1]):o();break;case"string":r.im=r.re=0;var n=e.match(/\d+\.?\d*e[+-]?\d+|\d+\.?\d*|\.\d+|./g),i=1,a=0;null===n&&o();for(var s=0;s<n.length;s++){var c=n[s];" "===c||"\t"===c||"\n"===c||("+"===c?i++:"-"===c?a++:"i"===c||"I"===c?(i+a===0&&o()," "===n[s+1]||isNaN(n[s+1])?r.im+=parseFloat((a%2?"-":"")+"1"):(r.im+=parseFloat((a%2?"-":"")+n[s+1]),s++),i=a=0):((i+a===0||isNaN(c))&&o(),"i"===n[s+1]||"I"===n[s+1]?(r.im+=parseFloat((a%2?"-":"")+c),s++):r.re+=parseFloat((a%2?"-":"")+c),i=a=0))}i+a>0&&o();break;case"number":r.im=0,r.re=e;break;default:o()}return isNaN(r.re)||isNaN(r.im),r}(e,t);this.re=r.re,this.im=r.im}u.prototype={re:0,im:0,sign:function(){var e=this.abs();return new u(this.re/e,this.im/e)},add:function(e,t){var r=new u(e,t);return this.isInfinite()&&r.isInfinite()?u.NAN:this.isInfinite()||r.isInfinite()?u.INFINITY:new u(this.re+r.re,this.im+r.im)},sub:function(e,t){var r=new u(e,t);return this.isInfinite()&&r.isInfinite()?u.NAN:this.isInfinite()||r.isInfinite()?u.INFINITY:new u(this.re-r.re,this.im-r.im)},mul:function(e,t){var r=new u(e,t);return this.isInfinite()&&r.isZero()||this.isZero()&&r.isInfinite()?u.NAN:this.isInfinite()||r.isInfinite()?u.INFINITY:0===r.im&&0===this.im?new u(this.re*r.re,0):new u(this.re*r.re-this.im*r.im,this.re*r.im+this.im*r.re)},div:function(e,t){var r=new u(e,t);if(this.isZero()&&r.isZero()||this.isInfinite()&&r.isInfinite())return u.NAN;if(this.isInfinite()||r.isZero())return u.INFINITY;if(this.isZero()||r.isInfinite())return u.ZERO;e=this.re,t=this.im;var n,i,a=r.re,o=r.im;return 0===o?new u(e/a,t/a):Math.abs(a)<Math.abs(o)?new u((e*(i=a/o)+t)/(n=a*i+o),(t*i-e)/n):new u((e+t*(i=o/a))/(n=o*i+a),(t-e*i)/n)},pow:function(e,t){var r=new u(e,t);if(e=this.re,t=this.im,r.isZero())return u.ONE;if(0===r.im){if(0===t&&e>0)return new u(Math.pow(e,r.re),0);if(0===e)switch((r.re%4+4)%4){case 0:return new u(Math.pow(t,r.re),0);case 1:return new u(0,Math.pow(t,r.re));case 2:return new u(-Math.pow(t,r.re),0);case 3:return new u(0,-Math.pow(t,r.re))}}if(0===e&&0===t&&r.re>0&&r.im>=0)return u.ZERO;var n=Math.atan2(t,e),i=s(e,t);return e=Math.exp(r.re*i-r.im*n),t=r.im*i+r.re*n,new u(e*Math.cos(t),e*Math.sin(t))},sqrt:function(){var e,t,r=this.re,n=this.im,i=this.abs();if(r>=0){if(0===n)return new u(Math.sqrt(r),0);e=.5*Math.sqrt(2*(i+r))}else e=Math.abs(n)/Math.sqrt(2*(i-r));return t=r<=0?.5*Math.sqrt(2*(i-r)):Math.abs(n)/Math.sqrt(2*(i+r)),new u(e,n<0?-t:t)},exp:function(){var e=Math.exp(this.re);return this.im,new u(e*Math.cos(this.im),e*Math.sin(this.im))},expm1:function(){var e=this.re,t=this.im;return new u(Math.expm1(e)*Math.cos(t)+function(e){var t=Math.PI/4;if(-t>e||e>t)return Math.cos(e)-1;var r=e*e;return r*(r*(r*(r*(r*(r*(r*(r/20922789888e3-1/87178291200)+1/479001600)-1/3628800)+1/40320)-1/720)+1/24)-.5)}(t),Math.exp(e)*Math.sin(t))},log:function(){var e=this.re,t=this.im;return new u(s(e,t),Math.atan2(t,e))},abs:function(){return e=this.re,t=this.im,r=Math.abs(e),n=Math.abs(t),r<3e3&&n<3e3?Math.sqrt(r*r+n*n):(r<n?(r=n,n=e/t):n=t/e,r*Math.sqrt(1+n*n));var e,t,r,n},arg:function(){return Math.atan2(this.im,this.re)},sin:function(){var e=this.re,t=this.im;return new u(Math.sin(e)*i(t),Math.cos(e)*a(t))},cos:function(){var e=this.re,t=this.im;return new u(Math.cos(e)*i(t),-Math.sin(e)*a(t))},tan:function(){var e=2*this.re,t=2*this.im,r=Math.cos(e)+i(t);return new u(Math.sin(e)/r,a(t)/r)},cot:function(){var e=2*this.re,t=2*this.im,r=Math.cos(e)-i(t);return new u(-Math.sin(e)/r,a(t)/r)},sec:function(){var e=this.re,t=this.im,r=.5*i(2*t)+.5*Math.cos(2*e);return new u(Math.cos(e)*i(t)/r,Math.sin(e)*a(t)/r)},csc:function(){var e=this.re,t=this.im,r=.5*i(2*t)-.5*Math.cos(2*e);return new u(Math.sin(e)*i(t)/r,-Math.cos(e)*a(t)/r)},asin:function(){var e=this.re,t=this.im,r=new u(t*t-e*e+1,-2*e*t).sqrt(),n=new u(r.re-t,r.im+e).log();return new u(n.im,-n.re)},acos:function(){var e=this.re,t=this.im,r=new u(t*t-e*e+1,-2*e*t).sqrt(),n=new u(r.re-t,r.im+e).log();return new u(Math.PI/2-n.im,n.re)},atan:function(){var e=this.re,t=this.im;if(0===e){if(1===t)return new u(0,1/0);if(-1===t)return new u(0,-1/0)}var r=e*e+(1-t)*(1-t),n=new u((1-t*t-e*e)/r,-2*e/r).log();return new u(-.5*n.im,.5*n.re)},acot:function(){var e=this.re,t=this.im;if(0===t)return new u(Math.atan2(1,e),0);var r=e*e+t*t;return 0!==r?new u(e/r,-t/r).atan():new u(0!==e?e/0:0,0!==t?-t/0:0).atan()},asec:function(){var e=this.re,t=this.im;if(0===e&&0===t)return new u(0,1/0);var r=e*e+t*t;return 0!==r?new u(e/r,-t/r).acos():new u(0!==e?e/0:0,0!==t?-t/0:0).acos()},acsc:function(){var e=this.re,t=this.im;if(0===e&&0===t)return new u(Math.PI/2,1/0);var r=e*e+t*t;return 0!==r?new u(e/r,-t/r).asin():new u(0!==e?e/0:0,0!==t?-t/0:0).asin()},sinh:function(){var e=this.re,t=this.im;return new u(a(e)*Math.cos(t),i(e)*Math.sin(t))},cosh:function(){var e=this.re,t=this.im;return new u(i(e)*Math.cos(t),a(e)*Math.sin(t))},tanh:function(){var e=2*this.re,t=2*this.im,r=i(e)+Math.cos(t);return new u(a(e)/r,Math.sin(t)/r)},coth:function(){var e=2*this.re,t=2*this.im,r=i(e)-Math.cos(t);return new u(a(e)/r,-Math.sin(t)/r)},csch:function(){var e=this.re,t=this.im,r=Math.cos(2*t)-i(2*e);return new u(-2*a(e)*Math.cos(t)/r,2*i(e)*Math.sin(t)/r)},sech:function(){var e=this.re,t=this.im,r=Math.cos(2*t)+i(2*e);return new u(2*i(e)*Math.cos(t)/r,-2*a(e)*Math.sin(t)/r)},asinh:function(){var e=this.im;this.im=-this.re,this.re=e;var t=this.asin();return this.re=-this.im,this.im=e,e=t.re,t.re=-t.im,t.im=e,t},acosh:function(){var e=this.acos();if(e.im<=0){var t=e.re;e.re=-e.im,e.im=t}else{t=e.im;e.im=-e.re,e.re=t}return e},atanh:function(){var e=this.re,t=this.im,r=e>1&&0===t,n=1-e,i=1+e,a=n*n+t*t,o=0!==a?new u((i*n-t*t)/a,(t*n+i*t)/a):new u(-1!==e?e/0:0,0!==t?t/0:0),c=o.re;return o.re=s(o.re,o.im)/2,o.im=Math.atan2(o.im,c)/2,r&&(o.im=-o.im),o},acoth:function(){var e=this.re,t=this.im;if(0===e&&0===t)return new u(0,Math.PI/2);var r=e*e+t*t;return 0!==r?new u(e/r,-t/r).atanh():new u(0!==e?e/0:0,0!==t?-t/0:0).atanh()},acsch:function(){var e=this.re,t=this.im;if(0===t)return new u(0!==e?Math.log(e+Math.sqrt(e*e+1)):1/0,0);var r=e*e+t*t;return 0!==r?new u(e/r,-t/r).asinh():new u(0!==e?e/0:0,0!==t?-t/0:0).asinh()},asech:function(){var e=this.re,t=this.im;if(this.isZero())return u.INFINITY;var r=e*e+t*t;return 0!==r?new u(e/r,-t/r).acosh():new u(0!==e?e/0:0,0!==t?-t/0:0).acosh()},inverse:function(){if(this.isZero())return u.INFINITY;if(this.isInfinite())return u.ZERO;var e=this.re,t=this.im,r=e*e+t*t;return new u(e/r,-t/r)},conjugate:function(){return new u(this.re,-this.im)},neg:function(){return new u(-this.re,-this.im)},ceil:function(e){return e=Math.pow(10,e||0),new u(Math.ceil(this.re*e)/e,Math.ceil(this.im*e)/e)},floor:function(e){return e=Math.pow(10,e||0),new u(Math.floor(this.re*e)/e,Math.floor(this.im*e)/e)},round:function(e){return e=Math.pow(10,e||0),new u(Math.round(this.re*e)/e,Math.round(this.im*e)/e)},equals:function(e,t){var r=new u(e,t);return Math.abs(r.re-this.re)<=u.EPSILON&&Math.abs(r.im-this.im)<=u.EPSILON},clone:function(){return new u(this.re,this.im)},toString:function(){var e=this.re,t=this.im,r="";return this.isNaN()?"NaN":this.isInfinite()?"Infinity":(Math.abs(e)<u.EPSILON&&(e=0),Math.abs(t)<u.EPSILON&&(t=0),0===t?r+e:(0!==e?(r+=e,r+=" ",t<0?(t=-t,r+="-"):r+="+",r+=" "):t<0&&(t=-t,r+="-"),1!==t&&(r+=t),r+"i"))},toVector:function(){return[this.re,this.im]},valueOf:function(){return 0===this.im?this.re:null},isNaN:function(){return isNaN(this.re)||isNaN(this.im)},isZero:function(){return 0===this.im&&0===this.re},isFinite:function(){return isFinite(this.re)&&isFinite(this.im)},isInfinite:function(){return!(this.isNaN()||this.isFinite())}},u.ZERO=new u(0,0),u.ONE=new u(1,0),u.I=new u(0,1),u.PI=new u(Math.PI,0),u.E=new u(Math.E,0),u.INFINITY=new u(1/0,1/0),u.NAN=new u(NaN,NaN),u.EPSILON=1e-15,void 0===(n=function(){return u}.apply(t,[]))||(e.exports=n)}()},function(e,t,r){var n=r(1),i=r(14),a=r(21),o=r(55),s=r(111),u=r(98),c=r(46),f=r(82).CONFIGURABLE,l=c.get,p=c.enforce,m=String(String).split("String");(e.exports=function(e,t,r,u){var c,l=!!u&&!!u.unsafe,h=!!u&&!!u.enumerable,d=!!u&&!!u.noTargetGet,v=u&&void 0!==u.name?u.name:t;i(r)&&("Symbol("===String(v).slice(0,7)&&(v="["+String(v).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),(!a(r,"name")||f&&r.name!==v)&&o(r,"name",v),(c=p(r)).source||(c.source=m.join("string"==typeof v?v:""))),e!==n?(l?!d&&e[t]&&(h=!0):delete e[t],h?e[t]=r:o(e,t,r)):h?e[t]=r:s(t,r)})(Function.prototype,"toString",(function(){return i(this)&&l(this).source||u(this)}))},function(e,t,r){"use strict";var n=r(3),i=r(85).filter;n({target:"Array",proto:!0,forced:!r(86)("filter")},{filter:function(e){return i(this,e,arguments.length>1?arguments[1]:void 0)}})},function(e,t,r){var n=r(1),i=r(49),a=n.Object;e.exports=function(e){return a(i(e))}},function(e,t,r){r(231),r(234),r(235),r(42),r(236)},function(e,t){e.exports=function(){throw new Error("define cannot be used indirect")}},function(e,t,r){var n=r(109),i=r(49);e.exports=function(e){return n(i(e))}},function(e,t,r){var n=r(1),i=r(14),a=function(e){return i(e)?e:void 0};e.exports=function(e,t){return arguments.length<2?a(n[e]):n[e]&&n[e][t]}},function(e,t,r){var n=r(3),i=r(41),a=r(106),o=r(17),s=r(9),u=r(8),c=r(102),f=r(14),l=r(24),p=r(78),m=r(124),h=r(67),d=i("JSON","stringify"),v=s(/./.exec),y=s("".charAt),g=s("".charCodeAt),x=s("".replace),b=s(1..toString),w=/[\uD800-\uDFFF]/g,N=/^[\uD800-\uDBFF]$/,M=/^[\uDC00-\uDFFF]$/,E=!h||u((function(){var e=i("Symbol")();return"[null]"!=d([e])||"{}"!=d({a:e})||"{}"!=d(Object(e))})),S=u((function(){return'"\\udf06\\ud834"'!==d("\udf06\ud834")||'"\\udead"'!==d("\udead")})),A=function(e,t){var r=m(arguments),n=t;if((l(t)||void 0!==e)&&!p(e))return c(t)||(t=function(e,t){if(f(n)&&(t=o(n,this,e,t)),!p(t))return t}),r[1]=t,a(d,null,r)},O=function(e,t,r){var n=y(r,t-1),i=y(r,t+1);return v(N,e)&&!v(M,i)||v(M,e)&&!v(N,n)?"\\u"+b(g(e,0),16):e};d&&n({target:"JSON",stat:!0,forced:E||S},{stringify:function(e,t,r){var n=m(arguments),i=a(E?A:d,null,n);return S&&"string"==typeof i?x(i,w,O):i}})},function(e,t,r){"use strict";var n=r(3),i=r(9),a=r(54),o=r(37),s=r(47),u=r(29),c=r(8),f=r(204),l=r(117),p=r(205),m=r(206),h=r(79),d=r(207),v=[],y=i(v.sort),g=i(v.push),x=c((function(){v.sort(void 0)})),b=c((function(){v.sort(null)})),w=l("sort"),N=!c((function(){if(h)return h<70;if(!(p&&p>3)){if(m)return!0;if(d)return d<603;var e,t,r,n,i="";for(e=65;e<76;e++){switch(t=String.fromCharCode(e),e){case 66:case 69:case 70:case 72:r=3;break;case 68:case 71:r=4;break;default:r=2}for(n=0;n<47;n++)v.push({k:t+n,v:r})}for(v.sort((function(e,t){return t.v-e.v})),n=0;n<v.length;n++)t=v[n].k.charAt(0),i.charAt(i.length-1)!==t&&(i+=t);return"DGBEFHACIJK"!==i}}));n({target:"Array",proto:!0,forced:x||!b||!w||!N},{sort:function(e){void 0!==e&&a(e);var t=o(this);if(N)return void 0===e?y(t):y(t,e);var r,n,i=[],c=s(t);for(n=0;n<c;n++)n in t&&g(i,t[n]);for(f(i,function(e){return function(t,r){return void 0===r?-1:void 0===t?1:void 0!==e?+e(t,r)||0:u(t)>u(r)?1:-1}}(e)),r=i.length,n=0;n<r;)t[n]=i[n++];for(;n<c;)delete t[n++];return t}})},function(e,t,r){"use strict";var n=r(160).charAt,i=r(29),a=r(46),o=r(130),s=a.set,u=a.getterFor("String Iterator");o(String,"String",(function(e){s(this,{type:"String Iterator",string:i(e),index:0})}),(function(){var e,t=u(this),r=t.string,i=t.index;return i>=r.length?{value:void 0,done:!0}:(e=n(r,i),t.index+=e.length,{value:e,done:!1})}))},function(e,t,r){var n=r(9),i=n({}.toString),a=n("".slice);e.exports=function(e){return a(i(e),8,-1)}},function(e,t,r){var n,i,a,o=r(196),s=r(1),u=r(9),c=r(24),f=r(55),l=r(21),p=r(110),m=r(99),h=r(81),d=s.TypeError,v=s.WeakMap;if(o||p.state){var y=p.state||(p.state=new v),g=u(y.get),x=u(y.has),b=u(y.set);n=function(e,t){if(x(y,e))throw new d("Object already initialized");return t.facade=e,b(y,e,t),t},i=function(e){return g(y,e)||{}},a=function(e){return x(y,e)}}else{var w=m("state");h[w]=!0,n=function(e,t){if(l(e,w))throw new d("Object already initialized");return t.facade=e,f(e,w,t),t},i=function(e){return l(e,w)?e[w]:{}},a=function(e){return l(e,w)}}e.exports={set:n,get:i,has:a,enforce:function(e){return a(e)?i(e):n(e,{})},getterFor:function(e){return function(t){var r;if(!c(t)||(r=i(t)).type!==e)throw d("Incompatible receiver, "+e+" required");return r}}}},function(e,t,r){var n=r(100);e.exports=function(e){return n(e.length)}},function(e,t,r){"use strict";r(10);var n,i,a=r(3),o=r(1),s=r(17),u=r(9),c=r(14),f=r(24),l=(n=!1,(i=/[ac]/).exec=function(){return n=!0,/./.exec.apply(this,arguments)},!0===i.test("abc")&&n),p=o.Error,m=u(/./.test);a({target:"RegExp",proto:!0,forced:!l},{test:function(e){var t=this.exec;if(!c(t))return m(this,e);var r=s(t,this,e);if(null!==r&&!f(r))throw new p("RegExp exec method returned something other than an Object or null");return!!r}})},function(e,t,r){var n=r(1).TypeError;e.exports=function(e){if(null==e)throw n("Can't call method on "+e);return e}},function(e,t){e.exports=!1},function(e,t,r){"use strict";var n=r(106),i=r(17),a=r(9),o=r(125),s=r(153),u=r(23),c=r(49),f=r(159),l=r(126),p=r(100),m=r(29),h=r(68),d=r(127),v=r(128),y=r(105),g=r(104),x=r(8),b=g.UNSUPPORTED_Y,w=Math.min,N=[].push,M=a(/./.exec),E=a(N),S=a("".slice);o("split",(function(e,t,r){var a;return a="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(e,r){var a=m(c(this)),o=void 0===r?4294967295:r>>>0;if(0===o)return[];if(void 0===e)return[a];if(!s(e))return i(t,a,e,o);for(var u,f,l,p=[],h=(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.unicode?"u":"")+(e.sticky?"y":""),v=0,g=new RegExp(e.source,h+"g");(u=i(y,g,a))&&!((f=g.lastIndex)>v&&(E(p,S(a,v,u.index)),u.length>1&&u.index<a.length&&n(N,p,d(u,1)),l=u[0].length,v=f,p.length>=o));)g.lastIndex===u.index&&g.lastIndex++;return v===a.length?!l&&M(g,"")||E(p,""):E(p,S(a,v)),p.length>o?d(p,0,o):p}:"0".split(void 0,0).length?function(e,r){return void 0===e&&0===r?[]:i(t,this,e,r)}:t,[function(t,r){var n=c(this),o=null==t?void 0:h(t,e);return o?i(o,t,n,r):i(a,m(n),t,r)},function(e,n){var i=u(this),o=m(e),s=r(a,i,o,n,a!==t);if(s.done)return s.value;var c=f(i,RegExp),h=i.unicode,d=(i.ignoreCase?"i":"")+(i.multiline?"m":"")+(i.unicode?"u":"")+(b?"g":"y"),y=new c(b?"^(?:"+i.source+")":i,d),g=void 0===n?4294967295:n>>>0;if(0===g)return[];if(0===o.length)return null===v(y,o)?[o]:[];for(var x=0,N=0,M=[];N<o.length;){y.lastIndex=b?0:N;var A,O=v(y,b?S(o,N):o);if(null===O||(A=w(p(y.lastIndex+(b?N:0)),o.length))===x)N=l(o,N,h);else{if(E(M,S(o,x,N)),M.length===g)return M;for(var C=1;C<=O.length-1;C++)if(E(M,O[C]),M.length===g)return M;N=x=A}}return E(M,S(o,x)),M}]}),!!x((function(){var e=/(?:)/,t=e.exec;e.exec=function(){return t.apply(this,arguments)};var r="ab".split(e);return 2!==r.length||"a"!==r[0]||"b"!==r[1]})),b)},function(e,t,r){"use strict";var n=r(3),i=r(19),a=r(1),o=r(9),s=r(21),u=r(14),c=r(53),f=r(29),l=r(22).f,p=r(145),m=a.Symbol,h=m&&m.prototype;if(i&&u(m)&&(!("description"in h)||void 0!==m().description)){var d={},v=function(){var e=arguments.length<1||void 0===arguments[0]?void 0:f(arguments[0]),t=c(h,this)?new m(e):void 0===e?m():m(e);return""===e&&(d[t]=!0),t};p(v,m),v.prototype=h,h.constructor=v;var y="Symbol(test)"==String(m("test")),g=o(h.toString),x=o(h.valueOf),b=/^Symbol\((.*)\)[^)]+$/,w=o("".replace),N=o("".slice);l(h,"description",{configurable:!0,get:function(){var e=x(this),t=g(e);if(s(d,e))return"";var r=y?N(t,7,-1):w(t,b,"$1");return""===r?void 0:r}}),n({global:!0,forced:!0},{Symbol:v})}},function(e,t,r){var n=r(9);e.exports=n({}.isPrototypeOf)},function(e,t,r){var n=r(1),i=r(14),a=r(80),o=n.TypeError;e.exports=function(e){if(i(e))return e;throw o(a(e)+" is not a function")}},function(e,t,r){var n=r(19),i=r(22),a=r(77);e.exports=n?function(e,t,r){return i.f(e,t,a(1,r))}:function(e,t,r){return e[t]=r,e}},function(e,t,r){r(180)("iterator")},function(e,t){e.exports=function(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t,r){var n=r(254),i=r(255),a=r(186),o=r(256);e.exports=function(e,t){return n(e)||i(e,t)||a(e,t)||o()},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t,r){e.exports=r(251)},function(e,t,r){var n=r(19),i=r(17),a=r(140),o=r(77),s=r(40),u=r(95),c=r(21),f=r(143),l=Object.getOwnPropertyDescriptor;t.f=n?l:function(e,t){if(e=s(e),t=u(t),f)try{return l(e,t)}catch(e){}if(c(e,t))return o(!i(a.f,e,t),e[t])}},function(e,t,r){var n=r(41);e.exports=n("navigator","userAgent")||""},function(e,t){var r=Math.ceil,n=Math.floor;e.exports=function(e){var t=+e;return t!=t||0===t?0:(t>0?n:r)(t)}},function(e,t,r){var n=r(3),i=r(229);n({target:"Array",stat:!0,forced:!r(133)((function(e){Array.from(e)}))},{from:i})},function(e,t,r){var n;!function(i){"use strict";var a,o,s,u=9e15,c="0123456789abcdef",f="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",l="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",p={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-u,maxE:u,crypto:!1},m=!0,h="[DecimalError] Invalid argument: ",d="[object Decimal]",v=Math.floor,y=Math.pow,g=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,x=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,b=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,w=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,N=1e7,M=f.length-1,E=l.length-1,S={toStringTag:d};function A(e){var t,r,n,i=e.length-1,a="",o=e[0];if(i>0){for(a+=o,t=1;t<i;t++)(r=7-(n=e[t]+"").length)&&(a+=D(r)),a+=n;(r=7-(n=(o=e[t])+"").length)&&(a+=D(r))}else if(0===o)return"0";for(;o%10==0;)o/=10;return a+o}function O(e,t,r){if(e!==~~e||e<t||e>r)throw Error(h+e)}function C(e,t,r,n){var i,a,o,s;for(a=e[0];a>=10;a/=10)--t;return--t<0?(t+=7,i=0):(i=Math.ceil((t+1)/7),t%=7),a=y(10,7-t),s=e[i]%a|0,null==n?t<3?(0==t?s=s/100|0:1==t&&(s=s/10|0),o=r<4&&99999==s||r>3&&49999==s||5e4==s||0==s):o=(r<4&&s+1==a||r>3&&s+1==a/2)&&(e[i+1]/a/100|0)==y(10,t-2)-1||(s==a/2||0==s)&&0==(e[i+1]/a/100|0):t<4?(0==t?s=s/1e3|0:1==t?s=s/100|0:2==t&&(s=s/10|0),o=(n||r<4)&&9999==s||!n&&r>3&&4999==s):o=((n||r<4)&&s+1==a||!n&&r>3&&s+1==a/2)&&(e[i+1]/a/1e3|0)==y(10,t-3)-1,o}function T(e,t,r){for(var n,i,a=[0],o=0,s=e.length;o<s;){for(i=a.length;i--;)a[i]*=t;for(a[0]+=c.indexOf(e.charAt(o++)),n=0;n<a.length;n++)a[n]>r-1&&(void 0===a[n+1]&&(a[n+1]=0),a[n+1]+=a[n]/r|0,a[n]%=r)}return a.reverse()}S.absoluteValue=S.abs=function(){var e=new this.constructor(this);return e.s<0&&(e.s=1),I(e)},S.ceil=function(){return I(new this.constructor(this),this.e+1,2)},S.clampedTo=S.clamp=function(e,t){var r=this,n=r.constructor;if(e=new n(e),t=new n(t),!e.s||!t.s)return new n(NaN);if(e.gt(t))throw Error(h+t);return r.cmp(e)<0?e:r.cmp(t)>0?t:new n(r)},S.comparedTo=S.cmp=function(e){var t,r,n,i,a=this,o=a.d,s=(e=new a.constructor(e)).d,u=a.s,c=e.s;if(!o||!s)return u&&c?u!==c?u:o===s?0:!o^u<0?1:-1:NaN;if(!o[0]||!s[0])return o[0]?u:s[0]?-c:0;if(u!==c)return u;if(a.e!==e.e)return a.e>e.e^u<0?1:-1;for(t=0,r=(n=o.length)<(i=s.length)?n:i;t<r;++t)if(o[t]!==s[t])return o[t]>s[t]^u<0?1:-1;return n===i?0:n>i^u<0?1:-1},S.cosine=S.cos=function(){var e,t,r=this,n=r.constructor;return r.d?r.d[0]?(e=n.precision,t=n.rounding,n.precision=e+Math.max(r.e,r.sd())+7,n.rounding=1,r=function(e,t){var r,n,i;if(t.isZero())return t;(n=t.d.length)<32?(r=Math.ceil(n/3),i=(1/Z(4,r)).toString()):(r=16,i="2.3283064365386962890625e-10");e.precision+=r,t=V(e,1,t.times(i),new e(1));for(var a=r;a--;){var o=t.times(t);t=o.times(o).minus(o).times(8).plus(1)}return e.precision-=r,t}(n,W(n,r)),n.precision=e,n.rounding=t,I(2==s||3==s?r.neg():r,e,t,!0)):new n(1):new n(NaN)},S.cubeRoot=S.cbrt=function(){var e,t,r,n,i,a,o,s,u,c,f=this,l=f.constructor;if(!f.isFinite()||f.isZero())return new l(f);for(m=!1,(a=f.s*y(f.s*f,1/3))&&Math.abs(a)!=1/0?n=new l(a.toString()):(r=A(f.d),(a=((e=f.e)-r.length+1)%3)&&(r+=1==a||-2==a?"0":"00"),a=y(r,1/3),e=v((e+1)/3)-(e%3==(e<0?-1:2)),(n=new l(r=a==1/0?"5e"+e:(r=a.toExponential()).slice(0,r.indexOf("e")+1)+e)).s=f.s),o=(e=l.precision)+3;;)if(c=(u=(s=n).times(s).times(s)).plus(f),n=_(c.plus(f).times(s),c.plus(u),o+2,1),A(s.d).slice(0,o)===(r=A(n.d)).slice(0,o)){if("9999"!=(r=r.slice(o-3,o+1))&&(i||"4999"!=r)){+r&&(+r.slice(1)||"5"!=r.charAt(0))||(I(n,e+1,1),t=!n.times(n).times(n).eq(f));break}if(!i&&(I(s,e+1,0),s.times(s).times(s).eq(f))){n=s;break}o+=4,i=1}return m=!0,I(n,e,l.rounding,t)},S.decimalPlaces=S.dp=function(){var e,t=this.d,r=NaN;if(t){if(r=7*((e=t.length-1)-v(this.e/7)),e=t[e])for(;e%10==0;e/=10)r--;r<0&&(r=0)}return r},S.dividedBy=S.div=function(e){return _(this,new this.constructor(e))},S.dividedToIntegerBy=S.divToInt=function(e){var t=this.constructor;return I(_(this,new t(e),0,1,1),t.precision,t.rounding)},S.equals=S.eq=function(e){return 0===this.cmp(e)},S.floor=function(){return I(new this.constructor(this),this.e+1,3)},S.greaterThan=S.gt=function(e){return this.cmp(e)>0},S.greaterThanOrEqualTo=S.gte=function(e){var t=this.cmp(e);return 1==t||0===t},S.hyperbolicCosine=S.cosh=function(){var e,t,r,n,i,a=this,o=a.constructor,s=new o(1);if(!a.isFinite())return new o(a.s?1/0:NaN);if(a.isZero())return s;r=o.precision,n=o.rounding,o.precision=r+Math.max(a.e,a.sd())+4,o.rounding=1,(i=a.d.length)<32?t=(1/Z(4,e=Math.ceil(i/3))).toString():(e=16,t="2.3283064365386962890625e-10"),a=V(o,1,a.times(t),new o(1),!0);for(var u,c=e,f=new o(8);c--;)u=a.times(a),a=s.minus(u.times(f.minus(u.times(f))));return I(a,o.precision=r,o.rounding=n,!0)},S.hyperbolicSine=S.sinh=function(){var e,t,r,n,i=this,a=i.constructor;if(!i.isFinite()||i.isZero())return new a(i);if(t=a.precision,r=a.rounding,a.precision=t+Math.max(i.e,i.sd())+4,a.rounding=1,(n=i.d.length)<3)i=V(a,2,i,i,!0);else{e=(e=1.4*Math.sqrt(n))>16?16:0|e,i=V(a,2,i=i.times(1/Z(5,e)),i,!0);for(var o,s=new a(5),u=new a(16),c=new a(20);e--;)o=i.times(i),i=i.times(s.plus(o.times(u.times(o).plus(c))))}return a.precision=t,a.rounding=r,I(i,t,r,!0)},S.hyperbolicTangent=S.tanh=function(){var e,t,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+7,n.rounding=1,_(r.sinh(),r.cosh(),n.precision=e,n.rounding=t)):new n(r.s)},S.inverseCosine=S.acos=function(){var e,t=this,r=t.constructor,n=t.abs().cmp(1),i=r.precision,a=r.rounding;return-1!==n?0===n?t.isNeg()?q(r,i,a):new r(0):new r(NaN):t.isZero()?q(r,i+4,a).times(.5):(r.precision=i+6,r.rounding=1,t=t.asin(),e=q(r,i+4,a).times(.5),r.precision=i,r.rounding=a,e.minus(t))},S.inverseHyperbolicCosine=S.acosh=function(){var e,t,r=this,n=r.constructor;return r.lte(1)?new n(r.eq(1)?0:NaN):r.isFinite()?(e=n.precision,t=n.rounding,n.precision=e+Math.max(Math.abs(r.e),r.sd())+4,n.rounding=1,m=!1,r=r.times(r).minus(1).sqrt().plus(r),m=!0,n.precision=e,n.rounding=t,r.ln()):new n(r)},S.inverseHyperbolicSine=S.asinh=function(){var e,t,r=this,n=r.constructor;return!r.isFinite()||r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+2*Math.max(Math.abs(r.e),r.sd())+6,n.rounding=1,m=!1,r=r.times(r).plus(1).sqrt().plus(r),m=!0,n.precision=e,n.rounding=t,r.ln())},S.inverseHyperbolicTangent=S.atanh=function(){var e,t,r,n,i=this,a=i.constructor;return i.isFinite()?i.e>=0?new a(i.abs().eq(1)?i.s/0:i.isZero()?i:NaN):(e=a.precision,t=a.rounding,n=i.sd(),Math.max(n,e)<2*-i.e-1?I(new a(i),e,t,!0):(a.precision=r=n-i.e,i=_(i.plus(1),new a(1).minus(i),r+e,1),a.precision=e+4,a.rounding=1,i=i.ln(),a.precision=e,a.rounding=t,i.times(.5))):new a(NaN)},S.inverseSine=S.asin=function(){var e,t,r,n,i=this,a=i.constructor;return i.isZero()?new a(i):(t=i.abs().cmp(1),r=a.precision,n=a.rounding,-1!==t?0===t?((e=q(a,r+4,n).times(.5)).s=i.s,e):new a(NaN):(a.precision=r+6,a.rounding=1,i=i.div(new a(1).minus(i.times(i)).sqrt().plus(1)).atan(),a.precision=r,a.rounding=n,i.times(2)))},S.inverseTangent=S.atan=function(){var e,t,r,n,i,a,o,s,u,c=this,f=c.constructor,l=f.precision,p=f.rounding;if(c.isFinite()){if(c.isZero())return new f(c);if(c.abs().eq(1)&&l+4<=E)return(o=q(f,l+4,p).times(.25)).s=c.s,o}else{if(!c.s)return new f(NaN);if(l+4<=E)return(o=q(f,l+4,p).times(.5)).s=c.s,o}for(f.precision=s=l+10,f.rounding=1,e=r=Math.min(28,s/7+2|0);e;--e)c=c.div(c.times(c).plus(1).sqrt().plus(1));for(m=!1,t=Math.ceil(s/7),n=1,u=c.times(c),o=new f(c),i=c;-1!==e;)if(i=i.times(u),a=o.minus(i.div(n+=2)),i=i.times(u),void 0!==(o=a.plus(i.div(n+=2))).d[t])for(e=t;o.d[e]===a.d[e]&&e--;);return r&&(o=o.times(2<<r-1)),m=!0,I(o,f.precision=l,f.rounding=p,!0)},S.isFinite=function(){return!!this.d},S.isInteger=S.isInt=function(){return!!this.d&&v(this.e/7)>this.d.length-2},S.isNaN=function(){return!this.s},S.isNegative=S.isNeg=function(){return this.s<0},S.isPositive=S.isPos=function(){return this.s>0},S.isZero=function(){return!!this.d&&0===this.d[0]},S.lessThan=S.lt=function(e){return this.cmp(e)<0},S.lessThanOrEqualTo=S.lte=function(e){return this.cmp(e)<1},S.logarithm=S.log=function(e){var t,r,n,i,a,o,s,u,c=this.constructor,f=c.precision,l=c.rounding;if(null==e)e=new c(10),t=!0;else{if(r=(e=new c(e)).d,e.s<0||!r||!r[0]||e.eq(1))return new c(NaN);t=e.eq(10)}if(r=this.d,this.s<0||!r||!r[0]||this.eq(1))return new c(r&&!r[0]?-1/0:1!=this.s?NaN:r?0:1/0);if(t)if(r.length>1)a=!0;else{for(i=r[0];i%10==0;)i/=10;a=1!==i}if(m=!1,o=L(this,s=f+5),n=t?R(c,s+10):L(e,s),C((u=_(o,n,s,1)).d,i=f,l))do{if(o=L(this,s+=10),n=t?R(c,s+10):L(e,s),u=_(o,n,s,1),!a){+A(u.d).slice(i+1,i+15)+1==1e14&&(u=I(u,f+1,0));break}}while(C(u.d,i+=10,l));return m=!0,I(u,f,l)},S.minus=S.sub=function(e){var t,r,n,i,a,o,s,u,c,f,l,p,h=this,d=h.constructor;if(e=new d(e),!h.d||!e.d)return h.s&&e.s?h.d?e.s=-e.s:e=new d(e.d||h.s!==e.s?h:NaN):e=new d(NaN),e;if(h.s!=e.s)return e.s=-e.s,h.plus(e);if(c=h.d,p=e.d,s=d.precision,u=d.rounding,!c[0]||!p[0]){if(p[0])e.s=-e.s;else{if(!c[0])return new d(3===u?-0:0);e=new d(h)}return m?I(e,s,u):e}if(r=v(e.e/7),f=v(h.e/7),c=c.slice(),a=f-r){for((l=a<0)?(t=c,a=-a,o=p.length):(t=p,r=f,o=c.length),a>(n=Math.max(Math.ceil(s/7),o)+2)&&(a=n,t.length=1),t.reverse(),n=a;n--;)t.push(0);t.reverse()}else{for((l=(n=c.length)<(o=p.length))&&(o=n),n=0;n<o;n++)if(c[n]!=p[n]){l=c[n]<p[n];break}a=0}for(l&&(t=c,c=p,p=t,e.s=-e.s),o=c.length,n=p.length-o;n>0;--n)c[o++]=0;for(n=p.length;n>a;){if(c[--n]<p[n]){for(i=n;i&&0===c[--i];)c[i]=N-1;--c[i],c[n]+=N}c[n]-=p[n]}for(;0===c[--o];)c.pop();for(;0===c[0];c.shift())--r;return c[0]?(e.d=c,e.e=z(c,r),m?I(e,s,u):e):new d(3===u?-0:0)},S.modulo=S.mod=function(e){var t,r=this,n=r.constructor;return e=new n(e),!r.d||!e.s||e.d&&!e.d[0]?new n(NaN):!e.d||r.d&&!r.d[0]?I(new n(r),n.precision,n.rounding):(m=!1,9==n.modulo?(t=_(r,e.abs(),0,3,1)).s*=e.s:t=_(r,e,0,n.modulo,1),t=t.times(e),m=!0,r.minus(t))},S.naturalExponential=S.exp=function(){return U(this)},S.naturalLogarithm=S.ln=function(){return L(this)},S.negated=S.neg=function(){var e=new this.constructor(this);return e.s=-e.s,I(e)},S.plus=S.add=function(e){var t,r,n,i,a,o,s,u,c,f,l=this,p=l.constructor;if(e=new p(e),!l.d||!e.d)return l.s&&e.s?l.d||(e=new p(e.d||l.s===e.s?l:NaN)):e=new p(NaN),e;if(l.s!=e.s)return e.s=-e.s,l.minus(e);if(c=l.d,f=e.d,s=p.precision,u=p.rounding,!c[0]||!f[0])return f[0]||(e=new p(l)),m?I(e,s,u):e;if(a=v(l.e/7),n=v(e.e/7),c=c.slice(),i=a-n){for(i<0?(r=c,i=-i,o=f.length):(r=f,n=a,o=c.length),i>(o=(a=Math.ceil(s/7))>o?a+1:o+1)&&(i=o,r.length=1),r.reverse();i--;)r.push(0);r.reverse()}for((o=c.length)-(i=f.length)<0&&(i=o,r=f,f=c,c=r),t=0;i;)t=(c[--i]=c[i]+f[i]+t)/N|0,c[i]%=N;for(t&&(c.unshift(t),++n),o=c.length;0==c[--o];)c.pop();return e.d=c,e.e=z(c,n),m?I(e,s,u):e},S.precision=S.sd=function(e){var t,r=this;if(void 0!==e&&e!==!!e&&1!==e&&0!==e)throw Error(h+e);return r.d?(t=B(r.d),e&&r.e+1>t&&(t=r.e+1)):t=NaN,t},S.round=function(){var e=this,t=e.constructor;return I(new t(e),e.e+1,t.rounding)},S.sine=S.sin=function(){var e,t,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+Math.max(r.e,r.sd())+7,n.rounding=1,r=function(e,t){var r,n=t.d.length;if(n<3)return t.isZero()?t:V(e,2,t,t);r=(r=1.4*Math.sqrt(n))>16?16:0|r,t=t.times(1/Z(5,r)),t=V(e,2,t,t);for(var i,a=new e(5),o=new e(16),s=new e(20);r--;)i=t.times(t),t=t.times(a.plus(i.times(o.times(i).minus(s))));return t}(n,W(n,r)),n.precision=e,n.rounding=t,I(s>2?r.neg():r,e,t,!0)):new n(NaN)},S.squareRoot=S.sqrt=function(){var e,t,r,n,i,a,o=this,s=o.d,u=o.e,c=o.s,f=o.constructor;if(1!==c||!s||!s[0])return new f(!c||c<0&&(!s||s[0])?NaN:s?o:1/0);for(m=!1,0==(c=Math.sqrt(+o))||c==1/0?(((t=A(s)).length+u)%2==0&&(t+="0"),c=Math.sqrt(t),u=v((u+1)/2)-(u<0||u%2),n=new f(t=c==1/0?"5e"+u:(t=c.toExponential()).slice(0,t.indexOf("e")+1)+u)):n=new f(c.toString()),r=(u=f.precision)+3;;)if(n=(a=n).plus(_(o,a,r+2,1)).times(.5),A(a.d).slice(0,r)===(t=A(n.d)).slice(0,r)){if("9999"!=(t=t.slice(r-3,r+1))&&(i||"4999"!=t)){+t&&(+t.slice(1)||"5"!=t.charAt(0))||(I(n,u+1,1),e=!n.times(n).eq(o));break}if(!i&&(I(a,u+1,0),a.times(a).eq(o))){n=a;break}r+=4,i=1}return m=!0,I(n,u,f.rounding,e)},S.tangent=S.tan=function(){var e,t,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+10,n.rounding=1,(r=r.sin()).s=1,r=_(r,new n(1).minus(r.times(r)).sqrt(),e+10,0),n.precision=e,n.rounding=t,I(2==s||4==s?r.neg():r,e,t,!0)):new n(NaN)},S.times=S.mul=function(e){var t,r,n,i,a,o,s,u,c,f=this,l=f.constructor,p=f.d,h=(e=new l(e)).d;if(e.s*=f.s,!(p&&p[0]&&h&&h[0]))return new l(!e.s||p&&!p[0]&&!h||h&&!h[0]&&!p?NaN:p&&h?0*e.s:e.s/0);for(r=v(f.e/7)+v(e.e/7),(u=p.length)<(c=h.length)&&(a=p,p=h,h=a,o=u,u=c,c=o),a=[],n=o=u+c;n--;)a.push(0);for(n=c;--n>=0;){for(t=0,i=u+n;i>n;)s=a[i]+h[n]*p[i-n-1]+t,a[i--]=s%N|0,t=s/N|0;a[i]=(a[i]+t)%N|0}for(;!a[--o];)a.pop();return t?++r:a.shift(),e.d=a,e.e=z(a,r),m?I(e,l.precision,l.rounding):e},S.toBinary=function(e,t){return Y(this,2,e,t)},S.toDecimalPlaces=S.toDP=function(e,t){var r=this,n=r.constructor;return r=new n(r),void 0===e?r:(O(e,0,1e9),void 0===t?t=n.rounding:O(t,0,8),I(r,e+r.e+1,t))},S.toExponential=function(e,t){var r,n=this,i=n.constructor;return void 0===e?r=k(n,!0):(O(e,0,1e9),void 0===t?t=i.rounding:O(t,0,8),r=k(n=I(new i(n),e+1,t),!0,e+1)),n.isNeg()&&!n.isZero()?"-"+r:r},S.toFixed=function(e,t){var r,n,i=this,a=i.constructor;return void 0===e?r=k(i):(O(e,0,1e9),void 0===t?t=a.rounding:O(t,0,8),r=k(n=I(new a(i),e+i.e+1,t),!1,e+n.e+1)),i.isNeg()&&!i.isZero()?"-"+r:r},S.toFraction=function(e){var t,r,n,i,a,o,s,u,c,f,l,p,d=this,v=d.d,g=d.constructor;if(!v)return new g(d);if(c=r=new g(1),n=u=new g(0),o=(a=(t=new g(n)).e=B(v)-d.e-1)%7,t.d[0]=y(10,o<0?7+o:o),null==e)e=a>0?t:c;else{if(!(s=new g(e)).isInt()||s.lt(c))throw Error(h+s);e=s.gt(t)?a>0?t:c:s}for(m=!1,s=new g(A(v)),f=g.precision,g.precision=a=7*v.length*2;l=_(s,t,0,1,1),1!=(i=r.plus(l.times(n))).cmp(e);)r=n,n=i,i=c,c=u.plus(l.times(i)),u=i,i=t,t=s.minus(l.times(i)),s=i;return i=_(e.minus(r),n,0,1,1),u=u.plus(i.times(c)),r=r.plus(i.times(n)),u.s=c.s=d.s,p=_(c,n,a,1).minus(d).abs().cmp(_(u,r,a,1).minus(d).abs())<1?[c,n]:[u,r],g.precision=f,m=!0,p},S.toHexadecimal=S.toHex=function(e,t){return Y(this,16,e,t)},S.toNearest=function(e,t){var r=this,n=r.constructor;if(r=new n(r),null==e){if(!r.d)return r;e=new n(1),t=n.rounding}else{if(e=new n(e),void 0===t?t=n.rounding:O(t,0,8),!r.d)return e.s?r:e;if(!e.d)return e.s&&(e.s=r.s),e}return e.d[0]?(m=!1,r=_(r,e,0,t,1).times(e),m=!0,I(r)):(e.s=r.s,r=e),r},S.toNumber=function(){return+this},S.toOctal=function(e,t){return Y(this,8,e,t)},S.toPower=S.pow=function(e){var t,r,n,i,a,o,s=this,u=s.constructor,c=+(e=new u(e));if(!(s.d&&e.d&&s.d[0]&&e.d[0]))return new u(y(+s,c));if((s=new u(s)).eq(1))return s;if(n=u.precision,a=u.rounding,e.eq(1))return I(s,n,a);if((t=v(e.e/7))>=e.d.length-1&&(r=c<0?-c:c)<=9007199254740991)return i=j(u,s,r,n),e.s<0?new u(1).div(i):I(i,n,a);if((o=s.s)<0){if(t<e.d.length-1)return new u(NaN);if(0==(1&e.d[t])&&(o=1),0==s.e&&1==s.d[0]&&1==s.d.length)return s.s=o,s}return(t=0!=(r=y(+s,c))&&isFinite(r)?new u(r+"").e:v(c*(Math.log("0."+A(s.d))/Math.LN10+s.e+1)))>u.maxE+1||t<u.minE-1?new u(t>0?o/0:0):(m=!1,u.rounding=s.s=1,r=Math.min(12,(t+"").length),(i=U(e.times(L(s,n+r)),n)).d&&C((i=I(i,n+5,1)).d,n,a)&&(t=n+10,+A((i=I(U(e.times(L(s,t+r)),t),t+5,1)).d).slice(n+1,n+15)+1==1e14&&(i=I(i,n+1,0))),i.s=o,m=!0,u.rounding=a,I(i,n,a))},S.toPrecision=function(e,t){var r,n=this,i=n.constructor;return void 0===e?r=k(n,n.e<=i.toExpNeg||n.e>=i.toExpPos):(O(e,1,1e9),void 0===t?t=i.rounding:O(t,0,8),r=k(n=I(new i(n),e,t),e<=n.e||n.e<=i.toExpNeg,e)),n.isNeg()&&!n.isZero()?"-"+r:r},S.toSignificantDigits=S.toSD=function(e,t){var r=this.constructor;return void 0===e?(e=r.precision,t=r.rounding):(O(e,1,1e9),void 0===t?t=r.rounding:O(t,0,8)),I(new r(this),e,t)},S.toString=function(){var e=this,t=e.constructor,r=k(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()&&!e.isZero()?"-"+r:r},S.truncated=S.trunc=function(){return I(new this.constructor(this),this.e+1,1)},S.valueOf=S.toJSON=function(){var e=this,t=e.constructor,r=k(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()?"-"+r:r};var _=function(){function e(e,t,r){var n,i=0,a=e.length;for(e=e.slice();a--;)n=e[a]*t+i,e[a]=n%r|0,i=n/r|0;return i&&e.unshift(i),e}function t(e,t,r,n){var i,a;if(r!=n)a=r>n?1:-1;else for(i=a=0;i<r;i++)if(e[i]!=t[i]){a=e[i]>t[i]?1:-1;break}return a}function r(e,t,r,n){for(var i=0;r--;)e[r]-=i,i=e[r]<t[r]?1:0,e[r]=i*n+e[r]-t[r];for(;!e[0]&&e.length>1;)e.shift()}return function(n,i,a,s,u,c){var f,l,p,m,h,d,y,g,x,b,w,M,E,S,A,O,C,T,_,k,z=n.constructor,R=n.s==i.s?1:-1,q=n.d,B=i.d;if(!(q&&q[0]&&B&&B[0]))return new z(n.s&&i.s&&(q?!B||q[0]!=B[0]:B)?q&&0==q[0]||!B?0*R:R/0:NaN);for(c?(h=1,l=n.e-i.e):(c=N,h=7,l=v(n.e/h)-v(i.e/h)),_=B.length,C=q.length,b=(x=new z(R)).d=[],p=0;B[p]==(q[p]||0);p++);if(B[p]>(q[p]||0)&&l--,null==a?(S=a=z.precision,s=z.rounding):S=u?a+(n.e-i.e)+1:a,S<0)b.push(1),d=!0;else{if(S=S/h+2|0,p=0,1==_){for(m=0,B=B[0],S++;(p<C||m)&&S--;p++)A=m*c+(q[p]||0),b[p]=A/B|0,m=A%B|0;d=m||p<C}else{for((m=c/(B[0]+1)|0)>1&&(B=e(B,m,c),q=e(q,m,c),_=B.length,C=q.length),O=_,M=(w=q.slice(0,_)).length;M<_;)w[M++]=0;(k=B.slice()).unshift(0),T=B[0],B[1]>=c/2&&++T;do{m=0,(f=t(B,w,_,M))<0?(E=w[0],_!=M&&(E=E*c+(w[1]||0)),(m=E/T|0)>1?(m>=c&&(m=c-1),1==(f=t(y=e(B,m,c),w,g=y.length,M=w.length))&&(m--,r(y,_<g?k:B,g,c))):(0==m&&(f=m=1),y=B.slice()),(g=y.length)<M&&y.unshift(0),r(w,y,M,c),-1==f&&(f=t(B,w,_,M=w.length))<1&&(m++,r(w,_<M?k:B,M,c)),M=w.length):0===f&&(m++,w=[0]),b[p++]=m,f&&w[0]?w[M++]=q[O]||0:(w=[q[O]],M=1)}while((O++<C||void 0!==w[0])&&S--);d=void 0!==w[0]}b[0]||b.shift()}if(1==h)x.e=l,o=d;else{for(p=1,m=b[0];m>=10;m/=10)p++;x.e=p+l*h-1,I(x,u?a+x.e+1:a,s,d)}return x}}();function I(e,t,r,n){var i,a,o,s,u,c,f,l,p,h=e.constructor;e:if(null!=t){if(!(l=e.d))return e;for(i=1,s=l[0];s>=10;s/=10)i++;if((a=t-i)<0)a+=7,o=t,u=(f=l[p=0])/y(10,i-o-1)%10|0;else if((p=Math.ceil((a+1)/7))>=(s=l.length)){if(!n)break e;for(;s++<=p;)l.push(0);f=u=0,i=1,o=(a%=7)-7+1}else{for(f=s=l[p],i=1;s>=10;s/=10)i++;u=(o=(a%=7)-7+i)<0?0:f/y(10,i-o-1)%10|0}if(n=n||t<0||void 0!==l[p+1]||(o<0?f:f%y(10,i-o-1)),c=r<4?(u||n)&&(0==r||r==(e.s<0?3:2)):u>5||5==u&&(4==r||n||6==r&&(a>0?o>0?f/y(10,i-o):0:l[p-1])%10&1||r==(e.s<0?8:7)),t<1||!l[0])return l.length=0,c?(t-=e.e+1,l[0]=y(10,(7-t%7)%