From 89679cb09fd8276117caffe4511c4aab7aed5192 Mon Sep 17 00:00:00 2001 From: josdejong Date: Tue, 12 Mar 2013 21:28:16 +0100 Subject: [PATCH] More tweaks on smoothly loading the background --- _layouts/default.html | 7 ------- css/img/bright_squares.jpg | Bin 43805 -> 0 bytes css/img/bright_squares_interlaced.png | Bin 0 -> 42519 bytes css/mathjs.css | 2 +- js/lib/math.js | 4 ---- js/lib/math.min.js | 2 +- 6 files changed, 2 insertions(+), 13 deletions(-) delete mode 100644 css/img/bright_squares.jpg create mode 100644 css/img/bright_squares_interlaced.png diff --git a/_layouts/default.html b/_layouts/default.html index 726f0e6f1..5d606f466 100644 --- a/_layouts/default.html +++ b/_layouts/default.html @@ -12,13 +12,6 @@ - diff --git a/css/img/bright_squares.jpg b/css/img/bright_squares.jpg deleted file mode 100644 index 088699c9f394810b90a862b47d4fae9b0f8eea4d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43805 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 diff --git a/css/img/bright_squares_interlaced.png b/css/img/bright_squares_interlaced.png new file mode 100644 index 0000000000000000000000000000000000000000..5d84c3b942a46eafa3bc35a518824f880815fa81 GIT binary patch literal 42519 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 i=[],a=1;arguments.length>a;a++)i.push(c(arguments[a]));n="Function "+e+" does not support a parameters of type "+i.join(", ")}else n="Unsupported parameter in function "+e;return new TypeError(n)}function s(e,t,n,r){var i="Wrong number of arguments in function "+e+" ("+t+" provided, "+n+(void 0!=r?"-"+r:"")+" expected)";return new SyntaxError(i)}function o(e,n){var r;if(t(e)){if("undefined"==typeof require)throw Error("Cannot load file: require not available.");var i=require(e);o(i)}else if(f(e)){if(r=e.name,!r)throw Error("Cannot import an unnamed function");(n||void 0===dt[r])&&(dt[r]=e)}else if(e instanceof Object)for(r in e)if(e.hasOwnProperty(r)){var a=e[r];f(a)?(n||void 0===dt[r])&&(dt[r]=a):o(a)}}function f(r){return"function"==typeof r||n(r)||t(r)||r instanceof i||r instanceof e}function u(e){if(1!=arguments.length)throw s("help",arguments.length,1);if(void 0!=e){if(e.doc)return h(e.doc);if(e.constructor.doc)return h(e.constructor.doc);if(t(e)){var n=dt[e];if(n&&n.doc)return h(n.doc)}}return e instanceof Object&&e.name?'No documentation found on subject "'+e.name+'"':e instanceof Object&&e.constructor.name?'No documentation found on subject "'+e.constructor.name+'"':'No documentation found on subject "'+e+'"'}function h(e){var t="";if(e.name&&(t+="NAME\n"+e.name+"\n\n"),e.category&&(t+="CATEGORY\n"+e.category+"\n\n"),e.syntax&&(t+="SYNTAX\n"+e.syntax.join("\n")+"\n\n"),e.examples){t+="EXAMPLES\n";for(var n=0;e.examples.length>n;n++)t+=e.examples[n]+"\n";t+="\n"}return e.seealso&&(t+="SEE ALSO\n"+e.seealso.join(", ")+"\n"),t}function c(e){if(1!=arguments.length)throw s("typeof",arguments.length,1);var t=typeof e;if("object"==t){if(null==e)return"null";if(e.constructor){for(var n in dt)if(dt.hasOwnProperty(n)&&e.constructor==dt[n])return n.toLowerCase();if(e.constructor.name)return e.constructor.name.toLowerCase()}}return t}function l(){if(0==arguments.length)throw Error("Function sum requires one or more parameters (0 provided)");if(1==arguments.length&&arguments[0]instanceof Array)return l.apply(this,arguments[0]);for(var e=arguments[0],t=1,n=arguments.length;n>t;t++){var r=arguments[t];W(r,e)&&(e=r)}return e}function p(){if(0==arguments.length)throw Error("Function sum requires one or more parameters (0 provided)");if(1==arguments.length&&arguments[0]instanceof Array)return p.apply(this,arguments[0]);for(var e=arguments[0],t=1,n=arguments.length;n>t;t++){var r=arguments[t];j(r,e)&&(e=r)}return e}function m(t,n){if(2!=arguments.length)throw s("in",arguments.length,2);if(t instanceof e){if(n.hasValue)throw Error("Cannot convert to a unit with a value");if(!n.hasUnit)throw Error("Unit expected on the right hand side of function in");var r=n.copy();return r.value=t.value,r.fixPrefix=!0,r}throw a("in",t)}function d(t){if(1!=arguments.length)throw s("sin",arguments.length,1);if(n(t))return Math.sin(t);if(t instanceof i)return new i(.5*Math.sin(t.re)*(Math.exp(-t.im)+Math.exp(t.im)),.5*Math.cos(t.re)*(Math.exp(t.im)-Math.exp(-t.im)));if(t instanceof e){if(!t.hasBase(e.BASE_UNITS.ANGLE))throw new TypeError("Unit in function cos is no angle");return Math.sin(t.value)}if(t instanceof Array)return gt.map(t,d);throw a("sin",t)}function g(e,t){if(2!=arguments.length)throw s("atan2",arguments.length,2);if(n(e)){if(n(t))return Math.atan2(e,t);if(t instanceof i)return Math.atan2(e,t.re)}else if(e instanceof i){if(n(t))return Math.atan2(e.re,t);if(t instanceof i)return Math.atan2(e.re,t.re)}throw a("atan2",e,t)}function v(e){if(1!=arguments.length)throw s("asin",arguments.length,1);if(n(e))return e>=-1&&1>=e?Math.asin(e):v(new i(e,0));if(e instanceof i){var t=e.re,r=e.im,o=new i(r*r-t*t+1,-2*t*r),f=F(o),u=new i(f.re-r,f.im+t),h=Z(u);return new i(h.im,-h.re)}if(e instanceof Array)return gt.map(e,v);throw a("asin",e)}function x(e){if(1!=arguments.length)throw s("atan",arguments.length,1);if(n(e))return Math.atan(e);if(e instanceof i){var t=e.re,r=e.im,o=t*t+(1-r)*(1-r),f=new i((1-r*r-t*t)/o,-2*t/o),u=Z(f);return new i(-.5*u.im,.5*u.re)}if(e instanceof Array)return gt.map(e,x);throw a("atan",e)}function y(t){if(1!=arguments.length)throw s("csc",arguments.length,1);if(n(t))return 1/Math.sin(t);if(t instanceof i){var r=.25*(Math.exp(-2*t.im)+Math.exp(2*t.im))-.5*Math.cos(2*t.re);return new i(.5*Math.sin(t.re)*(Math.exp(-t.im)+Math.exp(t.im))/r,.5*Math.cos(t.re)*(Math.exp(-t.im)-Math.exp(t.im))/r)}if(t instanceof e){if(!t.hasBase(e.BASE_UNITS.ANGLE))throw new TypeError("Unit in function csc is no angle");return 1/Math.sin(t.value)}if(t instanceof Array)return gt.map(t,y);throw a("csc",t)}function N(t){if(1!=arguments.length)throw s("cos",arguments.length,1);if(n(t))return Math.cos(t);if(t instanceof i)return new i(.5*Math.cos(t.re)*(Math.exp(-t.im)+Math.exp(t.im)),.5*Math.sin(t.re)*(Math.exp(-t.im)-Math.exp(t.im)));if(t instanceof e){if(!t.hasBase(e.BASE_UNITS.ANGLE))throw new TypeError("Unit in function cos is no angle");return Math.cos(t.value)}if(t instanceof Array)return gt.map(t,N);throw a("cos",t)}function E(t){if(1!=arguments.length)throw s("cot",arguments.length,1);if(n(t))return 1/Math.tan(t);if(t instanceof i){var r=Math.exp(-4*t.im)-2*Math.exp(-2*t.im)*Math.cos(2*t.re)+1;return new i(2*Math.exp(-2*t.im)*Math.sin(2*t.re)/r,(Math.exp(-4*t.im)-1)/r)}if(t instanceof e){if(!t.hasBase(e.BASE_UNITS.ANGLE))throw new TypeError("Unit in function cot is no angle");return 1/Math.tan(t.value)}if(t instanceof Array)return gt.map(t,E);throw a("cot",t)}function w(t){if(1!=arguments.length)throw s("sec",arguments.length,1);if(n(t))return 1/Math.cos(t);if(t instanceof i){var r=.25*(Math.exp(-2*t.im)+Math.exp(2*t.im))+.5*Math.cos(2*t.re);return new i(.5*Math.cos(t.re)*(Math.exp(-t.im)+Math.exp(t.im))/r,.5*Math.sin(t.re)*(Math.exp(t.im)-Math.exp(-t.im))/r)}if(t instanceof e){if(!t.hasBase(e.BASE_UNITS.ANGLE))throw new TypeError("Unit in function sec is no angle");return 1/Math.cos(t.value)}if(t instanceof Array)return gt.map(t,w);throw a("sec",t)}function b(t){if(1!=arguments.length)throw s("tan",arguments.length,1);if(n(t))return Math.tan(t);if(t instanceof i){var r=Math.exp(-4*t.im)+2*Math.exp(-2*t.im)*Math.cos(2*t.re)+1;return new i(2*Math.exp(-2*t.im)*Math.sin(2*t.re)/r,(1-Math.exp(-4*t.im))/r)}if(t instanceof e){if(!t.hasBase(e.BASE_UNITS.ANGLE))throw new TypeError("Unit in function tan is no angle");return Math.tan(t.value)}if(t instanceof Array)return gt.map(t,b);throw a("tan",t)}function M(e){if(1!=arguments.length)throw s("acos",arguments.length,1);if(n(e))return e>=-1&&1>=e?Math.acos(e):M(new i(e,0));if(e instanceof i){var t=new i(e.im*e.im-e.re*e.re+1,-2*e.re*e.im),r=F(t),o=new i(r.re-e.im,r.im+e.re),f=Z(o);return new i(1.5707963267948966-f.im,f.re)}if(e instanceof Array)return gt.map(e,M);throw a("acos",e)}function O(e){if(1!=arguments.length)throw s("arg",arguments.length,1);if(n(e))return Math.atan2(0,e);if(e instanceof i)return Math.atan2(e.im,e.re);if(e instanceof Array)return gt.map(e,O);throw a("arg",e)}function T(e){if(1!=arguments.length)throw s("conj",arguments.length,1);if(n(e))return e;if(e instanceof i)return new i(e.re,-e.im);if(e instanceof Array)return gt.map(e,T);throw a("conj",e)}function S(e){if(1!=arguments.length)throw s("im",arguments.length,1);if(n(e))return 0;if(e instanceof i)return e.im;if(e instanceof Array)return gt.map(e,S);throw a("im",e)}function k(e){if(1!=arguments.length)throw s("re",arguments.length,1);if(n(e))return e;if(e instanceof i)return e.re;if(e instanceof Array)return gt.map(e,k);throw a("re",e)}function _(e){if(1!=arguments.length)throw s("cube",arguments.length,1);if(n(e))return e*e*e;if(e instanceof i)return tt(tt(e,e),e);throw a("cube",e)}function A(t,r){if(2!=arguments.length)throw s("divide",arguments.length,2);if(n(t)){if(n(r))return t/r;if(r instanceof i)return U(new i(t,0),r)}else if(t instanceof i){if(n(r))return U(t,new i(r,0));if(r instanceof i)return U(t,r)}else if(t instanceof e&&n(r)){var o=t.copy();return o.value/=r,o}throw a("divide",t,r)}function U(e,t){var n=t.re*t.re+t.im*t.im;return new i((e.re*t.re+e.im*t.im)/n,(e.im*t.re-e.re*t.im)/n)}function q(r,o){if(2!=arguments.length)throw s("smallereq",arguments.length,2);if(n(r)){if(n(o))return o>=r;if(o instanceof i)return X(o)>=r}if(r instanceof i){if(n(o))return o>=X(r);if(o instanceof i)return X(r)<=X(o)}if(r instanceof e&&o instanceof e){if(!r.equalBase(o))throw Error("Cannot compare units with different base");return r.value<=o.value}if(t(r)||t(o))return o>=r;throw a("smallereq",r,o)}function L(e,t){if(1!=arguments.length&&2!=arguments.length)throw s("round",arguments.length,1,2);if(void 0==t){if(n(e))return Math.round(e);if(e instanceof i)return new i(Math.round(e.re),Math.round(e.im));throw a("round",e)}if(!n(t))throw new TypeError("Number of digits in function round must be an integer");if(t!==Math.round(t))throw new TypeError("Number of digits in function round must be integer");if(0>t||t>9)throw Error("Number of digits in function round must be in te range of 0-9");if(n(e))return C(e,t);if(e instanceof i)return new i(C(e.re,t),C(e.im,t));throw a("round",e,t)}function C(e,t){var n=Math.pow(10,void 0!=t?t:dt.options.precision);return Math.round(e*n)/n}function R(r,o){if(2!=arguments.length)throw s("equal",arguments.length,2);if(n(r)){if(n(o))return r==o;if(o instanceof i)return r==o.re&&0==o.im}if(r instanceof i){if(n(o))return r.re==o&&0==r.im;if(o instanceof i)return r.re==o.re&&r.im==o.im}if(r instanceof e&&o instanceof e){if(!r.equalBase(o))throw Error("Cannot compare units with different base");return r.value==o.value}if(t(r)||t(o))return r==o;throw a("equal",r,o)}function I(r,o){if(2!=arguments.length)throw s("unequal",arguments.length,2);if(n(r)){if(n(o))return r==o;if(o instanceof i)return r==o.re&&0==o.im}if(r instanceof i){if(n(o))return r.re==o&&0==r.im;if(o instanceof i)return r.re==o.re&&r.im==o.im}if(r instanceof e&&o instanceof e){if(!r.equalBase(o))throw Error("Cannot compare units with different base");return r.value==o.value}if(t(r)||t(o))return r==o;throw a("unequal",r,o)}function P(e){if(1!=arguments.length)throw s("log10",arguments.length,1);if(n(e))return e>=0?Math.log(e)/Math.LN10:P(new i(e,0));if(e instanceof i)return new i(Math.log(Math.sqrt(e.re*e.re+e.im*e.im))/Math.LN10,Math.atan2(e.im,e.re)/Math.LN10);if(e instanceof Array)return gt.map(e,P);throw a("log10",e)}function B(e){if(1!=arguments.length)throw s("fix",arguments.length,1);if(n(e))return value>0?Math.floor(e):Math.ceil(e);if(e instanceof i)return new i(e.re>0?Math.floor(e.re):Math.ceil(e.re),e.im>0?Math.floor(e.im):Math.ceil(e.im));if(e instanceof Array)return gt.map(e,B);throw a("fix",e)}function G(r,o){if(2!=arguments.length)throw s("add",arguments.length,2);if(n(r)){if(n(o))return r+o;if(o instanceof i)return new i(r+o.re,o.im)}else if(r instanceof i){if(n(o))return new i(r.re+o,r.im);if(o instanceof i)return new i(r.re+o.re,r.im+o.im)}else if(r instanceof e&&o instanceof e){if(!r.equalBase(o))throw Error("Units do not match");if(!r.hasValue)throw Error("Unit on left hand side of operator + has no value");if(!o.hasValue)throw Error("Unit on right hand side of operator + has no value");var f=r.copy();return f.value+=o.value,f.fixPrefix=!1,f}if(t(r)||t(o))return r+o;throw a("add",r,o)}function D(e,t){if(2!=arguments.length)throw s("mod",arguments.length,2);if(n(e)){if(n(t))return e%t;if(t instanceof i&&0==t.im)return e%t.re}else if(e instanceof i&&0==e.im){if(n(t))return e.re%t;if(t instanceof i&&0==t.im)return e.re%t.re}throw a("mod",e,t)}function Y(e){if(1!=arguments.length)throw s("exp",arguments.length,1);if(n(e))return Math.exp(e);if(e instanceof i){var t=Math.exp(e.re);return new i(t*Math.cos(e.im),t*Math.sin(e.im))}if(e instanceof Array)return gt.map(e,Y);throw a("exp",e)}function V(r,o){if(2!=arguments.length)throw s("largereq",arguments.length,2);if(n(r)){if(n(o))return r>=o;if(o instanceof i)return r>=X(o)}if(r instanceof i){if(n(o))return X(r)>=o;if(o instanceof i)return X(r)>=X(o)}if(r instanceof e&&o instanceof e){if(!r.equalBase(o))throw Error("Cannot compare units with different base");return r.value>=o.value}if(t(r)||t(o))return r>=o;throw a("largereq",r,o)}function F(e){if(1!=arguments.length)throw s("sqrt",arguments.length,1);if(n(e))return e>=0?Math.sqrt(e):F(new i(e,0));if(e instanceof i){var t=Math.sqrt(e.re*e.re+e.im*e.im);return e.im>=0?new i(.5*Math.sqrt(2*(t+e.re)),.5*Math.sqrt(2*(t-e.re))):new i(.5*Math.sqrt(2*(t+e.re)),-.5*Math.sqrt(2*(t-e.re)))}if(e instanceof Array)return gt.map(e,F);throw a("sqrt",e)}function H(e){if(1!=arguments.length)throw s("square",arguments.length,1);if(n(e))return e*e;if(e instanceof i)return tt(e,e);throw a("square",e)}function j(r,o){if(2!=arguments.length)throw s("larger",arguments.length,2);if(n(r)){if(n(o))return r>o;if(o instanceof i)return r>X(o)}if(r instanceof i){if(n(o))return X(r)>o;if(o instanceof i)return X(r)>X(o)}if(r instanceof e&&o instanceof e){if(!r.equalBase(o))throw Error("Cannot compare units with different base");return r.value>o.value}if(t(r)||t(o))return r>o;throw a("larger",r,o)}function K(e){if(1!=arguments.length)throw s("sign",arguments.length,1);if(n(e)){var t;return t=e>0?1:0>e?-1:0}if(e instanceof i){var r=Math.sqrt(e.re*e.re+e.im*e.im);return new i(e.re/r,e.im/r)}if(e instanceof Array)return gt.map(e,t);throw a("sign",e)}function z(t){if(1!=arguments.length)throw s("unaryminus",arguments.length,1);if(n(t))return-t;if(t instanceof i)return new i(-t.re,-t.im);if(t instanceof e){var r=t.copy();return r.value=-t.value,r}if(t instanceof Array)return gt.map(t,z);throw a("unaryminus",t)}function W(r,o){if(2!=arguments.length)throw s("smaller",arguments.length,2);if(n(r)){if(n(o))return o>r;if(o instanceof i)return X(o)>r}if(r instanceof i){if(n(o))return o>X(r);if(o instanceof i)return X(r)r;throw a("smaller",r,o)}function X(e){if(1!=arguments.length)throw s("abs",arguments.length,1);if(n(e))return Math.abs(e);if(e instanceof i)return Math.sqrt(e.re*e.re+e.im*e.im);if(e instanceof Array)return gt.map(e,X);throw a("abs",e)}function Z(e,t){if(1!=arguments.length&&2!=arguments.length)throw s("log",arguments.length,1,2);if(void 0!==t)return A(Z(e),Z(t));if(n(e))return e>=0?Math.log(e):Z(new i(e,0));if(e instanceof i)return new i(Math.log(Math.sqrt(e.re*e.re+e.im*e.im)),Math.atan2(e.im,e.re));if(e instanceof Array)return gt.map(e,Z);throw a("log",e,t)}function Q(e,t){if(2!=arguments.length)throw s("pow",arguments.length,2);if(n(e)){if(n(t))return r(t)||e>=0?Math.pow(e,t):J(new i(e,0),new i(t,0));if(t instanceof i)return J(new i(e,0),t)}else if(e instanceof i){if(n(t))return J(e,new i(t,0));if(t instanceof i)return J(e,t)}throw a("pow",e,t)}function J(e,t){var n=Z(e),r=tt(n,t);return Y(r)}function $(e){if(1!=arguments.length)throw s("floor",arguments.length,1);if(n(e))return Math.floor(e);if(e instanceof i)return new i(Math.floor(e.re),Math.floor(e.im));if(e instanceof Array)return gt.map(e,$);throw a("floor",e)}function et(e){if(1!=arguments.length)throw s("ceil",arguments.length,1);if(n(e))return Math.ceil(e);if(e instanceof i)return new i(Math.ceil(e.re),Math.ceil(e.im));if(e instanceof Array)return gt.map(e,et);throw a("ceil",e)}function tt(t,r){var o;if(2!=arguments.length)throw s("multiply",arguments.length,2);if(n(t)){if(n(r))return t*r;if(r instanceof i)return nt(new i(t,0),r);if(r instanceof e)return o=r.copy(),o.value*=t,o}else if(t instanceof i){if(n(r))return nt(t,new i(r,0));if(r instanceof i)return nt(t,r)}else if(t instanceof e&&n(r))return o=t.copy(),o.value*=r,o;throw a("multiply",t,r)}function nt(e,t){return new i(e.re*t.re-e.im*t.im,e.re*t.im+e.im*t.re)}function rt(t,r){if(2!=arguments.length)throw s("subtract",arguments.length,2);if(n(t)){if(n(r))return t-r;if(r instanceof i)return new i(t-r.re,r.im)}else if(t instanceof i){if(n(r))return new i(t.re-r,t.im);if(r instanceof i)return new i(t.re-r.re,t.im-r.im)}else if(t instanceof e&&r instanceof e){if(!t.equalBase(r))throw Error("Units do not match");if(!t.hasValue)throw Error("Unit on left hand side of operator - has no value");if(!r.hasValue)throw Error("Unit on right hand side of operator - has no value");var o=t.copy();return o.value-=r.value,o.fixPrefix=!1,o}throw a("subtract",t,r)}function it(){if(0!=arguments.length)throw s("random",arguments.length,0);return Math.random()}function at(e){if(1!=arguments.length)throw s("factorial",arguments.length,1);if(n(e)){if(!r(e))throw new TypeError("Function factorial can only handle integer values");var t=e,i=t;for(t--;t>1;)i*=t,t--;return 0==i&&(i=1),i}if(e instanceof Array)return gt.map(e,at);throw a("factorial",e)}function st(){}function ot(e,t,n){this.name=e,this.fn=t,this.params=n}function ft(e){this.value=e}function ut(){this.params=[],this.visible=[]}function ht(e,t,n,r){this.name=e,this.params=t,this.expr=n,this.result=r}function ct(e,t,n,r,i){this.name=e,this.variables=n,this.values=[];for(var a=0,s=this.variables.length;s>a;a++)this.values[a]=function(){var e=function(){return e.value};return e.value=void 0,e}();this.def=this.createFunction(e,t,n,r),this.result=i}function lt(e){this.parentScope=e,this.nestedScopes=void 0,this.symbols={},this.defs={},this.updates={},this.links={}}function pt(){if(this.constructor!=pt)throw new SyntaxError("Parser constructor must be called with the new operator");this.TOKENTYPE={NULL:0,DELIMITER:1,NUMBER:2,SYMBOL:3,UNKNOWN:4},this.expr="",this.index=0,this.c="",this.token="",this.token_type=this.TOKENTYPE.NULL,this.scope=new lt}function mt(){this.idMax=-1,this.updateSeq=0,this.parser=new pt,this.scope=new lt,this.nodes={},this.firstNode=void 0,this.lastNode=void 0}var dt={parser:{node:{}},options:{precision:10}};"undefined"!=typeof module&&module.exports!==void 0&&(module.exports=dt),"undefined"!=typeof exports&&(exports=dt),"undefined"!=typeof require&&"undefined"!=typeof define&&define(function(){return dt}),"undefined"!=typeof window&&(window.math=dt);var gt={};gt.format=function(e,t){if(1/0===e)return"Infinity";if(e===-1/0)return"-Infinity";if(0/0===e)return"NaN";var n=Math.abs(e);if(n>1e-4&&1e6>n||0==n)return C(e,t)+"";var r=Math.round(Math.log(n)/Math.LN10),i=e/Math.pow(10,r);return C(i,t)+"E"+r},gt.randomUUID=function(){var e=function(){return Math.floor(65536*Math.random()).toString(16)};return e()+e()+"-"+e()+"-"+e()+"-"+e()+"-"+e()+e()+e()},gt.map=function(e,t){return e.map(function(e){return t(e)})},Array.prototype.indexOf||(Array.prototype.indexOf=function(e){for(var t=0;this.length>t;t++)if(this[t]==e)return t;return-1},console&&console.log&&console.log("Warning: Ancient browser detected. Please update your browser")),Array.prototype.forEach||(Array.prototype.forEach=function(e,t){for(var n=0,r=this.length;r>n;++n)e.call(t||this,this[n],n,this)}),Array.prototype.map||(Array.prototype.map=function(e,t){var n,r,i;if(null==this)throw new TypeError(" this is null or not defined");var a=Object(this),s=a.length>>>0;if("function"!=typeof e)throw new TypeError(e+" is not a function");for(t&&(n=t),r=Array(s),i=0;s>i;){var o,f;i in a&&(o=a[i],f=e.call(n,o,i,a),r[i]=f),i++}return r}),dt.Unit=e,e.prototype.copy=function(){var t=new e;for(var n in this)this.hasOwnProperty(n)&&(t[n]=this[n]);return t},e.endsWith=function(e,t){var n=e.length-t.length,r=e.length;return e.substring(n,r)===t},e.prototype._init=function(t,n){if(void 0!==n){for(var r=e.UNITS,i=!1,a=0,s=r.length;s>a;a++){var o=r[a];if(e.endsWith(n,o.name)){var f=n.length-o.name.length,u=n.substring(0,f),h=o.prefixes[u];if(void 0!==h){this.unit=o,this.prefix=h,this.hasUnit=!0,i=!0;break}}}if(!i)throw Error('String "'+n+'" is no unit')}void 0!==t?(this.value=this._normalize(t),this.hasValue=!0):this.value=this._normalize(1)},e.prototype._normalize=function(e){return(e+this.unit.offset)*this.unit.value*this.prefix.value},e.prototype._unnormalize=function(e,t){return void 0===t?e/this.unit.value/this.prefix.value-this.unit.offset:e/this.unit.value/t-this.unit.offset},e.isUnit=function(t){for(var n=e.UNITS,r=n.length,i=0;r>i;i++){var a=n[i];if(e.endsWith(t,a.name)){var s=t.length-a.name.length;if(0==s)return!0;var o=t.substring(0,s),f=a.prefixes[o];if(void 0!==f)return!0}}return!1},e.prototype.hasBase=function(e){return void 0===this.unit.base?void 0===e:this.unit.base===e},e.prototype.equalBase=function(e){return this.unit.base===e.unit.base},e.prototype.equals=function(e){return this.equalBase(e)&&this.value==e.value},e.prototype.toString=function(){var t;if(this.fixPrefix)return t=this._unnormalize(this.value),gt.format(t)+" "+this.prefix.name+this.unit.name;var n=e.PREFIX_NONE,r=Math.abs(Math.log(this.value/n.value)/Math.LN10-1.5),i=this.unit.prefixes;for(var a in i)if(i.hasOwnProperty(a)){var s=i[a];if(s.scientific){var o=Math.abs(Math.log(this.value/s.value)/Math.LN10-1.5);r>o&&(n=s,r=o)}}return t=this._unnormalize(this.value,n.value),gt.format(t)+" "+n.name+this.unit.name},e.PREFIXES={NONE:{"":{name:"",value:1,scientific:!0}},SHORT:{"":{name:"",value:1,scientific:!0},da:{name:"da",value:10,scientific:!1},h:{name:"h",value:100,scientific:!1},k:{name:"k",value:1e3,scientific:!0},M:{name:"M",value:1e6,scientific:!0},G:{name:"G",value:1e9,scientific:!0},T:{name:"T",value:1e12,scientific:!0},P:{name:"P",value:1e15,scientific:!0},E:{name:"E",value:1e18,scientific:!0},Z:{name:"Z",value:1e21,scientific:!0},Y:{name:"Y",value:1e24,scientific:!0},d:{name:"d",value:.1,scientific:!1},c:{name:"c",value:.01,scientific:!1},m:{name:"m",value:.001,scientific:!0},u:{name:"u",value:1e-6,scientific:!0},n:{name:"n",value:1e-9,scientific:!0},p:{name:"p",value:1e-12,scientific:!0},f:{name:"f",value:1e-15,scientific:!0},a:{name:"a",value:1e-18,scientific:!0},z:{name:"z",value:1e-21,scientific:!0},y:{name:"y",value:1e-24,scientific:!0}},LONG:{"":{name:"",value:1,scientific:!0},deca:{name:"deca",value:10,scientific:!1},hecto:{name:"hecto",value:100,scientific:!1},kilo:{name:"kilo",value:1e3,scientific:!0},mega:{name:"mega",value:1e6,scientific:!0},giga:{name:"giga",value:1e9,scientific:!0},tera:{name:"tera",value:1e12,scientific:!0},peta:{name:"peta",value:1e15,scientific:!0},exa:{name:"exa",value:1e18,scientific:!0},zetta:{name:"zetta",value:1e21,scientific:!0},yotta:{name:"yotta",value:1e24,scientific:!0},deci:{name:"deci",value:.1,scientific:!1},centi:{name:"centi",value:.01,scientific:!1},milli:{name:"milli",value:.001,scientific:!0},micro:{name:"micro",value:1e-6,scientific:!0},nano:{name:"nano",value:1e-9,scientific:!0},pico:{name:"pico",value:1e-12,scientific:!0},femto:{name:"femto",value:1e-15,scientific:!0},atto:{name:"atto",value:1e-18,scientific:!0},zepto:{name:"zepto",value:1e-21,scientific:!0},yocto:{name:"yocto",value:1e-24,scientific:!0}},BINARY_SHORT:{"":{name:"",value:1,scientific:!0},k:{name:"k",value:1024,scientific:!0},M:{name:"M",value:Math.pow(1024,2),scientific:!0},G:{name:"G",value:Math.pow(1024,3),scientific:!0},T:{name:"T",value:Math.pow(1024,4),scientific:!0},P:{name:"P",value:Math.pow(1024,5),scientific:!0},E:{name:"E",value:Math.pow(1024,6),scientific:!0},Z:{name:"Z",value:Math.pow(1024,7),scientific:!0},Y:{name:"Y",value:Math.pow(1024,8),scientific:!0},Ki:{name:"Ki",value:1024,scientific:!0},Mi:{name:"Mi",value:Math.pow(1024,2),scientific:!0},Gi:{name:"Gi",value:Math.pow(1024,3),scientific:!0},Ti:{name:"Ti",value:Math.pow(1024,4),scientific:!0},Pi:{name:"Pi",value:Math.pow(1024,5),scientific:!0},Ei:{name:"Ei",value:Math.pow(1024,6),scientific:!0},Zi:{name:"Zi",value:Math.pow(1024,7),scientific:!0},Yi:{name:"Yi",value:Math.pow(1024,8),scientific:!0}},BINARY_LONG:{"":{name:"",value:1,scientific:!0},kilo:{name:"kilo",value:1024,scientific:!0},mega:{name:"mega",value:Math.pow(1024,2),scientific:!0},giga:{name:"giga",value:Math.pow(1024,3),scientific:!0},tera:{name:"tera",value:Math.pow(1024,4),scientific:!0},peta:{name:"peta",value:Math.pow(1024,5),scientific:!0},exa:{name:"exa",value:Math.pow(1024,6),scientific:!0},zetta:{name:"zetta",value:Math.pow(1024,7),scientific:!0},yotta:{name:"yotta",value:Math.pow(1024,8),scientific:!0},kibi:{name:"kibi",value:1024,scientific:!0},mebi:{name:"mebi",value:Math.pow(1024,2),scientific:!0},gibi:{name:"gibi",value:Math.pow(1024,3),scientific:!0},tebi:{name:"tebi",value:Math.pow(1024,4),scientific:!0},pebi:{name:"pebi",value:Math.pow(1024,5),scientific:!0},exi:{name:"exi",value:Math.pow(1024,6),scientific:!0},zebi:{name:"zebi",value:Math.pow(1024,7),scientific:!0},yobi:{name:"yobi",value:Math.pow(1024,8),scientific:!0}}},e.PREFIX_NONE={name:"",value:1,scientific:!0},e.BASE_UNITS={NONE:{},LENGTH:{},MASS:{},TIME:{},CURRENT:{},TEMPERATURE:{},LUMINOUS_INTENSITY:{},AMOUNT_OF_SUBSTANCE:{},FORCE:{},SURFACE:{},VOLUME:{},ANGLE:{},BIT:{}};var vt=e.BASE_UNITS,xt=e.PREFIXES;e.BASE_UNIT_NONE={},e.UNIT_NONE={name:"",base:e.BASE_UNIT_NONE,value:1,offset:0},e.UNITS=[{name:"meter",base:vt.LENGTH,prefixes:xt.LONG,value:1,offset:0},{name:"inch",base:vt.LENGTH,prefixes:xt.NONE,value:.0254,offset:0},{name:"foot",base:vt.LENGTH,prefixes:xt.NONE,value:.3048,offset:0},{name:"yard",base:vt.LENGTH,prefixes:xt.NONE,value:.9144,offset:0},{name:"mile",base:vt.LENGTH,prefixes:xt.NONE,value:1609.344,offset:0},{name:"link",base:vt.LENGTH,prefixes:xt.NONE,value:.201168,offset:0},{name:"rod",base:vt.LENGTH,prefixes:xt.NONE,value:5.02921,offset:0},{name:"chain",base:vt.LENGTH,prefixes:xt.NONE,value:20.1168,offset:0},{name:"angstrom",base:vt.LENGTH,prefixes:xt.NONE,value:1e-10,offset:0},{name:"m",base:vt.LENGTH,prefixes:xt.SHORT,value:1,offset:0},{name:"ft",base:vt.LENGTH,prefixes:xt.NONE,value:.3048,offset:0},{name:"yd",base:vt.LENGTH,prefixes:xt.NONE,value:.9144,offset:0},{name:"mi",base:vt.LENGTH,prefixes:xt.NONE,value:1609.344,offset:0},{name:"li",base:vt.LENGTH,prefixes:xt.NONE,value:.201168,offset:0},{name:"rd",base:vt.LENGTH,prefixes:xt.NONE,value:5.02921,offset:0},{name:"ch",base:vt.LENGTH,prefixes:xt.NONE,value:20.1168,offset:0},{name:"mil",base:vt.LENGTH,prefixes:xt.NONE,value:254e-7,offset:0},{name:"m2",base:vt.SURFACE,prefixes:xt.SHORT,value:1,offset:0},{name:"sqin",base:vt.SURFACE,prefixes:xt.NONE,value:64516e-8,offset:0},{name:"sqft",base:vt.SURFACE,prefixes:xt.NONE,value:.09290304,offset:0},{name:"sqyd",base:vt.SURFACE,prefixes:xt.NONE,value:.83612736,offset:0},{name:"sqmi",base:vt.SURFACE,prefixes:xt.NONE,value:2589988.110336,offset:0},{name:"sqrd",base:vt.SURFACE,prefixes:xt.NONE,value:25.29295,offset:0},{name:"sqch",base:vt.SURFACE,prefixes:xt.NONE,value:404.6873,offset:0},{name:"sqmil",base:vt.SURFACE,prefixes:xt.NONE,value:6.4516e-10,offset:0},{name:"m3",base:vt.VOLUME,prefixes:xt.SHORT,value:1,offset:0},{name:"L",base:vt.VOLUME,prefixes:xt.SHORT,value:.001,offset:0},{name:"litre",base:vt.VOLUME,prefixes:xt.LONG,value:.001,offset:0},{name:"cuin",base:vt.VOLUME,prefixes:xt.NONE,value:16387064e-12,offset:0},{name:"cuft",base:vt.VOLUME,prefixes:xt.NONE,value:.028316846592,offset:0},{name:"cuyd",base:vt.VOLUME,prefixes:xt.NONE,value:.764554857984,offset:0},{name:"teaspoon",base:vt.VOLUME,prefixes:xt.NONE,value:5e-6,offset:0},{name:"tablespoon",base:vt.VOLUME,prefixes:xt.NONE,value:15e-6,offset:0},{name:"minim",base:vt.VOLUME,prefixes:xt.NONE,value:6.161152e-8,offset:0},{name:"fluiddram",base:vt.VOLUME,prefixes:xt.NONE,value:36966911e-13,offset:0},{name:"fluidounce",base:vt.VOLUME,prefixes:xt.NONE,value:2957353e-11,offset:0},{name:"gill",base:vt.VOLUME,prefixes:xt.NONE,value:.0001182941,offset:0},{name:"cup",base:vt.VOLUME,prefixes:xt.NONE,value:.0002365882,offset:0},{name:"pint",base:vt.VOLUME,prefixes:xt.NONE,value:.0004731765,offset:0},{name:"quart",base:vt.VOLUME,prefixes:xt.NONE,value:.0009463529,offset:0},{name:"gallon",base:vt.VOLUME,prefixes:xt.NONE,value:.003785412,offset:0},{name:"beerbarrel",base:vt.VOLUME,prefixes:xt.NONE,value:.1173478,offset:0},{name:"oilbarrel",base:vt.VOLUME,prefixes:xt.NONE,value:.1589873,offset:0},{name:"hogshead",base:vt.VOLUME,prefixes:xt.NONE,value:.238481,offset:0},{name:"fldr",base:vt.VOLUME,prefixes:xt.NONE,value:36966911e-13,offset:0},{name:"floz",base:vt.VOLUME,prefixes:xt.NONE,value:2957353e-11,offset:0},{name:"gi",base:vt.VOLUME,prefixes:xt.NONE,value:.0001182941,offset:0},{name:"cp",base:vt.VOLUME,prefixes:xt.NONE,value:.0002365882,offset:0},{name:"pt",base:vt.VOLUME,prefixes:xt.NONE,value:.0004731765,offset:0},{name:"qt",base:vt.VOLUME,prefixes:xt.NONE,value:.0009463529,offset:0},{name:"gal",base:vt.VOLUME,prefixes:xt.NONE,value:.003785412,offset:0},{name:"bbl",base:vt.VOLUME,prefixes:xt.NONE,value:.1173478,offset:0},{name:"obl",base:vt.VOLUME,prefixes:xt.NONE,value:.1589873,offset:0},{name:"g",base:vt.MASS,prefixes:xt.SHORT,value:.001,offset:0},{name:"gram",base:vt.MASS,prefixes:xt.LONG,value:.001,offset:0},{name:"ton",base:vt.MASS,prefixes:xt.SHORT,value:907.18474,offset:0},{name:"tonne",base:vt.MASS,prefixes:xt.SHORT,value:1e3,offset:0},{name:"grain",base:vt.MASS,prefixes:xt.NONE,value:6479891e-11,offset:0},{name:"dram",base:vt.MASS,prefixes:xt.NONE,value:.0017718451953125,offset:0},{name:"ounce",base:vt.MASS,prefixes:xt.NONE,value:.028349523125,offset:0},{name:"poundmass",base:vt.MASS,prefixes:xt.NONE,value:.45359237,offset:0},{name:"hundredweight",base:vt.MASS,prefixes:xt.NONE,value:45.359237,offset:0},{name:"stick",base:vt.MASS,prefixes:xt.NONE,value:.115,offset:0},{name:"gr",base:vt.MASS,prefixes:xt.NONE,value:6479891e-11,offset:0},{name:"dr",base:vt.MASS,prefixes:xt.NONE,value:.0017718451953125,offset:0},{name:"oz",base:vt.MASS,prefixes:xt.NONE,value:.028349523125,offset:0},{name:"lbm",base:vt.MASS,prefixes:xt.NONE,value:.45359237,offset:0},{name:"cwt",base:vt.MASS,prefixes:xt.NONE,value:45.359237,offset:0},{name:"s",base:vt.TIME,prefixes:xt.SHORT,value:1,offset:0},{name:"min",base:vt.TIME,prefixes:xt.NONE,value:60,offset:0},{name:"h",base:vt.TIME,prefixes:xt.NONE,value:3600,offset:0},{name:"seconds",base:vt.TIME,prefixes:xt.LONG,value:1,offset:0},{name:"second",base:vt.TIME,prefixes:xt.LONG,value:1,offset:0},{name:"sec",base:vt.TIME,prefixes:xt.LONG,value:1,offset:0},{name:"minutes",base:vt.TIME,prefixes:xt.NONE,value:60,offset:0},{name:"minute",base:vt.TIME,prefixes:xt.NONE,value:60,offset:0},{name:"hours",base:vt.TIME,prefixes:xt.NONE,value:3600,offset:0},{name:"hour",base:vt.TIME,prefixes:xt.NONE,value:3600,offset:0},{name:"day",base:vt.TIME,prefixes:xt.NONE,value:86400,offset:0},{name:"days",base:vt.TIME,prefixes:xt.NONE,value:86400,offset:0},{name:"rad",base:vt.ANGLE,prefixes:xt.NONE,value:1,offset:0},{name:"deg",base:vt.ANGLE,prefixes:xt.NONE,value:.017453292519943295,offset:0},{name:"grad",base:vt.ANGLE,prefixes:xt.NONE,value:.015707963267948967,offset:0},{name:"cycle",base:vt.ANGLE,prefixes:xt.NONE,value:6.283185307179586,offset:0},{name:"A",base:vt.CURRENT,prefixes:xt.SHORT,value:1,offset:0},{name:"ampere",base:vt.CURRENT,prefixes:xt.LONG,value:1,offset:0},{name:"K",base:vt.TEMPERATURE,prefixes:xt.NONE,value:1,offset:0},{name:"degC",base:vt.TEMPERATURE,prefixes:xt.NONE,value:1,offset:273.15},{name:"degF",base:vt.TEMPERATURE,prefixes:xt.NONE,value:1/1.8,offset:459.67},{name:"degR",base:vt.TEMPERATURE,prefixes:xt.NONE,value:1/1.8,offset:0},{name:"kelvin",base:vt.TEMPERATURE,prefixes:xt.NONE,value:1,offset:0},{name:"celsius",base:vt.TEMPERATURE,prefixes:xt.NONE,value:1,offset:273.15},{name:"fahrenheit",base:vt.TEMPERATURE,prefixes:xt.NONE,value:1/1.8,offset:459.67},{name:"rankine",base:vt.TEMPERATURE,prefixes:xt.NONE,value:1/1.8,offset:0},{name:"mol",base:vt.AMOUNT_OF_SUBSTANCE,prefixes:xt.NONE,value:1,offset:0},{name:"mole",base:vt.AMOUNT_OF_SUBSTANCE,prefixes:xt.NONE,value:1,offset:0},{name:"cd",base:vt.LUMINOUS_INTENSITY,prefixes:xt.NONE,value:1,offset:0},{name:"candela",base:vt.LUMINOUS_INTENSITY,prefixes:xt.NONE,value:1,offset:0},{name:"N",base:vt.FORCE,prefixes:xt.SHORT,value:1,offset:0},{name:"newton",base:vt.FORCE,prefixes:xt.LONG,value:1,offset:0},{name:"lbf",base:vt.FORCE,prefixes:xt.NONE,value:4.4482216152605,offset:0},{name:"poundforce",base:vt.FORCE,prefixes:xt.NONE,value:4.4482216152605,offset:0},{name:"b",base:vt.BIT,prefixes:xt.BINARY_SHORT,value:1,offset:0},{name:"bits",base:vt.BIT,prefixes:xt.BINARY_LONG,value:1,offset:0},{name:"B",base:vt.BIT,prefixes:xt.BINARY_SHORT,value:8,offset:0},{name:"bytes",base:vt.BIT,prefixes:xt.BINARY_LONG,value:8,offset:0}],dt.Complex=i,i.parse=function(e){function n(){for(;" "==u||" "==u;)s() +(function(){function e(t,n){if(this.constructor!=e)throw Error("Unit constructor must be called with the new operator");this.value=1,this.unit=e.UNIT_NONE,this.prefix=e.PREFIX_NONE,this.hasUnit=!1,this.hasValue=!1,this.fixPrefix=!1,this._init(t,n)}function t(e){return e instanceof String||"string"==typeof e}function n(e){return e instanceof Number||"number"==typeof e}function r(e){return e==Math.round(e)}function i(e,r){if(this.constructor!=i)throw new SyntaxError("Complex constructor must be called with the new operator");switch(arguments.length){case 2:if(!n(e)||!n(r))throw new TypeError("Two numbers or a single string expected in Complex constructor");this.re=e,this.im=r;break;case 1:if(!t(e))throw new TypeError("Two numbers or a single string expected in Complex constructor");var a=i.parse(e);if(a)return a;throw new SyntaxError('"'+e+'" is no valid complex number');case 0:this.re=0,this.im=0;break;default:throw new SyntaxError("Wrong number of arguments in Complex constructor ("+arguments.length+" provided, 0, 1, or 2 expected)")}}function a(e,t){var n=void 0;if(2==arguments.length){var r=c(t);n="Function "+e+" does not support a parameter of type "+r}else if(arguments.length>2){for(var i=[],a=1;arguments.length>a;a++)i.push(c(arguments[a]));n="Function "+e+" does not support a parameters of type "+i.join(", ")}else n="Unsupported parameter in function "+e;return new TypeError(n)}function s(e,t,n,r){var i="Wrong number of arguments in function "+e+" ("+t+" provided, "+n+(void 0!=r?"-"+r:"")+" expected)";return new SyntaxError(i)}function o(e,n){var r;if(t(e)){if("undefined"==typeof require)throw Error("Cannot load file: require not available.");var i=require(e);o(i)}else if(f(e)){if(r=e.name,!r)throw Error("Cannot import an unnamed function");(n||void 0===dt[r])&&(dt[r]=e)}else if(e instanceof Object)for(r in e)if(e.hasOwnProperty(r)){var a=e[r];f(a)?(n||void 0===dt[r])&&(dt[r]=a):o(a)}}function f(r){return"function"==typeof r||n(r)||t(r)||r instanceof i||r instanceof e}function u(e){if(1!=arguments.length)throw s("help",arguments.length,1);if(void 0!=e){if(e.doc)return h(e.doc);if(e.constructor.doc)return h(e.constructor.doc);if(t(e)){var n=dt[e];if(n&&n.doc)return h(n.doc)}}return e instanceof Object&&e.name?'No documentation found on subject "'+e.name+'"':e instanceof Object&&e.constructor.name?'No documentation found on subject "'+e.constructor.name+'"':'No documentation found on subject "'+e+'"'}function h(e){var t="";if(e.name&&(t+="NAME\n"+e.name+"\n\n"),e.category&&(t+="CATEGORY\n"+e.category+"\n\n"),e.syntax&&(t+="SYNTAX\n"+e.syntax.join("\n")+"\n\n"),e.examples){t+="EXAMPLES\n";for(var n=0;e.examples.length>n;n++)t+=e.examples[n]+"\n";t+="\n"}return e.seealso&&(t+="SEE ALSO\n"+e.seealso.join(", ")+"\n"),t}function c(e){if(1!=arguments.length)throw s("typeof",arguments.length,1);var t=typeof e;if("object"==t){if(null==e)return"null";if(e.constructor){for(var n in dt)if(dt.hasOwnProperty(n)&&e.constructor==dt[n])return n.toLowerCase();if(e.constructor.name)return e.constructor.name.toLowerCase()}}return t}function l(){if(0==arguments.length)throw Error("Function sum requires one or more parameters (0 provided)");if(1==arguments.length&&arguments[0]instanceof Array)return l.apply(this,arguments[0]);for(var e=arguments[0],t=1,n=arguments.length;n>t;t++){var r=arguments[t];W(r,e)&&(e=r)}return e}function p(){if(0==arguments.length)throw Error("Function sum requires one or more parameters (0 provided)");if(1==arguments.length&&arguments[0]instanceof Array)return p.apply(this,arguments[0]);for(var e=arguments[0],t=1,n=arguments.length;n>t;t++){var r=arguments[t];j(r,e)&&(e=r)}return e}function m(t,n){if(2!=arguments.length)throw s("in",arguments.length,2);if(t instanceof e){if(n.hasValue)throw Error("Cannot convert to a unit with a value");if(!n.hasUnit)throw Error("Unit expected on the right hand side of function in");var r=n.copy();return r.value=t.value,r.fixPrefix=!0,r}throw a("in",t)}function d(t){if(1!=arguments.length)throw s("sin",arguments.length,1);if(n(t))return Math.sin(t);if(t instanceof i)return new i(.5*Math.sin(t.re)*(Math.exp(-t.im)+Math.exp(t.im)),.5*Math.cos(t.re)*(Math.exp(t.im)-Math.exp(-t.im)));if(t instanceof e){if(!t.hasBase(e.BASE_UNITS.ANGLE))throw new TypeError("Unit in function cos is no angle");return Math.sin(t.value)}if(t instanceof Array)return gt.map(t,d);throw a("sin",t)}function g(e,t){if(2!=arguments.length)throw s("atan2",arguments.length,2);if(n(e)){if(n(t))return Math.atan2(e,t);if(t instanceof i)return Math.atan2(e,t.re)}else if(e instanceof i){if(n(t))return Math.atan2(e.re,t);if(t instanceof i)return Math.atan2(e.re,t.re)}throw a("atan2",e,t)}function v(e){if(1!=arguments.length)throw s("asin",arguments.length,1);if(n(e))return e>=-1&&1>=e?Math.asin(e):v(new i(e,0));if(e instanceof i){var t=e.re,r=e.im,o=new i(r*r-t*t+1,-2*t*r),f=F(o),u=new i(f.re-r,f.im+t),h=Z(u);return new i(h.im,-h.re)}if(e instanceof Array)return gt.map(e,v);throw a("asin",e)}function x(e){if(1!=arguments.length)throw s("atan",arguments.length,1);if(n(e))return Math.atan(e);if(e instanceof i){var t=e.re,r=e.im,o=t*t+(1-r)*(1-r),f=new i((1-r*r-t*t)/o,-2*t/o),u=Z(f);return new i(-.5*u.im,.5*u.re)}if(e instanceof Array)return gt.map(e,x);throw a("atan",e)}function y(t){if(1!=arguments.length)throw s("csc",arguments.length,1);if(n(t))return 1/Math.sin(t);if(t instanceof i){var r=.25*(Math.exp(-2*t.im)+Math.exp(2*t.im))-.5*Math.cos(2*t.re);return new i(.5*Math.sin(t.re)*(Math.exp(-t.im)+Math.exp(t.im))/r,.5*Math.cos(t.re)*(Math.exp(-t.im)-Math.exp(t.im))/r)}if(t instanceof e){if(!t.hasBase(e.BASE_UNITS.ANGLE))throw new TypeError("Unit in function csc is no angle");return 1/Math.sin(t.value)}if(t instanceof Array)return gt.map(t,y);throw a("csc",t)}function N(t){if(1!=arguments.length)throw s("cos",arguments.length,1);if(n(t))return Math.cos(t);if(t instanceof i)return new i(.5*Math.cos(t.re)*(Math.exp(-t.im)+Math.exp(t.im)),.5*Math.sin(t.re)*(Math.exp(-t.im)-Math.exp(t.im)));if(t instanceof e){if(!t.hasBase(e.BASE_UNITS.ANGLE))throw new TypeError("Unit in function cos is no angle");return Math.cos(t.value)}if(t instanceof Array)return gt.map(t,N);throw a("cos",t)}function E(t){if(1!=arguments.length)throw s("cot",arguments.length,1);if(n(t))return 1/Math.tan(t);if(t instanceof i){var r=Math.exp(-4*t.im)-2*Math.exp(-2*t.im)*Math.cos(2*t.re)+1;return new i(2*Math.exp(-2*t.im)*Math.sin(2*t.re)/r,(Math.exp(-4*t.im)-1)/r)}if(t instanceof e){if(!t.hasBase(e.BASE_UNITS.ANGLE))throw new TypeError("Unit in function cot is no angle");return 1/Math.tan(t.value)}if(t instanceof Array)return gt.map(t,E);throw a("cot",t)}function w(t){if(1!=arguments.length)throw s("sec",arguments.length,1);if(n(t))return 1/Math.cos(t);if(t instanceof i){var r=.25*(Math.exp(-2*t.im)+Math.exp(2*t.im))+.5*Math.cos(2*t.re);return new i(.5*Math.cos(t.re)*(Math.exp(-t.im)+Math.exp(t.im))/r,.5*Math.sin(t.re)*(Math.exp(t.im)-Math.exp(-t.im))/r)}if(t instanceof e){if(!t.hasBase(e.BASE_UNITS.ANGLE))throw new TypeError("Unit in function sec is no angle");return 1/Math.cos(t.value)}if(t instanceof Array)return gt.map(t,w);throw a("sec",t)}function b(t){if(1!=arguments.length)throw s("tan",arguments.length,1);if(n(t))return Math.tan(t);if(t instanceof i){var r=Math.exp(-4*t.im)+2*Math.exp(-2*t.im)*Math.cos(2*t.re)+1;return new i(2*Math.exp(-2*t.im)*Math.sin(2*t.re)/r,(1-Math.exp(-4*t.im))/r)}if(t instanceof e){if(!t.hasBase(e.BASE_UNITS.ANGLE))throw new TypeError("Unit in function tan is no angle");return Math.tan(t.value)}if(t instanceof Array)return gt.map(t,b);throw a("tan",t)}function M(e){if(1!=arguments.length)throw s("acos",arguments.length,1);if(n(e))return e>=-1&&1>=e?Math.acos(e):M(new i(e,0));if(e instanceof i){var t=new i(e.im*e.im-e.re*e.re+1,-2*e.re*e.im),r=F(t),o=new i(r.re-e.im,r.im+e.re),f=Z(o);return new i(1.5707963267948966-f.im,f.re)}if(e instanceof Array)return gt.map(e,M);throw a("acos",e)}function O(e){if(1!=arguments.length)throw s("arg",arguments.length,1);if(n(e))return Math.atan2(0,e);if(e instanceof i)return Math.atan2(e.im,e.re);if(e instanceof Array)return gt.map(e,O);throw a("arg",e)}function T(e){if(1!=arguments.length)throw s("conj",arguments.length,1);if(n(e))return e;if(e instanceof i)return new i(e.re,-e.im);if(e instanceof Array)return gt.map(e,T);throw a("conj",e)}function S(e){if(1!=arguments.length)throw s("im",arguments.length,1);if(n(e))return 0;if(e instanceof i)return e.im;if(e instanceof Array)return gt.map(e,S);throw a("im",e)}function k(e){if(1!=arguments.length)throw s("re",arguments.length,1);if(n(e))return e;if(e instanceof i)return e.re;if(e instanceof Array)return gt.map(e,k);throw a("re",e)}function _(e){if(1!=arguments.length)throw s("cube",arguments.length,1);if(n(e))return e*e*e;if(e instanceof i)return tt(tt(e,e),e);throw a("cube",e)}function A(t,r){if(2!=arguments.length)throw s("divide",arguments.length,2);if(n(t)){if(n(r))return t/r;if(r instanceof i)return U(new i(t,0),r)}else if(t instanceof i){if(n(r))return U(t,new i(r,0));if(r instanceof i)return U(t,r)}else if(t instanceof e&&n(r)){var o=t.copy();return o.value/=r,o}throw a("divide",t,r)}function U(e,t){var n=t.re*t.re+t.im*t.im;return new i((e.re*t.re+e.im*t.im)/n,(e.im*t.re-e.re*t.im)/n)}function q(r,o){if(2!=arguments.length)throw s("smallereq",arguments.length,2);if(n(r)){if(n(o))return o>=r;if(o instanceof i)return X(o)>=r}if(r instanceof i){if(n(o))return o>=X(r);if(o instanceof i)return X(r)<=X(o)}if(r instanceof e&&o instanceof e){if(!r.equalBase(o))throw Error("Cannot compare units with different base");return r.value<=o.value}if(t(r)||t(o))return o>=r;throw a("smallereq",r,o)}function L(e,t){if(1!=arguments.length&&2!=arguments.length)throw s("round",arguments.length,1,2);if(void 0==t){if(n(e))return Math.round(e);if(e instanceof i)return new i(Math.round(e.re),Math.round(e.im));throw a("round",e)}if(!n(t))throw new TypeError("Number of digits in function round must be an integer");if(t!==Math.round(t))throw new TypeError("Number of digits in function round must be integer");if(0>t||t>9)throw Error("Number of digits in function round must be in te range of 0-9");if(n(e))return C(e,t);if(e instanceof i)return new i(C(e.re,t),C(e.im,t));throw a("round",e,t)}function C(e,t){var n=Math.pow(10,void 0!=t?t:dt.options.precision);return Math.round(e*n)/n}function R(r,o){if(2!=arguments.length)throw s("equal",arguments.length,2);if(n(r)){if(n(o))return r==o;if(o instanceof i)return r==o.re&&0==o.im}if(r instanceof i){if(n(o))return r.re==o&&0==r.im;if(o instanceof i)return r.re==o.re&&r.im==o.im}if(r instanceof e&&o instanceof e){if(!r.equalBase(o))throw Error("Cannot compare units with different base");return r.value==o.value}if(t(r)||t(o))return r==o;throw a("equal",r,o)}function I(r,o){if(2!=arguments.length)throw s("unequal",arguments.length,2);if(n(r)){if(n(o))return r==o;if(o instanceof i)return r==o.re&&0==o.im}if(r instanceof i){if(n(o))return r.re==o&&0==r.im;if(o instanceof i)return r.re==o.re&&r.im==o.im}if(r instanceof e&&o instanceof e){if(!r.equalBase(o))throw Error("Cannot compare units with different base");return r.value==o.value}if(t(r)||t(o))return r==o;throw a("unequal",r,o)}function P(e){if(1!=arguments.length)throw s("log10",arguments.length,1);if(n(e))return e>=0?Math.log(e)/Math.LN10:P(new i(e,0));if(e instanceof i)return new i(Math.log(Math.sqrt(e.re*e.re+e.im*e.im))/Math.LN10,Math.atan2(e.im,e.re)/Math.LN10);if(e instanceof Array)return gt.map(e,P);throw a("log10",e)}function B(e){if(1!=arguments.length)throw s("fix",arguments.length,1);if(n(e))return value>0?Math.floor(e):Math.ceil(e);if(e instanceof i)return new i(e.re>0?Math.floor(e.re):Math.ceil(e.re),e.im>0?Math.floor(e.im):Math.ceil(e.im));if(e instanceof Array)return gt.map(e,B);throw a("fix",e)}function G(r,o){if(2!=arguments.length)throw s("add",arguments.length,2);if(n(r)){if(n(o))return r+o;if(o instanceof i)return new i(r+o.re,o.im)}else if(r instanceof i){if(n(o))return new i(r.re+o,r.im);if(o instanceof i)return new i(r.re+o.re,r.im+o.im)}else if(r instanceof e&&o instanceof e){if(!r.equalBase(o))throw Error("Units do not match");if(!r.hasValue)throw Error("Unit on left hand side of operator + has no value");if(!o.hasValue)throw Error("Unit on right hand side of operator + has no value");var f=r.copy();return f.value+=o.value,f.fixPrefix=!1,f}if(t(r)||t(o))return r+o;throw a("add",r,o)}function D(e,t){if(2!=arguments.length)throw s("mod",arguments.length,2);if(n(e)){if(n(t))return e%t;if(t instanceof i&&0==t.im)return e%t.re}else if(e instanceof i&&0==e.im){if(n(t))return e.re%t;if(t instanceof i&&0==t.im)return e.re%t.re}throw a("mod",e,t)}function Y(e){if(1!=arguments.length)throw s("exp",arguments.length,1);if(n(e))return Math.exp(e);if(e instanceof i){var t=Math.exp(e.re);return new i(t*Math.cos(e.im),t*Math.sin(e.im))}if(e instanceof Array)return gt.map(e,Y);throw a("exp",e)}function V(r,o){if(2!=arguments.length)throw s("largereq",arguments.length,2);if(n(r)){if(n(o))return r>=o;if(o instanceof i)return r>=X(o)}if(r instanceof i){if(n(o))return X(r)>=o;if(o instanceof i)return X(r)>=X(o)}if(r instanceof e&&o instanceof e){if(!r.equalBase(o))throw Error("Cannot compare units with different base");return r.value>=o.value}if(t(r)||t(o))return r>=o;throw a("largereq",r,o)}function F(e){if(1!=arguments.length)throw s("sqrt",arguments.length,1);if(n(e))return e>=0?Math.sqrt(e):F(new i(e,0));if(e instanceof i){var t=Math.sqrt(e.re*e.re+e.im*e.im);return e.im>=0?new i(.5*Math.sqrt(2*(t+e.re)),.5*Math.sqrt(2*(t-e.re))):new i(.5*Math.sqrt(2*(t+e.re)),-.5*Math.sqrt(2*(t-e.re)))}if(e instanceof Array)return gt.map(e,F);throw a("sqrt",e)}function H(e){if(1!=arguments.length)throw s("square",arguments.length,1);if(n(e))return e*e;if(e instanceof i)return tt(e,e);throw a("square",e)}function j(r,o){if(2!=arguments.length)throw s("larger",arguments.length,2);if(n(r)){if(n(o))return r>o;if(o instanceof i)return r>X(o)}if(r instanceof i){if(n(o))return X(r)>o;if(o instanceof i)return X(r)>X(o)}if(r instanceof e&&o instanceof e){if(!r.equalBase(o))throw Error("Cannot compare units with different base");return r.value>o.value}if(t(r)||t(o))return r>o;throw a("larger",r,o)}function K(e){if(1!=arguments.length)throw s("sign",arguments.length,1);if(n(e)){var t;return t=e>0?1:0>e?-1:0}if(e instanceof i){var r=Math.sqrt(e.re*e.re+e.im*e.im);return new i(e.re/r,e.im/r)}if(e instanceof Array)return gt.map(e,t);throw a("sign",e)}function z(t){if(1!=arguments.length)throw s("unaryminus",arguments.length,1);if(n(t))return-t;if(t instanceof i)return new i(-t.re,-t.im);if(t instanceof e){var r=t.copy();return r.value=-t.value,r}if(t instanceof Array)return gt.map(t,z);throw a("unaryminus",t)}function W(r,o){if(2!=arguments.length)throw s("smaller",arguments.length,2);if(n(r)){if(n(o))return o>r;if(o instanceof i)return X(o)>r}if(r instanceof i){if(n(o))return o>X(r);if(o instanceof i)return X(r)r;throw a("smaller",r,o)}function X(e){if(1!=arguments.length)throw s("abs",arguments.length,1);if(n(e))return Math.abs(e);if(e instanceof i)return Math.sqrt(e.re*e.re+e.im*e.im);if(e instanceof Array)return gt.map(e,X);throw a("abs",e)}function Z(e,t){if(1!=arguments.length&&2!=arguments.length)throw s("log",arguments.length,1,2);if(void 0!==t)return A(Z(e),Z(t));if(n(e))return e>=0?Math.log(e):Z(new i(e,0));if(e instanceof i)return new i(Math.log(Math.sqrt(e.re*e.re+e.im*e.im)),Math.atan2(e.im,e.re));if(e instanceof Array)return gt.map(e,Z);throw a("log",e,t)}function Q(e,t){if(2!=arguments.length)throw s("pow",arguments.length,2);if(n(e)){if(n(t))return r(t)||e>=0?Math.pow(e,t):J(new i(e,0),new i(t,0));if(t instanceof i)return J(new i(e,0),t)}else if(e instanceof i){if(n(t))return J(e,new i(t,0));if(t instanceof i)return J(e,t)}throw a("pow",e,t)}function J(e,t){var n=Z(e),r=tt(n,t);return Y(r)}function $(e){if(1!=arguments.length)throw s("floor",arguments.length,1);if(n(e))return Math.floor(e);if(e instanceof i)return new i(Math.floor(e.re),Math.floor(e.im));if(e instanceof Array)return gt.map(e,$);throw a("floor",e)}function et(e){if(1!=arguments.length)throw s("ceil",arguments.length,1);if(n(e))return Math.ceil(e);if(e instanceof i)return new i(Math.ceil(e.re),Math.ceil(e.im));if(e instanceof Array)return gt.map(e,et);throw a("ceil",e)}function tt(t,r){var o;if(2!=arguments.length)throw s("multiply",arguments.length,2);if(n(t)){if(n(r))return t*r;if(r instanceof i)return nt(new i(t,0),r);if(r instanceof e)return o=r.copy(),o.value*=t,o}else if(t instanceof i){if(n(r))return nt(t,new i(r,0));if(r instanceof i)return nt(t,r)}else if(t instanceof e&&n(r))return o=t.copy(),o.value*=r,o;throw a("multiply",t,r)}function nt(e,t){return new i(e.re*t.re-e.im*t.im,e.re*t.im+e.im*t.re)}function rt(t,r){if(2!=arguments.length)throw s("subtract",arguments.length,2);if(n(t)){if(n(r))return t-r;if(r instanceof i)return new i(t-r.re,r.im)}else if(t instanceof i){if(n(r))return new i(t.re-r,t.im);if(r instanceof i)return new i(t.re-r.re,t.im-r.im)}else if(t instanceof e&&r instanceof e){if(!t.equalBase(r))throw Error("Units do not match");if(!t.hasValue)throw Error("Unit on left hand side of operator - has no value");if(!r.hasValue)throw Error("Unit on right hand side of operator - has no value");var o=t.copy();return o.value-=r.value,o.fixPrefix=!1,o}throw a("subtract",t,r)}function it(){if(0!=arguments.length)throw s("random",arguments.length,0);return Math.random()}function at(e){if(1!=arguments.length)throw s("factorial",arguments.length,1);if(n(e)){if(!r(e))throw new TypeError("Function factorial can only handle integer values");var t=e,i=t;for(t--;t>1;)i*=t,t--;return 0==i&&(i=1),i}if(e instanceof Array)return gt.map(e,at);throw a("factorial",e)}function st(){}function ot(e,t,n){this.name=e,this.fn=t,this.params=n}function ft(e){this.value=e}function ut(){this.params=[],this.visible=[]}function ht(e,t,n,r){this.name=e,this.params=t,this.expr=n,this.result=r}function ct(e,t,n,r,i){this.name=e,this.variables=n,this.values=[];for(var a=0,s=this.variables.length;s>a;a++)this.values[a]=function(){var e=function(){return e.value};return e.value=void 0,e}();this.def=this.createFunction(e,t,n,r),this.result=i}function lt(e){this.parentScope=e,this.nestedScopes=void 0,this.symbols={},this.defs={},this.updates={},this.links={}}function pt(){if(this.constructor!=pt)throw new SyntaxError("Parser constructor must be called with the new operator");this.TOKENTYPE={NULL:0,DELIMITER:1,NUMBER:2,SYMBOL:3,UNKNOWN:4},this.expr="",this.index=0,this.c="",this.token="",this.token_type=this.TOKENTYPE.NULL,this.scope=new lt}function mt(){this.idMax=-1,this.updateSeq=0,this.parser=new pt,this.scope=new lt,this.nodes={},this.firstNode=void 0,this.lastNode=void 0}var dt={parser:{node:{}},options:{precision:10}};"undefined"!=typeof module&&module.exports!==void 0&&(module.exports=dt),"undefined"!=typeof exports&&(exports=dt),"undefined"!=typeof require&&"undefined"!=typeof define&&define(function(){return dt}),"undefined"!=typeof window&&(window.math=dt);var gt={};gt.format=function(e,t){if(1/0===e)return"Infinity";if(e===-1/0)return"-Infinity";if(0/0===e)return"NaN";var n=Math.abs(e);if(n>1e-4&&1e6>n||0==n)return C(e,t)+"";var r=Math.round(Math.log(n)/Math.LN10),i=e/Math.pow(10,r);return C(i,t)+"E"+r},gt.randomUUID=function(){var e=function(){return Math.floor(65536*Math.random()).toString(16)};return e()+e()+"-"+e()+"-"+e()+"-"+e()+"-"+e()+e()+e()},gt.map=function(e,t){return e.map(function(e){return t(e)})},Array.prototype.indexOf||(Array.prototype.indexOf=function(e){for(var t=0;this.length>t;t++)if(this[t]==e)return t;return-1}),Array.prototype.forEach||(Array.prototype.forEach=function(e,t){for(var n=0,r=this.length;r>n;++n)e.call(t||this,this[n],n,this)}),Array.prototype.map||(Array.prototype.map=function(e,t){var n,r,i;if(null==this)throw new TypeError(" this is null or not defined");var a=Object(this),s=a.length>>>0;if("function"!=typeof e)throw new TypeError(e+" is not a function");for(t&&(n=t),r=Array(s),i=0;s>i;){var o,f;i in a&&(o=a[i],f=e.call(n,o,i,a),r[i]=f),i++}return r}),dt.Unit=e,e.prototype.copy=function(){var t=new e;for(var n in this)this.hasOwnProperty(n)&&(t[n]=this[n]);return t},e.endsWith=function(e,t){var n=e.length-t.length,r=e.length;return e.substring(n,r)===t},e.prototype._init=function(t,n){if(void 0!==n){for(var r=e.UNITS,i=!1,a=0,s=r.length;s>a;a++){var o=r[a];if(e.endsWith(n,o.name)){var f=n.length-o.name.length,u=n.substring(0,f),h=o.prefixes[u];if(void 0!==h){this.unit=o,this.prefix=h,this.hasUnit=!0,i=!0;break}}}if(!i)throw Error('String "'+n+'" is no unit')}void 0!==t?(this.value=this._normalize(t),this.hasValue=!0):this.value=this._normalize(1)},e.prototype._normalize=function(e){return(e+this.unit.offset)*this.unit.value*this.prefix.value},e.prototype._unnormalize=function(e,t){return void 0===t?e/this.unit.value/this.prefix.value-this.unit.offset:e/this.unit.value/t-this.unit.offset},e.isUnit=function(t){for(var n=e.UNITS,r=n.length,i=0;r>i;i++){var a=n[i];if(e.endsWith(t,a.name)){var s=t.length-a.name.length;if(0==s)return!0;var o=t.substring(0,s),f=a.prefixes[o];if(void 0!==f)return!0}}return!1},e.prototype.hasBase=function(e){return void 0===this.unit.base?void 0===e:this.unit.base===e},e.prototype.equalBase=function(e){return this.unit.base===e.unit.base},e.prototype.equals=function(e){return this.equalBase(e)&&this.value==e.value},e.prototype.toString=function(){var t;if(this.fixPrefix)return t=this._unnormalize(this.value),gt.format(t)+" "+this.prefix.name+this.unit.name;var n=e.PREFIX_NONE,r=Math.abs(Math.log(this.value/n.value)/Math.LN10-1.5),i=this.unit.prefixes;for(var a in i)if(i.hasOwnProperty(a)){var s=i[a];if(s.scientific){var o=Math.abs(Math.log(this.value/s.value)/Math.LN10-1.5);r>o&&(n=s,r=o)}}return t=this._unnormalize(this.value,n.value),gt.format(t)+" "+n.name+this.unit.name},e.PREFIXES={NONE:{"":{name:"",value:1,scientific:!0}},SHORT:{"":{name:"",value:1,scientific:!0},da:{name:"da",value:10,scientific:!1},h:{name:"h",value:100,scientific:!1},k:{name:"k",value:1e3,scientific:!0},M:{name:"M",value:1e6,scientific:!0},G:{name:"G",value:1e9,scientific:!0},T:{name:"T",value:1e12,scientific:!0},P:{name:"P",value:1e15,scientific:!0},E:{name:"E",value:1e18,scientific:!0},Z:{name:"Z",value:1e21,scientific:!0},Y:{name:"Y",value:1e24,scientific:!0},d:{name:"d",value:.1,scientific:!1},c:{name:"c",value:.01,scientific:!1},m:{name:"m",value:.001,scientific:!0},u:{name:"u",value:1e-6,scientific:!0},n:{name:"n",value:1e-9,scientific:!0},p:{name:"p",value:1e-12,scientific:!0},f:{name:"f",value:1e-15,scientific:!0},a:{name:"a",value:1e-18,scientific:!0},z:{name:"z",value:1e-21,scientific:!0},y:{name:"y",value:1e-24,scientific:!0}},LONG:{"":{name:"",value:1,scientific:!0},deca:{name:"deca",value:10,scientific:!1},hecto:{name:"hecto",value:100,scientific:!1},kilo:{name:"kilo",value:1e3,scientific:!0},mega:{name:"mega",value:1e6,scientific:!0},giga:{name:"giga",value:1e9,scientific:!0},tera:{name:"tera",value:1e12,scientific:!0},peta:{name:"peta",value:1e15,scientific:!0},exa:{name:"exa",value:1e18,scientific:!0},zetta:{name:"zetta",value:1e21,scientific:!0},yotta:{name:"yotta",value:1e24,scientific:!0},deci:{name:"deci",value:.1,scientific:!1},centi:{name:"centi",value:.01,scientific:!1},milli:{name:"milli",value:.001,scientific:!0},micro:{name:"micro",value:1e-6,scientific:!0},nano:{name:"nano",value:1e-9,scientific:!0},pico:{name:"pico",value:1e-12,scientific:!0},femto:{name:"femto",value:1e-15,scientific:!0},atto:{name:"atto",value:1e-18,scientific:!0},zepto:{name:"zepto",value:1e-21,scientific:!0},yocto:{name:"yocto",value:1e-24,scientific:!0}},BINARY_SHORT:{"":{name:"",value:1,scientific:!0},k:{name:"k",value:1024,scientific:!0},M:{name:"M",value:Math.pow(1024,2),scientific:!0},G:{name:"G",value:Math.pow(1024,3),scientific:!0},T:{name:"T",value:Math.pow(1024,4),scientific:!0},P:{name:"P",value:Math.pow(1024,5),scientific:!0},E:{name:"E",value:Math.pow(1024,6),scientific:!0},Z:{name:"Z",value:Math.pow(1024,7),scientific:!0},Y:{name:"Y",value:Math.pow(1024,8),scientific:!0},Ki:{name:"Ki",value:1024,scientific:!0},Mi:{name:"Mi",value:Math.pow(1024,2),scientific:!0},Gi:{name:"Gi",value:Math.pow(1024,3),scientific:!0},Ti:{name:"Ti",value:Math.pow(1024,4),scientific:!0},Pi:{name:"Pi",value:Math.pow(1024,5),scientific:!0},Ei:{name:"Ei",value:Math.pow(1024,6),scientific:!0},Zi:{name:"Zi",value:Math.pow(1024,7),scientific:!0},Yi:{name:"Yi",value:Math.pow(1024,8),scientific:!0}},BINARY_LONG:{"":{name:"",value:1,scientific:!0},kilo:{name:"kilo",value:1024,scientific:!0},mega:{name:"mega",value:Math.pow(1024,2),scientific:!0},giga:{name:"giga",value:Math.pow(1024,3),scientific:!0},tera:{name:"tera",value:Math.pow(1024,4),scientific:!0},peta:{name:"peta",value:Math.pow(1024,5),scientific:!0},exa:{name:"exa",value:Math.pow(1024,6),scientific:!0},zetta:{name:"zetta",value:Math.pow(1024,7),scientific:!0},yotta:{name:"yotta",value:Math.pow(1024,8),scientific:!0},kibi:{name:"kibi",value:1024,scientific:!0},mebi:{name:"mebi",value:Math.pow(1024,2),scientific:!0},gibi:{name:"gibi",value:Math.pow(1024,3),scientific:!0},tebi:{name:"tebi",value:Math.pow(1024,4),scientific:!0},pebi:{name:"pebi",value:Math.pow(1024,5),scientific:!0},exi:{name:"exi",value:Math.pow(1024,6),scientific:!0},zebi:{name:"zebi",value:Math.pow(1024,7),scientific:!0},yobi:{name:"yobi",value:Math.pow(1024,8),scientific:!0}}},e.PREFIX_NONE={name:"",value:1,scientific:!0},e.BASE_UNITS={NONE:{},LENGTH:{},MASS:{},TIME:{},CURRENT:{},TEMPERATURE:{},LUMINOUS_INTENSITY:{},AMOUNT_OF_SUBSTANCE:{},FORCE:{},SURFACE:{},VOLUME:{},ANGLE:{},BIT:{}};var vt=e.BASE_UNITS,xt=e.PREFIXES;e.BASE_UNIT_NONE={},e.UNIT_NONE={name:"",base:e.BASE_UNIT_NONE,value:1,offset:0},e.UNITS=[{name:"meter",base:vt.LENGTH,prefixes:xt.LONG,value:1,offset:0},{name:"inch",base:vt.LENGTH,prefixes:xt.NONE,value:.0254,offset:0},{name:"foot",base:vt.LENGTH,prefixes:xt.NONE,value:.3048,offset:0},{name:"yard",base:vt.LENGTH,prefixes:xt.NONE,value:.9144,offset:0},{name:"mile",base:vt.LENGTH,prefixes:xt.NONE,value:1609.344,offset:0},{name:"link",base:vt.LENGTH,prefixes:xt.NONE,value:.201168,offset:0},{name:"rod",base:vt.LENGTH,prefixes:xt.NONE,value:5.02921,offset:0},{name:"chain",base:vt.LENGTH,prefixes:xt.NONE,value:20.1168,offset:0},{name:"angstrom",base:vt.LENGTH,prefixes:xt.NONE,value:1e-10,offset:0},{name:"m",base:vt.LENGTH,prefixes:xt.SHORT,value:1,offset:0},{name:"ft",base:vt.LENGTH,prefixes:xt.NONE,value:.3048,offset:0},{name:"yd",base:vt.LENGTH,prefixes:xt.NONE,value:.9144,offset:0},{name:"mi",base:vt.LENGTH,prefixes:xt.NONE,value:1609.344,offset:0},{name:"li",base:vt.LENGTH,prefixes:xt.NONE,value:.201168,offset:0},{name:"rd",base:vt.LENGTH,prefixes:xt.NONE,value:5.02921,offset:0},{name:"ch",base:vt.LENGTH,prefixes:xt.NONE,value:20.1168,offset:0},{name:"mil",base:vt.LENGTH,prefixes:xt.NONE,value:254e-7,offset:0},{name:"m2",base:vt.SURFACE,prefixes:xt.SHORT,value:1,offset:0},{name:"sqin",base:vt.SURFACE,prefixes:xt.NONE,value:64516e-8,offset:0},{name:"sqft",base:vt.SURFACE,prefixes:xt.NONE,value:.09290304,offset:0},{name:"sqyd",base:vt.SURFACE,prefixes:xt.NONE,value:.83612736,offset:0},{name:"sqmi",base:vt.SURFACE,prefixes:xt.NONE,value:2589988.110336,offset:0},{name:"sqrd",base:vt.SURFACE,prefixes:xt.NONE,value:25.29295,offset:0},{name:"sqch",base:vt.SURFACE,prefixes:xt.NONE,value:404.6873,offset:0},{name:"sqmil",base:vt.SURFACE,prefixes:xt.NONE,value:6.4516e-10,offset:0},{name:"m3",base:vt.VOLUME,prefixes:xt.SHORT,value:1,offset:0},{name:"L",base:vt.VOLUME,prefixes:xt.SHORT,value:.001,offset:0},{name:"litre",base:vt.VOLUME,prefixes:xt.LONG,value:.001,offset:0},{name:"cuin",base:vt.VOLUME,prefixes:xt.NONE,value:16387064e-12,offset:0},{name:"cuft",base:vt.VOLUME,prefixes:xt.NONE,value:.028316846592,offset:0},{name:"cuyd",base:vt.VOLUME,prefixes:xt.NONE,value:.764554857984,offset:0},{name:"teaspoon",base:vt.VOLUME,prefixes:xt.NONE,value:5e-6,offset:0},{name:"tablespoon",base:vt.VOLUME,prefixes:xt.NONE,value:15e-6,offset:0},{name:"minim",base:vt.VOLUME,prefixes:xt.NONE,value:6.161152e-8,offset:0},{name:"fluiddram",base:vt.VOLUME,prefixes:xt.NONE,value:36966911e-13,offset:0},{name:"fluidounce",base:vt.VOLUME,prefixes:xt.NONE,value:2957353e-11,offset:0},{name:"gill",base:vt.VOLUME,prefixes:xt.NONE,value:.0001182941,offset:0},{name:"cup",base:vt.VOLUME,prefixes:xt.NONE,value:.0002365882,offset:0},{name:"pint",base:vt.VOLUME,prefixes:xt.NONE,value:.0004731765,offset:0},{name:"quart",base:vt.VOLUME,prefixes:xt.NONE,value:.0009463529,offset:0},{name:"gallon",base:vt.VOLUME,prefixes:xt.NONE,value:.003785412,offset:0},{name:"beerbarrel",base:vt.VOLUME,prefixes:xt.NONE,value:.1173478,offset:0},{name:"oilbarrel",base:vt.VOLUME,prefixes:xt.NONE,value:.1589873,offset:0},{name:"hogshead",base:vt.VOLUME,prefixes:xt.NONE,value:.238481,offset:0},{name:"fldr",base:vt.VOLUME,prefixes:xt.NONE,value:36966911e-13,offset:0},{name:"floz",base:vt.VOLUME,prefixes:xt.NONE,value:2957353e-11,offset:0},{name:"gi",base:vt.VOLUME,prefixes:xt.NONE,value:.0001182941,offset:0},{name:"cp",base:vt.VOLUME,prefixes:xt.NONE,value:.0002365882,offset:0},{name:"pt",base:vt.VOLUME,prefixes:xt.NONE,value:.0004731765,offset:0},{name:"qt",base:vt.VOLUME,prefixes:xt.NONE,value:.0009463529,offset:0},{name:"gal",base:vt.VOLUME,prefixes:xt.NONE,value:.003785412,offset:0},{name:"bbl",base:vt.VOLUME,prefixes:xt.NONE,value:.1173478,offset:0},{name:"obl",base:vt.VOLUME,prefixes:xt.NONE,value:.1589873,offset:0},{name:"g",base:vt.MASS,prefixes:xt.SHORT,value:.001,offset:0},{name:"gram",base:vt.MASS,prefixes:xt.LONG,value:.001,offset:0},{name:"ton",base:vt.MASS,prefixes:xt.SHORT,value:907.18474,offset:0},{name:"tonne",base:vt.MASS,prefixes:xt.SHORT,value:1e3,offset:0},{name:"grain",base:vt.MASS,prefixes:xt.NONE,value:6479891e-11,offset:0},{name:"dram",base:vt.MASS,prefixes:xt.NONE,value:.0017718451953125,offset:0},{name:"ounce",base:vt.MASS,prefixes:xt.NONE,value:.028349523125,offset:0},{name:"poundmass",base:vt.MASS,prefixes:xt.NONE,value:.45359237,offset:0},{name:"hundredweight",base:vt.MASS,prefixes:xt.NONE,value:45.359237,offset:0},{name:"stick",base:vt.MASS,prefixes:xt.NONE,value:.115,offset:0},{name:"gr",base:vt.MASS,prefixes:xt.NONE,value:6479891e-11,offset:0},{name:"dr",base:vt.MASS,prefixes:xt.NONE,value:.0017718451953125,offset:0},{name:"oz",base:vt.MASS,prefixes:xt.NONE,value:.028349523125,offset:0},{name:"lbm",base:vt.MASS,prefixes:xt.NONE,value:.45359237,offset:0},{name:"cwt",base:vt.MASS,prefixes:xt.NONE,value:45.359237,offset:0},{name:"s",base:vt.TIME,prefixes:xt.SHORT,value:1,offset:0},{name:"min",base:vt.TIME,prefixes:xt.NONE,value:60,offset:0},{name:"h",base:vt.TIME,prefixes:xt.NONE,value:3600,offset:0},{name:"seconds",base:vt.TIME,prefixes:xt.LONG,value:1,offset:0},{name:"second",base:vt.TIME,prefixes:xt.LONG,value:1,offset:0},{name:"sec",base:vt.TIME,prefixes:xt.LONG,value:1,offset:0},{name:"minutes",base:vt.TIME,prefixes:xt.NONE,value:60,offset:0},{name:"minute",base:vt.TIME,prefixes:xt.NONE,value:60,offset:0},{name:"hours",base:vt.TIME,prefixes:xt.NONE,value:3600,offset:0},{name:"hour",base:vt.TIME,prefixes:xt.NONE,value:3600,offset:0},{name:"day",base:vt.TIME,prefixes:xt.NONE,value:86400,offset:0},{name:"days",base:vt.TIME,prefixes:xt.NONE,value:86400,offset:0},{name:"rad",base:vt.ANGLE,prefixes:xt.NONE,value:1,offset:0},{name:"deg",base:vt.ANGLE,prefixes:xt.NONE,value:.017453292519943295,offset:0},{name:"grad",base:vt.ANGLE,prefixes:xt.NONE,value:.015707963267948967,offset:0},{name:"cycle",base:vt.ANGLE,prefixes:xt.NONE,value:6.283185307179586,offset:0},{name:"A",base:vt.CURRENT,prefixes:xt.SHORT,value:1,offset:0},{name:"ampere",base:vt.CURRENT,prefixes:xt.LONG,value:1,offset:0},{name:"K",base:vt.TEMPERATURE,prefixes:xt.NONE,value:1,offset:0},{name:"degC",base:vt.TEMPERATURE,prefixes:xt.NONE,value:1,offset:273.15},{name:"degF",base:vt.TEMPERATURE,prefixes:xt.NONE,value:1/1.8,offset:459.67},{name:"degR",base:vt.TEMPERATURE,prefixes:xt.NONE,value:1/1.8,offset:0},{name:"kelvin",base:vt.TEMPERATURE,prefixes:xt.NONE,value:1,offset:0},{name:"celsius",base:vt.TEMPERATURE,prefixes:xt.NONE,value:1,offset:273.15},{name:"fahrenheit",base:vt.TEMPERATURE,prefixes:xt.NONE,value:1/1.8,offset:459.67},{name:"rankine",base:vt.TEMPERATURE,prefixes:xt.NONE,value:1/1.8,offset:0},{name:"mol",base:vt.AMOUNT_OF_SUBSTANCE,prefixes:xt.NONE,value:1,offset:0},{name:"mole",base:vt.AMOUNT_OF_SUBSTANCE,prefixes:xt.NONE,value:1,offset:0},{name:"cd",base:vt.LUMINOUS_INTENSITY,prefixes:xt.NONE,value:1,offset:0},{name:"candela",base:vt.LUMINOUS_INTENSITY,prefixes:xt.NONE,value:1,offset:0},{name:"N",base:vt.FORCE,prefixes:xt.SHORT,value:1,offset:0},{name:"newton",base:vt.FORCE,prefixes:xt.LONG,value:1,offset:0},{name:"lbf",base:vt.FORCE,prefixes:xt.NONE,value:4.4482216152605,offset:0},{name:"poundforce",base:vt.FORCE,prefixes:xt.NONE,value:4.4482216152605,offset:0},{name:"b",base:vt.BIT,prefixes:xt.BINARY_SHORT,value:1,offset:0},{name:"bits",base:vt.BIT,prefixes:xt.BINARY_LONG,value:1,offset:0},{name:"B",base:vt.BIT,prefixes:xt.BINARY_SHORT,value:8,offset:0},{name:"bytes",base:vt.BIT,prefixes:xt.BINARY_LONG,value:8,offset:0}],dt.Complex=i,i.parse=function(e){function n(){for(;" "==u||" "==u;)s() }function r(e){return e>="0"&&"9">=e||"."==e}function a(e){return e>="0"&&"9">=e}function s(){f++,u=e[f]}function o(){var e="";for("+"==u&&s(),"-"==u&&(e+=u,s());r(u);)e+=u,s();if("E"==u||"e"==u){if(e+=u,s(),("+"==u||"-"==u)&&(e+=u,s()),!a(u))return null;for(;a(u);)e+=u,s()}return e}var f=-1,u="";if(!t(e))return null;s(),n();var h=o();if(h){if("I"==u||"i"==u)return s(),n(),u?null:new i(0,Number(h));n();var c=u;if("+"!=c&&"-"!=c)return n(),u?null:new i(Number(h),0);s(),n();var l=o();return l?"I"!=u&&"i"!=u?null:("-"==c&&(l="-"==l[0]?"+"+l.substring(1):"-"+l),s(),n(),u?null:new i(Number(h),Number(l))):null}return null},i.prototype.copy=function(){return new i(this.re,this.im)},i.prototype.toString=function(){var e="";return e=0==this.im?gt.format(this.re):0==this.re?1==this.im?"i":-1==this.im?"-i":gt.format(this.im)+"i":this.im>0?1==this.im?gt.format(this.re)+" + i":gt.format(this.re)+" + "+gt.format(this.im)+"i":-1==this.im?gt.format(this.re)+" - i":gt.format(this.re)+" - "+gt.format(Math.abs(this.im))+"i"},i.doc={name:"Complex",category:"type",syntax:["a + bi","a + b * i"],description:"A complex value a + bi, where a is the real part and b is the complex part, and i is the imaginary number defined as sqrt(-1).",examples:["2 + 3i","sqrt(-4)","(1.2 -5i) * 2"],seealso:["abs","arg","conj","im","re"]},dt.E=Math.E,dt.LN2=Math.LN2,dt.LN10=Math.LN10,dt.LOG2E=Math.LOG2E,dt.LOG10E=Math.LOG10E,dt.PI=Math.PI,dt.SQRT1_2=Math.SQRT1_2,dt.SQRT2=Math.SQRT2,dt.I=new i(0,-1),dt.pi=dt.PI,dt.e=dt.E,dt.i=dt.I,dt["import"]=o,o.doc={name:"import",category:"Utils",syntax:["import(string)"],description:"Import functions from a file.",examples:['import("numbers")','import("./mylib.js")'],seealso:[]},dt.help=u,u.doc={name:"help",category:"Utils",syntax:["help(object)"],description:"Display documentation on a function or data type.",examples:['help("sqrt")','help("Complex")'],seealso:[]},dt["typeof"]=c,c.doc={name:"typeof",category:"Utils",syntax:["typeof(x)"],description:"Get the type of a variable.",examples:["typeof(3.5)","typeof(2 - 4i)","typeof(45 deg)",'typeof("hello world")'],seealso:[]},dt.min=l,l.doc={name:"min",category:"Statistics",syntax:["min(a, b, c, ...)"],description:"Compute the minimum value of a list of values.",examples:["max(2, 3, 4, 1)","max(2.7, 7.1, -4.5, 2.0, 4.1)","min(2.7, 7.1, -4.5, 2.0, 4.1)"],seealso:["sum","prod","avg","var","std","min","median"]},dt.max=p,p.doc={name:"max",category:"Statistics",syntax:["max(a, b, c, ...)"],description:"Compute the maximum value of a list of values.",examples:["max(2, 3, 4, 1)","max(2.7, 7.1, -4.5, 2.0, 4.1)","min(2.7, 7.1, -4.5, 2.0, 4.1)"],seealso:["sum","prod","avg","var","std","min","median"]},dt["in"]=m,m.doc={name:"in",category:"Units",syntax:["x in unit","in(x, unit)"],description:"Change the unit of a value.",examples:["5 inch in cm","3.2kg in g","16 bytes in bits"],seealso:[]},dt.sin=d,d.doc={name:"sin",category:"Trigonometry",syntax:["sin(x)"],description:"Compute the sine of x in radians.",examples:["sin(2)","sin(pi / 4) ^ 2","sin(90 deg)","sin(30 deg)","sin(0.2)^2 + cos(0.2)^2"],seealso:["asin","cos","tan"]},dt.atan2=g,g.doc={name:"atan2",category:"Trigonometry",syntax:["atan2(y, x)"],description:"Computes the principal value of the arc tangent of y/x in radians.",examples:["atan2(2, 2) / pi","angle = 60 deg in rad","x = cos(angle)","y = sin(angle)","atan2(y, x)"],seealso:["sin","cos","tan"]},dt.asin=v,v.doc={name:"asin",category:"Trigonometry",syntax:["asin(x)"],description:"Compute the inverse sine of a value in radians.",examples:["asin(0.5)","asin(sin(2.3))"],seealso:["sin","acos","asin"]},dt.atan=x,x.doc={name:"atan",category:"Trigonometry",syntax:["atan(x)"],description:"Compute the inverse tangent of a value in radians.",examples:["atan(0.5)","atan(tan(2.3))"],seealso:["tan","acos","asin"]},dt.csc=y,y.doc={name:"csc",category:"Trigonometry",syntax:["csc(x)"],description:"Compute the cosecant of x in radians. Defined as 1/sin(x)",examples:["csc(2)","1 / sin(2)"],seealso:["sec","cot","sin"]},dt.cos=N,N.doc={name:"cos",category:"Trigonometry",syntax:["cos(x)"],description:"Compute the cosine of x in radians.",examples:["cos(2)","cos(pi / 4) ^ 2","cos(180 deg)","cos(60 deg)","sin(0.2)^2 + cos(0.2)^2"],seealso:["acos","sin","tan"]},dt.cot=E,E.doc={name:"cot",category:"Trigonometry",syntax:["cot(x)"],description:"Compute the cotangent of x in radians. Defined as 1/tan(x)",examples:["cot(2)","1 / tan(2)"],seealso:["sec","csc","tan"]},dt.sec=w,w.doc={name:"sec",category:"Trigonometry",syntax:["sec(x)"],description:"Compute the secant of x in radians. Defined as 1/cos(x)",examples:["sec(2)","1 / cos(2)"],seealso:["cot","csc","cos"]},dt.tan=b,b.doc={name:"tan",category:"Trigonometry",syntax:["tan(x)"],description:"Compute the tangent of x in radians.",examples:["tan(0.5)","sin(0.5) / cos(0.5)","tan(pi / 4)","tan(45 deg)"],seealso:["atan","sin","cos"]},dt.acos=M,M.doc={name:"acos",category:"Trigonometry",syntax:["acos(x)"],description:"Compute the inverse cosine of a value in radians.",examples:["acos(0.5)","acos(cos(2.3))"],seealso:["cos","acos","asin"]},dt.arg=O,O.doc={name:"arg",category:"Complex",syntax:["arg(x)"],description:"Compute the argument of a complex value. If x = a+bi, the argument is computed as atan2(b, a).",examples:["arg(2 + 2i)","atan2(3, 2)","arg(2 - 3i)"],seealso:["re","im","conj","abs"]},dt.conj=T,T.doc={name:"conj",category:"Complex",syntax:["conj(x)"],description:"Compute the complex conjugate of a complex value. If x = a+bi, the complex conjugate is a-bi.",examples:["conj(2 + 3i)","conj(2 - 3i)","conj(-5.2i)"],seealso:["re","im","abs","arg"]},dt.im=S,S.doc={name:"im",category:"Complex",syntax:["im(x)"],description:"Get the imaginary part of a complex number.",examples:["im(2 + 3i)","re(2 + 3i)","im(-5.2i)","im(2.4)"],seealso:["re","conj","abs","arg"]},dt.re=k,k.doc={name:"re",category:"Complex",syntax:["re(x)"],description:"Get the real part of a complex number.",examples:["re(2 + 3i)","im(2 + 3i)","re(-5.2i)","re(2.4)"],seealso:["im","conj","abs","arg"]},dt.cube=_,_.doc={name:"cube",category:"Arithmetic",syntax:["cube(x)"],description:"Compute the cube of a value. The cube of x is x * x * x.",examples:["cube(2)","2^3","2 * 2 * 2"],seealso:["multiply","square","pow"]},dt.divide=A,A.doc={name:"divide",category:"Operators",syntax:["x / y","divide(x, y)"],description:"Divide two values.",examples:["2 / 3","ans * 3","4.5 / 2","3 + 4 / 2","(3 + 4) / 2","18 km / 4.5"],seealso:["multiply"]},dt.smallereq=q,q.doc={name:"smallereq",category:"Operators",syntax:["x <= y","smallereq(x, y)"],description:"Check if value x is smaller or equal to value y. Returns 1 if x is smaller than y, and 0 if not.",examples:["2 < 1+1","2 <= 1+1","a = 3.2","b = 6-2.8","(a < b)"],seealso:["equal","unequal","larger","smaller","largereq"]},dt.round=L,L.doc={name:"round",category:"Arithmetic",syntax:["round(x)","round(x, n)"],description:"round a value towards the nearest integer.If x is complex, both real and imaginary part are rounded towards the nearest integer. When n is specified, the value is rounded to n decimals.",examples:["round(3.2)","round(3.8)","round(-4.2)","round(-4.8)","round(pi, 3)","round(123.45678, 2)"],seealso:["ceil","floor","fix"]},dt.equal=R,R.doc={name:"equal",category:"Operators",syntax:["x == y","equal(x, y)"],description:"Check equality of two values. Returns 1 if the values are equal, and 0 if not.",examples:["2+2 == 3","2+2 == 4","a = 3.2","b = 6-2.8","a == b","50cm == 0.5m"],seealso:["unequal","smaller","larger","smallereq","largereq"]},dt.unequal=I,I.doc={name:"unequal",category:"Operators",syntax:["x != y","unequal(x, y)"],description:"Check unequality of two values. Returns 1 if the values are unequal, and 0 if they are equal.",examples:["2+2 != 3","2+2 != 4","a = 3.2","b = 6-2.8","a != b","50cm != 0.5m","5 cm != 2 inch"],seealso:["equal","smaller","larger","smallereq","largereq"]},dt.log10=P,P.doc={name:"log10",category:"Arithmetic",syntax:["log10(x)"],description:"Compute the 10-base logarithm of a value.",examples:["log10(1000)","10 ^ 3","log10(0.01)","log(1000) / log(10)","log(1000, 10)"],seealso:["exp","log"]},dt.fix=B,B.doc={name:"fix",category:"Arithmetic",syntax:["fix(x)"],description:"Round a value towards zero.If x is complex, both real and imaginary part are rounded towards zero.",examples:["fix(3.2)","fix(3.8)","fix(-4.2)","fix(-4.8)"],seealso:["ceil","floor","round"]},dt.add=G,G.doc={name:"add",category:"Operators",syntax:["x + y","add(x, y)"],description:"Add two values.",examples:["2.1 + 3.6","ans - 3.6","3 + 2i",'"hello" + " world"',"3 cm + 2 inch"],seealso:["subtract"]},dt.mod=D,D.doc={name:"mod",category:"Operators",syntax:["x % y","x mod y","mod(x, y)"],description:"Calculates the modulus, the remainder of an integer division.",examples:["7 % 3","11 % 2","10 mod 4","function isOdd(x) = x % 2","isOdd(2)","isOdd(3)"],seealso:[]},dt.exp=Y,Y.doc={name:"exp",category:"Arithmetic",syntax:["exp(x)"],description:"Calculate the exponent of a value.",examples:["exp(1.3)","e ^ 1.3","log(exp(1.3))","x = 2.4","(exp(i*x) == cos(x) + i*sin(x)) # Euler's formula"],seealso:["square","multiply","log"]},dt.largereq=V,V.doc={name:"largereq",category:"Operators",syntax:["x >= y","largereq(x, y)"],description:"Check if value x is larger or equal to y. Returns 1 if x is larger or equal to y, and 0 if not.",examples:["2 > 1+1","2 >= 1+1","a = 3.2","b = 6-2.8","(a > b)"],seealso:["equal","unequal","smallereq","smaller","largereq"]},dt.sqrt=F,F.doc={name:"sqrt",category:"Arithmetic",syntax:["sqrt(x)"],description:"Compute the square root value. If x = y * y, then y is the square root of x.",examples:["sqrt(25)","5 * 5","sqrt(-1)"],seealso:["square","multiply"]},dt.square=H,H.doc={name:"square",category:"Arithmetic",syntax:["square(x)"],description:"Compute the square of a value. The square of x is x * x.",examples:["square(3)","sqrt(9)","3^2","3 * 3"],seealso:["multiply","pow","sqrt","cube"]},dt.larger=j,j.doc={name:"larger",category:"Operators",syntax:["x > y","larger(x, y)"],description:"Check if value x is larger than y. Returns 1 if x is larger than y, and 0 if not.",examples:["2 > 3","5 > 2*2","a = 3.3","b = 6-2.8","(a > b)","(b < a)","5 cm > 2 inch"],seealso:["equal","unequal","smaller","smallereq","largereq"]},dt.sign=K,K.doc={name:"sign",category:"Arithmetic",syntax:["sign(x)"],description:"Compute the sign of a value. The sign of a value x is 1 when x>1, -1 when x<0, and 0 when x=0.",examples:["sign(3.5)","sign(-4.2)","sign(0)"],seealso:["abs"]},dt.unaryminus=z,z.doc={name:"unaryminus",category:"Operators",syntax:["-x","unaryminus(x)"],description:"Inverse the sign of a value.",examples:["-4.5","-(-5.6)"],seealso:["add","subtract"]},dt.smaller=W,W.doc={name:"smaller",category:"Operators",syntax:["x < y","smaller(x, y)"],description:"Check if value x is smaller than value y. Returns 1 if x is smaller than y, and 0 if not.",examples:["2 < 3","5 < 2*2","a = 3.3","b = 6-2.8","(a < b)","5 cm < 2 inch"],seealso:["equal","unequal","larger","smallereq","largereq"]},dt.abs=X,X.doc={name:"abs",category:"Arithmetic",syntax:["abs(x)"],description:"Compute the absolute value.",examples:["abs(3.5)","abs(-4.2)"],seealso:["sign"]},dt.log=Z,Z.doc={name:"log",category:"Arithmetic",syntax:["log(x)","log(x, base)"],description:"Compute the logarithm of a value. If no base is provided, the natural logarithm of x is calculated. If base if provided, the logarithm is calculated for the specified base. log(x, base) is defined as log(x) / log(base).",examples:["log(3.5)","a = log(2.4)","exp(a)","10 ^ 3","log(1000, 10)","log(1000) / log(10)","b = logb(1024, 2)","2 ^ b"],seealso:["exp","log10"]},dt.pow=Q,Q.doc={name:"pow",category:"Operators",syntax:["x ^ y","pow(x, y)"],description:"Calculates the power of x to y, x^y.",examples:["2^3 = 8","2*2*2","1 + e ^ (pi * i)"],seealso:["unequal","smaller","larger","smallereq","largereq"]},dt.floor=$,$.doc={name:"floor",category:"Arithmetic",syntax:["floor(x)"],description:"Round a value towards minus infinity.If x is complex, both real and imaginary part are rounded towards minus infinity.",examples:["floor(3.2)","floor(3.8)","floor(-4.2)"],seealso:["ceil","fix","round"]},dt.ceil=et,et.doc={name:"ceil",category:"Arithmetic",syntax:["ceil(x)"],description:"Round a value towards plus infinity.If x is complex, both real and imaginary part are rounded towards plus infinity.",examples:["ceil(3.2)","ceil(3.8)","ceil(-4.2)"],seealso:["floor","fix","round"]},dt.multiply=tt,tt.doc={name:"multiply",category:"Operators",syntax:["x * y","multiply(x, y)"],description:"multiply two values.",examples:["2.1 * 3.6","ans / 3.6","2 * 3 + 4","2 * (3 + 4)","3 * 2.1 km"],seealso:["divide"]},dt.subtract=rt,rt.doc={name:"subtract",category:"Operators",syntax:["x - y","subtract(x, y)"],description:"subtract two values.",examples:["5.3 - 2","ans + 2","2/3 - 1/6","2 * 3 - 3","2.1 km - 500m"],seealso:["add"]},dt.random=it,it.doc={name:"random",category:"Probability",syntax:["random()"],description:"Return a random number between 0 and 1.",examples:["random()","100 * random()"],seealso:[]},dt.factorial=at,at.doc={name:"factorial",category:"Probability",syntax:["x!","factorial(x)"],description:"Compute the factorial of a value",examples:["5!","5*4*3*2*1","3!"],seealso:[]},dt.parser.node.Node=st,st.prototype.eval=function(){throw Error("Cannot evaluate a Node interface")},st.prototype.toString=function(){return""},ot.prototype=new st,dt.parser.node.Symbol=ot,ot.prototype.hasParams=function(){return void 0!=this.params&&this.params.length>0},ot.prototype.eval=function(){var e=this.fn;if(void 0===e)throw Error("Undefined symbol "+this.name);var t=this.params.map(function(e){return e.eval()});return e.apply(this,t)},ot.prototype.toString=function(){if(this.name&&!this.params)return this.name;var e=this.name;return this.params&&this.params.length&&(e+="("+this.params.join(", ")+")"),e},ft.prototype=new st,dt.parser.node.Constant=ft,ft.prototype.eval=function(){return this.value},ft.prototype.toString=function(){return this.value?""+this.value:""},ut.prototype=new st,dt.parser.node.Block=ut,ut.prototype.add=function(e,t){var n=this.params.length;this.params[n]=e,this.visible[n]=void 0!=t?t:!0},ut.prototype.eval=function(){for(var e=[],t=0,n=this.params.length;n>t;t++){var r=this.params[t].eval();this.visible[t]&&e.push(r)}return e},ut.prototype.toString=function(){for(var e=[],t=0,n=this.params.length;n>t;t++)this.visible[t]&&e.push("\n "+(""+this.params[t]));return"["+e.join(",")+"\n]"},ht.prototype=new st,dt.parser.node.Assignment=ht,ht.prototype.eval=function(){if(void 0===this.expr)throw Error("Undefined symbol "+this.name);var e,t=this.params;if(t&&t.length){var n=[];this.params.forEach(function(e){n.push(e.eval())});var r=this.expr.eval();if(void 0==this.result.value)throw Error("Undefined symbol "+this.name);var i=this.result.eval();e=i.set(n,r),this.result.value=e}else e=this.expr.eval(),this.result.value=e;return e},ht.prototype.toString=function(){var e="";return e+=this.name,this.params&&this.params.length&&(e+="("+this.params.join(", ")+")"),e+=" = ",e+=""+this.expr},ct.prototype=new st,dt.parser.node.FunctionAssignment=ct,ct.prototype.createFunction=function(e,t,n,r){var i=function(){var t=n?n.length:0,i=arguments?arguments.length:0;if(t!=i)throw s(e,i,t);if(t>0)for(var a=0;t>a;a++)n[a].value=arguments[a];return r.eval()};return i.toString=function(){return e+"("+t.join(", ")+")"},i},ct.prototype.eval=function(){for(var e=this.variables,t=this.values,n=0,r=e.length;r>n;n++)e[n].value=t[n];return this.result.value=this.def,this.def},ct.prototype.toString=function(){return""+this.def},dt.parser.node.Scope=lt,lt.prototype.createNestedScope=function(){var e=new lt(this);return this.nestedScopes||(this.nestedScopes=[]),this.nestedScopes.push(e),e},lt.prototype.clear=function(){if(this.symbols={},this.defs={},this.links={},this.updates={},this.nestedScopes)for(var e=this.nestedScopes,t=0,n=e.length;n>t;t++)e[t].clear()},lt.prototype.createSymbol=function(e){var t=this.symbols[e];if(!t){var n=this.findDef(e);t=this.newSymbol(e,n),this.symbols[e]=t}return t},lt.prototype.newSymbol=function(e,t){var n=this,r=function(){if(!r.value&&(r.value=n.findDef(e),!r.value))throw Error("Undefined symbol "+e);return"function"==typeof r.value?r.value.apply(null,arguments):r.value};return r.value=t,r.toString=function(){return r.value?""+r.value:""},r},lt.prototype.createLink=function(e){var t=this.links[e];return t||(t=this.createSymbol(e),this.links[e]=t),t},lt.prototype.createDef=function(e,t){var n=this.defs[e];return n||(n=this.createSymbol(e),this.defs[e]=n),n&&void 0!=t&&(n.value=t),n},lt.prototype.createUpdate=function(e){var t=this.updates[e];return t||(t=this.createLink(e),this.updates[e]=t),t},lt.prototype.findDef=function(t){function n(e,t){var n=a(e,t);return s[e]=n,o[e]=n,n}var r;if(r=this.defs[t])return r;if(r=this.updates[t])return r;if(this.parentScope)return this.parentScope.findDef(t);var a=this.newSymbol,s=this.symbols,o=this.defs;if("pi"==t)return n(t,dt.PI);if("e"==t)return n(t,dt.E);if("i"==t)return n(t,new i(0,1));var f=dt[t];if(f)return n(t,f);if(e.isUnit(t)){var u=new e(void 0,t);return n(t,u)}return void 0},lt.prototype.removeLink=function(e){delete this.links[e]},lt.prototype.removeDef=function(e){delete this.defs[e]},lt.prototype.removeUpdate=function(e){delete this.updates[e]},lt.prototype.init=function(){var e=this.symbols,t=this.parentScope;for(var n in e)if(e.hasOwnProperty(n)){var r=e[n];r.value=t?t.findDef(n):void 0}this.nestedScopes&&this.nestedScopes.forEach(function(e){e.init()})},lt.prototype.hasLink=function(e){if(this.links[e])return!0;if(this.nestedScopes)for(var t=this.nestedScopes,n=0,r=t.length;r>n;n++)if(t[n].hasLink(e))return!0;return!1},lt.prototype.hasDef=function(e){return void 0!=this.defs[e]},lt.prototype.hasUpdate=function(e){return void 0!=this.updates[e]},lt.prototype.getUndefinedSymbols=function(){var e=this.symbols,t=[];for(var n in e)if(e.hasOwnProperty(n)){var r=e[n];void 0==r.value&&t.push(r)}return this.nestedScopes&&this.nestedScopes.forEach(function(e){t=t.concat(e.getUndefinedSymbols())}),t},dt.parser.Parser=pt,pt.prototype.parse=function(e,t){return this.expr=e||"",t||(t=this.scope),this.parse_start(t)},pt.prototype.eval=function(e){var t=this.parse(e);return t.eval()},pt.prototype.get=function(e){var t=this.scope.findDef(e);return t?t.value:void 0},pt.prototype.put=function(e,t){this.scope.createDef(e,t)},pt.prototype.clear=function(){this.scope.clear()},pt.prototype.getChar=function(){this.index++,this.c=this.expr.charAt(this.index)},pt.prototype.getFirstChar=function(){this.index=0,this.c=this.expr.charAt(0)},pt.prototype.getToken=function(){for(this.token_type=this.TOKENTYPE.NULL,this.token="";" "==this.c||" "==this.c;)this.getChar();if("#"==this.c)for(;"\n"!=this.c&&""!=this.c;)this.getChar();if(""==this.c)return this.token_type=this.TOKENTYPE.DELIMITER,void 0;if("-"==this.c||","==this.c||"("==this.c||")"==this.c||"["==this.c||"]"==this.c||'"'==this.c||"\n"==this.c||";"==this.c||":"==this.c)return this.token_type=this.TOKENTYPE.DELIMITER,this.token+=this.c,this.getChar(),void 0;if(this.isDelimiter(this.c))for(this.token_type=this.TOKENTYPE.DELIMITER;this.isDelimiter(this.c);)this.token+=this.c,this.getChar();else if(this.isDigitDot(this.c)){for(this.token_type=this.TOKENTYPE.NUMBER;this.isDigitDot(this.c);)this.token+=this.c,this.getChar();if("E"==this.c||"e"==this.c)for(this.token+=this.c,this.getChar(),("+"==this.c||"-"==this.c)&&(this.token+=this.c,this.getChar()),this.isDigit(this.c)||(this.token_type=this.TOKENTYPE.UNKNOWN);this.isDigit(this.c);)this.token+=this.c,this.getChar()}else{if(!this.isAlpha(this.c)){for(this.token_type=this.TOKENTYPE.UNKNOWN;""!=this.c;)this.token+=this.c,this.getChar();throw this.createSyntaxError('Syntax error in part "'+this.token+'"')}for(this.token_type=this.TOKENTYPE.SYMBOL;this.isAlpha(this.c)||this.isDigit(this.c);)this.token+=this.c,this.getChar()}},pt.prototype.isDelimiter=function(e){return"&"==e||"|"==e||"<"==e||">"==e||"="==e||"+"==e||"/"==e||"*"==e||"%"==e||"^"==e||","==e||";"==e||"\n"==e||"!"==e},pt.prototype.isValidSymbolName=function(e){for(var t=0,n=e.length;n>t;t++){var r=e.charAt(t),i=this.isAlpha(r);if(!i)return!1}return!0},pt.prototype.isAlpha=function(e){return e>="a"&&"z">=e||e>="A"&&"Z">=e||"_"==e},pt.prototype.isDigitDot=function(e){return e>="0"&&"9">=e||"."==e},pt.prototype.isDigit=function(e){return e>="0"&&"9">=e},pt.prototype.parse_start=function(e){this.getFirstChar(),this.getToken();var t;if(t=""==this.token?new ft(void 0):this.parse_block(e),""!=this.token)throw this.token_type==this.TOKENTYPE.DELIMITER?this.createError("Unknown operator "+this.token):this.createSyntaxError('Unexpected part "'+this.token+'"');return t},pt.prototype.parse_ans=function(e){var t=this.parse_function_assignment(e);if(!(t instanceof ht)){var n="ans",r=void 0,i=e.createDef(n);return new ht(n,r,t,i)}return t},pt.prototype.parse_block=function(e){var t,n,r;for("\n"!=this.token&&";"!=this.token&&""!=this.token&&(t=this.parse_ans(e));"\n"==this.token||";"==this.token;)n||(n=new ut,t&&(r=";"!=this.token,n.add(t,r))),this.getToken(),"\n"!=this.token&&";"!=this.token&&""!=this.token&&(t=this.parse_ans(e),r=";"!=this.token,n.add(t,r));return n?n:(t||(t=this.parse_ans(e)),t)},pt.prototype.parse_function_assignment=function(e){if(this.token_type==this.TOKENTYPE.SYMBOL&&"function"==this.token){if(this.getToken(),this.token_type!=this.TOKENTYPE.SYMBOL)throw this.createSyntaxError("Function name expected");var t=this.token;if(this.getToken(),"("!=this.token)throw this.createSyntaxError("Opening parenthesis ( expected");for(var n=e.createNestedScope(),r=[],i=[];;){if(this.getToken(),this.token_type!=this.TOKENTYPE.SYMBOL)throw this.createSyntaxError("Variable name expected");var a=this.token,s=n.createDef(a);if(r.push(a),i.push(s),this.getToken(),","!=this.token){if(")"==this.token)break;throw this.createSyntaxError('Comma , or closing parenthesis ) expected"')}}if(this.getToken(),"="!=this.token)throw this.createSyntaxError("Equal sign = expected");this.getToken();var o=this.parse_range(n),f=e.createDef(t);return new ct(t,r,i,o,f)}return this.parse_assignment(e)},pt.prototype.parse_assignment=function(e){var t=!1;this.token_type==this.TOKENTYPE.SYMBOL&&(t=e.hasLink(this.token));var n=this.parse_range(e);if("="==this.token){if(!(n instanceof ot))throw this.createSyntaxError("Symbol expected at the left hand side of assignment operator =");var r=n.name,i=n.params;t||e.removeLink(r),this.getToken();var a=this.parse_range(e),s=n.hasParams()?e.createUpdate(r):e.createDef(r);return new ht(r,i,a,s)}return n},pt.prototype.parse_range=function(e){var t=this.parse_conditions(e);return t},pt.prototype.parse_conditions=function(e){for(var t=this.parse_bitwise_conditions(e),n={"in":"in"};void 0!==n[this.token];){var r=this.token,i=dt[n[r]];this.getToken();var a=[t,this.parse_bitwise_conditions(e)];t=new ot(r,i,a)}return t},pt.prototype.parse_bitwise_conditions=function(e){var t=this.parse_comparison(e);return t},pt.prototype.parse_comparison=function(e){for(var t=this.parse_addsubtract(e),n={"==":"equal","!=":"unequal","<":"smaller",">":"larger","<=":"smallereq",">=":"largereq"};void 0!==n[this.token];){var r=this.token,i=dt[n[r]];this.getToken();var a=[t,this.parse_addsubtract(e)];t=new ot(r,i,a)}return t},pt.prototype.parse_addsubtract=function(e){for(var t=this.parse_multiplydivide(e),n={"+":"add","-":"subtract"};void 0!==n[this.token];){var r=this.token,i=dt[n[r]];this.getToken();var a=[t,this.parse_multiplydivide(e)];t=new ot(r,i,a)}return t},pt.prototype.parse_multiplydivide=function(e){for(var t=this.parse_pow(e),n={"*":"multiply","/":"divide","%":"mod",mod:"mod"};void 0!==n[this.token];){var r=this.token,i=dt[n[r]];this.getToken();var a=[t,this.parse_pow(e)];t=new ot(r,i,a)}return t},pt.prototype.parse_pow=function(e){for(var t=this.parse_factorial(e);"^"==this.token;){var n=this.token,r=Q;this.getToken();var i=[t,this.parse_factorial(e)];t=new ot(n,r,i)}return t},pt.prototype.parse_factorial=function(e){for(var t=this.parse_unaryminus(e);"!"==this.token;){var n=this.token,r=at;this.getToken();var i=[t];t=new ot(n,r,i)}return t},pt.prototype.parse_unaryminus=function(e){if("-"==this.token){var t=this.token,n=z;this.getToken();var r=[this.parse_plot(e)];return new ot(t,n,r)}return this.parse_plot(e)},pt.prototype.parse_plot=function(e){return this.parse_symbol(e)},pt.prototype.parse_symbol=function(e){if(this.token_type==this.TOKENTYPE.SYMBOL){var t=this.token;this.getToken();var n=e.createLink(t),r=this.parse_arguments(e),i=new ot(t,n,r);return i}return this.parse_string(e)},pt.prototype.parse_arguments=function(e){var t=[];if("("==this.token){if(this.getToken(),")"!=this.token)for(t.push(this.parse_range(e));","==this.token;)this.getToken(),t.push(this.parse_range(e));if(")"!=this.token)throw this.createSyntaxError("Parenthesis ) missing");this.getToken()}return t},pt.prototype.parse_string=function(e){if('"'==this.token){for(var t="",n="";""!=this.c&&('"'!=this.c||"\\"==n);)t+=this.c,n=this.c,this.getChar();if(this.getToken(),'"'!=this.token)throw this.createSyntaxError('End of string " missing');this.getToken();var r=new ft(t);return r}return this.parse_matrix(e)},pt.prototype.parse_matrix=function(e){return this.parse_number(e)},pt.prototype.parse_number=function(t){if(this.token_type==this.TOKENTYPE.NUMBER){var n;n="."==this.token?0:Number(this.token),this.getToken();var r;if(this.token_type==this.TOKENTYPE.SYMBOL){if("i"==this.token||"I"==this.token)return r=new i(0,n),this.getToken(),new ft(r);if(e.isUnit(this.token))return r=new e(n,this.token),this.getToken(),new ft(r);throw this.createTypeError('Unknown unit "'+this.token+'"')}var a=new ft(n);return a}return this.parse_parentheses(t)},pt.prototype.parse_parentheses=function(e){if("("==this.token){this.getToken();var t=this.parse_range(e);if(")"!=this.token)throw this.createSyntaxError("Parenthesis ) expected");return this.getToken(),t}return this.parse_end(e)},pt.prototype.parse_end=function(){throw""==this.token?this.createSyntaxError("Unexpected end of expression"):this.createSyntaxError("Value expected")},pt.prototype.row=function(){return void 0},pt.prototype.col=function(){return this.index-this.token.length+1},pt.prototype.createErrorMessage=function(e){var t=this.row(),n=this.col();return void 0===t?void 0===n?e:e+" (col "+n+")":e+" (ln "+t+", col "+n+")"},pt.prototype.createSyntaxError=function(e){return new SyntaxError(this.createErrorMessage(e))},pt.prototype.createTypeError=function(e){return new TypeError(this.createErrorMessage(e))},pt.prototype.createError=function(e){return Error(this.createErrorMessage(e))},dt.parser.Workspace=mt,mt.prototype.clear=function(){this.nodes={},this.firstNode=void 0,this.lastNode=void 0},mt.prototype.append=function(e){var t=this._getNewId(),n=this.lastNode?this.lastNode.scope:this.scope,r=new lt(n),i=new mt.Node({id:t,expression:e,parser:this.parser,scope:r,nextNode:void 0,previousNode:this.lastNode});return this.nodes[t]=i,this.firstNode||(this.firstNode=i),this.lastNode&&(this.lastNode.nextNode=i),this.lastNode=i,this._update([t]),t},mt.prototype.insertBefore=function(e,t){var n=this.nodes[t];if(!n)throw'Node with id "'+t+'" not found';var r=n.previousNode,i=this._getNewId(),a=r?r.scope:this.scope,s=new lt(a),o=new mt.Node({id:i,expression:e,parser:this.parser,scope:s,nextNode:n,previousNode:r});this.nodes[i]=o,r?r.nextNode=o:this.firstNode=o,n.previousNode=o,n.scope.parentScope=o.scope;var f=this.getDependencies(i);return-1==f.indexOf(i)&&f.unshift(i),this._update(f),i},mt.prototype.insertAfter=function(e,t){var n=this.nodes[t];if(!n)throw'Node with id "'+t+'" not found';return n==this.lastNode?this.append(e):this.insertBefore(t+1,e)},mt.prototype.remove=function(e){var t=this.nodes[e];if(!t)throw'Node with id "'+e+'" not found';var n=this.getDependencies(e),r=t.previousNode,i=t.nextNode;r?r.nextNode=i:this.firstNode=i,i?i.previousNode=r:this.lastNode=r;var a=r?r.scope:this.scope;i&&(i.scope.parentScope=a),delete this.nodes[e],this._update(n)},mt.prototype.replace=function(e,t){var n=this.nodes[t];if(!n)throw'Node with id "'+t+'" not found';var r=[t];mt._merge(r,this.getDependencies(t));var i=n.previousNode;n.nextNode,i?i.scope:this.scope,n.setExpr(e),mt._merge(r,this.getDependencies(t)),this._update(r)},mt.Node=function(e){this.id=e.id,this.parser=e.parser,this.scope=e.scope,this.nextNode=e.nextNode,this.previousNode=e.previousNode,this.updateSeq=0,this.result=void 0,this.setExpr(e.expression)},mt.Node.prototype.setExpr=function(e){this.expression=e||"",this.scope.clear(),this._parse()},mt.Node.prototype.getExpr=function(){return this.expression},mt.Node.prototype.getResult=function(){return this.result},mt.Node.prototype._parse=function(){try{this.fn=this.parser.parse(this.expression,this.scope)}catch(e){var t="Error: "+((e.message||e)+"");this.fn=new ft(t)}},mt.Node.prototype.eval=function(){try{this.scope.init(),this.result=this.fn.eval()}catch(e){this.scope.init(),this.result="Error: "+((e.message||e)+"")}return this.result},mt._merge=function(e,t){for(var n=0,r=t.length;r>n;n++){var i=t[n];-1==e.indexOf(i)&&e.push(i)}},mt.prototype.getDependencies=function(e){var t,n=[],r=this.nodes[e];if(r){var i=r.scope.defs,a=r.scope.updates,s=[];for(t in i)i.hasOwnProperty(t)&&s.push(t);for(t in a)a.hasOwnProperty(t)&&-1==s.indexOf(t)&&s.push(t);for(var o=r.nextNode;o&&s.length;){for(var f=o.scope,u=0;s.length>u;){if(t=s[u],(f.hasLink(t)||f.hasUpdate(t))&&-1==n.indexOf(o.id)){n.push(o.id);var h=this.getDependencies(o.id);mt._merge(n,h)}f.hasDef(t)&&(s.splice(u,1),u--),u++}o=o.nextNode}}return n},mt.prototype.getExpr=function(e){var t=this.nodes[e];if(!t)throw'Node with id "'+e+'" not found';return t.getExpr()},mt.prototype.getResult=function(e){var t=this.nodes[e];if(!t)throw'Node with id "'+e+'" not found';return t.getResult()},mt.prototype._update=function(e){this.updateSeq++;for(var t=this.updateSeq,n=this.nodes,r=0,i=e.length;i>r;r++){var a=e[r],s=n[a];s&&(s.eval(),s.updateSeq=t)}},mt.prototype.getChanges=function(e){var t=[],n=this.firstNode;for(e=e||0;n;)n.updateSeq>e&&t.push(n.id),n=n.nextNode;return{ids:t,updateSeq:this.updateSeq}},mt.prototype._getNewId=function(){return this.idMax++,this.idMax},mt.prototype.toString=function(){return JSON.stringify(this.toJSON())},mt.prototype.toJSON=function(){for(var e=[],t=this.firstNode;t;){var n={id:t.id,expression:t.expression,dependencies:this.getDependencies(t.id)};try{n.result=t.getResult()}catch(r){n.result="Error: "+((r.message||r)+"")}e.push(n),t=t.nextNode}return e}})(); \ No newline at end of file