in src/core/lib/gif.worker.js [166:255]
function I() {
o = [], q = new Int32Array(256), t = new Int32Array(a), y = new Int32Array(a), z = new Int32Array(a >> 3);var c, d;for (c = 0; c < a; c++) {
d = (c << b + 8) / a, o[c] = new Float64Array([d, d, d, 0]), y[c] = e / a, t[c] = 0;
}
}function J() {
for (var c = 0; c < a; c++) {
o[c][0] >>= b, o[c][1] >>= b, o[c][2] >>= b, o[c][3] = c;
}
}function K(b, a, c, e, f) {
o[a][0] -= b * (o[a][0] - c) / d, o[a][1] -= b * (o[a][1] - e) / d, o[a][2] -= b * (o[a][2] - f) / d;
}function L(j, e, n, l, k) {
var h = Math.abs(e - j),
i = Math.min(e + j, a),
g = e + 1,
f = e - 1,
m = 1,
b,
d;while (g < i || f > h) {
d = z[m++], g < i && (b = o[g++], b[0] -= d * (b[0] - n) / c, b[1] -= d * (b[1] - l) / c, b[2] -= d * (b[2] - k) / c), f > h && (b = o[f--], b[0] -= d * (b[0] - n) / c, b[1] -= d * (b[1] - l) / c, b[2] -= d * (b[2] - k) / c);
}
}function C(p, s, q) {
var h = 2147483647,
k = h,
d = -1,
m = d,
c,
j,
e,
n,
l;for (c = 0; c < a; c++) {
j = o[c], e = Math.abs(j[0] - p) + Math.abs(j[1] - s) + Math.abs(j[2] - q), e < h && (h = e, d = c), n = e - (t[c] >> i - b), n < k && (k = n, m = c), l = y[c] >> g, y[c] -= l, t[c] += l << f;
}return y[d] += x, t[d] -= r, m;
}function D() {
var d,
b,
e,
c,
h,
g,
f = 0,
i = 0;for (d = 0; d < a; d++) {
for (e = o[d], h = d, g = e[1], b = d + 1; b < a; b++) {
c = o[b], c[1] < g && (h = b, g = c[1]);
}if (c = o[h], d != h && (b = c[0], c[0] = e[0], e[0] = b, b = c[1], c[1] = e[1], e[1] = b, b = c[2], c[2] = e[2], e[2] = b, b = c[3], c[3] = e[3], e[3] = b), g != f) {
for (q[f] = i + d >> 1, b = f + 1; b < g; b++) {
q[b] = d;
}f = g, i = d;
}
}for (q[f] = i + n >> 1, b = f + 1; b < 256; b++) {
q[b] = n;
}
}function E(j, i, k) {
var b,
d,
c,
e = 1e3,
h = -1,
f = q[i],
g = f - 1;while (f < a || g >= 0) {
f < a && (d = o[f], c = d[1] - i, c >= e ? f = a : (f++, c < 0 && (c = -c), b = d[0] - j, b < 0 && (b = -b), c += b, c < e && (b = d[2] - k, b < 0 && (b = -b), c += b, c < e && (e = c, h = d[3])))), g >= 0 && (d = o[g], c = i - d[1], c >= e ? g = -1 : (g--, c < 0 && (c = -c), b = d[0] - j, b < 0 && (b = -b), c += b, c < e && (b = d[2] - k, b < 0 && (b = -b), c += b, c < e && (e = c, h = d[3]))));
}return h;
}function F() {
var c,
f = A.length,
D = 30 + (B - 1) / 3,
y = f / (3 * B),
q = ~~(y / w),
n = d,
o = u,
a = o >> h;for (a <= 1 && (a = 0), c = 0; c < a; c++) {
z[c] = n * ((a * a - c * c) * m / (a * a));
}var i;f < s ? (B = 1, i = 3) : f % l !== 0 ? i = 3 * l : f % k !== 0 ? i = 3 * k : f % p !== 0 ? i = 3 * p : i = 3 * j;var r,
t,
x,
e,
g = 0;c = 0;while (c < y) {
if (r = (A[g] & 255) << b, t = (A[g + 1] & 255) << b, x = (A[g + 2] & 255) << b, e = C(r, t, x), K(n, e, r, t, x), a !== 0 && L(a, e, r, t, x), g += i, g >= f && (g -= f), c++, q === 0 && (q = 1), c % q === 0) for (n -= n / D, o -= o / v, a = o >> h, a <= 1 && (a = 0), e = 0; e < a; e++) {
z[e] = n * ((a * a - e * e) * m / (a * a));
}
}
}function G() {
I(), F(), J(), D();
}function H() {
var b = [],
g = [];for (var c = 0; c < a; c++) {
g[o[c][3]] = c;
}var d = 0;for (var e = 0; e < a; e++) {
var f = g[e];b[d++] = o[f][0], b[d++] = o[f][1], b[d++] = o[f][2];
}return b;
}var o, q, t, y, z;this.buildColormap = G, this.getColormap = H, this.lookupRGB = E;