sheetxl
Version:
SheetXL - Command line tool
930 lines • 248 kB
JavaScript
/**
* @license sheetxl - SheetXL - Command line tool - v0.7.26
*
* (C) 2025-present SheetXL Inc. & Michael T. Ford
* License: The license can be found at https://www.sheetxl.com/license.
*/
import { l as n, n as t, m as e, e as r, t as o, a as u, p as a } from "../cli.js";
import "chalk";
import "fs";
import "path";
import "commander";
var i, l = {};
var s, f = (i || (i = 1, s = function(n2) {
n2.version = "1.0.2";
var t2 = Math;
function e2(n3, t3) {
for (var e3 = 0, r3 = 0; e3 < n3.length; ++e3) r3 = t3 * r3 + n3[e3];
return r3;
}
function r2(n3, t3, e3, r3, o3) {
if (0 === t3) return e3;
if (1 === t3) return r3;
for (var u3 = 2 / n3, a3 = r3, i3 = 1; i3 < t3; ++i3) a3 = r3 * i3 * u3 + o3 * e3, e3 = r3, r3 = a3;
return a3;
}
function o2(n3, t3, e3, o3, u3) {
return function(e4, a3) {
if (o3) {
if (0 === e4) return 1 == o3 ? -1 / 0 : 1 / 0;
if (e4 < 0) return NaN;
}
return 0 === a3 ? n3(e4) : 1 === a3 ? t3(e4) : a3 < 0 ? NaN : r2(e4, a3 |= 0, n3(e4), t3(e4), u3);
};
}
var u2, a2, i2, l2, s2 = (function() {
var n3 = 0.636619772, o3 = [57568490574, -13362590354, 6516196407e-1, -1121442418e-2, 77392.33017, -184.9052456].reverse(), u3 = [57568490411, 1029532985, 9494680718e-3, 59272.64853, 267.8532712, 1].reverse(), a3 = [1, -0.001098628627, 2734510407e-14, -2073370639e-15, 2093887211e-16].reverse(), i3 = [-0.01562499995, 1430488765e-13, -6911147651e-15, 7621095161e-16, -934935152e-16].reverse();
function l3(r3) {
var l4 = 0, s4 = 0, f4 = 0, c4 = r3 * r3;
if (r3 < 8) l4 = (s4 = e2(o3, c4)) / (f4 = e2(u3, c4));
else {
var m4 = r3 - 0.785398164;
s4 = e2(a3, c4 = 64 / c4), f4 = e2(i3, c4), l4 = t2.sqrt(n3 / r3) * (t2.cos(m4) * s4 - t2.sin(m4) * f4 * 8 / r3);
}
return l4;
}
var s3 = [72362614232, -7895059235, 2423968531e-1, -2972611439e-3, 15704.4826, -30.16036606].reverse(), f3 = [144725228442, 2300535178, 1858330474e-2, 99447.43394, 376.9991397, 1].reverse(), c3 = [1, 183105e-8, -3516396496e-14, 2457520174e-15, -240337019e-15].reverse(), m3 = [0.04687499995, -2002690873e-13, 8449199096e-15, -88228987e-14, 105787412e-15].reverse();
function p2(r3) {
var o4 = 0, u4 = 0, a4 = 0, i4 = r3 * r3, l4 = t2.abs(r3) - 2.356194491;
return Math.abs(r3) < 8 ? o4 = (u4 = r3 * e2(s3, i4)) / (a4 = e2(f3, i4)) : (u4 = e2(c3, i4 = 64 / i4), a4 = e2(m3, i4), o4 = t2.sqrt(n3 / t2.abs(r3)) * (t2.cos(l4) * u4 - t2.sin(l4) * a4 * 8 / t2.abs(r3)), r3 < 0 && (o4 = -o4)), o4;
}
return function n4(e3, o4) {
if (o4 = Math.round(o4), !isFinite(e3)) return isNaN(e3) ? e3 : 0;
if (o4 < 0) return (o4 % 2 ? -1 : 1) * n4(e3, -o4);
if (e3 < 0) return (o4 % 2 ? -1 : 1) * n4(-e3, o4);
if (0 === o4) return l3(e3);
if (1 === o4) return p2(e3);
if (0 === e3) return 0;
var u4 = 0;
if (e3 > o4) u4 = r2(e3, o4, l3(e3), p2(e3), -1);
else {
for (var a4 = false, i4 = 0, s4 = 0, f4 = 1, c4 = 0, m4 = 2 / e3, h2 = 2 * t2.floor((o4 + t2.floor(t2.sqrt(40 * o4))) / 2); h2 > 0; h2--) c4 = h2 * m4 * f4 - i4, i4 = f4, f4 = c4, t2.abs(f4) > 1e10 && (f4 *= 1e-10, i4 *= 1e-10, u4 *= 1e-10, s4 *= 1e-10), a4 && (s4 += f4), a4 = !a4, h2 == o4 && (u4 = i4);
u4 /= s4 = 2 * s4 - f4;
}
return u4;
};
})(), f2 = (function() {
var n3 = 0.636619772, r3 = [-2957821389, 7062834065, -5123598036e-1, 1087988129e-2, -86327.92757, 228.4622733].reverse(), u3 = [40076544269, 7452499648e-1, 7189466438e-3, 47447.2647, 226.1030244, 1].reverse(), a3 = [1, -0.001098628627, 2734510407e-14, -2073370639e-15, 2093887211e-16].reverse(), i3 = [-0.01562499995, 1430488765e-13, -6911147651e-15, 7621095161e-16, -934945152e-16].reverse(), l3 = [-4900604943e3, 127527439e4, -51534381390, 7349264551e-1, -4237922726e-3, 8511.937935].reverse(), f3 = [249958057e5, 424441966400, 3733650367, 2245904002e-2, 102042.605, 354.9632885, 1].reverse(), c3 = [1, 183105e-8, -3516396496e-14, 2457520174e-15, -240337019e-15].reverse(), m3 = [0.04687499995, -2002690873e-13, 8449199096e-15, -88228987e-14, 105787412e-15].reverse();
return o2(function(o3) {
var l4 = 0, f4 = 0, c4 = 0, m4 = o3 * o3, p2 = o3 - 0.785398164;
return o3 < 8 ? l4 = (f4 = e2(r3, m4)) / (c4 = e2(u3, m4)) + n3 * s2(o3, 0) * t2.log(o3) : (f4 = e2(a3, m4 = 64 / m4), c4 = e2(i3, m4), l4 = t2.sqrt(n3 / o3) * (t2.sin(p2) * f4 + t2.cos(p2) * c4 * 8 / o3)), l4;
}, function(r4) {
var o3 = 0, u4 = 0, a4 = 0, i4 = r4 * r4, p2 = r4 - 2.356194491;
return r4 < 8 ? o3 = (u4 = r4 * e2(l3, i4)) / (a4 = e2(f3, i4)) + n3 * (s2(r4, 1) * t2.log(r4) - 1 / r4) : (u4 = e2(c3, i4 = 64 / i4), a4 = e2(m3, i4), o3 = t2.sqrt(n3 / r4) * (t2.sin(p2) * u4 + t2.cos(p2) * a4 * 8 / r4)), o3;
}, 0, 1, -1);
})(), c2 = (u2 = [1, 3.5156229, 3.0899424, 1.2067492, 0.2659732, 0.0360768, 45813e-7].reverse(), a2 = [0.39894228, 0.01328592, 225319e-8, -157565e-8, 916281e-8, -0.02057706, 0.02635537, -0.01647633, 392377e-8].reverse(), i2 = [0.5, 0.87890594, 0.51498869, 0.15084934, 0.02658733, 301532e-8, 32411e-8].reverse(), l2 = [0.39894228, -0.03988024, -362018e-8, 163801e-8, -0.01031555, 0.02282967, -0.02895312, 0.01787654, -420059e-8].reverse(), function n3(r3, o3) {
if (0 === (o3 = Math.round(o3))) return (function(n4) {
return n4 <= 3.75 ? e2(u2, n4 * n4 / 14.0625) : t2.exp(t2.abs(n4)) / t2.sqrt(t2.abs(n4)) * e2(a2, 3.75 / t2.abs(n4));
})(r3);
if (1 === o3) return (function(n4) {
return n4 < 3.75 ? n4 * e2(i2, n4 * n4 / 14.0625) : (n4 < 0 ? -1 : 1) * t2.exp(t2.abs(n4)) / t2.sqrt(t2.abs(n4)) * e2(l2, 3.75 / t2.abs(n4));
})(r3);
if (o3 < 0) return NaN;
if (0 === t2.abs(r3)) return 0;
if (r3 == 1 / 0) return 1 / 0;
var s3, f3 = 0, c3 = 2 / t2.abs(r3), m3 = 0, p2 = 1, h2 = 0;
for (s3 = 2 * t2.round((o3 + t2.round(t2.sqrt(40 * o3))) / 2); s3 > 0; s3--) h2 = s3 * c3 * p2 + m3, m3 = p2, p2 = h2, t2.abs(p2) > 1e10 && (p2 *= 1e-10, m3 *= 1e-10, f3 *= 1e-10), s3 == o3 && (f3 = m3);
return f3 *= n3(r3, 0) / p2, r3 < 0 && o3 % 2 ? -f3 : f3;
}), m2 = (function() {
var n3 = [-0.57721566, 0.4227842, 0.23069756, 0.0348859, 262698e-8, 1075e-7, 74e-7].reverse(), r3 = [1.25331414, -0.07832358, 0.02189568, -0.01062446, 587872e-8, -25154e-7, 53208e-8].reverse(), u3 = [1, 0.15443144, -0.67278579, -0.18156897, -0.01919402, -110404e-8, -4686e-8].reverse(), a3 = [1.25331414, 0.23498619, -0.0365562, 0.01504268, -780353e-8, 325614e-8, -68245e-8].reverse();
return o2(function(o3) {
return o3 <= 2 ? -t2.log(o3 / 2) * c2(o3, 0) + e2(n3, o3 * o3 / 4) : t2.exp(-o3) / t2.sqrt(o3) * e2(r3, 2 / o3);
}, function(n4) {
return n4 <= 2 ? t2.log(n4 / 2) * c2(n4, 1) + 1 / n4 * e2(u3, n4 * n4 / 4) : t2.exp(-n4) / t2.sqrt(n4) * e2(a3, 2 / n4);
}, 0, 2, 1);
})();
n2.besselj = s2, n2.bessely = f2, n2.besseli = c2, n2.besselk = m2;
}, "undefined" == typeof DO_NOT_EXPORT_BESSEL ? s(l) : s({})), l);
const c = n(f);
var m, p = { exports: {} };
var h, g = (m || (m = 1, p.exports = (h = (function(n2, t2) {
var e2 = Array.prototype.concat, r2 = Array.prototype.slice, o2 = Object.prototype.toString;
function u2(t3, e3) {
var r3 = t3 > e3 ? t3 : e3;
return n2.pow(10, 17 - ~~(n2.log(r3 > 0 ? r3 : -r3) * n2.LOG10E));
}
var a2 = Array.isArray || function(n3) {
return "[object Array]" === o2.call(n3);
};
function i2(n3) {
return "[object Function]" === o2.call(n3);
}
function l2(n3) {
return "number" == typeof n3 && n3 - n3 === 0;
}
function s2(n3) {
return e2.apply([], n3);
}
function f2() {
return new f2._init(arguments);
}
function c2() {
return 0;
}
function m2() {
return 1;
}
function p2(n3, t3) {
return n3 === t3 ? 1 : 0;
}
f2.fn = f2.prototype, f2._init = function(n3) {
if (a2(n3[0])) if (a2(n3[0][0])) {
i2(n3[1]) && (n3[0] = f2.map(n3[0], n3[1]));
for (var t3 = 0; t3 < n3[0].length; t3++) this[t3] = n3[0][t3];
this.length = n3[0].length;
} else this[0] = i2(n3[1]) ? f2.map(n3[0], n3[1]) : n3[0], this.length = 1;
else if (l2(n3[0])) this[0] = f2.seq.apply(null, n3), this.length = 1;
else {
if (n3[0] instanceof f2) return f2(n3[0].toArray());
this[0] = [], this.length = 1;
}
return this;
}, f2._init.prototype = f2.prototype, f2._init.constructor = f2, f2.utils = { calcRdx: u2, isArray: a2, isFunction: i2, isNumber: l2, toVector: s2 }, f2._random_fn = n2.random, f2.setRandom = function(n3) {
if ("function" != typeof n3) throw new TypeError("fn is not a function");
f2._random_fn = n3;
}, f2.extend = function(n3) {
var t3, e3;
if (1 === arguments.length) {
for (e3 in n3) f2[e3] = n3[e3];
return this;
}
for (t3 = 1; t3 < arguments.length; t3++) for (e3 in arguments[t3]) n3[e3] = arguments[t3][e3];
return n3;
}, f2.rows = function(n3) {
return n3.length || 1;
}, f2.cols = function(n3) {
return n3[0].length || 1;
}, f2.dimensions = function(n3) {
return { rows: f2.rows(n3), cols: f2.cols(n3) };
}, f2.row = function(n3, t3) {
return a2(t3) ? t3.map(function(t4) {
return f2.row(n3, t4);
}) : n3[t3];
}, f2.rowa = function(n3, t3) {
return f2.row(n3, t3);
}, f2.col = function(n3, t3) {
if (a2(t3)) {
var e3 = f2.arange(n3.length).map(function() {
return new Array(t3.length);
});
return t3.forEach(function(t4, r4) {
f2.arange(n3.length).forEach(function(o4) {
e3[o4][r4] = n3[o4][t4];
});
}), e3;
}
for (var r3 = new Array(n3.length), o3 = 0; o3 < n3.length; o3++) r3[o3] = [n3[o3][t3]];
return r3;
}, f2.cola = function(n3, t3) {
return f2.col(n3, t3).map(function(n4) {
return n4[0];
});
}, f2.diag = function(n3) {
for (var t3 = f2.rows(n3), e3 = new Array(t3), r3 = 0; r3 < t3; r3++) e3[r3] = [n3[r3][r3]];
return e3;
}, f2.antidiag = function(n3) {
for (var t3 = f2.rows(n3) - 1, e3 = new Array(t3), r3 = 0; t3 >= 0; t3--, r3++) e3[r3] = [n3[r3][t3]];
return e3;
}, f2.transpose = function(n3) {
var t3, e3, r3, o3, u3, i3 = [];
for (a2(n3[0]) || (n3 = [n3]), e3 = n3.length, r3 = n3[0].length, u3 = 0; u3 < r3; u3++) {
for (t3 = new Array(e3), o3 = 0; o3 < e3; o3++) t3[o3] = n3[o3][u3];
i3.push(t3);
}
return 1 === i3.length ? i3[0] : i3;
}, f2.map = function(n3, t3, e3) {
var r3, o3, u3, i3, l3;
for (a2(n3[0]) || (n3 = [n3]), o3 = n3.length, u3 = n3[0].length, i3 = e3 ? n3 : new Array(o3), r3 = 0; r3 < o3; r3++) for (i3[r3] || (i3[r3] = new Array(u3)), l3 = 0; l3 < u3; l3++) i3[r3][l3] = t3(n3[r3][l3], r3, l3);
return 1 === i3.length ? i3[0] : i3;
}, f2.cumreduce = function(n3, t3, e3) {
var r3, o3, u3, i3, l3;
for (a2(n3[0]) || (n3 = [n3]), o3 = n3.length, u3 = n3[0].length, i3 = e3 ? n3 : new Array(o3), r3 = 0; r3 < o3; r3++) for (i3[r3] || (i3[r3] = new Array(u3)), u3 > 0 && (i3[r3][0] = n3[r3][0]), l3 = 1; l3 < u3; l3++) i3[r3][l3] = t3(i3[r3][l3 - 1], n3[r3][l3]);
return 1 === i3.length ? i3[0] : i3;
}, f2.alter = function(n3, t3) {
return f2.map(n3, t3, true);
}, f2.create = function(n3, t3, e3) {
var r3, o3, u3 = new Array(n3);
for (i2(t3) && (e3 = t3, t3 = n3), r3 = 0; r3 < n3; r3++) for (u3[r3] = new Array(t3), o3 = 0; o3 < t3; o3++) u3[r3][o3] = e3(r3, o3);
return u3;
}, f2.zeros = function(n3, t3) {
return l2(t3) || (t3 = n3), f2.create(n3, t3, c2);
}, f2.ones = function(n3, t3) {
return l2(t3) || (t3 = n3), f2.create(n3, t3, m2);
}, f2.rand = function(n3, t3) {
return l2(t3) || (t3 = n3), f2.create(n3, t3, f2._random_fn);
}, f2.identity = function(n3, t3) {
return l2(t3) || (t3 = n3), f2.create(n3, t3, p2);
}, f2.symmetric = function(n3) {
var t3, e3, r3 = n3.length;
if (n3.length !== n3[0].length) return false;
for (t3 = 0; t3 < r3; t3++) for (e3 = 0; e3 < r3; e3++) if (n3[e3][t3] !== n3[t3][e3]) return false;
return true;
}, f2.clear = function(n3) {
return f2.alter(n3, c2);
}, f2.seq = function(n3, t3, e3, r3) {
i2(r3) || (r3 = false);
var o3, a3 = [], l3 = u2(n3, t3), s3 = (t3 * l3 - n3 * l3) / ((e3 - 1) * l3), f3 = n3;
for (o3 = 0; f3 <= t3 && o3 < e3; f3 = (n3 * l3 + s3 * l3 * ++o3) / l3) a3.push(r3 ? r3(f3, o3) : f3);
return a3;
}, f2.arange = function(n3, e3, r3) {
var o3, u3 = [];
if (r3 = r3 || 1, e3 === t2 && (e3 = n3, n3 = 0), n3 === e3 || 0 === r3) return [];
if (n3 < e3 && r3 < 0) return [];
if (n3 > e3 && r3 > 0) return [];
if (r3 > 0) for (o3 = n3; o3 < e3; o3 += r3) u3.push(o3);
else for (o3 = n3; o3 > e3; o3 += r3) u3.push(o3);
return u3;
}, f2.slice = /* @__PURE__ */ (function() {
function n3(n4, e4, r3, o3) {
var u3, a3 = [], i3 = n4.length;
if (e4 === t2 && r3 === t2 && o3 === t2) return f2.copy(n4);
if (o3 = o3 || 1, (e4 = (e4 = e4 || 0) >= 0 ? e4 : i3 + e4) === (r3 = (r3 = r3 || n4.length) >= 0 ? r3 : i3 + r3) || 0 === o3) return [];
if (e4 < r3 && o3 < 0) return [];
if (e4 > r3 && o3 > 0) return [];
if (o3 > 0) for (u3 = e4; u3 < r3; u3 += o3) a3.push(n4[u3]);
else for (u3 = e4; u3 > r3; u3 += o3) a3.push(n4[u3]);
return a3;
}
function e3(t3, e4) {
var r3, o3;
return l2((e4 = e4 || {}).row) ? l2(e4.col) ? t3[e4.row][e4.col] : n3(f2.rowa(t3, e4.row), (r3 = e4.col || {}).start, r3.end, r3.step) : l2(e4.col) ? n3(f2.cola(t3, e4.col), (o3 = e4.row || {}).start, o3.end, o3.step) : (o3 = e4.row || {}, r3 = e4.col || {}, n3(t3, o3.start, o3.end, o3.step).map(function(t4) {
return n3(t4, r3.start, r3.end, r3.step);
}));
}
return e3;
})(), f2.sliceAssign = function(e3, r3, o3) {
var u3, a3;
if (l2(r3.row)) {
if (l2(r3.col)) return e3[r3.row][r3.col] = o3;
r3.col = r3.col || {}, r3.col.start = r3.col.start || 0, r3.col.end = r3.col.end || e3[0].length, r3.col.step = r3.col.step || 1, u3 = f2.arange(r3.col.start, n2.min(e3.length, r3.col.end), r3.col.step);
var i3 = r3.row;
return u3.forEach(function(n3, t3) {
e3[i3][n3] = o3[t3];
}), e3;
}
if (l2(r3.col)) {
r3.row = r3.row || {}, r3.row.start = r3.row.start || 0, r3.row.end = r3.row.end || e3.length, r3.row.step = r3.row.step || 1, a3 = f2.arange(r3.row.start, n2.min(e3[0].length, r3.row.end), r3.row.step);
var s3 = r3.col;
return a3.forEach(function(n3, t3) {
e3[n3][s3] = o3[t3];
}), e3;
}
return o3[0].length === t2 && (o3 = [o3]), r3.row.start = r3.row.start || 0, r3.row.end = r3.row.end || e3.length, r3.row.step = r3.row.step || 1, r3.col.start = r3.col.start || 0, r3.col.end = r3.col.end || e3[0].length, r3.col.step = r3.col.step || 1, a3 = f2.arange(r3.row.start, n2.min(e3.length, r3.row.end), r3.row.step), u3 = f2.arange(r3.col.start, n2.min(e3[0].length, r3.col.end), r3.col.step), a3.forEach(function(n3, t3) {
u3.forEach(function(r4, u4) {
e3[n3][r4] = o3[t3][u4];
});
}), e3;
}, f2.diagonal = function(n3) {
var t3 = f2.zeros(n3.length, n3.length);
return n3.forEach(function(n4, e3) {
t3[e3][e3] = n4;
}), t3;
}, f2.copy = function(n3) {
return n3.map(function(n4) {
return l2(n4) ? n4 : n4.map(function(n5) {
return n5;
});
});
};
var h2 = f2.prototype;
return h2.length = 0, h2.push = Array.prototype.push, h2.sort = Array.prototype.sort, h2.splice = Array.prototype.splice, h2.slice = Array.prototype.slice, h2.toArray = function() {
return this.length > 1 ? r2.call(this) : r2.call(this)[0];
}, h2.map = function(n3, t3) {
return f2(f2.map(this, n3, t3));
}, h2.cumreduce = function(n3, t3) {
return f2(f2.cumreduce(this, n3, t3));
}, h2.alter = function(n3) {
return f2.alter(this, n3), this;
}, (function(n3) {
for (var t3 = 0; t3 < n3.length; t3++) (function(n4) {
h2[n4] = function(t4) {
var e3, r3 = this;
return t4 ? (setTimeout(function() {
t4.call(r3, h2[n4].call(r3));
}), this) : (e3 = f2[n4](this), a2(e3) ? f2(e3) : e3);
};
})(n3[t3]);
})("transpose clear symmetric rows cols dimensions diag antidiag".split(" ")), (function(n3) {
for (var t3 = 0; t3 < n3.length; t3++) (function(n4) {
h2[n4] = function(t4, e3) {
var r3 = this;
return e3 ? (setTimeout(function() {
e3.call(r3, h2[n4].call(r3, t4));
}), this) : f2(f2[n4](this, t4));
};
})(n3[t3]);
})("row col".split(" ")), (function(n3) {
for (var t3 = 0; t3 < n3.length; t3++) (function(n4) {
h2[n4] = function() {
return f2(f2[n4].apply(null, arguments));
};
})(n3[t3]);
})("create zeros ones rand identity".split(" ")), f2;
})(Math), (function(n2, t2) {
var e2 = n2.utils.isFunction;
function r2(n3, t3) {
return n3 - t3;
}
function o2(n3, e3, r3) {
return t2.max(e3, t2.min(n3, r3));
}
n2.sum = function(n3) {
for (var t3 = 0, e3 = n3.length; --e3 >= 0; ) t3 += n3[e3];
return t3;
}, n2.sumsqrd = function(n3) {
for (var t3 = 0, e3 = n3.length; --e3 >= 0; ) t3 += n3[e3] * n3[e3];
return t3;
}, n2.sumsqerr = function(t3) {
for (var e3, r3 = n2.mean(t3), o3 = 0, u3 = t3.length; --u3 >= 0; ) o3 += (e3 = t3[u3] - r3) * e3;
return o3;
}, n2.sumrow = function(n3) {
for (var t3 = 0, e3 = n3.length; --e3 >= 0; ) t3 += n3[e3];
return t3;
}, n2.product = function(n3) {
for (var t3 = 1, e3 = n3.length; --e3 >= 0; ) t3 *= n3[e3];
return t3;
}, n2.min = function(n3) {
for (var t3 = n3[0], e3 = 0; ++e3 < n3.length; ) n3[e3] < t3 && (t3 = n3[e3]);
return t3;
}, n2.max = function(n3) {
for (var t3 = n3[0], e3 = 0; ++e3 < n3.length; ) n3[e3] > t3 && (t3 = n3[e3]);
return t3;
}, n2.unique = function(n3) {
for (var t3 = {}, e3 = [], r3 = 0; r3 < n3.length; r3++) t3[n3[r3]] || (t3[n3[r3]] = true, e3.push(n3[r3]));
return e3;
}, n2.mean = function(t3) {
return n2.sum(t3) / t3.length;
}, n2.meansqerr = function(t3) {
return n2.sumsqerr(t3) / t3.length;
}, n2.geomean = function(e3) {
var r3 = e3.map(t2.log), o3 = n2.mean(r3);
return t2.exp(o3);
}, n2.median = function(n3) {
var t3 = n3.length, e3 = n3.slice().sort(r2);
return 1 & t3 ? e3[t3 / 2 | 0] : (e3[t3 / 2 - 1] + e3[t3 / 2]) / 2;
}, n2.cumsum = function(t3) {
return n2.cumreduce(t3, function(n3, t4) {
return n3 + t4;
});
}, n2.cumprod = function(t3) {
return n2.cumreduce(t3, function(n3, t4) {
return n3 * t4;
});
}, n2.diff = function(n3) {
var t3, e3 = [], r3 = n3.length;
for (t3 = 1; t3 < r3; t3++) e3.push(n3[t3] - n3[t3 - 1]);
return e3;
}, n2.rank = function(n3) {
var t3, e3 = [], o3 = {};
for (t3 = 0; t3 < n3.length; t3++) o3[l2 = n3[t3]] ? o3[l2]++ : (o3[l2] = 1, e3.push(l2));
var u3 = e3.sort(r2), a2 = {}, i2 = 1;
for (t3 = 0; t3 < u3.length; t3++) {
var l2, s2 = o3[l2 = u3[t3]], f2 = (i2 + (i2 + s2 - 1)) / 2;
a2[l2] = f2, i2 += s2;
}
return n3.map(function(n4) {
return a2[n4];
});
}, n2.mode = function(n3) {
var t3, e3 = n3.length, o3 = n3.slice().sort(r2), u3 = 1, a2 = 0, i2 = 0, l2 = [];
for (t3 = 0; t3 < e3; t3++) o3[t3] === o3[t3 + 1] ? u3++ : (u3 > a2 ? (l2 = [o3[t3]], a2 = u3, i2 = 0) : u3 === a2 && (l2.push(o3[t3]), i2++), u3 = 1);
return 0 === i2 ? l2[0] : l2;
}, n2.range = function(t3) {
return n2.max(t3) - n2.min(t3);
}, n2.variance = function(t3, e3) {
return n2.sumsqerr(t3) / (t3.length - (e3 ? 1 : 0));
}, n2.pooledvariance = function(t3) {
var e3 = t3.reduce(function(t4, e4) {
return t4 + n2.sumsqerr(e4);
}, 0), r3 = t3.reduce(function(n3, t4) {
return n3 + t4.length;
}, 0);
return e3 / (r3 - t3.length);
}, n2.deviation = function(t3) {
for (var e3 = n2.mean(t3), r3 = t3.length, o3 = new Array(r3), u3 = 0; u3 < r3; u3++) o3[u3] = t3[u3] - e3;
return o3;
}, n2.stdev = function(e3, r3) {
return t2.sqrt(n2.variance(e3, r3));
}, n2.pooledstdev = function(e3) {
return t2.sqrt(n2.pooledvariance(e3));
}, n2.meandev = function(e3) {
for (var r3 = n2.mean(e3), o3 = [], u3 = e3.length - 1; u3 >= 0; u3--) o3.push(t2.abs(e3[u3] - r3));
return n2.mean(o3);
}, n2.meddev = function(e3) {
for (var r3 = n2.median(e3), o3 = [], u3 = e3.length - 1; u3 >= 0; u3--) o3.push(t2.abs(e3[u3] - r3));
return n2.median(o3);
}, n2.coeffvar = function(t3) {
return n2.stdev(t3) / n2.mean(t3);
}, n2.quartiles = function(n3) {
var e3 = n3.length, o3 = n3.slice().sort(r2);
return [o3[t2.round(e3 / 4) - 1], o3[t2.round(e3 / 2) - 1], o3[t2.round(3 * e3 / 4) - 1]];
}, n2.quantiles = function(n3, e3, u3, a2) {
var i2, l2, s2, f2, c2, m2 = n3.slice().sort(r2), p2 = [e3.length], h2 = n3.length;
for (void 0 === u3 && (u3 = 3 / 8), void 0 === a2 && (a2 = 3 / 8), i2 = 0; i2 < e3.length; i2++) s2 = h2 * (l2 = e3[i2]) + (u3 + l2 * (1 - u3 - a2)), f2 = t2.floor(o2(s2, 1, h2 - 1)), c2 = o2(s2 - f2, 0, 1), p2[i2] = (1 - c2) * m2[f2 - 1] + c2 * m2[f2];
return p2;
}, n2.percentile = function(n3, t3, e3) {
var o3 = n3.slice().sort(r2), u3 = t3 * (o3.length + (e3 ? 1 : -1)) + (e3 ? 0 : 1), a2 = parseInt(u3), i2 = u3 - a2;
return a2 + 1 < o3.length ? o3[a2 - 1] + i2 * (o3[a2] - o3[a2 - 1]) : o3[a2 - 1];
}, n2.percentileOfScore = function(n3, t3, e3) {
var r3, o3, u3 = 0, a2 = n3.length, i2 = false;
for ("strict" === e3 && (i2 = true), o3 = 0; o3 < a2; o3++) r3 = n3[o3], (i2 && r3 < t3 || !i2 && r3 <= t3) && u3++;
return u3 / a2;
}, n2.histogram = function(e3, r3) {
r3 = r3 || 4;
var o3, u3 = n2.min(e3), a2 = (n2.max(e3) - u3) / r3, i2 = e3.length, l2 = [];
for (o3 = 0; o3 < r3; o3++) l2[o3] = 0;
for (o3 = 0; o3 < i2; o3++) l2[t2.min(t2.floor((e3[o3] - u3) / a2), r3 - 1)] += 1;
return l2;
}, n2.covariance = function(t3, e3) {
var r3, o3 = n2.mean(t3), u3 = n2.mean(e3), a2 = t3.length, i2 = new Array(a2);
for (r3 = 0; r3 < a2; r3++) i2[r3] = (t3[r3] - o3) * (e3[r3] - u3);
return n2.sum(i2) / (a2 - 1);
}, n2.corrcoeff = function(t3, e3) {
return n2.covariance(t3, e3) / n2.stdev(t3, 1) / n2.stdev(e3, 1);
}, n2.spearmancoeff = function(t3, e3) {
return t3 = n2.rank(t3), e3 = n2.rank(e3), n2.corrcoeff(t3, e3);
}, n2.stanMoment = function(e3, r3) {
for (var o3 = n2.mean(e3), u3 = n2.stdev(e3), a2 = e3.length, i2 = 0, l2 = 0; l2 < a2; l2++) i2 += t2.pow((e3[l2] - o3) / u3, r3);
return i2 / e3.length;
}, n2.skewness = function(t3) {
return n2.stanMoment(t3, 3);
}, n2.kurtosis = function(t3) {
return n2.stanMoment(t3, 4) - 3;
};
var u2 = n2.prototype;
!(function(t3) {
for (var r3 = 0; r3 < t3.length; r3++) (function(t4) {
u2[t4] = function(r4, o3) {
var a2 = [], i2 = 0, l2 = this;
if (e2(r4) && (o3 = r4, r4 = false), o3) return setTimeout(function() {
o3.call(l2, u2[t4].call(l2, r4));
}), this;
if (this.length > 1) {
for (l2 = true === r4 ? this : this.transpose(); i2 < l2.length; i2++) a2[i2] = n2[t4](l2[i2]);
return a2;
}
return n2[t4](this[0], r4);
};
})(t3[r3]);
})("cumsum cumprod".split(" ")), (function(t3) {
for (var r3 = 0; r3 < t3.length; r3++) (function(t4) {
u2[t4] = function(r4, o3) {
var a2 = [], i2 = 0, l2 = this;
if (e2(r4) && (o3 = r4, r4 = false), o3) return setTimeout(function() {
o3.call(l2, u2[t4].call(l2, r4));
}), this;
if (this.length > 1) {
for ("sumrow" !== t4 && (l2 = true === r4 ? this : this.transpose()); i2 < l2.length; i2++) a2[i2] = n2[t4](l2[i2]);
return true === r4 ? n2[t4](n2.utils.toVector(a2)) : a2;
}
return n2[t4](this[0], r4);
};
})(t3[r3]);
})("sum sumsqrd sumsqerr sumrow product min max unique mean meansqerr geomean median diff rank mode range variance deviation stdev meandev meddev coeffvar quartiles histogram skewness kurtosis".split(" ")), (function(t3) {
for (var r3 = 0; r3 < t3.length; r3++) (function(t4) {
u2[t4] = function() {
var r4, o3 = [], a2 = 0, i2 = this, l2 = Array.prototype.slice.call(arguments);
if (e2(l2[l2.length - 1])) {
r4 = l2[l2.length - 1];
var s2 = l2.slice(0, l2.length - 1);
return setTimeout(function() {
r4.call(i2, u2[t4].apply(i2, s2));
}), this;
}
r4 = void 0;
var f2 = function(e3) {
return n2[t4].apply(i2, [e3].concat(l2));
};
if (this.length > 1) {
for (i2 = i2.transpose(); a2 < i2.length; a2++) o3[a2] = f2(i2[a2]);
return o3;
}
return f2(this[0]);
};
})(t3[r3]);
})("quantiles percentileOfScore".split(" "));
})(h, Math), (function(n2, t2) {
n2.gammaln = function(n3) {
var e2, r2, o2, u2 = 0, a2 = [76.18009172947146, -86.50532032941678, 24.01409824083091, -1.231739572450155, 0.001208650973866179, -5395239384953e-18], i2 = 1.000000000190015;
for (o2 = (r2 = e2 = n3) + 5.5, o2 -= (e2 + 0.5) * t2.log(o2); u2 < 6; u2++) i2 += a2[u2] / ++r2;
return t2.log(2.5066282746310007 * i2 / e2) - o2;
}, n2.loggam = function(n3) {
var e2, r2, o2, u2, a2, i2, l2, s2 = [0.08333333333333333, -0.002777777777777778, 7936507936507937e-19, -5952380952380952e-19, 8417508417508418e-19, -0.001917526917526918, 0.00641025641025641, -0.02955065359477124, 0.1796443723688307, -1.3924322169059];
if (e2 = n3, l2 = 0, 1 == n3 || 2 == n3) return 0;
for (n3 <= 7 && (e2 = n3 + (l2 = t2.floor(7 - n3))), r2 = 1 / (e2 * e2), o2 = 2 * t2.PI, a2 = s2[9], i2 = 8; i2 >= 0; i2--) a2 *= r2, a2 += s2[i2];
if (u2 = a2 / e2 + 0.5 * t2.log(o2) + (e2 - 0.5) * t2.log(e2) - e2, n3 <= 7) for (i2 = 1; i2 <= l2; i2++) u2 -= t2.log(e2 - 1), e2 -= 1;
return u2;
}, n2.gammafn = function(n3) {
var e2, r2, o2, u2, a2 = [-1.716185138865495, 24.76565080557592, -379.80425647094563, 629.3311553128184, 866.9662027904133, -31451.272968848367, -36144.413418691176, 66456.14382024054], i2 = [-30.8402300119739, 315.35062697960416, -1015.1563674902192, -3107.771671572311, 22538.11842098015, 4755.846277527881, -134659.9598649693, -115132.2596755535], l2 = false, s2 = 0, f2 = 0, c2 = 0, m2 = n3;
if (n3 > 171.6243769536076) return 1 / 0;
if (m2 <= 0) {
if (!(u2 = m2 % 1 + 36e-17)) return 1 / 0;
l2 = (1 & m2 ? -1 : 1) * t2.PI / t2.sin(t2.PI * u2), m2 = 1 - m2;
}
for (o2 = m2, r2 = m2 < 1 ? m2++ : (m2 -= s2 = (0 | m2) - 1) - 1, e2 = 0; e2 < 8; ++e2) c2 = (c2 + a2[e2]) * r2, f2 = f2 * r2 + i2[e2];
if (u2 = c2 / f2 + 1, o2 < m2) u2 /= o2;
else if (o2 > m2) for (e2 = 0; e2 < s2; ++e2) u2 *= m2, m2++;
return l2 && (u2 = l2 / u2), u2;
}, n2.gammap = function(t3, e2) {
return n2.lowRegGamma(t3, e2) * n2.gammafn(t3);
}, n2.lowRegGamma = function(e2, r2) {
var o2, u2 = n2.gammaln(e2), a2 = e2, i2 = 1 / e2, l2 = i2, s2 = r2 + 1 - e2, f2 = 1 / 1e-30, c2 = 1 / s2, m2 = c2, p2 = 1, h2 = -~(8.5 * t2.log(e2 >= 1 ? e2 : 1 / e2) + 0.4 * e2 + 17);
if (r2 < 0 || e2 <= 0) return NaN;
if (r2 < e2 + 1) {
for (; p2 <= h2; p2++) i2 += l2 *= r2 / ++a2;
return i2 * t2.exp(-r2 + e2 * t2.log(r2) - u2);
}
for (; p2 <= h2; p2++) m2 *= (c2 = 1 / (c2 = (o2 = -p2 * (p2 - e2)) * c2 + (s2 += 2))) * (f2 = s2 + o2 / f2);
return 1 - m2 * t2.exp(-r2 + e2 * t2.log(r2) - u2);
}, n2.factorialln = function(t3) {
return t3 < 0 ? NaN : n2.gammaln(t3 + 1);
}, n2.factorial = function(t3) {
return t3 < 0 ? NaN : n2.gammafn(t3 + 1);
}, n2.combination = function(e2, r2) {
return e2 > 170 || r2 > 170 ? t2.exp(n2.combinationln(e2, r2)) : n2.factorial(e2) / n2.factorial(r2) / n2.factorial(e2 - r2);
}, n2.combinationln = function(t3, e2) {
return n2.factorialln(t3) - n2.factorialln(e2) - n2.factorialln(t3 - e2);
}, n2.permutation = function(t3, e2) {
return n2.factorial(t3) / n2.factorial(t3 - e2);
}, n2.betafn = function(e2, r2) {
if (!(e2 <= 0 || r2 <= 0)) return e2 + r2 > 170 ? t2.exp(n2.betaln(e2, r2)) : n2.gammafn(e2) * n2.gammafn(r2) / n2.gammafn(e2 + r2);
}, n2.betaln = function(t3, e2) {
return n2.gammaln(t3) + n2.gammaln(e2) - n2.gammaln(t3 + e2);
}, n2.betacf = function(n3, e2, r2) {
var o2, u2, a2, i2, l2 = 1e-30, s2 = 1, f2 = e2 + r2, c2 = e2 + 1, m2 = e2 - 1, p2 = 1, h2 = 1 - f2 * n3 / c2;
for (t2.abs(h2) < l2 && (h2 = l2), i2 = h2 = 1 / h2; s2 <= 100 && (h2 = 1 + (u2 = s2 * (r2 - s2) * n3 / ((m2 + (o2 = 2 * s2)) * (e2 + o2))) * h2, t2.abs(h2) < l2 && (h2 = l2), p2 = 1 + u2 / p2, t2.abs(p2) < l2 && (p2 = l2), i2 *= (h2 = 1 / h2) * p2, h2 = 1 + (u2 = -(e2 + s2) * (f2 + s2) * n3 / ((e2 + o2) * (c2 + o2))) * h2, t2.abs(h2) < l2 && (h2 = l2), p2 = 1 + u2 / p2, t2.abs(p2) < l2 && (p2 = l2), i2 *= a2 = (h2 = 1 / h2) * p2, !(t2.abs(a2 - 1) < 3e-7)); s2++) ;
return i2;
}, n2.gammapinv = function(e2, r2) {
var o2, u2, a2, i2, l2, s2, f2 = 0, c2 = r2 - 1, m2 = 1e-8, p2 = n2.gammaln(r2);
if (e2 >= 1) return t2.max(100, r2 + 100 * t2.sqrt(r2));
if (e2 <= 0) return 0;
for (r2 > 1 ? (l2 = t2.log(c2), s2 = t2.exp(c2 * (l2 - 1) - p2), i2 = e2 < 0.5 ? e2 : 1 - e2, o2 = (2.30753 + 0.27061 * (u2 = t2.sqrt(-2 * t2.log(i2)))) / (1 + u2 * (0.99229 + 0.04481 * u2)) - u2, e2 < 0.5 && (o2 = -o2), o2 = t2.max(1e-3, r2 * t2.pow(1 - 1 / (9 * r2) - o2 / (3 * t2.sqrt(r2)), 3))) : o2 = e2 < (u2 = 1 - r2 * (0.253 + 0.12 * r2)) ? t2.pow(e2 / u2, 1 / r2) : 1 - t2.log(1 - (e2 - u2) / (1 - u2)); f2 < 12; f2++) {
if (o2 <= 0) return 0;
if ((o2 -= u2 = (a2 = (n2.lowRegGamma(r2, o2) - e2) / (u2 = r2 > 1 ? s2 * t2.exp(-(o2 - c2) + c2 * (t2.log(o2) - l2)) : t2.exp(-o2 + c2 * t2.log(o2) - p2))) / (1 - 0.5 * t2.min(1, a2 * ((r2 - 1) / o2 - 1)))) <= 0 && (o2 = 0.5 * (o2 + u2)), t2.abs(u2) < m2 * o2) break;
}
return o2;
}, n2.erf = function(n3) {
var e2, r2, o2, u2, a2 = [-1.3026537197817094, 0.6419697923564902, 0.019476473204185836, -0.00956151478680863, -946595344482036e-18, 366839497852761e-18, 42523324806907e-18, -20278578112534e-18, -1624290004647e-18, 130365583558e-17, 15626441722e-18, -85238095915e-18, 6529054439e-18, 5059343495e-18, -991364156e-18, -227365122e-18, 96467911e-18, 2394038e-18, -6886027e-18, 894487e-18, 313092e-18, -112708e-18, 381e-18, 7106e-18, -1523e-18, -94e-18, 121e-18, -28e-18], i2 = a2.length - 1, l2 = false, s2 = 0, f2 = 0;
for (n3 < 0 && (n3 = -n3, l2 = true), r2 = 4 * (e2 = 2 / (2 + n3)) - 2; i2 > 0; i2--) o2 = s2, s2 = r2 * s2 - f2 + a2[i2], f2 = o2;
return u2 = e2 * t2.exp(-n3 * n3 + 0.5 * (a2[0] + r2 * s2) - f2), l2 ? u2 - 1 : 1 - u2;
}, n2.erfc = function(t3) {
return 1 - n2.erf(t3);
}, n2.erfcinv = function(e2) {
var r2, o2, u2, a2, i2 = 0;
if (e2 >= 2) return -100;
if (e2 <= 0) return 100;
for (a2 = e2 < 1 ? e2 : 2 - e2, r2 = -0.70711 * ((2.30753 + 0.27061 * (u2 = t2.sqrt(-2 * t2.log(a2 / 2)))) / (1 + u2 * (0.99229 + 0.04481 * u2)) - u2); i2 < 2; i2++) r2 += (o2 = n2.erfc(r2) - a2) / (1.1283791670955126 * t2.exp(-r2 * r2) - r2 * o2);
return e2 < 1 ? r2 : -r2;
}, n2.ibetainv = function(e2, r2, o2) {
var u2, a2, i2, l2, s2, f2, c2, m2, p2, h2, g2 = 1e-8, d2 = r2 - 1, N2 = o2 - 1, b2 = 0;
if (e2 <= 0) return 0;
if (e2 >= 1) return 1;
for (r2 >= 1 && o2 >= 1 ? (i2 = e2 < 0.5 ? e2 : 1 - e2, f2 = (2.30753 + 0.27061 * (l2 = t2.sqrt(-2 * t2.log(i2)))) / (1 + l2 * (0.99229 + 0.04481 * l2)) - l2, e2 < 0.5 && (f2 = -f2), c2 = (f2 * f2 - 3) / 6, m2 = 2 / (1 / (2 * r2 - 1) + 1 / (2 * o2 - 1)), p2 = f2 * t2.sqrt(c2 + m2) / m2 - (1 / (2 * o2 - 1) - 1 / (2 * r2 - 1)) * (c2 + 5 / 6 - 2 / (3 * m2)), f2 = r2 / (r2 + o2 * t2.exp(2 * p2))) : (u2 = t2.log(r2 / (r2 + o2)), a2 = t2.log(o2 / (r2 + o2)), f2 = e2 < (l2 = t2.exp(r2 * u2) / r2) / (p2 = l2 + (s2 = t2.exp(o2 * a2) / o2)) ? t2.pow(r2 * p2 * e2, 1 / r2) : 1 - t2.pow(o2 * p2 * (1 - e2), 1 / o2)), h2 = -n2.gammaln(r2) - n2.gammaln(o2) + n2.gammaln(r2 + o2); b2 < 10; b2++) {
if (0 === f2 || 1 === f2) return f2;
if ((f2 -= l2 = (s2 = (n2.ibeta(f2, r2, o2) - e2) / (l2 = t2.exp(d2 * t2.log(f2) + N2 * t2.log(1 - f2) + h2))) / (1 - 0.5 * t2.min(1, s2 * (d2 / f2 - N2 / (1 - f2))))) <= 0 && (f2 = 0.5 * (f2 + l2)), f2 >= 1 && (f2 = 0.5 * (f2 + l2 + 1)), t2.abs(l2) < g2 * f2 && b2 > 0) break;
}
return f2;
}, n2.ibeta = function(e2, r2, o2) {
var u2 = 0 === e2 || 1 === e2 ? 0 : t2.exp(n2.gammaln(r2 + o2) - n2.gammaln(r2) - n2.gammaln(o2) + r2 * t2.log(e2) + o2 * t2.log(1 - e2));
return !(e2 < 0 || e2 > 1) && (e2 < (r2 + 1) / (r2 + o2 + 2) ? u2 * n2.betacf(e2, r2, o2) / r2 : 1 - u2 * n2.betacf(1 - e2, o2, r2) / o2);
}, n2.randn = function(e2, r2) {
var o2, u2, a2, i2, l2;
if (r2 || (r2 = e2), e2) return n2.create(e2, r2, function() {
return n2.randn();
});
do {
o2 = n2._random_fn(), u2 = 1.7156 * (n2._random_fn() - 0.5), l2 = (a2 = o2 - 0.449871) * a2 + (i2 = t2.abs(u2) + 0.386595) * (0.196 * i2 - 0.25472 * a2);
} while (l2 > 0.27597 && (l2 > 0.27846 || u2 * u2 > -4 * t2.log(o2) * o2 * o2));
return u2 / o2;
}, n2.randg = function(e2, r2, o2) {
var u2, a2, i2, l2, s2, f2, c2 = e2;
if (o2 || (o2 = r2), e2 || (e2 = 1), r2) return (f2 = n2.zeros(r2, o2)).alter(function() {
return n2.randg(e2);
}), f2;
e2 < 1 && (e2 += 1), u2 = e2 - 1 / 3, a2 = 1 / t2.sqrt(9 * u2);
do {
do {
l2 = 1 + a2 * (s2 = n2.randn());
} while (l2 <= 0);
l2 *= l2 * l2, i2 = n2._random_fn();
} while (i2 > 1 - 0.331 * t2.pow(s2, 4) && t2.log(i2) > 0.5 * s2 * s2 + u2 * (1 - l2 + t2.log(l2)));
if (e2 == c2) return u2 * l2;
do {
i2 = n2._random_fn();
} while (0 === i2);
return t2.pow(i2, 1 / c2) * u2 * l2;
}, (function(t3) {
for (var e2 = 0; e2 < t3.length; e2++) (function(t4) {
n2.fn[t4] = function() {
return n2(n2.map(this, function(e3) {
return n2[t4](e3);
}));
};
})(t3[e2]);
})("gammaln gammafn factorial factorialln".split(" ")), (function(t3) {
for (var e2 = 0; e2 < t3.length; e2++) (function(t4) {
n2.fn[t4] = function() {
return n2(n2[t4].apply(null, arguments));
};
})(t3[e2]);
})("randn".split(" "));
})(h, Math), (function(n2, t2) {
function e2(n3, e3, r3, o3) {
for (var u3, a2 = 0, i2 = 1, l2 = 1, s2 = 1, f2 = 0, c2 = 0; t2.abs((l2 - c2) / l2) > o3; ) c2 = l2, i2 = s2 + (u3 = -(e3 + f2) * (e3 + r3 + f2) * n3 / (e3 + 2 * f2) / (e3 + 2 * f2 + 1)) * i2, l2 = (a2 = l2 + u3 * a2) + (u3 = (f2 += 1) * (r3 - f2) * n3 / (e3 + 2 * f2 - 1) / (e3 + 2 * f2)) * l2, a2 /= s2 = i2 + u3 * s2, i2 /= s2, l2 /= s2, s2 = 1;
return l2 / e3;
}
function r2(n3) {
return n3 / t2.abs(n3);
}
function o2(e3, r3, o3) {
var u3 = 12, a2 = 6, i2 = -30, l2 = -50, s2 = 60, f2 = 8, c2 = 3, m2 = 2, p2 = 3, h2 = [0.9815606342467192, 0.9041172563704749, 0.7699026741943047, 0.5873179542866175, 0.3678314989981802, 0.1252334085114689], g2 = [0.04717533638651183, 0.10693932599531843, 0.16007832854334622, 0.20316742672306592, 0.2334925365383548, 0.24914704581340277], d2 = 0.5 * e3;
if (d2 >= f2) return 1;
var N2, b2 = 2 * n2.normal.cdf(d2, 0, 1, 1, 0) - 1;
b2 = b2 >= t2.exp(l2 / o3) ? t2.pow(b2, o3) : 0;
for (var E2 = d2, I2 = (f2 - d2) / (N2 = e3 > c2 ? m2 : p2), T2 = E2 + I2, M2 = 0, S2 = o3 - 1, A2 = 1; A2 <= N2; A2++) {
for (var v2 = 0, R2 = 0.5 * (T2 + E2), y2 = 0.5 * (T2 - E2), w2 = 1; w2 <= u3; w2++) {
var C2, O2 = R2 + y2 * (a2 < w2 ? h2[(C2 = u3 - w2 + 1) - 1] : -h2[(C2 = w2) - 1]), D2 = O2 * O2;
if (D2 > s2) break;
var _2 = 2 * n2.normal.cdf(O2, 0, 1, 1, 0) * 0.5 - 2 * n2.normal.cdf(O2, e3, 1, 1, 0) * 0.5;
_2 >= t2.exp(i2 / S2) && (v2 += _2 = g2[C2 - 1] * t2.exp(-0.5 * D2) * t2.pow(_2, S2));
}
M2 += v2 *= 2 * y2 * o3 / t2.sqrt(2 * t2.PI), E2 = T2, T2 += I2;
}
return (b2 += M2) <= t2.exp(i2 / r3) ? 0 : (b2 = t2.pow(b2, r3)) >= 1 ? 1 : b2;
}
function u2(n3, e3, r3) {
var o3 = 0.322232421088, u3 = 0.099348462606, a2 = -1, i2 = 0.588581570495, l2 = -0.342242088547, s2 = 0.531103462366, f2 = -0.204231210125, c2 = 0.10353775285, m2 = -453642210148e-16, p2 = 0.0038560700634, h2 = 0.8832, g2 = 0.2368, d2 = 1.208, N2 = 1.4142, b2 = 120, E2 = 0.5 - 0.5 * n3, I2 = t2.sqrt(t2.log(1 / (E2 * E2))), T2 = I2 + ((((I2 * m2 + f2) * I2 + l2) * I2 + a2) * I2 + o3) / ((((I2 * p2 + c2) * I2 + s2) * I2 + i2) * I2 + u3);
r3 < b2 && (T2 += (T2 * T2 * T2 + T2) / r3 / 4);
var M2 = h2 - g2 * T2;
return r3 < b2 && (M2 += -1.214 / r3 + d2 * T2 / r3), T2 * (M2 * t2.log(e3 - 1) + N2);
}
!(function(t3) {
for (var e3 = 0; e3 < t3.length; e3++) (function(t4) {
n2[t4] = function n3(t5, e4, r3) {
return this instanceof n3 ? (this._a = t5, this._b = e4, this._c = r3, this) : new n3(t5, e4, r3);
}, n2.fn[t4] = function(e4, r3, o3) {
var u3 = n2[t4](e4, r3, o3);
return u3.data = this, u3;
}, n2[t4].prototype.sample = function(e4) {
var r3 = this._a, o3 = this._b, u3 = this._c;
return e4 ? n2.alter(e4, function() {
return n2[t4].sample(r3, o3, u3);
}) : n2[t4].sample(r3, o3, u3);
}, (function(e4) {
for (var r3 = 0; r3 < e4.length; r3++) (function(e5) {
n2[t4].prototype[e5] = function(r4) {
var o3 = this._a, u3 = this._b, a2 = this._c;
return r4 || 0 === r4 || (r4 = this.data), "number" != typeof r4 ? n2.fn.map.call(r4, function(r5) {
return n2[t4][e5](r5, o3, u3, a2);
}) : n2[t4][e5](r4, o3, u3, a2);
};
})(e4[r3]);
})("pdf cdf inv".split(" ")), (function(e4) {
for (var r3 = 0; r3 < e4.length; r3++) (function(e5) {
n2[t4].prototype[e5] = function() {
return n2[t4][e5](this._a, this._b, this._c);
};
})(e4[r3]);
})("mean median mode variance".split(" "));
})(t3[e3]);
})("beta centralF cauchy chisquare exponential gamma invgamma kumaraswamy laplace lognormal noncentralt normal pareto studentt weibull uniform binomial negbin hypgeom poisson triangular tukey arcsine".split(" ")), n2.extend(n2.beta, { pdf: function(e3, r3, o3) {
return e3 > 1 || e3 < 0 ? 0 : 1 == r3 && 1 == o3 ? 1 : r3 < 512 && o3 < 512 ? t2.pow(e3, r3 - 1) * t2.pow(1 - e3, o3 - 1) / n2.betafn(r3, o3) : t2.exp((r3 - 1) * t2.log(e3) + (o3 - 1) * t2.log(1 - e3) - n2.betaln(r3, o3));
}, cdf: function(t3, e3, r3) {
return t3 > 1 || t3 < 0 ? 1 * (t3 > 1) : n2.ibeta(t3, e3, r3);
}, inv: function(t3, e3, r3) {
return n2.ibetainv(t3, e3, r3);
}, mean: function(n3, t3) {
return n3 / (n3 + t3);
}, median: function(t3, e3) {
return n2.ibetainv(0.5, t3, e3);
}, mode: function(n3, t3) {
return (n3 - 1) / (n3 + t3 - 2);
}, sample: function(t3, e3) {
var r3 = n2.randg(t3);
return r3 / (r3 + n2.randg(e3));
}, variance: function(n3, e3) {
return n3 * e3 / (t2.pow(n3 + e3, 2) * (n3 + e3 + 1));
} }), n2.extend(n2.centralF, { pdf: function(e3, r3, o3) {
var u3;
return e3 < 0 ? 0 : r3 <= 2 ? 0 === e3 && r3 < 2 ? 1 / 0 : 0 === e3 && 2 === r3 ? 1 : 1 / n2.betafn(r3 / 2, o3 / 2) * t2.pow(r3 / o3, r3 / 2) * t2.pow(e3, r3 / 2 - 1) * t2.pow(1 + r3 / o3 * e3, -(r3 + o3) / 2) : (u3 = r3 * e3 / (o3 + e3 * r3), r3 * (o3 / (o3 + e3 * r3)) / 2 * n2.binomial.pdf((r3 - 2) / 2, (r3 + o3 - 2) / 2, u3));
}, cdf: function(t3, e3, r3) {
return t3 < 0 ? 0 : n2.ibeta(e3 * t3 / (e3 * t3 + r3), e3 / 2, r3 / 2);
}, inv: function(t3, e3, r3) {
return r3 / (e3 * (1 / n2.ibetainv(t3, e3 / 2, r3 / 2) - 1));
}, mean: function(n3, t3) {
return t3 > 2 ? t3 / (t3 - 2) : void 0;
}, mode: function(n3, t3) {
return n3 > 2 ? t3 * (n3 - 2) / (n3 * (t3 + 2)) : void 0;
}, sample: function(t3, e3) {
return 2 * n2.randg(t3 / 2) / t3 / (2 * n2.randg(e3 / 2) / e3);
}, variance: function(n3, t3) {
if (!(t3 <= 4)) return 2 * t3 * t3 * (n3 + t3 - 2) / (n3 * (t3 - 2) * (t3 - 2) * (t3 - 4));
} }), n2.extend(n2.cauchy, { pdf: function(n3, e3, r3) {
return r3 < 0 ? 0 : r3 / (t2.pow(n3 - e3, 2) + t2.pow(r3, 2)) / t2.PI;
}, cdf: function(n3, e3, r3) {
return t2.atan((n3 - e3) / r3) / t2.PI + 0.5;
}, inv: function(n3, e3, r3) {
return e3 + r3 * t2.tan(t2.PI * (n3 - 0.5));
}, median: function(n3) {
return n3;
}, mode: function(n3) {
return n3;
}, sample: function(e3, r3) {
return n2.randn() * t2.sqrt(1 / (2 * n2.randg(0.5))) * r3 + e3;
} }), n2.extend(n2.chisquare, { pdf: function(e3, r3) {
return e3 < 0 ? 0 : 0 === e3 && 2 === r3 ? 0.5 : t2.exp((r3 / 2 - 1) * t2.log(e3) - e3 / 2 - r3 / 2 * t2.log(2) - n2.gammaln(r3 / 2));
}, cdf: function(t3, e3) {
return t3 < 0 ? 0 : n2.lowRegGamma(e3 / 2, t3 / 2);
}, inv: function(t3, e3) {
return 2 * n2.gammapinv(t3, 0.5 * e3);
}, mean: function(n3) {
return n3;
}, median: function(n3) {
return n3 * t2.pow(1 - 2 / (9 * n3), 3);
}, mode: function(n3) {
return n3 - 2 > 0 ? n3 - 2 : 0;
}, sample: function(t3) {
return 2 * n2.randg(t3 / 2);
}, variance: function(n3) {
return 2 * n3;
} }), n2.extend(n2.exponential, { pdf: function(n3, e3) {
return n3 < 0 ? 0 : e3 * t2.exp(-e3 * n3);
}, cdf: function(n3, e3) {
return n3 < 0 ? 0 : 1 - t2.exp(-e3 * n3);
}, inv: function(n3, e3) {
return -t2.log(1 - n3) / e3;
}, mean: function(n3) {
return 1 / n3;
}, median: function(n3) {
return 1 / n3 * t2.log(2);
}, mode: function() {
return 0;
}, sample: function(e3) {
return -1 / e3 * t2.log(n2._random_fn());
}, variance: function(n3) {
return t2.pow(n3, -2);
} }), n2.extend(n2.gamma, { pdf: function(e3, r3, o3) {
return e3 < 0 ? 0 : 0 === e3 && 1 === r3 ? 1 / o3 : t2.exp((r3 - 1) * t2.log(e3) - e3 / o3 - n2.gammaln(r3) - r3 * t2.log(o3));
}, cdf: function(t3, e3, r3) {
return t3 < 0 ? 0 : n2.lowRegGamma(e3, t3 / r3);
}, inv: function(t3, e3, r3) {
return n2.gammapinv(t3, e3) * r3;
}, mean: function(n3, t3) {
return n3 * t3;
}, mode: function(n3, t3) {
if (n3 > 1) return (n3 - 1) * t3;
}, sample: function(t3, e3) {
return n2.randg(t3) * e3;
}, variance: function(n3, t3) {
return n3 * t3 * t3;
} }), n2.extend(n2.invgamma, { pdf: function(e3, r3, o3) {
return e3 <= 0 ? 0 : t2.exp(-(r3 + 1) * t2.log(e3) - o3 / e3 - n2.gammaln(r3) + r3 * t2.log(o3));
}, cdf: function(t3, e3, r3) {
return t3 <= 0 ? 0 : 1 - n2.lowRegGamma(e3, r3 / t3);
}, inv: function(t3, e3, r3) {
return r3 / n2.gammapinv(1 - t3, e3);
}, mean: function(n3, t3) {
return n3 > 1 ? t3 / (n3 - 1) : void 0;
}, mode: function(n3, t3) {
return t3 / (n3 + 1);
}, sample: function(t3, e3) {
return e3 / n2.randg(t3);
}, variance: function(n3, t3) {
if (!(n3 <= 2)) return t3 * t3 / ((n3 - 1) * (n3 - 1) * (n3 - 2));
} }), n2.extend(n2.kumaraswamy, { pdf: function(n3, e3, r3) {
return 0 === n3 && 1 === e3 ? r3 : 1 === n3 && 1 === r3 ? e3 : t2.exp(t2.log(e3) + t2.log(r3) + (e3 - 1) * t2.log(n3) + (r3 - 1) * t2.log(1 - t2.pow(n3, e3)));
}, cdf: function(n3, e3, r3) {
return n3 < 0 ? 0 : n3 > 1 ? 1 : 1 - t2.pow(1 - t2.pow(n3, e3), r3);
}, inv: function(n3, e3, r3) {
return t2.pow(1 - t2.pow(1 - n3, 1 / r3), 1 / e3);
}, mean: function(t3, e3) {
return e3 * n2.gammafn(1 + 1 / t3) * n2.gammafn(e3) / n2.gammafn(1 + 1 / t3 + e3);
}, median: function(n3, e3) {
return t2.pow(1 - t2.pow(2, -1 / e3), 1 / n3);
}, mode: function(n3, e3) {
if (n3 >= 1 && e3 >= 1 && 1 !== n3 && 1 !== e3) return t2.pow((n3 - 1) / (n3 * e3 - 1), 1 / n3);
}, variance: function() {
throw new Error("variance not yet implemented");
} }), n2.extend(n2.lognormal, { pdf: function(n3, e3, r3) {
return n3 <= 0 ? 0 : t2.exp(-t2.log(n3) - 0.5 * t2.log(2 * t2.PI) - t2.log(r3) - t2.pow(t2.log(n3) - e3, 2) / (2 * r3 * r3));
}, cdf: function(e3, r3, o3) {
return e3 < 0 ? 0 : 0.5 + 0.5 * n2.erf((t2.log(e3) - r3) / t2.sqrt(2 * o3 * o3));
}, inv: function(e3, r3, o3) {
return t2.exp(-1.4142135623730951 * o3 * n2.erfcinv(2 * e3) + r3);
}, mean: function(n3, e3) {
return t2.exp(n3 + e3 * e3 / 2);
}, median: function(n3) {
return t2.exp(n3);
}, mode: function(n3, e3) {
return t2.exp(n3 - e3 * e3);
}, sample: function(e3, r3) {
return t2.exp(n2.randn() * r3 + e3);
}, variance: function(n3, e3) {
return (t2.exp(e3 * e3) - 1) * t2.exp(2 * n3 + e3 * e3);
} }), n2.extend(n2.noncentralt, { pdf: function(e3, r3, o3) {
var u3 = 1e-14;
return t2.abs(o3) < u3 ? n2.studentt.pdf(e3, r3) : t2.abs(e3) < u3 ? t2.exp(n2.gammaln((r3 + 1) / 2) - o3 * o3 / 2 - 0.5 * t2.log(t2.PI * r3) - n2.gammaln(r3 / 2)) : r3 / e3 * (n2.noncentralt.cdf(e3 * t2.sqrt(1 + 2 / r3), r3 + 2, o3) - n2.noncentralt.cdf(e3, r3, o3));
}, cdf: function(e3, r3, o3) {
var u3 = 1e-14, a2 = 200;
if (t2.abs(o3) < u3) return n2.studentt.cdf(e3, r3);
var i2 = false;
e3 < 0 && (i2 = true, o3 = -o3);
for (var l2 = n2.normal.cdf(-o3, 0, 1), s2 = u3 + 1, f2 = s2, c2 = e3 * e3 / (e3 * e3 + r3), m2 = 0, p2 = t2.exp(-o3 * o3 / 2), h2 = t2.exp(-o3 * o3 / 2 - 0.5 * t2.log(2) - n2.gammaln(1.5)) * o3; m2 < a2 || f2 > u3 || s2 > u3; ) f2 = s2, m2 > 0 && (p2 *= o3 * o3 / (2 * m2), h2 *= o3 * o3 / (2 * (m2 + 0.5))), l2 += 0.5 * (s2 = p2 * n2.beta.cdf(c2, m2 + 0.5, r3 / 2) + h2 * n2.beta.cdf(c2, m2 + 1, r3 / 2)), m2++;
return i2 ? 1 - l2 : l2;
} }), n2.extend(n2.normal, { pdf: function(n3, e3, r3) {
return t2.exp(-0.5 * t2.log(2 * t2.PI) - t2.log(r3) - t2.pow(n3 - e3, 2) / (2 * r3 * r3));
}, cdf: function(e3, r3, o3) {
return 0.5 * (1 + n2.erf((e3 - r3) / t2.sqrt(2 * o3 * o3)));
}, inv: function(t3, e3, r3) {
return -1.4142135623730951 * r3 * n2.erfcinv(2 * t3) + e3;
}, mean: function(n3) {
return n3;
}, median: function(n3) {
return n3;
}, mode: function(n3) {
return n3;
}, sample: function(t3, e3) {
return n2.randn() * e3 + t3;
}, variance: function(n3, t3) {
return t3 * t3;
} }), n2.extend(n2.pareto, { pdf: function(n3, e3, r3) {
return n3 < e3 ? 0 : r3 * t2.pow(e3, r3) / t2.pow(n3, r3 + 1);
}, cdf: function(n3, e3, r3) {
return n3 < e3 ? 0 : 1 - t2.pow(e3 / n3, r3);
}, inv: function(n3, e3, r3) {
return e3 / t2.pow(1 - n3, 1 / r3);
}, mean: function(n3, e3) {
if (!(e3 <= 1)) return e3 * t2.pow(n3, e3) / (e3 - 1);
}, median: function(n3, e3) {
return n3 * (e3 * t2.SQRT2);
}, mode: function(n3) {
return n3;
}, variance: function(n3, e3) {
if (!(e3 <= 2)) return n3 * n3 * e3 / (t2.pow(e3 - 1, 2) * (e3 - 2));
} }), n2.extend(n2.studentt, { pdf: function(e3, r3) {
return r3 = r3 > 1e100 ? 1e100 : r3, 1 / (t2.sqrt(r3) * n2.betafn(0.5, r3 / 2)) * t2.pow(1 + e3 * e3 / r3, -(r3 + 1) / 2);
}, cdf: function(e3, r3) {
var o3 = r3 / 2;
return n2.ibeta((e3 + t2.sqrt(e3 * e3 + r3)) / (2 * t2.sqrt(e3 * e3 + r3)), o3, o3);
}, inv: function(e3, r3) {
var o3 = n2.ibetainv(2 * t2.min(e3, 1 - e3), 0.5 * r3, 0.5);
return o3 = t2.sqrt(r3 * (1 - o3) / o3), e3 > 0.5 ? o3 : -o3;
}, mean: function(n3) {
return n3 > 1 ? 0 : void 0;
}, median: function() {
return 0;
}, mode: function() {
return 0;
}, sample: function(e3) {
return n2.randn() * t2.sqrt(e3 / (2 * n2.randg(e3 / 2)));
}, variance: function(n3) {
return n3 > 2 ? n3 / (n3 - 2) : n3 > 1 ? 1 / 0 : void 0;
} }), n2.extend(n2.weibull, { pdf: function(n3, e3, r3) {
return n3 < 0 || e3 < 0 || r3 < 0 ? 0 : r3 / e3 * t2.pow(n3 / e3, r3 - 1) * t2.exp(-t2.pow(n3 / e3, r3));
}, cdf: function(n3, e3, r3) {
return n3 < 0 ? 0 : 1 - t2.exp(-t2.pow(n3 / e3, r3));
}, inv: function(n3, e3, r3) {
return e3 * t2.pow(-t2.log(1 - n3), 1 / r3);
}, mean: function(t3, e3) {
return t3 * n2.gammafn(1 + 1 / e3);
}, median: function(n3, e3) {
return n3 * t2.pow(t2.log(2), 1 / e3);
}, mode: function(n3, e3) {
return e3 <= 1 ? 0 : n3 * t2.pow((e3 - 1) / e3, 1 / e3);
}, sample: function(e3, r3) {
return e3 * t2.pow(-t2.log(n2._random_fn()), 1 / r3);
}, variance: function(e3, r3) {
return e3 * e3 * n2.gammafn(1 + 2 / r3) - t2.pow(n2.weibull.mean(e3, r3), 2);
} }), n2.extend(n2.uniform, { pdf: function(n3, t3, e3) {
return n3 < t3 || n3 > e3 ? 0 : 1 / (e3 - t3);
}, cdf: function(n3, t3, e3) {
return n3 < t3 ? 0 : n3 < e3 ? (n3 - t3) / (e3 - t3) : 1;
}, inv: function(n3, t3, e3) {
return t3 + n3 * (e3 - t3);
}, mean: function(n3, t3) {
return 0.5 * (n3 + t3);
}, median: function(t3, e3) {
return n2.mean(t3, e3);
}, mode: function() {
throw new Error("mode is not yet implemented");
}, sample: function(t3, e3) {
return t3 / 2 + e3 / 2 + (e3 / 2 - t3 / 2) * (2 * n2._random_fn() - 1);
}, variance: function(n3, e3) {
return t2.pow(e3 - n3, 2) / 12;
} }), n2.extend(n2.binomial, { pdf: function(e3, r3, o3) {
return 0 === o3 || 1 === o3 ? r3 * o3 === e3 ? 1 : 0 : n2.combination(r3, e3) * t2.pow(o3, e3) * t2.pow(1 - o3, r3 - e3);
}, cdf: function(r3, o3, u3) {
var a2, i2 = 1e-10;
if (r3 < 0) return 0;
if (r3 >= o3) return 1;
if (u3 < 0 || u3 > 1 || o3 <= 0) return NaN;
var l2 = u3, s2 = (r3 = t2.floor(r3)) + 1, f2 = o3 - r3, c2 = s2 + f2, m2 = t2.exp(n2.gammaln(c2) - n2.gammaln(f2) - n2.gammaln(s2) + s2 * t2.log(l2) + f2 * t2.log(1 - l2));
return a2 = l2 < (s2 + 1) / (c2 + 2) ? m2 * e2(l2, s2, f2, i2) : 1 - m2 * e2(1 - l2, f2, s2, i2), t2.round(1 / i2 * (1 - a2)) / (1 / i2);
} }), n2.extend(n2.negbin, { pdf: function(e3, r3, o3) {
return e3 === e3 >>> 0 && (e3 < 0 ? 0 : n2.combination(e3 + r3 - 1, r3 - 1) * t2.pow(1 - o3, e3) * t2.pow(o3, r3));
}, cdf: function(t3, e3, r3) {
var o3 = 0, u3 = 0;
if (t3 < 0) return 0;
for (; u3 <= t3; u3++) o3 += n2.negbin.pdf(u3, e3, r3);
return o3;
} }), n2.exte