@blazediff/cli 2.1.4 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli.js CHANGED
@@ -76,9 +76,9 @@ async function main() {
76
76
  const image2 = args[1];
77
77
  const output = args[2];
78
78
  const options = {};
79
- for (let i2 = 3; i2 < args.length; i2++) {
80
- const arg = args[i2];
81
- const nextArg = args[i2 + 1];
79
+ for (let i3 = 3; i3 < args.length; i3++) {
80
+ const arg = args[i3];
81
+ const nextArg = args[i3 + 1];
82
82
  switch (arg) {
83
83
  case "-t":
84
84
  case "--threshold":
@@ -90,7 +90,7 @@ async function main() {
90
90
  );
91
91
  }
92
92
  options.threshold = threshold;
93
- i2++;
93
+ i3++;
94
94
  }
95
95
  break;
96
96
  case "-a":
@@ -110,7 +110,7 @@ async function main() {
110
110
  );
111
111
  }
112
112
  options.compression = compression;
113
- i2++;
113
+ i3++;
114
114
  }
115
115
  break;
116
116
  default:
@@ -161,112 +161,112 @@ var init_core_native = __esm({
161
161
  });
162
162
 
163
163
  // ../core/dist/index.mjs
164
- function g(n2, r, t, e, o2, { threshold: f2 = 0.1, alpha: c2 = 0.1, aaColor: s2 = [255, 255, 0], diffColor: a2 = [255, 0, 0], includeAA: U3, diffColorAlt: O2, diffMask: b, fastBufferCheck: y = true } = {}) {
165
- if (!_(n2) || !_(r) || t && !_(t)) throw new Error("Image data: Uint8Array, Uint8ClampedArray or Buffer expected.");
166
- if (n2.length !== r.length || t && t.length !== n2.length) throw new Error(`Image sizes do not match. Image 1 size: ${n2.length}, image 2 size: ${r.length}`);
167
- if (n2.length !== e * o2 * 4) throw new Error(`Image data size does not match width/height. Expecting ${e * o2 * 4}. Got ${n2.length}`);
168
- if (y && typeof Buffer < "u" && Buffer.compare && n2 instanceof Uint8Array && r instanceof Uint8Array && Buffer.compare(n2, r) === 0) {
169
- if (t && !b) for (let A = 0; A < e * o2; A++) L(n2, A * 4, c2, t);
164
+ function g(n3, r, t, e, o2, { threshold: f2 = 0.1, alpha: c3 = 0.1, aaColor: s = [255, 255, 0], diffColor: a2 = [255, 0, 0], includeAA: U3, diffColorAlt: O2, diffMask: b, fastBufferCheck: y = true } = {}) {
165
+ if (!_(n3) || !_(r) || t && !_(t)) throw new Error("Image data: Uint8Array, Uint8ClampedArray or Buffer expected.");
166
+ if (n3.length !== r.length || t && t.length !== n3.length) throw new Error(`Image sizes do not match. Image 1 size: ${n3.length}, image 2 size: ${r.length}`);
167
+ if (n3.length !== e * o2 * 4) throw new Error(`Image data size does not match width/height. Expecting ${e * o2 * 4}. Got ${n3.length}`);
168
+ if (y && typeof Buffer < "u" && Buffer.compare && n3 instanceof Uint8Array && r instanceof Uint8Array && Buffer.compare(n3, r) === 0) {
169
+ if (t && !b) for (let A = 0; A < e * o2; A++) L(n3, A * 4, c3, t);
170
170
  return 0;
171
171
  }
172
- let m2 = e * o2, u = new Uint32Array(n2.buffer, n2.byteOffset, m2), d2 = new Uint32Array(r.buffer, r.byteOffset, m2), l = tn(e, o2), i2 = Math.ceil(e / l), I2 = Math.ceil(o2 / l), z2 = i2 * I2, x = new Uint16Array(z2), M = 35215 * f2 * f2, B = 0;
173
- for (let A = 0; A < I2; A++) for (let R = 0; R < i2; R++) {
174
- let p2 = R * l, v = A * l, D3 = Math.min(p2 + l, e), P4 = Math.min(v + l, o2), $ = false;
172
+ let m3 = e * o2, u = new Uint32Array(n3.buffer, n3.byteOffset, m3), d2 = new Uint32Array(r.buffer, r.byteOffset, m3), l2 = tn(e, o2), i3 = Math.ceil(e / l2), I2 = Math.ceil(o2 / l2), z2 = i3 * I2, x = new Uint16Array(z2), M = 35215 * f2 * f2, B = 0;
173
+ for (let A = 0; A < I2; A++) for (let R = 0; R < i3; R++) {
174
+ let p3 = R * l2, v = A * l2, D3 = Math.min(p3 + l2, e), P4 = Math.min(v + l2, o2), $ = false;
175
175
  n: for (let C3 = v; C3 < P4; C3++) {
176
176
  let Y = C3 * e;
177
- for (let G = p2; G < D3; G++) {
177
+ for (let G = p3; G < D3; G++) {
178
178
  let E3 = Y + G;
179
179
  if (u[E3] === d2[E3]) continue;
180
- let S3 = E3 * 4, X2 = N(n2, r, S3, S3);
180
+ let S3 = E3 * 4, X2 = N(n3, r, S3, S3);
181
181
  if (Math.abs(X2) > M) {
182
182
  $ = true;
183
183
  break n;
184
184
  }
185
185
  }
186
186
  }
187
- if ($) x[B++] = A * i2 + R;
187
+ if ($) x[B++] = A * i3 + R;
188
188
  else if (t && !b) for (let C3 = v; C3 < P4; C3++) {
189
189
  let Y = C3 * e;
190
- for (let G = p2; G < D3; G++) {
190
+ for (let G = p3; G < D3; G++) {
191
191
  let E3 = Y + G;
192
- L(n2, E3 * 4, c2, t);
192
+ L(n3, E3 * 4, c3, t);
193
193
  }
194
194
  }
195
195
  }
196
196
  if (B === 0) return 0;
197
- let [F2, J, K2] = s2, [Q2, W2, Z2] = a2, [k, w, h2] = O2 || a2, T = 0;
197
+ let [F2, J, K2] = s, [Q2, W2, Z2] = a2, [k, w, h4] = O2 || a2, T = 0;
198
198
  for (let A = 0; A < B; A++) {
199
- let R = x[A], p2 = R % i2, v = R / i2 | 0, D3 = p2 * l, P4 = v * l, $ = Math.min(D3 + l, e), C3 = Math.min(P4 + l, o2);
199
+ let R = x[A], p3 = R % i3, v = R / i3 | 0, D3 = p3 * l2, P4 = v * l2, $ = Math.min(D3 + l2, e), C3 = Math.min(P4 + l2, o2);
200
200
  for (let Y = P4; Y < C3; Y++) {
201
201
  let G = Y * e;
202
202
  for (let E3 = D3; E3 < $; E3++) {
203
203
  let S3 = G + E3, X2 = S3 * 4;
204
204
  if (u[S3] === d2[S3]) {
205
- t && !b && L(n2, X2, c2, t);
205
+ t && !b && L(n3, X2, c3, t);
206
206
  continue;
207
207
  }
208
- let H3 = N(n2, r, X2, X2);
209
- Math.abs(H3) > M ? !U3 && (j(n2, E3, Y, e, o2, u, d2) || j(r, E3, Y, e, o2, d2, u)) ? t && !b && V(t, X2, F2, J, K2) : (t && (H3 < 0 ? V(t, X2, k, w, h2) : V(t, X2, Q2, W2, Z2)), T++) : t && !b && L(n2, X2, c2, t);
208
+ let H3 = N(n3, r, X2, X2);
209
+ Math.abs(H3) > M ? !U3 && (j(n3, E3, Y, e, o2, u, d2) || j(r, E3, Y, e, o2, d2, u)) ? t && !b && V(t, X2, F2, J, K2) : (t && (H3 < 0 ? V(t, X2, k, w, h4) : V(t, X2, Q2, W2, Z2)), T++) : t && !b && L(n3, X2, c3, t);
210
210
  }
211
211
  }
212
212
  }
213
213
  return T;
214
214
  }
215
- function _(n2) {
216
- return ArrayBuffer.isView(n2) && n2.BYTES_PER_ELEMENT === 1;
215
+ function _(n3) {
216
+ return ArrayBuffer.isView(n3) && n3.BYTES_PER_ELEMENT === 1;
217
217
  }
218
- function tn(n2, r) {
219
- let t = n2 * r, e = Math.sqrt(t) / 100, o2 = 16 * Math.sqrt(e), f2 = Math.log(o2) * nn;
218
+ function tn(n3, r) {
219
+ let t = n3 * r, e = Math.sqrt(t) / 100, o2 = 16 * Math.sqrt(e), f2 = Math.log(o2) * nn;
220
220
  return 1 << Math.round(f2);
221
221
  }
222
- function N(n2, r, t, e) {
223
- let o2 = n2[t], f2 = n2[t + 1], c2 = n2[t + 2], s2 = n2[t + 3], a2 = r[e], U3 = r[e + 1], O2 = r[e + 2], b = r[e + 3], y = o2 - a2, m2 = f2 - U3, u = c2 - O2, d2 = s2 - b;
224
- if (!y && !m2 && !u && !d2) return 0;
225
- if (s2 < 255 || b < 255) {
222
+ function N(n3, r, t, e) {
223
+ let o2 = n3[t], f2 = n3[t + 1], c3 = n3[t + 2], s = n3[t + 3], a2 = r[e], U3 = r[e + 1], O2 = r[e + 2], b = r[e + 3], y = o2 - a2, m3 = f2 - U3, u = c3 - O2, d2 = s - b;
224
+ if (!y && !m3 && !u && !d2) return 0;
225
+ if (s < 255 || b < 255) {
226
226
  let x = 48 + 159 * (t % 2), M = 48 + 159 * ((t / 1.618033988749895 | 0) & 1), B = 48 + 159 * ((t / 2.618033988749895 | 0) & 1);
227
- y = (o2 * s2 - a2 * b - x * d2) / 255, m2 = (f2 * s2 - U3 * b - M * d2) / 255, u = (c2 * s2 - O2 * b - B * d2) / 255;
227
+ y = (o2 * s - a2 * b - x * d2) / 255, m3 = (f2 * s - U3 * b - M * d2) / 255, u = (c3 * s - O2 * b - B * d2) / 255;
228
228
  }
229
- let l = y * 0.29889531 + m2 * 0.58662247 + u * 0.11448223, i2 = y * 0.59597799 - m2 * 0.2741761 - u * 0.32180189, I2 = y * 0.21147017 - m2 * 0.52261711 + u * 0.31114694, z2 = 0.5053 * l * l + 0.299 * i2 * i2 + 0.1957 * I2 * I2;
230
- return l > 0 ? -z2 : z2;
229
+ let l2 = y * 0.29889531 + m3 * 0.58662247 + u * 0.11448223, i3 = y * 0.59597799 - m3 * 0.2741761 - u * 0.32180189, I2 = y * 0.21147017 - m3 * 0.52261711 + u * 0.31114694, z2 = 0.5053 * l2 * l2 + 0.299 * i3 * i3 + 0.1957 * I2 * I2;
230
+ return l2 > 0 ? -z2 : z2;
231
231
  }
232
- function rn(n2, r, t, e) {
233
- let o2 = n2[t], f2 = n2[t + 1], c2 = n2[t + 2], s2 = n2[t + 3], a2 = r[e], U3 = r[e + 1], O2 = r[e + 2], b = r[e + 3], y = o2 - a2, m2 = f2 - U3, u = c2 - O2, d2 = s2 - b;
234
- if (!y && !m2 && !u && !d2) return 0;
235
- if (s2 < 255 || b < 255) {
236
- let i2 = 48 + 159 * (t % 2), I2 = 48 + 159 * ((t / 1.618033988749895 | 0) & 1), z2 = 48 + 159 * ((t / 2.618033988749895 | 0) & 1);
237
- y = (o2 * s2 - a2 * b - i2 * d2) / 255, m2 = (f2 * s2 - U3 * b - I2 * d2) / 255, u = (c2 * s2 - O2 * b - z2 * d2) / 255;
238
- }
239
- return y * 0.29889531 + m2 * 0.58662247 + u * 0.11448223;
232
+ function rn(n3, r, t, e) {
233
+ let o2 = n3[t], f2 = n3[t + 1], c3 = n3[t + 2], s = n3[t + 3], a2 = r[e], U3 = r[e + 1], O2 = r[e + 2], b = r[e + 3], y = o2 - a2, m3 = f2 - U3, u = c3 - O2, d2 = s - b;
234
+ if (!y && !m3 && !u && !d2) return 0;
235
+ if (s < 255 || b < 255) {
236
+ let i3 = 48 + 159 * (t % 2), I2 = 48 + 159 * ((t / 1.618033988749895 | 0) & 1), z2 = 48 + 159 * ((t / 2.618033988749895 | 0) & 1);
237
+ y = (o2 * s - a2 * b - i3 * d2) / 255, m3 = (f2 * s - U3 * b - I2 * d2) / 255, u = (c3 * s - O2 * b - z2 * d2) / 255;
238
+ }
239
+ return y * 0.29889531 + m3 * 0.58662247 + u * 0.11448223;
240
240
  }
241
- function j(n2, r, t, e, o2, f2, c2) {
242
- let s2 = Math.max(r - 1, 0), a2 = Math.max(t - 1, 0), U3 = Math.min(r + 1, e - 1), O2 = Math.min(t + 1, o2 - 1), y = (t * e + r) * 4, m2 = r === s2 || r === U3 || t === a2 || t === O2 ? 1 : 0, u = 0, d2 = 0, l = 0, i2 = 0, I2 = 0, z2 = 0;
243
- for (let x = s2; x <= U3; x++) for (let M = a2; M <= O2; M++) {
241
+ function j(n3, r, t, e, o2, f2, c3) {
242
+ let s = Math.max(r - 1, 0), a2 = Math.max(t - 1, 0), U3 = Math.min(r + 1, e - 1), O2 = Math.min(t + 1, o2 - 1), y = (t * e + r) * 4, m3 = r === s || r === U3 || t === a2 || t === O2 ? 1 : 0, u = 0, d2 = 0, l2 = 0, i3 = 0, I2 = 0, z2 = 0;
243
+ for (let x = s; x <= U3; x++) for (let M = a2; M <= O2; M++) {
244
244
  if (x === r && M === t) continue;
245
- let B = rn(n2, n2, y, (M * e + x) * 4);
245
+ let B = rn(n3, n3, y, (M * e + x) * 4);
246
246
  if (B === 0) {
247
- if (m2++, m2 > 2) return false;
248
- } else B < u ? (u = B, l = x, i2 = M) : B > d2 && (d2 = B, I2 = x, z2 = M);
247
+ if (m3++, m3 > 2) return false;
248
+ } else B < u ? (u = B, l2 = x, i3 = M) : B > d2 && (d2 = B, I2 = x, z2 = M);
249
249
  }
250
- return u === 0 || d2 === 0 ? false : q(f2, l, i2, e, o2) && q(c2, l, i2, e, o2) || q(f2, I2, z2, e, o2) && q(c2, I2, z2, e, o2);
250
+ return u === 0 || d2 === 0 ? false : q(f2, l2, i3, e, o2) && q(c3, l2, i3, e, o2) || q(f2, I2, z2, e, o2) && q(c3, I2, z2, e, o2);
251
251
  }
252
- function q(n2, r, t, e, o2) {
253
- let f2 = t * e + r, c2 = n2[f2], s2 = r === 0 || r === e - 1 || t === 0 || t === o2 - 1 ? 1 : 0;
252
+ function q(n3, r, t, e, o2) {
253
+ let f2 = t * e + r, c3 = n3[f2], s = r === 0 || r === e - 1 || t === 0 || t === o2 - 1 ? 1 : 0;
254
254
  if (t > 0) {
255
255
  let a2 = f2 - e;
256
- r > 0 && n2[a2 - 1] === c2 && s2++, n2[a2] === c2 && s2++, r < e - 1 && n2[a2 + 1] === c2 && s2++;
256
+ r > 0 && n3[a2 - 1] === c3 && s++, n3[a2] === c3 && s++, r < e - 1 && n3[a2 + 1] === c3 && s++;
257
257
  }
258
- if (r > 0 && n2[f2 - 1] === c2 && s2++, r < e - 1 && n2[f2 + 1] === c2 && s2++, t < o2 - 1) {
258
+ if (r > 0 && n3[f2 - 1] === c3 && s++, r < e - 1 && n3[f2 + 1] === c3 && s++, t < o2 - 1) {
259
259
  let a2 = f2 + e;
260
- r > 0 && n2[a2 - 1] === c2 && s2++, n2[a2] === c2 && s2++, r < e - 1 && n2[a2 + 1] === c2 && s2++;
260
+ r > 0 && n3[a2 - 1] === c3 && s++, n3[a2] === c3 && s++, r < e - 1 && n3[a2 + 1] === c3 && s++;
261
261
  }
262
- return s2 > 2;
262
+ return s > 2;
263
263
  }
264
- function L(n2, r, t, e) {
265
- let o2 = 255 + (n2[r] * 0.29889531 + n2[r + 1] * 0.58662247 + n2[r + 2] * 0.11448223 - 255) * t * n2[r + 3] / 255;
264
+ function L(n3, r, t, e) {
265
+ let o2 = 255 + (n3[r] * 0.29889531 + n3[r + 1] * 0.58662247 + n3[r + 2] * 0.11448223 - 255) * t * n3[r + 3] / 255;
266
266
  V(e, r, o2, o2, o2);
267
267
  }
268
- function V(n2, r, t, e, o2) {
269
- n2[r + 0] = t, n2[r + 1] = e, n2[r + 2] = o2, n2[r + 3] = 255;
268
+ function V(n3, r, t, e, o2) {
269
+ n3[r + 0] = t, n3[r + 1] = e, n3[r + 2] = o2, n3[r + 3] = 255;
270
270
  }
271
271
  var nn, on;
272
272
  var init_dist = __esm({
@@ -462,8 +462,8 @@ var require_interlace = __commonJS({
462
462
  let yLeftOver = height % 8;
463
463
  let xRepeats = (width - xLeftOver) / 8;
464
464
  let yRepeats = (height - yLeftOver) / 8;
465
- for (let i2 = 0; i2 < imagePasses.length; i2++) {
466
- let pass = imagePasses[i2];
465
+ for (let i3 = 0; i3 < imagePasses.length; i3++) {
466
+ let pass = imagePasses[i3];
467
467
  let passWidth = xRepeats * pass.x.length;
468
468
  let passHeight = yRepeats * pass.y.length;
469
469
  for (let j3 = 0; j3 < pass.x.length; j3++) {
@@ -481,7 +481,7 @@ var require_interlace = __commonJS({
481
481
  }
482
482
  }
483
483
  if (passWidth > 0 && passHeight > 0) {
484
- images.push({ width: passWidth, height: passHeight, index: i2 });
484
+ images.push({ width: passWidth, height: passHeight, index: i3 });
485
485
  }
486
486
  }
487
487
  return images;
@@ -544,10 +544,10 @@ var require_filter_parse = __commonJS({
544
544
  this._images = [];
545
545
  if (interlace) {
546
546
  let passes = interlaceUtils.getImagePasses(width, height);
547
- for (let i2 = 0; i2 < passes.length; i2++) {
547
+ for (let i3 = 0; i3 < passes.length; i3++) {
548
548
  this._images.push({
549
- byteWidth: getByteWidth(passes[i2].width, bpp, depth),
550
- height: passes[i2].height,
549
+ byteWidth: getByteWidth(passes[i3].width, bpp, depth),
550
+ height: passes[i3].height,
551
551
  lineIndex: 0
552
552
  });
553
553
  }
@@ -726,8 +726,8 @@ var require_crc = __commonJS({
726
726
  "use strict";
727
727
  var crcTable = [];
728
728
  (function() {
729
- for (let i2 = 0; i2 < 256; i2++) {
730
- let currentCrc = i2;
729
+ for (let i3 = 0; i3 < 256; i3++) {
730
+ let currentCrc = i3;
731
731
  for (let j3 = 0; j3 < 8; j3++) {
732
732
  if (currentCrc & 1) {
733
733
  currentCrc = 3988292384 ^ currentCrc >>> 1;
@@ -735,15 +735,15 @@ var require_crc = __commonJS({
735
735
  currentCrc = currentCrc >>> 1;
736
736
  }
737
737
  }
738
- crcTable[i2] = currentCrc;
738
+ crcTable[i3] = currentCrc;
739
739
  }
740
740
  })();
741
741
  var CrcCalculator = module2.exports = function() {
742
742
  this._crc = -1;
743
743
  };
744
744
  CrcCalculator.prototype.write = function(data) {
745
- for (let i2 = 0; i2 < data.length; i2++) {
746
- this._crc = crcTable[(this._crc ^ data[i2]) & 255] ^ this._crc >>> 8;
745
+ for (let i3 = 0; i3 < data.length; i3++) {
746
+ this._crc = crcTable[(this._crc ^ data[i3]) & 255] ^ this._crc >>> 8;
747
747
  }
748
748
  return true;
749
749
  };
@@ -752,8 +752,8 @@ var require_crc = __commonJS({
752
752
  };
753
753
  CrcCalculator.crc32 = function(buf) {
754
754
  let crc = -1;
755
- for (let i2 = 0; i2 < buf.length; i2++) {
756
- crc = crcTable[(crc ^ buf[i2]) & 255] ^ crc >>> 8;
755
+ for (let i3 = 0; i3 < buf.length; i3++) {
756
+ crc = crcTable[(crc ^ buf[i3]) & 255] ^ crc >>> 8;
757
757
  }
758
758
  return crc ^ -1;
759
759
  };
@@ -799,8 +799,8 @@ var require_parser = __commonJS({
799
799
  };
800
800
  Parser.prototype._parseSignature = function(data) {
801
801
  let signature = constants.PNG_SIGNATURE;
802
- for (let i2 = 0; i2 < signature.length; i2++) {
803
- if (data[i2] !== signature[i2]) {
802
+ for (let i3 = 0; i3 < signature.length; i3++) {
803
+ if (data[i3] !== signature[i3]) {
804
804
  this.error(new Error("Invalid file signature"));
805
805
  return;
806
806
  }
@@ -811,8 +811,8 @@ var require_parser = __commonJS({
811
811
  let length = data.readUInt32BE(0);
812
812
  let type = data.readUInt32BE(4);
813
813
  let name = "";
814
- for (let i2 = 4; i2 < 8; i2++) {
815
- name += String.fromCharCode(data[i2]);
814
+ for (let i3 = 4; i3 < 8; i3++) {
815
+ name += String.fromCharCode(data[i3]);
816
816
  }
817
817
  let ancillary = Boolean(data[4] & 32);
818
818
  if (!this._hasIHDR && type !== constants.TYPE_IHDR) {
@@ -901,8 +901,8 @@ var require_parser = __commonJS({
901
901
  Parser.prototype._parsePLTE = function(data) {
902
902
  this._crc.write(data);
903
903
  let entries = Math.floor(data.length / 3);
904
- for (let i2 = 0; i2 < entries; i2++) {
905
- this._palette.push([data[i2 * 3], data[i2 * 3 + 1], data[i2 * 3 + 2], 255]);
904
+ for (let i3 = 0; i3 < entries; i3++) {
905
+ this._palette.push([data[i3 * 3], data[i3 * 3 + 1], data[i3 * 3 + 2], 255]);
906
906
  }
907
907
  this.palette(this._palette);
908
908
  this._handleChunkEnd();
@@ -922,8 +922,8 @@ var require_parser = __commonJS({
922
922
  this.error(new Error("More transparent colors than palette size"));
923
923
  return;
924
924
  }
925
- for (let i2 = 0; i2 < data.length; i2++) {
926
- this._palette[i2][3] = data[i2];
925
+ for (let i3 = 0; i3 < data.length; i3++) {
926
+ this._palette[i3][3] = data[i3];
927
927
  }
928
928
  this.palette(this._palette);
929
929
  }
@@ -1078,20 +1078,20 @@ var require_bitmapper = __commonJS({
1078
1078
  ];
1079
1079
  function bitRetriever(data, depth) {
1080
1080
  let leftOver = [];
1081
- let i2 = 0;
1081
+ let i3 = 0;
1082
1082
  function split() {
1083
- if (i2 === data.length) {
1083
+ if (i3 === data.length) {
1084
1084
  throw new Error("Ran out of data");
1085
1085
  }
1086
- let byte = data[i2];
1087
- i2++;
1086
+ let byte = data[i3];
1087
+ i3++;
1088
1088
  let byte8, byte7, byte6, byte5, byte4, byte3, byte2, byte1;
1089
1089
  switch (depth) {
1090
1090
  default:
1091
1091
  throw new Error("unrecognised depth");
1092
1092
  case 16:
1093
- byte2 = data[i2];
1094
- i2++;
1093
+ byte2 = data[i3];
1094
+ i3++;
1095
1095
  leftOver.push((byte << 8) + byte2);
1096
1096
  break;
1097
1097
  case 4:
@@ -1132,7 +1132,7 @@ var require_bitmapper = __commonJS({
1132
1132
  leftOver.length = 0;
1133
1133
  },
1134
1134
  end: function() {
1135
- if (i2 !== data.length) {
1135
+ if (i3 !== data.length) {
1136
1136
  throw new Error("extra data found");
1137
1137
  }
1138
1138
  }
@@ -1241,8 +1241,8 @@ var require_format_normaliser = __commonJS({
1241
1241
  if (!color) {
1242
1242
  throw new Error("index " + indata[pxPos] + " not in palette");
1243
1243
  }
1244
- for (let i2 = 0; i2 < 4; i2++) {
1245
- outdata[pxPos + i2] = color[i2];
1244
+ for (let i3 = 0; i3 < 4; i3++) {
1245
+ outdata[pxPos + i3] = color[i3];
1246
1246
  }
1247
1247
  pxPos += 4;
1248
1248
  }
@@ -1261,8 +1261,8 @@ var require_format_normaliser = __commonJS({
1261
1261
  makeTrans = true;
1262
1262
  }
1263
1263
  if (makeTrans) {
1264
- for (let i2 = 0; i2 < 4; i2++) {
1265
- outdata[pxPos + i2] = 0;
1264
+ for (let i3 = 0; i3 < 4; i3++) {
1265
+ outdata[pxPos + i3] = 0;
1266
1266
  }
1267
1267
  }
1268
1268
  pxPos += 4;
@@ -1275,9 +1275,9 @@ var require_format_normaliser = __commonJS({
1275
1275
  let pxPos = 0;
1276
1276
  for (let y = 0; y < height; y++) {
1277
1277
  for (let x = 0; x < width; x++) {
1278
- for (let i2 = 0; i2 < 4; i2++) {
1279
- outdata[pxPos + i2] = Math.floor(
1280
- indata[pxPos + i2] * maxOutSample / maxInSample + 0.5
1278
+ for (let i3 = 0; i3 < 4; i3++) {
1279
+ outdata[pxPos + i3] = Math.floor(
1280
+ indata[pxPos + i3] * maxOutSample / maxInSample + 0.5
1281
1281
  );
1282
1282
  }
1283
1283
  pxPos += 4;
@@ -1603,8 +1603,8 @@ var require_filter_pack = __commonJS({
1603
1603
  function filterSumNone(pxData, pxPos, byteWidth) {
1604
1604
  let sum = 0;
1605
1605
  let length = pxPos + byteWidth;
1606
- for (let i2 = pxPos; i2 < length; i2++) {
1607
- sum += Math.abs(pxData[i2]);
1606
+ for (let i3 = pxPos; i3 < length; i3++) {
1607
+ sum += Math.abs(pxData[i3]);
1608
1608
  }
1609
1609
  return sum;
1610
1610
  }
@@ -1713,10 +1713,10 @@ var require_filter_pack = __commonJS({
1713
1713
  for (let y = 0; y < height; y++) {
1714
1714
  if (filterTypes.length > 1) {
1715
1715
  let min = Infinity;
1716
- for (let i2 = 0; i2 < filterTypes.length; i2++) {
1717
- let sum = filterSums[filterTypes[i2]](pxData, pxPos, byteWidth, bpp);
1716
+ for (let i3 = 0; i3 < filterTypes.length; i3++) {
1717
+ let sum = filterSums[filterTypes[i3]](pxData, pxPos, byteWidth, bpp);
1718
1718
  if (sum < min) {
1719
- sel = filterTypes[i2];
1719
+ sel = filterTypes[i3];
1720
1720
  min = sum;
1721
1721
  }
1722
1722
  }
@@ -1913,7 +1913,7 @@ var require_sync_inflate = __commonJS({
1913
1913
  if (typeof asyncCb === "function") {
1914
1914
  return zlib.Inflate._processChunk.call(this, chunk, flushFlag, asyncCb);
1915
1915
  }
1916
- let self = this;
1916
+ let self2 = this;
1917
1917
  let availInBefore = chunk && chunk.length;
1918
1918
  let availOutBefore = this._chunkSize - this._offset;
1919
1919
  let leftToInflate = this._maxLength;
@@ -1925,14 +1925,14 @@ var require_sync_inflate = __commonJS({
1925
1925
  error = err;
1926
1926
  });
1927
1927
  function handleChunk(availInAfter, availOutAfter) {
1928
- if (self._hadError) {
1928
+ if (self2._hadError) {
1929
1929
  return;
1930
1930
  }
1931
1931
  let have = availOutBefore - availOutAfter;
1932
1932
  assert(have >= 0, "have should not go down");
1933
1933
  if (have > 0) {
1934
- let out = self._buffer.slice(self._offset, self._offset + have);
1935
- self._offset += have;
1934
+ let out = self2._buffer.slice(self2._offset, self2._offset + have);
1935
+ self2._offset += have;
1936
1936
  if (out.length > leftToInflate) {
1937
1937
  out = out.slice(0, leftToInflate);
1938
1938
  }
@@ -1943,10 +1943,10 @@ var require_sync_inflate = __commonJS({
1943
1943
  return false;
1944
1944
  }
1945
1945
  }
1946
- if (availOutAfter === 0 || self._offset >= self._chunkSize) {
1947
- availOutBefore = self._chunkSize;
1948
- self._offset = 0;
1949
- self._buffer = Buffer.allocUnsafe(self._chunkSize);
1946
+ if (availOutAfter === 0 || self2._offset >= self2._chunkSize) {
1947
+ availOutBefore = self2._chunkSize;
1948
+ self2._offset = 0;
1949
+ self2._buffer = Buffer.allocUnsafe(self2._chunkSize);
1950
1950
  }
1951
1951
  if (availOutAfter === 0) {
1952
1952
  inOff += availInBefore - availInAfter;
@@ -2349,10 +2349,10 @@ var require_png = __commonJS({
2349
2349
  for (let y = 0; y < src.height; y++) {
2350
2350
  for (let x = 0; x < src.width; x++) {
2351
2351
  let idx = src.width * y + x << 2;
2352
- for (let i2 = 0; i2 < 3; i2++) {
2353
- let sample = src.data[idx + i2] / 255;
2352
+ for (let i3 = 0; i3 < 3; i3++) {
2353
+ let sample = src.data[idx + i3] / 255;
2354
2354
  sample = Math.pow(sample, 1 / 2.2 / src.gamma);
2355
- src.data[idx + i2] = Math.round(sample * 255);
2355
+ src.data[idx + i3] = Math.round(sample * 255);
2356
2356
  }
2357
2357
  }
2358
2358
  }
@@ -2368,37 +2368,37 @@ var require_png = __commonJS({
2368
2368
  // ../codec-pngjs/dist/index.mjs
2369
2369
  var dist_exports = {};
2370
2370
  __export(dist_exports, {
2371
- default: () => m,
2372
- pngjsTransformer: () => c
2371
+ codecPngjs: () => h,
2372
+ default: () => m
2373
2373
  });
2374
2374
  async function d(r) {
2375
- return new Promise((n2, a2) => {
2375
+ return new Promise((i3, n3) => {
2376
2376
  try {
2377
2377
  let t = typeof r == "string" ? (0, import_fs.readFileSync)(r) : r, e = import_pngjs.PNG.sync.read(t);
2378
- n2({ data: e.data, width: e.width, height: e.height });
2378
+ i3({ data: e.data, width: e.width, height: e.height });
2379
2379
  } catch (t) {
2380
- a2(new Error(`Failed to read PNG file ${r}: ${t}`));
2380
+ n3(new Error(`Failed to read PNG file ${r}: ${t}`));
2381
2381
  }
2382
2382
  });
2383
2383
  }
2384
- async function s(r, n2) {
2385
- return new Promise((a2, t) => {
2384
+ async function c(r, i3) {
2385
+ return new Promise((n3, t) => {
2386
2386
  try {
2387
2387
  let e = new import_pngjs.PNG({ width: r.width, height: r.height });
2388
- e.data = Buffer.isBuffer(r.data) ? r.data : Buffer.from(r.data.buffer), (0, import_fs.writeFileSync)(n2, import_pngjs.PNG.sync.write(e)), a2();
2388
+ e.data = Buffer.isBuffer(r.data) ? r.data : Buffer.from(r.data.buffer), (0, import_fs.writeFileSync)(i3, import_pngjs.PNG.sync.write(e)), n3();
2389
2389
  } catch (e) {
2390
- t(new Error(`Failed to write PNG file ${n2}: ${e}`));
2390
+ t(new Error(`Failed to write PNG file ${i3}: ${e}`));
2391
2391
  }
2392
2392
  });
2393
2393
  }
2394
- var import_fs, import_pngjs, c, m;
2394
+ var import_fs, import_pngjs, h, m;
2395
2395
  var init_dist2 = __esm({
2396
2396
  "../codec-pngjs/dist/index.mjs"() {
2397
2397
  "use strict";
2398
2398
  import_fs = require("fs");
2399
2399
  import_pngjs = __toESM(require_png(), 1);
2400
- c = { read: d, write: s };
2401
- m = c;
2400
+ h = { read: d, write: c };
2401
+ m = h;
2402
2402
  }
2403
2403
  });
2404
2404
 
@@ -2493,7 +2493,7 @@ var require_filesystem = __commonJS({
2493
2493
  var LDD_PATH = "/usr/bin/ldd";
2494
2494
  var SELF_PATH = "/proc/self/exe";
2495
2495
  var MAX_LENGTH = 2048;
2496
- var readFileSync2 = (path) => {
2496
+ var readFileSync3 = (path) => {
2497
2497
  const fd = fs.openSync(path, "r");
2498
2498
  const buffer = Buffer.alloc(MAX_LENGTH);
2499
2499
  const bytesRead = fs.readSync(fd, buffer, 0, MAX_LENGTH, 0);
@@ -2518,7 +2518,7 @@ var require_filesystem = __commonJS({
2518
2518
  module2.exports = {
2519
2519
  LDD_PATH,
2520
2520
  SELF_PATH,
2521
- readFileSync: readFileSync2,
2521
+ readFileSync: readFileSync3,
2522
2522
  readFile
2523
2523
  };
2524
2524
  }
@@ -2544,8 +2544,8 @@ var require_elf = __commonJS({
2544
2544
  const offset = elf.readUInt32LE(32);
2545
2545
  const size = elf.readUInt16LE(54);
2546
2546
  const count = elf.readUInt16LE(56);
2547
- for (let i2 = 0; i2 < count; i2++) {
2548
- const headerOffset = offset + i2 * size;
2547
+ for (let i3 = 0; i3 < count; i3++) {
2548
+ const headerOffset = offset + i3 * size;
2549
2549
  const type = elf.readUInt32LE(headerOffset);
2550
2550
  if (type === 3) {
2551
2551
  const fileOffset = elf.readUInt32LE(headerOffset + 8);
@@ -2567,7 +2567,7 @@ var require_detect_libc = __commonJS({
2567
2567
  "use strict";
2568
2568
  var childProcess = require("child_process");
2569
2569
  var { isLinux, getReport } = require_process();
2570
- var { LDD_PATH, SELF_PATH, readFile, readFileSync: readFileSync2 } = require_filesystem();
2570
+ var { LDD_PATH, SELF_PATH, readFile, readFileSync: readFileSync3 } = require_filesystem();
2571
2571
  var { interpreterPath } = require_elf();
2572
2572
  var cachedFamilyInterpreter;
2573
2573
  var cachedFamilyFilesystem;
@@ -2659,7 +2659,7 @@ var require_detect_libc = __commonJS({
2659
2659
  }
2660
2660
  cachedFamilyFilesystem = null;
2661
2661
  try {
2662
- const lddContent = readFileSync2(LDD_PATH);
2662
+ const lddContent = readFileSync3(LDD_PATH);
2663
2663
  cachedFamilyFilesystem = getFamilyFromLddContent(lddContent);
2664
2664
  } catch (e) {
2665
2665
  }
@@ -2684,7 +2684,7 @@ var require_detect_libc = __commonJS({
2684
2684
  }
2685
2685
  cachedFamilyInterpreter = null;
2686
2686
  try {
2687
- const selfContent = readFileSync2(SELF_PATH);
2687
+ const selfContent = readFileSync3(SELF_PATH);
2688
2688
  const path = interpreterPath(selfContent);
2689
2689
  cachedFamilyInterpreter = familyFromInterpreterPath(path);
2690
2690
  } catch (e) {
@@ -2748,7 +2748,7 @@ var require_detect_libc = __commonJS({
2748
2748
  }
2749
2749
  cachedVersionFilesystem = null;
2750
2750
  try {
2751
- const lddContent = readFileSync2(LDD_PATH);
2751
+ const lddContent = readFileSync3(LDD_PATH);
2752
2752
  const versionMatch = lddContent.match(RE_GLIBC_VERSION);
2753
2753
  if (versionMatch) {
2754
2754
  cachedVersionFilesystem = versionMatch[1];
@@ -2764,7 +2764,7 @@ var require_detect_libc = __commonJS({
2764
2764
  }
2765
2765
  return null;
2766
2766
  };
2767
- var versionSuffix = (s2) => s2.trim().split(/\s+/)[1];
2767
+ var versionSuffix = (s) => s.trim().split(/\s+/)[1];
2768
2768
  var versionFromCommand = (out) => {
2769
2769
  const [getconf, ldd1, ldd2] = out.split(/[\r\n]+/);
2770
2770
  if (getconf && getconf.includes(GLIBC)) {
@@ -3020,14 +3020,14 @@ var require_semver = __commonJS({
3020
3020
  this.options = options;
3021
3021
  this.loose = !!options.loose;
3022
3022
  this.includePrerelease = !!options.includePrerelease;
3023
- const m2 = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]);
3024
- if (!m2) {
3023
+ const m3 = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]);
3024
+ if (!m3) {
3025
3025
  throw new TypeError(`Invalid Version: ${version}`);
3026
3026
  }
3027
3027
  this.raw = version;
3028
- this.major = +m2[1];
3029
- this.minor = +m2[2];
3030
- this.patch = +m2[3];
3028
+ this.major = +m3[1];
3029
+ this.minor = +m3[2];
3030
+ this.patch = +m3[3];
3031
3031
  if (this.major > MAX_SAFE_INTEGER || this.major < 0) {
3032
3032
  throw new TypeError("Invalid major version");
3033
3033
  }
@@ -3037,10 +3037,10 @@ var require_semver = __commonJS({
3037
3037
  if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {
3038
3038
  throw new TypeError("Invalid patch version");
3039
3039
  }
3040
- if (!m2[4]) {
3040
+ if (!m3[4]) {
3041
3041
  this.prerelease = [];
3042
3042
  } else {
3043
- this.prerelease = m2[4].split(".").map((id) => {
3043
+ this.prerelease = m3[4].split(".").map((id) => {
3044
3044
  if (/^[0-9]+$/.test(id)) {
3045
3045
  const num = +id;
3046
3046
  if (num >= 0 && num < MAX_SAFE_INTEGER) {
@@ -3050,7 +3050,7 @@ var require_semver = __commonJS({
3050
3050
  return id;
3051
3051
  });
3052
3052
  }
3053
- this.build = m2[5] ? m2[5].split(".") : [];
3053
+ this.build = m3[5] ? m3[5].split(".") : [];
3054
3054
  this.format();
3055
3055
  }
3056
3056
  format() {
@@ -3111,11 +3111,11 @@ var require_semver = __commonJS({
3111
3111
  } else if (!this.prerelease.length && !other.prerelease.length) {
3112
3112
  return 0;
3113
3113
  }
3114
- let i2 = 0;
3114
+ let i3 = 0;
3115
3115
  do {
3116
- const a2 = this.prerelease[i2];
3117
- const b = other.prerelease[i2];
3118
- debug("prerelease compare", i2, a2, b);
3116
+ const a2 = this.prerelease[i3];
3117
+ const b = other.prerelease[i3];
3118
+ debug("prerelease compare", i3, a2, b);
3119
3119
  if (a2 === void 0 && b === void 0) {
3120
3120
  return 0;
3121
3121
  } else if (b === void 0) {
@@ -3127,17 +3127,17 @@ var require_semver = __commonJS({
3127
3127
  } else {
3128
3128
  return compareIdentifiers(a2, b);
3129
3129
  }
3130
- } while (++i2);
3130
+ } while (++i3);
3131
3131
  }
3132
3132
  compareBuild(other) {
3133
3133
  if (!(other instanceof _SemVer)) {
3134
3134
  other = new _SemVer(other, this.options);
3135
3135
  }
3136
- let i2 = 0;
3136
+ let i3 = 0;
3137
3137
  do {
3138
- const a2 = this.build[i2];
3139
- const b = other.build[i2];
3140
- debug("build compare", i2, a2, b);
3138
+ const a2 = this.build[i3];
3139
+ const b = other.build[i3];
3140
+ debug("build compare", i3, a2, b);
3141
3141
  if (a2 === void 0 && b === void 0) {
3142
3142
  return 0;
3143
3143
  } else if (b === void 0) {
@@ -3149,7 +3149,7 @@ var require_semver = __commonJS({
3149
3149
  } else {
3150
3150
  return compareIdentifiers(a2, b);
3151
3151
  }
3152
- } while (++i2);
3152
+ } while (++i3);
3153
3153
  }
3154
3154
  // preminor will bump the version up to the next minor release, and immediately
3155
3155
  // down to pre-release. premajor and prepatch work the same way.
@@ -3226,14 +3226,14 @@ var require_semver = __commonJS({
3226
3226
  if (this.prerelease.length === 0) {
3227
3227
  this.prerelease = [base];
3228
3228
  } else {
3229
- let i2 = this.prerelease.length;
3230
- while (--i2 >= 0) {
3231
- if (typeof this.prerelease[i2] === "number") {
3232
- this.prerelease[i2]++;
3233
- i2 = -2;
3229
+ let i3 = this.prerelease.length;
3230
+ while (--i3 >= 0) {
3231
+ if (typeof this.prerelease[i3] === "number") {
3232
+ this.prerelease[i3]++;
3233
+ i3 = -2;
3234
3234
  }
3235
3235
  }
3236
- if (i2 === -1) {
3236
+ if (i3 === -1) {
3237
3237
  if (identifier === this.prerelease.join(".") && identifierBase === false) {
3238
3238
  throw new Error("invalid increment argument: identifier already exists");
3239
3239
  }
@@ -3527,18 +3527,18 @@ var require_comparator = __commonJS({
3527
3527
  }
3528
3528
  parse(comp) {
3529
3529
  const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR];
3530
- const m2 = comp.match(r);
3531
- if (!m2) {
3530
+ const m3 = comp.match(r);
3531
+ if (!m3) {
3532
3532
  throw new TypeError(`Invalid comparator: ${comp}`);
3533
3533
  }
3534
- this.operator = m2[1] !== void 0 ? m2[1] : "";
3534
+ this.operator = m3[1] !== void 0 ? m3[1] : "";
3535
3535
  if (this.operator === "=") {
3536
3536
  this.operator = "";
3537
3537
  }
3538
- if (!m2[2]) {
3538
+ if (!m3[2]) {
3539
3539
  this.semver = ANY;
3540
3540
  } else {
3541
- this.semver = new SemVer(m2[2], this.options.loose);
3541
+ this.semver = new SemVer(m3[2], this.options.loose);
3542
3542
  }
3543
3543
  }
3544
3544
  toString() {
@@ -3633,19 +3633,19 @@ var require_range = __commonJS({
3633
3633
  this.loose = !!options.loose;
3634
3634
  this.includePrerelease = !!options.includePrerelease;
3635
3635
  this.raw = range.trim().replace(SPACE_CHARACTERS, " ");
3636
- this.set = this.raw.split("||").map((r) => this.parseRange(r.trim())).filter((c2) => c2.length);
3636
+ this.set = this.raw.split("||").map((r) => this.parseRange(r.trim())).filter((c3) => c3.length);
3637
3637
  if (!this.set.length) {
3638
3638
  throw new TypeError(`Invalid SemVer Range: ${this.raw}`);
3639
3639
  }
3640
3640
  if (this.set.length > 1) {
3641
3641
  const first = this.set[0];
3642
- this.set = this.set.filter((c2) => !isNullSet(c2[0]));
3642
+ this.set = this.set.filter((c3) => !isNullSet(c3[0]));
3643
3643
  if (this.set.length === 0) {
3644
3644
  this.set = [first];
3645
3645
  } else if (this.set.length > 1) {
3646
- for (const c2 of this.set) {
3647
- if (c2.length === 1 && isAny(c2[0])) {
3648
- this.set = [c2];
3646
+ for (const c3 of this.set) {
3647
+ if (c3.length === 1 && isAny(c3[0])) {
3648
+ this.set = [c3];
3649
3649
  break;
3650
3650
  }
3651
3651
  }
@@ -3656,11 +3656,11 @@ var require_range = __commonJS({
3656
3656
  get range() {
3657
3657
  if (this.formatted === void 0) {
3658
3658
  this.formatted = "";
3659
- for (let i2 = 0; i2 < this.set.length; i2++) {
3660
- if (i2 > 0) {
3659
+ for (let i3 = 0; i3 < this.set.length; i3++) {
3660
+ if (i3 > 0) {
3661
3661
  this.formatted += "||";
3662
3662
  }
3663
- const comps = this.set[i2];
3663
+ const comps = this.set[i3];
3664
3664
  for (let k = 0; k < comps.length; k++) {
3665
3665
  if (k > 0) {
3666
3666
  this.formatted += " ";
@@ -3743,8 +3743,8 @@ var require_range = __commonJS({
3743
3743
  return false;
3744
3744
  }
3745
3745
  }
3746
- for (let i2 = 0; i2 < this.set.length; i2++) {
3747
- if (testSet(this.set[i2], version, this.options)) {
3746
+ for (let i3 = 0; i3 < this.set.length; i3++) {
3747
+ if (testSet(this.set[i3], version, this.options)) {
3748
3748
  return true;
3749
3749
  }
3750
3750
  }
@@ -3766,8 +3766,8 @@ var require_range = __commonJS({
3766
3766
  caretTrimReplace
3767
3767
  } = require_re();
3768
3768
  var { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = require_constants2();
3769
- var isNullSet = (c2) => c2.value === "<0.0.0-0";
3770
- var isAny = (c2) => c2.value === "";
3769
+ var isNullSet = (c3) => c3.value === "<0.0.0-0";
3770
+ var isAny = (c3) => c3.value === "";
3771
3771
  var isSatisfiable = (comparators, options) => {
3772
3772
  let result = true;
3773
3773
  const remainingComparators = comparators.slice();
@@ -3795,70 +3795,70 @@ var require_range = __commonJS({
3795
3795
  };
3796
3796
  var isX = (id) => !id || id.toLowerCase() === "x" || id === "*";
3797
3797
  var replaceTildes = (comp, options) => {
3798
- return comp.trim().split(/\s+/).map((c2) => replaceTilde(c2, options)).join(" ");
3798
+ return comp.trim().split(/\s+/).map((c3) => replaceTilde(c3, options)).join(" ");
3799
3799
  };
3800
3800
  var replaceTilde = (comp, options) => {
3801
3801
  const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE];
3802
- return comp.replace(r, (_2, M, m2, p2, pr) => {
3803
- debug("tilde", comp, _2, M, m2, p2, pr);
3802
+ return comp.replace(r, (_2, M, m3, p3, pr) => {
3803
+ debug("tilde", comp, _2, M, m3, p3, pr);
3804
3804
  let ret;
3805
3805
  if (isX(M)) {
3806
3806
  ret = "";
3807
- } else if (isX(m2)) {
3807
+ } else if (isX(m3)) {
3808
3808
  ret = `>=${M}.0.0 <${+M + 1}.0.0-0`;
3809
- } else if (isX(p2)) {
3810
- ret = `>=${M}.${m2}.0 <${M}.${+m2 + 1}.0-0`;
3809
+ } else if (isX(p3)) {
3810
+ ret = `>=${M}.${m3}.0 <${M}.${+m3 + 1}.0-0`;
3811
3811
  } else if (pr) {
3812
3812
  debug("replaceTilde pr", pr);
3813
- ret = `>=${M}.${m2}.${p2}-${pr} <${M}.${+m2 + 1}.0-0`;
3813
+ ret = `>=${M}.${m3}.${p3}-${pr} <${M}.${+m3 + 1}.0-0`;
3814
3814
  } else {
3815
- ret = `>=${M}.${m2}.${p2} <${M}.${+m2 + 1}.0-0`;
3815
+ ret = `>=${M}.${m3}.${p3} <${M}.${+m3 + 1}.0-0`;
3816
3816
  }
3817
3817
  debug("tilde return", ret);
3818
3818
  return ret;
3819
3819
  });
3820
3820
  };
3821
3821
  var replaceCarets = (comp, options) => {
3822
- return comp.trim().split(/\s+/).map((c2) => replaceCaret(c2, options)).join(" ");
3822
+ return comp.trim().split(/\s+/).map((c3) => replaceCaret(c3, options)).join(" ");
3823
3823
  };
3824
3824
  var replaceCaret = (comp, options) => {
3825
3825
  debug("caret", comp, options);
3826
3826
  const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET];
3827
3827
  const z2 = options.includePrerelease ? "-0" : "";
3828
- return comp.replace(r, (_2, M, m2, p2, pr) => {
3829
- debug("caret", comp, _2, M, m2, p2, pr);
3828
+ return comp.replace(r, (_2, M, m3, p3, pr) => {
3829
+ debug("caret", comp, _2, M, m3, p3, pr);
3830
3830
  let ret;
3831
3831
  if (isX(M)) {
3832
3832
  ret = "";
3833
- } else if (isX(m2)) {
3833
+ } else if (isX(m3)) {
3834
3834
  ret = `>=${M}.0.0${z2} <${+M + 1}.0.0-0`;
3835
- } else if (isX(p2)) {
3835
+ } else if (isX(p3)) {
3836
3836
  if (M === "0") {
3837
- ret = `>=${M}.${m2}.0${z2} <${M}.${+m2 + 1}.0-0`;
3837
+ ret = `>=${M}.${m3}.0${z2} <${M}.${+m3 + 1}.0-0`;
3838
3838
  } else {
3839
- ret = `>=${M}.${m2}.0${z2} <${+M + 1}.0.0-0`;
3839
+ ret = `>=${M}.${m3}.0${z2} <${+M + 1}.0.0-0`;
3840
3840
  }
3841
3841
  } else if (pr) {
3842
3842
  debug("replaceCaret pr", pr);
3843
3843
  if (M === "0") {
3844
- if (m2 === "0") {
3845
- ret = `>=${M}.${m2}.${p2}-${pr} <${M}.${m2}.${+p2 + 1}-0`;
3844
+ if (m3 === "0") {
3845
+ ret = `>=${M}.${m3}.${p3}-${pr} <${M}.${m3}.${+p3 + 1}-0`;
3846
3846
  } else {
3847
- ret = `>=${M}.${m2}.${p2}-${pr} <${M}.${+m2 + 1}.0-0`;
3847
+ ret = `>=${M}.${m3}.${p3}-${pr} <${M}.${+m3 + 1}.0-0`;
3848
3848
  }
3849
3849
  } else {
3850
- ret = `>=${M}.${m2}.${p2}-${pr} <${+M + 1}.0.0-0`;
3850
+ ret = `>=${M}.${m3}.${p3}-${pr} <${+M + 1}.0.0-0`;
3851
3851
  }
3852
3852
  } else {
3853
3853
  debug("no pr");
3854
3854
  if (M === "0") {
3855
- if (m2 === "0") {
3856
- ret = `>=${M}.${m2}.${p2}${z2} <${M}.${m2}.${+p2 + 1}-0`;
3855
+ if (m3 === "0") {
3856
+ ret = `>=${M}.${m3}.${p3}${z2} <${M}.${m3}.${+p3 + 1}-0`;
3857
3857
  } else {
3858
- ret = `>=${M}.${m2}.${p2}${z2} <${M}.${+m2 + 1}.0-0`;
3858
+ ret = `>=${M}.${m3}.${p3}${z2} <${M}.${+m3 + 1}.0-0`;
3859
3859
  }
3860
3860
  } else {
3861
- ret = `>=${M}.${m2}.${p2} <${+M + 1}.0.0-0`;
3861
+ ret = `>=${M}.${m3}.${p3} <${+M + 1}.0.0-0`;
3862
3862
  }
3863
3863
  }
3864
3864
  debug("caret return", ret);
@@ -3867,16 +3867,16 @@ var require_range = __commonJS({
3867
3867
  };
3868
3868
  var replaceXRanges = (comp, options) => {
3869
3869
  debug("replaceXRanges", comp, options);
3870
- return comp.split(/\s+/).map((c2) => replaceXRange(c2, options)).join(" ");
3870
+ return comp.split(/\s+/).map((c3) => replaceXRange(c3, options)).join(" ");
3871
3871
  };
3872
3872
  var replaceXRange = (comp, options) => {
3873
3873
  comp = comp.trim();
3874
3874
  const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE];
3875
- return comp.replace(r, (ret, gtlt, M, m2, p2, pr) => {
3876
- debug("xRange", comp, ret, gtlt, M, m2, p2, pr);
3875
+ return comp.replace(r, (ret, gtlt, M, m3, p3, pr) => {
3876
+ debug("xRange", comp, ret, gtlt, M, m3, p3, pr);
3877
3877
  const xM = isX(M);
3878
- const xm = xM || isX(m2);
3879
- const xp = xm || isX(p2);
3878
+ const xm = xM || isX(m3);
3879
+ const xp = xm || isX(p3);
3880
3880
  const anyX = xp;
3881
3881
  if (gtlt === "=" && anyX) {
3882
3882
  gtlt = "";
@@ -3890,35 +3890,35 @@ var require_range = __commonJS({
3890
3890
  }
3891
3891
  } else if (gtlt && anyX) {
3892
3892
  if (xm) {
3893
- m2 = 0;
3893
+ m3 = 0;
3894
3894
  }
3895
- p2 = 0;
3895
+ p3 = 0;
3896
3896
  if (gtlt === ">") {
3897
3897
  gtlt = ">=";
3898
3898
  if (xm) {
3899
3899
  M = +M + 1;
3900
- m2 = 0;
3901
- p2 = 0;
3900
+ m3 = 0;
3901
+ p3 = 0;
3902
3902
  } else {
3903
- m2 = +m2 + 1;
3904
- p2 = 0;
3903
+ m3 = +m3 + 1;
3904
+ p3 = 0;
3905
3905
  }
3906
3906
  } else if (gtlt === "<=") {
3907
3907
  gtlt = "<";
3908
3908
  if (xm) {
3909
3909
  M = +M + 1;
3910
3910
  } else {
3911
- m2 = +m2 + 1;
3911
+ m3 = +m3 + 1;
3912
3912
  }
3913
3913
  }
3914
3914
  if (gtlt === "<") {
3915
3915
  pr = "-0";
3916
3916
  }
3917
- ret = `${gtlt + M}.${m2}.${p2}${pr}`;
3917
+ ret = `${gtlt + M}.${m3}.${p3}${pr}`;
3918
3918
  } else if (xm) {
3919
3919
  ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`;
3920
3920
  } else if (xp) {
3921
- ret = `>=${M}.${m2}.0${pr} <${M}.${+m2 + 1}.0-0`;
3921
+ ret = `>=${M}.${m3}.0${pr} <${M}.${+m3 + 1}.0-0`;
3922
3922
  }
3923
3923
  debug("xRange return", ret);
3924
3924
  return ret;
@@ -3960,19 +3960,19 @@ var require_range = __commonJS({
3960
3960
  return `${from} ${to}`.trim();
3961
3961
  };
3962
3962
  var testSet = (set, version, options) => {
3963
- for (let i2 = 0; i2 < set.length; i2++) {
3964
- if (!set[i2].test(version)) {
3963
+ for (let i3 = 0; i3 < set.length; i3++) {
3964
+ if (!set[i3].test(version)) {
3965
3965
  return false;
3966
3966
  }
3967
3967
  }
3968
3968
  if (version.prerelease.length && !options.includePrerelease) {
3969
- for (let i2 = 0; i2 < set.length; i2++) {
3970
- debug(set[i2].semver);
3971
- if (set[i2].semver === Comparator.ANY) {
3969
+ for (let i3 = 0; i3 < set.length; i3++) {
3970
+ debug(set[i3].semver);
3971
+ if (set[i3].semver === Comparator.ANY) {
3972
3972
  continue;
3973
3973
  }
3974
- if (set[i2].semver.prerelease.length > 0) {
3975
- const allowed = set[i2].semver;
3974
+ if (set[i3].semver.prerelease.length > 0) {
3975
+ const allowed = set[i3].semver;
3976
3976
  if (allowed.major === version.major && allowed.minor === version.minor && allowed.patch === version.patch) {
3977
3977
  return true;
3978
3978
  }
@@ -4306,7 +4306,7 @@ var require_libvips = __commonJS({
4306
4306
  }
4307
4307
  return false;
4308
4308
  };
4309
- var sha512 = (s2) => createHash("sha512").update(s2).digest("hex");
4309
+ var sha512 = (s) => createHash("sha512").update(s).digest("hex");
4310
4310
  var yarnLocator = () => {
4311
4311
  try {
4312
4312
  const identHash = sha512(`imgsharp-libvips-${buildPlatformArch()}`);
@@ -4780,7 +4780,7 @@ var require_input = __commonJS({
4780
4780
  "tiffSubifd"
4781
4781
  ];
4782
4782
  function _inputOptionsFromObject(obj) {
4783
- const params = inputStreamParameters.filter((p2) => is.defined(obj[p2])).map((p2) => [p2, obj[p2]]);
4783
+ const params = inputStreamParameters.filter((p3) => is.defined(obj[p3])).map((p3) => [p3, obj[p3]]);
4784
4784
  return params.length ? Object.fromEntries(params) : void 0;
4785
4785
  }
4786
4786
  function _createInputDescriptor(input, inputOptions, containerOptions) {
@@ -4820,7 +4820,7 @@ var require_input = __commonJS({
4820
4820
  if (input.length > 1) {
4821
4821
  if (!this.options.joining) {
4822
4822
  this.options.joining = true;
4823
- this.options.join = input.map((i2) => this._createInputDescriptor(i2));
4823
+ this.options.join = input.map((i3) => this._createInputDescriptor(i3));
4824
4824
  } else {
4825
4825
  throw new Error("Recursive join is unsupported");
4826
4826
  }
@@ -6422,14 +6422,14 @@ var require_color = __commonJS({
6422
6422
  const keyword = /^(\w+)$/;
6423
6423
  let rgb = [0, 0, 0, 1];
6424
6424
  let match;
6425
- let i2;
6425
+ let i3;
6426
6426
  let hexAlpha;
6427
6427
  if (match = string.match(hex)) {
6428
6428
  hexAlpha = match[2];
6429
6429
  match = match[1];
6430
- for (i2 = 0; i2 < 3; i2++) {
6431
- const i22 = i2 * 2;
6432
- rgb[i2] = Number.parseInt(match.slice(i22, i22 + 2), 16);
6430
+ for (i3 = 0; i3 < 3; i3++) {
6431
+ const i22 = i3 * 2;
6432
+ rgb[i3] = Number.parseInt(match.slice(i22, i22 + 2), 16);
6433
6433
  }
6434
6434
  if (hexAlpha) {
6435
6435
  rgb[3] = Number.parseInt(hexAlpha, 16) / 255;
@@ -6437,22 +6437,22 @@ var require_color = __commonJS({
6437
6437
  } else if (match = string.match(abbr)) {
6438
6438
  match = match[1];
6439
6439
  hexAlpha = match[3];
6440
- for (i2 = 0; i2 < 3; i2++) {
6441
- rgb[i2] = Number.parseInt(match[i2] + match[i2], 16);
6440
+ for (i3 = 0; i3 < 3; i3++) {
6441
+ rgb[i3] = Number.parseInt(match[i3] + match[i3], 16);
6442
6442
  }
6443
6443
  if (hexAlpha) {
6444
6444
  rgb[3] = Number.parseInt(hexAlpha + hexAlpha, 16) / 255;
6445
6445
  }
6446
6446
  } else if (match = string.match(rgba)) {
6447
- for (i2 = 0; i2 < 3; i2++) {
6448
- rgb[i2] = Number.parseInt(match[i2 + 1], 10);
6447
+ for (i3 = 0; i3 < 3; i3++) {
6448
+ rgb[i3] = Number.parseInt(match[i3 + 1], 10);
6449
6449
  }
6450
6450
  if (match[4]) {
6451
6451
  rgb[3] = match[5] ? Number.parseFloat(match[4]) * 0.01 : Number.parseFloat(match[4]);
6452
6452
  }
6453
6453
  } else if (match = string.match(per)) {
6454
- for (i2 = 0; i2 < 3; i2++) {
6455
- rgb[i2] = Math.round(Number.parseFloat(match[i2 + 1]) * 2.55);
6454
+ for (i3 = 0; i3 < 3; i3++) {
6455
+ rgb[i3] = Math.round(Number.parseFloat(match[i3 + 1]) * 2.55);
6456
6456
  }
6457
6457
  if (match[4]) {
6458
6458
  rgb[3] = match[5] ? Number.parseFloat(match[4]) * 0.01 : Number.parseFloat(match[4]);
@@ -6470,8 +6470,8 @@ var require_color = __commonJS({
6470
6470
  } else {
6471
6471
  return null;
6472
6472
  }
6473
- for (i2 = 0; i2 < 3; i2++) {
6474
- rgb[i2] = clamp(rgb[i2], 0, 255);
6473
+ for (i3 = 0; i3 < 3; i3++) {
6474
+ rgb[i3] = clamp(rgb[i3], 0, 255);
6475
6475
  }
6476
6476
  rgb[3] = clamp(rgb[3], 0, 1);
6477
6477
  return rgb;
@@ -6484,11 +6484,11 @@ var require_color = __commonJS({
6484
6484
  const match = string.match(hsl);
6485
6485
  if (match) {
6486
6486
  const alpha = Number.parseFloat(match[4]);
6487
- const h2 = (Number.parseFloat(match[1]) % 360 + 360) % 360;
6488
- const s2 = clamp(Number.parseFloat(match[2]), 0, 100);
6489
- const l = clamp(Number.parseFloat(match[3]), 0, 100);
6487
+ const h4 = (Number.parseFloat(match[1]) % 360 + 360) % 360;
6488
+ const s = clamp(Number.parseFloat(match[2]), 0, 100);
6489
+ const l2 = clamp(Number.parseFloat(match[3]), 0, 100);
6490
6490
  const a2 = clamp(Number.isNaN(alpha) ? 1 : alpha, 0, 1);
6491
- return [h2, s2, l, a2];
6491
+ return [h4, s, l2, a2];
6492
6492
  }
6493
6493
  return null;
6494
6494
  };
@@ -6500,11 +6500,11 @@ var require_color = __commonJS({
6500
6500
  const match = string.match(hwb);
6501
6501
  if (match) {
6502
6502
  const alpha = Number.parseFloat(match[4]);
6503
- const h2 = (Number.parseFloat(match[1]) % 360 + 360) % 360;
6503
+ const h4 = (Number.parseFloat(match[1]) % 360 + 360) % 360;
6504
6504
  const w = clamp(Number.parseFloat(match[2]), 0, 100);
6505
6505
  const b = clamp(Number.parseFloat(match[3]), 0, 100);
6506
6506
  const a2 = clamp(Number.isNaN(alpha) ? 1 : alpha, 0, 1);
6507
- return [h2, w, b, a2];
6507
+ return [h4, w, b, a2];
6508
6508
  }
6509
6509
  return null;
6510
6510
  };
@@ -6566,12 +6566,12 @@ var require_color = __commonJS({
6566
6566
  };
6567
6567
  var conversions_default = convert;
6568
6568
  var LAB_FT = (6 / 29) ** 3;
6569
- function srgbNonlinearTransform(c2) {
6570
- const cc = c2 > 31308e-7 ? 1.055 * c2 ** (1 / 2.4) - 0.055 : c2 * 12.92;
6569
+ function srgbNonlinearTransform(c3) {
6570
+ const cc = c3 > 31308e-7 ? 1.055 * c3 ** (1 / 2.4) - 0.055 : c3 * 12.92;
6571
6571
  return Math.min(Math.max(0, cc), 1);
6572
6572
  }
6573
- function srgbNonlinearTransformInv(c2) {
6574
- return c2 > 0.04045 ? ((c2 + 0.055) / 1.055) ** 2.4 : c2 / 12.92;
6573
+ function srgbNonlinearTransformInv(c3) {
6574
+ return c3 > 0.04045 ? ((c3 + 0.055) / 1.055) ** 2.4 : c3 / 12.92;
6575
6575
  }
6576
6576
  for (const model of Object.keys(convert)) {
6577
6577
  if (!("channels" in convert[model])) {
@@ -6596,85 +6596,85 @@ var require_color = __commonJS({
6596
6596
  const min = Math.min(r, g2, b);
6597
6597
  const max = Math.max(r, g2, b);
6598
6598
  const delta = max - min;
6599
- let h2;
6600
- let s2;
6599
+ let h4;
6600
+ let s;
6601
6601
  switch (max) {
6602
6602
  case min: {
6603
- h2 = 0;
6603
+ h4 = 0;
6604
6604
  break;
6605
6605
  }
6606
6606
  case r: {
6607
- h2 = (g2 - b) / delta;
6607
+ h4 = (g2 - b) / delta;
6608
6608
  break;
6609
6609
  }
6610
6610
  case g2: {
6611
- h2 = 2 + (b - r) / delta;
6611
+ h4 = 2 + (b - r) / delta;
6612
6612
  break;
6613
6613
  }
6614
6614
  case b: {
6615
- h2 = 4 + (r - g2) / delta;
6615
+ h4 = 4 + (r - g2) / delta;
6616
6616
  break;
6617
6617
  }
6618
6618
  }
6619
- h2 = Math.min(h2 * 60, 360);
6620
- if (h2 < 0) {
6621
- h2 += 360;
6619
+ h4 = Math.min(h4 * 60, 360);
6620
+ if (h4 < 0) {
6621
+ h4 += 360;
6622
6622
  }
6623
- const l = (min + max) / 2;
6623
+ const l2 = (min + max) / 2;
6624
6624
  if (max === min) {
6625
- s2 = 0;
6626
- } else if (l <= 0.5) {
6627
- s2 = delta / (max + min);
6625
+ s = 0;
6626
+ } else if (l2 <= 0.5) {
6627
+ s = delta / (max + min);
6628
6628
  } else {
6629
- s2 = delta / (2 - max - min);
6629
+ s = delta / (2 - max - min);
6630
6630
  }
6631
- return [h2, s2 * 100, l * 100];
6631
+ return [h4, s * 100, l2 * 100];
6632
6632
  };
6633
6633
  convert.rgb.hsv = function(rgb) {
6634
6634
  let rdif;
6635
6635
  let gdif;
6636
6636
  let bdif;
6637
- let h2;
6638
- let s2;
6637
+ let h4;
6638
+ let s;
6639
6639
  const r = rgb[0] / 255;
6640
6640
  const g2 = rgb[1] / 255;
6641
6641
  const b = rgb[2] / 255;
6642
6642
  const v = Math.max(r, g2, b);
6643
6643
  const diff = v - Math.min(r, g2, b);
6644
- const diffc = function(c2) {
6645
- return (v - c2) / 6 / diff + 1 / 2;
6644
+ const diffc = function(c3) {
6645
+ return (v - c3) / 6 / diff + 1 / 2;
6646
6646
  };
6647
6647
  if (diff === 0) {
6648
- h2 = 0;
6649
- s2 = 0;
6648
+ h4 = 0;
6649
+ s = 0;
6650
6650
  } else {
6651
- s2 = diff / v;
6651
+ s = diff / v;
6652
6652
  rdif = diffc(r);
6653
6653
  gdif = diffc(g2);
6654
6654
  bdif = diffc(b);
6655
6655
  switch (v) {
6656
6656
  case r: {
6657
- h2 = bdif - gdif;
6657
+ h4 = bdif - gdif;
6658
6658
  break;
6659
6659
  }
6660
6660
  case g2: {
6661
- h2 = 1 / 3 + rdif - bdif;
6661
+ h4 = 1 / 3 + rdif - bdif;
6662
6662
  break;
6663
6663
  }
6664
6664
  case b: {
6665
- h2 = 2 / 3 + gdif - rdif;
6665
+ h4 = 2 / 3 + gdif - rdif;
6666
6666
  break;
6667
6667
  }
6668
6668
  }
6669
- if (h2 < 0) {
6670
- h2 += 1;
6671
- } else if (h2 > 1) {
6672
- h2 -= 1;
6669
+ if (h4 < 0) {
6670
+ h4 += 1;
6671
+ } else if (h4 > 1) {
6672
+ h4 -= 1;
6673
6673
  }
6674
6674
  }
6675
6675
  return [
6676
- h2 * 360,
6677
- s2 * 100,
6676
+ h4 * 360,
6677
+ s * 100,
6678
6678
  v * 100
6679
6679
  ];
6680
6680
  };
@@ -6682,10 +6682,10 @@ var require_color = __commonJS({
6682
6682
  const r = rgb[0];
6683
6683
  const g2 = rgb[1];
6684
6684
  let b = rgb[2];
6685
- const h2 = convert.rgb.hsl(rgb)[0];
6685
+ const h4 = convert.rgb.hsl(rgb)[0];
6686
6686
  const w = 1 / 255 * Math.min(r, Math.min(g2, b));
6687
6687
  b = 1 - 1 / 255 * Math.max(r, Math.max(g2, b));
6688
- return [h2, w * 100, b * 100];
6688
+ return [h4, w * 100, b * 100];
6689
6689
  };
6690
6690
  convert.rgb.oklab = function(rgb) {
6691
6691
  const r = srgbNonlinearTransformInv(rgb[0] / 255);
@@ -6694,20 +6694,20 @@ var require_color = __commonJS({
6694
6694
  const lp = Math.cbrt(0.4122214708 * r + 0.5363325363 * g2 + 0.0514459929 * b);
6695
6695
  const mp = Math.cbrt(0.2119034982 * r + 0.6806995451 * g2 + 0.1073969566 * b);
6696
6696
  const sp = Math.cbrt(0.0883024619 * r + 0.2817188376 * g2 + 0.6299787005 * b);
6697
- const l = 0.2104542553 * lp + 0.793617785 * mp - 0.0040720468 * sp;
6697
+ const l2 = 0.2104542553 * lp + 0.793617785 * mp - 0.0040720468 * sp;
6698
6698
  const aa = 1.9779984951 * lp - 2.428592205 * mp + 0.4505937099 * sp;
6699
6699
  const bb = 0.0259040371 * lp + 0.7827717662 * mp - 0.808675766 * sp;
6700
- return [l * 100, aa * 100, bb * 100];
6700
+ return [l2 * 100, aa * 100, bb * 100];
6701
6701
  };
6702
6702
  convert.rgb.cmyk = function(rgb) {
6703
6703
  const r = rgb[0] / 255;
6704
6704
  const g2 = rgb[1] / 255;
6705
6705
  const b = rgb[2] / 255;
6706
6706
  const k = Math.min(1 - r, 1 - g2, 1 - b);
6707
- const c2 = (1 - r - k) / (1 - k) || 0;
6708
- const m2 = (1 - g2 - k) / (1 - k) || 0;
6707
+ const c3 = (1 - r - k) / (1 - k) || 0;
6708
+ const m3 = (1 - g2 - k) / (1 - k) || 0;
6709
6709
  const y = (1 - b - k) / (1 - k) || 0;
6710
- return [c2 * 100, m2 * 100, y * 100, k * 100];
6710
+ return [c3 * 100, m3 * 100, y * 100, k * 100];
6711
6711
  };
6712
6712
  function comparativeDistance(x, y) {
6713
6713
  return (x[0] - y[0]) ** 2 + (x[1] - y[1]) ** 2 + (x[2] - y[2]) ** 2;
@@ -6752,26 +6752,26 @@ var require_color = __commonJS({
6752
6752
  x = x > LAB_FT ? x ** (1 / 3) : 7.787 * x + 16 / 116;
6753
6753
  y = y > LAB_FT ? y ** (1 / 3) : 7.787 * y + 16 / 116;
6754
6754
  z2 = z2 > LAB_FT ? z2 ** (1 / 3) : 7.787 * z2 + 16 / 116;
6755
- const l = 116 * y - 16;
6755
+ const l2 = 116 * y - 16;
6756
6756
  const a2 = 500 * (x - y);
6757
6757
  const b = 200 * (y - z2);
6758
- return [l, a2, b];
6758
+ return [l2, a2, b];
6759
6759
  };
6760
6760
  convert.hsl.rgb = function(hsl) {
6761
- const h2 = hsl[0] / 360;
6762
- const s2 = hsl[1] / 100;
6763
- const l = hsl[2] / 100;
6761
+ const h4 = hsl[0] / 360;
6762
+ const s = hsl[1] / 100;
6763
+ const l2 = hsl[2] / 100;
6764
6764
  let t3;
6765
6765
  let value;
6766
- if (s2 === 0) {
6767
- value = l * 255;
6766
+ if (s === 0) {
6767
+ value = l2 * 255;
6768
6768
  return [value, value, value];
6769
6769
  }
6770
- const t2 = l < 0.5 ? l * (1 + s2) : l + s2 - l * s2;
6771
- const t1 = 2 * l - t2;
6770
+ const t2 = l2 < 0.5 ? l2 * (1 + s) : l2 + s - l2 * s;
6771
+ const t1 = 2 * l2 - t2;
6772
6772
  const rgb = [0, 0, 0];
6773
- for (let i2 = 0; i2 < 3; i2++) {
6774
- t3 = h2 + 1 / 3 * -(i2 - 1);
6773
+ for (let i3 = 0; i3 < 3; i3++) {
6774
+ t3 = h4 + 1 / 3 * -(i3 - 1);
6775
6775
  if (t3 < 0) {
6776
6776
  t3++;
6777
6777
  }
@@ -6787,71 +6787,71 @@ var require_color = __commonJS({
6787
6787
  } else {
6788
6788
  value = t1;
6789
6789
  }
6790
- rgb[i2] = value * 255;
6790
+ rgb[i3] = value * 255;
6791
6791
  }
6792
6792
  return rgb;
6793
6793
  };
6794
6794
  convert.hsl.hsv = function(hsl) {
6795
- const h2 = hsl[0];
6796
- let s2 = hsl[1] / 100;
6797
- let l = hsl[2] / 100;
6798
- let smin = s2;
6799
- const lmin = Math.max(l, 0.01);
6800
- l *= 2;
6801
- s2 *= l <= 1 ? l : 2 - l;
6795
+ const h4 = hsl[0];
6796
+ let s = hsl[1] / 100;
6797
+ let l2 = hsl[2] / 100;
6798
+ let smin = s;
6799
+ const lmin = Math.max(l2, 0.01);
6800
+ l2 *= 2;
6801
+ s *= l2 <= 1 ? l2 : 2 - l2;
6802
6802
  smin *= lmin <= 1 ? lmin : 2 - lmin;
6803
- const v = (l + s2) / 2;
6804
- const sv = l === 0 ? 2 * smin / (lmin + smin) : 2 * s2 / (l + s2);
6805
- return [h2, sv * 100, v * 100];
6803
+ const v = (l2 + s) / 2;
6804
+ const sv = l2 === 0 ? 2 * smin / (lmin + smin) : 2 * s / (l2 + s);
6805
+ return [h4, sv * 100, v * 100];
6806
6806
  };
6807
6807
  convert.hsv.rgb = function(hsv) {
6808
- const h2 = hsv[0] / 60;
6809
- const s2 = hsv[1] / 100;
6808
+ const h4 = hsv[0] / 60;
6809
+ const s = hsv[1] / 100;
6810
6810
  let v = hsv[2] / 100;
6811
- const hi = Math.floor(h2) % 6;
6812
- const f2 = h2 - Math.floor(h2);
6813
- const p2 = 255 * v * (1 - s2);
6814
- const q4 = 255 * v * (1 - s2 * f2);
6815
- const t = 255 * v * (1 - s2 * (1 - f2));
6811
+ const hi = Math.floor(h4) % 6;
6812
+ const f2 = h4 - Math.floor(h4);
6813
+ const p3 = 255 * v * (1 - s);
6814
+ const q4 = 255 * v * (1 - s * f2);
6815
+ const t = 255 * v * (1 - s * (1 - f2));
6816
6816
  v *= 255;
6817
6817
  switch (hi) {
6818
6818
  case 0: {
6819
- return [v, t, p2];
6819
+ return [v, t, p3];
6820
6820
  }
6821
6821
  case 1: {
6822
- return [q4, v, p2];
6822
+ return [q4, v, p3];
6823
6823
  }
6824
6824
  case 2: {
6825
- return [p2, v, t];
6825
+ return [p3, v, t];
6826
6826
  }
6827
6827
  case 3: {
6828
- return [p2, q4, v];
6828
+ return [p3, q4, v];
6829
6829
  }
6830
6830
  case 4: {
6831
- return [t, p2, v];
6831
+ return [t, p3, v];
6832
6832
  }
6833
6833
  case 5: {
6834
- return [v, p2, q4];
6834
+ return [v, p3, q4];
6835
6835
  }
6836
6836
  }
6837
6837
  };
6838
6838
  convert.hsv.hsl = function(hsv) {
6839
- const h2 = hsv[0];
6840
- const s2 = hsv[1] / 100;
6839
+ const h4 = hsv[0];
6840
+ const s = hsv[1] / 100;
6841
6841
  const v = hsv[2] / 100;
6842
6842
  const vmin = Math.max(v, 0.01);
6843
6843
  let sl;
6844
- let l;
6845
- l = (2 - s2) * v;
6846
- const lmin = (2 - s2) * vmin;
6847
- sl = s2 * vmin;
6844
+ let l2;
6845
+ l2 = (2 - s) * v;
6846
+ const lmin = (2 - s) * vmin;
6847
+ sl = s * vmin;
6848
6848
  sl /= lmin <= 1 ? lmin : 2 - lmin;
6849
6849
  sl = sl || 0;
6850
- l /= 2;
6851
- return [h2, sl * 100, l * 100];
6850
+ l2 /= 2;
6851
+ return [h4, sl * 100, l2 * 100];
6852
6852
  };
6853
6853
  convert.hwb.rgb = function(hwb) {
6854
- const h2 = hwb[0] / 360;
6854
+ const h4 = hwb[0] / 360;
6855
6855
  let wh = hwb[1] / 100;
6856
6856
  let bl = hwb[2] / 100;
6857
6857
  const ratio = wh + bl;
@@ -6860,27 +6860,27 @@ var require_color = __commonJS({
6860
6860
  wh /= ratio;
6861
6861
  bl /= ratio;
6862
6862
  }
6863
- const i2 = Math.floor(6 * h2);
6863
+ const i3 = Math.floor(6 * h4);
6864
6864
  const v = 1 - bl;
6865
- f2 = 6 * h2 - i2;
6866
- if ((i2 & 1) !== 0) {
6865
+ f2 = 6 * h4 - i3;
6866
+ if ((i3 & 1) !== 0) {
6867
6867
  f2 = 1 - f2;
6868
6868
  }
6869
- const n2 = wh + f2 * (v - wh);
6869
+ const n3 = wh + f2 * (v - wh);
6870
6870
  let r;
6871
6871
  let g2;
6872
6872
  let b;
6873
- switch (i2) {
6873
+ switch (i3) {
6874
6874
  default:
6875
6875
  case 6:
6876
6876
  case 0: {
6877
6877
  r = v;
6878
- g2 = n2;
6878
+ g2 = n3;
6879
6879
  b = wh;
6880
6880
  break;
6881
6881
  }
6882
6882
  case 1: {
6883
- r = n2;
6883
+ r = n3;
6884
6884
  g2 = v;
6885
6885
  b = wh;
6886
6886
  break;
@@ -6888,17 +6888,17 @@ var require_color = __commonJS({
6888
6888
  case 2: {
6889
6889
  r = wh;
6890
6890
  g2 = v;
6891
- b = n2;
6891
+ b = n3;
6892
6892
  break;
6893
6893
  }
6894
6894
  case 3: {
6895
6895
  r = wh;
6896
- g2 = n2;
6896
+ g2 = n3;
6897
6897
  b = v;
6898
6898
  break;
6899
6899
  }
6900
6900
  case 4: {
6901
- r = n2;
6901
+ r = n3;
6902
6902
  g2 = wh;
6903
6903
  b = v;
6904
6904
  break;
@@ -6906,19 +6906,19 @@ var require_color = __commonJS({
6906
6906
  case 5: {
6907
6907
  r = v;
6908
6908
  g2 = wh;
6909
- b = n2;
6909
+ b = n3;
6910
6910
  break;
6911
6911
  }
6912
6912
  }
6913
6913
  return [r * 255, g2 * 255, b * 255];
6914
6914
  };
6915
6915
  convert.cmyk.rgb = function(cmyk) {
6916
- const c2 = cmyk[0] / 100;
6917
- const m2 = cmyk[1] / 100;
6916
+ const c3 = cmyk[0] / 100;
6917
+ const m3 = cmyk[1] / 100;
6918
6918
  const y = cmyk[2] / 100;
6919
6919
  const k = cmyk[3] / 100;
6920
- const r = 1 - Math.min(1, c2 * (1 - k) + k);
6921
- const g2 = 1 - Math.min(1, m2 * (1 - k) + k);
6920
+ const r = 1 - Math.min(1, c3 * (1 - k) + k);
6921
+ const g2 = 1 - Math.min(1, m3 * (1 - k) + k);
6922
6922
  const b = 1 - Math.min(1, y * (1 - k) + k);
6923
6923
  return [r * 255, g2 * 255, b * 255];
6924
6924
  };
@@ -6947,10 +6947,10 @@ var require_color = __commonJS({
6947
6947
  x = x > LAB_FT ? x ** (1 / 3) : 7.787 * x + 16 / 116;
6948
6948
  y = y > LAB_FT ? y ** (1 / 3) : 7.787 * y + 16 / 116;
6949
6949
  z2 = z2 > LAB_FT ? z2 ** (1 / 3) : 7.787 * z2 + 16 / 116;
6950
- const l = 116 * y - 16;
6950
+ const l2 = 116 * y - 16;
6951
6951
  const a2 = 500 * (x - y);
6952
6952
  const b = 200 * (y - z2);
6953
- return [l, a2, b];
6953
+ return [l2, a2, b];
6954
6954
  };
6955
6955
  convert.xyz.oklab = function(xyz) {
6956
6956
  const x = xyz[0] / 100;
@@ -6959,10 +6959,10 @@ var require_color = __commonJS({
6959
6959
  const lp = Math.cbrt(0.8189330101 * x + 0.3618667424 * y - 0.1288597137 * z2);
6960
6960
  const mp = Math.cbrt(0.0329845436 * x + 0.9293118715 * y + 0.0361456387 * z2);
6961
6961
  const sp = Math.cbrt(0.0482003018 * x + 0.2643662691 * y + 0.633851707 * z2);
6962
- const l = 0.2104542553 * lp + 0.793617785 * mp - 0.0040720468 * sp;
6962
+ const l2 = 0.2104542553 * lp + 0.793617785 * mp - 0.0040720468 * sp;
6963
6963
  const a2 = 1.9779984951 * lp - 2.428592205 * mp + 0.4505937099 * sp;
6964
6964
  const b = 0.0259040371 * lp + 0.7827717662 * mp - 0.808675766 * sp;
6965
- return [l * 100, a2 * 100, b * 100];
6965
+ return [l2 * 100, a2 * 100, b * 100];
6966
6966
  };
6967
6967
  convert.oklab.oklch = function(oklab) {
6968
6968
  return convert.lab.lch(oklab);
@@ -6971,37 +6971,37 @@ var require_color = __commonJS({
6971
6971
  const ll = oklab[0] / 100;
6972
6972
  const a2 = oklab[1] / 100;
6973
6973
  const b = oklab[2] / 100;
6974
- const l = (0.999999998 * ll + 0.396337792 * a2 + 0.215803758 * b) ** 3;
6975
- const m2 = (1.000000008 * ll - 0.105561342 * a2 - 0.063854175 * b) ** 3;
6976
- const s2 = (1.000000055 * ll - 0.089484182 * a2 - 1.291485538 * b) ** 3;
6977
- const x = 1.227013851 * l - 0.55779998 * m2 + 0.281256149 * s2;
6978
- const y = -0.040580178 * l + 1.11225687 * m2 - 0.071676679 * s2;
6979
- const z2 = -0.076381285 * l - 0.421481978 * m2 + 1.58616322 * s2;
6974
+ const l2 = (0.999999998 * ll + 0.396337792 * a2 + 0.215803758 * b) ** 3;
6975
+ const m3 = (1.000000008 * ll - 0.105561342 * a2 - 0.063854175 * b) ** 3;
6976
+ const s = (1.000000055 * ll - 0.089484182 * a2 - 1.291485538 * b) ** 3;
6977
+ const x = 1.227013851 * l2 - 0.55779998 * m3 + 0.281256149 * s;
6978
+ const y = -0.040580178 * l2 + 1.11225687 * m3 - 0.071676679 * s;
6979
+ const z2 = -0.076381285 * l2 - 0.421481978 * m3 + 1.58616322 * s;
6980
6980
  return [x * 100, y * 100, z2 * 100];
6981
6981
  };
6982
6982
  convert.oklab.rgb = function(oklab) {
6983
6983
  const ll = oklab[0] / 100;
6984
6984
  const aa = oklab[1] / 100;
6985
6985
  const bb = oklab[2] / 100;
6986
- const l = (ll + 0.3963377774 * aa + 0.2158037573 * bb) ** 3;
6987
- const m2 = (ll - 0.1055613458 * aa - 0.0638541728 * bb) ** 3;
6988
- const s2 = (ll - 0.0894841775 * aa - 1.291485548 * bb) ** 3;
6989
- const r = srgbNonlinearTransform(4.0767416621 * l - 3.3077115913 * m2 + 0.2309699292 * s2);
6990
- const g2 = srgbNonlinearTransform(-1.2684380046 * l + 2.6097574011 * m2 - 0.3413193965 * s2);
6991
- const b = srgbNonlinearTransform(-0.0041960863 * l - 0.7034186147 * m2 + 1.707614701 * s2);
6986
+ const l2 = (ll + 0.3963377774 * aa + 0.2158037573 * bb) ** 3;
6987
+ const m3 = (ll - 0.1055613458 * aa - 0.0638541728 * bb) ** 3;
6988
+ const s = (ll - 0.0894841775 * aa - 1.291485548 * bb) ** 3;
6989
+ const r = srgbNonlinearTransform(4.0767416621 * l2 - 3.3077115913 * m3 + 0.2309699292 * s);
6990
+ const g2 = srgbNonlinearTransform(-1.2684380046 * l2 + 2.6097574011 * m3 - 0.3413193965 * s);
6991
+ const b = srgbNonlinearTransform(-0.0041960863 * l2 - 0.7034186147 * m3 + 1.707614701 * s);
6992
6992
  return [r * 255, g2 * 255, b * 255];
6993
6993
  };
6994
6994
  convert.oklch.oklab = function(oklch) {
6995
6995
  return convert.lch.lab(oklch);
6996
6996
  };
6997
6997
  convert.lab.xyz = function(lab) {
6998
- const l = lab[0];
6998
+ const l2 = lab[0];
6999
6999
  const a2 = lab[1];
7000
7000
  const b = lab[2];
7001
7001
  let x;
7002
7002
  let y;
7003
7003
  let z2;
7004
- y = (l + 16) / 116;
7004
+ y = (l2 + 16) / 116;
7005
7005
  x = a2 / 500 + y;
7006
7006
  z2 = y - b / 200;
7007
7007
  const y2 = y ** 3;
@@ -7016,26 +7016,26 @@ var require_color = __commonJS({
7016
7016
  return [x, y, z2];
7017
7017
  };
7018
7018
  convert.lab.lch = function(lab) {
7019
- const l = lab[0];
7019
+ const l2 = lab[0];
7020
7020
  const a2 = lab[1];
7021
7021
  const b = lab[2];
7022
- let h2;
7022
+ let h4;
7023
7023
  const hr = Math.atan2(b, a2);
7024
- h2 = hr * 360 / 2 / Math.PI;
7025
- if (h2 < 0) {
7026
- h2 += 360;
7024
+ h4 = hr * 360 / 2 / Math.PI;
7025
+ if (h4 < 0) {
7026
+ h4 += 360;
7027
7027
  }
7028
- const c2 = Math.sqrt(a2 * a2 + b * b);
7029
- return [l, c2, h2];
7028
+ const c3 = Math.sqrt(a2 * a2 + b * b);
7029
+ return [l2, c3, h4];
7030
7030
  };
7031
7031
  convert.lch.lab = function(lch) {
7032
- const l = lch[0];
7033
- const c2 = lch[1];
7034
- const h2 = lch[2];
7035
- const hr = h2 / 360 * 2 * Math.PI;
7036
- const a2 = c2 * Math.cos(hr);
7037
- const b = c2 * Math.sin(hr);
7038
- return [l, a2, b];
7032
+ const l2 = lch[0];
7033
+ const c3 = lch[1];
7034
+ const h4 = lch[2];
7035
+ const hr = h4 / 360 * 2 * Math.PI;
7036
+ const a2 = c3 * Math.cos(hr);
7037
+ const b = c3 * Math.sin(hr);
7038
+ return [l2, a2, b];
7039
7039
  };
7040
7040
  convert.rgb.ansi16 = function(args, saturation = null) {
7041
7041
  const [r, g2, b] = args;
@@ -7088,8 +7088,8 @@ var require_color = __commonJS({
7088
7088
  convert.ansi256.rgb = function(args) {
7089
7089
  args = args[0];
7090
7090
  if (args >= 232) {
7091
- const c2 = (args - 232) * 10 + 8;
7092
- return [c2, c2, c2];
7091
+ const c3 = (args - 232) * 10 + 8;
7092
+ return [c3, c3, c3];
7093
7093
  }
7094
7094
  args -= 16;
7095
7095
  let rem;
@@ -7141,34 +7141,34 @@ var require_color = __commonJS({
7141
7141
  return [hue * 360, chroma * 100, grayscale * 100];
7142
7142
  };
7143
7143
  convert.hsl.hcg = function(hsl) {
7144
- const s2 = hsl[1] / 100;
7145
- const l = hsl[2] / 100;
7146
- const c2 = l < 0.5 ? 2 * s2 * l : 2 * s2 * (1 - l);
7144
+ const s = hsl[1] / 100;
7145
+ const l2 = hsl[2] / 100;
7146
+ const c3 = l2 < 0.5 ? 2 * s * l2 : 2 * s * (1 - l2);
7147
7147
  let f2 = 0;
7148
- if (c2 < 1) {
7149
- f2 = (l - 0.5 * c2) / (1 - c2);
7148
+ if (c3 < 1) {
7149
+ f2 = (l2 - 0.5 * c3) / (1 - c3);
7150
7150
  }
7151
- return [hsl[0], c2 * 100, f2 * 100];
7151
+ return [hsl[0], c3 * 100, f2 * 100];
7152
7152
  };
7153
7153
  convert.hsv.hcg = function(hsv) {
7154
- const s2 = hsv[1] / 100;
7154
+ const s = hsv[1] / 100;
7155
7155
  const v = hsv[2] / 100;
7156
- const c2 = s2 * v;
7156
+ const c3 = s * v;
7157
7157
  let f2 = 0;
7158
- if (c2 < 1) {
7159
- f2 = (v - c2) / (1 - c2);
7158
+ if (c3 < 1) {
7159
+ f2 = (v - c3) / (1 - c3);
7160
7160
  }
7161
- return [hsv[0], c2 * 100, f2 * 100];
7161
+ return [hsv[0], c3 * 100, f2 * 100];
7162
7162
  };
7163
7163
  convert.hcg.rgb = function(hcg) {
7164
- const h2 = hcg[0] / 360;
7165
- const c2 = hcg[1] / 100;
7164
+ const h4 = hcg[0] / 360;
7165
+ const c3 = hcg[1] / 100;
7166
7166
  const g2 = hcg[2] / 100;
7167
- if (c2 === 0) {
7167
+ if (c3 === 0) {
7168
7168
  return [g2 * 255, g2 * 255, g2 * 255];
7169
7169
  }
7170
7170
  const pure = [0, 0, 0];
7171
- const hi = h2 % 1 * 6;
7171
+ const hi = h4 % 1 * 6;
7172
7172
  const v = hi % 1;
7173
7173
  const w = 1 - v;
7174
7174
  let mg = 0;
@@ -7209,51 +7209,51 @@ var require_color = __commonJS({
7209
7209
  pure[2] = w;
7210
7210
  }
7211
7211
  }
7212
- mg = (1 - c2) * g2;
7212
+ mg = (1 - c3) * g2;
7213
7213
  return [
7214
- (c2 * pure[0] + mg) * 255,
7215
- (c2 * pure[1] + mg) * 255,
7216
- (c2 * pure[2] + mg) * 255
7214
+ (c3 * pure[0] + mg) * 255,
7215
+ (c3 * pure[1] + mg) * 255,
7216
+ (c3 * pure[2] + mg) * 255
7217
7217
  ];
7218
7218
  };
7219
7219
  convert.hcg.hsv = function(hcg) {
7220
- const c2 = hcg[1] / 100;
7220
+ const c3 = hcg[1] / 100;
7221
7221
  const g2 = hcg[2] / 100;
7222
- const v = c2 + g2 * (1 - c2);
7222
+ const v = c3 + g2 * (1 - c3);
7223
7223
  let f2 = 0;
7224
7224
  if (v > 0) {
7225
- f2 = c2 / v;
7225
+ f2 = c3 / v;
7226
7226
  }
7227
7227
  return [hcg[0], f2 * 100, v * 100];
7228
7228
  };
7229
7229
  convert.hcg.hsl = function(hcg) {
7230
- const c2 = hcg[1] / 100;
7230
+ const c3 = hcg[1] / 100;
7231
7231
  const g2 = hcg[2] / 100;
7232
- const l = g2 * (1 - c2) + 0.5 * c2;
7233
- let s2 = 0;
7234
- if (l > 0 && l < 0.5) {
7235
- s2 = c2 / (2 * l);
7236
- } else if (l >= 0.5 && l < 1) {
7237
- s2 = c2 / (2 * (1 - l));
7232
+ const l2 = g2 * (1 - c3) + 0.5 * c3;
7233
+ let s = 0;
7234
+ if (l2 > 0 && l2 < 0.5) {
7235
+ s = c3 / (2 * l2);
7236
+ } else if (l2 >= 0.5 && l2 < 1) {
7237
+ s = c3 / (2 * (1 - l2));
7238
7238
  }
7239
- return [hcg[0], s2 * 100, l * 100];
7239
+ return [hcg[0], s * 100, l2 * 100];
7240
7240
  };
7241
7241
  convert.hcg.hwb = function(hcg) {
7242
- const c2 = hcg[1] / 100;
7242
+ const c3 = hcg[1] / 100;
7243
7243
  const g2 = hcg[2] / 100;
7244
- const v = c2 + g2 * (1 - c2);
7245
- return [hcg[0], (v - c2) * 100, (1 - v) * 100];
7244
+ const v = c3 + g2 * (1 - c3);
7245
+ return [hcg[0], (v - c3) * 100, (1 - v) * 100];
7246
7246
  };
7247
7247
  convert.hwb.hcg = function(hwb) {
7248
7248
  const w = hwb[1] / 100;
7249
7249
  const b = hwb[2] / 100;
7250
7250
  const v = 1 - b;
7251
- const c2 = v - w;
7251
+ const c3 = v - w;
7252
7252
  let g2 = 0;
7253
- if (c2 < 1) {
7254
- g2 = (v - c2) / (1 - c2);
7253
+ if (c3 < 1) {
7254
+ g2 = (v - c3) / (1 - c3);
7255
7255
  }
7256
- return [hwb[0], c2 * 100, g2 * 100];
7256
+ return [hwb[0], c3 * 100, g2 * 100];
7257
7257
  };
7258
7258
  convert.apple.rgb = function(apple) {
7259
7259
  return [apple[0] / 65535 * 255, apple[1] / 65535 * 255, apple[2] / 65535 * 255];
@@ -7290,8 +7290,8 @@ var require_color = __commonJS({
7290
7290
  function buildGraph() {
7291
7291
  const graph = {};
7292
7292
  const models2 = Object.keys(conversions_default);
7293
- for (let { length } = models2, i2 = 0; i2 < length; i2++) {
7294
- graph[models2[i2]] = {
7293
+ for (let { length } = models2, i3 = 0; i3 < length; i3++) {
7294
+ graph[models2[i3]] = {
7295
7295
  // http://jsperf.com/1-vs-infinity
7296
7296
  // micro-opt, but this is simple.
7297
7297
  distance: -1,
@@ -7307,8 +7307,8 @@ var require_color = __commonJS({
7307
7307
  while (queue.length > 0) {
7308
7308
  const current = queue.pop();
7309
7309
  const adjacents = Object.keys(conversions_default[current]);
7310
- for (let { length } = adjacents, i2 = 0; i2 < length; i2++) {
7311
- const adjacent = adjacents[i2];
7310
+ for (let { length } = adjacents, i3 = 0; i3 < length; i3++) {
7311
+ const adjacent = adjacents[i3];
7312
7312
  const node = graph[adjacent];
7313
7313
  if (node.distance === -1) {
7314
7314
  node.distance = graph[current].distance + 1;
@@ -7340,8 +7340,8 @@ var require_color = __commonJS({
7340
7340
  const graph = deriveBFS(fromModel);
7341
7341
  const conversion = {};
7342
7342
  const models2 = Object.keys(graph);
7343
- for (let { length } = models2, i2 = 0; i2 < length; i2++) {
7344
- const toModel = models2[i2];
7343
+ for (let { length } = models2, i3 = 0; i3 < length; i3++) {
7344
+ const toModel = models2[i3];
7345
7345
  const node = graph[toModel];
7346
7346
  if (node.parent === null) {
7347
7347
  continue;
@@ -7380,8 +7380,8 @@ var require_color = __commonJS({
7380
7380
  }
7381
7381
  const result = fn(args);
7382
7382
  if (typeof result === "object") {
7383
- for (let { length } = result, i2 = 0; i2 < length; i2++) {
7384
- result[i2] = Math.round(result[i2]);
7383
+ for (let { length } = result, i3 = 0; i3 < length; i3++) {
7384
+ result[i3] = Math.round(result[i3]);
7385
7385
  }
7386
7386
  }
7387
7387
  return result;
@@ -7427,7 +7427,7 @@ var require_color = __commonJS({
7427
7427
  if (model && !(model in color_convert_default)) {
7428
7428
  throw new Error("Unknown model: " + model);
7429
7429
  }
7430
- let i2;
7430
+ let i3;
7431
7431
  let channels;
7432
7432
  if (object == null) {
7433
7433
  this.model = "rgb";
@@ -7474,17 +7474,17 @@ var require_color = __commonJS({
7474
7474
  this.model = hashedModelKeys[hashedKeys];
7475
7475
  const { labels } = color_convert_default[this.model];
7476
7476
  const color = [];
7477
- for (i2 = 0; i2 < labels.length; i2++) {
7478
- color.push(object[labels[i2]]);
7477
+ for (i3 = 0; i3 < labels.length; i3++) {
7478
+ color.push(object[labels[i3]]);
7479
7479
  }
7480
7480
  this.color = zeroArray(color);
7481
7481
  }
7482
7482
  if (limiters[this.model]) {
7483
7483
  channels = color_convert_default[this.model].channels;
7484
- for (i2 = 0; i2 < channels; i2++) {
7485
- const limit = limiters[this.model][i2];
7484
+ for (i3 = 0; i3 < channels; i3++) {
7485
+ const limit = limiters[this.model][i3];
7486
7486
  if (limit) {
7487
- this.color[i2] = limit(this.color[i2]);
7487
+ this.color[i3] = limit(this.color[i3]);
7488
7488
  }
7489
7489
  }
7490
7490
  }
@@ -7501,14 +7501,14 @@ var require_color = __commonJS({
7501
7501
  return this[this.model]();
7502
7502
  },
7503
7503
  string(places) {
7504
- let self = this.model in color_string_default.to ? this : this.rgb();
7505
- self = self.round(typeof places === "number" ? places : 1);
7506
- const arguments_ = self.valpha === 1 ? self.color : [...self.color, this.valpha];
7507
- return color_string_default.to[self.model](...arguments_);
7504
+ let self2 = this.model in color_string_default.to ? this : this.rgb();
7505
+ self2 = self2.round(typeof places === "number" ? places : 1);
7506
+ const arguments_ = self2.valpha === 1 ? self2.color : [...self2.color, this.valpha];
7507
+ return color_string_default.to[self2.model](...arguments_);
7508
7508
  },
7509
7509
  percentString(places) {
7510
- const self = this.rgb().round(typeof places === "number" ? places : 1);
7511
- const arguments_ = self.valpha === 1 ? self.color : [...self.color, this.valpha];
7510
+ const self2 = this.rgb().round(typeof places === "number" ? places : 1);
7511
+ const arguments_ = self2.valpha === 1 ? self2.color : [...self2.color, this.valpha];
7512
7512
  return color_string_default.to.rgb.percent(...arguments_);
7513
7513
  },
7514
7514
  array() {
@@ -7518,8 +7518,8 @@ var require_color = __commonJS({
7518
7518
  const result = {};
7519
7519
  const { channels } = color_convert_default[this.model];
7520
7520
  const { labels } = color_convert_default[this.model];
7521
- for (let i2 = 0; i2 < channels; i2++) {
7522
- result[labels[i2]] = this.color[i2];
7521
+ for (let i3 = 0; i3 < channels; i3++) {
7522
+ result[labels[i3]] = this.color[i3];
7523
7523
  }
7524
7524
  if (this.valpha !== 1) {
7525
7525
  result.alpha = this.valpha;
@@ -7609,9 +7609,9 @@ var require_color = __commonJS({
7609
7609
  luminosity() {
7610
7610
  const rgb = this.rgb().color;
7611
7611
  const lum = [];
7612
- for (const [i2, element] of rgb.entries()) {
7612
+ for (const [i3, element] of rgb.entries()) {
7613
7613
  const chan = element / 255;
7614
- lum[i2] = chan <= 0.04045 ? chan / 12.92 : ((chan + 0.055) / 1.055) ** 2.4;
7614
+ lum[i3] = chan <= 0.04045 ? chan / 12.92 : ((chan + 0.055) / 1.055) ** 2.4;
7615
7615
  }
7616
7616
  return 0.2126 * lum[0] + 0.7152 * lum[1] + 0.0722 * lum[2];
7617
7617
  },
@@ -7640,8 +7640,8 @@ var require_color = __commonJS({
7640
7640
  },
7641
7641
  negate() {
7642
7642
  const rgb = this.rgb();
7643
- for (let i2 = 0; i2 < 3; i2++) {
7644
- rgb.color[i2] = 255 - rgb.color[i2];
7643
+ for (let i3 = 0; i3 < 3; i3++) {
7644
+ rgb.color[i3] = 255 - rgb.color[i3];
7645
7645
  }
7646
7646
  return rgb;
7647
7647
  },
@@ -7700,8 +7700,8 @@ var require_color = __commonJS({
7700
7700
  }
7701
7701
  const color1 = mixinColor.rgb();
7702
7702
  const color2 = this.rgb();
7703
- const p2 = weight === void 0 ? 0.5 : weight;
7704
- const w = 2 * p2 - 1;
7703
+ const p3 = weight === void 0 ? 0.5 : weight;
7704
+ const w = 2 * p3 - 1;
7705
7705
  const a2 = color1.alpha() - color2.alpha();
7706
7706
  const w1 = ((w * a2 === -1 ? w : (w + a2) / (1 + w * a2)) + 1) / 2;
7707
7707
  const w2 = 1 - w1;
@@ -7709,7 +7709,7 @@ var require_color = __commonJS({
7709
7709
  w1 * color1.red() + w2 * color2.red(),
7710
7710
  w1 * color1.green() + w2 * color2.green(),
7711
7711
  w1 * color1.blue() + w2 * color2.blue(),
7712
- color1.alpha() * p2 + color2.alpha() * (1 - p2)
7712
+ color1.alpha() * p3 + color2.alpha() * (1 - p3)
7713
7713
  );
7714
7714
  }
7715
7715
  };
@@ -7745,8 +7745,8 @@ var require_color = __commonJS({
7745
7745
  }
7746
7746
  function getset(model, channel, modifier) {
7747
7747
  model = Array.isArray(model) ? model : [model];
7748
- for (const m2 of model) {
7749
- (limiters[m2] || (limiters[m2] = []))[channel] = modifier;
7748
+ for (const m3 of model) {
7749
+ (limiters[m3] || (limiters[m3] = []))[channel] = modifier;
7750
7750
  }
7751
7751
  model = model[0];
7752
7752
  return function(value) {
@@ -7775,9 +7775,9 @@ var require_color = __commonJS({
7775
7775
  return Array.isArray(value) ? value : [value];
7776
7776
  }
7777
7777
  function zeroArray(array, length) {
7778
- for (let i2 = 0; i2 < length; i2++) {
7779
- if (typeof array[i2] !== "number") {
7780
- array[i2] = 0;
7778
+ for (let i3 = 0; i3 < length; i3++) {
7779
+ if (typeof array[i3] !== "number") {
7780
+ array[i3] = 0;
7781
7781
  }
7782
7782
  }
7783
7783
  return array;
@@ -8966,24 +8966,24 @@ var require_lib = __commonJS({
8966
8966
  // ../codec-sharp/dist/index.mjs
8967
8967
  var dist_exports2 = {};
8968
8968
  __export(dist_exports2, {
8969
- default: () => f,
8970
- sharpTransformer: () => o
8969
+ codecSharp: () => o,
8970
+ default: () => f
8971
8971
  });
8972
- async function a(e) {
8972
+ async function a(r) {
8973
8973
  try {
8974
- let r = await (0, import_sharp.default)(e).ensureAlpha().raw().toBuffer({ resolveWithObject: true });
8975
- if (!r.info.width || !r.info.height) throw new Error(`Invalid image dimensions: ${e}`);
8976
- return { data: r.data, width: r.info.width, height: r.info.height };
8977
- } catch (r) {
8978
- throw new Error(`Failed to read image file ${e}: ${r}`);
8974
+ let e = await (0, import_sharp.default)(r).ensureAlpha().raw().toBuffer({ resolveWithObject: true });
8975
+ if (!e.info.width || !e.info.height) throw new Error(`Invalid image dimensions: ${r}`);
8976
+ return { data: e.data, width: e.info.width, height: e.info.height };
8977
+ } catch (e) {
8978
+ throw new Error(`Failed to read image file ${r}: ${e}`);
8979
8979
  }
8980
8980
  }
8981
- async function n(e, r) {
8981
+ async function n(r, e) {
8982
8982
  try {
8983
- let t = (0, import_sharp.default)(e.data, { raw: { width: e.width, height: e.height, channels: 4 } });
8984
- typeof r == "string" ? await t.png().toFile(r) : r.set(await t.png().toBuffer());
8983
+ let t = (0, import_sharp.default)(r.data, { raw: { width: r.width, height: r.height, channels: 4 } });
8984
+ typeof e == "string" ? await t.png().toFile(e) : e.set(await t.png().toBuffer());
8985
8985
  } catch (t) {
8986
- throw new Error(`Failed to write image file ${r}: ${t}`);
8986
+ throw new Error(`Failed to write image file ${e}: ${t}`);
8987
8987
  }
8988
8988
  }
8989
8989
  var import_sharp, o, f;
@@ -8996,14 +8996,374 @@ var init_dist3 = __esm({
8996
8996
  }
8997
8997
  });
8998
8998
 
8999
+ // ../../node_modules/.pnpm/@jsquash+png@3.1.1/node_modules/@jsquash/png/codec/pkg/squoosh_png.js
9000
+ function addHeapObject(obj) {
9001
+ if (heap_next === heap.length) heap.push(heap.length + 1);
9002
+ const idx = heap_next;
9003
+ heap_next = heap[idx];
9004
+ heap[idx] = obj;
9005
+ return idx;
9006
+ }
9007
+ function getObject(idx) {
9008
+ return heap[idx];
9009
+ }
9010
+ function dropObject(idx) {
9011
+ if (idx < 132) return;
9012
+ heap[idx] = heap_next;
9013
+ heap_next = idx;
9014
+ }
9015
+ function takeObject(idx) {
9016
+ const ret = getObject(idx);
9017
+ dropObject(idx);
9018
+ return ret;
9019
+ }
9020
+ function getUint8Memory0() {
9021
+ if (cachedUint8Memory0 === null || cachedUint8Memory0.byteLength === 0) {
9022
+ cachedUint8Memory0 = new Uint8Array(wasm.memory.buffer);
9023
+ }
9024
+ return cachedUint8Memory0;
9025
+ }
9026
+ function getStringFromWasm0(ptr, len) {
9027
+ ptr = ptr >>> 0;
9028
+ return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len));
9029
+ }
9030
+ function getUint8ClampedMemory0() {
9031
+ if (cachedUint8ClampedMemory0 === null || cachedUint8ClampedMemory0.byteLength === 0) {
9032
+ cachedUint8ClampedMemory0 = new Uint8ClampedArray(wasm.memory.buffer);
9033
+ }
9034
+ return cachedUint8ClampedMemory0;
9035
+ }
9036
+ function getClampedArrayU8FromWasm0(ptr, len) {
9037
+ ptr = ptr >>> 0;
9038
+ return getUint8ClampedMemory0().subarray(ptr / 1, ptr / 1 + len);
9039
+ }
9040
+ function passArray8ToWasm0(arg, malloc) {
9041
+ const ptr = malloc(arg.length * 1, 1) >>> 0;
9042
+ getUint8Memory0().set(arg, ptr / 1);
9043
+ WASM_VECTOR_LEN = arg.length;
9044
+ return ptr;
9045
+ }
9046
+ function getInt32Memory0() {
9047
+ if (cachedInt32Memory0 === null || cachedInt32Memory0.byteLength === 0) {
9048
+ cachedInt32Memory0 = new Int32Array(wasm.memory.buffer);
9049
+ }
9050
+ return cachedInt32Memory0;
9051
+ }
9052
+ function getArrayU8FromWasm0(ptr, len) {
9053
+ ptr = ptr >>> 0;
9054
+ return getUint8Memory0().subarray(ptr / 1, ptr / 1 + len);
9055
+ }
9056
+ function encode(data, width, height, bit_depth) {
9057
+ try {
9058
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
9059
+ const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_malloc);
9060
+ const len0 = WASM_VECTOR_LEN;
9061
+ wasm.encode(retptr, ptr0, len0, width, height, bit_depth);
9062
+ var r0 = getInt32Memory0()[retptr / 4 + 0];
9063
+ var r1 = getInt32Memory0()[retptr / 4 + 1];
9064
+ var v2 = getArrayU8FromWasm0(r0, r1).slice();
9065
+ wasm.__wbindgen_free(r0, r1 * 1, 1);
9066
+ return v2;
9067
+ } finally {
9068
+ wasm.__wbindgen_add_to_stack_pointer(16);
9069
+ }
9070
+ }
9071
+ function decode(data) {
9072
+ const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_malloc);
9073
+ const len0 = WASM_VECTOR_LEN;
9074
+ const ret = wasm.decode(ptr0, len0);
9075
+ return takeObject(ret);
9076
+ }
9077
+ function decode_rgba16(data) {
9078
+ const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_malloc);
9079
+ const len0 = WASM_VECTOR_LEN;
9080
+ const ret = wasm.decode_rgba16(ptr0, len0);
9081
+ return ImageDataRGBA16.__wrap(ret);
9082
+ }
9083
+ async function __wbg_load(module2, imports) {
9084
+ if (typeof Response === "function" && module2 instanceof Response) {
9085
+ if (typeof WebAssembly.instantiateStreaming === "function") {
9086
+ try {
9087
+ return await WebAssembly.instantiateStreaming(module2, imports);
9088
+ } catch (e) {
9089
+ if (module2.headers.get("Content-Type") != "application/wasm") {
9090
+ console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", e);
9091
+ } else {
9092
+ throw e;
9093
+ }
9094
+ }
9095
+ }
9096
+ const bytes = await module2.arrayBuffer();
9097
+ return await WebAssembly.instantiate(bytes, imports);
9098
+ } else {
9099
+ const instance = await WebAssembly.instantiate(module2, imports);
9100
+ if (instance instanceof WebAssembly.Instance) {
9101
+ return { instance, module: module2 };
9102
+ } else {
9103
+ return instance;
9104
+ }
9105
+ }
9106
+ }
9107
+ function __wbg_get_imports() {
9108
+ const imports = {};
9109
+ imports.wbg = {};
9110
+ imports.wbg.__wbindgen_memory = function() {
9111
+ const ret = wasm.memory;
9112
+ return addHeapObject(ret);
9113
+ };
9114
+ imports.wbg.__wbg_buffer_a448f833075b71ba = function(arg0) {
9115
+ const ret = getObject(arg0).buffer;
9116
+ return addHeapObject(ret);
9117
+ };
9118
+ imports.wbg.__wbg_newwithbyteoffsetandlength_099217381c451830 = function(arg0, arg1, arg2) {
9119
+ const ret = new Uint16Array(getObject(arg0), arg1 >>> 0, arg2 >>> 0);
9120
+ return addHeapObject(ret);
9121
+ };
9122
+ imports.wbg.__wbindgen_object_drop_ref = function(arg0) {
9123
+ takeObject(arg0);
9124
+ };
9125
+ imports.wbg.__wbg_newwithownedu8clampedarrayandsh_91db5987993a08fb = function(arg0, arg1, arg2, arg3) {
9126
+ var v0 = getClampedArrayU8FromWasm0(arg0, arg1).slice();
9127
+ wasm.__wbindgen_free(arg0, arg1 * 1, 1);
9128
+ const ret = new ImageData(v0, arg2 >>> 0, arg3 >>> 0);
9129
+ return addHeapObject(ret);
9130
+ };
9131
+ imports.wbg.__wbindgen_throw = function(arg0, arg1) {
9132
+ throw new Error(getStringFromWasm0(arg0, arg1));
9133
+ };
9134
+ return imports;
9135
+ }
9136
+ function __wbg_init_memory(imports, maybe_memory) {
9137
+ }
9138
+ function __wbg_finalize_init(instance, module2) {
9139
+ wasm = instance.exports;
9140
+ __wbg_init.__wbindgen_wasm_module = module2;
9141
+ cachedInt32Memory0 = null;
9142
+ cachedUint8Memory0 = null;
9143
+ cachedUint8ClampedMemory0 = null;
9144
+ return wasm;
9145
+ }
9146
+ async function __wbg_init(input) {
9147
+ if (wasm !== void 0) return wasm;
9148
+ if (typeof input === "undefined") {
9149
+ input = new URL("squoosh_png_bg.wasm", import_meta.url);
9150
+ }
9151
+ const imports = __wbg_get_imports();
9152
+ if (typeof input === "string" || typeof Request === "function" && input instanceof Request || typeof URL === "function" && input instanceof URL) {
9153
+ input = fetch(input);
9154
+ }
9155
+ __wbg_init_memory(imports);
9156
+ const { instance, module: module2 } = await __wbg_load(await input, imports);
9157
+ return __wbg_finalize_init(instance, module2);
9158
+ }
9159
+ var import_meta, wasm, heap, heap_next, cachedTextDecoder, cachedUint8Memory0, cachedUint8ClampedMemory0, WASM_VECTOR_LEN, cachedInt32Memory0, ImageDataRGBA16, squoosh_png_default, isServiceWorker, isRunningInCloudFlareWorkers, isRunningInNode;
9160
+ var init_squoosh_png = __esm({
9161
+ "../../node_modules/.pnpm/@jsquash+png@3.1.1/node_modules/@jsquash/png/codec/pkg/squoosh_png.js"() {
9162
+ "use strict";
9163
+ import_meta = {};
9164
+ heap = new Array(128).fill(void 0);
9165
+ heap.push(void 0, null, true, false);
9166
+ heap_next = heap.length;
9167
+ cachedTextDecoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf-8", { ignoreBOM: true, fatal: true }) : { decode: () => {
9168
+ throw Error("TextDecoder not available");
9169
+ } };
9170
+ if (typeof TextDecoder !== "undefined") {
9171
+ cachedTextDecoder.decode();
9172
+ }
9173
+ cachedUint8Memory0 = null;
9174
+ cachedUint8ClampedMemory0 = null;
9175
+ WASM_VECTOR_LEN = 0;
9176
+ cachedInt32Memory0 = null;
9177
+ ImageDataRGBA16 = class _ImageDataRGBA16 {
9178
+ static __wrap(ptr) {
9179
+ ptr = ptr >>> 0;
9180
+ const obj = Object.create(_ImageDataRGBA16.prototype);
9181
+ obj.__wbg_ptr = ptr;
9182
+ return obj;
9183
+ }
9184
+ __destroy_into_raw() {
9185
+ const ptr = this.__wbg_ptr;
9186
+ this.__wbg_ptr = 0;
9187
+ return ptr;
9188
+ }
9189
+ free() {
9190
+ const ptr = this.__destroy_into_raw();
9191
+ wasm.__wbg_imagedatargba16_free(ptr);
9192
+ }
9193
+ /**
9194
+ * @returns {number}
9195
+ */
9196
+ get width() {
9197
+ const ret = wasm.imagedatargba16_width(this.__wbg_ptr);
9198
+ return ret >>> 0;
9199
+ }
9200
+ /**
9201
+ * @returns {number}
9202
+ */
9203
+ get height() {
9204
+ const ret = wasm.imagedatargba16_height(this.__wbg_ptr);
9205
+ return ret >>> 0;
9206
+ }
9207
+ /**
9208
+ * @returns {Uint16Array}
9209
+ */
9210
+ get data() {
9211
+ const ret = wasm.imagedatargba16_data(this.__wbg_ptr);
9212
+ return takeObject(ret);
9213
+ }
9214
+ };
9215
+ squoosh_png_default = __wbg_init;
9216
+ isServiceWorker = globalThis.ServiceWorkerGlobalScope !== void 0;
9217
+ isRunningInCloudFlareWorkers = isServiceWorker && typeof self !== "undefined" && globalThis.caches && globalThis.caches.default !== void 0;
9218
+ isRunningInNode = typeof process === "object" && process.release && process.release.name === "node";
9219
+ if (isRunningInCloudFlareWorkers || isRunningInNode) {
9220
+ if (!globalThis.ImageData) {
9221
+ globalThis.ImageData = class ImageData {
9222
+ constructor(data, width, height) {
9223
+ this.data = data;
9224
+ this.width = width;
9225
+ this.height = height;
9226
+ }
9227
+ };
9228
+ }
9229
+ if (import_meta.url === void 0) {
9230
+ import_meta.url = "https://localhost";
9231
+ }
9232
+ if (typeof self !== "undefined" && self.location === void 0) {
9233
+ self.location = { href: "" };
9234
+ }
9235
+ }
9236
+ }
9237
+ });
9238
+
9239
+ // ../../node_modules/.pnpm/@jsquash+png@3.1.1/node_modules/@jsquash/png/decode.js
9240
+ var decode_exports = {};
9241
+ __export(decode_exports, {
9242
+ decode: () => decode2,
9243
+ default: () => decode_default,
9244
+ init: () => init
9245
+ });
9246
+ async function init(moduleOrPath) {
9247
+ if (!pngModule) {
9248
+ pngModule = squoosh_png_default(moduleOrPath);
9249
+ }
9250
+ return pngModule;
9251
+ }
9252
+ async function decode2(data, options = {}) {
9253
+ await init();
9254
+ const { bitDepth = 8 } = options;
9255
+ if (bitDepth === 16) {
9256
+ const imageData2 = await decode_rgba16(new Uint8Array(data));
9257
+ if (!imageData2)
9258
+ throw new Error("Encoding error.");
9259
+ return imageData2;
9260
+ }
9261
+ const imageData = await decode(new Uint8Array(data));
9262
+ if (!imageData)
9263
+ throw new Error("Encoding error.");
9264
+ return imageData;
9265
+ }
9266
+ var pngModule, decode_default;
9267
+ var init_decode = __esm({
9268
+ "../../node_modules/.pnpm/@jsquash+png@3.1.1/node_modules/@jsquash/png/decode.js"() {
9269
+ "use strict";
9270
+ init_squoosh_png();
9271
+ decode_default = decode2;
9272
+ }
9273
+ });
9274
+
9275
+ // ../../node_modules/.pnpm/@jsquash+png@3.1.1/node_modules/@jsquash/png/encode.js
9276
+ var encode_exports = {};
9277
+ __export(encode_exports, {
9278
+ default: () => encode2,
9279
+ init: () => init2
9280
+ });
9281
+ async function init2(moduleOrPath) {
9282
+ if (!pngModule2) {
9283
+ pngModule2 = squoosh_png_default(moduleOrPath);
9284
+ }
9285
+ return pngModule2;
9286
+ }
9287
+ async function encode2(data, options = {}) {
9288
+ var _a;
9289
+ await init2();
9290
+ const bitDepth = (_a = options === null || options === void 0 ? void 0 : options.bitDepth) !== null && _a !== void 0 ? _a : 8;
9291
+ if (bitDepth !== 8 && bitDepth !== 16) {
9292
+ throw new Error("Invalid bit depth. Must be either 8 or 16.");
9293
+ }
9294
+ const isUint16Array = data.data instanceof Uint16Array;
9295
+ if (isUint16Array && bitDepth !== 16) {
9296
+ throw new Error("Invalid bit depth, must be 16 for Uint16Array or manually convert to RGB8 values with Uint8Array.");
9297
+ }
9298
+ if (!isUint16Array && bitDepth === 16) {
9299
+ throw new Error("Invalid bit depth, must be 8 for Uint8Array or manually convert to RGB16 values with Uint16Array.");
9300
+ }
9301
+ const encodeData = new Uint8Array(data.data.buffer);
9302
+ const output = await encode(encodeData, data.width, data.height, bitDepth);
9303
+ if (!output)
9304
+ throw new Error("Encoding error.");
9305
+ return output.buffer;
9306
+ }
9307
+ var pngModule2;
9308
+ var init_encode = __esm({
9309
+ "../../node_modules/.pnpm/@jsquash+png@3.1.1/node_modules/@jsquash/png/encode.js"() {
9310
+ "use strict";
9311
+ init_squoosh_png();
9312
+ }
9313
+ });
9314
+
9315
+ // ../codec-jsquash-png/dist/index.mjs
9316
+ var dist_exports3 = {};
9317
+ __export(dist_exports3, {
9318
+ codecJsquashPng: () => l,
9319
+ default: () => p
9320
+ });
9321
+ function c2() {
9322
+ return n2 || (n2 = (async () => {
9323
+ let e = (0, import_path.dirname)(i2.resolve("@jsquash/png")), t = (0, import_path.join)(e, "codec", "pkg", "squoosh_png_bg.wasm"), a2 = (0, import_fs2.readFileSync)(t), o2 = await Promise.resolve().then(() => (init_decode(), decode_exports)), r = await Promise.resolve().then(() => (init_encode(), encode_exports));
9324
+ return await Promise.all([o2.init(a2), r.init(a2)]), { decode: o2.default, encode: r.default };
9325
+ })(), n2);
9326
+ }
9327
+ async function h2(e) {
9328
+ try {
9329
+ let { decode: t } = await c2(), a2 = typeof e == "string" ? (0, import_fs2.readFileSync)(e) : e, o2 = new Uint8Array(a2).buffer, r = await t(o2);
9330
+ return { data: r.data, width: r.width, height: r.height };
9331
+ } catch (t) {
9332
+ throw new Error(`Failed to read PNG file ${e}: ${t}`);
9333
+ }
9334
+ }
9335
+ async function m2(e, t) {
9336
+ try {
9337
+ let { encode: a2 } = await c2(), o2 = { data: new Uint8ClampedArray(e.data.buffer, e.data.byteOffset, e.data.byteLength), width: e.width, height: e.height, colorSpace: "srgb" }, r = await a2(o2);
9338
+ (0, import_fs2.writeFileSync)(t, Buffer.from(r));
9339
+ } catch (a2) {
9340
+ throw new Error(`Failed to write PNG file ${t}: ${a2}`);
9341
+ }
9342
+ }
9343
+ var import_fs2, import_path, i2, n2, l, p;
9344
+ var init_dist4 = __esm({
9345
+ "../codec-jsquash-png/dist/index.mjs"() {
9346
+ "use strict";
9347
+ import_fs2 = require("fs");
9348
+ import_path = require("path");
9349
+ i2 = ((e) => typeof require < "u" ? require : typeof Proxy < "u" ? new Proxy(e, { get: (t, a2) => (typeof require < "u" ? require : t)[a2] }) : e)(function(e) {
9350
+ if (typeof require < "u") return require.apply(this, arguments);
9351
+ throw Error('Dynamic require of "' + e + '" is not supported');
9352
+ });
9353
+ n2 = null;
9354
+ l = { read: h2, write: m2 };
9355
+ p = l;
9356
+ }
9357
+ });
9358
+
8999
9359
  // src/commands/core.ts
9000
9360
  var core_exports = {};
9001
9361
  __export(core_exports, {
9002
9362
  default: () => main2
9003
9363
  });
9004
9364
  function parseRGB(colorStr) {
9005
- const parts = colorStr.split(",").map((s2) => parseInt(s2.trim(), 10));
9006
- if (parts.length !== 3 || parts.some((p2) => Number.isNaN(p2) || p2 < 0 || p2 > 255)) {
9365
+ const parts = colorStr.split(",").map((s) => parseInt(s.trim(), 10));
9366
+ if (parts.length !== 3 || parts.some((p3) => Number.isNaN(p3) || p3 < 0 || p3 > 255)) {
9007
9367
  throw new Error(
9008
9368
  `Invalid RGB color format: ${colorStr}. Expected format: r,g,b (e.g., 255,0,0)`
9009
9369
  );
@@ -9027,7 +9387,7 @@ Options:
9027
9387
  --diff-color-alt <r,g,b> Alternative color for dark differences (default: same as diff-color)
9028
9388
  --include-aa Include anti-aliasing detection
9029
9389
  --diff-mask Draw diff over transparent background
9030
- --transformer <name> Specify transformer to use (e.g. pngjs, sharp)
9390
+ --codec <name> Specify codec to use (pngjs, sharp, jsquash-png)
9031
9391
  -h, --help Show this help message
9032
9392
 
9033
9393
  Examples:
@@ -9051,15 +9411,15 @@ async function main2() {
9051
9411
  const image1 = args[0];
9052
9412
  const image2 = args[1];
9053
9413
  const options = {};
9054
- for (let i2 = 2; i2 < args.length; i2++) {
9055
- const arg = args[i2];
9056
- const nextArg = args[i2 + 1];
9414
+ for (let i3 = 2; i3 < args.length; i3++) {
9415
+ const arg = args[i3];
9416
+ const nextArg = args[i3 + 1];
9057
9417
  switch (arg) {
9058
9418
  case "-o":
9059
9419
  case "--output":
9060
9420
  if (nextArg) {
9061
9421
  options.outputPath = nextArg;
9062
- i2++;
9422
+ i3++;
9063
9423
  }
9064
9424
  break;
9065
9425
  case "-t":
@@ -9072,7 +9432,7 @@ async function main2() {
9072
9432
  );
9073
9433
  }
9074
9434
  options.threshold = threshold;
9075
- i2++;
9435
+ i3++;
9076
9436
  }
9077
9437
  break;
9078
9438
  case "-a":
@@ -9085,25 +9445,25 @@ async function main2() {
9085
9445
  );
9086
9446
  }
9087
9447
  options.alpha = alpha;
9088
- i2++;
9448
+ i3++;
9089
9449
  }
9090
9450
  break;
9091
9451
  case "--aa-color":
9092
9452
  if (nextArg) {
9093
9453
  options.aaColor = parseRGB(nextArg);
9094
- i2++;
9454
+ i3++;
9095
9455
  }
9096
9456
  break;
9097
9457
  case "--diff-color":
9098
9458
  if (nextArg) {
9099
9459
  options.diffColor = parseRGB(nextArg);
9100
- i2++;
9460
+ i3++;
9101
9461
  }
9102
9462
  break;
9103
9463
  case "--diff-color-alt":
9104
9464
  if (nextArg) {
9105
9465
  options.diffColorAlt = parseRGB(nextArg);
9106
- i2++;
9466
+ i3++;
9107
9467
  }
9108
9468
  break;
9109
9469
  case "--include-aa":
@@ -9112,10 +9472,10 @@ async function main2() {
9112
9472
  case "--diff-mask":
9113
9473
  options.diffMask = true;
9114
9474
  break;
9115
- case "--transformer":
9475
+ case "--codec":
9116
9476
  if (nextArg) {
9117
- options.transformer = nextArg;
9118
- i2++;
9477
+ options.codec = nextArg;
9478
+ i3++;
9119
9479
  }
9120
9480
  break;
9121
9481
  default:
@@ -9124,12 +9484,10 @@ async function main2() {
9124
9484
  process.exit(1);
9125
9485
  }
9126
9486
  }
9127
- const transformer = await getTransformer(
9128
- options.transformer
9129
- );
9487
+ const codec = await getCodec(options.codec);
9130
9488
  const [img1, img2] = await Promise.all([
9131
- transformer.read(image1),
9132
- transformer.read(image2)
9489
+ codec.read(image1),
9490
+ codec.read(image2)
9133
9491
  ]);
9134
9492
  if (img1.width !== img2.width || img1.height !== img2.height) {
9135
9493
  throw new Error(
@@ -9160,7 +9518,7 @@ async function main2() {
9160
9518
  );
9161
9519
  const duration = performance.now() - startTime;
9162
9520
  if (diffCount > 0 && options.outputPath && outputData) {
9163
- await transformer.write(
9521
+ await codec.write(
9164
9522
  {
9165
9523
  data: outputData,
9166
9524
  width: img1.width,
@@ -9198,21 +9556,25 @@ async function main2() {
9198
9556
  process.exit(1);
9199
9557
  }
9200
9558
  }
9201
- var getTransformer;
9559
+ var getCodec;
9202
9560
  var init_core = __esm({
9203
9561
  "src/commands/core.ts"() {
9204
9562
  "use strict";
9205
9563
  init_dist();
9206
- getTransformer = async (transformer) => {
9207
- if (!transformer || transformer === "pngjs") {
9208
- const { default: transformer2 } = await Promise.resolve().then(() => (init_dist2(), dist_exports));
9209
- return transformer2;
9564
+ getCodec = async (codec) => {
9565
+ if (!codec || codec === "pngjs") {
9566
+ const { default: c3 } = await Promise.resolve().then(() => (init_dist2(), dist_exports));
9567
+ return c3;
9568
+ }
9569
+ if (codec === "sharp") {
9570
+ const { default: c3 } = await Promise.resolve().then(() => (init_dist3(), dist_exports2));
9571
+ return c3;
9210
9572
  }
9211
- if (transformer === "sharp") {
9212
- const { default: transformer2 } = await Promise.resolve().then(() => (init_dist3(), dist_exports2));
9213
- return transformer2;
9573
+ if (codec === "jsquash-png") {
9574
+ const { default: c3 } = await Promise.resolve().then(() => (init_dist4(), dist_exports3));
9575
+ return c3;
9214
9576
  }
9215
- throw new Error(`Unknown transformer: ${transformer}`);
9577
+ throw new Error(`Unknown codec: ${codec}`);
9216
9578
  };
9217
9579
  if (typeof require !== "undefined" && require.main === module) {
9218
9580
  main2();
@@ -9221,90 +9583,90 @@ var init_core = __esm({
9221
9583
  });
9222
9584
 
9223
9585
  // ../gmsd/dist/index.mjs
9224
- function D(e, n2, a2, t, r, o2 = {}) {
9225
- let { downsample: s2 = 0, c: c2 = 170 } = o2;
9226
- if (H(e, n2)) {
9586
+ function D(e, n3, a2, t, r, o2 = {}) {
9587
+ let { downsample: s = 0, c: c3 = 170 } = o2;
9588
+ if (H(e, n3)) {
9227
9589
  if (a2) for (let y = 0; y < t * r * 4; y += 4) a2[y] = 255, a2[y + 1] = 255, a2[y + 2] = 255, a2[y + 3] = 255;
9228
9590
  return 0;
9229
9591
  }
9230
- let f2 = e.length / (t * r) === 4, l, u, b = t, x = r;
9231
- if (f2) l = new Float32Array(t * r), u = new Float32Array(t * r), q2(e, l, t, r), q2(n2, u, t, r);
9592
+ let f2 = e.length / (t * r) === 4, l2, u, b = t, x = r;
9593
+ if (f2) l2 = new Float32Array(t * r), u = new Float32Array(t * r), q2(e, l2, t, r), q2(n3, u, t, r);
9232
9594
  else {
9233
- l = new Float32Array(t * r), u = new Float32Array(t * r);
9234
- for (let y = 0; y < t * r; y++) l[y] = e[y], u[y] = n2[y];
9595
+ l2 = new Float32Array(t * r), u = new Float32Array(t * r);
9596
+ for (let y = 0; y < t * r; y++) l2[y] = e[y], u[y] = n3[y];
9235
9597
  }
9236
- if (s2 === 1) {
9237
- let y = P(l, t, r), B = P(u, t, r), d2 = Math.floor(t / 2), I2 = Math.floor(r / 2), M = new Float32Array(d2 * I2), v = new Float32Array(d2 * I2);
9238
- for (let i2 = 0; i2 < I2; i2++) for (let p2 = 0; p2 < d2; p2++) {
9239
- let G = i2 * 2 * t + p2 * 2;
9240
- M[i2 * d2 + p2] = y[G], v[i2 * d2 + p2] = B[G];
9598
+ if (s === 1) {
9599
+ let y = P(l2, t, r), B = P(u, t, r), d2 = Math.floor(t / 2), I2 = Math.floor(r / 2), M = new Float32Array(d2 * I2), v = new Float32Array(d2 * I2);
9600
+ for (let i3 = 0; i3 < I2; i3++) for (let p3 = 0; p3 < d2; p3++) {
9601
+ let G = i3 * 2 * t + p3 * 2;
9602
+ M[i3 * d2 + p3] = y[G], v[i3 * d2 + p3] = B[G];
9241
9603
  }
9242
- l = M, u = v, b = d2, x = I2;
9604
+ l2 = M, u = v, b = d2, x = I2;
9243
9605
  }
9244
- let F2 = S(l, b, x), A = S(u, b, x), g2 = U(F2, A, c2, b, x), k = W(g2);
9245
- return a2 && O(a2, F2, A, c2, b, x), k;
9606
+ let F2 = S(l2, b, x), A = S(u, b, x), g2 = U(F2, A, c3, b, x), k = W(g2);
9607
+ return a2 && O(a2, F2, A, c3, b, x), k;
9246
9608
  }
9247
- function H(e, n2) {
9248
- if (e.length !== n2.length) return false;
9249
- for (let a2 = 0; a2 < e.length; a2++) if (e[a2] !== n2[a2]) return false;
9609
+ function H(e, n3) {
9610
+ if (e.length !== n3.length) return false;
9611
+ for (let a2 = 0; a2 < e.length; a2++) if (e[a2] !== n3[a2]) return false;
9250
9612
  return true;
9251
9613
  }
9252
- function P(e, n2, a2) {
9253
- let t = new Float32Array(n2 * a2);
9254
- for (let r = 0; r < a2; r++) for (let o2 = 0; o2 < n2; o2++) {
9255
- let s2 = 0;
9256
- for (let c2 = 0; c2 < 2; c2++) for (let m2 = 0; m2 < 2; m2++) {
9257
- let f2 = r + c2, l = o2 + m2;
9258
- f2 < a2 && l < n2 && (s2 += e[f2 * n2 + l]);
9614
+ function P(e, n3, a2) {
9615
+ let t = new Float32Array(n3 * a2);
9616
+ for (let r = 0; r < a2; r++) for (let o2 = 0; o2 < n3; o2++) {
9617
+ let s = 0;
9618
+ for (let c3 = 0; c3 < 2; c3++) for (let m3 = 0; m3 < 2; m3++) {
9619
+ let f2 = r + c3, l2 = o2 + m3;
9620
+ f2 < a2 && l2 < n3 && (s += e[f2 * n3 + l2]);
9259
9621
  }
9260
- t[r * n2 + o2] = s2 / 4;
9622
+ t[r * n3 + o2] = s / 4;
9261
9623
  }
9262
9624
  return t;
9263
9625
  }
9264
- function O(e, n2, a2, t, r, o2) {
9626
+ function O(e, n3, a2, t, r, o2) {
9265
9627
  e.fill(0);
9266
- for (let s2 = 1; s2 < o2 - 1; s2++) for (let c2 = 1; c2 < r - 1; c2++) {
9267
- let m2 = s2 * r + c2, f2 = n2[m2], l = a2[m2], u = 2 * f2 * l + t, b = f2 * f2 + l * l + t, x = u / b, F2 = Math.floor(x * 255), A = m2 * 4;
9628
+ for (let s = 1; s < o2 - 1; s++) for (let c3 = 1; c3 < r - 1; c3++) {
9629
+ let m3 = s * r + c3, f2 = n3[m3], l2 = a2[m3], u = 2 * f2 * l2 + t, b = f2 * f2 + l2 * l2 + t, x = u / b, F2 = Math.floor(x * 255), A = m3 * 4;
9268
9630
  e[A] = F2, e[A + 1] = F2, e[A + 2] = F2, e[A + 3] = 255;
9269
9631
  }
9270
9632
  }
9271
- function q2(e, n2, a2, t) {
9633
+ function q2(e, n3, a2, t) {
9272
9634
  let r = a2 * t;
9273
9635
  for (let o2 = 0; o2 < r; o2++) {
9274
- let s2 = o2 * 4, c2 = e[s2], m2 = e[s2 + 1], f2 = e[s2 + 2];
9275
- n2[o2] = 0.298936 * c2 + 0.587043 * m2 + 0.114021 * f2;
9636
+ let s = o2 * 4, c3 = e[s], m3 = e[s + 1], f2 = e[s + 2];
9637
+ n3[o2] = 0.298936 * c3 + 0.587043 * m3 + 0.114021 * f2;
9276
9638
  }
9277
9639
  }
9278
- function S(e, n2, a2) {
9279
- let t = new Float32Array(n2 * a2);
9280
- for (let r = 1; r < a2 - 1; r++) for (let o2 = 1; o2 < n2 - 1; o2++) {
9281
- let s2 = r * n2 + o2, c2 = e[(r - 1) * n2 + (o2 - 1)], m2 = e[(r - 1) * n2 + o2], f2 = e[(r - 1) * n2 + (o2 + 1)], l = e[r * n2 + (o2 - 1)], u = e[r * n2 + (o2 + 1)], b = e[(r + 1) * n2 + (o2 - 1)], x = e[(r + 1) * n2 + o2], F2 = e[(r + 1) * n2 + (o2 + 1)], A = (c2 + l + b - f2 - u - F2) / 3, g2 = (c2 + m2 + f2 - b - x - F2) / 3;
9282
- t[s2] = Math.sqrt(A * A + g2 * g2);
9640
+ function S(e, n3, a2) {
9641
+ let t = new Float32Array(n3 * a2);
9642
+ for (let r = 1; r < a2 - 1; r++) for (let o2 = 1; o2 < n3 - 1; o2++) {
9643
+ let s = r * n3 + o2, c3 = e[(r - 1) * n3 + (o2 - 1)], m3 = e[(r - 1) * n3 + o2], f2 = e[(r - 1) * n3 + (o2 + 1)], l2 = e[r * n3 + (o2 - 1)], u = e[r * n3 + (o2 + 1)], b = e[(r + 1) * n3 + (o2 - 1)], x = e[(r + 1) * n3 + o2], F2 = e[(r + 1) * n3 + (o2 + 1)], A = (c3 + l2 + b - f2 - u - F2) / 3, g2 = (c3 + m3 + f2 - b - x - F2) / 3;
9644
+ t[s] = Math.sqrt(A * A + g2 * g2);
9283
9645
  }
9284
9646
  return t;
9285
9647
  }
9286
- function U(e, n2, a2, t, r) {
9648
+ function U(e, n3, a2, t, r) {
9287
9649
  let o2 = [];
9288
- for (let s2 = 1; s2 < r - 1; s2++) for (let c2 = 1; c2 < t - 1; c2++) {
9289
- let m2 = s2 * t + c2, f2 = e[m2], l = n2[m2], u = 2 * f2 * l + a2, b = f2 * f2 + l * l + a2;
9650
+ for (let s = 1; s < r - 1; s++) for (let c3 = 1; c3 < t - 1; c3++) {
9651
+ let m3 = s * t + c3, f2 = e[m3], l2 = n3[m3], u = 2 * f2 * l2 + a2, b = f2 * f2 + l2 * l2 + a2;
9290
9652
  o2.push(u / b);
9291
9653
  }
9292
9654
  return new Float32Array(o2);
9293
9655
  }
9294
9656
  function W(e) {
9295
- let n2 = e.length;
9296
- if (n2 === 0) return 0;
9657
+ let n3 = e.length;
9658
+ if (n3 === 0) return 0;
9297
9659
  let a2 = 0;
9298
- for (let o2 = 0; o2 < n2; o2++) a2 += e[o2];
9299
- let t = a2 / n2, r = 0;
9300
- for (let o2 = 0; o2 < n2; o2++) {
9301
- let s2 = e[o2] - t;
9302
- r += s2 * s2;
9660
+ for (let o2 = 0; o2 < n3; o2++) a2 += e[o2];
9661
+ let t = a2 / n3, r = 0;
9662
+ for (let o2 = 0; o2 < n3; o2++) {
9663
+ let s = e[o2] - t;
9664
+ r += s * s;
9303
9665
  }
9304
- return r /= n2, Math.sqrt(r);
9666
+ return r /= n3, Math.sqrt(r);
9305
9667
  }
9306
9668
  var C;
9307
- var init_dist4 = __esm({
9669
+ var init_dist5 = __esm({
9308
9670
  "../gmsd/dist/index.mjs"() {
9309
9671
  "use strict";
9310
9672
  C = D;
@@ -9328,7 +9690,7 @@ Options:
9328
9690
  -o, --output <path> Output path for GMS similarity map (grayscale visualization)
9329
9691
  --downsample <0|1> Downsample factor: 0=full-res, 1=2x downsample (default: 0)
9330
9692
  --gmsd-c <num> Stability constant for GMSD (default: 170)
9331
- --transformer <name> Specify transformer to use (e.g. pngjs, sharp)
9693
+ --codec <name> Specify codec to use (pngjs, sharp, jsquash-png)
9332
9694
  -h, --help Show this help message
9333
9695
 
9334
9696
  Examples:
@@ -9352,15 +9714,15 @@ async function main3() {
9352
9714
  const image1 = args[0];
9353
9715
  const image2 = args[1];
9354
9716
  const options = {};
9355
- for (let i2 = 2; i2 < args.length; i2++) {
9356
- const arg = args[i2];
9357
- const nextArg = args[i2 + 1];
9717
+ for (let i3 = 2; i3 < args.length; i3++) {
9718
+ const arg = args[i3];
9719
+ const nextArg = args[i3 + 1];
9358
9720
  switch (arg) {
9359
9721
  case "-o":
9360
9722
  case "--output":
9361
9723
  if (nextArg) {
9362
9724
  options.outputPath = nextArg;
9363
- i2++;
9725
+ i3++;
9364
9726
  }
9365
9727
  break;
9366
9728
  case "--downsample":
@@ -9370,7 +9732,7 @@ async function main3() {
9370
9732
  throw new Error(`Invalid downsample: ${nextArg}. Must be 0 or 1`);
9371
9733
  }
9372
9734
  options.downsample = downsample;
9373
- i2++;
9735
+ i3++;
9374
9736
  }
9375
9737
  break;
9376
9738
  case "--gmsd-c":
@@ -9382,13 +9744,13 @@ async function main3() {
9382
9744
  );
9383
9745
  }
9384
9746
  options.gmsdC = gmsdC;
9385
- i2++;
9747
+ i3++;
9386
9748
  }
9387
9749
  break;
9388
- case "--transformer":
9750
+ case "--codec":
9389
9751
  if (nextArg) {
9390
- options.transformer = nextArg;
9391
- i2++;
9752
+ options.codec = nextArg;
9753
+ i3++;
9392
9754
  }
9393
9755
  break;
9394
9756
  default:
@@ -9397,12 +9759,10 @@ async function main3() {
9397
9759
  process.exit(1);
9398
9760
  }
9399
9761
  }
9400
- const transformer = await getTransformer2(
9401
- options.transformer
9402
- );
9762
+ const codec = await getCodec2(options.codec);
9403
9763
  const [img1, img2] = await Promise.all([
9404
- transformer.read(image1),
9405
- transformer.read(image2)
9764
+ codec.read(image1),
9765
+ codec.read(image2)
9406
9766
  ]);
9407
9767
  if (img1.width !== img2.width || img1.height !== img2.height) {
9408
9768
  throw new Error(
@@ -9428,7 +9788,7 @@ async function main3() {
9428
9788
  );
9429
9789
  const duration = performance.now() - startTime;
9430
9790
  if (options.outputPath && outputData) {
9431
- await transformer.write(
9791
+ await codec.write(
9432
9792
  {
9433
9793
  data: outputData,
9434
9794
  width: img1.width,
@@ -9466,21 +9826,25 @@ async function main3() {
9466
9826
  process.exit(1);
9467
9827
  }
9468
9828
  }
9469
- var getTransformer2;
9829
+ var getCodec2;
9470
9830
  var init_gmsd = __esm({
9471
9831
  "src/commands/gmsd.ts"() {
9472
9832
  "use strict";
9473
- init_dist4();
9474
- getTransformer2 = async (transformer) => {
9475
- if (!transformer || transformer === "pngjs") {
9476
- const { default: transformer2 } = await Promise.resolve().then(() => (init_dist2(), dist_exports));
9477
- return transformer2;
9833
+ init_dist5();
9834
+ getCodec2 = async (codec) => {
9835
+ if (!codec || codec === "pngjs") {
9836
+ const { default: c3 } = await Promise.resolve().then(() => (init_dist2(), dist_exports));
9837
+ return c3;
9478
9838
  }
9479
- if (transformer === "sharp") {
9480
- const { default: transformer2 } = await Promise.resolve().then(() => (init_dist3(), dist_exports2));
9481
- return transformer2;
9839
+ if (codec === "sharp") {
9840
+ const { default: c3 } = await Promise.resolve().then(() => (init_dist3(), dist_exports2));
9841
+ return c3;
9482
9842
  }
9483
- throw new Error(`Unknown transformer: ${transformer}`);
9843
+ if (codec === "jsquash-png") {
9844
+ const { default: c3 } = await Promise.resolve().then(() => (init_dist4(), dist_exports3));
9845
+ return c3;
9846
+ }
9847
+ throw new Error(`Unknown codec: ${codec}`);
9484
9848
  };
9485
9849
  if (typeof require !== "undefined" && require.main === module) {
9486
9850
  main3();
@@ -9489,130 +9853,130 @@ var init_gmsd = __esm({
9489
9853
  });
9490
9854
 
9491
9855
  // ../ssim/dist/ssim.mjs
9492
- function C2(f2, M, l) {
9493
- let r = new Float32Array(M * l), n2 = 0;
9856
+ function C2(f2, M, l2) {
9857
+ let r = new Float32Array(M * l2), n3 = 0;
9494
9858
  for (let u = 0; u < f2.length; u += 4) {
9495
9859
  let e = f2[u], A = f2[u + 1], a2 = f2[u + 2];
9496
- r[n2++] = 0.298936 * e + 0.587043 * A + 0.114021 * a2;
9860
+ r[n3++] = 0.298936 * e + 0.587043 * A + 0.114021 * a2;
9497
9861
  }
9498
9862
  return r;
9499
9863
  }
9500
- function N2(f2, M, l, r, n2, u = {}) {
9501
- let { windowSize: e = 11, k1: A = 0.01, k2: a2 = 0.03, L: i2 = 255 } = u, c2 = C2(f2, r, n2), s2 = C2(M, r, n2), o2 = r, t = n2, m2 = Math.max(1, Math.round(Math.min(r, n2) / 256));
9502
- if (m2 > 1) {
9503
- let y = Q(c2, s2, o2, t, m2);
9504
- c2 = y.img1, s2 = y.img2, o2 = y.width, t = y.height;
9505
- }
9506
- let x = P2(e, 1.5), b = (A * i2) ** 2, B = (a2 * i2) ** 2, R = o2 - e + 1, T = t - e + 1, g2 = R * T, v = new Float32Array(g2), O2 = new Float32Array(g2), G = new Float32Array(g2), H3 = new Float32Array(g2), I2 = new Float32Array(g2), U3 = new Float32Array(o2 * t);
9507
- S2(c2, v, U3, o2, t, x, e), S2(s2, O2, U3, o2, t, x, e);
9508
- let V3 = c2.length;
9864
+ function N2(f2, M, l2, r, n3, u = {}) {
9865
+ let { windowSize: e = 11, k1: A = 0.01, k2: a2 = 0.03, L: i3 = 255 } = u, c3 = C2(f2, r, n3), s = C2(M, r, n3), o2 = r, t = n3, m3 = Math.max(1, Math.round(Math.min(r, n3) / 256));
9866
+ if (m3 > 1) {
9867
+ let y = Q(c3, s, o2, t, m3);
9868
+ c3 = y.img1, s = y.img2, o2 = y.width, t = y.height;
9869
+ }
9870
+ let x = P2(e, 1.5), b = (A * i3) ** 2, B = (a2 * i3) ** 2, R = o2 - e + 1, T = t - e + 1, g2 = R * T, v = new Float32Array(g2), O2 = new Float32Array(g2), G = new Float32Array(g2), H3 = new Float32Array(g2), I2 = new Float32Array(g2), U3 = new Float32Array(o2 * t);
9871
+ S2(c3, v, U3, o2, t, x, e), S2(s, O2, U3, o2, t, x, e);
9872
+ let V3 = c3.length;
9509
9873
  for (let y = 0; y < V3; y++) {
9510
- let p2 = c2[y], d2 = s2[y];
9511
- U3[y] = p2 * d2, c2[y] = p2 * p2, s2[y] = d2 * d2;
9874
+ let p3 = c3[y], d2 = s[y];
9875
+ U3[y] = p3 * d2, c3[y] = p3 * p3, s[y] = d2 * d2;
9512
9876
  }
9513
9877
  let q4 = new Float32Array(o2 * t);
9514
- S2(c2, G, q4, o2, t, x, e), S2(s2, H3, q4, o2, t, x, e), S2(U3, I2, q4, o2, t, x, e);
9878
+ S2(c3, G, q4, o2, t, x, e), S2(s, H3, q4, o2, t, x, e), S2(U3, I2, q4, o2, t, x, e);
9515
9879
  let w = new Float32Array(v.length);
9516
9880
  for (let y = 0; y < v.length; y++) {
9517
- let p2 = v[y], d2 = O2[y], W2 = p2 * p2, X2 = d2 * d2, Y = p2 * d2, $ = G[y] - W2, K2 = H3[y] - X2, _2 = I2[y] - Y, j3 = (2 * Y + b) * (2 * _2 + B), J = (W2 + X2 + b) * ($ + K2 + B);
9881
+ let p3 = v[y], d2 = O2[y], W2 = p3 * p3, X2 = d2 * d2, Y = p3 * d2, $ = G[y] - W2, K2 = H3[y] - X2, _2 = I2[y] - Y, j3 = (2 * Y + b) * (2 * _2 + B), J = (W2 + X2 + b) * ($ + K2 + B);
9518
9882
  w[y] = j3 / J;
9519
9883
  }
9520
- if (l) {
9521
- let y = o2 - e + 1, p2 = t - e + 1;
9522
- Z(l, w, y, p2, r, n2);
9884
+ if (l2) {
9885
+ let y = o2 - e + 1, p3 = t - e + 1;
9886
+ Z(l2, w, y, p3, r, n3);
9523
9887
  }
9524
9888
  let L3 = 0;
9525
9889
  for (let y = 0; y < w.length; y++) L3 += w[y];
9526
9890
  return L3 / w.length;
9527
9891
  }
9528
9892
  function P2(f2, M) {
9529
- let l = `${f2}_${M}`, r = D2.get(l);
9893
+ let l2 = `${f2}_${M}`, r = D2.get(l2);
9530
9894
  if (r) return r;
9531
- let n2 = new Float32Array(f2), u = (f2 - 1) / 2, e = 2 * M * M, A = 0;
9895
+ let n3 = new Float32Array(f2), u = (f2 - 1) / 2, e = 2 * M * M, A = 0;
9532
9896
  for (let a2 = 0; a2 < f2; a2++) {
9533
- let i2 = a2 - u, c2 = Math.exp(-(i2 * i2) / e);
9534
- n2[a2] = c2, A += c2;
9897
+ let i3 = a2 - u, c3 = Math.exp(-(i3 * i3) / e);
9898
+ n3[a2] = c3, A += c3;
9535
9899
  }
9536
- for (let a2 = 0; a2 < f2; a2++) n2[a2] /= A;
9537
- return D2.set(l, n2), n2;
9900
+ for (let a2 = 0; a2 < f2; a2++) n3[a2] /= A;
9901
+ return D2.set(l2, n3), n3;
9538
9902
  }
9539
- function S2(f2, M, l, r, n2, u, e) {
9903
+ function S2(f2, M, l2, r, n3, u, e) {
9540
9904
  let A = Math.floor(e / 2);
9541
- for (let s2 = 0; s2 < n2; s2++) {
9542
- let o2 = s2 * r;
9905
+ for (let s = 0; s < n3; s++) {
9906
+ let o2 = s * r;
9543
9907
  for (let t = 0; t < A; t++) {
9544
- let m2 = 0;
9908
+ let m3 = 0;
9545
9909
  for (let F2 = 0; F2 < e; F2++) {
9546
9910
  let x = t + F2 - A, b = Math.max(0, Math.min(r - 1, x));
9547
- m2 += f2[o2 + b] * u[F2];
9911
+ m3 += f2[o2 + b] * u[F2];
9548
9912
  }
9549
- l[o2 + t] = m2;
9913
+ l2[o2 + t] = m3;
9550
9914
  }
9551
9915
  for (let t = A; t < r - A; t++) {
9552
- let m2 = 0, F2 = o2 + t - A;
9553
- for (let x = 0; x < e; x++) m2 += f2[F2 + x] * u[x];
9554
- l[o2 + t] = m2;
9916
+ let m3 = 0, F2 = o2 + t - A;
9917
+ for (let x = 0; x < e; x++) m3 += f2[F2 + x] * u[x];
9918
+ l2[o2 + t] = m3;
9555
9919
  }
9556
9920
  for (let t = r - A; t < r; t++) {
9557
- let m2 = 0;
9921
+ let m3 = 0;
9558
9922
  for (let F2 = 0; F2 < e; F2++) {
9559
9923
  let x = t + F2 - A, b = Math.max(0, Math.min(r - 1, x));
9560
- m2 += f2[o2 + b] * u[F2];
9924
+ m3 += f2[o2 + b] * u[F2];
9561
9925
  }
9562
- l[o2 + t] = m2;
9926
+ l2[o2 + t] = m3;
9563
9927
  }
9564
9928
  }
9565
- let a2 = r - e + 1, i2 = n2 - e + 1, c2 = 0;
9566
- for (let s2 = 0; s2 < i2; s2++) for (let o2 = 0; o2 < a2; o2++) {
9567
- let t = 0, m2 = o2 + A;
9929
+ let a2 = r - e + 1, i3 = n3 - e + 1, c3 = 0;
9930
+ for (let s = 0; s < i3; s++) for (let o2 = 0; o2 < a2; o2++) {
9931
+ let t = 0, m3 = o2 + A;
9568
9932
  for (let F2 = 0; F2 < e; F2++) {
9569
- let x = s2 + F2;
9570
- t += l[x * r + m2] * u[F2];
9933
+ let x = s + F2;
9934
+ t += l2[x * r + m3] * u[F2];
9571
9935
  }
9572
- M[c2++] = t;
9936
+ M[c3++] = t;
9573
9937
  }
9574
9938
  }
9575
- function Q(f2, M, l, r, n2) {
9576
- let u = new Float32Array(n2), e = 1 / n2;
9577
- for (let m2 = 0; m2 < n2; m2++) u[m2] = e;
9578
- let A = new Float32Array(l * r), a2 = new Float32Array(l * r);
9579
- E(f2, a2, A, l, r, u, n2);
9580
- let i2 = new Float32Array(l * r);
9581
- E(M, i2, A, l, r, u, n2);
9582
- let c2 = Math.floor(l / n2), s2 = Math.floor(r / n2), o2 = new Float32Array(c2 * s2), t = new Float32Array(c2 * s2);
9583
- for (let m2 = 0; m2 < s2; m2++) {
9584
- let F2 = m2 * n2 * l, x = m2 * c2;
9585
- for (let b = 0; b < c2; b++) o2[x + b] = a2[F2 + b * n2], t[x + b] = i2[F2 + b * n2];
9586
- }
9587
- return { img1: o2, img2: t, width: c2, height: s2 };
9939
+ function Q(f2, M, l2, r, n3) {
9940
+ let u = new Float32Array(n3), e = 1 / n3;
9941
+ for (let m3 = 0; m3 < n3; m3++) u[m3] = e;
9942
+ let A = new Float32Array(l2 * r), a2 = new Float32Array(l2 * r);
9943
+ E(f2, a2, A, l2, r, u, n3);
9944
+ let i3 = new Float32Array(l2 * r);
9945
+ E(M, i3, A, l2, r, u, n3);
9946
+ let c3 = Math.floor(l2 / n3), s = Math.floor(r / n3), o2 = new Float32Array(c3 * s), t = new Float32Array(c3 * s);
9947
+ for (let m3 = 0; m3 < s; m3++) {
9948
+ let F2 = m3 * n3 * l2, x = m3 * c3;
9949
+ for (let b = 0; b < c3; b++) o2[x + b] = a2[F2 + b * n3], t[x + b] = i3[F2 + b * n3];
9950
+ }
9951
+ return { img1: o2, img2: t, width: c3, height: s };
9588
9952
  }
9589
- function E(f2, M, l, r, n2, u, e) {
9953
+ function E(f2, M, l2, r, n3, u, e) {
9590
9954
  let A = Math.floor(e / 2);
9591
- for (let a2 = 0; a2 < n2; a2++) {
9592
- let i2 = a2 * r;
9593
- for (let c2 = 0; c2 < r; c2++) {
9594
- let s2 = 0;
9955
+ for (let a2 = 0; a2 < n3; a2++) {
9956
+ let i3 = a2 * r;
9957
+ for (let c3 = 0; c3 < r; c3++) {
9958
+ let s = 0;
9595
9959
  for (let o2 = 0; o2 < e; o2++) {
9596
- let t = c2 + o2 - A;
9597
- t < 0 ? t = -t : t >= r && (t = 2 * r - t - 2), t = Math.max(0, Math.min(r - 1, t)), s2 += f2[i2 + t] * u[o2];
9960
+ let t = c3 + o2 - A;
9961
+ t < 0 ? t = -t : t >= r && (t = 2 * r - t - 2), t = Math.max(0, Math.min(r - 1, t)), s += f2[i3 + t] * u[o2];
9598
9962
  }
9599
- l[i2 + c2] = s2;
9963
+ l2[i3 + c3] = s;
9600
9964
  }
9601
9965
  }
9602
- for (let a2 = 0; a2 < n2; a2++) for (let i2 = 0; i2 < r; i2++) {
9603
- let c2 = 0;
9604
- for (let s2 = 0; s2 < e; s2++) {
9605
- let o2 = a2 + s2 - A;
9606
- o2 < 0 ? o2 = -o2 : o2 >= n2 && (o2 = 2 * n2 - o2 - 2), o2 = Math.max(0, Math.min(n2 - 1, o2)), c2 += l[o2 * r + i2] * u[s2];
9966
+ for (let a2 = 0; a2 < n3; a2++) for (let i3 = 0; i3 < r; i3++) {
9967
+ let c3 = 0;
9968
+ for (let s = 0; s < e; s++) {
9969
+ let o2 = a2 + s - A;
9970
+ o2 < 0 ? o2 = -o2 : o2 >= n3 && (o2 = 2 * n3 - o2 - 2), o2 = Math.max(0, Math.min(n3 - 1, o2)), c3 += l2[o2 * r + i3] * u[s];
9607
9971
  }
9608
- M[a2 * r + i2] = c2;
9972
+ M[a2 * r + i3] = c3;
9609
9973
  }
9610
9974
  }
9611
- function Z(f2, M, l, r, n2, u) {
9612
- let e = n2 / l, A = u / r;
9613
- for (let a2 = 0; a2 < u; a2++) for (let i2 = 0; i2 < n2; i2++) {
9614
- let c2 = Math.min(Math.floor(i2 / e), l - 1), s2 = Math.min(Math.floor(a2 / A), r - 1), o2 = M[s2 * l + c2], t = Math.floor(Math.max(0, Math.min(1, o2)) * 255), m2 = (a2 * n2 + i2) * 4;
9615
- f2[m2] = t, f2[m2 + 1] = t, f2[m2 + 2] = t, f2[m2 + 3] = 255;
9975
+ function Z(f2, M, l2, r, n3, u) {
9976
+ let e = n3 / l2, A = u / r;
9977
+ for (let a2 = 0; a2 < u; a2++) for (let i3 = 0; i3 < n3; i3++) {
9978
+ let c3 = Math.min(Math.floor(i3 / e), l2 - 1), s = Math.min(Math.floor(a2 / A), r - 1), o2 = M[s * l2 + c3], t = Math.floor(Math.max(0, Math.min(1, o2)) * 255), m3 = (a2 * n3 + i3) * 4;
9979
+ f2[m3] = t, f2[m3 + 1] = t, f2[m3 + 2] = t, f2[m3 + 3] = 255;
9616
9980
  }
9617
9981
  }
9618
9982
  var D2, z;
@@ -9639,7 +10003,7 @@ Arguments:
9639
10003
 
9640
10004
  Options:
9641
10005
  -o, --output <path> Output path for SSIM map visualization
9642
- --transformer <name> Specify transformer to use (e.g. pngjs, sharp)
10006
+ --codec <name> Specify codec to use (pngjs, sharp, jsquash-png)
9643
10007
  -h, --help Show this help message
9644
10008
 
9645
10009
  Examples:
@@ -9662,21 +10026,21 @@ async function main4() {
9662
10026
  const image1 = args[0];
9663
10027
  const image2 = args[1];
9664
10028
  const options = {};
9665
- for (let i2 = 2; i2 < args.length; i2++) {
9666
- const arg = args[i2];
9667
- const nextArg = args[i2 + 1];
10029
+ for (let i3 = 2; i3 < args.length; i3++) {
10030
+ const arg = args[i3];
10031
+ const nextArg = args[i3 + 1];
9668
10032
  switch (arg) {
9669
10033
  case "-o":
9670
10034
  case "--output":
9671
10035
  if (nextArg) {
9672
10036
  options.outputPath = nextArg;
9673
- i2++;
10037
+ i3++;
9674
10038
  }
9675
10039
  break;
9676
- case "--transformer":
10040
+ case "--codec":
9677
10041
  if (nextArg) {
9678
- options.transformer = nextArg;
9679
- i2++;
10042
+ options.codec = nextArg;
10043
+ i3++;
9680
10044
  }
9681
10045
  break;
9682
10046
  default:
@@ -9685,10 +10049,10 @@ async function main4() {
9685
10049
  process.exit(1);
9686
10050
  }
9687
10051
  }
9688
- const transformer = await getTransformer3(options.transformer);
10052
+ const codec = await getCodec3(options.codec);
9689
10053
  const [img1, img2] = await Promise.all([
9690
- transformer.read(image1),
9691
- transformer.read(image2)
10054
+ codec.read(image1),
10055
+ codec.read(image2)
9692
10056
  ]);
9693
10057
  if (img1.width !== img2.width || img1.height !== img2.height) {
9694
10058
  throw new Error(
@@ -9710,7 +10074,7 @@ async function main4() {
9710
10074
  );
9711
10075
  const duration = performance.now() - startTime;
9712
10076
  if (options.outputPath && outputData) {
9713
- await transformer.write(
10077
+ await codec.write(
9714
10078
  {
9715
10079
  data: outputData,
9716
10080
  width: img1.width,
@@ -9748,21 +10112,25 @@ async function main4() {
9748
10112
  process.exit(1);
9749
10113
  }
9750
10114
  }
9751
- var getTransformer3;
10115
+ var getCodec3;
9752
10116
  var init_ssim2 = __esm({
9753
10117
  "src/commands/ssim.ts"() {
9754
10118
  "use strict";
9755
10119
  init_ssim();
9756
- getTransformer3 = async (transformer) => {
9757
- if (!transformer || transformer === "pngjs") {
9758
- const { default: transformer2 } = await Promise.resolve().then(() => (init_dist2(), dist_exports));
9759
- return transformer2;
10120
+ getCodec3 = async (codec) => {
10121
+ if (!codec || codec === "pngjs") {
10122
+ const { default: c3 } = await Promise.resolve().then(() => (init_dist2(), dist_exports));
10123
+ return c3;
10124
+ }
10125
+ if (codec === "sharp") {
10126
+ const { default: c3 } = await Promise.resolve().then(() => (init_dist3(), dist_exports2));
10127
+ return c3;
9760
10128
  }
9761
- if (transformer === "sharp") {
9762
- const { default: transformer2 } = await Promise.resolve().then(() => (init_dist3(), dist_exports2));
9763
- return transformer2;
10129
+ if (codec === "jsquash-png") {
10130
+ const { default: c3 } = await Promise.resolve().then(() => (init_dist4(), dist_exports3));
10131
+ return c3;
9764
10132
  }
9765
- throw new Error(`Unknown transformer: ${transformer}`);
10133
+ throw new Error(`Unknown codec: ${codec}`);
9766
10134
  };
9767
10135
  if (typeof require !== "undefined" && require.main === module) {
9768
10136
  main4();
@@ -9771,99 +10139,99 @@ var init_ssim2 = __esm({
9771
10139
  });
9772
10140
 
9773
10141
  // ../ssim/dist/msssim.mjs
9774
- function I(a2, f2, n2) {
9775
- let r = new Float32Array(f2 * n2), t = 0;
10142
+ function I(a2, f2, n3) {
10143
+ let r = new Float32Array(f2 * n3), t = 0;
9776
10144
  for (let y = 0; y < a2.length; y += 4) {
9777
- let m2 = a2[y], p2 = a2[y + 1], s2 = a2[y + 2];
9778
- r[t++] = 0.298936 * m2 + 0.587043 * p2 + 0.114021 * s2;
10145
+ let m3 = a2[y], p3 = a2[y + 1], s = a2[y + 2];
10146
+ r[t++] = 0.298936 * m3 + 0.587043 * p3 + 0.114021 * s;
9779
10147
  }
9780
10148
  return r;
9781
10149
  }
9782
- function K(a2, f2, n2, r, t, y = {}) {
9783
- let { windowSize: m2 = 11, k1: p2 = 0.01, k2: s2 = 0.03, bitDepth: c2 = 8, level: e = 5, weight: u = [0.0448, 0.2856, 0.3001, 0.2363, 0.1333], method: o2 = "product" } = y, l = I(a2, r, t), A = I(f2, r, t), x = r, S3 = t, d2 = [], B = [], C3;
9784
- for (let i2 = 0; i2 < e; i2++) {
9785
- let b = L2(l, A, x, S3, m2, p2, s2, c2);
9786
- if (d2.push(b.mssim), B.push(b.mcs), i2 === e - 1 && n2 && (C3 = b.ssimMap), i2 < e - 1) {
9787
- let M = E2(l, A, x, S3);
9788
- l = M.img1, A = M.img2, x = M.width, S3 = M.height;
9789
- }
9790
- }
9791
- if (n2 && C3 && H2(n2, C3, x, S3, r, t), o2 === "product") {
9792
- let i2 = 1;
9793
- for (let b = 0; b < e - 1; b++) i2 *= B[b] ** u[b];
9794
- return i2 *= d2[e - 1] ** u[e - 1], i2;
10150
+ function K(a2, f2, n3, r, t, y = {}) {
10151
+ let { windowSize: m3 = 11, k1: p3 = 0.01, k2: s = 0.03, bitDepth: c3 = 8, level: e = 5, weight: u = [0.0448, 0.2856, 0.3001, 0.2363, 0.1333], method: o2 = "product" } = y, l2 = I(a2, r, t), A = I(f2, r, t), x = r, S3 = t, d2 = [], B = [], C3;
10152
+ for (let i3 = 0; i3 < e; i3++) {
10153
+ let b = L2(l2, A, x, S3, m3, p3, s, c3);
10154
+ if (d2.push(b.mssim), B.push(b.mcs), i3 === e - 1 && n3 && (C3 = b.ssimMap), i3 < e - 1) {
10155
+ let M = E2(l2, A, x, S3);
10156
+ l2 = M.img1, A = M.img2, x = M.width, S3 = M.height;
10157
+ }
10158
+ }
10159
+ if (n3 && C3 && H2(n3, C3, x, S3, r, t), o2 === "product") {
10160
+ let i3 = 1;
10161
+ for (let b = 0; b < e - 1; b++) i3 *= B[b] ** u[b];
10162
+ return i3 *= d2[e - 1] ** u[e - 1], i3;
9795
10163
  } else {
9796
- let i2 = u.map((M) => M / u.reduce((D3, G) => D3 + G, 0)), b = 0;
9797
- for (let M = 0; M < e - 1; M++) b += B[M] * i2[M];
9798
- return b += d2[e - 1] * i2[e - 1], b;
10164
+ let i3 = u.map((M) => M / u.reduce((D3, G) => D3 + G, 0)), b = 0;
10165
+ for (let M = 0; M < e - 1; M++) b += B[M] * i3[M];
10166
+ return b += d2[e - 1] * i3[e - 1], b;
9799
10167
  }
9800
10168
  }
9801
- function L2(a2, f2, n2, r, t, y, m2, p2) {
9802
- let s2 = 2 ** p2 - 1, c2 = (y * s2) ** 2, e = (m2 * s2) ** 2, u = V2(t, 1.5), o2 = new Float32Array(n2 * r), l = new Float32Array(n2 * r), A = new Float32Array(n2 * r), x = new Float32Array(n2 * r), S3 = new Float32Array(n2 * r), d2 = new Float32Array(n2 * r), B = new Float32Array(n2 * r);
9803
- q3(a2, o2, d2, n2, r, u, t), q3(f2, l, d2, n2, r, u, t);
9804
- let C3 = new Float32Array(n2 * r), i2 = new Float32Array(n2 * r), b = new Float32Array(n2 * r), M = a2.length;
10169
+ function L2(a2, f2, n3, r, t, y, m3, p3) {
10170
+ let s = 2 ** p3 - 1, c3 = (y * s) ** 2, e = (m3 * s) ** 2, u = V2(t, 1.5), o2 = new Float32Array(n3 * r), l2 = new Float32Array(n3 * r), A = new Float32Array(n3 * r), x = new Float32Array(n3 * r), S3 = new Float32Array(n3 * r), d2 = new Float32Array(n3 * r), B = new Float32Array(n3 * r);
10171
+ q3(a2, o2, d2, n3, r, u, t), q3(f2, l2, d2, n3, r, u, t);
10172
+ let C3 = new Float32Array(n3 * r), i3 = new Float32Array(n3 * r), b = new Float32Array(n3 * r), M = a2.length;
9805
10173
  for (let F2 = 0; F2 < M; F2++) {
9806
10174
  let v = a2[F2], U3 = f2[F2];
9807
- C3[F2] = v * v, i2[F2] = U3 * U3, b[F2] = v * U3;
10175
+ C3[F2] = v * v, i3[F2] = U3 * U3, b[F2] = v * U3;
9808
10176
  }
9809
- q3(C3, A, d2, n2, r, u, t), q3(i2, x, d2, n2, r, u, t), q3(b, S3, B, n2, r, u, t);
10177
+ q3(C3, A, d2, n3, r, u, t), q3(i3, x, d2, n3, r, u, t), q3(b, S3, B, n3, r, u, t);
9810
10178
  let D3 = 0, G = 0, O2 = new Float32Array(o2.length);
9811
10179
  for (let F2 = 0; F2 < o2.length; F2++) {
9812
- let v = o2[F2], U3 = l[F2], g2 = v * v, w = U3 * U3, R = v * U3, Y = A[F2] - g2, _2 = x[F2] - w, $ = S3[F2] - R, k = (2 * R + c2) / (g2 + w + c2), T = (2 * $ + e) / (Y + _2 + e), W2 = k * T;
10180
+ let v = o2[F2], U3 = l2[F2], g2 = v * v, w = U3 * U3, R = v * U3, Y = A[F2] - g2, _2 = x[F2] - w, $ = S3[F2] - R, k = (2 * R + c3) / (g2 + w + c3), T = (2 * $ + e) / (Y + _2 + e), W2 = k * T;
9813
10181
  O2[F2] = W2, D3 += W2, G += T;
9814
10182
  }
9815
10183
  return { mssim: D3 / o2.length, mcs: G / o2.length, ssimMap: O2 };
9816
10184
  }
9817
10185
  function V2(a2, f2) {
9818
- let n2 = `${a2}_${f2}`, r = X.get(n2);
9819
- return r || (r = j2(a2, f2), X.set(n2, r)), r;
10186
+ let n3 = `${a2}_${f2}`, r = X.get(n3);
10187
+ return r || (r = j2(a2, f2), X.set(n3, r)), r;
9820
10188
  }
9821
10189
  function j2(a2, f2) {
9822
- let n2 = new Float32Array(a2), r = (a2 - 1) / 2, t = 2 * f2 * f2, y = 0;
9823
- for (let m2 = 0; m2 < a2; m2++) {
9824
- let p2 = m2 - r, s2 = Math.exp(-(p2 * p2) / t);
9825
- n2[m2] = s2, y += s2;
10190
+ let n3 = new Float32Array(a2), r = (a2 - 1) / 2, t = 2 * f2 * f2, y = 0;
10191
+ for (let m3 = 0; m3 < a2; m3++) {
10192
+ let p3 = m3 - r, s = Math.exp(-(p3 * p3) / t);
10193
+ n3[m3] = s, y += s;
9826
10194
  }
9827
- for (let m2 = 0; m2 < a2; m2++) n2[m2] /= y;
9828
- return n2;
10195
+ for (let m3 = 0; m3 < a2; m3++) n3[m3] /= y;
10196
+ return n3;
9829
10197
  }
9830
- function q3(a2, f2, n2, r, t, y, m2) {
9831
- let p2 = Math.floor(m2 / 2);
9832
- for (let s2 = 0; s2 < t; s2++) {
9833
- let c2 = s2 * r;
10198
+ function q3(a2, f2, n3, r, t, y, m3) {
10199
+ let p3 = Math.floor(m3 / 2);
10200
+ for (let s = 0; s < t; s++) {
10201
+ let c3 = s * r;
9834
10202
  for (let e = 0; e < r; e++) {
9835
10203
  let u = 0;
9836
- for (let o2 = 0; o2 < m2; o2++) {
9837
- let l = e + o2 - p2;
9838
- l < 0 ? l = -l : l >= r && (l = 2 * r - l - 2), l = Math.max(0, Math.min(r - 1, l)), u += a2[c2 + l] * y[o2];
10204
+ for (let o2 = 0; o2 < m3; o2++) {
10205
+ let l2 = e + o2 - p3;
10206
+ l2 < 0 ? l2 = -l2 : l2 >= r && (l2 = 2 * r - l2 - 2), l2 = Math.max(0, Math.min(r - 1, l2)), u += a2[c3 + l2] * y[o2];
9839
10207
  }
9840
- n2[c2 + e] = u;
10208
+ n3[c3 + e] = u;
9841
10209
  }
9842
10210
  }
9843
- for (let s2 = 0; s2 < t; s2++) for (let c2 = 0; c2 < r; c2++) {
10211
+ for (let s = 0; s < t; s++) for (let c3 = 0; c3 < r; c3++) {
9844
10212
  let e = 0;
9845
- for (let u = 0; u < m2; u++) {
9846
- let o2 = s2 + u - p2;
9847
- o2 < 0 ? o2 = -o2 : o2 >= t && (o2 = 2 * t - o2 - 2), o2 = Math.max(0, Math.min(t - 1, o2)), e += n2[o2 * r + c2] * y[u];
10213
+ for (let u = 0; u < m3; u++) {
10214
+ let o2 = s + u - p3;
10215
+ o2 < 0 ? o2 = -o2 : o2 >= t && (o2 = 2 * t - o2 - 2), o2 = Math.max(0, Math.min(t - 1, o2)), e += n3[o2 * r + c3] * y[u];
9848
10216
  }
9849
- f2[s2 * r + c2] = e;
10217
+ f2[s * r + c3] = e;
9850
10218
  }
9851
10219
  }
9852
- function E2(a2, f2, n2, r) {
9853
- let t = new Float32Array([0.5, 0.5]), y = new Float32Array(n2 * r), m2 = new Float32Array(n2 * r), p2 = new Float32Array(n2 * r), s2 = new Float32Array(n2 * r);
9854
- q3(a2, y, p2, n2, r, t, 2), q3(f2, m2, s2, n2, r, t, 2);
9855
- let c2 = Math.floor(n2 / 2), e = Math.floor(r / 2), u = new Float32Array(c2 * e), o2 = new Float32Array(c2 * e);
9856
- for (let l = 0; l < e; l++) for (let A = 0; A < c2; A++) {
9857
- let x = l * 2 * n2 + A * 2, S3 = l * c2 + A;
9858
- u[S3] = y[x], o2[S3] = m2[x];
9859
- }
9860
- return { img1: u, img2: o2, width: c2, height: e };
10220
+ function E2(a2, f2, n3, r) {
10221
+ let t = new Float32Array([0.5, 0.5]), y = new Float32Array(n3 * r), m3 = new Float32Array(n3 * r), p3 = new Float32Array(n3 * r), s = new Float32Array(n3 * r);
10222
+ q3(a2, y, p3, n3, r, t, 2), q3(f2, m3, s, n3, r, t, 2);
10223
+ let c3 = Math.floor(n3 / 2), e = Math.floor(r / 2), u = new Float32Array(c3 * e), o2 = new Float32Array(c3 * e);
10224
+ for (let l2 = 0; l2 < e; l2++) for (let A = 0; A < c3; A++) {
10225
+ let x = l2 * 2 * n3 + A * 2, S3 = l2 * c3 + A;
10226
+ u[S3] = y[x], o2[S3] = m3[x];
10227
+ }
10228
+ return { img1: u, img2: o2, width: c3, height: e };
9861
10229
  }
9862
- function H2(a2, f2, n2, r, t, y) {
9863
- let m2 = t / n2, p2 = y / r;
9864
- for (let s2 = 0; s2 < y; s2++) for (let c2 = 0; c2 < t; c2++) {
9865
- let e = Math.min(Math.floor(c2 / m2), n2 - 1), u = Math.min(Math.floor(s2 / p2), r - 1), o2 = f2[u * n2 + e], l = Math.floor(Math.max(0, Math.min(1, o2)) * 255), A = (s2 * t + c2) * 4;
9866
- a2[A] = l, a2[A + 1] = l, a2[A + 2] = l, a2[A + 3] = 255;
10230
+ function H2(a2, f2, n3, r, t, y) {
10231
+ let m3 = t / n3, p3 = y / r;
10232
+ for (let s = 0; s < y; s++) for (let c3 = 0; c3 < t; c3++) {
10233
+ let e = Math.min(Math.floor(c3 / m3), n3 - 1), u = Math.min(Math.floor(s / p3), r - 1), o2 = f2[u * n3 + e], l2 = Math.floor(Math.max(0, Math.min(1, o2)) * 255), A = (s * t + c3) * 4;
10234
+ a2[A] = l2, a2[A + 1] = l2, a2[A + 2] = l2, a2[A + 3] = 255;
9867
10235
  }
9868
10236
  }
9869
10237
  var X, P3;
@@ -9890,7 +10258,7 @@ Arguments:
9890
10258
 
9891
10259
  Options:
9892
10260
  -o, --output <path> Output path for MS-SSIM map visualization
9893
- --transformer <name> Specify transformer to use (e.g. pngjs, sharp)
10261
+ --codec <name> Specify codec to use (pngjs, sharp, jsquash-png)
9894
10262
  -h, --help Show this help message
9895
10263
 
9896
10264
  Examples:
@@ -9913,21 +10281,21 @@ async function main5() {
9913
10281
  const image1 = args[0];
9914
10282
  const image2 = args[1];
9915
10283
  const options = {};
9916
- for (let i2 = 2; i2 < args.length; i2++) {
9917
- const arg = args[i2];
9918
- const nextArg = args[i2 + 1];
10284
+ for (let i3 = 2; i3 < args.length; i3++) {
10285
+ const arg = args[i3];
10286
+ const nextArg = args[i3 + 1];
9919
10287
  switch (arg) {
9920
10288
  case "-o":
9921
10289
  case "--output":
9922
10290
  if (nextArg) {
9923
10291
  options.outputPath = nextArg;
9924
- i2++;
10292
+ i3++;
9925
10293
  }
9926
10294
  break;
9927
- case "--transformer":
10295
+ case "--codec":
9928
10296
  if (nextArg) {
9929
- options.transformer = nextArg;
9930
- i2++;
10297
+ options.codec = nextArg;
10298
+ i3++;
9931
10299
  }
9932
10300
  break;
9933
10301
  default:
@@ -9936,10 +10304,10 @@ async function main5() {
9936
10304
  process.exit(1);
9937
10305
  }
9938
10306
  }
9939
- const transformer = await getTransformer4(options.transformer);
10307
+ const codec = await getCodec4(options.codec);
9940
10308
  const [img1, img2] = await Promise.all([
9941
- transformer.read(image1),
9942
- transformer.read(image2)
10309
+ codec.read(image1),
10310
+ codec.read(image2)
9943
10311
  ]);
9944
10312
  if (img1.width !== img2.width || img1.height !== img2.height) {
9945
10313
  throw new Error(
@@ -9961,7 +10329,7 @@ async function main5() {
9961
10329
  );
9962
10330
  const duration = performance.now() - startTime;
9963
10331
  if (options.outputPath && outputData) {
9964
- await transformer.write(
10332
+ await codec.write(
9965
10333
  {
9966
10334
  data: outputData,
9967
10335
  width: img1.width,
@@ -9999,21 +10367,25 @@ async function main5() {
9999
10367
  process.exit(1);
10000
10368
  }
10001
10369
  }
10002
- var getTransformer4;
10370
+ var getCodec4;
10003
10371
  var init_msssim2 = __esm({
10004
10372
  "src/commands/msssim.ts"() {
10005
10373
  "use strict";
10006
10374
  init_msssim();
10007
- getTransformer4 = async (transformer) => {
10008
- if (!transformer || transformer === "pngjs") {
10009
- const { default: transformer2 } = await Promise.resolve().then(() => (init_dist2(), dist_exports));
10010
- return transformer2;
10375
+ getCodec4 = async (codec) => {
10376
+ if (!codec || codec === "pngjs") {
10377
+ const { default: c3 } = await Promise.resolve().then(() => (init_dist2(), dist_exports));
10378
+ return c3;
10379
+ }
10380
+ if (codec === "sharp") {
10381
+ const { default: c3 } = await Promise.resolve().then(() => (init_dist3(), dist_exports2));
10382
+ return c3;
10011
10383
  }
10012
- if (transformer === "sharp") {
10013
- const { default: transformer2 } = await Promise.resolve().then(() => (init_dist3(), dist_exports2));
10014
- return transformer2;
10384
+ if (codec === "jsquash-png") {
10385
+ const { default: c3 } = await Promise.resolve().then(() => (init_dist4(), dist_exports3));
10386
+ return c3;
10015
10387
  }
10016
- throw new Error(`Unknown transformer: ${transformer}`);
10388
+ throw new Error(`Unknown codec: ${codec}`);
10017
10389
  };
10018
10390
  if (typeof require !== "undefined" && require.main === module) {
10019
10391
  main5();
@@ -10022,62 +10394,62 @@ var init_msssim2 = __esm({
10022
10394
  });
10023
10395
 
10024
10396
  // ../ssim/dist/hitchhikers-ssim.mjs
10025
- function p(o2, a2, c2) {
10026
- let n2 = new Float32Array(a2 * c2), r = 0;
10027
- for (let s2 = 0; s2 < o2.length; s2 += 4) {
10028
- let t = o2[s2], e = o2[s2 + 1], u = o2[s2 + 2];
10029
- n2[r++] = 0.298936 * t + 0.587043 * e + 0.114021 * u;
10397
+ function p2(o2, a2, c3) {
10398
+ let n3 = new Float32Array(a2 * c3), r = 0;
10399
+ for (let s = 0; s < o2.length; s += 4) {
10400
+ let t = o2[s], e = o2[s + 1], u = o2[s + 2];
10401
+ n3[r++] = 0.298936 * t + 0.587043 * e + 0.114021 * u;
10030
10402
  }
10031
- return n2;
10403
+ return n3;
10032
10404
  }
10033
- function h(o2, a2, c2, n2, r, s2 = {}) {
10034
- let { windowSize: t = 11, windowStride: e = t, k1: u = 0.01, k2: i2 = 0.03, L: d2 = 255, covPooling: v = true } = s2, g2 = p(o2, n2, r), A = p(a2, n2, r), y = (u * d2) ** 2, O2 = (i2 * d2) ** 2, Y = F(g2, n2, r), z2 = F(A, n2, r), P4 = new Float32Array(n2 * r), G = new Float32Array(n2 * r), H3 = new Float32Array(n2 * r);
10035
- for (let l = 0; l < g2.length; l++) {
10036
- let m2 = g2[l], f2 = A[l];
10037
- P4[l] = m2 * m2, G[l] = f2 * f2, H3[l] = m2 * f2;
10038
- }
10039
- let D3 = F(P4, n2, r), V3 = F(G, n2, r), j3 = F(H3, n2, r), M = Math.floor((n2 - t) / e) + 1, I2 = Math.floor((r - t) / e) + 1, S3 = new Float32Array(M * I2), x = t * t, E3 = 0;
10040
- for (let l = 0; l < I2; l++) {
10041
- let m2 = l * e, f2 = m2 + t;
10405
+ function h3(o2, a2, c3, n3, r, s = {}) {
10406
+ let { windowSize: t = 11, windowStride: e = t, k1: u = 0.01, k2: i3 = 0.03, L: d2 = 255, covPooling: v = true } = s, g2 = p2(o2, n3, r), A = p2(a2, n3, r), y = (u * d2) ** 2, O2 = (i3 * d2) ** 2, Y = F(g2, n3, r), z2 = F(A, n3, r), P4 = new Float32Array(n3 * r), G = new Float32Array(n3 * r), H3 = new Float32Array(n3 * r);
10407
+ for (let l2 = 0; l2 < g2.length; l2++) {
10408
+ let m3 = g2[l2], f2 = A[l2];
10409
+ P4[l2] = m3 * m3, G[l2] = f2 * f2, H3[l2] = m3 * f2;
10410
+ }
10411
+ let D3 = F(P4, n3, r), V3 = F(G, n3, r), j3 = F(H3, n3, r), M = Math.floor((n3 - t) / e) + 1, I2 = Math.floor((r - t) / e) + 1, S3 = new Float32Array(M * I2), x = t * t, E3 = 0;
10412
+ for (let l2 = 0; l2 < I2; l2++) {
10413
+ let m3 = l2 * e, f2 = m3 + t;
10042
10414
  for (let k = 0; k < M; k++) {
10043
- let b = k * e, q4 = b + t, J = U2(Y, b, m2, q4, f2, n2), K2 = U2(z2, b, m2, q4, f2, n2), N3 = U2(D3, b, m2, q4, f2, n2), Q2 = U2(V3, b, m2, q4, f2, n2), R = U2(j3, b, m2, q4, f2, n2), C3 = J / x, B = K2 / x, L3 = C3 * C3, T = B * B, X2 = C3 * B, W2 = N3 / x - L3, Z2 = Q2 / x - T, _2 = R / x - X2, $ = (2 * X2 + y) * (2 * _2 + O2), w = (L3 + T + y) * (W2 + Z2 + O2);
10415
+ let b = k * e, q4 = b + t, J = U2(Y, b, m3, q4, f2, n3), K2 = U2(z2, b, m3, q4, f2, n3), N3 = U2(D3, b, m3, q4, f2, n3), Q2 = U2(V3, b, m3, q4, f2, n3), R = U2(j3, b, m3, q4, f2, n3), C3 = J / x, B = K2 / x, L3 = C3 * C3, T = B * B, X2 = C3 * B, W2 = N3 / x - L3, Z2 = Q2 / x - T, _2 = R / x - X2, $ = (2 * X2 + y) * (2 * _2 + O2), w = (L3 + T + y) * (W2 + Z2 + O2);
10044
10416
  S3[E3++] = $ / w;
10045
10417
  }
10046
10418
  }
10047
- if (c2 && on2(c2, S3, M, I2, n2, r), v) return nn2(S3);
10419
+ if (c3 && on2(c3, S3, M, I2, n3, r), v) return nn2(S3);
10048
10420
  {
10049
- let l = 0;
10050
- for (let m2 = 0; m2 < S3.length; m2++) l += S3[m2];
10051
- return l / S3.length;
10421
+ let l2 = 0;
10422
+ for (let m3 = 0; m3 < S3.length; m3++) l2 += S3[m3];
10423
+ return l2 / S3.length;
10052
10424
  }
10053
10425
  }
10054
- function F(o2, a2, c2) {
10055
- let n2 = a2 + 1, r = c2 + 1, s2 = new Float64Array(n2 * r);
10056
- for (let t = 1; t <= c2; t++) for (let e = 1; e <= a2; e++) {
10057
- let u = (t - 1) * a2 + (e - 1), i2 = t * n2 + e;
10058
- s2[i2] = o2[u] + s2[(t - 1) * n2 + e] + s2[t * n2 + (e - 1)] - s2[(t - 1) * n2 + (e - 1)];
10426
+ function F(o2, a2, c3) {
10427
+ let n3 = a2 + 1, r = c3 + 1, s = new Float64Array(n3 * r);
10428
+ for (let t = 1; t <= c3; t++) for (let e = 1; e <= a2; e++) {
10429
+ let u = (t - 1) * a2 + (e - 1), i3 = t * n3 + e;
10430
+ s[i3] = o2[u] + s[(t - 1) * n3 + e] + s[t * n3 + (e - 1)] - s[(t - 1) * n3 + (e - 1)];
10059
10431
  }
10060
- return s2;
10432
+ return s;
10061
10433
  }
10062
- function U2(o2, a2, c2, n2, r, s2) {
10063
- let t = s2 + 1;
10064
- return o2[r * t + n2] - o2[c2 * t + n2] - o2[r * t + a2] + o2[c2 * t + a2];
10434
+ function U2(o2, a2, c3, n3, r, s) {
10435
+ let t = s + 1;
10436
+ return o2[r * t + n3] - o2[c3 * t + n3] - o2[r * t + a2] + o2[c3 * t + a2];
10065
10437
  }
10066
10438
  function nn2(o2) {
10067
10439
  let a2 = 0;
10068
10440
  for (let e = 0; e < o2.length; e++) a2 += o2[e];
10069
- let c2 = a2 / o2.length, n2 = 0;
10441
+ let c3 = a2 / o2.length, n3 = 0;
10070
10442
  for (let e = 0; e < o2.length; e++) {
10071
- let u = o2[e] - c2;
10072
- n2 += u * u;
10443
+ let u = o2[e] - c3;
10444
+ n3 += u * u;
10073
10445
  }
10074
- let r = n2 / o2.length, s2 = Math.sqrt(r);
10075
- return 1 - (c2 > 0 ? s2 / c2 : 0);
10446
+ let r = n3 / o2.length, s = Math.sqrt(r);
10447
+ return 1 - (c3 > 0 ? s / c3 : 0);
10076
10448
  }
10077
- function on2(o2, a2, c2, n2, r, s2) {
10078
- let t = r / c2, e = s2 / n2;
10079
- for (let u = 0; u < s2; u++) for (let i2 = 0; i2 < r; i2++) {
10080
- let d2 = Math.min(Math.floor(i2 / t), c2 - 1), v = Math.min(Math.floor(u / e), n2 - 1), g2 = a2[v * c2 + d2], A = Math.floor(Math.max(0, Math.min(1, g2)) * 255), y = (u * r + i2) * 4;
10449
+ function on2(o2, a2, c3, n3, r, s) {
10450
+ let t = r / c3, e = s / n3;
10451
+ for (let u = 0; u < s; u++) for (let i3 = 0; i3 < r; i3++) {
10452
+ let d2 = Math.min(Math.floor(i3 / t), c3 - 1), v = Math.min(Math.floor(u / e), n3 - 1), g2 = a2[v * c3 + d2], A = Math.floor(Math.max(0, Math.min(1, g2)) * 255), y = (u * r + i3) * 4;
10081
10453
  o2[y] = A, o2[y + 1] = A, o2[y + 2] = A, o2[y + 3] = 255;
10082
10454
  }
10083
10455
  }
@@ -10085,7 +10457,7 @@ var en;
10085
10457
  var init_hitchhikers_ssim = __esm({
10086
10458
  "../ssim/dist/hitchhikers-ssim.mjs"() {
10087
10459
  "use strict";
10088
- en = h;
10460
+ en = h3;
10089
10461
  }
10090
10462
  });
10091
10463
 
@@ -10104,7 +10476,7 @@ Arguments:
10104
10476
 
10105
10477
  Options:
10106
10478
  -o, --output <path> Output path for SSIM map visualization
10107
- --transformer <name> Specify transformer to use (e.g. pngjs, sharp)
10479
+ --codec <name> Specify codec to use (pngjs, sharp, jsquash-png)
10108
10480
  --window-size <size> Window size (default: 11)
10109
10481
  --window-stride <size> Window stride (default: windowSize for non-overlapping)
10110
10482
  --no-cov-pooling Use mean pooling instead of CoV pooling
@@ -10143,21 +10515,21 @@ async function main6() {
10143
10515
  const options = {
10144
10516
  covPooling: true
10145
10517
  };
10146
- for (let i2 = 2; i2 < args.length; i2++) {
10147
- const arg = args[i2];
10148
- const nextArg = args[i2 + 1];
10518
+ for (let i3 = 2; i3 < args.length; i3++) {
10519
+ const arg = args[i3];
10520
+ const nextArg = args[i3 + 1];
10149
10521
  switch (arg) {
10150
10522
  case "-o":
10151
10523
  case "--output":
10152
10524
  if (nextArg) {
10153
10525
  options.outputPath = nextArg;
10154
- i2++;
10526
+ i3++;
10155
10527
  }
10156
10528
  break;
10157
- case "--transformer":
10529
+ case "--codec":
10158
10530
  if (nextArg) {
10159
- options.transformer = nextArg;
10160
- i2++;
10531
+ options.codec = nextArg;
10532
+ i3++;
10161
10533
  }
10162
10534
  break;
10163
10535
  case "--window-size":
@@ -10167,7 +10539,7 @@ async function main6() {
10167
10539
  throw new Error(`Invalid window size: ${nextArg}`);
10168
10540
  }
10169
10541
  options.windowSize = size;
10170
- i2++;
10542
+ i3++;
10171
10543
  }
10172
10544
  break;
10173
10545
  case "--window-stride":
@@ -10177,7 +10549,7 @@ async function main6() {
10177
10549
  throw new Error(`Invalid window stride: ${nextArg}`);
10178
10550
  }
10179
10551
  options.windowStride = stride;
10180
- i2++;
10552
+ i3++;
10181
10553
  }
10182
10554
  break;
10183
10555
  case "--no-cov-pooling":
@@ -10189,12 +10561,10 @@ async function main6() {
10189
10561
  process.exit(1);
10190
10562
  }
10191
10563
  }
10192
- const transformer = await getTransformer5(
10193
- options.transformer
10194
- );
10564
+ const codec = await getCodec5(options.codec);
10195
10565
  const [img1, img2] = await Promise.all([
10196
- transformer.read(image1),
10197
- transformer.read(image2)
10566
+ codec.read(image1),
10567
+ codec.read(image2)
10198
10568
  ]);
10199
10569
  if (img1.width !== img2.width || img1.height !== img2.height) {
10200
10570
  throw new Error(
@@ -10226,7 +10596,7 @@ async function main6() {
10226
10596
  );
10227
10597
  const duration = performance.now() - startTime;
10228
10598
  if (options.outputPath && outputData) {
10229
- await transformer.write(
10599
+ await codec.write(
10230
10600
  {
10231
10601
  data: outputData,
10232
10602
  width: img1.width,
@@ -10271,21 +10641,25 @@ async function main6() {
10271
10641
  process.exit(1);
10272
10642
  }
10273
10643
  }
10274
- var getTransformer5;
10644
+ var getCodec5;
10275
10645
  var init_hitchhikers_ssim2 = __esm({
10276
10646
  "src/commands/hitchhikers-ssim.ts"() {
10277
10647
  "use strict";
10278
10648
  init_hitchhikers_ssim();
10279
- getTransformer5 = async (transformer) => {
10280
- if (!transformer || transformer === "pngjs") {
10281
- const { default: transformer2 } = await Promise.resolve().then(() => (init_dist2(), dist_exports));
10282
- return transformer2;
10649
+ getCodec5 = async (codec) => {
10650
+ if (!codec || codec === "pngjs") {
10651
+ const { default: c3 } = await Promise.resolve().then(() => (init_dist2(), dist_exports));
10652
+ return c3;
10653
+ }
10654
+ if (codec === "sharp") {
10655
+ const { default: c3 } = await Promise.resolve().then(() => (init_dist3(), dist_exports2));
10656
+ return c3;
10283
10657
  }
10284
- if (transformer === "sharp") {
10285
- const { default: transformer2 } = await Promise.resolve().then(() => (init_dist3(), dist_exports2));
10286
- return transformer2;
10658
+ if (codec === "jsquash-png") {
10659
+ const { default: c3 } = await Promise.resolve().then(() => (init_dist4(), dist_exports3));
10660
+ return c3;
10287
10661
  }
10288
- throw new Error(`Unknown transformer: ${transformer}`);
10662
+ throw new Error(`Unknown codec: ${codec}`);
10289
10663
  };
10290
10664
  if (typeof require !== "undefined" && require.main === module) {
10291
10665
  main6();