document-model 1.0.34 → 1.0.36

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.
Files changed (47) hide show
  1. package/dist/browser/document-model.cjs +1 -1
  2. package/dist/browser/document-model.js +13 -8
  3. package/dist/browser/document.cjs +1 -1
  4. package/dist/browser/document.js +2 -2
  5. package/dist/browser/index.cjs +1 -1
  6. package/dist/browser/index.js +3 -3
  7. package/dist/browser/internal/{index-CDGYwLIP.js → index-4Z_H8F_J.js} +572 -405
  8. package/dist/browser/internal/index-6u2yDIEF.js +22 -0
  9. package/dist/browser/internal/index-DQeD1Q-a.js +42 -0
  10. package/dist/browser/internal/index-QJX_Fa1V.js +1 -0
  11. package/dist/browser/internal/object-EriwiDIs.js +7 -0
  12. package/dist/browser/internal/{object-B-Aw8ilC.js → object-Fq6PThAX.js} +301 -263
  13. package/dist/browser/src/document/reducer.d.ts +2 -2
  14. package/dist/browser/src/document/utils/base.d.ts +1 -0
  15. package/dist/browser/src/document-model/custom/utils.d.ts +7 -1
  16. package/dist/browser/src/document-model/index.d.ts +5 -0
  17. package/dist/browser/test/document/event-vs-command.test.d.ts +1 -0
  18. package/dist/browser/test/document-model/validation.test.d.ts +1 -0
  19. package/dist/browser/test/helpers.d.ts +5 -3
  20. package/dist/node/document-model.cjs +1 -1
  21. package/dist/node/document-model.js +12 -7
  22. package/dist/node/document.cjs +1 -1
  23. package/dist/node/document.js +2 -2
  24. package/dist/node/index.cjs +1 -1
  25. package/dist/node/index.js +3 -3
  26. package/dist/node/internal/{index-CEkeEja8.js → index-A6Rqm2SZ.js} +572 -405
  27. package/dist/node/internal/index-BpBnSlTZ.js +22 -0
  28. package/dist/node/internal/index-Dl5T5qdc.js +42 -0
  29. package/dist/node/internal/index-DyCS1h0M.js +1 -0
  30. package/dist/node/internal/{object-CvntAblp.js → object-S6TngMa9.js} +324 -286
  31. package/dist/node/internal/object-ifvac9k2.js +2 -0
  32. package/dist/node/src/document/reducer.d.ts +2 -2
  33. package/dist/node/src/document/utils/base.d.ts +1 -0
  34. package/dist/node/src/document-model/custom/utils.d.ts +7 -1
  35. package/dist/node/src/document-model/index.d.ts +5 -0
  36. package/dist/node/test/document/event-vs-command.test.d.ts +1 -0
  37. package/dist/node/test/document-model/validation.test.d.ts +1 -0
  38. package/dist/node/test/helpers.d.ts +5 -3
  39. package/package.json +2 -1
  40. package/dist/browser/internal/index-368Qgjhp.js +0 -22
  41. package/dist/browser/internal/index-A_QX9cy_.js +0 -41
  42. package/dist/browser/internal/index-CZWjb-hc.js +0 -1
  43. package/dist/browser/internal/object-C8B-mq5Y.js +0 -7
  44. package/dist/node/internal/index-D_eCXEyL.js +0 -41
  45. package/dist/node/internal/index-DjP2tO7C.js +0 -1
  46. package/dist/node/internal/index-qa67kbhM.js +0 -22
  47. package/dist/node/internal/object-B5Lf9AWl.js +0 -2
