@usync/oauth2 0.0.1 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,963 +1,922 @@
1
- import { nanoid as ye } from "nanoid";
2
- const ve = 1, Y = 2, ne = 3;
3
- class D extends Error {
4
- constructor(p, m) {
5
- super(m || `OAuth2Error: code=${p}`), this.code = p;
6
- }
7
- }
8
- var Re = /^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i, pe = Math.ceil, V = Math.floor, B = "[BigNumber Error] ", Ue = B + "Number primitive has more than 15 significant digits: ", $ = 1e14, E = 14, de = 9007199254740991, we = [1, 10, 100, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13], J = 1e7, I = 1e9;
9
- function Ie(_) {
10
- var p, m, w, h = d.prototype = { constructor: d, toString: null, valueOf: null }, g = new d(1), A = 20, N = 4, C = -7, M = 21, Q = -1e7, j = 1e7, K = !1, te = 1, Z = 0, ce = {
11
- prefix: "",
12
- groupSize: 3,
13
- secondaryGroupSize: 0,
14
- groupSeparator: ",",
15
- decimalSeparator: ".",
16
- fractionGroupSize: 0,
17
- fractionGroupSeparator: " ",
18
- // non-breaking space
19
- suffix: ""
20
- }, b = "0123456789abcdefghijklmnopqrstuvwxyz", fe = !0;
21
- function d(e, t) {
22
- var i, f, r, o, l, n, s, a, c = this;
23
- if (!(c instanceof d)) return new d(e, t);
24
- if (t == null) {
25
- if (e && e._isBigNumber === !0) {
26
- c.s = e.s, !e.c || e.e > j ? c.c = c.e = null : e.e < Q ? c.c = [c.e = 0] : (c.e = e.e, c.c = e.c.slice());
27
- return;
28
- }
29
- if ((n = typeof e == "number") && e * 0 == 0) {
30
- if (c.s = 1 / e < 0 ? (e = -e, -1) : 1, e === ~~e) {
31
- for (o = 0, l = e; l >= 10; l /= 10, o++) ;
32
- o > j ? c.c = c.e = null : (c.e = o, c.c = [e]);
33
- return;
34
- }
35
- a = String(e);
36
- } else {
37
- if (!Re.test(a = String(e))) return w(c, a, n);
38
- c.s = a.charCodeAt(0) == 45 ? (a = a.slice(1), -1) : 1;
39
- }
40
- (o = a.indexOf(".")) > -1 && (a = a.replace(".", "")), (l = a.search(/e/i)) > 0 ? (o < 0 && (o = l), o += +a.slice(l + 1), a = a.substring(0, l)) : o < 0 && (o = a.length);
41
- } else {
42
- if (U(t, 2, b.length, "Base"), t == 10 && fe)
43
- return c = new d(e), F(c, A + c.e + 1, N);
44
- if (a = String(e), n = typeof e == "number") {
45
- if (e * 0 != 0) return w(c, a, n, t);
46
- if (c.s = 1 / e < 0 ? (a = a.slice(1), -1) : 1, d.DEBUG && a.replace(/^0\.0*|\./, "").length > 15)
47
- throw Error(Ue + e);
48
- } else
49
- c.s = a.charCodeAt(0) === 45 ? (a = a.slice(1), -1) : 1;
50
- for (i = b.slice(0, t), o = l = 0, s = a.length; l < s; l++)
51
- if (i.indexOf(f = a.charAt(l)) < 0) {
52
- if (f == ".") {
53
- if (l > o) {
54
- o = s;
55
- continue;
56
- }
57
- } else if (!r && (a == a.toUpperCase() && (a = a.toLowerCase()) || a == a.toLowerCase() && (a = a.toUpperCase()))) {
58
- r = !0, l = -1, o = 0;
59
- continue;
60
- }
61
- return w(c, String(e), n, t);
62
- }
63
- n = !1, a = m(a, t, 10, c.s), (o = a.indexOf(".")) > -1 ? a = a.replace(".", "") : o = a.length;
64
- }
65
- for (l = 0; a.charCodeAt(l) === 48; l++) ;
66
- for (s = a.length; a.charCodeAt(--s) === 48; ) ;
67
- if (a = a.slice(l, ++s)) {
68
- if (s -= l, n && d.DEBUG && s > 15 && (e > de || e !== V(e)))
69
- throw Error(Ue + c.s * e);
70
- if ((o = o - l - 1) > j)
71
- c.c = c.e = null;
72
- else if (o < Q)
73
- c.c = [c.e = 0];
74
- else {
75
- if (c.e = o, c.c = [], l = (o + 1) % E, o < 0 && (l += E), l < s) {
76
- for (l && c.c.push(+a.slice(0, l)), s -= E; l < s; )
77
- c.c.push(+a.slice(l, l += E));
78
- l = E - (a = a.slice(l)).length;
79
- } else
80
- l -= s;
81
- for (; l--; a += "0") ;
82
- c.c.push(+a);
83
- }
84
- } else
85
- c.c = [c.e = 0];
86
- }
87
- d.clone = Ie, d.ROUND_UP = 0, d.ROUND_DOWN = 1, d.ROUND_CEIL = 2, d.ROUND_FLOOR = 3, d.ROUND_HALF_UP = 4, d.ROUND_HALF_DOWN = 5, d.ROUND_HALF_EVEN = 6, d.ROUND_HALF_CEIL = 7, d.ROUND_HALF_FLOOR = 8, d.EUCLID = 9, d.config = d.set = function(e) {
88
- var t, i;
89
- if (e != null)
90
- if (typeof e == "object") {
91
- if (e.hasOwnProperty(t = "DECIMAL_PLACES") && (i = e[t], U(i, 0, I, t), A = i), e.hasOwnProperty(t = "ROUNDING_MODE") && (i = e[t], U(i, 0, 8, t), N = i), e.hasOwnProperty(t = "EXPONENTIAL_AT") && (i = e[t], i && i.pop ? (U(i[0], -I, 0, t), U(i[1], 0, I, t), C = i[0], M = i[1]) : (U(i, -I, I, t), C = -(M = i < 0 ? -i : i))), e.hasOwnProperty(t = "RANGE"))
92
- if (i = e[t], i && i.pop)
93
- U(i[0], -I, -1, t), U(i[1], 1, I, t), Q = i[0], j = i[1];
94
- else if (U(i, -I, I, t), i)
95
- Q = -(j = i < 0 ? -i : i);
96
- else
97
- throw Error(B + t + " cannot be zero: " + i);
98
- if (e.hasOwnProperty(t = "CRYPTO"))
99
- if (i = e[t], i === !!i)
100
- if (i)
101
- if (typeof crypto < "u" && crypto && (crypto.getRandomValues || crypto.randomBytes))
102
- K = i;
103
- else
104
- throw K = !i, Error(B + "crypto unavailable");
105
- else
106
- K = i;
107
- else
108
- throw Error(B + t + " not true or false: " + i);
109
- if (e.hasOwnProperty(t = "MODULO_MODE") && (i = e[t], U(i, 0, 9, t), te = i), e.hasOwnProperty(t = "POW_PRECISION") && (i = e[t], U(i, 0, I, t), Z = i), e.hasOwnProperty(t = "FORMAT"))
110
- if (i = e[t], typeof i == "object") ce = i;
111
- else throw Error(B + t + " not an object: " + i);
112
- if (e.hasOwnProperty(t = "ALPHABET"))
113
- if (i = e[t], typeof i == "string" && !/^.?$|[+\-.\s]|(.).*\1/.test(i))
114
- fe = i.slice(0, 10) == "0123456789", b = i;
115
- else
116
- throw Error(B + t + " invalid: " + i);
117
- } else
118
- throw Error(B + "Object expected: " + e);
119
- return {
120
- DECIMAL_PLACES: A,
121
- ROUNDING_MODE: N,
122
- EXPONENTIAL_AT: [C, M],
123
- RANGE: [Q, j],
124
- CRYPTO: K,
125
- MODULO_MODE: te,
126
- POW_PRECISION: Z,
127
- FORMAT: ce,
128
- ALPHABET: b
129
- };
130
- }, d.isBigNumber = function(e) {
131
- if (!e || e._isBigNumber !== !0) return !1;
132
- if (!d.DEBUG) return !0;
133
- var t, i, f = e.c, r = e.e, o = e.s;
134
- e: if ({}.toString.call(f) == "[object Array]") {
135
- if ((o === 1 || o === -1) && r >= -I && r <= I && r === V(r)) {
136
- if (f[0] === 0) {
137
- if (r === 0 && f.length === 1) return !0;
138
- break e;
139
- }
140
- if (t = (r + 1) % E, t < 1 && (t += E), String(f[0]).length == t) {
141
- for (t = 0; t < f.length; t++)
142
- if (i = f[t], i < 0 || i >= $ || i !== V(i)) break e;
143
- if (i !== 0) return !0;
144
- }
145
- }
146
- } else if (f === null && r === null && (o === null || o === 1 || o === -1))
147
- return !0;
148
- throw Error(B + "Invalid BigNumber: " + e);
149
- }, d.maximum = d.max = function() {
150
- return xe(arguments, -1);
151
- }, d.minimum = d.min = function() {
152
- return xe(arguments, 1);
153
- }, d.random = (function() {
154
- var e = 9007199254740992, t = Math.random() * e & 2097151 ? function() {
155
- return V(Math.random() * e);
156
- } : function() {
157
- return (Math.random() * 1073741824 | 0) * 8388608 + (Math.random() * 8388608 | 0);
158
- };
159
- return function(i) {
160
- var f, r, o, l, n, s = 0, a = [], c = new d(g);
161
- if (i == null ? i = A : U(i, 0, I), l = pe(i / E), K)
162
- if (crypto.getRandomValues) {
163
- for (f = crypto.getRandomValues(new Uint32Array(l *= 2)); s < l; )
164
- n = f[s] * 131072 + (f[s + 1] >>> 11), n >= 9e15 ? (r = crypto.getRandomValues(new Uint32Array(2)), f[s] = r[0], f[s + 1] = r[1]) : (a.push(n % 1e14), s += 2);
165
- s = l / 2;
166
- } else if (crypto.randomBytes) {
167
- for (f = crypto.randomBytes(l *= 7); s < l; )
168
- n = (f[s] & 31) * 281474976710656 + f[s + 1] * 1099511627776 + f[s + 2] * 4294967296 + f[s + 3] * 16777216 + (f[s + 4] << 16) + (f[s + 5] << 8) + f[s + 6], n >= 9e15 ? crypto.randomBytes(7).copy(f, s) : (a.push(n % 1e14), s += 7);
169
- s = l / 7;
170
- } else
171
- throw K = !1, Error(B + "crypto unavailable");
172
- if (!K)
173
- for (; s < l; )
174
- n = t(), n < 9e15 && (a[s++] = n % 1e14);
175
- for (l = a[--s], i %= E, l && i && (n = we[E - i], a[s] = V(l / n) * n); a[s] === 0; a.pop(), s--) ;
176
- if (s < 0)
177
- a = [o = 0];
178
- else {
179
- for (o = -1; a[0] === 0; a.splice(0, 1), o -= E) ;
180
- for (s = 1, n = a[0]; n >= 10; n /= 10, s++) ;
181
- s < E && (o -= E - s);
182
- }
183
- return c.e = o, c.c = a, c;
184
- };
185
- })(), d.sum = function() {
186
- for (var e = 1, t = arguments, i = new d(t[0]); e < t.length; ) i = i.plus(t[e++]);
187
- return i;
188
- }, m = /* @__PURE__ */ (function() {
189
- var e = "0123456789";
190
- function t(i, f, r, o) {
191
- for (var l, n = [0], s, a = 0, c = i.length; a < c; ) {
192
- for (s = n.length; s--; n[s] *= f) ;
193
- for (n[0] += o.indexOf(i.charAt(a++)), l = 0; l < n.length; l++)
194
- n[l] > r - 1 && (n[l + 1] == null && (n[l + 1] = 0), n[l + 1] += n[l] / r | 0, n[l] %= r);
195
- }
196
- return n.reverse();
197
- }
198
- return function(i, f, r, o, l) {
199
- var n, s, a, c, u, k, O, S, P = i.indexOf("."), v = A, T = N;
200
- for (P >= 0 && (c = Z, Z = 0, i = i.replace(".", ""), S = new d(f), k = S.pow(i.length - P), Z = c, S.c = t(
201
- W(q(k.c), k.e, "0"),
202
- 10,
203
- r,
204
- e
205
- ), S.e = S.c.length), O = t(i, f, r, l ? (n = b, e) : (n = e, b)), a = c = O.length; O[--c] == 0; O.pop()) ;
206
- if (!O[0]) return n.charAt(0);
207
- if (P < 0 ? --a : (k.c = O, k.e = a, k.s = o, k = p(k, S, v, T, r), O = k.c, u = k.r, a = k.e), s = a + v + 1, P = O[s], c = r / 2, u = u || s < 0 || O[s + 1] != null, u = T < 4 ? (P != null || u) && (T == 0 || T == (k.s < 0 ? 3 : 2)) : P > c || P == c && (T == 4 || u || T == 6 && O[s - 1] & 1 || T == (k.s < 0 ? 8 : 7)), s < 1 || !O[0])
208
- i = u ? W(n.charAt(1), -v, n.charAt(0)) : n.charAt(0);
209
- else {
210
- if (O.length = s, u)
211
- for (--r; ++O[--s] > r; )
212
- O[s] = 0, s || (++a, O = [1].concat(O));
213
- for (c = O.length; !O[--c]; ) ;
214
- for (P = 0, i = ""; P <= c; i += n.charAt(O[P++])) ;
215
- i = W(i, a, n.charAt(0));
216
- }
217
- return i;
218
- };
219
- })(), p = /* @__PURE__ */ (function() {
220
- function e(f, r, o) {
221
- var l, n, s, a, c = 0, u = f.length, k = r % J, O = r / J | 0;
222
- for (f = f.slice(); u--; )
223
- s = f[u] % J, a = f[u] / J | 0, l = O * s + a * k, n = k * s + l % J * J + c, c = (n / o | 0) + (l / J | 0) + O * a, f[u] = n % o;
224
- return c && (f = [c].concat(f)), f;
225
- }
226
- function t(f, r, o, l) {
227
- var n, s;
228
- if (o != l)
229
- s = o > l ? 1 : -1;
230
- else
231
- for (n = s = 0; n < o; n++)
232
- if (f[n] != r[n]) {
233
- s = f[n] > r[n] ? 1 : -1;
234
- break;
235
- }
236
- return s;
237
- }
238
- function i(f, r, o, l) {
239
- for (var n = 0; o--; )
240
- f[o] -= n, n = f[o] < r[o] ? 1 : 0, f[o] = n * l + f[o] - r[o];
241
- for (; !f[0] && f.length > 1; f.splice(0, 1)) ;
242
- }
243
- return function(f, r, o, l, n) {
244
- var s, a, c, u, k, O, S, P, v, T, x, R, re, he, ue, z, ie, G = f.s == r.s ? 1 : -1, L = f.c, y = r.c;
245
- if (!L || !L[0] || !y || !y[0])
246
- return new d(
247
- // Return NaN if either NaN, or both Infinity or 0.
248
- !f.s || !r.s || (L ? y && L[0] == y[0] : !y) ? NaN : (
249
- // Return ±0 if x is ±0 or y is ±Infinity, or return ±Infinity as y is ±0.
250
- L && L[0] == 0 || !y ? G * 0 : G / 0
251
- )
252
- );
253
- for (P = new d(G), v = P.c = [], a = f.e - r.e, G = o + a + 1, n || (n = $, a = H(f.e / E) - H(r.e / E), G = G / E | 0), c = 0; y[c] == (L[c] || 0); c++) ;
254
- if (y[c] > (L[c] || 0) && a--, G < 0)
255
- v.push(1), u = !0;
256
- else {
257
- for (he = L.length, z = y.length, c = 0, G += 2, k = V(n / (y[0] + 1)), k > 1 && (y = e(y, k, n), L = e(L, k, n), z = y.length, he = L.length), re = z, T = L.slice(0, z), x = T.length; x < z; T[x++] = 0) ;
258
- ie = y.slice(), ie = [0].concat(ie), ue = y[0], y[1] >= n / 2 && ue++;
259
- do {
260
- if (k = 0, s = t(y, T, z, x), s < 0) {
261
- if (R = T[0], z != x && (R = R * n + (T[1] || 0)), k = V(R / ue), k > 1)
262
- for (k >= n && (k = n - 1), O = e(y, k, n), S = O.length, x = T.length; t(O, T, S, x) == 1; )
263
- k--, i(O, z < S ? ie : y, S, n), S = O.length, s = 1;
264
- else
265
- k == 0 && (s = k = 1), O = y.slice(), S = O.length;
266
- if (S < x && (O = [0].concat(O)), i(T, O, x, n), x = T.length, s == -1)
267
- for (; t(y, T, z, x) < 1; )
268
- k++, i(T, z < x ? ie : y, x, n), x = T.length;
269
- } else s === 0 && (k++, T = [0]);
270
- v[c++] = k, T[0] ? T[x++] = L[re] || 0 : (T = [L[re]], x = 1);
271
- } while ((re++ < he || T[0] != null) && G--);
272
- u = T[0] != null, v[0] || v.splice(0, 1);
273
- }
274
- if (n == $) {
275
- for (c = 1, G = v[0]; G >= 10; G /= 10, c++) ;
276
- F(P, o + (P.e = c + a * E - 1) + 1, l, u);
277
- } else
278
- P.e = a, P.r = +u;
279
- return P;
280
- };
281
- })();
282
- function ae(e, t, i, f) {
283
- var r, o, l, n, s;
284
- if (i == null ? i = N : U(i, 0, 8), !e.c) return e.toString();
285
- if (r = e.c[0], l = e.e, t == null)
286
- s = q(e.c), s = f == 1 || f == 2 && (l <= C || l >= M) ? oe(s, l) : W(s, l, "0");
287
- else if (e = F(new d(e), t, i), o = e.e, s = q(e.c), n = s.length, f == 1 || f == 2 && (t <= o || o <= C)) {
288
- for (; n < t; s += "0", n++) ;
289
- s = oe(s, o);
290
- } else if (t -= l + (f === 2 && o > l), s = W(s, o, "0"), o + 1 > n) {
291
- if (--t > 0) for (s += "."; t--; s += "0") ;
292
- } else if (t += o - n, t > 0)
293
- for (o + 1 == n && (s += "."); t--; s += "0") ;
294
- return e.s < 0 && r ? "-" + s : s;
295
- }
296
- function xe(e, t) {
297
- for (var i, f, r = 1, o = new d(e[0]); r < e.length; r++)
298
- f = new d(e[r]), (!f.s || (i = ee(o, f)) === t || i === 0 && o.s === t) && (o = f);
299
- return o;
300
- }
301
- function le(e, t, i) {
302
- for (var f = 1, r = t.length; !t[--r]; t.pop()) ;
303
- for (r = t[0]; r >= 10; r /= 10, f++) ;
304
- return (i = f + i * E - 1) > j ? e.c = e.e = null : i < Q ? e.c = [e.e = 0] : (e.e = i, e.c = t), e;
305
- }
306
- w = /* @__PURE__ */ (function() {
307
- var e = /^(-?)0([xbo])(?=\w[\w.]*$)/i, t = /^([^.]+)\.$/, i = /^\.([^.]+)$/, f = /^-?(Infinity|NaN)$/, r = /^\s*\+(?=[\w.])|^\s+|\s+$/g;
308
- return function(o, l, n, s) {
309
- var a, c = n ? l : l.replace(r, "");
310
- if (f.test(c))
311
- o.s = isNaN(c) ? null : c < 0 ? -1 : 1;
312
- else {
313
- if (!n && (c = c.replace(e, function(u, k, O) {
314
- return a = (O = O.toLowerCase()) == "x" ? 16 : O == "b" ? 2 : 8, !s || s == a ? k : u;
315
- }), s && (a = s, c = c.replace(t, "$1").replace(i, "0.$1")), l != c))
316
- return new d(c, a);
317
- if (d.DEBUG)
318
- throw Error(B + "Not a" + (s ? " base " + s : "") + " number: " + l);
319
- o.s = null;
320
- }
321
- o.c = o.e = null;
322
- };
323
- })();
324
- function F(e, t, i, f) {
325
- var r, o, l, n, s, a, c, u = e.c, k = we;
326
- if (u) {
327
- e: {
328
- for (r = 1, n = u[0]; n >= 10; n /= 10, r++) ;
329
- if (o = t - r, o < 0)
330
- o += E, l = t, s = u[a = 0], c = V(s / k[r - l - 1] % 10);
331
- else if (a = pe((o + 1) / E), a >= u.length)
332
- if (f) {
333
- for (; u.length <= a; u.push(0)) ;
334
- s = c = 0, r = 1, o %= E, l = o - E + 1;
335
- } else
336
- break e;
337
- else {
338
- for (s = n = u[a], r = 1; n >= 10; n /= 10, r++) ;
339
- o %= E, l = o - E + r, c = l < 0 ? 0 : V(s / k[r - l - 1] % 10);
340
- }
341
- if (f = f || t < 0 || // Are there any non-zero digits after the rounding digit?
342
- // The expression n % pows10[d - j - 1] returns all digits of n to the right
343
- // of the digit at j, e.g. if n is 908714 and j is 2, the expression gives 714.
344
- u[a + 1] != null || (l < 0 ? s : s % k[r - l - 1]), f = i < 4 ? (c || f) && (i == 0 || i == (e.s < 0 ? 3 : 2)) : c > 5 || c == 5 && (i == 4 || f || i == 6 && // Check whether the digit to the left of the rounding digit is odd.
345
- (o > 0 ? l > 0 ? s / k[r - l] : 0 : u[a - 1]) % 10 & 1 || i == (e.s < 0 ? 8 : 7)), t < 1 || !u[0])
346
- return u.length = 0, f ? (t -= e.e + 1, u[0] = k[(E - t % E) % E], e.e = -t || 0) : u[0] = e.e = 0, e;
347
- if (o == 0 ? (u.length = a, n = 1, a--) : (u.length = a + 1, n = k[E - o], u[a] = l > 0 ? V(s / k[r - l] % k[l]) * n : 0), f)
348
- for (; ; )
349
- if (a == 0) {
350
- for (o = 1, l = u[0]; l >= 10; l /= 10, o++) ;
351
- for (l = u[0] += n, n = 1; l >= 10; l /= 10, n++) ;
352
- o != n && (e.e++, u[0] == $ && (u[0] = 1));
353
- break;
354
- } else {
355
- if (u[a] += n, u[a] != $) break;
356
- u[a--] = 0, n = 1;
357
- }
358
- for (o = u.length; u[--o] === 0; u.pop()) ;
359
- }
360
- e.e > j ? e.c = e.e = null : e.e < Q && (e.c = [e.e = 0]);
361
- }
362
- return e;
363
- }
364
- function X(e) {
365
- var t, i = e.e;
366
- return i === null ? e.toString() : (t = q(e.c), t = i <= C || i >= M ? oe(t, i) : W(t, i, "0"), e.s < 0 ? "-" + t : t);
367
- }
368
- return h.absoluteValue = h.abs = function() {
369
- var e = new d(this);
370
- return e.s < 0 && (e.s = 1), e;
371
- }, h.comparedTo = function(e, t) {
372
- return ee(this, new d(e, t));
373
- }, h.decimalPlaces = h.dp = function(e, t) {
374
- var i, f, r, o = this;
375
- if (e != null)
376
- return U(e, 0, I), t == null ? t = N : U(t, 0, 8), F(new d(o), e + o.e + 1, t);
377
- if (!(i = o.c)) return null;
378
- if (f = ((r = i.length - 1) - H(this.e / E)) * E, r = i[r]) for (; r % 10 == 0; r /= 10, f--) ;
379
- return f < 0 && (f = 0), f;
380
- }, h.dividedBy = h.div = function(e, t) {
381
- return p(this, new d(e, t), A, N);
382
- }, h.dividedToIntegerBy = h.idiv = function(e, t) {
383
- return p(this, new d(e, t), 0, 1);
384
- }, h.exponentiatedBy = h.pow = function(e, t) {
385
- var i, f, r, o, l, n, s, a, c, u = this;
386
- if (e = new d(e), e.c && !e.isInteger())
387
- throw Error(B + "Exponent not an integer: " + X(e));
388
- if (t != null && (t = new d(t)), n = e.e > 14, !u.c || !u.c[0] || u.c[0] == 1 && !u.e && u.c.length == 1 || !e.c || !e.c[0])
389
- return c = new d(Math.pow(+X(u), n ? e.s * (2 - se(e)) : +X(e))), t ? c.mod(t) : c;
390
- if (s = e.s < 0, t) {
391
- if (t.c ? !t.c[0] : !t.s) return new d(NaN);
392
- f = !s && u.isInteger() && t.isInteger(), f && (u = u.mod(t));
393
- } else {
394
- if (e.e > 9 && (u.e > 0 || u.e < -1 || (u.e == 0 ? u.c[0] > 1 || n && u.c[1] >= 24e7 : u.c[0] < 8e13 || n && u.c[0] <= 9999975e7)))
395
- return o = u.s < 0 && se(e) ? -0 : 0, u.e > -1 && (o = 1 / o), new d(s ? 1 / o : o);
396
- Z && (o = pe(Z / E + 2));
397
- }
398
- for (n ? (i = new d(0.5), s && (e.s = 1), a = se(e)) : (r = Math.abs(+X(e)), a = r % 2), c = new d(g); ; ) {
399
- if (a) {
400
- if (c = c.times(u), !c.c) break;
401
- o ? c.c.length > o && (c.c.length = o) : f && (c = c.mod(t));
402
- }
403
- if (r) {
404
- if (r = V(r / 2), r === 0) break;
405
- a = r % 2;
406
- } else if (e = e.times(i), F(e, e.e + 1, 1), e.e > 14)
407
- a = se(e);
408
- else {
409
- if (r = +X(e), r === 0) break;
410
- a = r % 2;
411
- }
412
- u = u.times(u), o ? u.c && u.c.length > o && (u.c.length = o) : f && (u = u.mod(t));
413
- }
414
- return f ? c : (s && (c = g.div(c)), t ? c.mod(t) : o ? F(c, Z, N, l) : c);
415
- }, h.integerValue = function(e) {
416
- var t = new d(this);
417
- return e == null ? e = N : U(e, 0, 8), F(t, t.e + 1, e);
418
- }, h.isEqualTo = h.eq = function(e, t) {
419
- return ee(this, new d(e, t)) === 0;
420
- }, h.isFinite = function() {
421
- return !!this.c;
422
- }, h.isGreaterThan = h.gt = function(e, t) {
423
- return ee(this, new d(e, t)) > 0;
424
- }, h.isGreaterThanOrEqualTo = h.gte = function(e, t) {
425
- return (t = ee(this, new d(e, t))) === 1 || t === 0;
426
- }, h.isInteger = function() {
427
- return !!this.c && H(this.e / E) > this.c.length - 2;
428
- }, h.isLessThan = h.lt = function(e, t) {
429
- return ee(this, new d(e, t)) < 0;
430
- }, h.isLessThanOrEqualTo = h.lte = function(e, t) {
431
- return (t = ee(this, new d(e, t))) === -1 || t === 0;
432
- }, h.isNaN = function() {
433
- return !this.s;
434
- }, h.isNegative = function() {
435
- return this.s < 0;
436
- }, h.isPositive = function() {
437
- return this.s > 0;
438
- }, h.isZero = function() {
439
- return !!this.c && this.c[0] == 0;
440
- }, h.minus = function(e, t) {
441
- var i, f, r, o, l = this, n = l.s;
442
- if (e = new d(e, t), t = e.s, !n || !t) return new d(NaN);
443
- if (n != t)
444
- return e.s = -t, l.plus(e);
445
- var s = l.e / E, a = e.e / E, c = l.c, u = e.c;
446
- if (!s || !a) {
447
- if (!c || !u) return c ? (e.s = -t, e) : new d(u ? l : NaN);
448
- if (!c[0] || !u[0])
449
- return u[0] ? (e.s = -t, e) : new d(c[0] ? l : (
450
- // IEEE 754 (2008) 6.3: n - n = -0 when rounding to -Infinity
451
- N == 3 ? -0 : 0
452
- ));
453
- }
454
- if (s = H(s), a = H(a), c = c.slice(), n = s - a) {
455
- for ((o = n < 0) ? (n = -n, r = c) : (a = s, r = u), r.reverse(), t = n; t--; r.push(0)) ;
456
- r.reverse();
457
- } else
458
- for (f = (o = (n = c.length) < (t = u.length)) ? n : t, n = t = 0; t < f; t++)
459
- if (c[t] != u[t]) {
460
- o = c[t] < u[t];
461
- break;
462
- }
463
- if (o && (r = c, c = u, u = r, e.s = -e.s), t = (f = u.length) - (i = c.length), t > 0) for (; t--; c[i++] = 0) ;
464
- for (t = $ - 1; f > n; ) {
465
- if (c[--f] < u[f]) {
466
- for (i = f; i && !c[--i]; c[i] = t) ;
467
- --c[i], c[f] += $;
468
- }
469
- c[f] -= u[f];
470
- }
471
- for (; c[0] == 0; c.splice(0, 1), --a) ;
472
- return c[0] ? le(e, c, a) : (e.s = N == 3 ? -1 : 1, e.c = [e.e = 0], e);
473
- }, h.modulo = h.mod = function(e, t) {
474
- var i, f, r = this;
475
- return e = new d(e, t), !r.c || !e.s || e.c && !e.c[0] ? new d(NaN) : !e.c || r.c && !r.c[0] ? new d(r) : (te == 9 ? (f = e.s, e.s = 1, i = p(r, e, 0, 3), e.s = f, i.s *= f) : i = p(r, e, 0, te), e = r.minus(i.times(e)), !e.c[0] && te == 1 && (e.s = r.s), e);
476
- }, h.multipliedBy = h.times = function(e, t) {
477
- var i, f, r, o, l, n, s, a, c, u, k, O, S, P, v, T = this, x = T.c, R = (e = new d(e, t)).c;
478
- if (!x || !R || !x[0] || !R[0])
479
- return !T.s || !e.s || x && !x[0] && !R || R && !R[0] && !x ? e.c = e.e = e.s = null : (e.s *= T.s, !x || !R ? e.c = e.e = null : (e.c = [0], e.e = 0)), e;
480
- for (f = H(T.e / E) + H(e.e / E), e.s *= T.s, s = x.length, u = R.length, s < u && (S = x, x = R, R = S, r = s, s = u, u = r), r = s + u, S = []; r--; S.push(0)) ;
481
- for (P = $, v = J, r = u; --r >= 0; ) {
482
- for (i = 0, k = R[r] % v, O = R[r] / v | 0, l = s, o = r + l; o > r; )
483
- a = x[--l] % v, c = x[l] / v | 0, n = O * a + c * k, a = k * a + n % v * v + S[o] + i, i = (a / P | 0) + (n / v | 0) + O * c, S[o--] = a % P;
484
- S[o] = i;
485
- }
486
- return i ? ++f : S.splice(0, 1), le(e, S, f);
487
- }, h.negated = function() {
488
- var e = new d(this);
489
- return e.s = -e.s || null, e;
490
- }, h.plus = function(e, t) {
491
- var i, f = this, r = f.s;
492
- if (e = new d(e, t), t = e.s, !r || !t) return new d(NaN);
493
- if (r != t)
494
- return e.s = -t, f.minus(e);
495
- var o = f.e / E, l = e.e / E, n = f.c, s = e.c;
496
- if (!o || !l) {
497
- if (!n || !s) return new d(r / 0);
498
- if (!n[0] || !s[0]) return s[0] ? e : new d(n[0] ? f : r * 0);
499
- }
500
- if (o = H(o), l = H(l), n = n.slice(), r = o - l) {
501
- for (r > 0 ? (l = o, i = s) : (r = -r, i = n), i.reverse(); r--; i.push(0)) ;
502
- i.reverse();
503
- }
504
- for (r = n.length, t = s.length, r - t < 0 && (i = s, s = n, n = i, t = r), r = 0; t; )
505
- r = (n[--t] = n[t] + s[t] + r) / $ | 0, n[t] = $ === n[t] ? 0 : n[t] % $;
506
- return r && (n = [r].concat(n), ++l), le(e, n, l);
507
- }, h.precision = h.sd = function(e, t) {
508
- var i, f, r, o = this;
509
- if (e != null && e !== !!e)
510
- return U(e, 1, I), t == null ? t = N : U(t, 0, 8), F(new d(o), e, t);
511
- if (!(i = o.c)) return null;
512
- if (r = i.length - 1, f = r * E + 1, r = i[r]) {
513
- for (; r % 10 == 0; r /= 10, f--) ;
514
- for (r = i[0]; r >= 10; r /= 10, f++) ;
515
- }
516
- return e && o.e + 1 > f && (f = o.e + 1), f;
517
- }, h.shiftedBy = function(e) {
518
- return U(e, -de, de), this.times("1e" + e);
519
- }, h.squareRoot = h.sqrt = function() {
520
- var e, t, i, f, r, o = this, l = o.c, n = o.s, s = o.e, a = A + 4, c = new d("0.5");
521
- if (n !== 1 || !l || !l[0])
522
- return new d(!n || n < 0 && (!l || l[0]) ? NaN : l ? o : 1 / 0);
523
- if (n = Math.sqrt(+X(o)), n == 0 || n == 1 / 0 ? (t = q(l), (t.length + s) % 2 == 0 && (t += "0"), n = Math.sqrt(+t), s = H((s + 1) / 2) - (s < 0 || s % 2), n == 1 / 0 ? t = "5e" + s : (t = n.toExponential(), t = t.slice(0, t.indexOf("e") + 1) + s), i = new d(t)) : i = new d(n + ""), i.c[0]) {
524
- for (s = i.e, n = s + a, n < 3 && (n = 0); ; )
525
- if (r = i, i = c.times(r.plus(p(o, r, a, 1))), q(r.c).slice(0, n) === (t = q(i.c)).slice(0, n))
526
- if (i.e < s && --n, t = t.slice(n - 3, n + 1), t == "9999" || !f && t == "4999") {
527
- if (!f && (F(r, r.e + A + 2, 0), r.times(r).eq(o))) {
528
- i = r;
529
- break;
530
- }
531
- a += 4, n += 4, f = 1;
532
- } else {
533
- (!+t || !+t.slice(1) && t.charAt(0) == "5") && (F(i, i.e + A + 2, 1), e = !i.times(i).eq(o));
534
- break;
535
- }
536
- }
537
- return F(i, i.e + A + 1, N, e);
538
- }, h.toExponential = function(e, t) {
539
- return e != null && (U(e, 0, I), e++), ae(this, e, t, 1);
540
- }, h.toFixed = function(e, t) {
541
- return e != null && (U(e, 0, I), e = e + this.e + 1), ae(this, e, t);
542
- }, h.toFormat = function(e, t, i) {
543
- var f, r = this;
544
- if (i == null)
545
- e != null && t && typeof t == "object" ? (i = t, t = null) : e && typeof e == "object" ? (i = e, e = t = null) : i = ce;
546
- else if (typeof i != "object")
547
- throw Error(B + "Argument not an object: " + i);
548
- if (f = r.toFixed(e, t), r.c) {
549
- var o, l = f.split("."), n = +i.groupSize, s = +i.secondaryGroupSize, a = i.groupSeparator || "", c = l[0], u = l[1], k = r.s < 0, O = k ? c.slice(1) : c, S = O.length;
550
- if (s && (o = n, n = s, s = o, S -= o), n > 0 && S > 0) {
551
- for (o = S % n || n, c = O.substr(0, o); o < S; o += n) c += a + O.substr(o, n);
552
- s > 0 && (c += a + O.slice(o)), k && (c = "-" + c);
553
- }
554
- f = u ? c + (i.decimalSeparator || "") + ((s = +i.fractionGroupSize) ? u.replace(
555
- new RegExp("\\d{" + s + "}\\B", "g"),
556
- "$&" + (i.fractionGroupSeparator || "")
557
- ) : u) : c;
558
- }
559
- return (i.prefix || "") + f + (i.suffix || "");
560
- }, h.toFraction = function(e) {
561
- var t, i, f, r, o, l, n, s, a, c, u, k, O = this, S = O.c;
562
- if (e != null && (n = new d(e), !n.isInteger() && (n.c || n.s !== 1) || n.lt(g)))
563
- throw Error(B + "Argument " + (n.isInteger() ? "out of range: " : "not an integer: ") + X(n));
564
- if (!S) return new d(O);
565
- for (t = new d(g), a = i = new d(g), f = s = new d(g), k = q(S), o = t.e = k.length - O.e - 1, t.c[0] = we[(l = o % E) < 0 ? E + l : l], e = !e || n.comparedTo(t) > 0 ? o > 0 ? t : a : n, l = j, j = 1 / 0, n = new d(k), s.c[0] = 0; c = p(n, t, 0, 1), r = i.plus(c.times(f)), r.comparedTo(e) != 1; )
566
- i = f, f = r, a = s.plus(c.times(r = a)), s = r, t = n.minus(c.times(r = t)), n = r;
567
- return r = p(e.minus(i), f, 0, 1), s = s.plus(r.times(a)), i = i.plus(r.times(f)), s.s = a.s = O.s, o = o * 2, u = p(a, f, o, N).minus(O).abs().comparedTo(
568
- p(s, i, o, N).minus(O).abs()
569
- ) < 1 ? [a, f] : [s, i], j = l, u;
570
- }, h.toNumber = function() {
571
- return +X(this);
572
- }, h.toPrecision = function(e, t) {
573
- return e != null && U(e, 1, I), ae(this, e, t, 2);
574
- }, h.toString = function(e) {
575
- var t, i = this, f = i.s, r = i.e;
576
- return r === null ? f ? (t = "Infinity", f < 0 && (t = "-" + t)) : t = "NaN" : (e == null ? t = r <= C || r >= M ? oe(q(i.c), r) : W(q(i.c), r, "0") : e === 10 && fe ? (i = F(new d(i), A + r + 1, N), t = W(q(i.c), i.e, "0")) : (U(e, 2, b.length, "Base"), t = m(W(q(i.c), r, "0"), 10, e, f, !0)), f < 0 && i.c[0] && (t = "-" + t)), t;
577
- }, h.valueOf = h.toJSON = function() {
578
- return X(this);
579
- }, h._isBigNumber = !0, h[Symbol.toStringTag] = "BigNumber", h[/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")] = h.valueOf, _ != null && d.set(_), d;
1
+ import { nanoid as e } from "nanoid";
2
+ //#region src/common.ts
3
+ var t = 1, n = 2, r = 3, i = class extends Error {
4
+ constructor(e, t) {
5
+ super(t || `OAuth2Error: code=${e}`), this.code = e;
6
+ }
7
+ };
8
+ h();
9
+ //#endregion
10
+ //#region ../../node_modules/.pnpm/bignumber.js@11.1.1/node_modules/bignumber.js/dist/bignumber.mjs
11
+ var a = /^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i, o = Math.ceil, s = Math.floor, c = "[BigNumber Error] ", l = 0x5af3107a4000, u = 14, d = 9007199254740991, f = [
12
+ 1,
13
+ 10,
14
+ 100,
15
+ 1e3,
16
+ 1e4,
17
+ 1e5,
18
+ 1e6,
19
+ 1e7,
20
+ 1e8,
21
+ 1e9,
22
+ 1e10,
23
+ 1e11,
24
+ 0xe8d4a51000,
25
+ 0x9184e72a000
26
+ ], p = 1e7, m = 1e9;
27
+ function h(e) {
28
+ var t, n, r = /^(-?)0([xbo])(?=[^.])/i, i = /^-?(Infinity|NaN)$/, w = /^\s*\+(?!-)|^\s+|\s+$/g, T = z.prototype = {
29
+ constructor: z,
30
+ toString: null,
31
+ valueOf: null
32
+ }, E = new z(1), D = 20, O = 4, k = -7, A = 21, j = -1e7, M = 1e7, N = !1, P = !0, F = 1, I = 0, L = {
33
+ prefix: "",
34
+ negativeSign: "-",
35
+ positiveSign: "",
36
+ groupSeparator: ",",
37
+ groupSize: 3,
38
+ secondaryGroupSize: 0,
39
+ decimalSeparator: ".",
40
+ fractionGroupSeparator: "",
41
+ fractionGroupSize: 0,
42
+ suffix: ""
43
+ }, R = "0123456789abcdefghijklmnopqrstuvwxyz";
44
+ function z(e, t) {
45
+ var n, o, s, l, u = this;
46
+ if (!(u instanceof z)) return new z(e, t);
47
+ if (l = typeof e, t == null) {
48
+ if (U(e)) {
49
+ u.s = e.s, !e.c || e.e > M ? u.c = u.e = null : e.e < j ? u.c = [u.e = 0] : (u.e = e.e, u.c = e.c.slice());
50
+ return;
51
+ }
52
+ if (l == "number") {
53
+ if (e * 0 != 0) {
54
+ u.s = isNaN(e) ? null : e < 0 ? -1 : 1, u.c = u.e = null;
55
+ return;
56
+ }
57
+ if (u.s = 1 / e < 0 ? (e = -e, -1) : 1, e === ~~e) {
58
+ for (n = 0, o = e; o >= 10; o /= 10, n++);
59
+ n > M ? u.c = u.e = null : (u.e = n, u.c = [e]);
60
+ return;
61
+ }
62
+ return B(u, String(e));
63
+ }
64
+ if (l == "bigint") return u.s = e < 0 ? (e = -e, -1) : 1, B(u, String(e));
65
+ if (l == "string") s = e;
66
+ else {
67
+ if (P) throw Error(c + "BigNumber, string, number, or BigInt expected: " + e);
68
+ s = String(e);
69
+ }
70
+ if (a.test(s)) return u.s = s.charCodeAt(0) == 45 ? (s = s.slice(1), -1) : 1, B(u, s);
71
+ if (s = s.replace(w, ""), i.test(s)) {
72
+ u.s = isNaN(s) ? null : s < 0 ? -1 : 1, u.c = u.e = null;
73
+ return;
74
+ }
75
+ if (s = s.replace(r, function(e, n, r) {
76
+ return t = (r = r.toLowerCase()) == "x" ? 16 : r == "b" ? 2 : 8, n;
77
+ }), t) return V(u, s, t, e);
78
+ if (s = s.replace(/(\d)_(?=\d)/g, "$1"), a.test(s)) return u.s = s.charCodeAt(0) == 45 ? (s = s.slice(1), -1) : 1, B(u, s);
79
+ if (P) throw Error(c + "Not a number: " + e);
80
+ u.s = u.c = u.e = null;
81
+ } else {
82
+ if (l != "string") {
83
+ if (P) throw Error(c + "String expected: " + e);
84
+ e = String(e);
85
+ }
86
+ y(t, 2, R.length, "Base"), V(u, e.replace(w, ""), t, e);
87
+ }
88
+ }
89
+ z.clone = h, z.ROUND_UP = 0, z.ROUND_DOWN = 1, z.ROUND_CEIL = 2, z.ROUND_FLOOR = 3, z.ROUND_HALF_UP = 4, z.ROUND_HALF_DOWN = 5, z.ROUND_HALF_EVEN = 6, z.ROUND_HALF_CEIL = 7, z.ROUND_HALF_FLOOR = 8, z.EUCLID = 9, z.config = z.set = function(e) {
90
+ var t, n;
91
+ if (e != null) if (typeof e == "object") {
92
+ if (e.hasOwnProperty(t = "DECIMAL_PLACES") && (D = y(e[t], 0, m, t)), e.hasOwnProperty(t = "ROUNDING_MODE") && (O = y(e[t], 0, 8, t)), e.hasOwnProperty(t = "EXPONENTIAL_AT") && (n = e[t], b(n) ? (y(n[0], -m, 0, t), y(n[1], 0, m, t), k = n[0], A = n[1]) : k = -(A = y(n, -m, m, t) < 0 ? -n : n)), e.hasOwnProperty(t = "RANGE")) if (n = e[t], n) b(n) ? (y(n[0], -m, -1, t), y(n[1], 1, m, t), j = n[0], M = n[1]) : j = -(M = y(n, -m, m, t) < 0 ? -n : n);
93
+ else throw Error(c + t + " cannot be zero: " + n);
94
+ if (e.hasOwnProperty(t = "CRYPTO")) if (n = e[t], n === !!n) if (n) if (typeof crypto < "u" && crypto && (crypto.getRandomValues || crypto.randomBytes)) N = n;
95
+ else throw N = !n, Error(c + "crypto unavailable");
96
+ else N = n;
97
+ else throw Error(c + t + " not true or false: " + n);
98
+ if (e.hasOwnProperty(t = "STRICT")) if (n = e[t], n === !!n) P = n;
99
+ else throw Error(c + t + " not true or false: " + n);
100
+ if (e.hasOwnProperty(t = "MODULO_MODE") && (F = y(e[t], 0, 9, t)), e.hasOwnProperty(t = "POW_PRECISION") && (I = y(e[t], 0, m, t)), e.hasOwnProperty(t = "FORMAT")) if (n = e[t], typeof n == "object") for (t in n) n.hasOwnProperty(t) && L.hasOwnProperty(t) && (L[t] = n[t]);
101
+ else throw Error(c + t + " not an object: " + n);
102
+ if (e.hasOwnProperty(t = "ALPHABET")) if (n = e[t], typeof n == "string" && !/^.?$|[+\-.\s]|(.).*\1/.test(n)) R = n;
103
+ else throw Error(c + t + " invalid: " + n);
104
+ } else throw Error(c + "Object expected: " + e);
105
+ return {
106
+ DECIMAL_PLACES: D,
107
+ ROUNDING_MODE: O,
108
+ EXPONENTIAL_AT: [k, A],
109
+ RANGE: [j, M],
110
+ CRYPTO: N,
111
+ STRICT: P,
112
+ MODULO_MODE: F,
113
+ POW_PRECISION: I,
114
+ FORMAT: L,
115
+ ALPHABET: R
116
+ };
117
+ }, z.fromFormat = function(e, t) {
118
+ if (typeof e != "string") throw Error(c + "Not a string: " + e);
119
+ if (t == null) t = L;
120
+ else if (typeof t != "object") throw Error(c + "Argument not an object: " + t);
121
+ else t = K(t);
122
+ var n, r, i, a, o = t.negativeSign || "-", s = t.positiveSign || "", l = t.prefix || "", u = t.suffix || "", d = t.groupSeparator || "", f = t.decimalSeparator || ".", p = t.fractionGroupSeparator || "";
123
+ if (l && e.indexOf(l) === 0 && (e = e.slice(l.length)), u && e.lastIndexOf(u) === e.length - u.length && (e = e.slice(0, -u.length)), o && e.indexOf(o) === 0 ? (e = e.slice(o.length), r = !0) : s && e.indexOf(s) === 0 && (e = e.slice(s.length)), n = e.indexOf(f), n < 0) {
124
+ if (d) for (; e.indexOf(d) > -1;) e = e.replace(d, "");
125
+ } else {
126
+ if (i = e.slice(0, n), a = e.slice(n + f.length), d) for (; i.indexOf(d) > -1;) i = i.replace(d, "");
127
+ if (p) for (; a.indexOf(p) > -1;) a = a.replace(p, "");
128
+ e = i + "." + a;
129
+ }
130
+ return new z(r ? "-" + e : e);
131
+ }, z.isBigNumber = function(e) {
132
+ if (!U(e)) return !1;
133
+ var t, n, r = e.c, i = e.e, a = e.s;
134
+ if (!b(r)) return r === null && i === null && (a === null || a === 1 || a === -1);
135
+ if (a !== 1 && a !== -1 || i < -m || i > m || i !== s(i)) return !1;
136
+ if (r[0] === 0) return i === 0 && r.length === 1;
137
+ if (t = (i + 1) % u, t < 1 && (t += u), String(r[0]).length !== t) return !1;
138
+ for (t = 0; t < r.length; t++) if (n = r[t], n < 0 || n >= l || n !== s(n)) return !1;
139
+ return n !== 0;
140
+ }, z.maximum = z.max = function() {
141
+ return W(arguments, -1);
142
+ }, z.minimum = z.min = function() {
143
+ return W(arguments, 1);
144
+ }, z.random = (function() {
145
+ var e = 9007199254740992, t = Math.random() * e & 2097151 ? function() {
146
+ return s(Math.random() * e);
147
+ } : function() {
148
+ return (Math.random() * 1073741824 | 0) * 8388608 + (Math.random() * 8388608 | 0);
149
+ };
150
+ return function(e) {
151
+ var n, r, i, a, l, d = 0, p = [], h = new z(E);
152
+ if (e = e == null ? D : y(e, 0, m), a = o(e / u), N) if (crypto.getRandomValues) {
153
+ for (n = crypto.getRandomValues(new Uint32Array(a *= 2)); d < a;) l = n[d] * 131072 + (n[d + 1] >>> 11), l >= 9e15 ? (r = crypto.getRandomValues(new Uint32Array(2)), n[d] = r[0], n[d + 1] = r[1]) : (p.push(l % 0x5af3107a4000), d += 2);
154
+ d = a / 2;
155
+ } else if (crypto.randomBytes) {
156
+ for (n = crypto.randomBytes(a *= 7); d < a;) l = (n[d] & 31) * 281474976710656 + n[d + 1] * 1099511627776 + n[d + 2] * 4294967296 + n[d + 3] * 16777216 + (n[d + 4] << 16) + (n[d + 5] << 8) + n[d + 6], l >= 9e15 ? crypto.randomBytes(7).copy(n, d) : (p.push(l % 0x5af3107a4000), d += 7);
157
+ d = a / 7;
158
+ } else throw N = !1, Error(c + "crypto unavailable");
159
+ if (!N) for (; d < a;) l = t(), l < 9e15 && (p[d++] = l % 0x5af3107a4000);
160
+ for (a = p[--d], e %= u, a && e && (l = f[u - e], p[d] = s(a / l) * l); p[d] === 0; p.pop(), d--);
161
+ if (d < 0) p = [i = 0];
162
+ else {
163
+ for (i = -1; p[0] === 0; p.splice(0, 1), i -= u);
164
+ for (d = 1, l = p[0]; l >= 10; l /= 10, d++);
165
+ d < u && (i -= u - d);
166
+ }
167
+ return h.e = i, h.c = p, h;
168
+ };
169
+ })(), z.sum = function() {
170
+ for (var e = 0, t = new z(0); e < arguments.length;) t = t.plus(arguments[e++]);
171
+ return t;
172
+ };
173
+ function B(e, t) {
174
+ var n, r, i;
175
+ for ((n = t.indexOf(".")) > -1 && (t = t.replace(".", "")), (r = t.search(/e/i)) > 0 ? (n < 0 && (n = r), n += +t.slice(r + 1), t = t.substring(0, r)) : n < 0 && (n = t.length), r = 0; t.charCodeAt(r) === 48; r++);
176
+ for (i = t.length; t.charCodeAt(--i) === 48;);
177
+ if (t = t.slice(r, ++i)) if (i -= r, n = n - r - 1, n > M) e.c = e.e = null;
178
+ else if (n < j) e.c = [e.e = 0];
179
+ else {
180
+ if (e.e = n, e.c = [], r = (n + 1) % u, n < 0 && (r += u), r < i) {
181
+ for (r && e.c.push(+t.slice(0, r)), i -= u; r < i;) e.c.push(+t.slice(r, r += u));
182
+ r = u - (t = t.slice(r)).length;
183
+ } else r -= i;
184
+ for (; r--; t += "0");
185
+ e.c.push(+t);
186
+ }
187
+ else e.c = [e.e = 0];
188
+ }
189
+ function V(e, t, r, i) {
190
+ var a, o, s = R.slice(0, r), l = 0, u = "", d = !1, f = !1, p = !1;
191
+ for (e.s = t.charCodeAt(0) === 45 ? (t = t.slice(1), -1) : 1, o = t.length; l < o; l++) {
192
+ if (a = t.charAt(l), s.indexOf(a) >= 0) {
193
+ u += a, f = !0;
194
+ continue;
195
+ }
196
+ if (a == "_") {
197
+ if (f && l + 1 < o) {
198
+ f = !1;
199
+ continue;
200
+ }
201
+ } else if (a == ".") {
202
+ if (l == 0 || !d && f) {
203
+ if (l + 1 == o) break;
204
+ l == 0 && (u = "0"), u += a, d = !0, f = !1;
205
+ continue;
206
+ }
207
+ } else if (!p && (t == t.toUpperCase() && s == s.toLowerCase() && (t = t.toLowerCase()) || t == t.toLowerCase() && s == s.toUpperCase() && (t = t.toUpperCase()))) {
208
+ l = -1, u = "", p = !0, d = f = !1;
209
+ continue;
210
+ }
211
+ if (P) throw Error(c + "Not a base " + r + " number: " + i);
212
+ e.s = e.c = e.e = null;
213
+ return;
214
+ }
215
+ B(e, n(u, r, 10, e.s));
216
+ }
217
+ n = (function() {
218
+ var e = "0123456789";
219
+ function n(e, t, n, r) {
220
+ for (var i, a = [0], o, s = 0, c = e.length; s < c;) {
221
+ for (o = a.length; o--; a[o] *= t);
222
+ for (a[0] += r.indexOf(e.charAt(s++)), i = 0; i < a.length; i++) a[i] > n - 1 && (a[i + 1] ?? (a[i + 1] = 0), a[i + 1] += a[i] / n | 0, a[i] %= n);
223
+ }
224
+ return a.reverse();
225
+ }
226
+ return function(r, i, a, o, s) {
227
+ var c, l, u, d, f, p, m, h, g = r.indexOf("."), v = D, y = O;
228
+ for (g >= 0 && (d = I, I = 0, r = r.replace(".", ""), h = new z(i), p = h.pow(r.length - g), I = d, h.c = n(C(_(p.c), p.e, "0"), 10, a, e), h.e = h.c.length), m = n(r, i, a, s ? (c = R, e) : (c = e, R)), u = d = m.length; m[--d] == 0; m.pop());
229
+ if (!m[0]) return c.charAt(0);
230
+ if (g < 0 ? --u : (p.c = m, p.e = u, p.s = o, p = t(p, h, v, y, a), m = p.c, f = p.r, u = p.e), l = u + v + 1, g = m[l], d = a / 2, f = f || l < 0 || m[l + 1] != null, f = y < 4 ? (g != null || f) && (y == 0 || y == (p.s < 0 ? 3 : 2)) : g > d || g == d && (y == 4 || f || y == 6 && m[l - 1] & 1 || y == (p.s < 0 ? 8 : 7)), l < 1 || !m[0]) r = f ? C(c.charAt(1), -v, c.charAt(0)) : c.charAt(0);
231
+ else {
232
+ if (l < m.length && (m.length = l), f) for (--a; ++m[--l] > a;) m[l] = 0, l || (++u, m = [1].concat(m));
233
+ for (d = m.length; !m[--d];);
234
+ for (g = 0, r = ""; g <= d; r += c.charAt(m[g++]));
235
+ r = C(r, u, c.charAt(0));
236
+ }
237
+ return r;
238
+ };
239
+ })(), t = (function() {
240
+ function e(e, t, n) {
241
+ var r, i, a, o, s = 0, c = e.length, l = t % p, u = t / p | 0;
242
+ for (e = e.slice(); c--;) a = e[c] % p, o = e[c] / p | 0, r = u * a + o * l, i = l * a + r % p * p + s, s = (i / n | 0) + (r / p | 0) + u * o, e[c] = i % n;
243
+ return s && (e = [s].concat(e)), e;
244
+ }
245
+ function t(e, t, n, r) {
246
+ var i, a;
247
+ if (n != r) a = n > r ? 1 : -1;
248
+ else for (i = a = 0; i < n; i++) if (e[i] != t[i]) {
249
+ a = e[i] > t[i] ? 1 : -1;
250
+ break;
251
+ }
252
+ return a;
253
+ }
254
+ function n(e, t, n, r) {
255
+ for (var i = 0; n--;) e[n] -= i, i = +(e[n] < t[n]), e[n] = i * r + e[n] - t[n];
256
+ for (; !e[0] && e.length > 1; e.splice(0, 1));
257
+ }
258
+ return function(r, i, a, o, c) {
259
+ var d, f, p, m, h, _, v, y, b, x, S, C, w, T, E, D, O, k = r.s == i.s ? 1 : -1, A = r.c, j = i.c;
260
+ if (!A || !A[0] || !j || !j[0]) return new z(!r.s || !i.s || (A ? j && A[0] == j[0] : !j) ? NaN : A && A[0] == 0 || !j ? k * 0 : k / 0);
261
+ for (y = new z(k), b = y.c = [], f = r.e - i.e, k = a + f + 1, c || (c = l, f = g(r.e / u) - g(i.e / u), k = k / u | 0), p = 0; j[p] == (A[p] || 0); p++);
262
+ if (j[p] > (A[p] || 0) && f--, k < 0) b.push(1), m = !0;
263
+ else {
264
+ for (T = A.length, D = j.length, p = 0, k += 2, h = s(c / (j[0] + 1)), h > 1 && (j = e(j, h, c), A = e(A, h, c), D = j.length, T = A.length), w = D, x = A.slice(0, D), S = x.length; S < D; x[S++] = 0);
265
+ O = j.slice(), O = [0].concat(O), E = j[0], j[1] >= c / 2 && E++;
266
+ do {
267
+ if (h = 0, d = t(j, x, D, S), d < 0) {
268
+ if (C = x[0], D != S && (C = C * c + (x[1] || 0)), h = s(C / E), h > 1) for (h >= c && (h = c - 1), _ = e(j, h, c), v = _.length, S = x.length; t(_, x, v, S) == 1;) h--, n(_, D < v ? O : j, v, c), v = _.length, d = 1;
269
+ else h == 0 && (d = h = 1), _ = j.slice(), v = _.length;
270
+ if (v < S && (_ = [0].concat(_)), n(x, _, S, c), S = x.length, d == -1) for (; t(j, x, D, S) < 1;) h++, n(x, D < S ? O : j, S, c), S = x.length;
271
+ } else d === 0 && (h++, x = [0]);
272
+ b[p++] = h, x[0] ? x[S++] = A[w] || 0 : (x = [A[w]], S = 1);
273
+ } while ((w++ < T || x[0] != null) && k--);
274
+ m = x[0] != null, b[0] || b.splice(0, 1);
275
+ }
276
+ if (c == l) {
277
+ for (p = 1, k = b[0]; k >= 10; k /= 10, p++);
278
+ q(y, a + (y.e = p + f * u - 1) + 1, o, m);
279
+ } else y.e = f, y.r = +m;
280
+ return y;
281
+ };
282
+ })();
283
+ function H(e, t, n, r) {
284
+ var i, a, o, s, c;
285
+ if (n = n == null ? O : y(n, 0, 8), !e.c) return e.toString();
286
+ if (i = e.c[0], o = e.e, t == null) c = _(e.c), c = r == 1 || r == 2 && (o <= k || o >= A) ? S(c, o) : C(c, o, "0");
287
+ else if (e = q(new z(e), t, n), a = e.e, c = _(e.c), s = c.length, r == 1 || r == 2 && (t <= a || a <= k)) {
288
+ for (; s < t; c += "0", s++);
289
+ c = S(c, a);
290
+ } else if (t -= o + (r === 2 && a > o), c = C(c, a, "0"), a + 1 > s) {
291
+ if (--t > 0) for (c += "."; t--; c += "0");
292
+ } else if (t += a - s, t > 0) for (a + 1 == s && (c += "."); t--; c += "0");
293
+ return e.s < 0 && i ? "-" + c : c;
294
+ }
295
+ function U(e) {
296
+ return e instanceof z || !!e && e._isBigNumber === !0;
297
+ }
298
+ function W(e, t) {
299
+ for (var n, r, i = 1, a = new z(e[0]); i < e.length; i++) r = new z(e[i]), (!r.s || (n = v(a, r)) === t || n === 0 && a.s === t) && (a = r);
300
+ return a;
301
+ }
302
+ function G(e, t, n) {
303
+ for (var r = 1, i = t.length; !t[--i]; t.pop());
304
+ for (i = t[0]; i >= 10; i /= 10, r++);
305
+ return (n = r + n * u - 1) > M ? e.c = e.e = null : n < j ? e.c = [e.e = 0] : (e.e = n, e.c = t), e;
306
+ }
307
+ function K(e) {
308
+ var t, n = {};
309
+ for (t in L) L.hasOwnProperty(t) && (n[t] = e.hasOwnProperty(t) ? e[t] : L[t]);
310
+ return n;
311
+ }
312
+ function q(e, t, n, r) {
313
+ var i, a, c, d, p, m, h, g = e.c, _ = f;
314
+ if (g) {
315
+ out: {
316
+ for (i = 1, d = g[0]; d >= 10; d /= 10, i++);
317
+ if (a = t - i, a < 0) a += u, c = t, p = g[m = 0], h = s(p / _[i - c - 1] % 10);
318
+ else if (m = o((a + 1) / u), m >= g.length) if (r) {
319
+ for (; g.length <= m; g.push(0));
320
+ p = h = 0, i = 1, a %= u, c = a - u + 1;
321
+ } else break out;
322
+ else {
323
+ for (p = d = g[m], i = 1; d >= 10; d /= 10, i++);
324
+ a %= u, c = a - u + i, h = c < 0 ? 0 : s(p / _[i - c - 1] % 10);
325
+ }
326
+ if (r = r || t < 0 || g[m + 1] != null || (c < 0 ? p : p % _[i - c - 1]), r = n < 4 ? (h || r) && (n == 0 || n == (e.s < 0 ? 3 : 2)) : h > 5 || h == 5 && (n == 4 || r || n == 6 && (a > 0 ? c > 0 ? p / _[i - c] : 0 : g[m - 1]) % 10 & 1 || n == (e.s < 0 ? 8 : 7)), t < 1 || !g[0]) return g.length = 0, r ? (t -= e.e + 1, g[0] = _[(u - t % u) % u], e.e = -t || 0) : g[0] = e.e = 0, e;
327
+ if (a == 0 ? (g.length = m, d = 1, m--) : (g.length = m + 1, d = _[u - a], g[m] = c > 0 ? s(p / _[i - c] % _[c]) * d : 0), r) for (;;) if (m == 0) {
328
+ for (a = 1, c = g[0]; c >= 10; c /= 10, a++);
329
+ for (c = g[0] += d, d = 1; c >= 10; c /= 10, d++);
330
+ a != d && (e.e++, g[0] == l && (g[0] = 1));
331
+ break;
332
+ } else {
333
+ if (g[m] += d, g[m] != l) break;
334
+ g[m--] = 0, d = 1;
335
+ }
336
+ for (a = g.length; g[--a] === 0; g.pop());
337
+ }
338
+ e.e > M ? e.c = e.e = null : e.e < j && (e.c = [e.e = 0]);
339
+ }
340
+ return e;
341
+ }
342
+ function J(e) {
343
+ var t, n = e.e;
344
+ return n === null ? e.toString() : (t = _(e.c), t = n <= k || n >= A ? S(t, n) : C(t, n, "0"), e.s < 0 ? "-" + t : t);
345
+ }
346
+ return T.absoluteValue = T.abs = function() {
347
+ var e = new z(this);
348
+ return e.s < 0 && (e.s = 1), e;
349
+ }, T.comparedTo = function(e, t) {
350
+ return v(this, new z(e, t));
351
+ }, T.decimalPlaces = T.dp = function(e, t) {
352
+ var n, r, i, a = this;
353
+ if (e != null) return q(new z(a), y(e, -m, m) + a.e + 1, t == null ? O : y(t, 0, 8));
354
+ if (!(n = a.c)) return null;
355
+ if (r = ((i = n.length - 1) - g(this.e / u)) * u, i = n[i]) for (; i % 10 == 0; i /= 10, r--);
356
+ return r < 0 && (r = 0), r;
357
+ }, T.dividedBy = T.div = function(e, n) {
358
+ return t(this, new z(e, n), D, O);
359
+ }, T.dividedToIntegerBy = T.idiv = function(e, n) {
360
+ return t(this, new z(e, n), 0, 1);
361
+ }, T.exponentiatedBy = T.pow = function(e, t) {
362
+ var n, r, i, a, l, d, f, p, m, h = this;
363
+ if (e = new z(e), e.c && !e.isInteger()) throw Error(c + "Exponent not an integer: " + J(e));
364
+ if (t != null && (t = new z(t)), d = e.e > 14, !h.c || !h.c[0] || h.c[0] == 1 && !h.e && h.c.length == 1 || !e.c || !e.c[0]) return m = new z(J(h) ** (d ? e.s * (2 - x(e)) : +J(e))), t ? m.mod(t) : m;
365
+ if (f = e.s < 0, t) {
366
+ if (t.c ? !t.c[0] : !t.s) return new z(NaN);
367
+ r = !f && h.isInteger() && t.isInteger(), r && (h = h.mod(t));
368
+ } else if (e.e > 9 && (h.e > 0 || h.e < -1 || (h.e == 0 ? h.c[0] > 1 || d && h.c[1] >= 24e7 : h.c[0] < 8e13 || d && h.c[0] <= 9999975e7))) return a = h.s < 0 && x(e) ? -0 : 0, h.e > -1 && (a = 1 / a), new z(f ? 1 / a : a);
369
+ else I && (a = o(I / u + 2));
370
+ for (d ? (n = new z(.5), f && (e.s = 1), p = x(e)) : (i = Math.abs(+J(e)), p = i % 2), m = new z(E);;) {
371
+ if (p) {
372
+ if (m = m.times(h), !m.c) break;
373
+ a ? m.c.length > a && (m.c.length = a) : r && (m = m.mod(t));
374
+ }
375
+ if (i) {
376
+ if (i = s(i / 2), i === 0) break;
377
+ p = i % 2;
378
+ } else if (e = e.times(n), q(e, e.e + 1, 1), e.e > 14) p = x(e);
379
+ else {
380
+ if (i = +J(e), i === 0) break;
381
+ p = i % 2;
382
+ }
383
+ h = h.times(h), a ? h.c && h.c.length > a && (h.c.length = a) : r && (h = h.mod(t));
384
+ }
385
+ return r ? m : (f && (m = E.div(m)), t ? m.mod(t) : a ? q(m, I, O, l) : m);
386
+ }, T.integerValue = function(e) {
387
+ var t = new z(this);
388
+ return q(t, t.e + 1, e == null ? O : y(e, 0, 8));
389
+ }, T.isEqualTo = T.eq = function(e, t) {
390
+ return v(this, new z(e, t)) === 0;
391
+ }, T.isFinite = function() {
392
+ return !!this.c;
393
+ }, T.isGreaterThan = T.gt = function(e, t) {
394
+ return v(this, new z(e, t)) > 0;
395
+ }, T.isGreaterThanOrEqualTo = T.gte = function(e, t) {
396
+ return (t = v(this, new z(e, t))) === 1 || t === 0;
397
+ }, T.isInteger = function() {
398
+ return !!this.c && g(this.e / u) > this.c.length - 2;
399
+ }, T.isLessThan = T.lt = function(e, t) {
400
+ return v(this, new z(e, t)) < 0;
401
+ }, T.isLessThanOrEqualTo = T.lte = function(e, t) {
402
+ return (t = v(this, new z(e, t))) === -1 || t === 0;
403
+ }, T.isNaN = function() {
404
+ return !this.s;
405
+ }, T.isNegative = function() {
406
+ return this.s < 0;
407
+ }, T.isPositive = function() {
408
+ return this.s > 0;
409
+ }, T.isZero = function() {
410
+ return !!this.c && this.c[0] == 0;
411
+ }, T.minus = function(e, t) {
412
+ var n, r, i, a, o = this, s = o.s;
413
+ if (e = new z(e, t), t = e.s, !s || !t) return new z(NaN);
414
+ if (s != t) return e.s = -t, o.plus(e);
415
+ var c = o.e / u, d = e.e / u, f = o.c, p = e.c;
416
+ if (!c || !d) {
417
+ if (!f || !p) return f ? (e.s = -t, e) : new z(p ? o : NaN);
418
+ if (!f[0] || !p[0]) return p[0] ? (e.s = -t, e) : new z(f[0] ? o : O == 3 ? -0 : 0);
419
+ }
420
+ if (c = g(c), d = g(d), f = f.slice(), s = c - d) {
421
+ for ((a = s < 0) ? (s = -s, i = f) : (d = c, i = p), i.reverse(), t = s; t--; i.push(0));
422
+ i.reverse();
423
+ } else for (r = (a = (s = f.length) < (t = p.length)) ? s : t, s = t = 0; t < r; t++) if (f[t] != p[t]) {
424
+ a = f[t] < p[t];
425
+ break;
426
+ }
427
+ if (a && (i = f, f = p, p = i, e.s = -e.s), t = (r = p.length) - (n = f.length), t > 0) for (; t--; f[n++] = 0);
428
+ for (t = l - 1; r > s;) {
429
+ if (f[--r] < p[r]) {
430
+ for (n = r; n && !f[--n]; f[n] = t);
431
+ --f[n], f[r] += l;
432
+ }
433
+ f[r] -= p[r];
434
+ }
435
+ for (; f[0] == 0; f.splice(0, 1), --d);
436
+ return f[0] ? G(e, f, d) : (e.s = O == 3 ? -1 : 1, e.c = [e.e = 0], e);
437
+ }, T.modulo = T.mod = function(e, n) {
438
+ var r, i, a = this;
439
+ return e = new z(e, n), !a.c || !e.s || e.c && !e.c[0] ? new z(NaN) : !e.c || a.c && !a.c[0] ? new z(a) : (F == 9 ? (i = e.s, e.s = 1, r = t(a, e, 0, 3), e.s = i, r.s *= i) : r = t(a, e, 0, F), e = a.minus(r.times(e)), !e.c[0] && F == 1 && (e.s = a.s), e);
440
+ }, T.multipliedBy = T.times = function(e, t) {
441
+ var n, r, i, a, o, s, c, d, f, m, h, _, v, y, b, x = this, S = x.c, C = (e = new z(e, t)).c;
442
+ if (!S || !C || !S[0] || !C[0]) return !x.s || !e.s || S && !S[0] && !C || C && !C[0] && !S ? e.c = e.e = e.s = null : (e.s *= x.s, !S || !C ? e.c = e.e = null : (e.c = [0], e.e = 0)), e;
443
+ for (r = g(x.e / u) + g(e.e / u), e.s *= x.s, c = S.length, m = C.length, c < m && (v = S, S = C, C = v, i = c, c = m, m = i), i = c + m, v = []; i--; v.push(0));
444
+ for (y = l, b = p, i = m; --i >= 0;) {
445
+ for (n = 0, h = C[i] % b, _ = C[i] / b | 0, o = c, a = i + o; a > i;) d = S[--o] % b, f = S[o] / b | 0, s = _ * d + f * h, d = h * d + s % b * b + v[a] + n, n = (d / y | 0) + (s / b | 0) + _ * f, v[a--] = d % y;
446
+ v[a] = n;
447
+ }
448
+ return n ? ++r : v.splice(0, 1), G(e, v, r);
449
+ }, T.negated = function() {
450
+ var e = new z(this);
451
+ return e.s = -e.s || null, e;
452
+ }, T.plus = function(e, t) {
453
+ var n, r = this, i = r.s;
454
+ if (e = new z(e, t), t = e.s, !i || !t) return new z(NaN);
455
+ if (i != t) return e.s = -t, r.minus(e);
456
+ var a = r.e / u, o = e.e / u, s = r.c, c = e.c;
457
+ if (!a || !o) {
458
+ if (!s || !c) return new z(i / 0);
459
+ if (!s[0] || !c[0]) return c[0] ? e : new z(s[0] ? r : i * 0);
460
+ }
461
+ if (a = g(a), o = g(o), s = s.slice(), i = a - o) {
462
+ for (i > 0 ? (o = a, n = c) : (i = -i, n = s), n.reverse(); i--; n.push(0));
463
+ n.reverse();
464
+ }
465
+ for (i = s.length, t = c.length, i - t < 0 && (n = c, c = s, s = n, t = i), i = 0; t;) i = (s[--t] = s[t] + c[t] + i) / l | 0, s[t] = l === s[t] ? 0 : s[t] % l;
466
+ return i && (s = [i].concat(s), ++o), G(e, s, o);
467
+ }, T.precision = T.sd = function(e, t) {
468
+ var n, r, i, a = this;
469
+ if (e != null && e !== !!e) return q(new z(a), y(e, 1, m), t == null ? O : y(t, 0, 8));
470
+ if (!(n = a.c)) return null;
471
+ if (i = n.length - 1, r = i * u + 1, i = n[i]) {
472
+ for (; i % 10 == 0; i /= 10, r--);
473
+ for (i = n[0]; i >= 10; i /= 10, r++);
474
+ }
475
+ return e && a.e + 1 > r && (r = a.e + 1), r;
476
+ }, T.shiftedBy = function(e) {
477
+ return this.times("1e" + y(e, -d, d));
478
+ }, T.squareRoot = T.sqrt = function() {
479
+ var e, n, r, i, a, o = this, s = o.c, c = o.s, l = o.e, u = D + 4, d = new z("0.5");
480
+ if (c !== 1 || !s || !s[0]) return new z(!c || c < 0 && (!s || s[0]) ? NaN : s ? o : Infinity);
481
+ if (c = Math.sqrt(+J(o)), c == 0 || c == Infinity ? (n = _(s), (n.length + l) % 2 == 0 && (n += "0"), c = Math.sqrt(+n), l = g((l + 1) / 2) - (l < 0 || l % 2), c == Infinity ? n = "5e" + l : (n = c.toExponential(), n = n.slice(0, n.indexOf("e") + 1) + l), r = new z(n)) : r = new z(c + ""), r.c[0]) {
482
+ for (l = r.e, c = l + u, c < 3 && (c = 0);;) if (a = r, r = d.times(a.plus(t(o, a, u, 1))), _(a.c).slice(0, c) === (n = _(r.c)).slice(0, c)) if (r.e < l && --c, n = n.slice(c - 3, c + 1), n == "9999" || !i && n == "4999") {
483
+ if (!i && (q(a, a.e + D + 2, 0), a.times(a).eq(o))) {
484
+ r = a;
485
+ break;
486
+ }
487
+ u += 4, c += 4, i = 1;
488
+ } else {
489
+ (!+n || !+n.slice(1) && n.charAt(0) == "5") && (q(r, r.e + D + 2, 1), e = !r.times(r).eq(o));
490
+ break;
491
+ }
492
+ }
493
+ return q(r, r.e + D + 1, O, e);
494
+ }, typeof BigInt == "function" && (T.toBigInt = function(e) {
495
+ var t = this;
496
+ return t.c ? BigInt(H(t, t.e + 1, e)) : null;
497
+ }), T.toExponential = function(e, t) {
498
+ return H(this, e == null ? e : y(e, 0, m) + 1, t, 1);
499
+ }, T.toFixed = function(e, t) {
500
+ return H(this, e == null ? e : y(e, -m, m) + this.e + 1, t);
501
+ }, T.toFormat = function(e, t, n) {
502
+ var r, i, a, o = this;
503
+ if (n == null) n = L, e != null && (t == null ? typeof e == "object" && !b(e) && (n = K(e), e = t = null) : typeof t == "object" && (n = K(t), t = null));
504
+ else if (typeof n != "object") throw Error(c + "Argument not an object: " + n);
505
+ else n = K(n);
506
+ if (e != null) if (b(e) && e.length <= 2) {
507
+ if (r = e[0], i = e[1], e = o.dp(), i != null && e > y(i, 0, m) && (e = i), r != null && y(r, 0, m) !== 0) {
508
+ if (i != null && r > i) throw Error(c + "Minimum must not exceed maximum");
509
+ e < r && (e = r);
510
+ }
511
+ } else y(e, -m, m);
512
+ if (a = o.toFixed(e, t), o.s < 0 && (a = a.slice(1)), o.c) {
513
+ var s, l = a.split("."), u = +n.groupSize, d = +n.secondaryGroupSize, f = n.groupSeparator || "", p = l[0], h = l[1], g = p.length;
514
+ if (d && (s = u, u = d, d = s, g -= s), u > 0 && g > 0) {
515
+ for (s = g % u || u, a = p.substr(0, s); s < g; s += u) a += f + p.substr(s, u);
516
+ d > 0 && (a += f + p.slice(s));
517
+ }
518
+ h && (s = +n.fractionGroupSize, s && (h = h.replace(RegExp("\\d{" + s + "}\\B", "g"), "$&" + (n.fractionGroupSeparator || ""))), a += (n.decimalSeparator || "") + h);
519
+ }
520
+ return (n.prefix || "") + (o.s < 0 ? n.negativeSign || "" : o.s > 0 && n.positiveSign || "") + a + (n.suffix || "");
521
+ }, T.toFraction = function(e) {
522
+ var n, r, i, a, o, s, l, d, p, m, h, g, v = this, y = v.c;
523
+ if (e != null && (l = new z(e), !l.isInteger() && (l.c || l.s !== 1) || l.lt(E))) throw Error(c + "Argument " + (l.isInteger() ? "out of range: " : "not an integer: ") + J(l));
524
+ if (!y) return [new z(v.s || 0), new z(0)];
525
+ for (n = new z(E), p = r = new z(E), i = d = new z(E), g = _(y), o = n.e = g.length - v.e - 1, n.c[0] = f[(s = o % u) < 0 ? u + s : s], e = !e || l.comparedTo(n) > 0 ? o > 0 ? n : p : l, s = M, M = Infinity, l = new z(g), d.c[0] = 0; m = t(l, n, 0, 1), a = r.plus(m.times(i)), a.comparedTo(e) != 1;) r = i, i = a, p = d.plus(m.times(a = p)), d = a, n = l.minus(m.times(a = n)), l = a;
526
+ return a = t(e.minus(r), i, 0, 1), d = d.plus(a.times(p)), r = r.plus(a.times(i)), d.s = p.s = v.s, o *= 2, h = t(p, i, o, O).minus(v).abs().comparedTo(t(d, r, o, O).minus(v).abs()) < 1 ? [p, i] : [d, r], M = s, h;
527
+ }, T.toNumber = function() {
528
+ return +J(this);
529
+ }, T.toObject = function() {
530
+ var e = this;
531
+ return {
532
+ c: e.c ? e.c.slice() : null,
533
+ e: e.e,
534
+ s: e.s
535
+ };
536
+ }, T.toPrecision = function(e, t) {
537
+ return H(this, e == null ? e : y(e, 1, m), t, 2);
538
+ }, T.toString = function(e) {
539
+ var t, r = this, i = r.s, a = r.e;
540
+ return a === null ? i ? (t = "Infinity", i < 0 && (t = "-" + t)) : t = "NaN" : (e == null ? t = a <= k || a >= A ? S(_(r.c), a) : C(_(r.c), a, "0") : (y(e, 2, R.length, "Base"), t = n(C(_(r.c), a, "0"), 10, e, i, !0)), i < 0 && r.c[0] && (t = "-" + t)), t;
541
+ }, T.valueOf = T.toJSON = function() {
542
+ return J(this);
543
+ }, T._isBigNumber = !0, e != null && z.set(e), z;
580
544
  }
581
- function H(_) {
582
- var p = _ | 0;
583
- return _ > 0 || _ === p ? p : p - 1;
545
+ function g(e) {
546
+ var t = e | 0;
547
+ return e > 0 || e === t ? t : t - 1;
584
548
  }
585
- function q(_) {
586
- for (var p, m, w = 1, h = _.length, g = _[0] + ""; w < h; ) {
587
- for (p = _[w++] + "", m = E - p.length; m--; p = "0" + p) ;
588
- g += p;
589
- }
590
- for (h = g.length; g.charCodeAt(--h) === 48; ) ;
591
- return g.slice(0, h + 1 || 1);
549
+ function _(e) {
550
+ for (var t, n, r = 1, i = e.length, a = e[0] + ""; r < i;) {
551
+ for (t = e[r++] + "", n = u - t.length; n--; t = "0" + t);
552
+ a += t;
553
+ }
554
+ for (i = a.length; a.charCodeAt(--i) === 48;);
555
+ return a.slice(0, i + 1 || 1);
592
556
  }
593
- function ee(_, p) {
594
- var m, w, h = _.c, g = p.c, A = _.s, N = p.s, C = _.e, M = p.e;
595
- if (!A || !N) return null;
596
- if (m = h && !h[0], w = g && !g[0], m || w) return m ? w ? 0 : -N : A;
597
- if (A != N) return A;
598
- if (m = A < 0, w = C == M, !h || !g) return w ? 0 : !h ^ m ? 1 : -1;
599
- if (!w) return C > M ^ m ? 1 : -1;
600
- for (N = (C = h.length) < (M = g.length) ? C : M, A = 0; A < N; A++) if (h[A] != g[A]) return h[A] > g[A] ^ m ? 1 : -1;
601
- return C == M ? 0 : C > M ^ m ? 1 : -1;
557
+ function v(e, t) {
558
+ var n, r, i = e.c, a = t.c, o = e.s, s = t.s, c = e.e, l = t.e;
559
+ if (!o || !s) return null;
560
+ if (n = i && !i[0], r = a && !a[0], n || r) return n ? r ? 0 : -s : o;
561
+ if (o != s) return o;
562
+ if (n = o < 0, r = c == l, !i || !a) return r ? 0 : !i ^ n ? 1 : -1;
563
+ if (!r) return c > l ^ n ? 1 : -1;
564
+ for (s = (c = i.length) < (l = a.length) ? c : l, o = 0; o < s; o++) if (i[o] != a[o]) return i[o] > a[o] ^ n ? 1 : -1;
565
+ return c == l ? 0 : c > l ^ n ? 1 : -1;
602
566
  }
603
- function U(_, p, m, w) {
604
- if (_ < p || _ > m || _ !== V(_))
605
- throw Error(B + (w || "Argument") + (typeof _ == "number" ? _ < p || _ > m ? " out of range: " : " not an integer: " : " not a primitive number: ") + String(_));
567
+ function y(e, t, n, r) {
568
+ if (e < t || e > n || e !== s(e)) throw Error(c + (r || "Argument") + (typeof e == "number" ? e < t || e > n ? " out of range: " : " not an integer: " : " not a primitive number: ") + String(e));
569
+ return e;
606
570
  }
607
- function se(_) {
608
- var p = _.c.length - 1;
609
- return H(_.e / E) == p && _.c[p] % 2 != 0;
571
+ function b(e) {
572
+ return {}.toString.call(e) == "[object Array]";
610
573
  }
611
- function oe(_, p) {
612
- return (_.length > 1 ? _.charAt(0) + "." + _.slice(1) : _) + (p < 0 ? "e" : "e+") + p;
574
+ function x(e) {
575
+ var t = e.c.length - 1;
576
+ return g(e.e / u) == t && e.c[t] % 2 != 0;
613
577
  }
614
- function W(_, p, m) {
615
- var w, h;
616
- if (p < 0) {
617
- for (h = m + "."; ++p; h += m) ;
618
- _ = h + _;
619
- } else if (w = _.length, ++p > w) {
620
- for (h = m, p -= w; --p; h += m) ;
621
- _ += h;
622
- } else p < w && (_ = _.slice(0, p) + "." + _.slice(p));
623
- return _;
578
+ function S(e, t) {
579
+ return (e.length > 1 ? e.charAt(0) + "." + e.slice(1) : e) + (t < 0 ? "e" : "e+") + t;
624
580
  }
625
- Ie();
626
- const Le = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
627
- let Pe;
628
- function De() {
629
- return Pe ||= Le.slice(0, -2) + "-_", Pe;
581
+ function C(e, t, n) {
582
+ var r, i;
583
+ if (t < 0) {
584
+ for (i = n + "."; ++t; i += n);
585
+ e = i + e;
586
+ } else if (r = e.length, ++t > r) {
587
+ for (i = n, t -= r; --t; i += n);
588
+ e += i;
589
+ } else t < r && (e = e.slice(0, t) + "." + e.slice(t));
590
+ return e;
630
591
  }
631
- function Ce(_, p, m) {
632
- let w = "", h = 0;
633
- for (; h < _.length; ) {
634
- const g = _[h++], A = _[h++], N = _[h++];
635
- if (w += p[g >> 2], w += p[(g & 3) << 4 | (A || 0) >> 4], A == null || (w += p[(A & 15) << 2 | (N || 0) >> 6]), N == null)
636
- break;
637
- w += p[N & 63];
638
- }
639
- return w;
592
+ //#endregion
593
+ //#region ../../node_modules/.pnpm/@gera2ld+common@0.0.5/node_modules/@gera2ld/common/dist/index.js
594
+ var w = "=", T = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", E;
595
+ function D() {
596
+ return E ||= T.slice(0, -2) + "-_", E;
640
597
  }
641
- function Be(_) {
642
- return Ce(_, De(), !1);
598
+ function O(e, t, n) {
599
+ let r = "", i = 0;
600
+ for (; i < e.length;) {
601
+ let a = e[i++], o = e[i++], s = e[i++];
602
+ if (r += t[a >> 2], r += t[(a & 3) << 4 | (o || 0) >> 4], o == null ? n && (r += w) : r += t[(o & 15) << 2 | (s || 0) >> 6], s == null) {
603
+ n && (r += w);
604
+ break;
605
+ }
606
+ r += t[s & 63];
607
+ }
608
+ return r;
643
609
  }
644
- function ke() {
645
- return ye(8);
610
+ function k(e) {
611
+ return O(e, D(), !1);
646
612
  }
647
- function Oe() {
648
- return ye(64);
613
+ new Uint8Array([13, 10]);
614
+ //#endregion
615
+ //#region src/util.ts
616
+ function A() {
617
+ return e(8);
649
618
  }
650
- async function Ee(_) {
651
- const p = "S256", m = await crypto.subtle.digest(
652
- "SHA-256",
653
- new TextEncoder().encode(_)
654
- );
655
- return {
656
- codeChallenge: Be(new Uint8Array(m)),
657
- codeChallengeMethod: p
658
- };
619
+ function j() {
620
+ return e(64);
659
621
  }
660
- class Ae {
661
- constructor(p) {
662
- this.options = p;
663
- }
664
- async getToken() {
665
- const p = await this.options.storage.get("accessToken");
666
- if (!p) throw new D(ne);
667
- if (p.expiresAt > Date.now())
668
- throw new D(ve);
669
- return p.token;
670
- }
622
+ async function M(e) {
623
+ let t = await crypto.subtle.digest("SHA-256", new TextEncoder().encode(e));
624
+ return {
625
+ codeChallenge: k(new Uint8Array(t)),
626
+ codeChallengeMethod: "S256"
627
+ };
671
628
  }
672
- const Ne = class Ne extends Ae {
673
- async buildAuthUrl() {
674
- this.session = {
675
- state: ke(),
676
- codeVerifier: Oe()
677
- };
678
- const { codeChallenge: p, codeChallengeMethod: m } = await Ee(
679
- this.session.codeVerifier
680
- ), w = new URL("https://www.dropbox.com/oauth2/authorize");
681
- return Object.entries({
682
- client_id: this.options.clientId,
683
- code_challenge: p,
684
- code_challenge_method: m,
685
- redirect_uri: this.options.redirectUrl,
686
- response_type: "code",
687
- token_access_type: "offline",
688
- scope: this.options.scope,
689
- state: this.session.state
690
- }).forEach(([h, g]) => {
691
- g && w.searchParams.set(h, g);
692
- }), w.href;
693
- }
694
- async finishAuth(p) {
695
- if (!this.session || this.session.state !== p.searchParams.get("state"))
696
- throw new D(Y, "state doesn't match");
697
- const m = p.searchParams.get("code");
698
- if (!m) throw new D(Y, "Invalid code");
699
- const w = new URLSearchParams();
700
- Object.entries({
701
- client_id: this.options.clientId,
702
- client_secret: this.options.clientSecret,
703
- code: m,
704
- code_verifier: this.session.codeVerifier,
705
- grant_type: "authorization_code",
706
- redirect_uri: this.options.redirectUrl
707
- }).forEach(([A, N]) => {
708
- w.append(A, N);
709
- });
710
- const h = await fetch("https://api.dropbox.com/oauth2/token", {
711
- method: "POST",
712
- body: w
713
- }), g = await h.json();
714
- if (!h.ok) throw { status: h.status, data: g };
715
- if (!g.refresh_token)
716
- throw new D(Y, "Failed to get refresh_token");
717
- return await this.options.storage.set("refreshToken", g.refresh_token), await this.options.storage.set("accessToken", {
718
- token: g.access_token,
719
- expiresAt: Date.now() + g.expires_in * 1e3
720
- }), g.access_token;
721
- }
722
- async refreshToken() {
723
- const p = new URLSearchParams(), m = await this.options.storage.get("refreshToken");
724
- if (!m)
725
- throw new D(ne, "Invalid refresh token");
726
- Object.entries({
727
- client_id: this.options.clientId,
728
- client_secret: this.options.clientSecret,
729
- grant_type: "refresh_token",
730
- refresh_token: m
731
- }).forEach(([g, A]) => {
732
- p.append(g, A);
733
- });
734
- const w = await fetch("https://api.dropbox.com/oauth2/token", {
735
- method: "POST",
736
- body: p
737
- }), h = await w.json();
738
- if (!w.ok) throw { status: w.status, data: h };
739
- return await this.options.storage.set("accessToken", {
740
- token: h.access_token,
741
- expiresAt: Date.now() + h.expires_in * 1e3
742
- }), h.access_token;
743
- }
744
- };
745
- Ne.Scopes = {
746
- account: "account_info.read"
747
- };
748
- let ge = Ne;
749
- const Te = class Te extends Ae {
750
- async buildAuthUrl() {
751
- this.session = {
752
- state: ke(),
753
- codeVerifier: Oe()
754
- };
755
- const { codeChallenge: p, codeChallengeMethod: m } = await Ee(
756
- this.session.codeVerifier
757
- ), w = new URL("https://accounts.google.com/o/oauth2/v2/auth");
758
- return Object.entries({
759
- access_type: "offline",
760
- client_id: this.options.clientId,
761
- code_challenge: p,
762
- code_challenge_method: m,
763
- include_granted_scopes: "true",
764
- prompt: "consent",
765
- redirect_uri: this.options.redirectUrl,
766
- response_type: "code",
767
- scope: this.options.scope,
768
- state: this.session.state
769
- }).forEach(([h, g]) => {
770
- g && w.searchParams.set(h, g);
771
- }), w.href;
772
- }
773
- async finishAuth(p) {
774
- if (!this.session || this.session.state !== p.searchParams.get("state"))
775
- throw new D(Y, "state doesn't match");
776
- const m = p.searchParams.get("code");
777
- if (!m) throw new D(Y, "Invalid code");
778
- const w = new URLSearchParams();
779
- Object.entries({
780
- client_id: this.options.clientId,
781
- client_secret: this.options.clientSecret,
782
- code: m,
783
- code_verifier: this.session.codeVerifier,
784
- grant_type: "authorization_code",
785
- redirect_uri: this.options.redirectUrl
786
- }).forEach(([A, N]) => {
787
- w.append(A, N);
788
- });
789
- const h = await fetch("https://oauth2.googleapis.com/token", {
790
- method: "POST",
791
- body: w
792
- }), g = await h.json();
793
- if (!h.ok) throw { status: h.status, data: g };
794
- if (!g.refresh_token)
795
- throw new D(Y, "Failed to get refresh_token");
796
- return await this.options.storage.set("refreshToken", g.refresh_token), await this.options.storage.set("accessToken", {
797
- token: g.access_token,
798
- expiresAt: Date.now() + g.expires_in * 1e3
799
- }), g.access_token;
800
- }
801
- async refreshToken() {
802
- const p = new URLSearchParams(), m = await this.options.storage.get("refreshToken");
803
- if (!m)
804
- throw new D(ne, "Invalid refresh token");
805
- Object.entries({
806
- client_id: this.options.clientId,
807
- client_secret: this.options.clientSecret,
808
- grant_type: "refresh_token",
809
- refresh_token: m
810
- }).forEach(([g, A]) => {
811
- p.append(g, A);
812
- });
813
- const w = await fetch("https://oauth2.googleapis.com/token", {
814
- method: "POST",
815
- body: p
816
- }), h = await w.json();
817
- if (!w.ok) throw { status: w.status, data: h };
818
- return await this.options.storage.set("accessToken", {
819
- token: h.access_token,
820
- expiresAt: Date.now() + h.expires_in * 1e3
821
- }), h.access_token;
822
- }
823
- };
824
- Te.Scopes = {
825
- account: "https://www.googleapis.com/auth/userinfo.profile",
826
- "drive.appdata": "https://www.googleapis.com/auth/drive.appdata",
827
- imap: "https://mail.google.com/"
629
+ //#endregion
630
+ //#region src/providers/base.ts
631
+ var N = class {
632
+ constructor(e) {
633
+ this.options = e;
634
+ }
635
+ async getToken() {
636
+ let e = await this.options.storage.get("accessToken");
637
+ if (!e) throw new i(3);
638
+ if (e.expiresAt < Date.now()) throw new i(1);
639
+ return e.token;
640
+ }
641
+ }, P = class extends N {
642
+ static {
643
+ this.Scopes = { account: "account_info.read" };
644
+ }
645
+ async buildAuthUrl() {
646
+ this.session = {
647
+ state: A(),
648
+ codeVerifier: j()
649
+ };
650
+ let { codeChallenge: e, codeChallengeMethod: t } = await M(this.session.codeVerifier), n = new URL("https://www.dropbox.com/oauth2/authorize");
651
+ return Object.entries({
652
+ client_id: this.options.clientId,
653
+ code_challenge: e,
654
+ code_challenge_method: t,
655
+ redirect_uri: this.options.redirectUrl,
656
+ response_type: "code",
657
+ token_access_type: "offline",
658
+ scope: this.options.scope,
659
+ state: this.session.state
660
+ }).forEach(([e, t]) => {
661
+ t && n.searchParams.set(e, t);
662
+ }), n.href;
663
+ }
664
+ async finishAuth(e) {
665
+ if (!this.session || this.session.state !== e.searchParams.get("state")) throw new i(2, "state doesn't match");
666
+ let t = e.searchParams.get("code");
667
+ if (!t) throw new i(2, "Invalid code");
668
+ let n = new URLSearchParams();
669
+ Object.entries({
670
+ client_id: this.options.clientId,
671
+ client_secret: this.options.clientSecret,
672
+ code: t,
673
+ code_verifier: this.session.codeVerifier,
674
+ grant_type: "authorization_code",
675
+ redirect_uri: this.options.redirectUrl
676
+ }).forEach(([e, t]) => {
677
+ n.append(e, t);
678
+ });
679
+ let r = await fetch("https://api.dropbox.com/oauth2/token", {
680
+ method: "POST",
681
+ body: n
682
+ }), a = await r.json();
683
+ if (!r.ok) throw {
684
+ status: r.status,
685
+ data: a
686
+ };
687
+ if (!a.refresh_token) throw new i(2, "Failed to get refresh_token");
688
+ return await this.options.storage.set("refreshToken", {
689
+ token: a.refresh_token,
690
+ scope: a.scope
691
+ }), await this.options.storage.set("accessToken", {
692
+ token: a.access_token,
693
+ expiresAt: Date.now() + a.expires_in * 1e3
694
+ }), a.access_token;
695
+ }
696
+ async refreshToken() {
697
+ let e = new URLSearchParams(), t = await this.options.storage.get("refreshToken");
698
+ if (!t) throw new i(3, "Invalid refresh token");
699
+ Object.entries({
700
+ client_id: this.options.clientId,
701
+ client_secret: this.options.clientSecret,
702
+ grant_type: "refresh_token",
703
+ refresh_token: t.token
704
+ }).forEach(([t, n]) => {
705
+ e.append(t, n);
706
+ });
707
+ let n = await fetch("https://api.dropbox.com/oauth2/token", {
708
+ method: "POST",
709
+ body: e
710
+ }), r = await n.json();
711
+ if (!n.ok) throw {
712
+ status: n.status,
713
+ data: r
714
+ };
715
+ return await this.options.storage.set("accessToken", {
716
+ token: r.access_token,
717
+ expiresAt: Date.now() + r.expires_in * 1e3
718
+ }), r.access_token;
719
+ }
720
+ }, F = class extends N {
721
+ static {
722
+ this.Scopes = {
723
+ account: "https://www.googleapis.com/auth/userinfo.profile",
724
+ "drive.appdata": "https://www.googleapis.com/auth/drive.appdata",
725
+ imap: "https://mail.google.com/"
726
+ };
727
+ }
728
+ async buildAuthUrl() {
729
+ this.session = {
730
+ state: A(),
731
+ codeVerifier: j()
732
+ };
733
+ let { codeChallenge: e, codeChallengeMethod: t } = await M(this.session.codeVerifier), n = new URL("https://accounts.google.com/o/oauth2/v2/auth");
734
+ return Object.entries({
735
+ access_type: "offline",
736
+ client_id: this.options.clientId,
737
+ code_challenge: e,
738
+ code_challenge_method: t,
739
+ include_granted_scopes: "true",
740
+ prompt: "consent",
741
+ redirect_uri: this.options.redirectUrl,
742
+ response_type: "code",
743
+ scope: this.options.scope,
744
+ state: this.session.state
745
+ }).forEach(([e, t]) => {
746
+ t && n.searchParams.set(e, t);
747
+ }), n.href;
748
+ }
749
+ async finishAuth(e) {
750
+ if (!this.session || this.session.state !== e.searchParams.get("state")) throw new i(2, "state doesn't match");
751
+ let t = e.searchParams.get("code");
752
+ if (!t) throw new i(2, "Invalid code");
753
+ let n = new URLSearchParams();
754
+ Object.entries({
755
+ client_id: this.options.clientId,
756
+ client_secret: this.options.clientSecret,
757
+ code: t,
758
+ code_verifier: this.session.codeVerifier,
759
+ grant_type: "authorization_code",
760
+ redirect_uri: this.options.redirectUrl
761
+ }).forEach(([e, t]) => {
762
+ n.append(e, t);
763
+ });
764
+ let r = await fetch("https://oauth2.googleapis.com/token", {
765
+ method: "POST",
766
+ body: n
767
+ }), a = await r.json();
768
+ if (!r.ok) throw {
769
+ status: r.status,
770
+ data: a
771
+ };
772
+ if (!a.refresh_token) throw new i(2, "Failed to get refresh_token");
773
+ return await this.options.storage.set("refreshToken", {
774
+ token: a.refresh_token,
775
+ scope: a.scope
776
+ }), await this.options.storage.set("accessToken", {
777
+ token: a.access_token,
778
+ expiresAt: Date.now() + a.expires_in * 1e3
779
+ }), a.access_token;
780
+ }
781
+ async refreshToken() {
782
+ let e = new URLSearchParams(), t = await this.options.storage.get("refreshToken");
783
+ if (!t) throw new i(3, "Invalid refresh token");
784
+ Object.entries({
785
+ client_id: this.options.clientId,
786
+ client_secret: this.options.clientSecret,
787
+ grant_type: "refresh_token",
788
+ refresh_token: t.token,
789
+ scope: this.options.scope
790
+ }).forEach(([t, n]) => {
791
+ n != null && e.append(t, n);
792
+ });
793
+ let n = await fetch("https://oauth2.googleapis.com/token", {
794
+ method: "POST",
795
+ body: e
796
+ }), r = await n.json();
797
+ if (!n.ok) throw {
798
+ status: n.status,
799
+ data: r
800
+ };
801
+ return await this.options.storage.set("accessToken", {
802
+ token: r.access_token,
803
+ expiresAt: Date.now() + r.expires_in * 1e3
804
+ }), r.access_token;
805
+ }
806
+ }, I = class extends N {
807
+ static {
808
+ this.Scopes = {
809
+ imap: "offline_access https://outlook.office.com/IMAP.AccessAsUser.All",
810
+ onedrive: "openid profile Files.ReadWrite.AppFolder offline_access"
811
+ };
812
+ }
813
+ async buildAuthUrl() {
814
+ this.session = {
815
+ state: A(),
816
+ codeVerifier: j()
817
+ };
818
+ let { codeChallenge: e, codeChallengeMethod: t } = await M(this.session.codeVerifier), n = new URL("https://login.microsoftonline.com/common/oauth2/v2.0/authorize");
819
+ return Object.entries({
820
+ client_id: this.options.clientId,
821
+ code_challenge: e,
822
+ code_challenge_method: t,
823
+ redirect_uri: this.options.redirectUrl,
824
+ response_mode: "query",
825
+ response_type: "code",
826
+ scope: this.options.scope,
827
+ state: this.session.state
828
+ }).forEach(([e, t]) => {
829
+ t && n.searchParams.set(e, t);
830
+ }), n.href;
831
+ }
832
+ async finishAuth(e) {
833
+ if (!this.session || this.session.state !== e.searchParams.get("state")) throw new i(2, "state doesn't match");
834
+ let t = e.searchParams.get("code");
835
+ if (!t) throw new i(2, "Invalid code");
836
+ let n = new URLSearchParams();
837
+ Object.entries({
838
+ client_id: this.options.clientId,
839
+ client_secret: this.options.clientSecret,
840
+ code: t,
841
+ code_verifier: this.session.codeVerifier,
842
+ grant_type: "authorization_code",
843
+ redirect_uri: this.options.redirectUrl,
844
+ scope: this.options.scope
845
+ }).forEach(([e, t]) => {
846
+ t && n.append(e, t);
847
+ });
848
+ let r = await fetch("https://login.microsoftonline.com/common/oauth2/v2.0/token", {
849
+ method: "POST",
850
+ body: n
851
+ }), a = await r.json();
852
+ if (!r.ok) throw {
853
+ status: r.status,
854
+ data: a
855
+ };
856
+ if (!a.refresh_token) throw new i(2, "Failed to get refresh_token");
857
+ return await this.options.storage.set("refreshToken", {
858
+ token: a.refresh_token,
859
+ scope: a.scope
860
+ }), await this.options.storage.set("accessToken", {
861
+ token: a.access_token,
862
+ expiresAt: Date.now() + a.expires_in * 1e3
863
+ }), a.access_token;
864
+ }
865
+ async refreshToken() {
866
+ let e = new URLSearchParams(), t = await this.options.storage.get("refreshToken");
867
+ if (!t) throw new i(3, "Invalid refresh token");
868
+ Object.entries({
869
+ client_id: this.options.clientId,
870
+ client_secret: this.options.clientSecret,
871
+ grant_type: "refresh_token",
872
+ refresh_token: t.token,
873
+ scope: this.options.scope
874
+ }).forEach(([t, n]) => {
875
+ n && e.append(t, n);
876
+ });
877
+ let n = await fetch("https://login.microsoftonline.com/common/oauth2/v2.0/token", {
878
+ method: "POST",
879
+ body: e
880
+ }), r = await n.json();
881
+ if (!n.ok) throw {
882
+ status: n.status,
883
+ data: r
884
+ };
885
+ return await this.options.storage.set("accessToken", {
886
+ token: r.access_token,
887
+ expiresAt: Date.now() + r.expires_in * 1e3
888
+ }), r.access_token;
889
+ }
890
+ }, L = {
891
+ dropbox: P,
892
+ google: F,
893
+ microsoft: I
828
894
  };
829
- let _e = Te;
830
- const Se = class Se extends Ae {
831
- async buildAuthUrl() {
832
- this.session = {
833
- state: ke(),
834
- codeVerifier: Oe()
835
- };
836
- const { codeChallenge: p, codeChallengeMethod: m } = await Ee(
837
- this.session.codeVerifier
838
- ), w = new URL(
839
- "https://login.microsoftonline.com/common/oauth2/v2.0/authorize"
840
- );
841
- return Object.entries({
842
- client_id: this.options.clientId,
843
- code_challenge: p,
844
- code_challenge_method: m,
845
- redirect_uri: this.options.redirectUrl,
846
- response_mode: "query",
847
- response_type: "code",
848
- scope: this.options.scope,
849
- state: this.session.state
850
- }).forEach(([h, g]) => {
851
- g && w.searchParams.set(h, g);
852
- }), w.href;
853
- }
854
- async finishAuth(p) {
855
- if (!this.session || this.session.state !== p.searchParams.get("state"))
856
- throw new D(Y, "state doesn't match");
857
- const m = p.searchParams.get("code");
858
- if (!m) throw new D(Y, "Invalid code");
859
- const w = new URLSearchParams();
860
- Object.entries({
861
- client_id: this.options.clientId,
862
- client_secret: this.options.clientSecret,
863
- code: m,
864
- code_verifier: this.session.codeVerifier,
865
- grant_type: "authorization_code",
866
- redirect_uri: this.options.redirectUrl,
867
- scope: this.options.scope
868
- }).forEach(([A, N]) => {
869
- N && w.append(A, N);
870
- });
871
- const h = await fetch(
872
- "https://login.microsoftonline.com/common/oauth2/v2.0/token",
873
- {
874
- method: "POST",
875
- body: w
876
- }
877
- ), g = await h.json();
878
- if (!h.ok) throw { status: h.status, data: g };
879
- if (!g.refresh_token)
880
- throw new D(Y, "Failed to get refresh_token");
881
- return await this.options.storage.set("refreshToken", g.refresh_token), await this.options.storage.set("accessToken", {
882
- token: g.access_token,
883
- expiresAt: Date.now() + g.expires_in * 1e3
884
- }), g.access_token;
885
- }
886
- async refreshToken() {
887
- const p = new URLSearchParams(), m = await this.options.storage.get("refreshToken");
888
- if (!m)
889
- throw new D(ne, "Invalid refresh token");
890
- Object.entries({
891
- client_id: this.options.clientId,
892
- client_secret: this.options.clientSecret,
893
- grant_type: "refresh_token",
894
- refresh_token: m,
895
- scope: this.options.scope
896
- }).forEach(([g, A]) => {
897
- A && p.append(g, A);
898
- });
899
- const w = await fetch(
900
- "https://login.microsoftonline.com/common/oauth2/v2.0/token",
901
- {
902
- method: "POST",
903
- body: p
904
- }
905
- ), h = await w.json();
906
- if (!w.ok) throw { status: w.status, data: h };
907
- return await this.options.storage.set("accessToken", {
908
- token: h.access_token,
909
- expiresAt: Date.now() + h.expires_in * 1e3
910
- }), h.access_token;
911
- }
912
- };
913
- Se.Scopes = {
914
- /** Ref: https://learn.microsoft.com/en-us/exchange/client-developer/legacy-protocols/how-to-authenticate-an-imap-pop-smtp-application-by-using-oauth */
915
- imap: "offline_access https://outlook.office.com/IMAP.AccessAsUser.All",
916
- onedrive: "openid profile Files.ReadWrite.AppFolder offline_access"
917
- };
918
- let me = Se;
919
- const Me = {
920
- dropbox: ge,
921
- google: _e,
922
- microsoft: me
923
- };
924
- function Ge(_, p) {
925
- return new Me[p.provider](_);
895
+ //#endregion
896
+ //#region src/index.ts
897
+ function R(e, t) {
898
+ return new L[t.provider](e);
926
899
  }
927
- async function qe(_, p) {
928
- let m;
929
- try {
930
- m = await _.getToken();
931
- } catch (w) {
932
- if (!(w instanceof D))
933
- throw w;
934
- switch (w.code) {
935
- case ne: {
936
- if (!p) throw w;
937
- const h = await _.buildAuthUrl(), g = await p(h);
938
- m = await _.finishAuth(new URL(g));
939
- break;
940
- }
941
- case ve: {
942
- m = await _.refreshToken();
943
- break;
944
- }
945
- default:
946
- throw w;
947
- }
948
- }
949
- return m;
900
+ async function z(e, t) {
901
+ let n;
902
+ try {
903
+ n = await e.getToken();
904
+ } catch (r) {
905
+ if (!(r instanceof i)) throw r;
906
+ switch (r.code) {
907
+ case 3: {
908
+ if (!t) throw r;
909
+ let i = await t(await e.buildAuthUrl());
910
+ n = await e.finishAuth(new URL(i));
911
+ break;
912
+ }
913
+ case 1:
914
+ n = await e.refreshToken();
915
+ break;
916
+ default: throw r;
917
+ }
918
+ }
919
+ return n;
950
920
  }
951
- export {
952
- ge as DropboxAuthorizer,
953
- _e as GoogleAuthorizer,
954
- me as MicrosoftAuthorizer,
955
- Y as OAUTH2_AUTH_ERROR,
956
- ve as OAUTH2_NEED_REFRESH,
957
- ne as OAUTH2_UNAUTHORIZED,
958
- Ae as OAuth2Authorizer,
959
- Me as OAuth2Authorizers,
960
- D as OAuth2Error,
961
- qe as ensureAccessToken,
962
- Ge as getAuthorizer
963
- };
921
+ //#endregion
922
+ export { P as DropboxAuthorizer, F as GoogleAuthorizer, I as MicrosoftAuthorizer, n as OAUTH2_AUTH_ERROR, t as OAUTH2_NEED_REFRESH, r as OAUTH2_UNAUTHORIZED, N as OAuth2Authorizer, L as OAuth2Authorizers, i as OAuth2Error, z as ensureAccessToken, R as getAuthorizer };