document-model 1.1.0-experimental.3 → 1.1.0-experimental.5

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 (142) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/dist/browser/cjs/document-model.js +21 -1
  3. package/dist/browser/cjs/document-model.js.map +1 -0
  4. package/dist/browser/cjs/document.js +18 -1
  5. package/dist/browser/cjs/document.js.map +1 -0
  6. package/dist/browser/cjs/index.js +18 -1
  7. package/dist/browser/cjs/index.js.map +1 -0
  8. package/dist/browser/cjs/internal/index-1o9ymQ-0.js +2339 -0
  9. package/dist/browser/cjs/internal/index-1o9ymQ-0.js.map +1 -0
  10. package/dist/browser/cjs/internal/index-BUtd0hAV.js +49 -0
  11. package/dist/browser/cjs/internal/index-BUtd0hAV.js.map +1 -0
  12. package/dist/browser/cjs/internal/object-D19DRCyd.js +4351 -0
  13. package/dist/browser/cjs/internal/object-D19DRCyd.js.map +1 -0
  14. package/dist/browser/es/document-model.js +16 -15
  15. package/dist/browser/es/document-model.js.map +1 -0
  16. package/dist/browser/es/document.js +13 -9
  17. package/dist/browser/es/document.js.map +1 -0
  18. package/dist/browser/es/index.js +13 -11
  19. package/dist/browser/es/index.js.map +1 -0
  20. package/dist/browser/es/internal/index-Chr1cTqP.js +50 -0
  21. package/dist/browser/es/internal/index-Chr1cTqP.js.map +1 -0
  22. package/dist/browser/es/internal/index-D-FR4sw9.js +2340 -0
  23. package/dist/browser/es/internal/index-D-FR4sw9.js.map +1 -0
  24. package/dist/browser/es/internal/object-BXimXhmt.js +4352 -0
  25. package/dist/browser/es/internal/object-BXimXhmt.js.map +1 -0
  26. package/dist/browser/src/document/actions/index.d.ts +2 -2
  27. package/dist/browser/src/document/object.d.ts +55 -5
  28. package/dist/browser/src/document/reducer.d.ts +30 -0
  29. package/dist/browser/src/document/types.d.ts +4 -0
  30. package/dist/browser/src/document/utils/base.d.ts +4 -3
  31. package/dist/browser/src/document/utils/document-helpers.d.ts +9 -0
  32. package/dist/node/cjs/document-model.js +25 -1
  33. package/dist/node/cjs/document-model.js.map +1 -0
  34. package/dist/node/cjs/document.js +22 -1
  35. package/dist/node/cjs/document.js.map +1 -0
  36. package/dist/node/cjs/index.js +22 -1
  37. package/dist/node/cjs/index.js.map +1 -0
  38. package/dist/node/cjs/internal/index-CPkAfk27.js +49 -0
  39. package/dist/node/cjs/internal/index-CPkAfk27.js.map +1 -0
  40. package/dist/node/cjs/internal/index-Vr62psRC.js +2343 -0
  41. package/dist/node/cjs/internal/index-Vr62psRC.js.map +1 -0
  42. package/dist/node/cjs/internal/object-Bur9CrCb.js +2353 -0
  43. package/dist/node/cjs/internal/object-Bur9CrCb.js.map +1 -0
  44. package/dist/node/es/document-model.js +15 -14
  45. package/dist/node/es/document-model.js.map +1 -0
  46. package/dist/node/es/document.js +13 -9
  47. package/dist/node/es/document.js.map +1 -0
  48. package/dist/node/es/index.js +13 -11
  49. package/dist/node/es/index.js.map +1 -0
  50. package/dist/node/es/internal/index-C1HCcE55.js +2344 -0
  51. package/dist/node/es/internal/index-C1HCcE55.js.map +1 -0
  52. package/dist/node/es/internal/index-CWmk_0Sq.js +50 -0
  53. package/dist/node/es/internal/index-CWmk_0Sq.js.map +1 -0
  54. package/dist/node/es/internal/object-BqsV7nYl.js +2354 -0
  55. package/dist/node/es/internal/object-BqsV7nYl.js.map +1 -0
  56. package/dist/node/src/document/actions/index.d.ts +2 -2
  57. package/dist/node/src/document/object.d.ts +55 -5
  58. package/dist/node/src/document/reducer.d.ts +30 -0
  59. package/dist/node/src/document/types.d.ts +4 -0
  60. package/dist/node/src/document/utils/base.d.ts +4 -3
  61. package/dist/node/src/document/utils/document-helpers.d.ts +9 -0
  62. package/dist/src/document/actions/creators.d.ts +47 -0
  63. package/dist/src/document/actions/index.d.ts +14 -0
  64. package/dist/src/document/actions/types.d.ts +15 -0
  65. package/dist/src/document/index.d.ts +6 -0
  66. package/dist/src/document/object.d.ts +1260 -0
  67. package/dist/src/document/reducer.d.ts +73 -0
  68. package/dist/src/document/schema/index.d.ts +2 -0
  69. package/dist/src/document/schema/types.d.ts +176 -0
  70. package/dist/src/document/schema/zod.d.ts +113 -0
  71. package/dist/src/document/signal.d.ts +29 -0
  72. package/dist/src/document/types.d.ts +259 -0
  73. package/dist/src/document/utils/base.d.ts +87 -0
  74. package/dist/src/document/utils/document-helpers.d.ts +62 -0
  75. package/dist/src/document/utils/file.d.ts +48 -0
  76. package/dist/src/document/utils/index.d.ts +5 -0
  77. package/dist/src/document/utils/node.d.ts +9 -0
  78. package/dist/src/document/utils/validation.d.ts +2 -0
  79. package/dist/src/document-model/custom/reducers/header.d.ts +2 -0
  80. package/dist/src/document-model/custom/reducers/module.d.ts +2 -0
  81. package/dist/src/document-model/custom/reducers/operation-error.d.ts +2 -0
  82. package/dist/src/document-model/custom/reducers/operation-example.d.ts +2 -0
  83. package/dist/src/document-model/custom/reducers/operation.d.ts +2 -0
  84. package/dist/src/document-model/custom/reducers/state.d.ts +2 -0
  85. package/dist/src/document-model/custom/reducers/versioning.d.ts +7 -0
  86. package/dist/src/document-model/custom/utils.d.ts +7 -0
  87. package/dist/src/document-model/gen/actions.d.ts +15 -0
  88. package/dist/src/document-model/gen/creators.d.ts +7 -0
  89. package/dist/src/document-model/gen/document-model.d.ts +2 -0
  90. package/dist/src/document-model/gen/header/actions.d.ts +9 -0
  91. package/dist/src/document-model/gen/header/creators.d.ts +8 -0
  92. package/dist/src/document-model/gen/header/object.d.ts +12 -0
  93. package/dist/src/document-model/gen/header/operations.d.ts +10 -0
  94. package/dist/src/document-model/gen/index.d.ts +5 -0
  95. package/dist/src/document-model/gen/module/actions.d.ts +8 -0
  96. package/dist/src/document-model/gen/module/creators.d.ts +7 -0
  97. package/dist/src/document-model/gen/module/object.d.ts +11 -0
  98. package/dist/src/document-model/gen/module/operations.d.ts +9 -0
  99. package/dist/src/document-model/gen/object.d.ts +28 -0
  100. package/dist/src/document-model/gen/operation/actions.d.ts +13 -0
  101. package/dist/src/document-model/gen/operation/creators.d.ts +12 -0
  102. package/dist/src/document-model/gen/operation/object.d.ts +16 -0
  103. package/dist/src/document-model/gen/operation/operations.d.ts +14 -0
  104. package/dist/src/document-model/gen/operation-error/actions.d.ts +10 -0
  105. package/dist/src/document-model/gen/operation-error/creators.d.ts +9 -0
  106. package/dist/src/document-model/gen/operation-error/object.d.ts +13 -0
  107. package/dist/src/document-model/gen/operation-error/operations.d.ts +11 -0
  108. package/dist/src/document-model/gen/operation-example/actions.d.ts +7 -0
  109. package/dist/src/document-model/gen/operation-example/creators.d.ts +6 -0
  110. package/dist/src/document-model/gen/operation-example/object.d.ts +10 -0
  111. package/dist/src/document-model/gen/operation-example/operations.d.ts +8 -0
  112. package/dist/src/document-model/gen/reducer.d.ts +5 -0
  113. package/dist/src/document-model/gen/schema/index.d.ts +2 -0
  114. package/dist/src/document-model/gen/schema/types.d.ts +453 -0
  115. package/dist/src/document-model/gen/schema/zod.d.ts +453 -0
  116. package/dist/src/document-model/gen/state/actions.d.ts +9 -0
  117. package/dist/src/document-model/gen/state/creators.d.ts +8 -0
  118. package/dist/src/document-model/gen/state/object.d.ts +12 -0
  119. package/dist/src/document-model/gen/state/operations.d.ts +10 -0
  120. package/dist/src/document-model/gen/types.d.ts +8 -0
  121. package/dist/src/document-model/gen/utils.d.ts +6 -0
  122. package/dist/src/document-model/gen/versioning/actions.d.ts +8 -0
  123. package/dist/src/document-model/gen/versioning/creators.d.ts +7 -0
  124. package/dist/src/document-model/gen/versioning/object.d.ts +11 -0
  125. package/dist/src/document-model/gen/versioning/operations.d.ts +9 -0
  126. package/dist/src/document-model/index.d.ts +80 -0
  127. package/dist/src/index.d.ts +25 -0
  128. package/dist/vite.config.d.ts +2 -0
  129. package/dist/vitest.config.d.ts +2 -0
  130. package/package.json +3 -1
  131. package/dist/browser/cjs/internal/index-DMRH7zDy.js +0 -1
  132. package/dist/browser/cjs/internal/index-dwAOfmBp.js +0 -22
  133. package/dist/browser/cjs/internal/object-C-PazS9q.js +0 -25
  134. package/dist/browser/es/internal/index-BVJxzkIs.js +0 -44
  135. package/dist/browser/es/internal/index-DQztOVJu.js +0 -2104
  136. package/dist/browser/es/internal/object-iTBekDVP.js +0 -2800
  137. package/dist/node/cjs/internal/index-BNFVmPew.js +0 -22
  138. package/dist/node/cjs/internal/index-FvRO8SnG.js +0 -1
  139. package/dist/node/cjs/internal/object-Xvr4kDQj.js +0 -20
  140. package/dist/node/es/internal/index-BIrQOTP_.js +0 -44
  141. package/dist/node/es/internal/index-DOpbr_uw.js +0 -2108
  142. package/dist/node/es/internal/object-C2s2eZ08.js +0 -1698