@@ -15,9 +15,9 @@ function De() {
15
15
  function H() {
16
16
  return w.literal("global").or(w.literal("local"));
17
17
  }
18
- function Pt() {
18
+ function $t() {
19
19
  return w.union([
20
- qt(),
20
+ Pt(),
21
21
  Wt(),
22
22
  Jt(),
23
23
  Ht(),
@@ -33,7 +33,7 @@ function Me() {
33
33
  mimeType: w.string()
34
34
  });
35
35
  }
36
- function qt() {
36
+ function Pt() {
37
37
  return w.object({
38
38
  input: w.lazy(() => ut()),
39
39
  type: Nt,
@@ -43,10 +43,10 @@ function qt() {
43
43
  function ut() {
44
44
  return w.object({
45
45
  operations: w.number(),
46
- state: w.lazy(() => $t())
46
+ state: w.lazy(() => qt())
47
47
  });
48
48
  }
49
- function $t() {
49
+ function qt() {
50
50
  return w.object({
51
51
  data: w.unknown().nullish(),
52
52
  name: w.string()
@@ -108,14 +108,14 @@ function Zt() {
108
108
  scope: H()
109
109
  });
110
110
  }
111
- const Li = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
111
+ const zi = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
112
112
  __proto__: null,
113
113
  ActionSchema: De,
114
- BaseActionSchema: Pt,
114
+ BaseActionSchema: $t,
115
115
  DocumentFileSchema: Me,
116
116
  LoadStateActionInputSchema: ut,
117
- LoadStateActionSchema: qt,
118
- LoadStateActionStateInputSchema: $t,
117
+ LoadStateActionSchema: Pt,
118
+ LoadStateActionStateInputSchema: qt,
119
119
  Load_StateSchema: Nt,
120
120
  OperationSchema: Ne,
121
121
  OperationScopeSchema: H,
@@ -142,14 +142,14 @@ function Le(n, r, p) {
142
142
  const c = {
143
143
  skip: p,
144
144
  document: n
145
- }, { scope: u } = r;
146
- return !u || r.skip === void 0 ? c : J(c, (f) => {
147
- const [l] = f.document.operations[u].slice(-1);
148
- r.skip && r.skip > 0 && (f.skip = r.skip), l.type === "NOOP" && r.index === l.index && f.skip > l.skip && f.document.operations[u].pop();
145
+ }, { scope: f } = r;
146
+ return !f || r.skip === void 0 ? c : J(c, (u) => {
147
+ const [l] = u.document.operations[f].slice(-1);
148
+ r.skip && r.skip > 0 && (u.skip = r.skip), l.type === "NOOP" && r.index === l.index && u.skip > l.skip && u.document.operations[f].pop();
149
149
  });
150
150
  }
151
151
  function ze(n, r, p) {
152
- const { scope: c, input: u } = r;
152
+ const { scope: c, input: f } = r;
153
153
  return J({
154
154
  document: n,
155
155
  action: r,
@@ -159,7 +159,7 @@ function ze(n, r, p) {
159
159
  throw new Error(
160
160
  `Cannot undo: no operations in history for scope "${c}"`
161
161
  );
162
- if (u < 1)
162
+ if (f < 1)
163
163
  throw new Error(
164
164
  "Invalid UNDO action: input value must be greater than 0"
165
165
  );
@@ -168,21 +168,30 @@ function ze(n, r, p) {
168
168
  "Cannot undo: skip value from reducer cannot be used with UNDO action"
169
169
  );
170
170
  const [a] = l.document.operations[c].slice(-1), x = a.type === "NOOP" && a.skip > 0;
171
- if (l.skip += u, x && (l.skip += a.skip, l.document.operations[c].pop()), l.document.operations[c].length < l.skip)
171
+ if (l.skip += f, x) {
172
+ l.skip += a.skip;
173
+ const y = l.document.operations[c][l.document.operations[c].length - 2];
174
+ y && a.index - y.index === 1 && l.document.operations[c].pop();
175
+ }
176
+ if (l.document.operations[c].length < l.skip)
172
177
  throw new Error(
173
178
  "Cannot undo: you can't undo more operations than the ones in the scope history"
174
179
  );
175
180
  const d = l.document.operations[c].length - 1;
176
- let v = u, g = x ? d - a.skip : d;
181
+ let v = f, g = x ? d - a.skip : d;
177
182
  for (; v > 0 && g >= 0; ) {
178
183
  const y = l.document.operations[c][g];
184
+ if (!y) {
185
+ v--, g--;
186
+ continue;
187
+ }
179
188
  y.type === "NOOP" && y.skip > 0 ? (g = g - (y.skip + 1), l.skip += y.skip + 1) : (l.document.clipboard.push({ ...y }), v--, g--);
180
189
  }
181
190
  l.action = yt(c);
182
191
  });
183
192
  }
184
- function Pe(n, r, p) {
185
- const { scope: c, input: u } = r;
193
+ function $e(n, r, p) {
194
+ const { scope: c, input: f } = r;
186
195
  return J({
187
196
  document: n,
188
197
  action: r,
@@ -192,11 +201,11 @@ function Pe(n, r, p) {
192
201
  throw new Error(
193
202
  "Cannot redo: skip value from reducer cannot be used with REDO action"
194
203
  );
195
- if (u > 1)
204
+ if (f > 1)
196
205
  throw new Error(
197
206
  "Cannot redo: you can only redo one operation at a time"
198
207
  );
199
- if (u < 1)
208
+ if (f < 1)
200
209
  throw new Error("Invalid REDO action: invalid redo input value");
201
210
  if (l.document.clipboard.length < 1)
202
211
  throw new Error("Cannot redo: no operations in the clipboard");
@@ -215,13 +224,13 @@ function Pe(n, r, p) {
215
224
  });
216
225
  });
217
226
  }
218
- function qe(n, r, p) {
219
- const { scope: c } = r, u = n.operations[c];
227
+ function Pe(n, r, p) {
228
+ const { scope: c } = r, f = n.operations[c];
220
229
  let {
221
- input: { start: f, end: l }
230
+ input: { start: u, end: l }
222
231
  } = r;
223
- f = f || 0, l = l || u.length;
224
- const a = u.slice(f, l), x = u.slice(0, f), d = u.slice(l), v = lt(
232
+ u = u || 0, l = l || f.length;
233
+ const a = f.slice(u, l), x = f.slice(0, u), d = f.slice(l), v = lt(
225
234
  n.initialState,
226
235
  {
227
236
  ...n.operations,
@@ -253,17 +262,17 @@ function qe(n, r, p) {
253
262
  p
254
263
  );
255
264
  }
256
- function $e(n, r) {
265
+ function qe(n, r) {
257
266
  return {
258
267
  ...n,
259
268
  name: r.name,
260
269
  state: r.state ?? { global: {}, local: {} }
261
270
  };
262
271
  }
263
- const Yt = "SET_NAME", z = "UNDO", P = "REDO", Z = "PRUNE", Gt = "LOAD_STATE", We = "NOOP";
272
+ const Yt = "SET_NAME", z = "UNDO", $ = "REDO", Z = "PRUNE", Gt = "LOAD_STATE", We = "NOOP";
264
273
  function Je(n, r) {
265
274
  const p = n.revision[r.scope];
266
- return [z, P, Z].includes(r.type) ? p : p + 1;
275
+ return [z, $, Z].includes(r.type) ? p : p + 1;
267
276
  }
268
277
  function He(n, r) {
269
278
  return {
@@ -276,22 +285,30 @@ function He(n, r) {
276
285
  };
277
286
  }
278
287
  function Ze(n, r, p = 0) {
279
- if ([z, P, Z].includes(r.type))
288
+ if ([z, $, Z].includes(r.type))
280
289
  return n;
281
- const { scope: c } = r, u = n.operations[c].slice(
290
+ const { scope: c } = r, f = n.operations[c].slice(
282
291
  0,
283
292
  n.revision[c]
284
- );
285
- return u.push({
293
+ ), u = [...f].pop();
294
+ let l = ((u == null ? void 0 : u.index) ?? -1) + 1;
295
+ if ("index" in r) {
296
+ if (r.index > l + p)
297
+ throw new Error(
298
+ `Missing operations: expected ${l} with skip 0 or equivalent, got index ${r.index} with skip ${p}`
299
+ );
300
+ l = r.index;
301
+ }
302
+ return f.push({
286
303
  ...r,
287
- index: u.length,
304
+ index: l,
288
305
  timestamp: (/* @__PURE__ */ new Date()).toISOString(),
289
306
  hash: "",
290
307
  scope: c,
291
308
  skip: p
292
309
  }), {
293
310
  ...n,
294
- operations: { ...n.operations, [c]: u }
311
+ operations: { ...n.operations, [c]: f }
295
312
  };
296
313
  }
297
314
  function Ye(n, r, p = 0) {
@@ -299,13 +316,13 @@ function Ye(n, r, p = 0) {
299
316
  return c = He(c, r), c;
300
317
  }
301
318
  function Ge(n, r, p) {
302
- switch (Pt().parse(r), r.type) {
319
+ switch ($t().parse(r), r.type) {
303
320
  case Yt:
304
321
  return Ce(n, r.input);
305
322
  case Z:
306
- return qe(n, r, p);
323
+ return Pe(n, r, p);
307
324
  case Gt:
308
- return $e(n, r.input.state);
325
+ return qe(n, r.input.state);
309
326
  default:
310
327
  return n;
311
328
  }
@@ -314,15 +331,15 @@ function Ke(n, r, p) {
314
331
  switch (r.type) {
315
332
  case z:
316
333
  return ze(n, r, p);
317
- case P:
318
- return Pe(n, r, p);
334
+ case $:
335
+ return $e(n, r, p);
319
336
  default:
320
337
  return { document: n, action: r, skip: p };
321
338
  }
322
339
  }
323
- function Kt(n, r, p, c, u = {}) {
324
- const { skip: f, ignoreSkipOperations: l = !1 } = u;
325
- let a = { ...r }, x = f || 0, d = n, v = [...n.clipboard];
340
+ function Kt(n, r, p, c, f = {}) {
341
+ const { skip: u, ignoreSkipOperations: l = !1 } = f;
342
+ let a = { ...r }, x = u || 0, d = n, v = [...n.clipboard];
326
343
  if (Ei(a)) {
327
344
  const { document: g, skip: y } = Le(d, a, x);
328
345
  x = y, d = g;
@@ -335,15 +352,23 @@ function Kt(n, r, p, c, u = {}) {
335
352
  } = Ke(n, a, x);
336
353
  a = y, x = g, d = b, v = [...d.clipboard];
337
354
  }
338
- return Ut(a) && (d = Ge(d, a, p)), x > 0 && !l && (d = lt(
339
- d.initialState,
340
- d.operations,
341
- p,
342
- void 0,
343
- void 0,
344
- void 0,
345
- { [a.scope]: x }
346
- )), d = Ye(d, a, x), d = J(d, (g) => {
355
+ if (Ut(a) && (d = Ge(d, a, p)), x > 0 && !l) {
356
+ let g = x;
357
+ "index" in a && (g = Si(
358
+ d.operations[a.scope],
359
+ a.index,
360
+ x
361
+ )), d = lt(
362
+ d.initialState,
363
+ d.operations,
364
+ p,
365
+ void 0,
366
+ void 0,
367
+ void 0,
368
+ { [a.scope]: g }
369
+ );
370
+ }
371
+ return d = Ye(d, a, x), d = J(d, (g) => {
347
372
  const y = p(
348
373
  g.state,
349
374
  a,
@@ -357,7 +382,7 @@ function Kt(n, r, p, c, u = {}) {
357
382
  });
358
383
  g.clipboard = at([...b]);
359
384
  }), J(d, (g) => {
360
- if ([z, P, Z].includes(a.type))
385
+ if ([z, $, Z].includes(a.type))
361
386
  return g;
362
387
  const y = a.scope || "global";
363
388
  g.operations[y][g.operations[y].length - 1].hash = re(g, y), !Ut(a) && a.attachments && a.attachments.forEach((b) => {
@@ -415,50 +440,50 @@ function ii(n, r, p) {
415
440
  return (r + p) * 3 / 4 - p;
416
441
  }
417
442
  function ri(n) {
418
- var r, p = Xt(n), c = p[0], u = p[1], f = new Qe(ii(n, c, u)), l = 0, a = u > 0 ? c - 4 : c, x;
443
+ var r, p = Xt(n), c = p[0], f = p[1], u = new Qe(ii(n, c, f)), l = 0, a = f > 0 ? c - 4 : c, x;
419
444
  for (x = 0; x < a; x += 4)
420
- r = O[n.charCodeAt(x)] << 18 | O[n.charCodeAt(x + 1)] << 12 | O[n.charCodeAt(x + 2)] << 6 | O[n.charCodeAt(x + 3)], f[l++] = r >> 16 & 255, f[l++] = r >> 8 & 255, f[l++] = r & 255;
421
- return u === 2 && (r = O[n.charCodeAt(x)] << 2 | O[n.charCodeAt(x + 1)] >> 4, f[l++] = r & 255), u === 1 && (r = O[n.charCodeAt(x)] << 10 | O[n.charCodeAt(x + 1)] << 4 | O[n.charCodeAt(x + 2)] >> 2, f[l++] = r >> 8 & 255, f[l++] = r & 255), f;
445
+ r = O[n.charCodeAt(x)] << 18 | O[n.charCodeAt(x + 1)] << 12 | O[n.charCodeAt(x + 2)] << 6 | O[n.charCodeAt(x + 3)], u[l++] = r >> 16 & 255, u[l++] = r >> 8 & 255, u[l++] = r & 255;
446
+ return f === 2 && (r = O[n.charCodeAt(x)] << 2 | O[n.charCodeAt(x + 1)] >> 4, u[l++] = r & 255), f === 1 && (r = O[n.charCodeAt(x)] << 10 | O[n.charCodeAt(x + 1)] << 4 | O[n.charCodeAt(x + 2)] >> 2, u[l++] = r >> 8 & 255, u[l++] = r & 255), u;
422
447
  }
423
448
  function ni(n) {
424
449
  return D[n >> 18 & 63] + D[n >> 12 & 63] + D[n >> 6 & 63] + D[n & 63];
425
450
  }
426
451
  function oi(n, r, p) {
427
- for (var c, u = [], f = r; f < p; f += 3)
428
- c = (n[f] << 16 & 16711680) + (n[f + 1] << 8 & 65280) + (n[f + 2] & 255), u.push(ni(c));
429
- return u.join("");
452
+ for (var c, f = [], u = r; u < p; u += 3)
453
+ c = (n[u] << 16 & 16711680) + (n[u + 1] << 8 & 65280) + (n[u + 2] & 255), f.push(ni(c));
454
+ return f.join("");
430
455
  }
431
456
  function ai(n) {
432
- for (var r, p = n.length, c = p % 3, u = [], f = 16383, l = 0, a = p - c; l < a; l += f)
433
- u.push(oi(n, l, l + f > a ? a : l + f));
434
- return c === 1 ? (r = n[p - 1], u.push(
457
+ for (var r, p = n.length, c = p % 3, f = [], u = 16383, l = 0, a = p - c; l < a; l += u)
458
+ f.push(oi(n, l, l + u > a ? a : l + u));
459
+ return c === 1 ? (r = n[p - 1], f.push(
435
460
  D[r >> 2] + D[r << 4 & 63] + "=="
436
- )) : c === 2 && (r = (n[p - 2] << 8) + n[p - 1], u.push(
461
+ )) : c === 2 && (r = (n[p - 2] << 8) + n[p - 1], f.push(
437
462
  D[r >> 10] + D[r >> 4 & 63] + D[r << 2 & 63] + "="
438
- )), u.join("");
463
+ )), f.join("");
439
464
  }
440
465
  var dt = {};
441
466
  /*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
442
- dt.read = function(n, r, p, c, u) {
443
- var f, l, a = u * 8 - c - 1, x = (1 << a) - 1, d = x >> 1, v = -7, g = p ? u - 1 : 0, y = p ? -1 : 1, b = n[r + g];
444
- for (g += y, f = b & (1 << -v) - 1, b >>= -v, v += a; v > 0; f = f * 256 + n[r + g], g += y, v -= 8)
467
+ dt.read = function(n, r, p, c, f) {
468
+ var u, l, a = f * 8 - c - 1, x = (1 << a) - 1, d = x >> 1, v = -7, g = p ? f - 1 : 0, y = p ? -1 : 1, b = n[r + g];
469
+ for (g += y, u = b & (1 << -v) - 1, b >>= -v, v += a; v > 0; u = u * 256 + n[r + g], g += y, v -= 8)
445
470
  ;
446
- for (l = f & (1 << -v) - 1, f >>= -v, v += c; v > 0; l = l * 256 + n[r + g], g += y, v -= 8)
471
+ for (l = u & (1 << -v) - 1, u >>= -v, v += c; v > 0; l = l * 256 + n[r + g], g += y, v -= 8)
447
472
  ;
448
- if (f === 0)
449
- f = 1 - d;
473
+ if (u === 0)
474
+ u = 1 - d;
450
475
  else {
451
- if (f === x)
476
+ if (u === x)
452
477
  return l ? NaN : (b ? -1 : 1) * (1 / 0);
453
- l = l + Math.pow(2, c), f = f - d;
478
+ l = l + Math.pow(2, c), u = u - d;
454
479
  }
455
- return (b ? -1 : 1) * l * Math.pow(2, f - c);
480
+ return (b ? -1 : 1) * l * Math.pow(2, u - c);
456
481
  };
457
- dt.write = function(n, r, p, c, u, f) {
458
- var l, a, x, d = f * 8 - u - 1, v = (1 << d) - 1, g = v >> 1, y = u === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0, b = c ? 0 : f - 1, E = c ? 1 : -1, U = r < 0 || r === 0 && 1 / r < 0 ? 1 : 0;
459
- for (r = Math.abs(r), isNaN(r) || r === 1 / 0 ? (a = isNaN(r) ? 1 : 0, l = v) : (l = Math.floor(Math.log(r) / Math.LN2), r * (x = Math.pow(2, -l)) < 1 && (l--, x *= 2), l + g >= 1 ? r += y / x : r += y * Math.pow(2, 1 - g), r * x >= 2 && (l++, x /= 2), l + g >= v ? (a = 0, l = v) : l + g >= 1 ? (a = (r * x - 1) * Math.pow(2, u), l = l + g) : (a = r * Math.pow(2, g - 1) * Math.pow(2, u), l = 0)); u >= 8; n[p + b] = a & 255, b += E, a /= 256, u -= 8)
482
+ dt.write = function(n, r, p, c, f, u) {
483
+ var l, a, x, d = u * 8 - f - 1, v = (1 << d) - 1, g = v >> 1, y = f === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0, b = c ? 0 : u - 1, E = c ? 1 : -1, U = r < 0 || r === 0 && 1 / r < 0 ? 1 : 0;
484
+ for (r = Math.abs(r), isNaN(r) || r === 1 / 0 ? (a = isNaN(r) ? 1 : 0, l = v) : (l = Math.floor(Math.log(r) / Math.LN2), r * (x = Math.pow(2, -l)) < 1 && (l--, x *= 2), l + g >= 1 ? r += y / x : r += y * Math.pow(2, 1 - g), r * x >= 2 && (l++, x /= 2), l + g >= v ? (a = 0, l = v) : l + g >= 1 ? (a = (r * x - 1) * Math.pow(2, f), l = l + g) : (a = r * Math.pow(2, g - 1) * Math.pow(2, f), l = 0)); f >= 8; n[p + b] = a & 255, b += E, a /= 256, f -= 8)
460
485
  ;
461
- for (l = l << u | a, d += u; d > 0; n[p + b] = l & 255, b += E, l /= 256, d -= 8)
486
+ for (l = l << f | a, d += f; d > 0; n[p + b] = l & 255, b += E, l /= 256, d -= 8)
462
487
  ;
463
488
  n[p + b - E] |= U * 128;
464
489
  };
@@ -471,11 +496,11 @@ dt.write = function(n, r, p, c, u, f) {
471
496
  (function(n) {
472
497
  var r = tt, p = dt, c = typeof Symbol == "function" && typeof Symbol.for == "function" ? Symbol.for("nodejs.util.inspect.custom") : null;
473
498
  n.Buffer = a, n.SlowBuffer = G, n.INSPECT_MAX_BYTES = 50;
474
- var u = 2147483647;
475
- n.kMaxLength = u, a.TYPED_ARRAY_SUPPORT = f(), !a.TYPED_ARRAY_SUPPORT && typeof console < "u" && typeof console.error == "function" && console.error(
499
+ var f = 2147483647;
500
+ n.kMaxLength = f, a.TYPED_ARRAY_SUPPORT = u(), !a.TYPED_ARRAY_SUPPORT && typeof console < "u" && typeof console.error == "function" && console.error(
476
501
  "This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."
477
502
  );
478
- function f() {
503
+ function u() {
479
504
  try {
480
505
  var i = new Uint8Array(1), t = { foo: function() {
481
506
  return 42;
@@ -499,7 +524,7 @@ dt.write = function(n, r, p, c, u, f) {
499
524
  }
500
525
  });
501
526
  function l(i) {
502
- if (i > u)
527
+ if (i > f)
503
528
  throw new RangeError('The value "' + i + '" is invalid for option "size"');
504
529
  var t = new Uint8Array(i);
505
530
  return Object.setPrototypeOf(t, a.prototype), t;
@@ -562,7 +587,7 @@ dt.write = function(n, r, p, c, u, f) {
562
587
  return v(i, t, e);
563
588
  };
564
589
  function g(i) {
565
- return d(i), l(i < 0 ? 0 : $(i) | 0);
590
+ return d(i), l(i < 0 ? 0 : q(i) | 0);
566
591
  }
567
592
  a.allocUnsafe = function(i) {
568
593
  return g(i);
@@ -576,7 +601,7 @@ dt.write = function(n, r, p, c, u, f) {
576
601
  return s !== e && (o = o.slice(0, s)), o;
577
602
  }
578
603
  function b(i) {
579
- for (var t = i.length < 0 ? 0 : $(i.length) | 0, e = l(t), o = 0; o < t; o += 1)
604
+ for (var t = i.length < 0 ? 0 : q(i.length) | 0, e = l(t), o = 0; o < t; o += 1)
580
605
  e[o] = i[o] & 255;
581
606
  return e;
582
607
  }
@@ -597,7 +622,7 @@ dt.write = function(n, r, p, c, u, f) {
597
622
  }
598
623
  function R(i) {
599
624
  if (a.isBuffer(i)) {
600
- var t = $(i.length) | 0, e = l(t);
625
+ var t = q(i.length) | 0, e = l(t);
601
626
  return e.length === 0 || i.copy(e, 0, 0, t), e;
602
627
  }
603
628
  if (i.length !== void 0)
@@ -605,9 +630,9 @@ dt.write = function(n, r, p, c, u, f) {
605
630
  if (i.type === "Buffer" && Array.isArray(i.data))
606
631
  return b(i.data);
607
632
  }
608
- function $(i) {
609
- if (i >= u)
610
- throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x" + u.toString(16) + " bytes");
633
+ function q(i) {
634
+ if (i >= f)
635
+ throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x" + f.toString(16) + " bytes");
611
636
  return i | 0;
612
637
  }
613
638
  function G(i) {
@@ -788,9 +813,9 @@ dt.write = function(n, r, p, c, u, f) {
788
813
  return 1;
789
814
  if (e >>>= 0, o >>>= 0, s >>>= 0, m >>>= 0, this === t)
790
815
  return 0;
791
- for (var h = m - s, _ = o - e, F = Math.min(h, _), A = this.slice(s, m), B = t.slice(e, o), S = 0; S < F; ++S)
792
- if (A[S] !== B[S]) {
793
- h = A[S], _ = B[S];
816
+ for (var h = m - s, _ = o - e, F = Math.min(h, _), k = this.slice(s, m), B = t.slice(e, o), A = 0; A < F; ++A)
817
+ if (k[A] !== B[A]) {
818
+ h = k[A], _ = B[A];
794
819
  break;
795
820
  }
796
821
  return h < _ ? -1 : _ < h ? 1 : 0;
@@ -823,24 +848,24 @@ dt.write = function(n, r, p, c, u, f) {
823
848
  function F(jt, It) {
824
849
  return m === 1 ? jt[It] : jt.readUInt16BE(It * m);
825
850
  }
826
- var A;
851
+ var k;
827
852
  if (s) {
828
853
  var B = -1;
829
- for (A = e; A < h; A++)
830
- if (F(i, A) === F(t, B === -1 ? 0 : A - B)) {
831
- if (B === -1 && (B = A), A - B + 1 === _)
854
+ for (k = e; k < h; k++)
855
+ if (F(i, k) === F(t, B === -1 ? 0 : k - B)) {
856
+ if (B === -1 && (B = k), k - B + 1 === _)
832
857
  return B * m;
833
858
  } else
834
- B !== -1 && (A -= A - B), B = -1;
859
+ B !== -1 && (k -= k - B), B = -1;
835
860
  } else
836
- for (e + _ > h && (e = h - _), A = e; A >= 0; A--) {
837
- for (var S = !0, V = 0; V < _; V++)
838
- if (F(i, A + V) !== F(t, V)) {
839
- S = !1;
861
+ for (e + _ > h && (e = h - _), k = e; k >= 0; k--) {
862
+ for (var A = !0, V = 0; V < _; V++)
863
+ if (F(i, k + V) !== F(t, V)) {
864
+ A = !1;
840
865
  break;
841
866
  }
842
- if (S)
843
- return A;
867
+ if (A)
868
+ return k;
844
869
  }
845
870
  return -1;
846
871
  }
@@ -869,13 +894,13 @@ dt.write = function(n, r, p, c, u, f) {
869
894
  return K(rt(t, i.length - e), i, e, o);
870
895
  }
871
896
  function xe(i, t, e, o) {
872
- return K(Se(t), i, e, o);
897
+ return K(Ae(t), i, e, o);
873
898
  }
874
899
  function de(i, t, e, o) {
875
900
  return K(Bt(t), i, e, o);
876
901
  }
877
902
  function we(i, t, e, o) {
878
- return K(ke(t, i.length - e), i, e, o);
903
+ return K(Se(t, i.length - e), i, e, o);
879
904
  }
880
905
  a.prototype.write = function(t, e, o, s) {
881
906
  if (e === void 0)
@@ -929,19 +954,19 @@ dt.write = function(n, r, p, c, u, f) {
929
954
  for (var o = [], s = t; s < e; ) {
930
955
  var m = i[s], h = null, _ = m > 239 ? 4 : m > 223 ? 3 : m > 191 ? 2 : 1;
931
956
  if (s + _ <= e) {
932
- var F, A, B, S;
957
+ var F, k, B, A;
933
958
  switch (_) {
934
959
  case 1:
935
960
  m < 128 && (h = m);
936
961
  break;
937
962
  case 2:
938
- F = i[s + 1], (F & 192) === 128 && (S = (m & 31) << 6 | F & 63, S > 127 && (h = S));
963
+ F = i[s + 1], (F & 192) === 128 && (A = (m & 31) << 6 | F & 63, A > 127 && (h = A));
939
964
  break;
940
965
  case 3:
941
- F = i[s + 1], A = i[s + 2], (F & 192) === 128 && (A & 192) === 128 && (S = (m & 15) << 12 | (F & 63) << 6 | A & 63, S > 2047 && (S < 55296 || S > 57343) && (h = S));
966
+ F = i[s + 1], k = i[s + 2], (F & 192) === 128 && (k & 192) === 128 && (A = (m & 15) << 12 | (F & 63) << 6 | k & 63, A > 2047 && (A < 55296 || A > 57343) && (h = A));
942
967
  break;
943
968
  case 4:
944
- F = i[s + 1], A = i[s + 2], B = i[s + 3], (F & 192) === 128 && (A & 192) === 128 && (B & 192) === 128 && (S = (m & 15) << 18 | (F & 63) << 12 | (A & 63) << 6 | B & 63, S > 65535 && S < 1114112 && (h = S));
969
+ F = i[s + 1], k = i[s + 2], B = i[s + 3], (F & 192) === 128 && (k & 192) === 128 && (B & 192) === 128 && (A = (m & 15) << 18 | (F & 63) << 12 | (k & 63) << 6 | B & 63, A > 65535 && A < 1114112 && (h = A));
945
970
  }
946
971
  }
947
972
  h === null ? (h = 65533, _ = 1) : h > 65535 && (h -= 65536, o.push(h >>> 10 & 1023 | 55296), h = 56320 | h & 1023), o.push(h), s += _;
@@ -992,64 +1017,64 @@ dt.write = function(n, r, p, c, u, f) {
992
1017
  var s = this.subarray(t, e);
993
1018
  return Object.setPrototypeOf(s, a.prototype), s;
994
1019
  };
995
- function k(i, t, e) {
1020
+ function S(i, t, e) {
996
1021
  if (i % 1 !== 0 || i < 0)
997
1022
  throw new RangeError("offset is not uint");
998
1023
  if (i + t > e)
999
1024
  throw new RangeError("Trying to access beyond buffer length");
1000
1025
  }
1001
1026
  a.prototype.readUintLE = a.prototype.readUIntLE = function(t, e, o) {
1002
- t = t >>> 0, e = e >>> 0, o || k(t, e, this.length);
1027
+ t = t >>> 0, e = e >>> 0, o || S(t, e, this.length);
1003
1028
  for (var s = this[t], m = 1, h = 0; ++h < e && (m *= 256); )
1004
1029
  s += this[t + h] * m;
1005
1030
  return s;
1006
1031
  }, a.prototype.readUintBE = a.prototype.readUIntBE = function(t, e, o) {
1007
- t = t >>> 0, e = e >>> 0, o || k(t, e, this.length);
1032
+ t = t >>> 0, e = e >>> 0, o || S(t, e, this.length);
1008
1033
  for (var s = this[t + --e], m = 1; e > 0 && (m *= 256); )
1009
1034
  s += this[t + --e] * m;
1010
1035
  return s;
1011
1036
  }, a.prototype.readUint8 = a.prototype.readUInt8 = function(t, e) {
1012
- return t = t >>> 0, e || k(t, 1, this.length), this[t];
1037
+ return t = t >>> 0, e || S(t, 1, this.length), this[t];
1013
1038
  }, a.prototype.readUint16LE = a.prototype.readUInt16LE = function(t, e) {
1014
- return t = t >>> 0, e || k(t, 2, this.length), this[t] | this[t + 1] << 8;
1039
+ return t = t >>> 0, e || S(t, 2, this.length), this[t] | this[t + 1] << 8;
1015
1040
  }, a.prototype.readUint16BE = a.prototype.readUInt16BE = function(t, e) {
1016
- return t = t >>> 0, e || k(t, 2, this.length), this[t] << 8 | this[t + 1];
1041
+ return t = t >>> 0, e || S(t, 2, this.length), this[t] << 8 | this[t + 1];
1017
1042
  }, a.prototype.readUint32LE = a.prototype.readUInt32LE = function(t, e) {
1018
- return t = t >>> 0, e || k(t, 4, this.length), (this[t] | this[t + 1] << 8 | this[t + 2] << 16) + this[t + 3] * 16777216;
1043
+ return t = t >>> 0, e || S(t, 4, this.length), (this[t] | this[t + 1] << 8 | this[t + 2] << 16) + this[t + 3] * 16777216;
1019
1044
  }, a.prototype.readUint32BE = a.prototype.readUInt32BE = function(t, e) {
1020
- return t = t >>> 0, e || k(t, 4, this.length), this[t] * 16777216 + (this[t + 1] << 16 | this[t + 2] << 8 | this[t + 3]);
1045
+ return t = t >>> 0, e || S(t, 4, this.length), this[t] * 16777216 + (this[t + 1] << 16 | this[t + 2] << 8 | this[t + 3]);
1021
1046
  }, a.prototype.readIntLE = function(t, e, o) {
1022
- t = t >>> 0, e = e >>> 0, o || k(t, e, this.length);
1047
+ t = t >>> 0, e = e >>> 0, o || S(t, e, this.length);
1023
1048
  for (var s = this[t], m = 1, h = 0; ++h < e && (m *= 256); )
1024
1049
  s += this[t + h] * m;
1025
1050
  return m *= 128, s >= m && (s -= Math.pow(2, 8 * e)), s;
1026
1051
  }, a.prototype.readIntBE = function(t, e, o) {
1027
- t = t >>> 0, e = e >>> 0, o || k(t, e, this.length);
1052
+ t = t >>> 0, e = e >>> 0, o || S(t, e, this.length);
1028
1053
  for (var s = e, m = 1, h = this[t + --s]; s > 0 && (m *= 256); )
1029
1054
  h += this[t + --s] * m;
1030
1055
  return m *= 128, h >= m && (h -= Math.pow(2, 8 * e)), h;
1031
1056
  }, a.prototype.readInt8 = function(t, e) {
1032
- return t = t >>> 0, e || k(t, 1, this.length), this[t] & 128 ? (255 - this[t] + 1) * -1 : this[t];
1057
+ return t = t >>> 0, e || S(t, 1, this.length), this[t] & 128 ? (255 - this[t] + 1) * -1 : this[t];
1033
1058
  }, a.prototype.readInt16LE = function(t, e) {
1034
- t = t >>> 0, e || k(t, 2, this.length);
1059
+ t = t >>> 0, e || S(t, 2, this.length);
1035
1060
  var o = this[t] | this[t + 1] << 8;
1036
1061
  return o & 32768 ? o | 4294901760 : o;
1037
1062
  }, a.prototype.readInt16BE = function(t, e) {
1038
- t = t >>> 0, e || k(t, 2, this.length);
1063
+ t = t >>> 0, e || S(t, 2, this.length);
1039
1064
  var o = this[t + 1] | this[t] << 8;
1040
1065
  return o & 32768 ? o | 4294901760 : o;
1041
1066
  }, a.prototype.readInt32LE = function(t, e) {
1042
- return t = t >>> 0, e || k(t, 4, this.length), this[t] | this[t + 1] << 8 | this[t + 2] << 16 | this[t + 3] << 24;
1067
+ return t = t >>> 0, e || S(t, 4, this.length), this[t] | this[t + 1] << 8 | this[t + 2] << 16 | this[t + 3] << 24;
1043
1068
  }, a.prototype.readInt32BE = function(t, e) {
1044
- return t = t >>> 0, e || k(t, 4, this.length), this[t] << 24 | this[t + 1] << 16 | this[t + 2] << 8 | this[t + 3];
1069
+ return t = t >>> 0, e || S(t, 4, this.length), this[t] << 24 | this[t + 1] << 16 | this[t + 2] << 8 | this[t + 3];
1045
1070
  }, a.prototype.readFloatLE = function(t, e) {
1046
- return t = t >>> 0, e || k(t, 4, this.length), p.read(this, t, !0, 23, 4);
1071
+ return t = t >>> 0, e || S(t, 4, this.length), p.read(this, t, !0, 23, 4);
1047
1072
  }, a.prototype.readFloatBE = function(t, e) {
1048
- return t = t >>> 0, e || k(t, 4, this.length), p.read(this, t, !1, 23, 4);
1073
+ return t = t >>> 0, e || S(t, 4, this.length), p.read(this, t, !1, 23, 4);
1049
1074
  }, a.prototype.readDoubleLE = function(t, e) {
1050
- return t = t >>> 0, e || k(t, 8, this.length), p.read(this, t, !0, 52, 8);
1075
+ return t = t >>> 0, e || S(t, 8, this.length), p.read(this, t, !0, 52, 8);
1051
1076
  }, a.prototype.readDoubleBE = function(t, e) {
1052
- return t = t >>> 0, e || k(t, 8, this.length), p.read(this, t, !1, 52, 8);
1077
+ return t = t >>> 0, e || S(t, 8, this.length), p.read(this, t, !1, 52, 8);
1053
1078
  };
1054
1079
  function j(i, t, e, o, s, m) {
1055
1080
  if (!a.isBuffer(i))
@@ -1116,27 +1141,27 @@ dt.write = function(n, r, p, c, u, f) {
1116
1141
  }, a.prototype.writeInt32BE = function(t, e, o) {
1117
1142
  return t = +t, e = e >>> 0, o || j(this, t, e, 4, 2147483647, -2147483648), t < 0 && (t = 4294967295 + t + 1), this[e] = t >>> 24, this[e + 1] = t >>> 16, this[e + 2] = t >>> 8, this[e + 3] = t & 255, e + 4;
1118
1143
  };
1119
- function At(i, t, e, o, s, m) {
1144
+ function kt(i, t, e, o, s, m) {
1120
1145
  if (e + o > i.length)
1121
1146
  throw new RangeError("Index out of range");
1122
1147
  if (e < 0)
1123
1148
  throw new RangeError("Index out of range");
1124
1149
  }
1125
- function St(i, t, e, o, s) {
1126
- return t = +t, e = e >>> 0, s || At(i, t, e, 4), p.write(i, t, e, o, 23, 4), e + 4;
1150
+ function At(i, t, e, o, s) {
1151
+ return t = +t, e = e >>> 0, s || kt(i, t, e, 4), p.write(i, t, e, o, 23, 4), e + 4;
1127
1152
  }
1128
1153
  a.prototype.writeFloatLE = function(t, e, o) {
1129
- return St(this, t, e, !0, o);
1154
+ return At(this, t, e, !0, o);
1130
1155
  }, a.prototype.writeFloatBE = function(t, e, o) {
1131
- return St(this, t, e, !1, o);
1156
+ return At(this, t, e, !1, o);
1132
1157
  };
1133
- function kt(i, t, e, o, s) {
1134
- return t = +t, e = e >>> 0, s || At(i, t, e, 8), p.write(i, t, e, o, 52, 8), e + 8;
1158
+ function St(i, t, e, o, s) {
1159
+ return t = +t, e = e >>> 0, s || kt(i, t, e, 8), p.write(i, t, e, o, 52, 8), e + 8;
1135
1160
  }
1136
1161
  a.prototype.writeDoubleLE = function(t, e, o) {
1137
- return kt(this, t, e, !0, o);
1162
+ return St(this, t, e, !0, o);
1138
1163
  }, a.prototype.writeDoubleBE = function(t, e, o) {
1139
- return kt(this, t, e, !1, o);
1164
+ return St(this, t, e, !1, o);
1140
1165
  }, a.prototype.copy = function(t, e, o, s) {
1141
1166
  if (!a.isBuffer(t))
1142
1167
  throw new TypeError("argument should be a Buffer");
@@ -1186,7 +1211,7 @@ dt.write = function(n, r, p, c, u, f) {
1186
1211
  return this;
1187
1212
  };
1188
1213
  var Fe = /[^+/0-9A-Za-z-_]/g;
1189
- function Ae(i) {
1214
+ function ke(i) {
1190
1215
  if (i = i.split("=")[0], i = i.trim().replace(Fe, ""), i.length < 2)
1191
1216
  return "";
1192
1217
  for (; i.length % 4 !== 0; )
@@ -1248,18 +1273,18 @@ dt.write = function(n, r, p, c, u, f) {
1248
1273
  }
1249
1274
  return m;
1250
1275
  }
1251
- function Se(i) {
1276
+ function Ae(i) {
1252
1277
  for (var t = [], e = 0; e < i.length; ++e)
1253
1278
  t.push(i.charCodeAt(e) & 255);
1254
1279
  return t;
1255
1280
  }
1256
- function ke(i, t) {
1281
+ function Se(i, t) {
1257
1282
  for (var e, o, s, m = [], h = 0; h < i.length && !((t -= 2) < 0); ++h)
1258
1283
  e = i.charCodeAt(h), o = e >> 8, s = e % 256, m.push(s), m.push(o);
1259
1284
  return m;
1260
1285
  }
1261
1286
  function Bt(i) {
1262
- return r.toByteArray(Ae(i));
1287
+ return r.toByteArray(ke(i));
1263
1288
  }
1264
1289
  function K(i, t, e, o) {
1265
1290
  for (var s = 0; s < o && !(s + e >= t.length || s >= i.length); ++s)
@@ -1282,28 +1307,28 @@ dt.write = function(n, r, p, c, u, f) {
1282
1307
  /*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */
1283
1308
  (function(n, r) {
1284
1309
  var p = Vt, c = p.Buffer;
1285
- function u(l, a) {
1310
+ function f(l, a) {
1286
1311
  for (var x in l)
1287
1312
  a[x] = l[x];
1288
1313
  }
1289
- c.from && c.alloc && c.allocUnsafe && c.allocUnsafeSlow ? n.exports = p : (u(p, r), r.Buffer = f);
1290
- function f(l, a, x) {
1314
+ c.from && c.alloc && c.allocUnsafe && c.allocUnsafeSlow ? n.exports = p : (f(p, r), r.Buffer = u);
1315
+ function u(l, a, x) {
1291
1316
  return c(l, a, x);
1292
1317
  }
1293
- f.prototype = Object.create(c.prototype), u(c, f), f.from = function(l, a, x) {
1318
+ u.prototype = Object.create(c.prototype), f(c, u), u.from = function(l, a, x) {
1294
1319
  if (typeof l == "number")
1295
1320
  throw new TypeError("Argument must not be a number");
1296
1321
  return c(l, a, x);
1297
- }, f.alloc = function(l, a, x) {
1322
+ }, u.alloc = function(l, a, x) {
1298
1323
  if (typeof l != "number")
1299
1324
  throw new TypeError("Argument must be a number");
1300
1325
  var d = c(l);
1301
1326
  return a !== void 0 ? typeof x == "string" ? d.fill(a, x) : d.fill(a) : d.fill(0), d;
1302
- }, f.allocUnsafe = function(l) {
1327
+ }, u.allocUnsafe = function(l) {
1303
1328
  if (typeof l != "number")
1304
1329
  throw new TypeError("Argument must be a number");
1305
1330
  return c(l);
1306
- }, f.allocUnsafeSlow = function(l) {
1331
+ }, u.allocUnsafeSlow = function(l) {
1307
1332
  if (typeof l != "number")
1308
1333
  throw new TypeError("Argument must be a number");
1309
1334
  return p.SlowBuffer(l);
@@ -1315,12 +1340,12 @@ function et(n, r) {
1315
1340
  }
1316
1341
  et.prototype.update = function(n, r) {
1317
1342
  typeof n == "string" && (r = r || "utf8", n = te.from(n, r));
1318
- for (var p = this._block, c = this._blockSize, u = n.length, f = this._len, l = 0; l < u; ) {
1319
- for (var a = f % c, x = Math.min(u - l, c - a), d = 0; d < x; d++)
1343
+ for (var p = this._block, c = this._blockSize, f = n.length, u = this._len, l = 0; l < f; ) {
1344
+ for (var a = u % c, x = Math.min(f - l, c - a), d = 0; d < x; d++)
1320
1345
  p[a + d] = n[l + d];
1321
- f += x, l += x, f % c === 0 && this._update(p);
1346
+ u += x, l += x, u % c === 0 && this._update(p);
1322
1347
  }
1323
- return this._len += u, this;
1348
+ return this._len += f, this;
1324
1349
  };
1325
1350
  et.prototype.digest = function(n) {
1326
1351
  var r = this._len % this._blockSize;
@@ -1329,12 +1354,12 @@ et.prototype.digest = function(n) {
1329
1354
  if (p <= 4294967295)
1330
1355
  this._block.writeUInt32BE(p, this._blockSize - 4);
1331
1356
  else {
1332
- var c = (p & 4294967295) >>> 0, u = (p - c) / 4294967296;
1333
- this._block.writeUInt32BE(u, this._blockSize - 8), this._block.writeUInt32BE(c, this._blockSize - 4);
1357
+ var c = (p & 4294967295) >>> 0, f = (p - c) / 4294967296;
1358
+ this._block.writeUInt32BE(f, this._blockSize - 8), this._block.writeUInt32BE(c, this._blockSize - 4);
1334
1359
  }
1335
1360
  this._update(this._block);
1336
- var f = this._hash();
1337
- return n ? f.toString(n) : f;
1361
+ var u = this._hash();
1362
+ return n ? u.toString(n) : u;
1338
1363
  };
1339
1364
  et.prototype._update = function() {
1340
1365
  throw new Error("_update must be implemented by subclass");
@@ -1365,15 +1390,15 @@ function xi(n, r, p, c) {
1365
1390
  return n === 0 ? r & p | ~r & c : n === 2 ? r & p | r & c | p & c : r ^ p ^ c;
1366
1391
  }
1367
1392
  Y.prototype._update = function(n) {
1368
- for (var r = this._w, p = this._a | 0, c = this._b | 0, u = this._c | 0, f = this._d | 0, l = this._e | 0, a = 0; a < 16; ++a)
1393
+ for (var r = this._w, p = this._a | 0, c = this._b | 0, f = this._c | 0, u = this._d | 0, l = this._e | 0, a = 0; a < 16; ++a)
1369
1394
  r[a] = n.readInt32BE(a * 4);
1370
1395
  for (; a < 80; ++a)
1371
1396
  r[a] = fi(r[a - 3] ^ r[a - 8] ^ r[a - 14] ^ r[a - 16]);
1372
1397
  for (var x = 0; x < 80; ++x) {
1373
- var d = ~~(x / 20), v = mi(p) + xi(d, c, u, f) + l + r[x] + li[d] | 0;
1374
- l = f, f = u, u = hi(c), c = p, p = v;
1398
+ var d = ~~(x / 20), v = mi(p) + xi(d, c, f, u) + l + r[x] + li[d] | 0;
1399
+ l = u, u = f, f = hi(c), c = p, p = v;
1375
1400
  }
1376
- this._a = p + this._a | 0, this._b = c + this._b | 0, this._c = u + this._c | 0, this._d = f + this._d | 0, this._e = l + this._e | 0;
1401
+ this._a = p + this._a | 0, this._b = c + this._b | 0, this._c = f + this._c | 0, this._d = u + this._d | 0, this._e = l + this._e | 0;
1377
1402
  };
1378
1403
  Y.prototype._hash = function() {
1379
1404
  var n = ci.allocUnsafe(20);
@@ -1407,27 +1432,27 @@ function Ei(n) {
1407
1432
  return n.type === We && n.skip !== void 0 && n.skip > 0 && n.hash !== void 0;
1408
1433
  }
1409
1434
  function Ot(n) {
1410
- return [z, P].includes(n.type);
1435
+ return [z, $].includes(n.type);
1411
1436
  }
1412
1437
  function Ut(n) {
1413
- return [Yt, z, P, Z, Gt].includes(n.type);
1438
+ return [Yt, z, $, Z, Gt].includes(n.type);
1414
1439
  }
1415
- function q(n, r, p, c, u = "global") {
1440
+ function P(n, r, p, c, f = "global") {
1416
1441
  if (!n)
1417
1442
  throw new Error("Empty action type");
1418
1443
  if (typeof n != "string")
1419
1444
  throw new Error(`Invalid action type: ${n}`);
1420
- const f = { type: n, input: r, scope: u };
1421
- p && (f.attachments = p);
1445
+ const u = { type: n, input: r, scope: f };
1446
+ p && (u.attachments = p);
1422
1447
  try {
1423
- c == null || c().parse(f.input);
1448
+ c == null || c().parse(u.input);
1424
1449
  } catch (l) {
1425
1450
  throw new Error(`Invalid action input: ${l}`);
1426
1451
  }
1427
- return f;
1452
+ return u;
1428
1453
  }
1429
1454
  function _i(n, r = Kt) {
1430
- return (p, c, u, f) => r(p, c, n, u, f);
1455
+ return (p, c, f, u) => r(p, c, n, f, u);
1431
1456
  }
1432
1457
  const Fi = (n, r) => ({
1433
1458
  name: "",
@@ -1441,7 +1466,7 @@ const Fi = (n, r) => ({
1441
1466
  attachments: {},
1442
1467
  ...n,
1443
1468
  state: (r == null ? void 0 : r(n == null ? void 0 : n.state)) ?? (n == null ? void 0 : n.state) ?? { global: {}, local: {} }
1444
- }), Ai = (n, r) => {
1469
+ }), ki = (n, r) => {
1445
1470
  const p = Fi(
1446
1471
  n,
1447
1472
  r
@@ -1452,20 +1477,20 @@ const Fi = (n, r) => ({
1452
1477
  operations: { global: [], local: [] },
1453
1478
  clipboard: []
1454
1479
  };
1455
- }, re = (n, r = "global") => it(pt(n.state[r])), zi = (n, r = 1e3) => {
1480
+ }, re = (n, r = "global") => it(pt(n.state[r])), $i = (n, r = 1e3) => {
1456
1481
  const p = Math.random() * r;
1457
1482
  return it(`${(n ?? /* @__PURE__ */ new Date()).toISOString()}${p}`);
1458
1483
  };
1459
1484
  function Q(n) {
1460
1485
  return Oe(Ue(n, !0));
1461
1486
  }
1462
- function Si(n, r) {
1487
+ function Ai(n, r) {
1463
1488
  const p = [...n];
1464
- let c = r || 0, u = p.length > 0 ? p[p.length - 1].index : 0;
1465
- const f = [];
1489
+ let c = r || 0, f = p.length > 0 ? p[p.length - 1].index : 0;
1490
+ const u = [];
1466
1491
  for (const l of p.reverse()) {
1467
1492
  if (c > 0) {
1468
- const d = u - l.index;
1493
+ const d = f - l.index;
1469
1494
  c -= d;
1470
1495
  }
1471
1496
  if (c < 0)
@@ -1478,51 +1503,63 @@ function Si(n, r) {
1478
1503
  const d = x - c;
1479
1504
  c = c + d;
1480
1505
  }
1481
- u = l.index, f.push(a);
1506
+ f = l.index, u.push(a);
1507
+ }
1508
+ return u.reverse();
1509
+ }
1510
+ function Si(n, r, p) {
1511
+ const c = n.slice().sort((a, x) => a.skip - x.skip).sort((a, x) => a.index - x.index);
1512
+ let f = p, u = 0, l = r;
1513
+ for (const a of c.reverse()) {
1514
+ const x = l - a.index;
1515
+ if (f = f - x, f > -1)
1516
+ u++, l = a.index;
1517
+ else
1518
+ break;
1482
1519
  }
1483
- return f.reverse();
1520
+ return u;
1484
1521
  }
1485
1522
  function Pi(n) {
1486
1523
  return Object.values(n).flatMap((r) => r).sort(
1487
1524
  (r, p) => new Date(r.timestamp).getTime() - new Date(p.timestamp).getTime()
1488
1525
  );
1489
1526
  }
1490
- function ki(n) {
1527
+ function Bi(n) {
1491
1528
  return Object.values(n).flatMap((r) => r).sort(
1492
1529
  (r, p) => new Date(r.operation.timestamp).getTime() - new Date(p.operation.timestamp).getTime()
1493
1530
  );
1494
1531
  }
1495
- function lt(n, r, p, c, u, f = Kt, l = {}) {
1496
- const a = _i(p, f);
1532
+ function lt(n, r, p, c, f, u = Kt, l = {}) {
1533
+ const a = _i(p, u);
1497
1534
  return ne(
1498
1535
  n,
1499
1536
  r,
1500
1537
  a,
1501
1538
  c,
1502
- u,
1539
+ f,
1503
1540
  l
1504
1541
  );
1505
1542
  }
1506
- function ne(n, r, p, c, u, f = {}) {
1507
- const l = Ai(n), a = Object.keys(r).reduce((y, b) => {
1543
+ function ne(n, r, p, c, f, u = {}) {
1544
+ const l = ki(n), a = Object.keys(r).reduce((y, b) => {
1508
1545
  const E = b;
1509
1546
  return {
1510
1547
  ...y,
1511
- [E]: r[E].slice(0, u == null ? void 0 : u.revision[E])
1548
+ [E]: r[E].slice(0, f == null ? void 0 : f.revision[E])
1512
1549
  };
1513
1550
  }, {}), x = Object.keys(a).reduce(
1514
1551
  (y, b) => {
1515
1552
  const E = b;
1516
1553
  return {
1517
1554
  ...y,
1518
- [E]: Si(
1555
+ [E]: Ai(
1519
1556
  a[E],
1520
- f[E]
1557
+ u[E]
1521
1558
  )
1522
1559
  };
1523
1560
  },
1524
1561
  {}
1525
- ), d = ki(x).reduce(
1562
+ ), d = Bi(x).reduce(
1526
1563
  (y, { ignore: b, operation: E }) => b ? p(y, yt(E.scope), c, {
1527
1564
  skip: E.skip,
1528
1565
  ignoreSkipOperations: !0
@@ -1535,15 +1572,15 @@ function ne(n, r, p, c, u, f = {}) {
1535
1572
  d.operations
1536
1573
  ).reduce(
1537
1574
  (y, b) => {
1538
- const E = b, U = u && u.revision[E] < r[E].length ? r[E].slice(u.revision[E]) : [];
1575
+ const E = b, U = f && f.revision[E] < r[E].length ? r[E].slice(f.revision[E]) : [];
1539
1576
  return {
1540
1577
  ...y,
1541
1578
  [E]: [
1542
- ...d.operations[E].map((R, $) => {
1579
+ ...d.operations[E].map((R, q) => {
1543
1580
  var G;
1544
1581
  return {
1545
1582
  ...R,
1546
- timestamp: ((G = r[E][$]) == null ? void 0 : G.timestamp) ?? R.timestamp
1583
+ timestamp: ((G = r[E][q]) == null ? void 0 : G.timestamp) ?? R.timestamp
1547
1584
  };
1548
1585
  }),
1549
1586
  ...U
@@ -1561,36 +1598,36 @@ function ne(n, r, p, c, u, f = {}) {
1561
1598
  function qi(n, r) {
1562
1599
  return pt(n) === pt(r);
1563
1600
  }
1564
- const oe = (n) => q(
1601
+ const oe = (n) => P(
1565
1602
  "SET_NAME",
1566
1603
  n,
1567
1604
  void 0,
1568
1605
  ht,
1569
1606
  void 0
1570
- ), ae = (n = 1, r = "global") => q(
1607
+ ), ae = (n = 1, r = "global") => P(
1571
1608
  "UNDO",
1572
1609
  n,
1573
1610
  void 0,
1574
1611
  xt,
1575
1612
  r
1576
- ), pe = (n = 1, r = "global") => q(
1613
+ ), pe = (n = 1, r = "global") => P(
1577
1614
  "REDO",
1578
1615
  n,
1579
1616
  void 0,
1580
1617
  mt,
1581
1618
  r
1582
- ), se = (n, r, p = "global") => q(
1619
+ ), se = (n, r, p = "global") => P(
1583
1620
  "PRUNE",
1584
1621
  { start: n, end: r },
1585
1622
  void 0,
1586
1623
  ft,
1587
1624
  p
1588
- ), gt = (n, r) => q(
1625
+ ), gt = (n, r) => P(
1589
1626
  "LOAD_STATE",
1590
1627
  { state: n, operations: r },
1591
1628
  void 0,
1592
1629
  ut
1593
- ), yt = (n = "global") => q("NOOP", {}, void 0, void 0, n), $i = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1630
+ ), yt = (n = "global") => P("NOOP", {}, void 0, void 0, n), Wi = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1594
1631
  __proto__: null,
1595
1632
  loadState: gt,
1596
1633
  noop: yt,
@@ -1607,20 +1644,20 @@ var I = function(n, r, p, c) {
1607
1644
  throw new TypeError("Cannot read private member from an object whose class did not declare it");
1608
1645
  return p === "m" ? c : p === "a" ? c.call(n) : c ? c.value : r.get(n);
1609
1646
  }, L, W, N;
1610
- class Bi {
1647
+ class ji {
1611
1648
  constructor(...r) {
1612
1649
  L.set(this, /* @__PURE__ */ new Map()), W.set(this, /* @__PURE__ */ new Map()), N.set(this, /* @__PURE__ */ new Map());
1613
1650
  for (const p of r)
1614
1651
  this.define(p);
1615
1652
  }
1616
1653
  define(r, p = !1) {
1617
- for (let [c, u] of Object.entries(r)) {
1618
- c = c.toLowerCase(), u = u.map((a) => a.toLowerCase()), I(this, N, "f").has(c) || I(this, N, "f").set(c, /* @__PURE__ */ new Set());
1619
- const f = I(this, N, "f").get(c);
1654
+ for (let [c, f] of Object.entries(r)) {
1655
+ c = c.toLowerCase(), f = f.map((a) => a.toLowerCase()), I(this, N, "f").has(c) || I(this, N, "f").set(c, /* @__PURE__ */ new Set());
1656
+ const u = I(this, N, "f").get(c);
1620
1657
  let l = !0;
1621
- for (let a of u) {
1658
+ for (let a of f) {
1622
1659
  const x = a.startsWith("*");
1623
- if (a = x ? a.slice(1) : a, f == null || f.add(a), l && I(this, W, "f").set(c, a), l = !1, x)
1660
+ if (a = x ? a.slice(1) : a, u == null || u.add(a), l && I(this, W, "f").set(c, a), l = !1, x)
1624
1661
  continue;
1625
1662
  const d = I(this, L, "f").get(a);
1626
1663
  if (d && d != c && !p)
@@ -1633,8 +1670,8 @@ class Bi {
1633
1670
  getType(r) {
1634
1671
  if (typeof r != "string")
1635
1672
  return null;
1636
- const p = r.replace(/^.*[/\\]/, "").toLowerCase(), c = p.replace(/^.*\./, "").toLowerCase(), u = p.length < r.length;
1637
- return !(c.length < p.length - 1) && u ? null : I(this, L, "f").get(c) ?? null;
1673
+ const p = r.replace(/^.*[/\\]/, "").toLowerCase(), c = p.replace(/^.*\./, "").toLowerCase(), f = p.length < r.length;
1674
+ return !(c.length < p.length - 1) && f ? null : I(this, L, "f").get(c) ?? null;
1638
1675
  }
1639
1676
  getExtension(r) {
1640
1677
  var p;
@@ -1659,29 +1696,29 @@ class Bi {
1659
1696
  }
1660
1697
  }
1661
1698
  L = /* @__PURE__ */ new WeakMap(), W = /* @__PURE__ */ new WeakMap(), N = /* @__PURE__ */ new WeakMap();
1662
- const ji = new Bi(ce)._freeze();
1663
- function Ii(n) {
1699
+ const Ii = new ji(ce)._freeze();
1700
+ function Oi(n) {
1664
1701
  const r = [], p = Object.keys(n);
1665
1702
  for (const c of p) {
1666
- const u = n[c].sort((f, l) => f.index - l.index);
1667
- for (let f = 0; f < u.length; f++)
1668
- u[f].index !== f && r.push({
1669
- message: `Invalid operation index ${u[f].index} at position ${f}`,
1703
+ const f = n[c].sort((u, l) => u.index - l.index);
1704
+ for (let u = 0; u < f.length; u++)
1705
+ f[u].index !== u && r.push({
1706
+ message: `Invalid operation index ${f[u].index} at position ${u}`,
1670
1707
  details: {
1671
- position: f,
1672
- operation: u[f],
1673
- scope: u[f].scope
1708
+ position: u,
1709
+ operation: f[u],
1710
+ scope: f[u].scope
1674
1711
  }
1675
1712
  });
1676
1713
  }
1677
1714
  return r;
1678
1715
  }
1679
1716
  const le = async (n) => {
1680
- const r = new Dt(), { name: p, revision: c, documentType: u, created: f, lastModified: l } = n, a = {
1717
+ const r = new Dt(), { name: p, revision: c, documentType: f, created: u, lastModified: l } = n, a = {
1681
1718
  name: p,
1682
1719
  revision: c,
1683
- documentType: u,
1684
- created: f,
1720
+ documentType: f,
1721
+ created: u,
1685
1722
  lastModified: l
1686
1723
  };
1687
1724
  return r.file("header.json", JSON.stringify(a, null, 2)), r.file(
@@ -1695,46 +1732,46 @@ const le = async (n) => {
1695
1732
  comment: JSON.stringify(g)
1696
1733
  });
1697
1734
  }), r;
1698
- }, Oi = async (n, r, p, c) => {
1735
+ }, Ui = async (n, r, p, c) => {
1699
1736
  await (await le(n)).generateAsync({
1700
1737
  type: "uint8array",
1701
1738
  streamFiles: !0
1702
1739
  });
1703
- const f = c ?? n.name, l = `.${p}.zip`;
1740
+ const u = c ?? n.name, l = `.${p}.zip`;
1704
1741
  return gi(
1705
1742
  r,
1706
- f.endsWith(l) ? f : `${f}${l}`
1743
+ u.endsWith(l) ? u : `${u}${l}`
1707
1744
  );
1708
- }, Wi = async (n, r) => {
1709
- const c = await (await le(n)).generateAsync({ type: "blob" }), u = await r.createWritable();
1710
- await u.write(c), await u.close();
1745
+ }, Ji = async (n, r) => {
1746
+ const c = await (await le(n)).generateAsync({ type: "blob" }), f = await r.createWritable();
1747
+ await f.write(c), await f.close();
1711
1748
  }, Tt = async (n, r) => {
1712
1749
  const p = ie();
1713
- return Ui(p, r);
1714
- }, Ui = async (n, r) => {
1750
+ return Ti(p, r);
1751
+ }, Ti = async (n, r) => {
1715
1752
  const p = new Dt();
1716
- return await p.loadAsync(n), Ti(p, r);
1753
+ return await p.loadAsync(n), Di(p, r);
1717
1754
  };
1718
- async function Ti(n, r) {
1755
+ async function Di(n, r) {
1719
1756
  const p = n.file("state.json");
1720
1757
  if (!p)
1721
1758
  throw new Error("Initial state not found");
1722
- const c = await p.async("string"), u = JSON.parse(c), f = n.file("header.json");
1759
+ const c = await p.async("string"), f = JSON.parse(c), u = n.file("header.json");
1723
1760
  let l;
1724
- f && (l = JSON.parse(await f.async("string")));
1761
+ u && (l = JSON.parse(await u.async("string")));
1725
1762
  const a = n.file("operations.json");
1726
1763
  if (!a)
1727
1764
  throw new Error("Operations history not found");
1728
1765
  const x = JSON.parse(
1729
1766
  await a.async("string")
1730
- ), d = Ii(x);
1767
+ ), d = Oi(x);
1731
1768
  if (d.length) {
1732
1769
  const g = d.map((y) => y.message);
1733
1770
  throw new Error(g.join(`
1734
1771
  `));
1735
1772
  }
1736
1773
  let v = ne(
1737
- u,
1774
+ f,
1738
1775
  x,
1739
1776
  r,
1740
1777
  void 0,
@@ -1749,20 +1786,20 @@ function ue(n) {
1749
1786
  const r = n.replace(/^.*\./, "") || void 0, p = n.replace(/^.*[/\\]/, "") || void 0;
1750
1787
  return { extension: r, fileName: p };
1751
1788
  }
1752
- async function Ji(n) {
1753
- const { buffer: r, mimeType: p = "application/octet-stream" } = await yi(), c = ue(n), u = r.toString("base64");
1789
+ async function Hi(n) {
1790
+ const { buffer: r, mimeType: p = "application/octet-stream" } = await yi(), c = ue(n), f = r.toString("base64");
1754
1791
  return {
1755
- data: u,
1756
- hash: it(u),
1792
+ data: f,
1793
+ hash: it(f),
1757
1794
  mimeType: p,
1758
1795
  ...c
1759
1796
  };
1760
1797
  }
1761
- async function Hi(n) {
1762
- const r = await vi(), p = ji.getType(n) || "application/octet-stream", c = ue(n), u = r.toString("base64");
1763
- return { data: u, hash: it(u), mimeType: p, ...c };
1798
+ async function Zi(n) {
1799
+ const r = await vi(), p = Ii.getType(n) || "application/octet-stream", c = ue(n), f = r.toString("base64");
1800
+ return { data: f, hash: it(f), mimeType: p, ...c };
1764
1801
  }
1765
- class Zi {
1802
+ class Yi {
1766
1803
  /**
1767
1804
  * Constructs a BaseDocument instance with an initial state.
1768
1805
  * @param reducer - The reducer function that updates the state.
@@ -1794,7 +1831,7 @@ class Zi {
1794
1831
  * @returns The file path where the state was saved.
1795
1832
  */
1796
1833
  saveToFile(r, p, c) {
1797
- return Oi(this._document, r, p, c);
1834
+ return Ui(this._document, r, p, c);
1798
1835
  }
1799
1836
  /**
1800
1837
  * Loads the state of the document from a file.
@@ -1914,7 +1951,7 @@ class Zi {
1914
1951
  return this.dispatch(gt(r, p)), this;
1915
1952
  }
1916
1953
  }
1917
- function Yi(n, r) {
1954
+ function Gi(n, r) {
1918
1955
  r.forEach((p) => {
1919
1956
  Object.getOwnPropertyNames(p.prototype).forEach((c) => {
1920
1957
  Object.defineProperty(
@@ -1928,34 +1965,35 @@ function Yi(n, r) {
1928
1965
  });
1929
1966
  }
1930
1967
  export {
1931
- Kt as A,
1932
- Zi as B,
1933
- Ke as C,
1934
- Li as D,
1968
+ Oi as A,
1969
+ Yi as B,
1970
+ Kt as C,
1971
+ Ke as D,
1972
+ zi as E,
1935
1973
  Fi as a,
1936
- Ai as b,
1974
+ ki as b,
1937
1975
  _i as c,
1938
- Wi as d,
1939
- Ui as e,
1940
- q as f,
1941
- Yi as g,
1942
- $i as h,
1976
+ Ji as d,
1977
+ Ti as e,
1978
+ P as f,
1979
+ Gi as g,
1980
+ Wi as h,
1943
1981
  Ut as i,
1944
- le as j,
1945
- Hi as k,
1982
+ Si as j,
1983
+ le as k,
1946
1984
  Tt as l,
1947
- Ji as m,
1948
- re as n,
1949
- zi as o,
1950
- Ei as p,
1951
- qi as q,
1952
- Ot as r,
1953
- Oi as s,
1954
- Si as t,
1955
- Q as u,
1956
- ne as v,
1957
- lt as w,
1958
- ki as x,
1959
- Pi as y,
1960
- Ii as z
1985
+ Zi as m,
1986
+ Hi as n,
1987
+ re as o,
1988
+ $i as p,
1989
+ Ei as q,
1990
+ qi as r,
1991
+ Ui as s,
1992
+ Ot as t,
1993
+ Ai as u,
1994
+ Q as v,
1995
+ ne as w,
1996
+ lt as x,
1997
+ Bi as y,
1998
+ Pi as z
1961
1999
  };