@@ -1,2800 +0,0 @@
1
- var Xe = Object.defineProperty;
2
- var Ve = (i, r, o) => r in i ? Xe(i, r, { enumerable: !0, configurable: !0, writable: !0, value: o }) : i[r] = o;
3
- var At = (i, r, o) => (Ve(i, typeof r != "symbol" ? r + "" : r, o), o);
4
- import { produce as Ot, castDraft as Bt, castImmutable as Ke, freeze as Ge } from "immer";
5
- import { z as _ } from "zod";
6
- import oe from "jszip";
7
- const ae = (i) => i != null, Ze = _.any().refine((i) => ae(i)), se = _.enum(["LOAD_STATE"]), pe = _.enum(["PRUNE"]), ce = _.enum(["REDO"]), le = _.enum(["SET_NAME"]), ue = _.enum(["UNDO"]);
8
- function Ye() {
9
- return _.object({
10
- __typename: _.literal("Action").optional(),
11
- type: _.string()
12
- });
13
- }
14
- function yt() {
15
- return _.literal("global").or(_.literal("local"));
16
- }
17
- function fe() {
18
- return _.union([
19
- he(),
20
- xe(),
21
- de(),
22
- ge(),
23
- ye()
24
- ]);
25
- }
26
- function Qe() {
27
- return _.object({
28
- __typename: _.literal("DocumentFile").optional(),
29
- data: _.string(),
30
- extension: _.string().nullable(),
31
- fileName: _.string().nullable(),
32
- mimeType: _.string()
33
- });
34
- }
35
- function he() {
36
- return _.object({
37
- input: _.lazy(() => zt()),
38
- type: se,
39
- scope: yt()
40
- });
41
- }
42
- function zt() {
43
- return _.object({
44
- operations: _.number(),
45
- state: _.lazy(() => me())
46
- });
47
- }
48
- function me() {
49
- return _.object({
50
- data: _.unknown().nullish(),
51
- name: _.string()
52
- });
53
- }
54
- function ti() {
55
- return _.object({
56
- __typename: _.literal("Operation").optional(),
57
- hash: _.string(),
58
- index: _.number(),
59
- timestamp: _.string().datetime(),
60
- type: _.string()
61
- });
62
- }
63
- function xe() {
64
- return _.object({
65
- input: _.lazy(() => qt()),
66
- type: pe,
67
- scope: yt()
68
- });
69
- }
70
- function qt() {
71
- return _.object({
72
- end: _.number().nullish(),
73
- start: _.number().nullish()
74
- });
75
- }
76
- const Jt = _.number;
77
- function de() {
78
- return _.object({
79
- input: Jt(),
80
- type: ce,
81
- scope: yt()
82
- });
83
- }
84
- const Ht = _.string;
85
- function ge() {
86
- return _.object({
87
- input: Ht(),
88
- type: le,
89
- scope: _.literal("global")
90
- });
91
- }
92
- function ei() {
93
- return _.object({
94
- __typename: _.literal("SetNameOperation").optional(),
95
- hash: _.string(),
96
- index: _.number(),
97
- input: _.string(),
98
- timestamp: _.string().datetime(),
99
- type: _.string()
100
- });
101
- }
102
- const Wt = _.number;
103
- function ye() {
104
- return _.object({
105
- input: Wt(),
106
- type: ue,
107
- scope: yt()
108
- });
109
- }
110
- const gr = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
111
- __proto__: null,
112
- ActionSchema: Ye,
113
- BaseActionSchema: fe,
114
- DocumentFileSchema: Qe,
115
- LoadStateActionInputSchema: zt,
116
- LoadStateActionSchema: he,
117
- LoadStateActionStateInputSchema: me,
118
- Load_StateSchema: se,
119
- OperationSchema: ti,
120
- OperationScopeSchema: yt,
121
- PruneActionInputSchema: qt,
122
- PruneActionSchema: xe,
123
- PruneSchema: pe,
124
- RedoActionInputSchema: Jt,
125
- RedoActionSchema: de,
126
- RedoSchema: ce,
127
- SetNameActionInputSchema: Ht,
128
- SetNameActionSchema: ge,
129
- SetNameOperationSchema: ei,
130
- Set_NameSchema: le,
131
- UndoActionInputSchema: Wt,
132
- UndoActionSchema: ye,
133
- UndoSchema: ue,
134
- definedNonNullAnySchema: Ze,
135
- isDefinedNonNullAny: ae
136
- }, Symbol.toStringTag, { value: "Module" }));
137
- function Xt(i) {
138
- return i && i.__esModule && Object.prototype.hasOwnProperty.call(i, "default") ? i.default : i;
139
- }
140
- var Nt = { exports: {} };
141
- (function(i, r) {
142
- const { hasOwnProperty: o } = Object.prototype, p = Z();
143
- p.configure = Z, p.stringify = p, p.default = p, r.stringify = p, r.configure = Z, i.exports = p;
144
- const u = /[\u0000-\u001f\u0022\u005c\ud800-\udfff]|[\ud800-\udbff](?![\udc00-\udfff])|(?:[^\ud800-\udbff]|^)[\udc00-\udfff]/;
145
- function f(w) {
146
- return w.length < 5e3 && !u.test(w) ? `"${w}"` : JSON.stringify(w);
147
- }
148
- function c(w) {
149
- if (w.length > 200)
150
- return w.sort();
151
- for (let E = 1; E < w.length; E++) {
152
- const S = w[E];
153
- let R = E;
154
- for (; R !== 0 && w[R - 1] > S; )
155
- w[R] = w[R - 1], R--;
156
- w[R] = S;
157
- }
158
- return w;
159
- }
160
- const a = Object.getOwnPropertyDescriptor(
161
- Object.getPrototypeOf(
162
- Object.getPrototypeOf(
163
- new Int8Array()
164
- )
165
- ),
166
- Symbol.toStringTag
167
- ).get;
168
- function h(w) {
169
- return a.call(w) !== void 0 && w.length !== 0;
170
- }
171
- function g(w, E, S) {
172
- w.length < S && (S = w.length);
173
- const R = E === "," ? "" : " ";
174
- let H = `"0":${R}${w[0]}`;
175
- for (let W = 1; W < S; W++)
176
- H += `${E}"${W}":${R}${w[W]}`;
177
- return H;
178
- }
179
- function y(w) {
180
- if (o.call(w, "circularValue")) {
181
- const E = w.circularValue;
182
- if (typeof E == "string")
183
- return `"${E}"`;
184
- if (E == null)
185
- return E;
186
- if (E === Error || E === TypeError)
187
- return {
188
- toString() {
189
- throw new TypeError("Converting circular structure to JSON");
190
- }
191
- };
192
- throw new TypeError('The "circularValue" argument must be of type string or the value null or undefined');
193
- }
194
- return '"[Circular]"';
195
- }
196
- function b(w, E) {
197
- let S;
198
- if (o.call(w, E) && (S = w[E], typeof S != "boolean"))
199
- throw new TypeError(`The "${E}" argument must be of type boolean`);
200
- return S === void 0 ? !0 : S;
201
- }
202
- function F(w, E) {
203
- let S;
204
- if (o.call(w, E)) {
205
- if (S = w[E], typeof S != "number")
206
- throw new TypeError(`The "${E}" argument must be of type number`);
207
- if (!Number.isInteger(S))
208
- throw new TypeError(`The "${E}" argument must be an integer`);
209
- if (S < 1)
210
- throw new RangeError(`The "${E}" argument must be >= 1`);
211
- }
212
- return S === void 0 ? 1 / 0 : S;
213
- }
214
- function j(w) {
215
- return w === 1 ? "1 item" : `${w} items`;
216
- }
217
- function $(w) {
218
- const E = /* @__PURE__ */ new Set();
219
- for (const S of w)
220
- (typeof S == "string" || typeof S == "number") && E.add(String(S));
221
- return E;
222
- }
223
- function q(w) {
224
- if (o.call(w, "strict")) {
225
- const E = w.strict;
226
- if (typeof E != "boolean")
227
- throw new TypeError('The "strict" argument must be of type boolean');
228
- if (E)
229
- return (S) => {
230
- let R = `Object can not safely be stringified. Received type ${typeof S}`;
231
- throw typeof S != "function" && (R += ` (${S.toString()})`), new Error(R);
232
- };
233
- }
234
- }
235
- function Z(w) {
236
- w = { ...w };
237
- const E = q(w);
238
- E && (w.bigint === void 0 && (w.bigint = !1), "circularValue" in w || (w.circularValue = Error));
239
- const S = y(w), R = b(w, "bigint"), H = b(w, "deterministic"), W = F(w, "maximumDepth"), M = F(w, "maximumBreadth");
240
- function ut(X, m, v, T, O, C) {
241
- let A = m[X];
242
- switch (typeof A == "object" && A !== null && typeof A.toJSON == "function" && (A = A.toJSON(X)), A = T.call(m, X, A), typeof A) {
243
- case "string":
244
- return f(A);
245
- case "object": {
246
- if (A === null)
247
- return "null";
248
- if (v.indexOf(A) !== -1)
249
- return S;
250
- let k = "", B = ",";
251
- const I = C;
252
- if (Array.isArray(A)) {
253
- if (A.length === 0)
254
- return "[]";
255
- if (W < v.length + 1)
256
- return '"[Array]"';
257
- v.push(A), O !== "" && (C += O, k += `
258
- ${C}`, B = `,
259
- ${C}`);
260
- const V = Math.min(A.length, M);
261
- let Q = 0;
262
- for (; Q < V - 1; Q++) {
263
- const ct = ut(String(Q), A, v, T, O, C);
264
- k += ct !== void 0 ? ct : "null", k += B;
265
- }
266
- const tt = ut(String(Q), A, v, T, O, C);
267
- if (k += tt !== void 0 ? tt : "null", A.length - 1 > M) {
268
- const ct = A.length - M - 1;
269
- k += `${B}"... ${j(ct)} not stringified"`;
270
- }
271
- return O !== "" && (k += `
272
- ${I}`), v.pop(), `[${k}]`;
273
- }
274
- let L = Object.keys(A);
275
- const J = L.length;
276
- if (J === 0)
277
- return "{}";
278
- if (W < v.length + 1)
279
- return '"[Object]"';
280
- let U = "", K = "";
281
- O !== "" && (C += O, B = `,
282
- ${C}`, U = " ");
283
- const Y = Math.min(J, M);
284
- H && !h(A) && (L = c(L)), v.push(A);
285
- for (let V = 0; V < Y; V++) {
286
- const Q = L[V], tt = ut(Q, A, v, T, O, C);
287
- tt !== void 0 && (k += `${K}${f(Q)}:${U}${tt}`, K = B);
288
- }
289
- if (J > M) {
290
- const V = J - M;
291
- k += `${K}"...":${U}"${j(V)} not stringified"`, K = B;
292
- }
293
- return O !== "" && K.length > 1 && (k = `
294
- ${C}${k}
295
- ${I}`), v.pop(), `{${k}}`;
296
- }
297
- case "number":
298
- return isFinite(A) ? String(A) : E ? E(A) : "null";
299
- case "boolean":
300
- return A === !0 ? "true" : "false";
301
- case "undefined":
302
- return;
303
- case "bigint":
304
- if (R)
305
- return String(A);
306
- default:
307
- return E ? E(A) : void 0;
308
- }
309
- }
310
- function ft(X, m, v, T, O, C) {
311
- switch (typeof m == "object" && m !== null && typeof m.toJSON == "function" && (m = m.toJSON(X)), typeof m) {
312
- case "string":
313
- return f(m);
314
- case "object": {
315
- if (m === null)
316
- return "null";
317
- if (v.indexOf(m) !== -1)
318
- return S;
319
- const A = C;
320
- let k = "", B = ",";
321
- if (Array.isArray(m)) {
322
- if (m.length === 0)
323
- return "[]";
324
- if (W < v.length + 1)
325
- return '"[Array]"';
326
- v.push(m), O !== "" && (C += O, k += `
327
- ${C}`, B = `,
328
- ${C}`);
329
- const J = Math.min(m.length, M);
330
- let U = 0;
331
- for (; U < J - 1; U++) {
332
- const Y = ft(String(U), m[U], v, T, O, C);
333
- k += Y !== void 0 ? Y : "null", k += B;
334
- }
335
- const K = ft(String(U), m[U], v, T, O, C);
336
- if (k += K !== void 0 ? K : "null", m.length - 1 > M) {
337
- const Y = m.length - M - 1;
338
- k += `${B}"... ${j(Y)} not stringified"`;
339
- }
340
- return O !== "" && (k += `
341
- ${A}`), v.pop(), `[${k}]`;
342
- }
343
- v.push(m);
344
- let I = "";
345
- O !== "" && (C += O, B = `,
346
- ${C}`, I = " ");
347
- let L = "";
348
- for (const J of T) {
349
- const U = ft(J, m[J], v, T, O, C);
350
- U !== void 0 && (k += `${L}${f(J)}:${I}${U}`, L = B);
351
- }
352
- return O !== "" && L.length > 1 && (k = `
353
- ${C}${k}
354
- ${A}`), v.pop(), `{${k}}`;
355
- }
356
- case "number":
357
- return isFinite(m) ? String(m) : E ? E(m) : "null";
358
- case "boolean":
359
- return m === !0 ? "true" : "false";
360
- case "undefined":
361
- return;
362
- case "bigint":
363
- if (R)
364
- return String(m);
365
- default:
366
- return E ? E(m) : void 0;
367
- }
368
- }
369
- function st(X, m, v, T, O) {
370
- switch (typeof m) {
371
- case "string":
372
- return f(m);
373
- case "object": {
374
- if (m === null)
375
- return "null";
376
- if (typeof m.toJSON == "function") {
377
- if (m = m.toJSON(X), typeof m != "object")
378
- return st(X, m, v, T, O);
379
- if (m === null)
380
- return "null";
381
- }
382
- if (v.indexOf(m) !== -1)
383
- return S;
384
- const C = O;
385
- if (Array.isArray(m)) {
386
- if (m.length === 0)
387
- return "[]";
388
- if (W < v.length + 1)
389
- return '"[Array]"';
390
- v.push(m), O += T;
391
- let U = `
392
- ${O}`;
393
- const K = `,
394
- ${O}`, Y = Math.min(m.length, M);
395
- let V = 0;
396
- for (; V < Y - 1; V++) {
397
- const tt = st(String(V), m[V], v, T, O);
398
- U += tt !== void 0 ? tt : "null", U += K;
399
- }
400
- const Q = st(String(V), m[V], v, T, O);
401
- if (U += Q !== void 0 ? Q : "null", m.length - 1 > M) {
402
- const tt = m.length - M - 1;
403
- U += `${K}"... ${j(tt)} not stringified"`;
404
- }
405
- return U += `
406
- ${C}`, v.pop(), `[${U}]`;
407
- }
408
- let A = Object.keys(m);
409
- const k = A.length;
410
- if (k === 0)
411
- return "{}";
412
- if (W < v.length + 1)
413
- return '"[Object]"';
414
- O += T;
415
- const B = `,
416
- ${O}`;
417
- let I = "", L = "", J = Math.min(k, M);
418
- h(m) && (I += g(m, B, M), A = A.slice(m.length), J -= m.length, L = B), H && (A = c(A)), v.push(m);
419
- for (let U = 0; U < J; U++) {
420
- const K = A[U], Y = st(K, m[K], v, T, O);
421
- Y !== void 0 && (I += `${L}${f(K)}: ${Y}`, L = B);
422
- }
423
- if (k > M) {
424
- const U = k - M;
425
- I += `${L}"...": "${j(U)} not stringified"`, L = B;
426
- }
427
- return L !== "" && (I = `
428
- ${O}${I}
429
- ${C}`), v.pop(), `{${I}}`;
430
- }
431
- case "number":
432
- return isFinite(m) ? String(m) : E ? E(m) : "null";
433
- case "boolean":
434
- return m === !0 ? "true" : "false";
435
- case "undefined":
436
- return;
437
- case "bigint":
438
- if (R)
439
- return String(m);
440
- default:
441
- return E ? E(m) : void 0;
442
- }
443
- }
444
- function pt(X, m, v) {
445
- switch (typeof m) {
446
- case "string":
447
- return f(m);
448
- case "object": {
449
- if (m === null)
450
- return "null";
451
- if (typeof m.toJSON == "function") {
452
- if (m = m.toJSON(X), typeof m != "object")
453
- return pt(X, m, v);
454
- if (m === null)
455
- return "null";
456
- }
457
- if (v.indexOf(m) !== -1)
458
- return S;
459
- let T = "";
460
- if (Array.isArray(m)) {
461
- if (m.length === 0)
462
- return "[]";
463
- if (W < v.length + 1)
464
- return '"[Array]"';
465
- v.push(m);
466
- const B = Math.min(m.length, M);
467
- let I = 0;
468
- for (; I < B - 1; I++) {
469
- const J = pt(String(I), m[I], v);
470
- T += J !== void 0 ? J : "null", T += ",";
471
- }
472
- const L = pt(String(I), m[I], v);
473
- if (T += L !== void 0 ? L : "null", m.length - 1 > M) {
474
- const J = m.length - M - 1;
475
- T += `,"... ${j(J)} not stringified"`;
476
- }
477
- return v.pop(), `[${T}]`;
478
- }
479
- let O = Object.keys(m);
480
- const C = O.length;
481
- if (C === 0)
482
- return "{}";
483
- if (W < v.length + 1)
484
- return '"[Object]"';
485
- let A = "", k = Math.min(C, M);
486
- h(m) && (T += g(m, ",", M), O = O.slice(m.length), k -= m.length, A = ","), H && (O = c(O)), v.push(m);
487
- for (let B = 0; B < k; B++) {
488
- const I = O[B], L = pt(I, m[I], v);
489
- L !== void 0 && (T += `${A}${f(I)}:${L}`, A = ",");
490
- }
491
- if (C > M) {
492
- const B = C - M;
493
- T += `${A}"...":"${j(B)} not stringified"`;
494
- }
495
- return v.pop(), `{${T}}`;
496
- }
497
- case "number":
498
- return isFinite(m) ? String(m) : E ? E(m) : "null";
499
- case "boolean":
500
- return m === !0 ? "true" : "false";
501
- case "undefined":
502
- return;
503
- case "bigint":
504
- if (R)
505
- return String(m);
506
- default:
507
- return E ? E(m) : void 0;
508
- }
509
- }
510
- function Dt(X, m, v) {
511
- if (arguments.length > 1) {
512
- let T = "";
513
- if (typeof v == "number" ? T = " ".repeat(Math.min(v, 10)) : typeof v == "string" && (T = v.slice(0, 10)), m != null) {
514
- if (typeof m == "function")
515
- return ut("", { "": X }, [], m, T, "");
516
- if (Array.isArray(m))
517
- return ft("", X, [], $(m), T, "");
518
- }
519
- if (T.length !== 0)
520
- return st("", X, [], T, "");
521
- }
522
- return pt("", X, []);
523
- }
524
- return Dt;
525
- }
526
- })(Nt, Nt.exports);
527
- var ii = Nt.exports;
528
- const xt = /* @__PURE__ */ Xt(ii);
529
- xt.configure;
530
- function ri(i, r) {
531
- return { ...i, name: r };
532
- }
533
- function ni(i, r, o) {
534
- const { scope: p, input: u } = r;
535
- return Ot({
536
- document: i,
537
- action: r,
538
- skip: o
539
- }, (c) => {
540
- if (c.document.operations[p].length < 1)
541
- throw new Error(
542
- `Cannot undo: no operations in history for scope "${p}"`
543
- );
544
- if (u < 1)
545
- throw new Error(
546
- "Invalid UNDO action: input value must be greater than 0"
547
- );
548
- if (c.skip > 0)
549
- throw new Error(
550
- "Cannot undo: skip value from reducer cannot be used with UNDO action"
551
- );
552
- const a = c.document.operations[p].at(-1), h = a && a.type === "NOOP" && a.skip > 0;
553
- if (c.skip += u, h) {
554
- c.skip += a.skip;
555
- const F = c.document.operations[p][c.document.operations[p].length - 2];
556
- F && a.index - F.index === 1 && c.document.operations[p].pop();
557
- }
558
- if (c.document.operations[p].length < c.skip)
559
- throw new Error(
560
- "Cannot undo: you can't undo more operations than the ones in the scope history"
561
- );
562
- const g = c.document.operations[p].length - 1;
563
- let y = u, b = h ? g - a.skip : g;
564
- for (; y > 0 && b >= 0; ) {
565
- const F = c.document.operations[p][b];
566
- if (!F) {
567
- y--, b--;
568
- continue;
569
- }
570
- F.type === "NOOP" && F.skip > 0 ? (b = b - (F.skip + 1), c.skip += F.skip + 1) : (c.document.clipboard.push({ ...F }), y--, b--);
571
- }
572
- c.action = He(p);
573
- });
574
- }
575
- function oi(i, r, o) {
576
- const { scope: p, input: u } = r;
577
- return Ot({
578
- document: i,
579
- action: r,
580
- skip: o
581
- }, (c) => {
582
- if (c.skip > 0)
583
- throw new Error(
584
- "Cannot redo: skip value from reducer cannot be used with REDO action"
585
- );
586
- if (u > 1)
587
- throw new Error(
588
- "Cannot redo: you can only redo one operation at a time"
589
- );
590
- if (u < 1)
591
- throw new Error("Invalid REDO action: invalid redo input value");
592
- if (c.document.clipboard.length < 1)
593
- throw new Error("Cannot redo: no operations in the clipboard");
594
- const a = c.document.clipboard.findLastIndex(
595
- (g) => g.scope === p
596
- );
597
- if (a < 0)
598
- throw new Error(
599
- `Cannot redo: no operations in clipboard for scope "${p}"`
600
- );
601
- const h = c.document.clipboard.splice(a, 1)[0];
602
- c.action = Bt({
603
- type: h.type,
604
- scope: h.scope,
605
- input: h.input
606
- });
607
- });
608
- }
609
- function ai(i, r, o) {
610
- const { scope: p } = r, u = i.operations[p];
611
- let {
612
- input: { start: f, end: c }
613
- } = r;
614
- f = f || 0, c = c || u.length;
615
- const a = u.slice(f, c), h = u.slice(0, f), g = u.slice(c), y = Pt(
616
- i.initialState,
617
- {
618
- ...i.operations,
619
- [p]: h.concat(a)
620
- },
621
- o
622
- ), { name: b, state: F } = y, j = h.length, $ = h.length ? h[h.length - 1].timestamp : g.length ? g[0].timestamp : (/* @__PURE__ */ new Date()).toISOString();
623
- return Pt(
624
- i.initialState,
625
- {
626
- ...i.operations,
627
- [p]: [
628
- ...h,
629
- {
630
- ...te(
631
- { name: b, state: F },
632
- a.length
633
- ),
634
- timestamp: $,
635
- index: j,
636
- hash: Qt({ state: F }, "global")
637
- },
638
- ...g.map((q, Z) => ({
639
- ...q,
640
- index: j + Z + 1
641
- }))
642
- ]
643
- },
644
- o
645
- );
646
- }
647
- function si(i, r) {
648
- return {
649
- ...i,
650
- name: r.name,
651
- state: r.state ?? { global: {}, local: {} }
652
- };
653
- }
654
- const we = "SET_NAME", wt = "UNDO", Et = "REDO", It = "PRUNE", Ee = "LOAD_STATE", pi = "NOOP", be = { "application/andrew-inset": ["ez"], "application/appinstaller": ["appinstaller"], "application/applixware": ["aw"], "application/appx": ["appx"], "application/appxbundle": ["appxbundle"], "application/atom+xml": ["atom"], "application/atomcat+xml": ["atomcat"], "application/atomdeleted+xml": ["atomdeleted"], "application/atomsvc+xml": ["atomsvc"], "application/atsc-dwd+xml": ["dwd"], "application/atsc-held+xml": ["held"], "application/atsc-rsat+xml": ["rsat"], "application/automationml-aml+xml": ["aml"], "application/automationml-amlx+zip": ["amlx"], "application/bdoc": ["bdoc"], "application/calendar+xml": ["xcs"], "application/ccxml+xml": ["ccxml"], "application/cdfx+xml": ["cdfx"], "application/cdmi-capability": ["cdmia"], "application/cdmi-container": ["cdmic"], "application/cdmi-domain": ["cdmid"], "application/cdmi-object": ["cdmio"], "application/cdmi-queue": ["cdmiq"], "application/cpl+xml": ["cpl"], "application/cu-seeme": ["cu"], "application/cwl": ["cwl"], "application/dash+xml": ["mpd"], "application/dash-patch+xml": ["mpp"], "application/davmount+xml": ["davmount"], "application/docbook+xml": ["dbk"], "application/dssc+der": ["dssc"], "application/dssc+xml": ["xdssc"], "application/ecmascript": ["ecma"], "application/emma+xml": ["emma"], "application/emotionml+xml": ["emotionml"], "application/epub+zip": ["epub"], "application/exi": ["exi"], "application/express": ["exp"], "application/fdf": ["fdf"], "application/fdt+xml": ["fdt"], "application/font-tdpfr": ["pfr"], "application/geo+json": ["geojson"], "application/gml+xml": ["gml"], "application/gpx+xml": ["gpx"], "application/gxf": ["gxf"], "application/gzip": ["gz"], "application/hjson": ["hjson"], "application/hyperstudio": ["stk"], "application/inkml+xml": ["ink", "inkml"], "application/ipfix": ["ipfix"], "application/its+xml": ["its"], "application/java-archive": ["jar", "war", "ear"], "application/java-serialized-object": ["ser"], "application/java-vm": ["class"], "application/javascript": ["*js"], "application/json": ["json", "map"], "application/json5": ["json5"], "application/jsonml+json": ["jsonml"], "application/ld+json": ["jsonld"], "application/lgr+xml": ["lgr"], "application/lost+xml": ["lostxml"], "application/mac-binhex40": ["hqx"], "application/mac-compactpro": ["cpt"], "application/mads+xml": ["mads"], "application/manifest+json": ["webmanifest"], "application/marc": ["mrc"], "application/marcxml+xml": ["mrcx"], "application/mathematica": ["ma", "nb", "mb"], "application/mathml+xml": ["mathml"], "application/mbox": ["mbox"], "application/media-policy-dataset+xml": ["mpf"], "application/mediaservercontrol+xml": ["mscml"], "application/metalink+xml": ["metalink"], "application/metalink4+xml": ["meta4"], "application/mets+xml": ["mets"], "application/mmt-aei+xml": ["maei"], "application/mmt-usd+xml": ["musd"], "application/mods+xml": ["mods"], "application/mp21": ["m21", "mp21"], "application/mp4": ["*mp4", "*mpg4", "mp4s", "m4p"], "application/msix": ["msix"], "application/msixbundle": ["msixbundle"], "application/msword": ["doc", "dot"], "application/mxf": ["mxf"], "application/n-quads": ["nq"], "application/n-triples": ["nt"], "application/node": ["cjs"], "application/octet-stream": ["bin", "dms", "lrf", "mar", "so", "dist", "distz", "pkg", "bpk", "dump", "elc", "deploy", "exe", "dll", "deb", "dmg", "iso", "img", "msi", "msp", "msm", "buffer"], "application/oda": ["oda"], "application/oebps-package+xml": ["opf"], "application/ogg": ["ogx"], "application/omdoc+xml": ["omdoc"], "application/onenote": ["onetoc", "onetoc2", "onetmp", "onepkg"], "application/oxps": ["oxps"], "application/p2p-overlay+xml": ["relo"], "application/patch-ops-error+xml": ["xer"], "application/pdf": ["pdf"], "application/pgp-encrypted": ["pgp"], "application/pgp-keys": ["asc"], "application/pgp-signature": ["sig", "*asc"], "application/pics-rules": ["prf"], "application/pkcs10": ["p10"], "application/pkcs7-mime": ["p7m", "p7c"], "application/pkcs7-signature": ["p7s"], "application/pkcs8": ["p8"], "application/pkix-attr-cert": ["ac"], "application/pkix-cert": ["cer"], "application/pkix-crl": ["crl"], "application/pkix-pkipath": ["pkipath"], "application/pkixcmp": ["pki"], "application/pls+xml": ["pls"], "application/postscript": ["ai", "eps", "ps"], "application/provenance+xml": ["provx"], "application/pskc+xml": ["pskcxml"], "application/raml+yaml": ["raml"], "application/rdf+xml": ["rdf", "owl"], "application/reginfo+xml": ["rif"], "application/relax-ng-compact-syntax": ["rnc"], "application/resource-lists+xml": ["rl"], "application/resource-lists-diff+xml": ["rld"], "application/rls-services+xml": ["rs"], "application/route-apd+xml": ["rapd"], "application/route-s-tsid+xml": ["sls"], "application/route-usd+xml": ["rusd"], "application/rpki-ghostbusters": ["gbr"], "application/rpki-manifest": ["mft"], "application/rpki-roa": ["roa"], "application/rsd+xml": ["rsd"], "application/rss+xml": ["rss"], "application/rtf": ["rtf"], "application/sbml+xml": ["sbml"], "application/scvp-cv-request": ["scq"], "application/scvp-cv-response": ["scs"], "application/scvp-vp-request": ["spq"], "application/scvp-vp-response": ["spp"], "application/sdp": ["sdp"], "application/senml+xml": ["senmlx"], "application/sensml+xml": ["sensmlx"], "application/set-payment-initiation": ["setpay"], "application/set-registration-initiation": ["setreg"], "application/shf+xml": ["shf"], "application/sieve": ["siv", "sieve"], "application/smil+xml": ["smi", "smil"], "application/sparql-query": ["rq"], "application/sparql-results+xml": ["srx"], "application/sql": ["sql"], "application/srgs": ["gram"], "application/srgs+xml": ["grxml"], "application/sru+xml": ["sru"], "application/ssdl+xml": ["ssdl"], "application/ssml+xml": ["ssml"], "application/swid+xml": ["swidtag"], "application/tei+xml": ["tei", "teicorpus"], "application/thraud+xml": ["tfi"], "application/timestamped-data": ["tsd"], "application/toml": ["toml"], "application/trig": ["trig"], "application/ttml+xml": ["ttml"], "application/ubjson": ["ubj"], "application/urc-ressheet+xml": ["rsheet"], "application/urc-targetdesc+xml": ["td"], "application/voicexml+xml": ["vxml"], "application/wasm": ["wasm"], "application/watcherinfo+xml": ["wif"], "application/widget": ["wgt"], "application/winhlp": ["hlp"], "application/wsdl+xml": ["wsdl"], "application/wspolicy+xml": ["wspolicy"], "application/xaml+xml": ["xaml"], "application/xcap-att+xml": ["xav"], "application/xcap-caps+xml": ["xca"], "application/xcap-diff+xml": ["xdf"], "application/xcap-el+xml": ["xel"], "application/xcap-ns+xml": ["xns"], "application/xenc+xml": ["xenc"], "application/xfdf": ["xfdf"], "application/xhtml+xml": ["xhtml", "xht"], "application/xliff+xml": ["xlf"], "application/xml": ["xml", "xsl", "xsd", "rng"], "application/xml-dtd": ["dtd"], "application/xop+xml": ["xop"], "application/xproc+xml": ["xpl"], "application/xslt+xml": ["*xsl", "xslt"], "application/xspf+xml": ["xspf"], "application/xv+xml": ["mxml", "xhvml", "xvml", "xvm"], "application/yang": ["yang"], "application/yin+xml": ["yin"], "application/zip": ["zip"], "audio/3gpp": ["*3gpp"], "audio/aac": ["adts", "aac"], "audio/adpcm": ["adp"], "audio/amr": ["amr"], "audio/basic": ["au", "snd"], "audio/midi": ["mid", "midi", "kar", "rmi"], "audio/mobile-xmf": ["mxmf"], "audio/mp3": ["*mp3"], "audio/mp4": ["m4a", "mp4a"], "audio/mpeg": ["mpga", "mp2", "mp2a", "mp3", "m2a", "m3a"], "audio/ogg": ["oga", "ogg", "spx", "opus"], "audio/s3m": ["s3m"], "audio/silk": ["sil"], "audio/wav": ["wav"], "audio/wave": ["*wav"], "audio/webm": ["weba"], "audio/xm": ["xm"], "font/collection": ["ttc"], "font/otf": ["otf"], "font/ttf": ["ttf"], "font/woff": ["woff"], "font/woff2": ["woff2"], "image/aces": ["exr"], "image/apng": ["apng"], "image/avci": ["avci"], "image/avcs": ["avcs"], "image/avif": ["avif"], "image/bmp": ["bmp", "dib"], "image/cgm": ["cgm"], "image/dicom-rle": ["drle"], "image/dpx": ["dpx"], "image/emf": ["emf"], "image/fits": ["fits"], "image/g3fax": ["g3"], "image/gif": ["gif"], "image/heic": ["heic"], "image/heic-sequence": ["heics"], "image/heif": ["heif"], "image/heif-sequence": ["heifs"], "image/hej2k": ["hej2"], "image/hsj2": ["hsj2"], "image/ief": ["ief"], "image/jls": ["jls"], "image/jp2": ["jp2", "jpg2"], "image/jpeg": ["jpeg", "jpg", "jpe"], "image/jph": ["jph"], "image/jphc": ["jhc"], "image/jpm": ["jpm", "jpgm"], "image/jpx": ["jpx", "jpf"], "image/jxr": ["jxr"], "image/jxra": ["jxra"], "image/jxrs": ["jxrs"], "image/jxs": ["jxs"], "image/jxsc": ["jxsc"], "image/jxsi": ["jxsi"], "image/jxss": ["jxss"], "image/ktx": ["ktx"], "image/ktx2": ["ktx2"], "image/png": ["png"], "image/sgi": ["sgi"], "image/svg+xml": ["svg", "svgz"], "image/t38": ["t38"], "image/tiff": ["tif", "tiff"], "image/tiff-fx": ["tfx"], "image/webp": ["webp"], "image/wmf": ["wmf"], "message/disposition-notification": ["disposition-notification"], "message/global": ["u8msg"], "message/global-delivery-status": ["u8dsn"], "message/global-disposition-notification": ["u8mdn"], "message/global-headers": ["u8hdr"], "message/rfc822": ["eml", "mime"], "model/3mf": ["3mf"], "model/gltf+json": ["gltf"], "model/gltf-binary": ["glb"], "model/iges": ["igs", "iges"], "model/jt": ["jt"], "model/mesh": ["msh", "mesh", "silo"], "model/mtl": ["mtl"], "model/obj": ["obj"], "model/prc": ["prc"], "model/step+xml": ["stpx"], "model/step+zip": ["stpz"], "model/step-xml+zip": ["stpxz"], "model/stl": ["stl"], "model/u3d": ["u3d"], "model/vrml": ["wrl", "vrml"], "model/x3d+binary": ["*x3db", "x3dbz"], "model/x3d+fastinfoset": ["x3db"], "model/x3d+vrml": ["*x3dv", "x3dvz"], "model/x3d+xml": ["x3d", "x3dz"], "model/x3d-vrml": ["x3dv"], "text/cache-manifest": ["appcache", "manifest"], "text/calendar": ["ics", "ifb"], "text/coffeescript": ["coffee", "litcoffee"], "text/css": ["css"], "text/csv": ["csv"], "text/html": ["html", "htm", "shtml"], "text/jade": ["jade"], "text/javascript": ["js", "mjs"], "text/jsx": ["jsx"], "text/less": ["less"], "text/markdown": ["md", "markdown"], "text/mathml": ["mml"], "text/mdx": ["mdx"], "text/n3": ["n3"], "text/plain": ["txt", "text", "conf", "def", "list", "log", "in", "ini"], "text/richtext": ["rtx"], "text/rtf": ["*rtf"], "text/sgml": ["sgml", "sgm"], "text/shex": ["shex"], "text/slim": ["slim", "slm"], "text/spdx": ["spdx"], "text/stylus": ["stylus", "styl"], "text/tab-separated-values": ["tsv"], "text/troff": ["t", "tr", "roff", "man", "me", "ms"], "text/turtle": ["ttl"], "text/uri-list": ["uri", "uris", "urls"], "text/vcard": ["vcard"], "text/vtt": ["vtt"], "text/wgsl": ["wgsl"], "text/xml": ["*xml"], "text/yaml": ["yaml", "yml"], "video/3gpp": ["3gp", "3gpp"], "video/3gpp2": ["3g2"], "video/h261": ["h261"], "video/h263": ["h263"], "video/h264": ["h264"], "video/iso.segment": ["m4s"], "video/jpeg": ["jpgv"], "video/jpm": ["*jpm", "*jpgm"], "video/mj2": ["mj2", "mjp2"], "video/mp2t": ["ts"], "video/mp4": ["mp4", "mp4v", "mpg4"], "video/mpeg": ["mpeg", "mpg", "mpe", "m1v", "m2v"], "video/ogg": ["ogv"], "video/quicktime": ["qt", "mov"], "video/webm": ["webm"] };
655
- Object.freeze(be);
656
- var et = function(i, r, o, p) {
657
- if (o === "a" && !p)
658
- throw new TypeError("Private accessor was defined without a getter");
659
- if (typeof r == "function" ? i !== r || !p : !r.has(i))
660
- throw new TypeError("Cannot read private member from an object whose class did not declare it");
661
- return o === "m" ? p : o === "a" ? p.call(i) : p ? p.value : r.get(i);
662
- }, mt, gt, lt;
663
- class ci {
664
- constructor(...r) {
665
- mt.set(this, /* @__PURE__ */ new Map()), gt.set(this, /* @__PURE__ */ new Map()), lt.set(this, /* @__PURE__ */ new Map());
666
- for (const o of r)
667
- this.define(o);
668
- }
669
- define(r, o = !1) {
670
- for (let [p, u] of Object.entries(r)) {
671
- p = p.toLowerCase(), u = u.map((a) => a.toLowerCase()), et(this, lt, "f").has(p) || et(this, lt, "f").set(p, /* @__PURE__ */ new Set());
672
- const f = et(this, lt, "f").get(p);
673
- let c = !0;
674
- for (let a of u) {
675
- const h = a.startsWith("*");
676
- if (a = h ? a.slice(1) : a, f == null || f.add(a), c && et(this, gt, "f").set(p, a), c = !1, h)
677
- continue;
678
- const g = et(this, mt, "f").get(a);
679
- if (g && g != p && !o)
680
- throw new Error(`"${p} -> ${a}" conflicts with "${g} -> ${a}". Pass \`force=true\` to override this definition.`);
681
- et(this, mt, "f").set(a, p);
682
- }
683
- }
684
- return this;
685
- }
686
- getType(r) {
687
- if (typeof r != "string")
688
- return null;
689
- const o = r.replace(/^.*[/\\]/, "").toLowerCase(), p = o.replace(/^.*\./, "").toLowerCase(), u = o.length < r.length;
690
- return !(p.length < o.length - 1) && u ? null : et(this, mt, "f").get(p) ?? null;
691
- }
692
- getExtension(r) {
693
- var o;
694
- return typeof r != "string" ? null : (r = (o = r == null ? void 0 : r.split) == null ? void 0 : o.call(r, ";")[0], (r && et(this, gt, "f").get(r.trim().toLowerCase())) ?? null);
695
- }
696
- getAllExtensions(r) {
697
- return typeof r != "string" ? null : et(this, lt, "f").get(r.toLowerCase()) ?? null;
698
- }
699
- _freeze() {
700
- this.define = () => {
701
- throw new Error("define() not allowed for built-in Mime objects. See https://github.com/broofa/mime/blob/main/README.md#custom-mime-instances");
702
- }, Object.freeze(this);
703
- for (const r of et(this, lt, "f").values())
704
- Object.freeze(r);
705
- return this;
706
- }
707
- _getTestState() {
708
- return {
709
- types: et(this, mt, "f"),
710
- extensions: et(this, gt, "f")
711
- };
712
- }
713
- }
714
- mt = /* @__PURE__ */ new WeakMap(), gt = /* @__PURE__ */ new WeakMap(), lt = /* @__PURE__ */ new WeakMap();
715
- const li = new ci(be)._freeze();
716
- var Mt = { exports: {} };
717
- typeof Object.create == "function" ? Mt.exports = function(r, o) {
718
- o && (r.super_ = o, r.prototype = Object.create(o.prototype, {
719
- constructor: {
720
- value: r,
721
- enumerable: !1,
722
- writable: !0,
723
- configurable: !0
724
- }
725
- }));
726
- } : Mt.exports = function(r, o) {
727
- if (o) {
728
- r.super_ = o;
729
- var p = function() {
730
- };
731
- p.prototype = o.prototype, r.prototype = new p(), r.prototype.constructor = r;
732
- }
733
- };
734
- var Se = Mt.exports, Rt = { exports: {} }, ve = {}, jt = {};
735
- jt.byteLength = hi;
736
- jt.toByteArray = xi;
737
- jt.fromByteArray = yi;
738
- var nt = [], it = [], ui = typeof Uint8Array < "u" ? Uint8Array : Array, Ut = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
739
- for (var ht = 0, fi = Ut.length; ht < fi; ++ht)
740
- nt[ht] = Ut[ht], it[Ut.charCodeAt(ht)] = ht;
741
- it[45] = 62;
742
- it[95] = 63;
743
- function _e(i) {
744
- var r = i.length;
745
- if (r % 4 > 0)
746
- throw new Error("Invalid string. Length must be a multiple of 4");
747
- var o = i.indexOf("=");
748
- o === -1 && (o = r);
749
- var p = o === r ? 0 : 4 - o % 4;
750
- return [o, p];
751
- }
752
- function hi(i) {
753
- var r = _e(i), o = r[0], p = r[1];
754
- return (o + p) * 3 / 4 - p;
755
- }
756
- function mi(i, r, o) {
757
- return (r + o) * 3 / 4 - o;
758
- }
759
- function xi(i) {
760
- var r, o = _e(i), p = o[0], u = o[1], f = new ui(mi(i, p, u)), c = 0, a = u > 0 ? p - 4 : p, h;
761
- for (h = 0; h < a; h += 4)
762
- r = it[i.charCodeAt(h)] << 18 | it[i.charCodeAt(h + 1)] << 12 | it[i.charCodeAt(h + 2)] << 6 | it[i.charCodeAt(h + 3)], f[c++] = r >> 16 & 255, f[c++] = r >> 8 & 255, f[c++] = r & 255;
763
- return u === 2 && (r = it[i.charCodeAt(h)] << 2 | it[i.charCodeAt(h + 1)] >> 4, f[c++] = r & 255), u === 1 && (r = it[i.charCodeAt(h)] << 10 | it[i.charCodeAt(h + 1)] << 4 | it[i.charCodeAt(h + 2)] >> 2, f[c++] = r >> 8 & 255, f[c++] = r & 255), f;
764
- }
765
- function di(i) {
766
- return nt[i >> 18 & 63] + nt[i >> 12 & 63] + nt[i >> 6 & 63] + nt[i & 63];
767
- }
768
- function gi(i, r, o) {
769
- for (var p, u = [], f = r; f < o; f += 3)
770
- p = (i[f] << 16 & 16711680) + (i[f + 1] << 8 & 65280) + (i[f + 2] & 255), u.push(di(p));
771
- return u.join("");
772
- }
773
- function yi(i) {
774
- for (var r, o = i.length, p = o % 3, u = [], f = 16383, c = 0, a = o - p; c < a; c += f)
775
- u.push(gi(i, c, c + f > a ? a : c + f));
776
- return p === 1 ? (r = i[o - 1], u.push(
777
- nt[r >> 2] + nt[r << 4 & 63] + "=="
778
- )) : p === 2 && (r = (i[o - 2] << 8) + i[o - 1], u.push(
779
- nt[r >> 10] + nt[r >> 4 & 63] + nt[r << 2 & 63] + "="
780
- )), u.join("");
781
- }
782
- var Vt = {};
783
- /*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
784
- Vt.read = function(i, r, o, p, u) {
785
- var f, c, a = u * 8 - p - 1, h = (1 << a) - 1, g = h >> 1, y = -7, b = o ? u - 1 : 0, F = o ? -1 : 1, j = i[r + b];
786
- for (b += F, f = j & (1 << -y) - 1, j >>= -y, y += a; y > 0; f = f * 256 + i[r + b], b += F, y -= 8)
787
- ;
788
- for (c = f & (1 << -y) - 1, f >>= -y, y += p; y > 0; c = c * 256 + i[r + b], b += F, y -= 8)
789
- ;
790
- if (f === 0)
791
- f = 1 - g;
792
- else {
793
- if (f === h)
794
- return c ? NaN : (j ? -1 : 1) * (1 / 0);
795
- c = c + Math.pow(2, p), f = f - g;
796
- }
797
- return (j ? -1 : 1) * c * Math.pow(2, f - p);
798
- };
799
- Vt.write = function(i, r, o, p, u, f) {
800
- var c, a, h, g = f * 8 - u - 1, y = (1 << g) - 1, b = y >> 1, F = u === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0, j = p ? 0 : f - 1, $ = p ? 1 : -1, q = r < 0 || r === 0 && 1 / r < 0 ? 1 : 0;
801
- for (r = Math.abs(r), isNaN(r) || r === 1 / 0 ? (a = isNaN(r) ? 1 : 0, c = y) : (c = Math.floor(Math.log(r) / Math.LN2), r * (h = Math.pow(2, -c)) < 1 && (c--, h *= 2), c + b >= 1 ? r += F / h : r += F * Math.pow(2, 1 - b), r * h >= 2 && (c++, h /= 2), c + b >= y ? (a = 0, c = y) : c + b >= 1 ? (a = (r * h - 1) * Math.pow(2, u), c = c + b) : (a = r * Math.pow(2, b - 1) * Math.pow(2, u), c = 0)); u >= 8; i[o + j] = a & 255, j += $, a /= 256, u -= 8)
802
- ;
803
- for (c = c << u | a, g += u; g > 0; i[o + j] = c & 255, j += $, c /= 256, g -= 8)
804
- ;
805
- i[o + j - $] |= q * 128;
806
- };
807
- /*!
808
- * The buffer module from node.js, for the browser.
809
- *
810
- * @author Feross Aboukhadijeh <https://feross.org>
811
- * @license MIT
812
- */
813
- (function(i) {
814
- var r = jt, o = Vt, p = typeof Symbol == "function" && typeof Symbol.for == "function" ? Symbol.for("nodejs.util.inspect.custom") : null;
815
- i.Buffer = a, i.SlowBuffer = E, i.INSPECT_MAX_BYTES = 50;
816
- var u = 2147483647;
817
- i.kMaxLength = u, a.TYPED_ARRAY_SUPPORT = f(), !a.TYPED_ARRAY_SUPPORT && typeof console < "u" && typeof console.error == "function" && console.error(
818
- "This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."
819
- );
820
- function f() {
821
- try {
822
- var n = new Uint8Array(1), t = { foo: function() {
823
- return 42;
824
- } };
825
- return Object.setPrototypeOf(t, Uint8Array.prototype), Object.setPrototypeOf(n, t), n.foo() === 42;
826
- } catch {
827
- return !1;
828
- }
829
- }
830
- Object.defineProperty(a.prototype, "parent", {
831
- enumerable: !0,
832
- get: function() {
833
- if (a.isBuffer(this))
834
- return this.buffer;
835
- }
836
- }), Object.defineProperty(a.prototype, "offset", {
837
- enumerable: !0,
838
- get: function() {
839
- if (a.isBuffer(this))
840
- return this.byteOffset;
841
- }
842
- });
843
- function c(n) {
844
- if (n > u)
845
- throw new RangeError('The value "' + n + '" is invalid for option "size"');
846
- var t = new Uint8Array(n);
847
- return Object.setPrototypeOf(t, a.prototype), t;
848
- }
849
- function a(n, t, e) {
850
- if (typeof n == "number") {
851
- if (typeof t == "string")
852
- throw new TypeError(
853
- 'The "string" argument must be of type string. Received type number'
854
- );
855
- return b(n);
856
- }
857
- return h(n, t, e);
858
- }
859
- a.poolSize = 8192;
860
- function h(n, t, e) {
861
- if (typeof n == "string")
862
- return F(n, t);
863
- if (ArrayBuffer.isView(n))
864
- return $(n);
865
- if (n == null)
866
- throw new TypeError(
867
- "The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof n
868
- );
869
- if (rt(n, ArrayBuffer) || n && rt(n.buffer, ArrayBuffer) || typeof SharedArrayBuffer < "u" && (rt(n, SharedArrayBuffer) || n && rt(n.buffer, SharedArrayBuffer)))
870
- return q(n, t, e);
871
- if (typeof n == "number")
872
- throw new TypeError(
873
- 'The "value" argument must not be of type number. Received type number'
874
- );
875
- var s = n.valueOf && n.valueOf();
876
- if (s != null && s !== n)
877
- return a.from(s, t, e);
878
- var l = Z(n);
879
- if (l)
880
- return l;
881
- if (typeof Symbol < "u" && Symbol.toPrimitive != null && typeof n[Symbol.toPrimitive] == "function")
882
- return a.from(
883
- n[Symbol.toPrimitive]("string"),
884
- t,
885
- e
886
- );
887
- throw new TypeError(
888
- "The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof n
889
- );
890
- }
891
- a.from = function(n, t, e) {
892
- return h(n, t, e);
893
- }, Object.setPrototypeOf(a.prototype, Uint8Array.prototype), Object.setPrototypeOf(a, Uint8Array);
894
- function g(n) {
895
- if (typeof n != "number")
896
- throw new TypeError('"size" argument must be of type number');
897
- if (n < 0)
898
- throw new RangeError('The value "' + n + '" is invalid for option "size"');
899
- }
900
- function y(n, t, e) {
901
- return g(n), n <= 0 ? c(n) : t !== void 0 ? typeof e == "string" ? c(n).fill(t, e) : c(n).fill(t) : c(n);
902
- }
903
- a.alloc = function(n, t, e) {
904
- return y(n, t, e);
905
- };
906
- function b(n) {
907
- return g(n), c(n < 0 ? 0 : w(n) | 0);
908
- }
909
- a.allocUnsafe = function(n) {
910
- return b(n);
911
- }, a.allocUnsafeSlow = function(n) {
912
- return b(n);
913
- };
914
- function F(n, t) {
915
- if ((typeof t != "string" || t === "") && (t = "utf8"), !a.isEncoding(t))
916
- throw new TypeError("Unknown encoding: " + t);
917
- var e = S(n, t) | 0, s = c(e), l = s.write(n, t);
918
- return l !== e && (s = s.slice(0, l)), s;
919
- }
920
- function j(n) {
921
- for (var t = n.length < 0 ? 0 : w(n.length) | 0, e = c(t), s = 0; s < t; s += 1)
922
- e[s] = n[s] & 255;
923
- return e;
924
- }
925
- function $(n) {
926
- if (rt(n, Uint8Array)) {
927
- var t = new Uint8Array(n);
928
- return q(t.buffer, t.byteOffset, t.byteLength);
929
- }
930
- return j(n);
931
- }
932
- function q(n, t, e) {
933
- if (t < 0 || n.byteLength < t)
934
- throw new RangeError('"offset" is outside of buffer bounds');
935
- if (n.byteLength < t + (e || 0))
936
- throw new RangeError('"length" is outside of buffer bounds');
937
- var s;
938
- return t === void 0 && e === void 0 ? s = new Uint8Array(n) : e === void 0 ? s = new Uint8Array(n, t) : s = new Uint8Array(n, t, e), Object.setPrototypeOf(s, a.prototype), s;
939
- }
940
- function Z(n) {
941
- if (a.isBuffer(n)) {
942
- var t = w(n.length) | 0, e = c(t);
943
- return e.length === 0 || n.copy(e, 0, 0, t), e;
944
- }
945
- if (n.length !== void 0)
946
- return typeof n.length != "number" || Ct(n.length) ? c(0) : j(n);
947
- if (n.type === "Buffer" && Array.isArray(n.data))
948
- return j(n.data);
949
- }
950
- function w(n) {
951
- if (n >= u)
952
- throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x" + u.toString(16) + " bytes");
953
- return n | 0;
954
- }
955
- function E(n) {
956
- return +n != n && (n = 0), a.alloc(+n);
957
- }
958
- a.isBuffer = function(t) {
959
- return t != null && t._isBuffer === !0 && t !== a.prototype;
960
- }, a.compare = function(t, e) {
961
- if (rt(t, Uint8Array) && (t = a.from(t, t.offset, t.byteLength)), rt(e, Uint8Array) && (e = a.from(e, e.offset, e.byteLength)), !a.isBuffer(t) || !a.isBuffer(e))
962
- throw new TypeError(
963
- 'The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array'
964
- );
965
- if (t === e)
966
- return 0;
967
- for (var s = t.length, l = e.length, x = 0, d = Math.min(s, l); x < d; ++x)
968
- if (t[x] !== e[x]) {
969
- s = t[x], l = e[x];
970
- break;
971
- }
972
- return s < l ? -1 : l < s ? 1 : 0;
973
- }, a.isEncoding = function(t) {
974
- switch (String(t).toLowerCase()) {
975
- case "hex":
976
- case "utf8":
977
- case "utf-8":
978
- case "ascii":
979
- case "latin1":
980
- case "binary":
981
- case "base64":
982
- case "ucs2":
983
- case "ucs-2":
984
- case "utf16le":
985
- case "utf-16le":
986
- return !0;
987
- default:
988
- return !1;
989
- }
990
- }, a.concat = function(t, e) {
991
- if (!Array.isArray(t))
992
- throw new TypeError('"list" argument must be an Array of Buffers');
993
- if (t.length === 0)
994
- return a.alloc(0);
995
- var s;
996
- if (e === void 0)
997
- for (e = 0, s = 0; s < t.length; ++s)
998
- e += t[s].length;
999
- var l = a.allocUnsafe(e), x = 0;
1000
- for (s = 0; s < t.length; ++s) {
1001
- var d = t[s];
1002
- if (rt(d, Uint8Array))
1003
- x + d.length > l.length ? a.from(d).copy(l, x) : Uint8Array.prototype.set.call(
1004
- l,
1005
- d,
1006
- x
1007
- );
1008
- else if (a.isBuffer(d))
1009
- d.copy(l, x);
1010
- else
1011
- throw new TypeError('"list" argument must be an Array of Buffers');
1012
- x += d.length;
1013
- }
1014
- return l;
1015
- };
1016
- function S(n, t) {
1017
- if (a.isBuffer(n))
1018
- return n.length;
1019
- if (ArrayBuffer.isView(n) || rt(n, ArrayBuffer))
1020
- return n.byteLength;
1021
- if (typeof n != "string")
1022
- throw new TypeError(
1023
- 'The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type ' + typeof n
1024
- );
1025
- var e = n.length, s = arguments.length > 2 && arguments[2] === !0;
1026
- if (!s && e === 0)
1027
- return 0;
1028
- for (var l = !1; ; )
1029
- switch (t) {
1030
- case "ascii":
1031
- case "latin1":
1032
- case "binary":
1033
- return e;
1034
- case "utf8":
1035
- case "utf-8":
1036
- return V(n).length;
1037
- case "ucs2":
1038
- case "ucs-2":
1039
- case "utf16le":
1040
- case "utf-16le":
1041
- return e * 2;
1042
- case "hex":
1043
- return e >>> 1;
1044
- case "base64":
1045
- return ct(n).length;
1046
- default:
1047
- if (l)
1048
- return s ? -1 : V(n).length;
1049
- t = ("" + t).toLowerCase(), l = !0;
1050
- }
1051
- }
1052
- a.byteLength = S;
1053
- function R(n, t, e) {
1054
- var s = !1;
1055
- if ((t === void 0 || t < 0) && (t = 0), t > this.length || ((e === void 0 || e > this.length) && (e = this.length), e <= 0) || (e >>>= 0, t >>>= 0, e <= t))
1056
- return "";
1057
- for (n || (n = "utf8"); ; )
1058
- switch (n) {
1059
- case "hex":
1060
- return A(this, t, e);
1061
- case "utf8":
1062
- case "utf-8":
1063
- return m(this, t, e);
1064
- case "ascii":
1065
- return O(this, t, e);
1066
- case "latin1":
1067
- case "binary":
1068
- return C(this, t, e);
1069
- case "base64":
1070
- return X(this, t, e);
1071
- case "ucs2":
1072
- case "ucs-2":
1073
- case "utf16le":
1074
- case "utf-16le":
1075
- return k(this, t, e);
1076
- default:
1077
- if (s)
1078
- throw new TypeError("Unknown encoding: " + n);
1079
- n = (n + "").toLowerCase(), s = !0;
1080
- }
1081
- }
1082
- a.prototype._isBuffer = !0;
1083
- function H(n, t, e) {
1084
- var s = n[t];
1085
- n[t] = n[e], n[e] = s;
1086
- }
1087
- a.prototype.swap16 = function() {
1088
- var t = this.length;
1089
- if (t % 2 !== 0)
1090
- throw new RangeError("Buffer size must be a multiple of 16-bits");
1091
- for (var e = 0; e < t; e += 2)
1092
- H(this, e, e + 1);
1093
- return this;
1094
- }, a.prototype.swap32 = function() {
1095
- var t = this.length;
1096
- if (t % 4 !== 0)
1097
- throw new RangeError("Buffer size must be a multiple of 32-bits");
1098
- for (var e = 0; e < t; e += 4)
1099
- H(this, e, e + 3), H(this, e + 1, e + 2);
1100
- return this;
1101
- }, a.prototype.swap64 = function() {
1102
- var t = this.length;
1103
- if (t % 8 !== 0)
1104
- throw new RangeError("Buffer size must be a multiple of 64-bits");
1105
- for (var e = 0; e < t; e += 8)
1106
- H(this, e, e + 7), H(this, e + 1, e + 6), H(this, e + 2, e + 5), H(this, e + 3, e + 4);
1107
- return this;
1108
- }, a.prototype.toString = function() {
1109
- var t = this.length;
1110
- return t === 0 ? "" : arguments.length === 0 ? m(this, 0, t) : R.apply(this, arguments);
1111
- }, a.prototype.toLocaleString = a.prototype.toString, a.prototype.equals = function(t) {
1112
- if (!a.isBuffer(t))
1113
- throw new TypeError("Argument must be a Buffer");
1114
- return this === t ? !0 : a.compare(this, t) === 0;
1115
- }, a.prototype.inspect = function() {
1116
- var t = "", e = i.INSPECT_MAX_BYTES;
1117
- return t = this.toString("hex", 0, e).replace(/(.{2})/g, "$1 ").trim(), this.length > e && (t += " ... "), "<Buffer " + t + ">";
1118
- }, p && (a.prototype[p] = a.prototype.inspect), a.prototype.compare = function(t, e, s, l, x) {
1119
- if (rt(t, Uint8Array) && (t = a.from(t, t.offset, t.byteLength)), !a.isBuffer(t))
1120
- throw new TypeError(
1121
- 'The "target" argument must be one of type Buffer or Uint8Array. Received type ' + typeof t
1122
- );
1123
- if (e === void 0 && (e = 0), s === void 0 && (s = t ? t.length : 0), l === void 0 && (l = 0), x === void 0 && (x = this.length), e < 0 || s > t.length || l < 0 || x > this.length)
1124
- throw new RangeError("out of range index");
1125
- if (l >= x && e >= s)
1126
- return 0;
1127
- if (l >= x)
1128
- return -1;
1129
- if (e >= s)
1130
- return 1;
1131
- if (e >>>= 0, s >>>= 0, l >>>= 0, x >>>= 0, this === t)
1132
- return 0;
1133
- for (var d = x - l, D = s - e, N = Math.min(d, D), P = this.slice(l, x), G = t.slice(e, s), z = 0; z < N; ++z)
1134
- if (P[z] !== G[z]) {
1135
- d = P[z], D = G[z];
1136
- break;
1137
- }
1138
- return d < D ? -1 : D < d ? 1 : 0;
1139
- };
1140
- function W(n, t, e, s, l) {
1141
- if (n.length === 0)
1142
- return -1;
1143
- if (typeof e == "string" ? (s = e, e = 0) : e > 2147483647 ? e = 2147483647 : e < -2147483648 && (e = -2147483648), e = +e, Ct(e) && (e = l ? 0 : n.length - 1), e < 0 && (e = n.length + e), e >= n.length) {
1144
- if (l)
1145
- return -1;
1146
- e = n.length - 1;
1147
- } else if (e < 0)
1148
- if (l)
1149
- e = 0;
1150
- else
1151
- return -1;
1152
- if (typeof t == "string" && (t = a.from(t, s)), a.isBuffer(t))
1153
- return t.length === 0 ? -1 : M(n, t, e, s, l);
1154
- if (typeof t == "number")
1155
- return t = t & 255, typeof Uint8Array.prototype.indexOf == "function" ? l ? Uint8Array.prototype.indexOf.call(n, t, e) : Uint8Array.prototype.lastIndexOf.call(n, t, e) : M(n, [t], e, s, l);
1156
- throw new TypeError("val must be string, number or Buffer");
1157
- }
1158
- function M(n, t, e, s, l) {
1159
- var x = 1, d = n.length, D = t.length;
1160
- if (s !== void 0 && (s = String(s).toLowerCase(), s === "ucs2" || s === "ucs-2" || s === "utf16le" || s === "utf-16le")) {
1161
- if (n.length < 2 || t.length < 2)
1162
- return -1;
1163
- x = 2, d /= 2, D /= 2, e /= 2;
1164
- }
1165
- function N(ee, ie) {
1166
- return x === 1 ? ee[ie] : ee.readUInt16BE(ie * x);
1167
- }
1168
- var P;
1169
- if (l) {
1170
- var G = -1;
1171
- for (P = e; P < d; P++)
1172
- if (N(n, P) === N(t, G === -1 ? 0 : P - G)) {
1173
- if (G === -1 && (G = P), P - G + 1 === D)
1174
- return G * x;
1175
- } else
1176
- G !== -1 && (P -= P - G), G = -1;
1177
- } else
1178
- for (e + D > d && (e = d - D), P = e; P >= 0; P--) {
1179
- for (var z = !0, _t = 0; _t < D; _t++)
1180
- if (N(n, P + _t) !== N(t, _t)) {
1181
- z = !1;
1182
- break;
1183
- }
1184
- if (z)
1185
- return P;
1186
- }
1187
- return -1;
1188
- }
1189
- a.prototype.includes = function(t, e, s) {
1190
- return this.indexOf(t, e, s) !== -1;
1191
- }, a.prototype.indexOf = function(t, e, s) {
1192
- return W(this, t, e, s, !0);
1193
- }, a.prototype.lastIndexOf = function(t, e, s) {
1194
- return W(this, t, e, s, !1);
1195
- };
1196
- function ut(n, t, e, s) {
1197
- e = Number(e) || 0;
1198
- var l = n.length - e;
1199
- s ? (s = Number(s), s > l && (s = l)) : s = l;
1200
- var x = t.length;
1201
- s > x / 2 && (s = x / 2);
1202
- for (var d = 0; d < s; ++d) {
1203
- var D = parseInt(t.substr(d * 2, 2), 16);
1204
- if (Ct(D))
1205
- return d;
1206
- n[e + d] = D;
1207
- }
1208
- return d;
1209
- }
1210
- function ft(n, t, e, s) {
1211
- return vt(V(t, n.length - e), n, e, s);
1212
- }
1213
- function st(n, t, e, s) {
1214
- return vt(Q(t), n, e, s);
1215
- }
1216
- function pt(n, t, e, s) {
1217
- return vt(ct(t), n, e, s);
1218
- }
1219
- function Dt(n, t, e, s) {
1220
- return vt(tt(t, n.length - e), n, e, s);
1221
- }
1222
- a.prototype.write = function(t, e, s, l) {
1223
- if (e === void 0)
1224
- l = "utf8", s = this.length, e = 0;
1225
- else if (s === void 0 && typeof e == "string")
1226
- l = e, s = this.length, e = 0;
1227
- else if (isFinite(e))
1228
- e = e >>> 0, isFinite(s) ? (s = s >>> 0, l === void 0 && (l = "utf8")) : (l = s, s = void 0);
1229
- else
1230
- throw new Error(
1231
- "Buffer.write(string, encoding, offset[, length]) is no longer supported"
1232
- );
1233
- var x = this.length - e;
1234
- if ((s === void 0 || s > x) && (s = x), t.length > 0 && (s < 0 || e < 0) || e > this.length)
1235
- throw new RangeError("Attempt to write outside buffer bounds");
1236
- l || (l = "utf8");
1237
- for (var d = !1; ; )
1238
- switch (l) {
1239
- case "hex":
1240
- return ut(this, t, e, s);
1241
- case "utf8":
1242
- case "utf-8":
1243
- return ft(this, t, e, s);
1244
- case "ascii":
1245
- case "latin1":
1246
- case "binary":
1247
- return st(this, t, e, s);
1248
- case "base64":
1249
- return pt(this, t, e, s);
1250
- case "ucs2":
1251
- case "ucs-2":
1252
- case "utf16le":
1253
- case "utf-16le":
1254
- return Dt(this, t, e, s);
1255
- default:
1256
- if (d)
1257
- throw new TypeError("Unknown encoding: " + l);
1258
- l = ("" + l).toLowerCase(), d = !0;
1259
- }
1260
- }, a.prototype.toJSON = function() {
1261
- return {
1262
- type: "Buffer",
1263
- data: Array.prototype.slice.call(this._arr || this, 0)
1264
- };
1265
- };
1266
- function X(n, t, e) {
1267
- return t === 0 && e === n.length ? r.fromByteArray(n) : r.fromByteArray(n.slice(t, e));
1268
- }
1269
- function m(n, t, e) {
1270
- e = Math.min(n.length, e);
1271
- for (var s = [], l = t; l < e; ) {
1272
- var x = n[l], d = null, D = x > 239 ? 4 : x > 223 ? 3 : x > 191 ? 2 : 1;
1273
- if (l + D <= e) {
1274
- var N, P, G, z;
1275
- switch (D) {
1276
- case 1:
1277
- x < 128 && (d = x);
1278
- break;
1279
- case 2:
1280
- N = n[l + 1], (N & 192) === 128 && (z = (x & 31) << 6 | N & 63, z > 127 && (d = z));
1281
- break;
1282
- case 3:
1283
- N = n[l + 1], P = n[l + 2], (N & 192) === 128 && (P & 192) === 128 && (z = (x & 15) << 12 | (N & 63) << 6 | P & 63, z > 2047 && (z < 55296 || z > 57343) && (d = z));
1284
- break;
1285
- case 4:
1286
- N = n[l + 1], P = n[l + 2], G = n[l + 3], (N & 192) === 128 && (P & 192) === 128 && (G & 192) === 128 && (z = (x & 15) << 18 | (N & 63) << 12 | (P & 63) << 6 | G & 63, z > 65535 && z < 1114112 && (d = z));
1287
- }
1288
- }
1289
- d === null ? (d = 65533, D = 1) : d > 65535 && (d -= 65536, s.push(d >>> 10 & 1023 | 55296), d = 56320 | d & 1023), s.push(d), l += D;
1290
- }
1291
- return T(s);
1292
- }
1293
- var v = 4096;
1294
- function T(n) {
1295
- var t = n.length;
1296
- if (t <= v)
1297
- return String.fromCharCode.apply(String, n);
1298
- for (var e = "", s = 0; s < t; )
1299
- e += String.fromCharCode.apply(
1300
- String,
1301
- n.slice(s, s += v)
1302
- );
1303
- return e;
1304
- }
1305
- function O(n, t, e) {
1306
- var s = "";
1307
- e = Math.min(n.length, e);
1308
- for (var l = t; l < e; ++l)
1309
- s += String.fromCharCode(n[l] & 127);
1310
- return s;
1311
- }
1312
- function C(n, t, e) {
1313
- var s = "";
1314
- e = Math.min(n.length, e);
1315
- for (var l = t; l < e; ++l)
1316
- s += String.fromCharCode(n[l]);
1317
- return s;
1318
- }
1319
- function A(n, t, e) {
1320
- var s = n.length;
1321
- (!t || t < 0) && (t = 0), (!e || e < 0 || e > s) && (e = s);
1322
- for (var l = "", x = t; x < e; ++x)
1323
- l += We[n[x]];
1324
- return l;
1325
- }
1326
- function k(n, t, e) {
1327
- for (var s = n.slice(t, e), l = "", x = 0; x < s.length - 1; x += 2)
1328
- l += String.fromCharCode(s[x] + s[x + 1] * 256);
1329
- return l;
1330
- }
1331
- a.prototype.slice = function(t, e) {
1332
- var s = this.length;
1333
- t = ~~t, e = e === void 0 ? s : ~~e, t < 0 ? (t += s, t < 0 && (t = 0)) : t > s && (t = s), e < 0 ? (e += s, e < 0 && (e = 0)) : e > s && (e = s), e < t && (e = t);
1334
- var l = this.subarray(t, e);
1335
- return Object.setPrototypeOf(l, a.prototype), l;
1336
- };
1337
- function B(n, t, e) {
1338
- if (n % 1 !== 0 || n < 0)
1339
- throw new RangeError("offset is not uint");
1340
- if (n + t > e)
1341
- throw new RangeError("Trying to access beyond buffer length");
1342
- }
1343
- a.prototype.readUintLE = a.prototype.readUIntLE = function(t, e, s) {
1344
- t = t >>> 0, e = e >>> 0, s || B(t, e, this.length);
1345
- for (var l = this[t], x = 1, d = 0; ++d < e && (x *= 256); )
1346
- l += this[t + d] * x;
1347
- return l;
1348
- }, a.prototype.readUintBE = a.prototype.readUIntBE = function(t, e, s) {
1349
- t = t >>> 0, e = e >>> 0, s || B(t, e, this.length);
1350
- for (var l = this[t + --e], x = 1; e > 0 && (x *= 256); )
1351
- l += this[t + --e] * x;
1352
- return l;
1353
- }, a.prototype.readUint8 = a.prototype.readUInt8 = function(t, e) {
1354
- return t = t >>> 0, e || B(t, 1, this.length), this[t];
1355
- }, a.prototype.readUint16LE = a.prototype.readUInt16LE = function(t, e) {
1356
- return t = t >>> 0, e || B(t, 2, this.length), this[t] | this[t + 1] << 8;
1357
- }, a.prototype.readUint16BE = a.prototype.readUInt16BE = function(t, e) {
1358
- return t = t >>> 0, e || B(t, 2, this.length), this[t] << 8 | this[t + 1];
1359
- }, a.prototype.readUint32LE = a.prototype.readUInt32LE = function(t, e) {
1360
- return t = t >>> 0, e || B(t, 4, this.length), (this[t] | this[t + 1] << 8 | this[t + 2] << 16) + this[t + 3] * 16777216;
1361
- }, a.prototype.readUint32BE = a.prototype.readUInt32BE = function(t, e) {
1362
- return t = t >>> 0, e || B(t, 4, this.length), this[t] * 16777216 + (this[t + 1] << 16 | this[t + 2] << 8 | this[t + 3]);
1363
- }, a.prototype.readIntLE = function(t, e, s) {
1364
- t = t >>> 0, e = e >>> 0, s || B(t, e, this.length);
1365
- for (var l = this[t], x = 1, d = 0; ++d < e && (x *= 256); )
1366
- l += this[t + d] * x;
1367
- return x *= 128, l >= x && (l -= Math.pow(2, 8 * e)), l;
1368
- }, a.prototype.readIntBE = function(t, e, s) {
1369
- t = t >>> 0, e = e >>> 0, s || B(t, e, this.length);
1370
- for (var l = e, x = 1, d = this[t + --l]; l > 0 && (x *= 256); )
1371
- d += this[t + --l] * x;
1372
- return x *= 128, d >= x && (d -= Math.pow(2, 8 * e)), d;
1373
- }, a.prototype.readInt8 = function(t, e) {
1374
- return t = t >>> 0, e || B(t, 1, this.length), this[t] & 128 ? (255 - this[t] + 1) * -1 : this[t];
1375
- }, a.prototype.readInt16LE = function(t, e) {
1376
- t = t >>> 0, e || B(t, 2, this.length);
1377
- var s = this[t] | this[t + 1] << 8;
1378
- return s & 32768 ? s | 4294901760 : s;
1379
- }, a.prototype.readInt16BE = function(t, e) {
1380
- t = t >>> 0, e || B(t, 2, this.length);
1381
- var s = this[t + 1] | this[t] << 8;
1382
- return s & 32768 ? s | 4294901760 : s;
1383
- }, a.prototype.readInt32LE = function(t, e) {
1384
- return t = t >>> 0, e || B(t, 4, this.length), this[t] | this[t + 1] << 8 | this[t + 2] << 16 | this[t + 3] << 24;
1385
- }, a.prototype.readInt32BE = function(t, e) {
1386
- return t = t >>> 0, e || B(t, 4, this.length), this[t] << 24 | this[t + 1] << 16 | this[t + 2] << 8 | this[t + 3];
1387
- }, a.prototype.readFloatLE = function(t, e) {
1388
- return t = t >>> 0, e || B(t, 4, this.length), o.read(this, t, !0, 23, 4);
1389
- }, a.prototype.readFloatBE = function(t, e) {
1390
- return t = t >>> 0, e || B(t, 4, this.length), o.read(this, t, !1, 23, 4);
1391
- }, a.prototype.readDoubleLE = function(t, e) {
1392
- return t = t >>> 0, e || B(t, 8, this.length), o.read(this, t, !0, 52, 8);
1393
- }, a.prototype.readDoubleBE = function(t, e) {
1394
- return t = t >>> 0, e || B(t, 8, this.length), o.read(this, t, !1, 52, 8);
1395
- };
1396
- function I(n, t, e, s, l, x) {
1397
- if (!a.isBuffer(n))
1398
- throw new TypeError('"buffer" argument must be a Buffer instance');
1399
- if (t > l || t < x)
1400
- throw new RangeError('"value" argument is out of bounds');
1401
- if (e + s > n.length)
1402
- throw new RangeError("Index out of range");
1403
- }
1404
- a.prototype.writeUintLE = a.prototype.writeUIntLE = function(t, e, s, l) {
1405
- if (t = +t, e = e >>> 0, s = s >>> 0, !l) {
1406
- var x = Math.pow(2, 8 * s) - 1;
1407
- I(this, t, e, s, x, 0);
1408
- }
1409
- var d = 1, D = 0;
1410
- for (this[e] = t & 255; ++D < s && (d *= 256); )
1411
- this[e + D] = t / d & 255;
1412
- return e + s;
1413
- }, a.prototype.writeUintBE = a.prototype.writeUIntBE = function(t, e, s, l) {
1414
- if (t = +t, e = e >>> 0, s = s >>> 0, !l) {
1415
- var x = Math.pow(2, 8 * s) - 1;
1416
- I(this, t, e, s, x, 0);
1417
- }
1418
- var d = s - 1, D = 1;
1419
- for (this[e + d] = t & 255; --d >= 0 && (D *= 256); )
1420
- this[e + d] = t / D & 255;
1421
- return e + s;
1422
- }, a.prototype.writeUint8 = a.prototype.writeUInt8 = function(t, e, s) {
1423
- return t = +t, e = e >>> 0, s || I(this, t, e, 1, 255, 0), this[e] = t & 255, e + 1;
1424
- }, a.prototype.writeUint16LE = a.prototype.writeUInt16LE = function(t, e, s) {
1425
- return t = +t, e = e >>> 0, s || I(this, t, e, 2, 65535, 0), this[e] = t & 255, this[e + 1] = t >>> 8, e + 2;
1426
- }, a.prototype.writeUint16BE = a.prototype.writeUInt16BE = function(t, e, s) {
1427
- return t = +t, e = e >>> 0, s || I(this, t, e, 2, 65535, 0), this[e] = t >>> 8, this[e + 1] = t & 255, e + 2;
1428
- }, a.prototype.writeUint32LE = a.prototype.writeUInt32LE = function(t, e, s) {
1429
- return t = +t, e = e >>> 0, s || I(this, t, e, 4, 4294967295, 0), this[e + 3] = t >>> 24, this[e + 2] = t >>> 16, this[e + 1] = t >>> 8, this[e] = t & 255, e + 4;
1430
- }, a.prototype.writeUint32BE = a.prototype.writeUInt32BE = function(t, e, s) {
1431
- return t = +t, e = e >>> 0, s || I(this, t, e, 4, 4294967295, 0), this[e] = t >>> 24, this[e + 1] = t >>> 16, this[e + 2] = t >>> 8, this[e + 3] = t & 255, e + 4;
1432
- }, a.prototype.writeIntLE = function(t, e, s, l) {
1433
- if (t = +t, e = e >>> 0, !l) {
1434
- var x = Math.pow(2, 8 * s - 1);
1435
- I(this, t, e, s, x - 1, -x);
1436
- }
1437
- var d = 0, D = 1, N = 0;
1438
- for (this[e] = t & 255; ++d < s && (D *= 256); )
1439
- t < 0 && N === 0 && this[e + d - 1] !== 0 && (N = 1), this[e + d] = (t / D >> 0) - N & 255;
1440
- return e + s;
1441
- }, a.prototype.writeIntBE = function(t, e, s, l) {
1442
- if (t = +t, e = e >>> 0, !l) {
1443
- var x = Math.pow(2, 8 * s - 1);
1444
- I(this, t, e, s, x - 1, -x);
1445
- }
1446
- var d = s - 1, D = 1, N = 0;
1447
- for (this[e + d] = t & 255; --d >= 0 && (D *= 256); )
1448
- t < 0 && N === 0 && this[e + d + 1] !== 0 && (N = 1), this[e + d] = (t / D >> 0) - N & 255;
1449
- return e + s;
1450
- }, a.prototype.writeInt8 = function(t, e, s) {
1451
- return t = +t, e = e >>> 0, s || I(this, t, e, 1, 127, -128), t < 0 && (t = 255 + t + 1), this[e] = t & 255, e + 1;
1452
- }, a.prototype.writeInt16LE = function(t, e, s) {
1453
- return t = +t, e = e >>> 0, s || I(this, t, e, 2, 32767, -32768), this[e] = t & 255, this[e + 1] = t >>> 8, e + 2;
1454
- }, a.prototype.writeInt16BE = function(t, e, s) {
1455
- return t = +t, e = e >>> 0, s || I(this, t, e, 2, 32767, -32768), this[e] = t >>> 8, this[e + 1] = t & 255, e + 2;
1456
- }, a.prototype.writeInt32LE = function(t, e, s) {
1457
- return t = +t, e = e >>> 0, s || I(this, t, e, 4, 2147483647, -2147483648), this[e] = t & 255, this[e + 1] = t >>> 8, this[e + 2] = t >>> 16, this[e + 3] = t >>> 24, e + 4;
1458
- }, a.prototype.writeInt32BE = function(t, e, s) {
1459
- return t = +t, e = e >>> 0, s || I(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;
1460
- };
1461
- function L(n, t, e, s, l, x) {
1462
- if (e + s > n.length)
1463
- throw new RangeError("Index out of range");
1464
- if (e < 0)
1465
- throw new RangeError("Index out of range");
1466
- }
1467
- function J(n, t, e, s, l) {
1468
- return t = +t, e = e >>> 0, l || L(n, t, e, 4), o.write(n, t, e, s, 23, 4), e + 4;
1469
- }
1470
- a.prototype.writeFloatLE = function(t, e, s) {
1471
- return J(this, t, e, !0, s);
1472
- }, a.prototype.writeFloatBE = function(t, e, s) {
1473
- return J(this, t, e, !1, s);
1474
- };
1475
- function U(n, t, e, s, l) {
1476
- return t = +t, e = e >>> 0, l || L(n, t, e, 8), o.write(n, t, e, s, 52, 8), e + 8;
1477
- }
1478
- a.prototype.writeDoubleLE = function(t, e, s) {
1479
- return U(this, t, e, !0, s);
1480
- }, a.prototype.writeDoubleBE = function(t, e, s) {
1481
- return U(this, t, e, !1, s);
1482
- }, a.prototype.copy = function(t, e, s, l) {
1483
- if (!a.isBuffer(t))
1484
- throw new TypeError("argument should be a Buffer");
1485
- if (s || (s = 0), !l && l !== 0 && (l = this.length), e >= t.length && (e = t.length), e || (e = 0), l > 0 && l < s && (l = s), l === s || t.length === 0 || this.length === 0)
1486
- return 0;
1487
- if (e < 0)
1488
- throw new RangeError("targetStart out of bounds");
1489
- if (s < 0 || s >= this.length)
1490
- throw new RangeError("Index out of range");
1491
- if (l < 0)
1492
- throw new RangeError("sourceEnd out of bounds");
1493
- l > this.length && (l = this.length), t.length - e < l - s && (l = t.length - e + s);
1494
- var x = l - s;
1495
- return this === t && typeof Uint8Array.prototype.copyWithin == "function" ? this.copyWithin(e, s, l) : Uint8Array.prototype.set.call(
1496
- t,
1497
- this.subarray(s, l),
1498
- e
1499
- ), x;
1500
- }, a.prototype.fill = function(t, e, s, l) {
1501
- if (typeof t == "string") {
1502
- if (typeof e == "string" ? (l = e, e = 0, s = this.length) : typeof s == "string" && (l = s, s = this.length), l !== void 0 && typeof l != "string")
1503
- throw new TypeError("encoding must be a string");
1504
- if (typeof l == "string" && !a.isEncoding(l))
1505
- throw new TypeError("Unknown encoding: " + l);
1506
- if (t.length === 1) {
1507
- var x = t.charCodeAt(0);
1508
- (l === "utf8" && x < 128 || l === "latin1") && (t = x);
1509
- }
1510
- } else
1511
- typeof t == "number" ? t = t & 255 : typeof t == "boolean" && (t = Number(t));
1512
- if (e < 0 || this.length < e || this.length < s)
1513
- throw new RangeError("Out of range index");
1514
- if (s <= e)
1515
- return this;
1516
- e = e >>> 0, s = s === void 0 ? this.length : s >>> 0, t || (t = 0);
1517
- var d;
1518
- if (typeof t == "number")
1519
- for (d = e; d < s; ++d)
1520
- this[d] = t;
1521
- else {
1522
- var D = a.isBuffer(t) ? t : a.from(t, l), N = D.length;
1523
- if (N === 0)
1524
- throw new TypeError('The value "' + t + '" is invalid for argument "value"');
1525
- for (d = 0; d < s - e; ++d)
1526
- this[d + e] = D[d % N];
1527
- }
1528
- return this;
1529
- };
1530
- var K = /[^+/0-9A-Za-z-_]/g;
1531
- function Y(n) {
1532
- if (n = n.split("=")[0], n = n.trim().replace(K, ""), n.length < 2)
1533
- return "";
1534
- for (; n.length % 4 !== 0; )
1535
- n = n + "=";
1536
- return n;
1537
- }
1538
- function V(n, t) {
1539
- t = t || 1 / 0;
1540
- for (var e, s = n.length, l = null, x = [], d = 0; d < s; ++d) {
1541
- if (e = n.charCodeAt(d), e > 55295 && e < 57344) {
1542
- if (!l) {
1543
- if (e > 56319) {
1544
- (t -= 3) > -1 && x.push(239, 191, 189);
1545
- continue;
1546
- } else if (d + 1 === s) {
1547
- (t -= 3) > -1 && x.push(239, 191, 189);
1548
- continue;
1549
- }
1550
- l = e;
1551
- continue;
1552
- }
1553
- if (e < 56320) {
1554
- (t -= 3) > -1 && x.push(239, 191, 189), l = e;
1555
- continue;
1556
- }
1557
- e = (l - 55296 << 10 | e - 56320) + 65536;
1558
- } else
1559
- l && (t -= 3) > -1 && x.push(239, 191, 189);
1560
- if (l = null, e < 128) {
1561
- if ((t -= 1) < 0)
1562
- break;
1563
- x.push(e);
1564
- } else if (e < 2048) {
1565
- if ((t -= 2) < 0)
1566
- break;
1567
- x.push(
1568
- e >> 6 | 192,
1569
- e & 63 | 128
1570
- );
1571
- } else if (e < 65536) {
1572
- if ((t -= 3) < 0)
1573
- break;
1574
- x.push(
1575
- e >> 12 | 224,
1576
- e >> 6 & 63 | 128,
1577
- e & 63 | 128
1578
- );
1579
- } else if (e < 1114112) {
1580
- if ((t -= 4) < 0)
1581
- break;
1582
- x.push(
1583
- e >> 18 | 240,
1584
- e >> 12 & 63 | 128,
1585
- e >> 6 & 63 | 128,
1586
- e & 63 | 128
1587
- );
1588
- } else
1589
- throw new Error("Invalid code point");
1590
- }
1591
- return x;
1592
- }
1593
- function Q(n) {
1594
- for (var t = [], e = 0; e < n.length; ++e)
1595
- t.push(n.charCodeAt(e) & 255);
1596
- return t;
1597
- }
1598
- function tt(n, t) {
1599
- for (var e, s, l, x = [], d = 0; d < n.length && !((t -= 2) < 0); ++d)
1600
- e = n.charCodeAt(d), s = e >> 8, l = e % 256, x.push(l), x.push(s);
1601
- return x;
1602
- }
1603
- function ct(n) {
1604
- return r.toByteArray(Y(n));
1605
- }
1606
- function vt(n, t, e, s) {
1607
- for (var l = 0; l < s && !(l + e >= t.length || l >= n.length); ++l)
1608
- t[l + e] = n[l];
1609
- return l;
1610
- }
1611
- function rt(n, t) {
1612
- return n instanceof t || n != null && n.constructor != null && n.constructor.name != null && n.constructor.name === t.name;
1613
- }
1614
- function Ct(n) {
1615
- return n !== n;
1616
- }
1617
- var We = function() {
1618
- for (var n = "0123456789abcdef", t = new Array(256), e = 0; e < 16; ++e)
1619
- for (var s = e * 16, l = 0; l < 16; ++l)
1620
- t[s + l] = n[e] + n[l];
1621
- return t;
1622
- }();
1623
- })(ve);
1624
- /*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */
1625
- (function(i, r) {
1626
- var o = ve, p = o.Buffer;
1627
- function u(c, a) {
1628
- for (var h in c)
1629
- a[h] = c[h];
1630
- }
1631
- p.from && p.alloc && p.allocUnsafe && p.allocUnsafeSlow ? i.exports = o : (u(o, r), r.Buffer = f);
1632
- function f(c, a, h) {
1633
- return p(c, a, h);
1634
- }
1635
- f.prototype = Object.create(p.prototype), u(p, f), f.from = function(c, a, h) {
1636
- if (typeof c == "number")
1637
- throw new TypeError("Argument must not be a number");
1638
- return p(c, a, h);
1639
- }, f.alloc = function(c, a, h) {
1640
- if (typeof c != "number")
1641
- throw new TypeError("Argument must be a number");
1642
- var g = p(c);
1643
- return a !== void 0 ? typeof h == "string" ? g.fill(a, h) : g.fill(a) : g.fill(0), g;
1644
- }, f.allocUnsafe = function(c) {
1645
- if (typeof c != "number")
1646
- throw new TypeError("Argument must be a number");
1647
- return p(c);
1648
- }, f.allocUnsafeSlow = function(c) {
1649
- if (typeof c != "number")
1650
- throw new TypeError("Argument must be a number");
1651
- return o.SlowBuffer(c);
1652
- };
1653
- })(Rt, Rt.exports);
1654
- var Kt = Rt.exports, Ae = Kt.Buffer;
1655
- function Tt(i, r) {
1656
- this._block = Ae.alloc(i), this._finalSize = r, this._blockSize = i, this._len = 0;
1657
- }
1658
- Tt.prototype.update = function(i, r) {
1659
- typeof i == "string" && (r = r || "utf8", i = Ae.from(i, r));
1660
- for (var o = this._block, p = this._blockSize, u = i.length, f = this._len, c = 0; c < u; ) {
1661
- for (var a = f % p, h = Math.min(u - c, p - a), g = 0; g < h; g++)
1662
- o[a + g] = i[c + g];
1663
- f += h, c += h, f % p === 0 && this._update(o);
1664
- }
1665
- return this._len += u, this;
1666
- };
1667
- Tt.prototype.digest = function(i) {
1668
- var r = this._len % this._blockSize;
1669
- this._block[r] = 128, this._block.fill(0, r + 1), r >= this._finalSize && (this._update(this._block), this._block.fill(0));
1670
- var o = this._len * 8;
1671
- if (o <= 4294967295)
1672
- this._block.writeUInt32BE(o, this._blockSize - 4);
1673
- else {
1674
- var p = (o & 4294967295) >>> 0, u = (o - p) / 4294967296;
1675
- this._block.writeUInt32BE(u, this._blockSize - 8), this._block.writeUInt32BE(p, this._blockSize - 4);
1676
- }
1677
- this._update(this._block);
1678
- var f = this._hash();
1679
- return i ? f.toString(i) : f;
1680
- };
1681
- Tt.prototype._update = function() {
1682
- throw new Error("_update must be implemented by subclass");
1683
- };
1684
- var Fe = Tt, wi = Se, Be = Fe, Ei = Kt.Buffer, bi = [
1685
- 1518500249,
1686
- 1859775393,
1687
- -1894007588,
1688
- -899497514
1689
- ], Si = new Array(80);
1690
- function bt() {
1691
- this.init(), this._w = Si, Be.call(this, 64, 56);
1692
- }
1693
- wi(bt, Be);
1694
- bt.prototype.init = function() {
1695
- return this._a = 1732584193, this._b = 4023233417, this._c = 2562383102, this._d = 271733878, this._e = 3285377520, this;
1696
- };
1697
- function vi(i) {
1698
- return i << 1 | i >>> 31;
1699
- }
1700
- function _i(i) {
1701
- return i << 5 | i >>> 27;
1702
- }
1703
- function Ai(i) {
1704
- return i << 30 | i >>> 2;
1705
- }
1706
- function Fi(i, r, o, p) {
1707
- return i === 0 ? r & o | ~r & p : i === 2 ? r & o | r & p | o & p : r ^ o ^ p;
1708
- }
1709
- bt.prototype._update = function(i) {
1710
- for (var r = this._w, o = this._a | 0, p = this._b | 0, u = this._c | 0, f = this._d | 0, c = this._e | 0, a = 0; a < 16; ++a)
1711
- r[a] = i.readInt32BE(a * 4);
1712
- for (; a < 80; ++a)
1713
- r[a] = vi(r[a - 3] ^ r[a - 8] ^ r[a - 14] ^ r[a - 16]);
1714
- for (var h = 0; h < 80; ++h) {
1715
- var g = ~~(h / 20), y = _i(o) + Fi(g, p, u, f) + c + r[h] + bi[g] | 0;
1716
- c = f, f = u, u = Ai(p), p = o, o = y;
1717
- }
1718
- this._a = o + this._a | 0, this._b = p + this._b | 0, this._c = u + this._c | 0, this._d = f + this._d | 0, this._e = c + this._e | 0;
1719
- };
1720
- bt.prototype._hash = function() {
1721
- var i = Ei.allocUnsafe(20);
1722
- return i.writeInt32BE(this._a | 0, 0), i.writeInt32BE(this._b | 0, 4), i.writeInt32BE(this._c | 0, 8), i.writeInt32BE(this._d | 0, 12), i.writeInt32BE(this._e | 0, 16), i;
1723
- };
1724
- var Bi = bt;
1725
- const Oi = /* @__PURE__ */ Xt(Bi);
1726
- var Ii = Se, Oe = Fe, ji = Kt.Buffer, Ti = [
1727
- 1116352408,
1728
- 1899447441,
1729
- 3049323471,
1730
- 3921009573,
1731
- 961987163,
1732
- 1508970993,
1733
- 2453635748,
1734
- 2870763221,
1735
- 3624381080,
1736
- 310598401,
1737
- 607225278,
1738
- 1426881987,
1739
- 1925078388,
1740
- 2162078206,
1741
- 2614888103,
1742
- 3248222580,
1743
- 3835390401,
1744
- 4022224774,
1745
- 264347078,
1746
- 604807628,
1747
- 770255983,
1748
- 1249150122,
1749
- 1555081692,
1750
- 1996064986,
1751
- 2554220882,
1752
- 2821834349,
1753
- 2952996808,
1754
- 3210313671,
1755
- 3336571891,
1756
- 3584528711,
1757
- 113926993,
1758
- 338241895,
1759
- 666307205,
1760
- 773529912,
1761
- 1294757372,
1762
- 1396182291,
1763
- 1695183700,
1764
- 1986661051,
1765
- 2177026350,
1766
- 2456956037,
1767
- 2730485921,
1768
- 2820302411,
1769
- 3259730800,
1770
- 3345764771,
1771
- 3516065817,
1772
- 3600352804,
1773
- 4094571909,
1774
- 275423344,
1775
- 430227734,
1776
- 506948616,
1777
- 659060556,
1778
- 883997877,
1779
- 958139571,
1780
- 1322822218,
1781
- 1537002063,
1782
- 1747873779,
1783
- 1955562222,
1784
- 2024104815,
1785
- 2227730452,
1786
- 2361852424,
1787
- 2428436474,
1788
- 2756734187,
1789
- 3204031479,
1790
- 3329325298
1791
- ], ki = new Array(64);
1792
- function St() {
1793
- this.init(), this._w = ki, Oe.call(this, 64, 56);
1794
- }
1795
- Ii(St, Oe);
1796
- St.prototype.init = function() {
1797
- return this._a = 1779033703, this._b = 3144134277, this._c = 1013904242, this._d = 2773480762, this._e = 1359893119, this._f = 2600822924, this._g = 528734635, this._h = 1541459225, this;
1798
- };
1799
- function Di(i, r, o) {
1800
- return o ^ i & (r ^ o);
1801
- }
1802
- function Ci(i, r, o) {
1803
- return i & r | o & (i | r);
1804
- }
1805
- function Ui(i) {
1806
- return (i >>> 2 | i << 30) ^ (i >>> 13 | i << 19) ^ (i >>> 22 | i << 10);
1807
- }
1808
- function $i(i) {
1809
- return (i >>> 6 | i << 26) ^ (i >>> 11 | i << 21) ^ (i >>> 25 | i << 7);
1810
- }
1811
- function Ni(i) {
1812
- return (i >>> 7 | i << 25) ^ (i >>> 18 | i << 14) ^ i >>> 3;
1813
- }
1814
- function Mi(i) {
1815
- return (i >>> 17 | i << 15) ^ (i >>> 19 | i << 13) ^ i >>> 10;
1816
- }
1817
- St.prototype._update = function(i) {
1818
- for (var r = this._w, o = this._a | 0, p = this._b | 0, u = this._c | 0, f = this._d | 0, c = this._e | 0, a = this._f | 0, h = this._g | 0, g = this._h | 0, y = 0; y < 16; ++y)
1819
- r[y] = i.readInt32BE(y * 4);
1820
- for (; y < 64; ++y)
1821
- r[y] = Mi(r[y - 2]) + r[y - 7] + Ni(r[y - 15]) + r[y - 16] | 0;
1822
- for (var b = 0; b < 64; ++b) {
1823
- var F = g + $i(c) + Di(c, a, h) + Ti[b] + r[b] | 0, j = Ui(o) + Ci(o, p, u) | 0;
1824
- g = h, h = a, a = c, c = f + F | 0, f = u, u = p, p = o, o = F + j | 0;
1825
- }
1826
- this._a = o + this._a | 0, this._b = p + this._b | 0, this._c = u + this._c | 0, this._d = f + this._d | 0, this._e = c + this._e | 0, this._f = a + this._f | 0, this._g = h + this._g | 0, this._h = g + this._h | 0;
1827
- };
1828
- St.prototype._hash = function() {
1829
- var i = ji.allocUnsafe(32);
1830
- return i.writeInt32BE(this._a, 0), i.writeInt32BE(this._b, 4), i.writeInt32BE(this._c, 8), i.writeInt32BE(this._d, 12), i.writeInt32BE(this._e, 16), i.writeInt32BE(this._f, 20), i.writeInt32BE(this._g, 24), i.writeInt32BE(this._h, 28), i;
1831
- };
1832
- var Ri = St;
1833
- const Li = /* @__PURE__ */ Xt(Ri), Gt = new Error("File system not available.");
1834
- function Pi(i, r, o) {
1835
- throw Gt;
1836
- }
1837
- function Ie(i) {
1838
- throw Gt;
1839
- }
1840
- function zi(i) {
1841
- throw Gt;
1842
- }
1843
- const qi = async (i) => Ie(), Ji = {
1844
- sha1: Oi,
1845
- sha256: Li
1846
- }, kt = (i, r = "sha1") => {
1847
- if (!["sha1", "sha256"].includes(r))
1848
- throw new Error("Hashing algorithm not supported: Available: sha1, sha256");
1849
- const o = Ji[r];
1850
- return new o().update(i).digest("base64");
1851
- };
1852
- function Hi(i) {
1853
- const r = [], o = Object.keys(i);
1854
- for (const p of o) {
1855
- const u = i[p].sort((f, c) => f.index - c.index);
1856
- for (let f = 0; f < u.length; f++)
1857
- u[f].index !== f && r.push({
1858
- message: `Invalid operation index ${u[f].index} at position ${f}`,
1859
- details: {
1860
- position: f,
1861
- operation: u[f],
1862
- scope: u[f].scope
1863
- }
1864
- });
1865
- }
1866
- return r;
1867
- }
1868
- const je = async (i) => {
1869
- const r = new oe(), { name: o, revision: p, documentType: u, created: f, lastModified: c } = i, a = {
1870
- name: o,
1871
- revision: p,
1872
- documentType: u,
1873
- created: f,
1874
- lastModified: c
1875
- };
1876
- return r.file("header.json", JSON.stringify(a, null, 2)), r.file(
1877
- "state.json",
1878
- JSON.stringify(i.initialState || {}, null, 2)
1879
- ), r.file("operations.json", JSON.stringify(i.operations, null, 2)), Object.keys(i.attachments).forEach((g) => {
1880
- const { data: y, ...b } = i.attachments[g];
1881
- r.file(g, y, {
1882
- base64: !0,
1883
- createFolders: !0,
1884
- comment: JSON.stringify(b)
1885
- });
1886
- }), r;
1887
- }, Wi = async (i, r, o, p) => {
1888
- await (await je(i)).generateAsync({
1889
- type: "uint8array",
1890
- streamFiles: !0
1891
- });
1892
- const f = p ?? i.name, c = `.${o}.zip`;
1893
- return Pi(
1894
- r,
1895
- f.endsWith(c) ? f : `${f}${c}`
1896
- );
1897
- }, yr = async (i, r) => {
1898
- const p = await (await je(i)).generateAsync({ type: "blob" }), u = await r.createWritable();
1899
- await u.write(p), await u.close();
1900
- }, re = async (i, r, o) => {
1901
- const p = Ie();
1902
- return Xi(p, r, o);
1903
- }, Xi = async (i, r, o) => {
1904
- const p = new oe();
1905
- return await p.loadAsync(i), Vi(p, r, o);
1906
- };
1907
- async function Vi(i, r, o) {
1908
- const p = i.file("state.json");
1909
- if (!p)
1910
- throw new Error("Initial state not found");
1911
- const u = await p.async("string"), f = JSON.parse(u), c = i.file("header.json");
1912
- let a;
1913
- c && (a = JSON.parse(await c.async("string")));
1914
- const h = i.file("operations.json");
1915
- if (!h)
1916
- throw new Error("Operations history not found");
1917
- const g = JSON.parse(
1918
- await h.async("string")
1919
- ), y = Hi(g);
1920
- if (y.length) {
1921
- const F = y.map((j) => j.message);
1922
- throw new Error(F.join(`
1923
- `));
1924
- }
1925
- let b = Re(
1926
- f,
1927
- g,
1928
- r,
1929
- void 0,
1930
- a,
1931
- {},
1932
- o
1933
- );
1934
- return a && (b = {
1935
- ...b,
1936
- ...a
1937
- }), b;
1938
- }
1939
- function Te(i) {
1940
- const r = i.replace(/^.*\./, "") || void 0, o = i.replace(/^.*[/\\]/, "") || void 0;
1941
- return { extension: r, fileName: o };
1942
- }
1943
- async function wr(i) {
1944
- const { buffer: r, mimeType: o = "application/octet-stream" } = await zi(), p = Te(i), u = r.toString("base64");
1945
- return {
1946
- data: u,
1947
- hash: kt(u),
1948
- mimeType: o,
1949
- ...p
1950
- };
1951
- }
1952
- async function Er(i) {
1953
- const r = await qi(), o = li.getType(i) || "application/octet-stream", p = Te(i), u = r.toString("base64");
1954
- return { data: u, hash: kt(u), mimeType: o, ...p };
1955
- }
1956
- var ke = /* @__PURE__ */ ((i) => (i.UNEXPECTED_INDEX = "UNEXPECTED_INDEX", i))(ke || {}), De = /* @__PURE__ */ ((i) => (i.DUPLICATED_INDEX = "DUPLICATED_INDEX", i.MISSING_INDEX = "MISSING_INDEX", i))(De || {});
1957
- function Zt(i) {
1958
- const r = [];
1959
- let o = -1;
1960
- for (const p of i) {
1961
- const u = p.index - p.skip;
1962
- u !== o + 1 && r.push({
1963
- operation: {
1964
- index: p.index,
1965
- skip: p.skip
1966
- },
1967
- issue: "UNEXPECTED_INDEX",
1968
- category: u > o + 1 ? "MISSING_INDEX" : "DUPLICATED_INDEX",
1969
- message: `Expected index ${o + 1} with skip 0 or equivalent, got index ${p.index} with skip ${p.skip}`
1970
- }), o = p.index;
1971
- }
1972
- return r;
1973
- }
1974
- function ot(i) {
1975
- var p, u, f;
1976
- const r = [];
1977
- let o = i.length - 1;
1978
- for (; o > -1; ) {
1979
- r.unshift(i[o]);
1980
- const c = (((p = i[o]) == null ? void 0 : p.index) || 0) - (((u = i[o]) == null ? void 0 : u.skip) || 0) - 1;
1981
- let a = o - 1;
1982
- for (; a > -1 && (((f = i[a]) == null ? void 0 : f.index) || 0) > c; )
1983
- a--;
1984
- o = a;
1985
- }
1986
- return r;
1987
- }
1988
- function Ki(i) {
1989
- const r = [...i], o = r[r.length - 1];
1990
- return o && (o.type === "NOOP" ? r.push({
1991
- ...o,
1992
- index: o.index,
1993
- type: "NOOP",
1994
- skip: $e(i)
1995
- }) : r.push({
1996
- type: "NOOP",
1997
- index: o.index + 1,
1998
- timestamp: (/* @__PURE__ */ new Date()).toISOString(),
1999
- input: {},
2000
- skip: 1,
2001
- scope: o.scope,
2002
- hash: o.hash
2003
- })), r;
2004
- }
2005
- function at(i) {
2006
- return i.slice().sort((r, o) => r.skip - o.skip).sort((r, o) => r.index - o.index);
2007
- }
2008
- const Gi = (i, r, o) => [...r, ...o].sort(
2009
- (p, u) => new Date(p.timestamp).getTime() - new Date(u.timestamp).getTime()
2010
- ).map((p, u) => ({
2011
- ...p,
2012
- index: i.index + u,
2013
- skip: u === 0 ? i.skip : 0
2014
- })), Zi = (i, r, o) => [...r, ...o].sort(
2015
- (p, u) => new Date(p.timestamp).getTime() - new Date(u.timestamp).getTime()
2016
- ).sort((p, u) => p.index - u.index).map((p, u) => ({
2017
- ...p,
2018
- index: i.index + u,
2019
- skip: u === 0 ? i.skip : 0
2020
- }));
2021
- function Yt(i, r) {
2022
- return xt(i) === xt(r);
2023
- }
2024
- function Yi(i, r) {
2025
- const o = ot(at(i.slice())), p = ot(at(r.slice()));
2026
- if (o.length < 1)
2027
- return [p, []];
2028
- const u = [];
2029
- let f = !1;
2030
- for (; p.length > 0; ) {
2031
- const c = p[0];
2032
- let a = o.shift();
2033
- for (; a && Ce(a, c); )
2034
- u.push(a), a = o.shift();
2035
- if (a ? f || (Yt(a, c) ? (p.shift(), u.push(a)) : (o.unshift(a), f = !0)) : f = !0, f) {
2036
- let h = p.shift();
2037
- for (; h; )
2038
- u.push(h), h = p.shift();
2039
- }
2040
- }
2041
- if (!f) {
2042
- let c = o.shift();
2043
- for (; c; )
2044
- u.push(c), c = o.shift();
2045
- }
2046
- return [ot(u), o];
2047
- }
2048
- function Ce(i, r) {
2049
- return i.index < r.index || i.index === r.index && i.skip < r.skip;
2050
- }
2051
- function Ue(i, r) {
2052
- const o = [], p = [], u = [], f = Math.max(
2053
- i.length,
2054
- r.length
2055
- );
2056
- let c = !1;
2057
- for (let a = 0; a < f; a++) {
2058
- const h = i[a], g = r[a];
2059
- h && g ? !c && Yt(h, g) ? o.push(h) : (c = !0, p.push(h), u.push(g)) : h ? p.push(h) : g && u.push(g);
2060
- }
2061
- return [o, p, u];
2062
- }
2063
- function Qi(i, r, o) {
2064
- const [p, u, f] = Ue(
2065
- ot(i),
2066
- ot(r)
2067
- ), c = $t(p), a = 1 + Math.max(
2068
- c,
2069
- $t(u),
2070
- $t(f)
2071
- ), h = o(
2072
- {
2073
- index: a,
2074
- skip: a - (c + 1)
2075
- },
2076
- u,
2077
- f
2078
- );
2079
- return p.concat(h);
2080
- }
2081
- function $t(i) {
2082
- const r = i[i.length - 1];
2083
- return r ? r.index : -1;
2084
- }
2085
- function $e(i) {
2086
- var p, u, f;
2087
- if (i.length < 1)
2088
- return -1;
2089
- const r = ot(i);
2090
- let o = (((p = r[r.length - 1]) == null ? void 0 : p.skip) || 0) + 1;
2091
- return r.length > 1 && (o += ((u = r[r.length - 2]) == null ? void 0 : u.skip) || 0), (((f = r[r.length - 1]) == null ? void 0 : f.index) || -1) < o ? -1 : o;
2092
- }
2093
- const tr = (i) => Zt(
2094
- ot(at(i))
2095
- ), er = (i) => i.reduce((o, p) => {
2096
- var u;
2097
- return o[p.scope] || (o[p.scope] = []), (u = o[p.scope]) == null || u.push(p), o;
2098
- }, {}), ir = (i, r) => {
2099
- var h;
2100
- const o = {
2101
- integrityIssues: [],
2102
- validOperations: [],
2103
- invalidOperations: [],
2104
- duplicatedOperations: []
2105
- }, p = at(i), u = at(r), f = Zt([
2106
- ...p,
2107
- ...u
2108
- ]), a = (h = [...f.filter(
2109
- (g) => g.category === "MISSING_INDEX"
2110
- /* MISSING_INDEX */
2111
- )].sort((g, y) => y.operation.index - g.operation.index).pop()) == null ? void 0 : h.operation;
2112
- for (const g of u) {
2113
- if (a && g.index >= a.index) {
2114
- o.invalidOperations.push(g);
2115
- continue;
2116
- }
2117
- if (f.some((b) => b.operation.index === g.index && b.operation.skip === g.skip && b.category === "DUPLICATED_INDEX")) {
2118
- o.duplicatedOperations.push(g);
2119
- continue;
2120
- }
2121
- o.validOperations.push(g);
2122
- }
2123
- return o.integrityIssues.push(...f), o;
2124
- };
2125
- function rr(i, r) {
2126
- return i.filter((o) => !r.some((p) => o.type === "NOOP" && o.skip === 0 && o.index === p.index || o.index === p.index && o.skip === p.skip && o.scope === p.scope && o.hash === p.hash && o.type === p.type));
2127
- }
2128
- function Ne(i, r) {
2129
- const [o] = at(i).slice(-1), p = (o == null ? void 0 : o.index) ?? -1, u = p + 1, f = {
2130
- ...r,
2131
- index: r.index ?? u
2132
- };
2133
- if (f.index < p)
2134
- throw new Error(
2135
- `The skip header operation index must be greater than or equal to ${p}`
2136
- );
2137
- return (ot(
2138
- at([...i, f])
2139
- ) || []).slice(0, -1);
2140
- }
2141
- function Lt(i) {
2142
- return {
2143
- ...Object.entries(i).reduce(
2144
- (o, p) => {
2145
- const [u, f] = p;
2146
- return {
2147
- ...o,
2148
- [u]: ot(at(f))
2149
- };
2150
- },
2151
- {}
2152
- )
2153
- };
2154
- }
2155
- const br = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2156
- __proto__: null,
2157
- IntegrityIssueSubType: De,
2158
- IntegrityIssueType: ke,
2159
- addUndo: Ki,
2160
- attachBranch: Yi,
2161
- checkCleanedOperationsIntegrity: Zt,
2162
- checkOperationsIntegrity: tr,
2163
- garbageCollect: ot,
2164
- garbageCollectDocumentOperations: Lt,
2165
- groupOperationsByScope: er,
2166
- merge: Qi,
2167
- nextSkipNumber: $e,
2168
- operationsAreEqual: Yt,
2169
- precedes: Ce,
2170
- prepareOperations: ir,
2171
- removeExistingOperations: rr,
2172
- reshuffleByTimestamp: Gi,
2173
- reshuffleByTimestampAndIndex: Zi,
2174
- skipHeaderOperations: Ne,
2175
- sortOperations: at,
2176
- split: Ue
2177
- }, Symbol.toStringTag, { value: "Module" }));
2178
- function nr(i, r) {
2179
- let o;
2180
- return "index" in r ? o = { ...r } : o = i.operations[r.scope].at(-1), ((o == null ? void 0 : o.index) ?? -1) + 1;
2181
- }
2182
- function or(i, r) {
2183
- return {
2184
- ...i,
2185
- revision: {
2186
- ...i.revision,
2187
- [r.scope]: nr(i, r)
2188
- },
2189
- lastModified: (/* @__PURE__ */ new Date()).toISOString()
2190
- };
2191
- }
2192
- function ar(i, r, o = 0, p = !1) {
2193
- if ([wt, Et, It].includes(r.type))
2194
- return i;
2195
- const { scope: u } = r, f = i.operations[u].slice(), c = f.at(-1);
2196
- let a = ((c == null ? void 0 : c.index) ?? -1) + 1;
2197
- if ("index" in r) {
2198
- if (r.index - o > a)
2199
- throw new Error(
2200
- `Missing operations: expected ${a} with skip 0 or equivalent, got index ${r.index} with skip ${o}`
2201
- );
2202
- a = r.index;
2203
- }
2204
- const h = {
2205
- ...r,
2206
- index: a,
2207
- timestamp: (/* @__PURE__ */ new Date()).toISOString(),
2208
- hash: "",
2209
- scope: u,
2210
- skip: o,
2211
- error: void 0
2212
- };
2213
- return p && (h.resultingState = i.state[u]), f.push(h), {
2214
- ...i,
2215
- operations: { ...i.operations, [u]: f }
2216
- };
2217
- }
2218
- function sr(i, r, o = 0, p = !1) {
2219
- let u = ar(
2220
- i,
2221
- r,
2222
- o,
2223
- p
2224
- );
2225
- return u = or(u, r), u;
2226
- }
2227
- function pr(i, r, o) {
2228
- switch (fe().parse(r), r.type) {
2229
- case we:
2230
- return ri(i, r.input);
2231
- case It:
2232
- return ai(i, r, o);
2233
- case Ee:
2234
- return si(i, r.input.state);
2235
- default:
2236
- return i;
2237
- }
2238
- }
2239
- function Sr(i, r, o) {
2240
- switch (r.type) {
2241
- case wt:
2242
- return ni(i, r, o);
2243
- case Et:
2244
- return oi(i, r, o);
2245
- default:
2246
- return { document: i, action: r, skip: o };
2247
- }
2248
- }
2249
- function cr(i, r, o, p, u = !1, f = Le) {
2250
- const c = r.scope, a = i.operations[c].at(-1);
2251
- if (!a)
2252
- return i;
2253
- const h = Lt(
2254
- {
2255
- ...i.operations,
2256
- [c]: Ne(
2257
- i.operations[c],
2258
- a
2259
- )
2260
- }
2261
- );
2262
- let g;
2263
- const y = h[c].at(-1);
2264
- if (u && (y != null && y.resultingState))
2265
- g = f(
2266
- y.resultingState
2267
- );
2268
- else {
2269
- const { state: b } = Pt(
2270
- i.initialState,
2271
- h,
2272
- o,
2273
- void 0,
2274
- void 0,
2275
- void 0,
2276
- void 0,
2277
- {
2278
- reuseHash: !0,
2279
- reuseOperationResultingState: u,
2280
- operationResultingStateParser: f
2281
- }
2282
- );
2283
- g = b[c];
2284
- }
2285
- return {
2286
- ...i,
2287
- state: {
2288
- ...i.state,
2289
- [c]: g
2290
- },
2291
- operations: Lt({
2292
- ...i.operations
2293
- })
2294
- };
2295
- }
2296
- function Me(i, r, o, p, u = {}) {
2297
- const {
2298
- skip: f,
2299
- ignoreSkipOperations: c = !1,
2300
- reuseHash: a = !1,
2301
- reuseOperationResultingState: h = !1,
2302
- operationResultingStateParser: g
2303
- } = u, y = { ...r }, b = f || 0;
2304
- let F = { ...i };
2305
- const j = !c && (b > 0 || "index" in y && y.skip > 0);
2306
- return ne(y) && (F = pr(F, y, o)), F = sr(
2307
- F,
2308
- y,
2309
- b,
2310
- h
2311
- ), j && (F = cr(
2312
- F,
2313
- y,
2314
- o,
2315
- b,
2316
- h,
2317
- g
2318
- )), F = Ot(F, ($) => {
2319
- try {
2320
- const q = o(
2321
- $.state,
2322
- y,
2323
- p
2324
- );
2325
- if (q)
2326
- return Bt({
2327
- ...F,
2328
- // clipboard: [...clipboardValue],
2329
- state: q
2330
- });
2331
- } catch (q) {
2332
- const Z = F.operations[y.scope].length - 1;
2333
- $.operations[y.scope][Z].error = q.message, $.operations[y.scope][Z].skip = 0, j && ($.state = Bt({ ...i.state }), $.operations = Bt({
2334
- ...i.operations,
2335
- [y.scope]: [
2336
- ...i.operations[y.scope],
2337
- {
2338
- ...$.operations[y.scope][Z]
2339
- }
2340
- ]
2341
- }));
2342
- }
2343
- }), Ot(F, ($) => {
2344
- if ([wt, Et, It].includes(y.type))
2345
- return $;
2346
- const q = y.scope || "global", Z = a && Object.prototype.hasOwnProperty.call(y, "hash") ? y.hash : Qt($, q);
2347
- $.operations[q][$.operations[q].length - 1].hash = Z, !ne(y) && y.attachments && y.attachments.forEach((w) => {
2348
- const { hash: E, ...S } = w;
2349
- $.attachments[E] = {
2350
- ...S
2351
- };
2352
- });
2353
- });
2354
- }
2355
- function vr(i) {
2356
- return i.type === pi && i.skip !== void 0 && i.skip > 0 && i.hash !== void 0;
2357
- }
2358
- function _r(i) {
2359
- return [wt, Et].includes(i.type);
2360
- }
2361
- function ne(i) {
2362
- return [we, wt, Et, It, Ee].includes(i.type);
2363
- }
2364
- function dt(i, r, o, p, u = "global") {
2365
- if (!i)
2366
- throw new Error("Empty action type");
2367
- if (typeof i != "string")
2368
- throw new Error(`Invalid action type: ${JSON.stringify(i)}`);
2369
- const f = { type: i, input: r, scope: u };
2370
- o && (f.attachments = o);
2371
- try {
2372
- p == null || p().parse(f.input);
2373
- } catch (c) {
2374
- throw new Error(`Invalid action input: ${c}`);
2375
- }
2376
- return f;
2377
- }
2378
- function lr(i, r = Me) {
2379
- return (o, p, u, f) => r(o, p, i, u, f);
2380
- }
2381
- const ur = (i, r) => ({
2382
- name: "",
2383
- documentType: "",
2384
- revision: {
2385
- global: 0,
2386
- local: 0
2387
- },
2388
- created: (/* @__PURE__ */ new Date()).toISOString(),
2389
- lastModified: (/* @__PURE__ */ new Date()).toISOString(),
2390
- attachments: {},
2391
- ...i,
2392
- state: (r == null ? void 0 : r(i == null ? void 0 : i.state)) ?? (i == null ? void 0 : i.state) ?? { global: {}, local: {} }
2393
- }), fr = (i, r) => {
2394
- const o = ur(
2395
- i,
2396
- r
2397
- );
2398
- return {
2399
- ...o,
2400
- initialState: o,
2401
- operations: { global: [], local: [] },
2402
- clipboard: []
2403
- };
2404
- }, Qt = (i, r = "global") => kt(xt(i.state[r] || "")), Ar = (i, r = 1e3) => {
2405
- const o = Math.random() * r;
2406
- return kt(`${(i ?? /* @__PURE__ */ new Date()).toISOString()}${o}`);
2407
- };
2408
- function Ft(i) {
2409
- return Ke(Ge(i, !0));
2410
- }
2411
- function Fr(i, r) {
2412
- const o = [...i];
2413
- let p = r || 0, u = o.length > 0 ? o[o.length - 1].index : 0;
2414
- const f = [];
2415
- for (const c of o.reverse()) {
2416
- if (p > 0) {
2417
- const g = u - c.index;
2418
- p -= g;
2419
- }
2420
- if (p < 0)
2421
- throw new Error("Invalid operation index, missing operations");
2422
- const a = {
2423
- ignore: p > 0,
2424
- operation: c
2425
- }, h = c.skip > 0 ? c.skip + 1 : 0;
2426
- if (h > 0 && h > p) {
2427
- const g = h - p;
2428
- p = p + g;
2429
- }
2430
- u = c.index, f.push(a);
2431
- }
2432
- return f.reverse();
2433
- }
2434
- function Br(i, r, o) {
2435
- const p = i.slice().sort((a, h) => a.skip - h.skip).sort((a, h) => a.index - h.index);
2436
- let u = o, f = 0, c = r;
2437
- for (const a of p.reverse()) {
2438
- const h = c - a.index;
2439
- if (u = u - h, u > -1)
2440
- f++, c = a.index;
2441
- else
2442
- break;
2443
- }
2444
- return f;
2445
- }
2446
- function Or(i) {
2447
- return Object.values(i).flatMap((r) => r).sort(
2448
- (r, o) => new Date(r.timestamp).getTime() - new Date(o.timestamp).getTime()
2449
- );
2450
- }
2451
- function Ir(i) {
2452
- return Object.values(i).flatMap((r) => r).sort(
2453
- (r, o) => new Date(r.operation.timestamp).getTime() - new Date(o.operation.timestamp).getTime()
2454
- );
2455
- }
2456
- function Pt(i, r, o, p, u, f = Me, c = {}, a) {
2457
- const h = lr(o, f);
2458
- return Re(
2459
- i,
2460
- r,
2461
- h,
2462
- p,
2463
- u,
2464
- c,
2465
- a
2466
- );
2467
- }
2468
- function Re(i, r, o, p, u, f = {}, c) {
2469
- const {
2470
- checkHashes: a = !0,
2471
- reuseOperationResultingState: h,
2472
- operationResultingStateParser: g = Le
2473
- } = c || {};
2474
- let y = i;
2475
- const b = [], F = {
2476
- global: [],
2477
- local: []
2478
- };
2479
- if (h)
2480
- for (const [w, E] of Object.entries(r)) {
2481
- const S = E.findLastIndex(
2482
- (H) => !!H.resultingState
2483
- );
2484
- if (S < 0) {
2485
- b.push(...E);
2486
- continue;
2487
- }
2488
- const R = E[S];
2489
- try {
2490
- const H = g(
2491
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion, @typescript-eslint/no-unnecessary-type-assertion
2492
- R.resultingState
2493
- );
2494
- y = {
2495
- ...y,
2496
- state: {
2497
- ...y.state,
2498
- // TODO how to deal with attachments?
2499
- [w]: H
2500
- }
2501
- }, F[w].push(
2502
- ...E.slice(0, S + 1)
2503
- ), b.push(...E.slice(S + 1));
2504
- } catch {
2505
- b.push(...E);
2506
- }
2507
- }
2508
- else
2509
- b.push(...Object.values(r).flat());
2510
- const j = fr(y);
2511
- j.initialState = i, j.operations = F;
2512
- const $ = b.reduce((w, E) => o(w, E, p, {
2513
- skip: E.skip,
2514
- ignoreSkipOperations: !0,
2515
- reuseHash: !a
2516
- }), j);
2517
- if (!a)
2518
- for (const w of Object.keys($.state))
2519
- for (let E = b.length - 1; E >= 0; E--) {
2520
- const S = b[E];
2521
- if (S.scope === w) {
2522
- if (S.hash !== Qt($, w))
2523
- throw new Error(`Hash mismatch for scope ${w}`);
2524
- break;
2525
- }
2526
- }
2527
- const q = Object.keys(
2528
- $.operations
2529
- ).reduce(
2530
- (w, E) => {
2531
- const S = E;
2532
- return {
2533
- ...w,
2534
- [S]: [
2535
- ...$.operations[S].map((R, H) => {
2536
- var W;
2537
- return {
2538
- ...R,
2539
- timestamp: ((W = r[S][H]) == null ? void 0 : W.timestamp) ?? R.timestamp
2540
- };
2541
- })
2542
- ]
2543
- };
2544
- },
2545
- { global: [], local: [] }
2546
- ), Z = Object.values(q).reduce((w, E) => {
2547
- const S = E[E.length - 1];
2548
- return (S == null ? void 0 : S.timestamp) > w && (w = S.timestamp), w;
2549
- }, i.lastModified);
2550
- return { ...$, operations: q, lastModified: Z };
2551
- }
2552
- function jr(i, r) {
2553
- return xt(i) === xt(r);
2554
- }
2555
- function Le(i) {
2556
- const r = typeof i;
2557
- if (r === "string")
2558
- return JSON.parse(i);
2559
- if (r === "object")
2560
- return i;
2561
- throw new Error(`Providing resulting state is of type: ${r}`);
2562
- }
2563
- const Pe = (i) => dt(
2564
- "SET_NAME",
2565
- i,
2566
- void 0,
2567
- Ht,
2568
- void 0
2569
- ), ze = (i = 1, r = "global") => dt(
2570
- "UNDO",
2571
- i,
2572
- void 0,
2573
- Wt,
2574
- r
2575
- ), qe = (i = 1, r = "global") => dt(
2576
- "REDO",
2577
- i,
2578
- void 0,
2579
- Jt,
2580
- r
2581
- ), Je = (i, r, o = "global") => dt(
2582
- "PRUNE",
2583
- { start: i, end: r },
2584
- void 0,
2585
- qt,
2586
- o
2587
- ), te = (i, r) => dt(
2588
- "LOAD_STATE",
2589
- { state: i, operations: r },
2590
- void 0,
2591
- zt
2592
- ), He = (i = "global") => dt("NOOP", {}, void 0, void 0, i), Tr = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2593
- __proto__: null,
2594
- loadState: te,
2595
- noop: He,
2596
- prune: Je,
2597
- redo: qe,
2598
- setName: Pe,
2599
- undo: ze
2600
- }, Symbol.toStringTag, { value: "Module" }));
2601
- class kr {
2602
- /**
2603
- * Constructs a BaseDocument instance with an initial state.
2604
- * @param reducer - The reducer function that updates the state.
2605
- * @param document - The initial state of the document.
2606
- */
2607
- constructor(r, o, p) {
2608
- At(this, "_document");
2609
- At(this, "_reducer");
2610
- At(this, "_signalDispatch");
2611
- this._reducer = r, this._document = o, this._signalDispatch = p;
2612
- }
2613
- /**
2614
- * Dispatches an action to update the state of the document.
2615
- * @param action - The action to dispatch.
2616
- * @returns The Document instance.
2617
- */
2618
- dispatch(r, o) {
2619
- return this._document = this._reducer(
2620
- this._document,
2621
- r,
2622
- this._signalDispatch,
2623
- o
2624
- ), this;
2625
- }
2626
- /**
2627
- * Saves the state of the document to a file.
2628
- * @param path - The file path where the state should be saved.
2629
- * @param extension - The file extension to use when saving the state.
2630
- * @returns The file path where the state was saved.
2631
- */
2632
- saveToFile(r, o, p) {
2633
- return Wi(this._document, r, o, p);
2634
- }
2635
- /**
2636
- * Loads the state of the document from a file.
2637
- * @param path - The file path where the state is stored.
2638
- */
2639
- async loadFromFile(r) {
2640
- this._document = await re(r, this._reducer);
2641
- }
2642
- /**
2643
- * Loads the state of the document from a file and returns it.
2644
- * @param path - The file path where the state is stored.
2645
- * @param reducer - The reducer function that updates the state.
2646
- * @returns The state of the document.
2647
- */
2648
- static async stateFromFile(r, o) {
2649
- return await re(r, o);
2650
- }
2651
- /**
2652
- * Gets the current state of the document.
2653
- */
2654
- get state() {
2655
- return Ft(this._document.state);
2656
- }
2657
- /**
2658
- * Gets the list of operations performed on the document.
2659
- */
2660
- get operations() {
2661
- return Ft(this._document.operations);
2662
- }
2663
- /**
2664
- * Gets the name of the document.
2665
- */
2666
- get name() {
2667
- return this._document.name;
2668
- }
2669
- /**
2670
- * Gets the type of document.
2671
- */
2672
- get documentType() {
2673
- return this._document.documentType;
2674
- }
2675
- /**
2676
- * Gets the timestamp of the date the document was created.
2677
- */
2678
- get created() {
2679
- return this._document.created;
2680
- }
2681
- /**
2682
- * Gets the timestamp of the date the document was last modified.
2683
- */
2684
- get lastModified() {
2685
- return this._document.lastModified;
2686
- }
2687
- /**
2688
- * Gets the global revision number of the document.
2689
- */
2690
- get revision() {
2691
- return this._document.revision.global;
2692
- }
2693
- getRevision(r) {
2694
- return this._document.revision[r];
2695
- }
2696
- /**
2697
- * Gets the initial state of the document.
2698
- */
2699
- get initialState() {
2700
- return Ft(this._document.initialState);
2701
- }
2702
- /**
2703
- * Returns the current document as an object
2704
- */
2705
- toDocument() {
2706
- return Ft(this._document);
2707
- }
2708
- /**
2709
- * Gets the attachment associated with the given key.
2710
- * @param attachment - The key of the attachment to retrieve.
2711
- */
2712
- getAttachment(r) {
2713
- return this._document.attachments[r];
2714
- }
2715
- /**
2716
- * Sets the name of the document.
2717
- * @param name - The new name of the document.
2718
- */
2719
- setName(r) {
2720
- return this.dispatch(Pe(r)), this;
2721
- }
2722
- /**
2723
- * Reverts a number of actions from the document.
2724
- * @param count - The number of actions to revert.
2725
- */
2726
- undo(r) {
2727
- return this.dispatch(ze(r)), this;
2728
- }
2729
- /**
2730
- * Reapplies a number of actions to the document.
2731
- * @param count - The number of actions to reapply.
2732
- */
2733
- redo(r) {
2734
- return this.dispatch(qe(r)), this;
2735
- }
2736
- /**
2737
- * Removes a range of operations from the document.
2738
- * @param start - The starting index of the range to remove.
2739
- * @param end - The ending index of the range to remove.
2740
- */
2741
- prune(r, o) {
2742
- return this.dispatch(Je(r, o)), this;
2743
- }
2744
- /**
2745
- * Loads a document state and a set of operations.
2746
- * @param state - The state to load.
2747
- * @param operations - The operations to apply to the document.
2748
- */
2749
- loadState(r, o) {
2750
- return this.dispatch(te(r, o)), this;
2751
- }
2752
- }
2753
- function Dr(i, r) {
2754
- r.forEach((o) => {
2755
- Object.getOwnPropertyNames(o.prototype).forEach((p) => {
2756
- Object.defineProperty(
2757
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
2758
- i.prototype,
2759
- p,
2760
- // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access
2761
- Object.getOwnPropertyDescriptor(o.prototype, p) || /* @__PURE__ */ Object.create(null)
2762
- );
2763
- });
2764
- });
2765
- }
2766
- export {
2767
- Ir as A,
2768
- kr as B,
2769
- Or as C,
2770
- Hi as D,
2771
- Me as E,
2772
- Sr as F,
2773
- gr as G,
2774
- ur as a,
2775
- fr as b,
2776
- lr as c,
2777
- yr as d,
2778
- Xi as e,
2779
- dt as f,
2780
- Dr as g,
2781
- Tr as h,
2782
- ne as i,
2783
- Br as j,
2784
- je as k,
2785
- re as l,
2786
- br as m,
2787
- Er as n,
2788
- wr as o,
2789
- Qt as p,
2790
- Ar as q,
2791
- vr as r,
2792
- Wi as s,
2793
- jr as t,
2794
- _r as u,
2795
- Fr as v,
2796
- Le as w,
2797
- Ft as x,
2798
- Re as y,
2799
- Pt as z
2800
- };