tempmail-sdk 1.2.0 → 1.2.2-dev

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.
@@ -0,0 +1,202 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateEmail = generateEmail;
4
+ exports.getEmails = getEmails;
5
+ const normalize_1 = require("../normalize");
6
+ const retry_1 = require("../retry");
7
+ const CHANNEL = 'tempmailg';
8
+ const ORIGIN = 'https://tempmailg.com';
9
+ const TOK_PREFIX = 'tmg1:';
10
+ const CSRF_META_RE = /<meta\s+name="csrf-token"\s+content="([^"]+)"/i;
11
+ const BROWSER_UA = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36 Edg/146.0.0.0';
12
+ function localeFromDomain(domain) {
13
+ const s = String(domain ?? '').trim();
14
+ if (!s || /[/?#\\]/.test(s))
15
+ return 'zh';
16
+ return s;
17
+ }
18
+ function setCookieLines(headers) {
19
+ const h = headers;
20
+ if (typeof h.getSetCookie === 'function') {
21
+ return h.getSetCookie();
22
+ }
23
+ const one = headers.get('set-cookie');
24
+ return one ? [one] : [];
25
+ }
26
+ function cookieMap(cookieHdr) {
27
+ const m = new Map();
28
+ for (const part of cookieHdr.split(';')) {
29
+ const p = part.trim();
30
+ if (!p)
31
+ continue;
32
+ const i = p.indexOf('=');
33
+ if (i <= 0 || i >= p.length - 1)
34
+ continue;
35
+ const k = p.slice(0, i).trim();
36
+ const v = p.slice(i + 1).trim();
37
+ if (k)
38
+ m.set(k, v);
39
+ }
40
+ return m;
41
+ }
42
+ function mergeCookies(prev, setCookieLinesFromResp) {
43
+ const m = cookieMap(prev);
44
+ for (const line of setCookieLinesFromResp) {
45
+ const nv = line.split(';')[0]?.trim();
46
+ if (!nv)
47
+ continue;
48
+ const i = nv.indexOf('=');
49
+ if (i <= 0)
50
+ continue;
51
+ const k = nv.slice(0, i).trim();
52
+ const v = nv.slice(i + 1).trim();
53
+ if (k)
54
+ m.set(k, v);
55
+ }
56
+ return [...m.entries()]
57
+ .sort(([a], [b]) => a.localeCompare(b))
58
+ .map(([k, v]) => `${k}=${v}`)
59
+ .join('; ');
60
+ }
61
+ function xsrfFromCookies(cookieHdr) {
62
+ const m = cookieMap(cookieHdr);
63
+ for (const name of ['XSRF-TOKEN', 'xsrf-token']) {
64
+ const v = m.get(name);
65
+ if (v)
66
+ return v;
67
+ }
68
+ for (const [k, v] of m) {
69
+ if (k.toLowerCase() === 'xsrf-token' && v)
70
+ return v;
71
+ }
72
+ return '';
73
+ }
74
+ function parseCsrf(html) {
75
+ const m = html.match(CSRF_META_RE);
76
+ const t = m?.[1]?.trim() ?? '';
77
+ if (!t)
78
+ throw new Error('tempmailg: csrf-token not found in page');
79
+ return t;
80
+ }
81
+ function b64EncodeJson(obj) {
82
+ const json = JSON.stringify(obj);
83
+ if (typeof Buffer !== 'undefined') {
84
+ return TOK_PREFIX + Buffer.from(json, 'utf8').toString('base64');
85
+ }
86
+ return TOK_PREFIX + btoa(unescape(encodeURIComponent(json)));
87
+ }
88
+ function decodeToken(tok) {
89
+ if (!tok.startsWith(TOK_PREFIX)) {
90
+ throw new Error('tempmailg: invalid session token');
91
+ }
92
+ const raw = tok.slice(TOK_PREFIX.length);
93
+ let json;
94
+ if (typeof Buffer !== 'undefined') {
95
+ json = Buffer.from(raw, 'base64').toString('utf8');
96
+ }
97
+ else {
98
+ json = decodeURIComponent(escape(atob(raw)));
99
+ }
100
+ const o = JSON.parse(json);
101
+ if (!o.c || !o.s)
102
+ throw new Error('tempmailg: invalid session token');
103
+ return { l: o.l || 'zh', c: o.c, s: o.s };
104
+ }
105
+ function pageHeaders(referer) {
106
+ return {
107
+ 'User-Agent': BROWSER_UA,
108
+ Accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
109
+ 'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8',
110
+ 'Cache-Control': 'no-cache',
111
+ DNT: '1',
112
+ Pragma: 'no-cache',
113
+ Referer: referer,
114
+ 'Upgrade-Insecure-Requests': '1',
115
+ };
116
+ }
117
+ function apiHeaders(referer, cookieHdr, xsrf) {
118
+ const h = {
119
+ 'User-Agent': BROWSER_UA,
120
+ Accept: 'application/json, text/plain, */*',
121
+ 'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8',
122
+ 'Content-Type': 'application/json',
123
+ Origin: ORIGIN,
124
+ Referer: referer,
125
+ 'Cache-Control': 'no-cache',
126
+ Pragma: 'no-cache',
127
+ DNT: '1',
128
+ Cookie: cookieHdr,
129
+ };
130
+ if (xsrf)
131
+ h['X-XSRF-TOKEN'] = xsrf;
132
+ return h;
133
+ }
134
+ async function generateEmail(domain) {
135
+ const locale = localeFromDomain(domain);
136
+ const pageURL = `${ORIGIN}/public/${encodeURIComponent(locale)}`;
137
+ const res = await (0, retry_1.fetchWithTimeout)(pageURL, { headers: pageHeaders(pageURL) });
138
+ if (!res.ok) {
139
+ throw new Error(`tempmailg page: ${res.status}`);
140
+ }
141
+ const html = await res.text();
142
+ const csrf = parseCsrf(html);
143
+ let cookieHdr = mergeCookies('', setCookieLines(res.headers));
144
+ let xsrf = xsrfFromCookies(cookieHdr);
145
+ if (!xsrf) {
146
+ throw new Error('tempmailg: missing XSRF-TOKEN cookie');
147
+ }
148
+ const postURL = `${ORIGIN}/public/get_messages`;
149
+ const res2 = await (0, retry_1.fetchWithTimeout)(postURL, {
150
+ method: 'POST',
151
+ headers: apiHeaders(pageURL, cookieHdr, xsrf),
152
+ body: JSON.stringify({ _token: csrf }),
153
+ });
154
+ if (!res2.ok) {
155
+ throw new Error(`tempmailg get_messages: ${res2.status}`);
156
+ }
157
+ const wrap = (await res2.json());
158
+ if (!wrap.status || !wrap.mailbox) {
159
+ throw new Error('tempmailg: create mailbox failed');
160
+ }
161
+ cookieHdr = mergeCookies(cookieHdr, setCookieLines(res2.headers));
162
+ const xsrf2 = xsrfFromCookies(cookieHdr);
163
+ if (xsrf2)
164
+ xsrf = xsrf2;
165
+ const token = b64EncodeJson({ l: locale, c: cookieHdr, s: csrf });
166
+ return {
167
+ channel: CHANNEL,
168
+ email: wrap.mailbox,
169
+ token,
170
+ };
171
+ }
172
+ async function getEmails(email, token) {
173
+ const sess = decodeToken(token);
174
+ const locale = sess.l || 'zh';
175
+ const pageURL = `${ORIGIN}/public/${encodeURIComponent(locale)}`;
176
+ const postURL = `${ORIGIN}/public/get_messages`;
177
+ const xsrf = xsrfFromCookies(sess.c);
178
+ const res = await (0, retry_1.fetchWithTimeout)(postURL, {
179
+ method: 'POST',
180
+ headers: apiHeaders(pageURL, sess.c, xsrf),
181
+ body: JSON.stringify({ _token: sess.s }),
182
+ });
183
+ if (!res.ok) {
184
+ throw new Error(`tempmailg get_messages: ${res.status}`);
185
+ }
186
+ const wrap = (await res.json());
187
+ if (!wrap.status) {
188
+ throw new Error('tempmailg: get_messages failed');
189
+ }
190
+ if (wrap.mailbox && wrap.mailbox.trim().toLowerCase() !== email.trim().toLowerCase()) {
191
+ throw new Error('tempmailg: mailbox mismatch');
192
+ }
193
+ const rawList = Array.isArray(wrap.messages) ? wrap.messages : [];
194
+ const out = [];
195
+ for (const rm of rawList) {
196
+ if (rm && typeof rm === 'object') {
197
+ out.push((0, normalize_1.normalizeEmail)(rm, email));
198
+ }
199
+ }
200
+ return out;
201
+ }
202
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcG1haWxnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb3ZpZGVycy90ZW1wbWFpbGcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUF3SUEsc0NBdUNDO0FBRUQsOEJBOEJDO0FBMU1ELDRDQUE4QztBQUM5QyxvQ0FBNEM7QUFFNUMsTUFBTSxPQUFPLEdBQVksV0FBVyxDQUFDO0FBQ3JDLE1BQU0sTUFBTSxHQUFHLHVCQUF1QixDQUFDO0FBQ3ZDLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQztBQUUzQixNQUFNLFlBQVksR0FBRyxnREFBZ0QsQ0FBQztBQUV0RSxNQUFNLFVBQVUsR0FDZCwrSEFBK0gsQ0FBQztBQUVsSSxTQUFTLGdCQUFnQixDQUFDLE1BQXNCO0lBQzlDLE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEMsSUFBSSxDQUFDLENBQUMsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUFFLE9BQU8sSUFBSSxDQUFDO0lBQ3pDLE9BQU8sQ0FBQyxDQUFDO0FBQ1gsQ0FBQztBQUVELFNBQVMsY0FBYyxDQUFDLE9BQWdCO0lBQ3RDLE1BQU0sQ0FBQyxHQUFHLE9BQXNELENBQUM7SUFDakUsSUFBSSxPQUFPLENBQUMsQ0FBQyxZQUFZLEtBQUssVUFBVSxFQUFFLENBQUM7UUFDekMsT0FBTyxDQUFDLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUNELE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdEMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUMxQixDQUFDO0FBRUQsU0FBUyxTQUFTLENBQUMsU0FBaUI7SUFDbEMsTUFBTSxDQUFDLEdBQUcsSUFBSSxHQUFHLEVBQWtCLENB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QUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNsRSxNQUFNLEdBQUcsR0FBWSxFQUFFLENBQUM7SUFDeEIsS0FBSyxNQUFNLEVBQUUsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUN6QixJQUFJLEVBQUUsSUFBSSxPQUFPLEVBQUUsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNqQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUEsMEJBQWMsRUFBQyxFQUE2QixFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDakUsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIHRlbXBtYWlsZy5jb23vvJrml6AgQ29va2llIOe9kCBHRVQgL3B1YmxpYy97bG9jYWxlfSDmi7/kvJror53vvIxQT1NUIC9wdWJsaWMvZ2V0X21lc3NhZ2VzIOW7uumCruS4juaUtuS/oeOAglxuICogVG9rZW4g5Li6IHRtZzE6ICsgYmFzZTY0KEpTT057bG9jYWxlLGNvb2tpZUhkcixjc3JmfSnjgIJcbiAqL1xuaW1wb3J0IHsgSW50ZXJuYWxFbWFpbEluZm8sIEVtYWlsLCBDaGFubmVsIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgbm9ybWFsaXplRW1haWwgfSBmcm9tICcuLi9ub3JtYWxpemUnO1xuaW1wb3J0IHsgZmV0Y2hXaXRoVGltZW91dCB9IGZyb20gJy4uL3JldHJ5JztcblxuY29uc3QgQ0hBTk5FTDogQ2hhbm5lbCA9ICd0ZW1wbWFpbGcnO1xuY29uc3QgT1JJR0lOID0gJ2h0dHBzOi8vdGVtcG1haWxnLmNvbSc7XG5jb25zdCBUT0tfUFJFRklYID0gJ3RtZzE6JztcblxuY29uc3QgQ1NSRl9NRVRBX1JFID0gLzxtZXRhXFxzK25hbWU9XCJjc3JmLXRva2VuXCJcXHMrY29udGVudD1cIihbXlwiXSspXCIvaTtcblxuY29uc3QgQlJPV1NFUl9VQSA9XG4gICdNb3ppbGxhLzUuMCAoV2luZG93cyBOVCAxMC4wOyBXaW42NDsgeDY0KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvMTQ2LjAuMC4wIFNhZmFyaS81MzcuMzYgRWRnLzE0Ni4wLjAuMCc7XG5cbmZ1bmN0aW9uIGxvY2FsZUZyb21Eb21haW4oZG9tYWluPzogc3RyaW5nIHwgbnVsbCk6IHN0cmluZyB7XG4gIGNvbnN0IHMgPSBTdHJpbmcoZG9tYWluID8/ICcnKS50cmltKCk7XG4gIGlmICghcyB8fCAvWy8/I1xcXFxdLy50ZXN0KHMpKSByZXR1cm4gJ3poJztcbiAgcmV0dXJuIHM7XG59XG5cbmZ1bmN0aW9uIHNldENvb2tpZUxpbmVzKGhlYWRlcnM6IEhlYWRlcnMpOiBzdHJpbmdbXSB7XG4gIGNvbnN0IGggPSBoZWFkZXJzIGFzIEhlYWRlcnMgJiB7IGdldFNldENvb2tpZT86ICgpID0+IHN0cmluZ1tdIH07XG4gIGlmICh0eXBlb2YgaC5nZXRTZXRDb29raWUgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gaC5nZXRTZXRDb29raWUoKTtcbiAgfVxuICBjb25zdCBvbmUgPSBoZWFkZXJzLmdldCgnc2V0LWNvb2tpZScpO1xuICByZXR1cm4gb25lID8gW29uZV0gOiBbXTtcbn1cblxuZnVuY3Rpb24gY29va2llTWFwKGNvb2tpZUhkcjogc3RyaW5nKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XG4gIGNvbnN0IG0gPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPigpO1xuICBmb3IgKGNvbnN0IHBhcnQgb2YgY29va2llSGRyLnNwbGl0KCc7JykpIHtcbiAgICBjb25zdCBwID0gcGFydC50cmltKCk7XG4gICAgaWYgKCFwKSBjb250aW51ZTtcbiAgICBjb25zdCBpID0gcC5pbmRleE9mKCc9Jyk7XG4gICAgaWYgKGkgPD0gMCB8fCBpID49IHAubGVuZ3RoIC0gMSkgY29udGludWU7XG4gICAgY29uc3QgayA9IHAuc2xpY2UoMCwgaSkudHJpbSgpO1xuICAgIGNvbnN0IHYgPSBwLnNsaWNlKGkgKyAxKS50cmltKCk7XG4gICAgaWYgKGspIG0uc2V0KGssIHYpO1xuICB9XG4gIHJldHVybiBtO1xufVxuXG5mdW5jdGlvbiBtZXJnZUNvb2tpZXMocHJldjogc3RyaW5nLCBzZXRDb29raWVMaW5lc0Zyb21SZXNwOiBzdHJpbmdbXSk6IHN0cmluZyB7XG4gIGNvbnN0IG0gPSBjb29raWVNYXAocHJldik7XG4gIGZvciAoY29uc3QgbGluZSBvZiBzZXRDb29raWVMaW5lc0Zyb21SZXNwKSB7XG4gICAgY29uc3QgbnYgPSBsaW5lLnNwbGl0KCc7JylbMF0/LnRyaW0oKTtcbiAgICBpZiAoIW52KSBjb250aW51ZTtcbiAgICBjb25zdCBpID0gbnYuaW5kZXhPZignPScpO1xuICAgIGlmIChpIDw9IDApIGNvbnRpbnVlO1xuICAgIGNvbnN0IGsgPSBudi5zbGljZSgwLCBpKS50cmltKCk7XG4gICAgY29uc3QgdiA9IG52LnNsaWNlKGkgKyAxKS50cmltKCk7XG4gICAgaWYgKGspIG0uc2V0KGssIHYpO1xuICB9XG4gIHJldHVybiBbLi4ubS5lbnRyaWVzKCldXG4gICAgLnNvcnQoKFthXSwgW2JdKSA9PiBhLmxvY2FsZUNvbXBhcmUoYikpXG4gICAgLm1hcCgoW2ssIHZdKSA9PiBgJHtrfT0ke3Z9YClcbiAgICAuam9pbignOyAnKTtcbn1cblxuZnVuY3Rpb24geHNyZkZyb21Db29raWVzKGNvb2tpZUhkcjogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgbSA9IGNvb2tpZU1hcChjb29raWVIZHIpO1xuICBmb3IgKGNvbnN0IG5hbWUgb2YgWydYU1JGLVRPS0VOJywgJ3hzcmYtdG9rZW4nXSkge1xuICAgIGNvbnN0IHYgPSBtLmdldChuYW1lKTtcbiAgICBpZiAodikgcmV0dXJuIHY7XG4gIH1cbiAgZm9yIChjb25zdCBbaywgdl0gb2YgbSkge1xuICAgIGlmIChrLnRvTG93ZXJDYXNlKCkgPT09ICd4c3JmLXRva2VuJyAmJiB2KSByZXR1cm4gdjtcbiAgfVxuICByZXR1cm4gJyc7XG59XG5cbmZ1bmN0aW9uIHBhcnNlQ3NyZihodG1sOiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBtID0gaHRtbC5tYXRjaChDU1JGX01FVEFfUkUpO1xuICBjb25zdCB0ID0gbT8uWzFdPy50cmltKCkgPz8gJyc7XG4gIGlmICghdCkgdGhyb3cgbmV3IEVycm9yKCd0ZW1wbWFpbGc6IGNzcmYtdG9rZW4gbm90IGZvdW5kIGluIHBhZ2UnKTtcbiAgcmV0dXJuIHQ7XG59XG5cbmZ1bmN0aW9uIGI2NEVuY29kZUpzb24ob2JqOiB7IGw6IHN0cmluZzsgYzogc3RyaW5nOyBzOiBzdHJpbmcgfSk6IHN0cmluZyB7XG4gIGNvbnN0IGpzb24gPSBKU09OLnN0cmluZ2lmeShvYmopO1xuICBpZiAodHlwZW9mIEJ1ZmZlciAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICByZXR1cm4gVE9LX1BSRUZJWCArIEJ1ZmZlci5mcm9tKGpzb24sICd1dGY4JykudG9TdHJpbmcoJ2Jhc2U2NCcpO1xuICB9XG4gIHJldHVybiBUT0tfUFJFRklYICsgYnRvYSh1bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQoanNvbikpKTtcbn1cblxuZnVuY3Rpb24gZGVjb2RlVG9rZW4odG9rOiBzdHJpbmcpOiB7IGw6IHN0cmluZzsgYzogc3RyaW5nOyBzOiBzdHJpbmcgfSB7XG4gIGlmICghdG9rLnN0YXJ0c1dpdGgoVE9LX1BSRUZJWCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3RlbXBtYWlsZzogaW52YWxpZCBzZXNzaW9uIHRva2VuJyk7XG4gIH1cbiAgY29uc3QgcmF3ID0gdG9rLnNsaWNlKFRPS19QUkVGSVgubGVuZ3RoKTtcbiAgbGV0IGpzb246IHN0cmluZztcbiAgaWYgKHR5cGVvZiBCdWZmZXIgIT09ICd1bmRlZmluZWQnKSB7XG4gICAganNvbiA9IEJ1ZmZlci5mcm9tKHJhdywgJ2Jhc2U2NCcpLnRvU3RyaW5nKCd1dGY4Jyk7XG4gIH0gZWxzZSB7XG4gICAganNvbiA9IGRlY29kZVVSSUNvbXBvbmVudChlc2NhcGUoYXRvYihyYXcpKSk7XG4gIH1cbiAgY29uc3QgbyA9IEpTT04ucGFyc2UoanNvbikgYXMgeyBsPzogc3RyaW5nOyBjPzogc3RyaW5nOyBzPzogc3RyaW5nIH07XG4gIGlmICghby5jIHx8ICFvLnMpIHRocm93IG5ldyBFcnJvcigndGVtcG1haWxnOiBpbnZhbGlkIHNlc3Npb24gdG9rZW4nKTtcbiAgcmV0dXJuIHsgbDogby5sIHx8ICd6aCcsIGM6IG8uYywgczogby5zIH07XG59XG5cbmZ1bmN0aW9uIHBhZ2VIZWFkZXJzKHJlZmVyZXI6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xuICByZXR1cm4ge1xuICAgICdVc2VyLUFnZW50JzogQlJPV1NFUl9VQSxcbiAgICBBY2NlcHQ6ICd0ZXh0L2h0bWwsYXBwbGljYXRpb24veGh0bWwreG1sLGFwcGxpY2F0aW9uL3htbDtxPTAuOSwqLyo7cT0wLjgnLFxuICAgICdBY2NlcHQtTGFuZ3VhZ2UnOiAnemgtQ04semg7cT0wLjksZW47cT0wLjgnLFxuICAgICdDYWNoZS1Db250cm9sJzogJ25vLWNhY2hlJyxcbiAgICBETlQ6ICcxJyxcbiAgICBQcmFnbWE6ICduby1jYWNoZScsXG4gICAgUmVmZXJlcjogcmVmZXJlcixcbiAgICAnVXBncmFkZS1JbnNlY3VyZS1SZXF1ZXN0cyc6ICcxJyxcbiAgfTtcbn1cblxuZnVuY3Rpb24gYXBpSGVhZGVycyhyZWZlcmVyOiBzdHJpbmcsIGNvb2tpZUhkcjogc3RyaW5nLCB4c3JmOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHtcbiAgY29uc3QgaDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICAnVXNlci1BZ2VudCc6IEJST1dTRVJfVUEsXG4gICAgQWNjZXB0OiAnYXBwbGljYXRpb24vanNvbiwgdGV4dC9wbGFpbiwgKi8qJyxcbiAgICAnQWNjZXB0LUxhbmd1YWdlJzogJ3poLUNOLHpoO3E9MC45LGVuO3E9MC44JyxcbiAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgIE9yaWdpbjogT1JJR0lOLFxuICAgIFJlZmVyZXI6IHJlZmVyZXIsXG4gICAgJ0NhY2hlLUNvbnRyb2wnOiAnbm8tY2FjaGUnLFxuICAgIFByYWdtYTogJ25vLWNhY2hlJyxcbiAgICBETlQ6ICcxJyxcbiAgICBDb29raWU6IGNvb2tpZUhkcixcbiAgfTtcbiAgaWYgKHhzcmYpIGhbJ1gtWFNSRi1UT0tFTiddID0geHNyZjtcbiAgcmV0dXJuIGg7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZW5lcmF0ZUVtYWlsKGRvbWFpbj86IHN0cmluZyB8IG51bGwpOiBQcm9taXNlPEludGVybmFsRW1haWxJbmZvPiB7XG4gIGNvbnN0IGxvY2FsZSA9IGxvY2FsZUZyb21Eb21haW4oZG9tYWluKTtcbiAgY29uc3QgcGFnZVVSTCA9IGAke09SSUdJTn0vcHVibGljLyR7ZW5jb2RlVVJJQ29tcG9uZW50KGxvY2FsZSl9YDtcblxuICBjb25zdCByZXMgPSBhd2FpdCBmZXRjaFdpdGhUaW1lb3V0KHBhZ2VVUkwsIHsgaGVhZGVyczogcGFnZUhlYWRlcnMocGFnZVVSTCkgfSk7XG4gIGlmICghcmVzLm9rKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGB0ZW1wbWFpbGcgcGFnZTogJHtyZXMuc3RhdHVzfWApO1xuICB9XG4gIGNvbnN0IGh0bWwgPSBhd2FpdCByZXMudGV4dCgpO1xuICBjb25zdCBjc3JmID0gcGFyc2VDc3JmKGh0bWwpO1xuICBsZXQgY29va2llSGRyID0gbWVyZ2VDb29raWVzKCcnLCBzZXRDb29raWVMaW5lcyhyZXMuaGVhZGVycykpO1xuICBsZXQgeHNyZiA9IHhzcmZGcm9tQ29va2llcyhjb29raWVIZHIpO1xuICBpZiAoIXhzcmYpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3RlbXBtYWlsZzogbWlzc2luZyBYU1JGLVRPS0VOIGNvb2tpZScpO1xuICB9XG5cbiAgY29uc3QgcG9zdFVSTCA9IGAke09SSUdJTn0vcHVibGljL2dldF9tZXNzYWdlc2A7XG4gIGNvbnN0IHJlczIgPSBhd2FpdCBmZXRjaFdpdGhUaW1lb3V0KHBvc3RVUkwsIHtcbiAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICBoZWFkZXJzOiBhcGlIZWFkZXJzKHBhZ2VVUkwsIGNvb2tpZUhkciwgeHNyZiksXG4gICAgYm9keTogSlNPTi5zdHJpbmdpZnkoeyBfdG9rZW46IGNzcmYgfSksXG4gIH0pO1xuICBpZiAoIXJlczIub2spIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYHRlbXBtYWlsZyBnZXRfbWVzc2FnZXM6ICR7cmVzMi5zdGF0dXN9YCk7XG4gIH1cbiAgY29uc3Qgd3JhcCA9IChhd2FpdCByZXMyLmpzb24oKSkgYXMgeyBzdGF0dXM/OiBib29sZWFuOyBtYWlsYm94Pzogc3RyaW5nOyBtZXNzYWdlcz86IHVua25vd25bXSB9O1xuICBpZiAoIXdyYXAuc3RhdHVzIHx8ICF3cmFwLm1haWxib3gpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3RlbXBtYWlsZzogY3JlYXRlIG1haWxib3ggZmFpbGVkJyk7XG4gIH1cbiAgY29va2llSGRyID0gbWVyZ2VDb29raWVzKGNvb2tpZUhkciwgc2V0Q29va2llTGluZXMocmVzMi5oZWFkZXJzKSk7XG4gIGNvbnN0IHhzcmYyID0geHNyZkZyb21Db29raWVzKGNvb2tpZUhkcik7XG4gIGlmICh4c3JmMikgeHNyZiA9IHhzcmYyO1xuXG4gIGNvbnN0IHRva2VuID0gYjY0RW5jb2RlSnNvbih7IGw6IGxvY2FsZSwgYzogY29va2llSGRyLCBzOiBjc3JmIH0pO1xuICByZXR1cm4ge1xuICAgIGNoYW5uZWw6IENIQU5ORUwsXG4gICAgZW1haWw6IHdyYXAubWFpbGJveCxcbiAgICB0b2tlbixcbiAgfTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldEVtYWlscyhlbWFpbDogc3RyaW5nLCB0b2tlbjogc3RyaW5nKTogUHJvbWlzZTxFbWFpbFtdPiB7XG4gIGNvbnN0IHNlc3MgPSBkZWNvZGVUb2tlbih0b2tlbik7XG4gIGNvbnN0IGxvY2FsZSA9IHNlc3MubCB8fCAnemgnO1xuICBjb25zdCBwYWdlVVJMID0gYCR7T1JJR0lOfS9wdWJsaWMvJHtlbmNvZGVVUklDb21wb25lbnQobG9jYWxlKX1gO1xuICBjb25zdCBwb3N0VVJMID0gYCR7T1JJR0lOfS9wdWJsaWMvZ2V0X21lc3NhZ2VzYDtcbiAgY29uc3QgeHNyZiA9IHhzcmZGcm9tQ29va2llcyhzZXNzLmMpO1xuXG4gIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoV2l0aFRpbWVvdXQocG9zdFVSTCwge1xuICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgIGhlYWRlcnM6IGFwaUhlYWRlcnMocGFnZVVSTCwgc2Vzcy5jLCB4c3JmKSxcbiAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7IF90b2tlbjogc2Vzcy5zIH0pLFxuICB9KTtcbiAgaWYgKCFyZXMub2spIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYHRlbXBtYWlsZyBnZXRfbWVzc2FnZXM6ICR7cmVzLnN0YXR1c31gKTtcbiAgfVxuICBjb25zdCB3cmFwID0gKGF3YWl0IHJlcy5qc29uKCkpIGFzIHsgc3RhdHVzPzogYm9vbGVhbjsgbWFpbGJveD86IHN0cmluZzsgbWVzc2FnZXM/OiB1bmtub3duW10gfTtcbiAgaWYgKCF3cmFwLnN0YXR1cykge1xuICAgIHRocm93IG5ldyBFcnJvcigndGVtcG1haWxnOiBnZXRfbWVzc2FnZXMgZmFpbGVkJyk7XG4gIH1cbiAgaWYgKHdyYXAubWFpbGJveCAmJiB3cmFwLm1haWxib3gudHJpbSgpLnRvTG93ZXJDYXNlKCkgIT09IGVtYWlsLnRyaW0oKS50b0xvd2VyQ2FzZSgpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd0ZW1wbWFpbGc6IG1haWxib3ggbWlzbWF0Y2gnKTtcbiAgfVxuICBjb25zdCByYXdMaXN0ID0gQXJyYXkuaXNBcnJheSh3cmFwLm1lc3NhZ2VzKSA/IHdyYXAubWVzc2FnZXMgOiBbXTtcbiAgY29uc3Qgb3V0OiBFbWFpbFtdID0gW107XG4gIGZvciAoY29uc3Qgcm0gb2YgcmF3TGlzdCkge1xuICAgIGlmIChybSAmJiB0eXBlb2Ygcm0gPT09ICdvYmplY3QnKSB7XG4gICAgICBvdXQucHVzaChub3JtYWxpemVFbWFpbChybSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiwgZW1haWwpKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG91dDtcbn1cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ import { InternalEmailInfo, Email } from '../types';
2
+ export declare function generateEmail(domain?: string | null): Promise<InternalEmailInfo>;
3
+ export declare function getEmails(email: string, token: string): Promise<Email[]>;
@@ -0,0 +1,169 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateEmail = generateEmail;
4
+ exports.getEmails = getEmails;
5
+ const normalize_1 = require("../normalize");
6
+ const retry_1 = require("../retry");
7
+ const CHANNEL = 'tmpmails';
8
+ const ORIGIN = 'https://tmpmails.com';
9
+ const TOKEN_SEP = '\t';
10
+ const EMAIL_RE = /[a-zA-Z0-9._-]+@tmpmails\.com/g;
11
+ const PAGE_CHUNK_RE = /\/_next\/static\/chunks\/app\/%5Blocale%5D\/page-[a-f0-9]+\.js/;
12
+ const INBOX_ACTION_RE = /"([0-9a-f]+)",[^,]+,void 0,[^,]+,"getInboxList"/;
13
+ function localeFromDomain(domain) {
14
+ const s = String(domain ?? '').trim();
15
+ return s || 'zh';
16
+ }
17
+ function setCookieLines(headers) {
18
+ const h = headers;
19
+ if (typeof h.getSetCookie === 'function') {
20
+ return h.getSetCookie();
21
+ }
22
+ const one = headers.get('set-cookie');
23
+ return one ? [one] : [];
24
+ }
25
+ function parseUserSign(headers) {
26
+ for (const line of setCookieLines(headers)) {
27
+ const m = /^user_sign=([^;]+)/i.exec(line);
28
+ if (m) {
29
+ const v = m[1].trim();
30
+ if (v)
31
+ return v;
32
+ }
33
+ }
34
+ throw new Error('tmpmails: missing user_sign cookie');
35
+ }
36
+ function pickEmail(html) {
37
+ const support = 'support@tmpmails.com';
38
+ const counts = new Map();
39
+ for (const m of html.matchAll(EMAIL_RE)) {
40
+ const addr = m[0];
41
+ if (addr.toLowerCase() === support)
42
+ continue;
43
+ counts.set(addr, (counts.get(addr) ?? 0) + 1);
44
+ }
45
+ if (counts.size === 0) {
46
+ throw new Error('tmpmails: no inbox address in page');
47
+ }
48
+ let best = '';
49
+ let bestC = 0;
50
+ for (const [addr, c] of counts) {
51
+ if (c > bestC || (c === bestC && addr < best)) {
52
+ best = addr;
53
+ bestC = c;
54
+ }
55
+ }
56
+ return best;
57
+ }
58
+ async function fetchInboxActionID(html) {
59
+ const sub = html.match(PAGE_CHUNK_RE)?.[0];
60
+ if (!sub)
61
+ throw new Error('tmpmails: page chunk script not found');
62
+ const res = await (0, retry_1.fetchWithTimeout)(`${ORIGIN}${sub}`, {
63
+ headers: {
64
+ 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36 Edg/146.0.0.0',
65
+ Accept: '*/*',
66
+ Referer: `${ORIGIN}/`,
67
+ },
68
+ });
69
+ if (!res.ok) {
70
+ throw new Error(`tmpmails page chunk: ${res.status}`);
71
+ }
72
+ const js = await res.text();
73
+ const m = js.match(INBOX_ACTION_RE);
74
+ if (!m?.[1])
75
+ throw new Error('tmpmails: getInboxList action not found in chunk');
76
+ return m[1];
77
+ }
78
+ async function generateEmail(domain) {
79
+ const loc = localeFromDomain(domain);
80
+ const pageUrl = `${ORIGIN}/${loc}`;
81
+ const res = await (0, retry_1.fetchWithTimeout)(pageUrl, {
82
+ headers: {
83
+ 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36 Edg/146.0.0.0',
84
+ Accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
85
+ 'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6',
86
+ 'Cache-Control': 'no-cache',
87
+ DNT: '1',
88
+ Pragma: 'no-cache',
89
+ Referer: pageUrl,
90
+ 'Upgrade-Insecure-Requests': '1',
91
+ },
92
+ });
93
+ if (!res.ok) {
94
+ throw new Error(`tmpmails generate: ${res.status}`);
95
+ }
96
+ const html = await res.text();
97
+ const userSign = parseUserSign(res.headers);
98
+ const email = pickEmail(html);
99
+ const actionId = await fetchInboxActionID(html);
100
+ const token = `${loc}${TOKEN_SEP}${userSign}${TOKEN_SEP}${actionId}`;
101
+ return { channel: CHANNEL, email, token };
102
+ }
103
+ function parseInboxResponse(recipient, raw) {
104
+ const text = raw.split('"$undefined"').join('null');
105
+ const out = [];
106
+ let dataErr = null;
107
+ for (const line of text.split('\n')) {
108
+ const trimmed = line.trim();
109
+ if (!trimmed)
110
+ continue;
111
+ const colon = trimmed.indexOf(':');
112
+ if (colon <= 0)
113
+ continue;
114
+ const jsonPart = trimmed.slice(colon + 1).trim();
115
+ if (!jsonPart.startsWith('{'))
116
+ continue;
117
+ let wrap;
118
+ try {
119
+ wrap = JSON.parse(jsonPart);
120
+ }
121
+ catch {
122
+ continue;
123
+ }
124
+ if (wrap.code !== 200 || !wrap.data)
125
+ continue;
126
+ const list = wrap.data.list;
127
+ if (!Array.isArray(list)) {
128
+ dataErr = new Error('tmpmails: invalid list');
129
+ continue;
130
+ }
131
+ for (const item of list) {
132
+ if (item && typeof item === 'object') {
133
+ out.push((0, normalize_1.normalizeEmail)(item, recipient));
134
+ }
135
+ }
136
+ return out;
137
+ }
138
+ if (dataErr)
139
+ throw dataErr;
140
+ throw new Error('tmpmails: inbox payload not found');
141
+ }
142
+ async function getEmails(email, token) {
143
+ const parts = token.split(TOKEN_SEP);
144
+ if (parts.length !== 3) {
145
+ throw new Error('tmpmails: invalid session token');
146
+ }
147
+ const [locale, userSign, actionId] = parts;
148
+ const postUrl = `${ORIGIN}/${locale}`;
149
+ const body = JSON.stringify([userSign, email, 0]);
150
+ const res = await (0, retry_1.fetchWithTimeout)(postUrl, {
151
+ method: 'POST',
152
+ headers: {
153
+ 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36 Edg/146.0.0.0',
154
+ Accept: 'text/x-component',
155
+ 'Content-Type': 'text/plain;charset=UTF-8',
156
+ 'Next-Action': actionId,
157
+ Origin: ORIGIN,
158
+ Referer: postUrl,
159
+ Cookie: `NEXT_LOCALE=${locale}; user_sign=${userSign}`,
160
+ },
161
+ body,
162
+ });
163
+ if (!res.ok) {
164
+ throw new Error(`tmpmails inbox: ${res.status}`);
165
+ }
166
+ const raw = await res.text();
167
+ return parseInboxResponse(email, raw);
168
+ }
169
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG1wbWFpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvdmlkZXJzL3RtcG1haWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBK0VBLHNDQXlCQztBQW9DRCw4QkEyQkM7QUF0S0QsNENBQThDO0FBQzlDLG9DQUE0QztBQUU1QyxNQUFNLE9BQU8sR0FBWSxVQUFVLENBQUM7QUFDcEMsTUFBTSxNQUFNLEdBQUcsc0JBQXNCLENBQUM7QUFDdEMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDO0FBRXZCLE1BQU0sUUFBUSxHQUFHLGdDQUFnQyxDQUFDO0FBQ2xELE1BQU0sYUFBYSxHQUFHLGdFQUFnRSxDQUFDO0FBQ3ZGLE1BQU0sZUFBZSxHQUFHLGlEQUFpRCxDQUFDO0FBRTFFLFNBQVMsZ0JBQWdCLENBQUMsTUFBc0I7SUFDOUMsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN0QyxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUM7QUFDbkIsQ0FBQztBQUVELFNBQVMsY0FBYyxDQUFDLE9BQWdCO0lBQ3RDLE1BQU0sQ0FBQyxHQUFHLE9BQXNELENBQUM7SUFDakUsSUFBSSxPQUFPLENBQUMsQ0FBQyxZQUFZLEtBQUssVUFBVSxFQUFFLENBQUM7UUFDekMsT0FBTyxDQUFDLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUNELE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdEMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUMxQixDQUFDO0FBRUQsU0FBUyxhQUFhLENBQUMsT0FBZ0I7SUFDckMsS0FBSyxNQUFNLElBQUksSUFBSSxjQUFjLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUMzQyxNQUFNLENBQUMs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STtLQUNMLENBQUMsQ0FBQztJQUNILElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDWixNQUFNLElBQUksS0FBSyxDQUFDLG1CQUFtQixHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBQ0QsTUFBTSxHQUFHLEdBQUcsTUFBTSxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDN0IsT0FBTyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDeEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEludGVybmFsRW1haWxJbmZvLCBFbWFpbCwgQ2hhbm5lbCB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IG5vcm1hbGl6ZUVtYWlsIH0gZnJvbSAnLi4vbm9ybWFsaXplJztcbmltcG9ydCB7IGZldGNoV2l0aFRpbWVvdXQgfSBmcm9tICcuLi9yZXRyeSc7XG5cbmNvbnN0IENIQU5ORUw6IENoYW5uZWwgPSAndG1wbWFpbHMnO1xuY29uc3QgT1JJR0lOID0gJ2h0dHBzOi8vdG1wbWFpbHMuY29tJztcbmNvbnN0IFRPS0VOX1NFUCA9ICdcXHQnO1xuXG5jb25zdCBFTUFJTF9SRSA9IC9bYS16QS1aMC05Ll8tXStAdG1wbWFpbHNcXC5jb20vZztcbmNvbnN0IFBBR0VfQ0hVTktfUkUgPSAvXFwvX25leHRcXC9zdGF0aWNcXC9jaHVua3NcXC9hcHBcXC8lNUJsb2NhbGUlNURcXC9wYWdlLVthLWYwLTldK1xcLmpzLztcbmNvbnN0IElOQk9YX0FDVElPTl9SRSA9IC9cIihbMC05YS1mXSspXCIsW14sXSssdm9pZCAwLFteLF0rLFwiZ2V0SW5ib3hMaXN0XCIvO1xuXG5mdW5jdGlvbiBsb2NhbGVGcm9tRG9tYWluKGRvbWFpbj86IHN0cmluZyB8IG51bGwpOiBzdHJpbmcge1xuICBjb25zdCBzID0gU3RyaW5nKGRvbWFpbiA/PyAnJykudHJpbSgpO1xuICByZXR1cm4gcyB8fCAnemgnO1xufVxuXG5mdW5jdGlvbiBzZXRDb29raWVMaW5lcyhoZWFkZXJzOiBIZWFkZXJzKTogc3RyaW5nW10ge1xuICBjb25zdCBoID0gaGVhZGVycyBhcyBIZWFkZXJzICYgeyBnZXRTZXRDb29raWU/OiAoKSA9PiBzdHJpbmdbXSB9O1xuICBpZiAodHlwZW9mIGguZ2V0U2V0Q29va2llID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuIGguZ2V0U2V0Q29va2llKCk7XG4gIH1cbiAgY29uc3Qgb25lID0gaGVhZGVycy5nZXQoJ3NldC1jb29raWUnKTtcbiAgcmV0dXJuIG9uZSA/IFtvbmVdIDogW107XG59XG5cbmZ1bmN0aW9uIHBhcnNlVXNlclNpZ24oaGVhZGVyczogSGVhZGVycyk6IHN0cmluZyB7XG4gIGZvciAoY29uc3QgbGluZSBvZiBzZXRDb29raWVMaW5lcyhoZWFkZXJzKSkge1xuICAgIGNvbnN0IG0gPSAvXnVzZXJfc2lnbj0oW147XSspL2kuZXhlYyhsaW5lKTtcbiAgICBpZiAobSkge1xuICAgICAgY29uc3QgdiA9IG1bMV0udHJpbSgpO1xuICAgICAgaWYgKHYpIHJldHVybiB2O1xuICAgIH1cbiAgfVxuICB0aHJvdyBuZXcgRXJyb3IoJ3RtcG1haWxzOiBtaXNzaW5nIHVzZXJfc2lnbiBjb29raWUnKTtcbn1cblxuZnVuY3Rpb24gcGlja0VtYWlsKGh0bWw6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IHN1cHBvcnQgPSAnc3VwcG9ydEB0bXBtYWlscy5jb20nO1xuICBjb25zdCBjb3VudHMgPSBuZXcgTWFwPHN0cmluZywgbnVtYmVyPigpO1xuICBmb3IgKGNvbnN0IG0gb2YgaHRtbC5tYXRjaEFsbChFTUFJTF9SRSkpIHtcbiAgICBjb25zdCBhZGRyID0gbVswXTtcbiAgICBpZiAoYWRkci50b0xvd2VyQ2FzZSgpID09PSBzdXBwb3J0KSBjb250aW51ZTtcbiAgICBjb3VudHMuc2V0KGFkZHIsIChjb3VudHMuZ2V0KGFkZHIpID8/IDApICsgMSk7XG4gIH1cbiAgaWYgKGNvdW50cy5zaXplID09PSAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd0bXBtYWlsczogbm8gaW5ib3ggYWRkcmVzcyBpbiBwYWdlJyk7XG4gIH1cbiAgbGV0IGJlc3QgPSAnJztcbiAgbGV0IGJlc3RDID0gMDtcbiAgZm9yIChjb25zdCBbYWRkciwgY10gb2YgY291bnRzKSB7XG4gICAgaWYgKGMgPiBiZXN0QyB8fCAoYyA9PT0gYmVzdEMgJiYgYWRkciA8IGJlc3QpKSB7XG4gICAgICBiZXN0ID0gYWRkcjtcbiAgICAgIGJlc3RDID0gYztcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGJlc3Q7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGZldGNoSW5ib3hBY3Rpb25JRChodG1sOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICBjb25zdCBzdWIgPSBodG1sLm1hdGNoKFBBR0VfQ0hVTktfUkUpPy5bMF07XG4gIGlmICghc3ViKSB0aHJvdyBuZXcgRXJyb3IoJ3RtcG1haWxzOiBwYWdlIGNodW5rIHNjcmlwdCBub3QgZm91bmQnKTtcbiAgY29uc3QgcmVzID0gYXdhaXQgZmV0Y2hXaXRoVGltZW91dChgJHtPUklHSU59JHtzdWJ9YCwge1xuICAgIGhlYWRlcnM6IHtcbiAgICAgICdVc2VyLUFnZW50JzpcbiAgICAgICAgJ01vemlsbGEvNS4wIChXaW5kb3dzIE5UIDEwLjA7IFdpbjY0OyB4NjQpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIENocm9tZS8xNDYuMC4wLjAgU2FmYXJpLzUzNy4zNiBFZGcvMTQ2LjAuMC4wJyxcbiAgICAgIEFjY2VwdDogJyovKicsXG4gICAgICBSZWZlcmVyOiBgJHtPUklHSU59L2AsXG4gICAgfSxcbiAgfSk7XG4gIGlmICghcmVzLm9rKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGB0bXBtYWlscyBwYWdlIGNodW5rOiAke3Jlcy5zdGF0dXN9YCk7XG4gIH1cbiAgY29uc3QganMgPSBhd2FpdCByZXMudGV4dCgpO1xuICBjb25zdCBtID0ganMubWF0Y2goSU5CT1hfQUNUSU9OX1JFKTtcbiAgaWYgKCFtPy5bMV0pIHRocm93IG5ldyBFcnJvcigndG1wbWFpbHM6IGdldEluYm94TGlzdCBhY3Rpb24gbm90IGZvdW5kIGluIGNodW5rJyk7XG4gIHJldHVybiBtWzFdO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2VuZXJhdGVFbWFpbChkb21haW4/OiBzdHJpbmcgfCBudWxsKTogUHJvbWlzZTxJbnRlcm5hbEVtYWlsSW5mbz4ge1xuICBjb25zdCBsb2MgPSBsb2NhbGVGcm9tRG9tYWluKGRvbWFpbik7XG4gIGNvbnN0IHBhZ2VVcmwgPSBgJHtPUklHSU59LyR7bG9jfWA7XG4gIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoV2l0aFRpbWVvdXQocGFnZVVybCwge1xuICAgIGhlYWRlcnM6IHtcbiAgICAgICdVc2VyLUFnZW50JzpcbiAgICAgICAgJ01vemlsbGEvNS4wIChXaW5kb3dzIE5UIDEwLjA7IFdpbjY0OyB4NjQpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIENocm9tZS8xNDYuMC4wLjAgU2FmYXJpLzUzNy4zNiBFZGcvMTQ2LjAuMC4wJyxcbiAgICAgIEFjY2VwdDogJ3RleHQvaHRtbCxhcHBsaWNhdGlvbi94aHRtbCt4bWwsYXBwbGljYXRpb24veG1sO3E9MC45LCovKjtxPTAuOCcsXG4gICAgICAnQWNjZXB0LUxhbmd1YWdlJzogJ3poLUNOLHpoO3E9MC45LGVuO3E9MC44LGVuLUdCO3E9MC43LGVuLVVTO3E9MC42JyxcbiAgICAgICdDYWNoZS1Db250cm9sJzogJ25vLWNhY2hlJyxcbiAgICAgIEROVDogJzEnLFxuICAgICAgUHJhZ21hOiAnbm8tY2FjaGUnLFxuICAgICAgUmVmZXJlcjogcGFnZVVybCxcbiAgICAgICdVcGdyYWRlLUluc2VjdXJlLVJlcXVlc3RzJzogJzEnLFxuICAgIH0sXG4gIH0pO1xuICBpZiAoIXJlcy5vaykge1xuICAgIHRocm93IG5ldyBFcnJvcihgdG1wbWFpbHMgZ2VuZXJhdGU6ICR7cmVzLnN0YXR1c31gKTtcbiAgfVxuICBjb25zdCBodG1sID0gYXdhaXQgcmVzLnRleHQoKTtcbiAgY29uc3QgdXNlclNpZ24gPSBwYXJzZVVzZXJTaWduKHJlcy5oZWFkZXJzKTtcbiAgY29uc3QgZW1haWwgPSBwaWNrRW1haWwoaHRtbCk7XG4gIGNvbnN0IGFjdGlvbklkID0gYXdhaXQgZmV0Y2hJbmJveEFjdGlvbklEKGh0bWwpO1xuICBjb25zdCB0b2tlbiA9IGAke2xvY30ke1RPS0VOX1NFUH0ke3VzZXJTaWdufSR7VE9LRU5fU0VQfSR7YWN0aW9uSWR9YDtcbiAgcmV0dXJuIHsgY2hhbm5lbDogQ0hBTk5FTCwgZW1haWwsIHRva2VuIH07XG59XG5cbmZ1bmN0aW9uIHBhcnNlSW5ib3hSZXNwb25zZShyZWNpcGllbnQ6IHN0cmluZywgcmF3OiBzdHJpbmcpOiBFbWFpbFtdIHtcbiAgY29uc3QgdGV4dCA9IHJhdy5zcGxpdCgnXCIkdW5kZWZpbmVkXCInKS5qb2luKCdudWxsJyk7XG4gIGNvbnN0IG91dDogRW1haWxbXSA9IFtdO1xuICBsZXQgZGF0YUVycjogRXJyb3IgfCBudWxsID0gbnVsbDtcbiAgZm9yIChjb25zdCBsaW5lIG9mIHRleHQuc3BsaXQoJ1xcbicpKSB7XG4gICAgY29uc3QgdHJpbW1lZCA9IGxpbmUudHJpbSgpO1xuICAgIGlmICghdHJpbW1lZCkgY29udGludWU7XG4gICAgY29uc3QgY29sb24gPSB0cmltbWVkLmluZGV4T2YoJzonKTtcbiAgICBpZiAoY29sb24gPD0gMCkgY29udGludWU7XG4gICAgY29uc3QganNvblBhcnQgPSB0cmltbWVkLnNsaWNlKGNvbG9uICsgMSkudHJpbSgpO1xuICAgIGlmICghanNvblBhcnQuc3RhcnRzV2l0aCgneycpKSBjb250aW51ZTtcbiAgICBsZXQgd3JhcDogeyBjb2RlPzogbnVtYmVyOyBkYXRhPzogeyBsaXN0PzogdW5rbm93bltdIH0gfTtcbiAgICB0cnkge1xuICAgICAgd3JhcCA9IEpTT04ucGFyc2UoanNvblBhcnQpIGFzIHsgY29kZT86IG51bWJlcjsgZGF0YT86IHsgbGlzdD86IHVua25vd25bXSB9IH07XG4gICAgfSBjYXRjaCB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgaWYgKHdyYXAuY29kZSAhPT0gMjAwIHx8ICF3cmFwLmRhdGEpIGNvbnRpbnVlO1xuICAgIGNvbnN0IGxpc3QgPSB3cmFwLmRhdGEubGlzdDtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkobGlzdCkpIHtcbiAgICAgIGRhdGFFcnIgPSBuZXcgRXJyb3IoJ3RtcG1haWxzOiBpbnZhbGlkIGxpc3QnKTtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cbiAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgbGlzdCkge1xuICAgICAgaWYgKGl0ZW0gJiYgdHlwZW9mIGl0ZW0gPT09ICdvYmplY3QnKSB7XG4gICAgICAgIG91dC5wdXNoKG5vcm1hbGl6ZUVtYWlsKGl0ZW0sIHJlY2lwaWVudCkpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gb3V0O1xuICB9XG4gIGlmIChkYXRhRXJyKSB0aHJvdyBkYXRhRXJyO1xuICB0aHJvdyBuZXcgRXJyb3IoJ3RtcG1haWxzOiBpbmJveCBwYXlsb2FkIG5vdCBmb3VuZCcpO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0RW1haWxzKGVtYWlsOiBzdHJpbmcsIHRva2VuOiBzdHJpbmcpOiBQcm9taXNlPEVtYWlsW10+IHtcbiAgY29uc3QgcGFydHMgPSB0b2tlbi5zcGxpdChUT0tFTl9TRVApO1xuICBpZiAocGFydHMubGVuZ3RoICE9PSAzKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd0bXBtYWlsczogaW52YWxpZCBzZXNzaW9uIHRva2VuJyk7XG4gIH1cbiAgY29uc3QgW2xvY2FsZSwgdXNlclNpZ24sIGFjdGlvbklkXSA9IHBhcnRzO1xuICBjb25zdCBwb3N0VXJsID0gYCR7T1JJR0lOfS8ke2xvY2FsZX1gO1xuICBjb25zdCBib2R5ID0gSlNPTi5zdHJpbmdpZnkoW3VzZXJTaWduLCBlbWFpbCwgMF0pO1xuICBjb25zdCByZXMgPSBhd2FpdCBmZXRjaFdpdGhUaW1lb3V0KHBvc3RVcmwsIHtcbiAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICBoZWFkZXJzOiB7XG4gICAgICAnVXNlci1BZ2VudCc6XG4gICAgICAgICdNb3ppbGxhLzUuMCAoV2luZG93cyBOVCAxMC4wOyBXaW42NDsgeDY0KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvMTQ2LjAuMC4wIFNhZmFyaS81MzcuMzYgRWRnLzE0Ni4wLjAuMCcsXG4gICAgICBBY2NlcHQ6ICd0ZXh0L3gtY29tcG9uZW50JyxcbiAgICAgICdDb250ZW50LVR5cGUnOiAndGV4dC9wbGFpbjtjaGFyc2V0PVVURi04JyxcbiAgICAgICdOZXh0LUFjdGlvbic6IGFjdGlvbklkLFxuICAgICAgT3JpZ2luOiBPUklHSU4sXG4gICAgICBSZWZlcmVyOiBwb3N0VXJsLFxuICAgICAgQ29va2llOiBgTkVYVF9MT0NBTEU9JHtsb2NhbGV9OyB1c2VyX3NpZ249JHt1c2VyU2lnbn1gLFxuICAgIH0sXG4gICAgYm9keSxcbiAgfSk7XG4gIGlmICghcmVzLm9rKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGB0bXBtYWlscyBpbmJveDogJHtyZXMuc3RhdHVzfWApO1xuICB9XG4gIGNvbnN0IHJhdyA9IGF3YWl0IHJlcy50ZXh0KCk7XG4gIHJldHVybiBwYXJzZUluYm94UmVzcG9uc2UoZW1haWwsIHJhdyk7XG59XG4iXX0=
package/dist/retry.d.ts CHANGED
@@ -40,4 +40,8 @@ export type RetryWithAttemptsResult<T> = {
40
40
  */
41
41
  export declare function withRetryWithAttempts<T>(fn: () => Promise<T>, options?: RetryOptions): Promise<RetryWithAttemptsResult<T>>;
42
42
  export declare function withRetry<T>(fn: () => Promise<T>, options?: RetryOptions): Promise<T>;
43
- export declare function fetchWithTimeout(url: string, init?: RequestInit, timeoutMs?: number): Promise<Response>;
43
+ /** Node 下跳过 TLS 证书校验(用于 10mail.wangtz.cn 等渠道默认行为) */
44
+ export interface FetchWithTimeoutOptions {
45
+ skipTlsVerify?: boolean;
46
+ }
47
+ export declare function fetchWithTimeout(url: string, init?: RequestInit, timeoutMs?: number, opts?: FetchWithTimeoutOptions): Promise<Response>;
package/dist/retry.js CHANGED
@@ -130,9 +130,31 @@ function getFetchConfig() {
130
130
  }
131
131
  return _cachedFetchConfig;
132
132
  }
133
- async function fetchWithTimeout(url, init, timeoutMs) {
133
+ function resolveFetchForTls(baseFetch, skipTlsVerify) {
134
+ if (!skipTlsVerify) {
135
+ return baseFetch;
136
+ }
137
+ if (typeof process === 'undefined' || !process.versions?.node) {
138
+ return baseFetch;
139
+ }
140
+ try {
141
+ // Node 18+ 内置 undici,用于 per-request 关闭证书校验(不修改全局 NODE_TLS_REJECT_UNAUTHORIZED)
142
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
143
+ const undici = require('undici');
144
+ const dispatcher = new undici.Agent({ connect: { rejectUnauthorized: false } });
145
+ return ((u, i) => undici.fetch(u, {
146
+ ...i,
147
+ dispatcher,
148
+ }));
149
+ }
150
+ catch {
151
+ return baseFetch;
152
+ }
153
+ }
154
+ async function fetchWithTimeout(url, init, timeoutMs, opts) {
134
155
  const { fetchFn, timeout: defaultTimeout } = getFetchConfig();
135
156
  const effectiveTimeout = timeoutMs ?? defaultTimeout;
157
+ const fetchImpl = resolveFetchForTls(fetchFn, opts?.skipTlsVerify);
136
158
  const controller = new AbortController();
137
159
  const timeoutId = setTimeout(() => controller.abort(), effectiveTimeout);
138
160
  /*
@@ -144,7 +166,7 @@ async function fetchWithTimeout(url, init, timeoutMs) {
144
166
  externalSignal.addEventListener('abort', () => controller.abort(), { once: true });
145
167
  }
146
168
  try {
147
- const response = await fetchFn(url, {
169
+ const response = await fetchImpl(url, {
148
170
  ...init,
149
171
  signal: controller.signal,
150
172
  });
@@ -160,4 +182,4 @@ async function fetchWithTimeout(url, init, timeoutMs) {
160
182
  clearTimeout(timeoutId);
161
183
  }
162
184
  }
163
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcmV0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7R0FHRzs7QUErRkgsc0RBcUNDO0FBRUQsOEJBSUM7QUFnQ0QsNENBaUNDO0FBek1ELHFDQUFrQztBQUNsQyxxQ0FBcUM7QUFrQnJDLE1BQU0scUJBQXFCLEdBQTJCO0lBQ3BELFVBQVUsRUFBRSxDQUFDO0lBQ2IsWUFBWSxFQUFFLElBQUk7SUFDbEIsUUFBUSxFQUFFLElBQUk7SUFDZCxPQUFPLEVBQUUsS0FBSztJQUNkLFdBQVcsRUFBRSxrQkFBa0I7Q0FDaEMsQ0FBQztBQUVGOzs7Ozs7Ozs7R0FTRztBQUNILFNBQVMsa0JBQWtCLENBQUMsS0FBVTtJQUNwQyxJQUFJLENBQUMsS0FBSztRQUFFLE9BQU8sS0FBSyxDQUFDO0lBRXpCLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUVuRSxpQkFBaUI7SUFDakIsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQztRQUNoQyxPQUFPLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQztRQUMzQixPQUFPLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQztRQUNoQyxPQUFPLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQztRQUM5QixPQUFPLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQztRQUM3QixPQUFPLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQztRQUMzQixPQUFPLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDO1FBQ2xDLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO1FBQ3ZCLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUM5QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxzQkFBc0I7SUFDdEIsSUFB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biAqIOmAmueUqOmHjeivleW3peWFt1xuICog5o+Q5L6b6K+35rGC6YeN6K+V44CB6LaF5pe25o6n5Yi244CB5oyH5pWw6YCA6YG/562J6ZSZ6K+v5oGi5aSN5py65Yi2XG4gKi9cblxuaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSAnLi9sb2dnZXInO1xuaW1wb3J0IHsgZ2V0Q29uZmlnIH0gZnJvbSAnLi9jb25maWcnO1xuXG4vKipcbiAqIOmHjeivlemFjee9rumAiemhuVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJldHJ5T3B0aW9ucyB7XG4gIC8qKiDmnIDlpKfph43or5XmrKHmlbDvvIjkuI3lkKvpppbmrKHor7fmsYLvvInvvIzpu5jorqQgMiAqL1xuICBtYXhSZXRyaWVzPzogbnVtYmVyO1xuICAvKiog5Yid5aeL6YeN6K+V5bu26L+f77yI5q+r56eS77yJ77yM6buY6K6kIDEwMDAgKi9cbiAgaW5pdGlhbERlbGF5PzogbnVtYmVyO1xuICAvKiog5pyA5aSn6YeN6K+V5bu26L+f77yI5q+r56eS77yJ77yM6buY6K6kIDUwMDAgKi9cbiAgbWF4RGVsYXk/OiBudW1iZXI7XG4gIC8qKiDor7fmsYLotoXml7bml7bpl7TvvIjmr6vnp5LvvInvvIzpu5jorqQgMTUwMDAgKi9cbiAgdGltZW91dD86IG51bWJlcjtcbiAgLyoqIOaYr+WQpuWvueivpemUmeivr+i/m+ihjOmHjeivleeahOWIpOaWreWHveaVsCAqL1xuICBzaG91bGRSZXRyeT86IChlcnJvcjogYW55KSA9PiBib29sZWFuO1xufVxuXG5jb25zdCBERUZBVUxUX1JFVFJZX09QVElPTlM6IFJlcXVpcmVkPFJldHJ5T3B0aW9ucz4gPSB7XG4gIG1heFJldHJpZXM6IDIsXG4gIGluaXRpYWxEZWxheTogMTAwMCxcbiAgbWF4RGVsYXk6IDUwMDAsXG4gIHRpbWVvdXQ6IDE1MDAwLFxuICBzaG91bGRSZXRyeTogZGVmYXVsdFNob3VsZFJldHJ5LFxufTtcblxuLyoqXG4gKiDpu5jorqTph43or5XliKTmlq1cbiAqIOS7peS4i+mUmeivr+exu+Wei+S8muinpuWPkemHjeivle+8mlxuICogLSDnvZHnu5zov57mjqXplJnor6/vvIhmZXRjaCBmYWlsZWQsIEVDT05OUkVGVVNFRCwgRUNPTk5SRVNFVCDnrYnvvIlcbiAqIC0g6LaF5pe26ZSZ6K+v77yIdGltZW91dCwgYWJvcnTvvIlcbiAqIC0gRE5TIOino+aekOWksei0pVxuICogLSBIVFRQIDQyOSDpmZDmtYFcbiAqIC0gSFRUUCA0eHgvNXh4IOacjeWKoeerr+mUmeivr++8iOWQq+eKtuaAgeeggeeahOmUmeivr+a2iOaBr++8iVxuICog5LuFIFNESyDlhoXpg6jnmoTlj4LmlbDmoKHpqoznsbvplJnor6/kuI3ph43or5VcbiAqL1xuZnVuY3Rpb24gZGVmYXVsdFNob3VsZFJldHJ5KGVycm9yOiBhbnkpOiBib29sZWFuIHtcbiAgaWYgKCFlcnJvcikgcmV0dXJuIGZhbHNlO1xuXG4gIGNvbnN0IG1lc3NhZ2UgPSBTdHJpbmcoZXJyb3IubWVzc2FnZSB8fCBlcnJvciB8fCAnJykudG9Mb3dlckNhc2UoKTtcblxuICAvKiDnvZHnu5znuqfliKvplJnor68g4oaSIOmHjeivlSAqL1xuICBpZiAobWVzc2FnZS5pbmNsdWRlcygnZmV0Y2ggZmFpbGVkJykgfHxcbiAgICAgIG1lc3NhZ2UuaW5jbHVkZXMoJ25ldHdvcmsnKSB8fFxuICAgICAgbWVzc2FnZS5pbmNsdWRlcygnZWNvbm5yZWZ1c2VkJykgfHxcbiAgICAgIG1lc3NhZ2UuaW5jbHVkZXMoJ2Vjb25ucmVzZXQnKSB8fFxuICAgICAgbWVzc2FnZS5pbmNsdWRlcygnZXRpbWVkb3V0JykgfHxcbiAgICAgIG1lc3NhZ2UuaW5jbHVkZXMoJ3RpbWVvdXQnKSB8fFxuICAgICAgbWVzc2FnZS5pbmNsdWRlcygnc29ja2V0IGhhbmcgdXAnKSB8fFxuICAgICAgbWVzc2FnZS5pbmNsdWRlcygnZG5zJykgfHxcbiAgICAgIG1lc3NhZ2UuaW5jbHVkZXMoJ2Fib3J0JykpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qIEhUVFAgNDI5IOmZkOa1gSDihpIg6YeN6K+VICovXG4gIGlmIChtZXNzYWdlLmluY2x1ZGVzKCc0MjknKSB8fCBtZXNzYWdlLmluY2x1ZGVzKCd0b28gbWFueSByZXF1ZXN0cycpIHx8IG1lc3NhZ2UuaW5jbHVkZXMoJ3JhdGUgbGltaXQnKSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyogSFRUUCA0eHgvNXh4IOmUmeivr++8iOWQq+eKtuaAgeeggeeahOmUmeivr+a2iOaBr++8ieKGkiDph43or5UgKi9cbiAgY29uc3Qgc3RhdHVzTWF0Y2ggPSBtZXNzYWdlLm1hdGNoKC86XFxzKihcXGR7M30pLyk7XG4gIGlmIChzdGF0dXNNYXRjaCkge1xuICAgIGNvbnN0IHN0YXR1cyA9IHBhcnNlSW50KHN0YXR1c01hdGNoWzFdLCAxMCk7XG4gICAgcmV0dXJuIHN0YXR1cyA+PSA0MDA7XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59XG5cbi8qKlxuICog5LyR55yg5oyH5a6a5q+r56eSXG4gKi9cbmZ1bmN0aW9uIHNsZWVwKG1zOiBudW1iZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4gc2V0VGltZW91dChyZXNvbHZlLCBtcykpO1xufVxuXG4vKipcbiAqIOW4pumHjeivleeahOW8guatpeaTjeS9nOaJp+ihjOWZqFxuICogLSDoh6rliqjph43or5Xlj6/mgaLlpI3nmoTplJnor6/vvIjnvZHnu5zplJnor6/jgIHotoXml7bjgIFIVFRQIDR4eC81eHjvvIlcbiAqIC0g5oyH5pWw6YCA6YG/6YG/5YWN6L+H5bqm6K+35rGCXG4gKiAtIOS4jeWPr+aBouWkjeeahOmUmeivr++8iFNESyDlhoXpg6jlj4LmlbDmoKHpqozplJnor6/nrYnvvInnm7TmjqXmipvlh7rkuI3ph43or5VcbiAqXG4gKiBAcGFyYW0gZm4g6KaB5omn6KGM55qE5byC5q2l5pON5L2cXG4gKiBAcGFyYW0gb3B0aW9ucyDph43or5XphY3nva5cbiAqL1xuZXhwb3J0IHR5cGUgUmV0cnlXaXRoQXR0ZW1wdHNSZXN1bHQ8VD4gPVxuICB8IHsgb2s6IHRydWU7IHZhbHVlOiBUOyBhdHRlbXB0czogbnVtYmVyIH1cbiAgfCB7IG9rOiBmYWxzZTsgZXJyb3I6IHVua25vd247IGF0dGVtcHRzOiBudW1iZXIgfTtcblxuLyoqXG4gKiDkuI4gd2l0aFJldHJ5IOebuOWQjO+8jOmineWklui/lOWbnuWwneivleasoeaVsO+8iOaIkOWKn+aIluacgOe7iOWksei0peaXtuWdh+acieaViO+8iVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gd2l0aFJldHJ5V2l0aEF0dGVtcHRzPFQ+KFxuICBmbjogKCkgPT4gUHJvbWlzZTxUPixcbiAgb3B0aW9ucz86IFJldHJ5T3B0aW9ucyxcbik6IFByb21pc2U8UmV0cnlXaXRoQXR0ZW1wdHNSZXN1bHQ8VD4+IHtcbiAgY29uc3Qgb3B0cyA9IHsgLi4uREVGQVVMVF9SRVRSWV9PUFRJT05TLCAuLi5vcHRpb25zIH07XG4gIGxldCBsYXN0RXJyb3I6IGFueTtcblxuICBmb3IgKGxldCBhdHRlbXB0ID0gMDsgYXR0ZW1wdCA8PSBvcHRzLm1heFJldHJpZXM7IGF0dGVtcHQrKykge1xuICAgIGNvbnN0IGF0dGVtcHRzID0gYXR0ZW1wdCArIDE7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGZuKCk7XG4gICAgICBpZiAoYXR0ZW1wdCA+IDApIHtcbiAgICAgICAgbG9nZ2VyLmluZm8oYOesrCAke2F0dGVtcHQgKyAxfSDmrKHlsJ3or5XmiJDlip9gKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB7IG9rOiB0cnVlLCB2YWx1ZTogcmVzdWx0LCBhdHRlbXB0cyB9O1xuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgIGxhc3RFcnJvciA9IGVycm9yO1xuICAgICAgY29uc3QgZXJyb3JNc2cgPSBlcnJvci5tZXNzYWdlIHx8IFN0cmluZyhlcnJvcik7XG5cbiAgICAgIC8qIOacgOWQjuS4gOasoeWwneivleWksei0peaIluS4jeWPr+mHjeivleeahOmUmeivryDihpIg55u05o6l5oqb5Ye6ICovXG4gICAgICBpZiAoYXR0ZW1wdCA+PSBvcHRzLm1heFJldHJpZXMgfHwgIW9wdHMuc2hvdWxkUmV0cnkoZXJyb3IpKSB7XG4gICAgICAgIGlmIChhdHRlbXB0ID49IG9wdHMubWF4UmV0cmllcyAmJiBvcHRzLm1heFJldHJpZXMgPiAwKSB7XG4gICAgICAgICAgbG9nZ2VyLmVycm9yKGDph43or5UgJHtvcHRzLm1heFJldHJpZXN9IOasoeWQjuS7jeWksei0pTogJHtlcnJvck1zZ31gKTtcbiAgICAgICAgfSBlbHNlIGlmICghb3B0cy5zaG91bGRSZXRyeShlcnJvcikpIHtcbiAgICAgICAgICBsb2dnZXIuZGVidWcoYOS4jeWPr+mHjeivleeahOmUmeivrzogJHtlcnJvck1zZ31gKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyBvazogZmFsc2UsIGVycm9yLCBhdHRlbXB0cyB9O1xuICAgICAgfVxuXG4gICAgICAvKiDmjIfmlbDpgIDpgb/nrYnlvoUgKi9cbiAgICAgIGNvbnN0IGRlbGF5ID0gTWF0aC5taW4ob3B0cy5pbml0aWFsRGVsYXkgKiBNYXRoLnBvdygyLCBhdHRlbXB0KSwgb3B0cy5tYXhEZWxheSk7XG4gICAgICBsb2dnZXIud2Fybihg6K+35rGC5aSx6LSlICgke2Vycm9yTXNnfSnvvIwke2RlbGF5fW1zIOWQjuesrCAke2F0dGVtcHQgKyAyfSDmrKHph43or5UuLi5gKTtcbiAgICAgIGF3YWl0IHNsZWVwKGRlbGF5KTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4geyBvazogZmFsc2UsIGVycm9yOiBsYXN0RXJyb3IsIGF0dGVtcHRzOiBvcHRzLm1heFJldHJpZXMgKyAxIH07XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB3aXRoUmV0cnk8VD4oZm46ICgpID0+IFByb21pc2U8VD4sIG9wdGlvbnM/OiBSZXRyeU9wdGlvbnMpOiBQcm9taXNlPFQ+IHtcbiAgY29uc3QgciA9IGF3YWl0IHdpdGhSZXRyeVdpdGhBdHRlbXB0cyhmbiwgb3B0aW9ucyk7XG4gIGlmIChyLm9rKSByZXR1cm4gci52YWx1ZTtcbiAgdGhyb3cgci5lcnJvcjtcbn1cblxuLyoqXG4gKiDluKbotoXml7bmjqfliLbnmoQgZmV0Y2gg5YyF6KOFXG4gKiDlnKjljp/nlJ8gZmV0Y2gg5Z+656GA5LiK5re75Yqg6LaF5pe25Lit5pat6IO95YqbXG4gKlxuICogQHBhcmFtIHVybCDor7fmsYIgVVJMXG4gKiBAcGFyYW0gaW5pdCBmZXRjaCDpgInpoblcbiAqIEBwYXJhbSB0aW1lb3V0TXMg6LaF5pe25pe26Ze077yI5q+r56eS77yJXG4gKi9cbi8qKlxuICog57yT5a2Y55qE5YWo5bGA6YWN572u5b+r54Wn77yM6YG/5YWN5q+P5qyh6K+35rGC6YO96K+75Y+WXG4gKiDku4XlnKggc2V0Q29uZmlnIOiiq+iwg+eUqOaXtuWkseaViO+8iOmAmui/hyBjb25maWdWZXJzaW9uIOavlOWvue+8iVxuICovXG5sZXQgX2NhY2hlZEZldGNoQ29uZmlnOiB7IGZldGNoRm46IHR5cGVvZiBmZXRjaDsgdGltZW91dDogbnVtYmVyOyB2ZXJzaW9uOiBudW1iZXIgfSB8IG51bGwgPSBudWxsO1xuXG4vKipcbiAqIOiOt+WPlue8k+WtmOeahCBmZXRjaCDphY3nva5cbiAqL1xuZnVuY3Rpb24gZ2V0RmV0Y2hDb25maWcoKTogeyBmZXRjaEZuOiB0eXBlb2YgZmV0Y2g7IHRpbWVvdXQ6IG51bWJlciB9IHtcbiAgY29uc3QgY29uZmlnID0gZ2V0Q29uZmlnKCk7XG4gIC8qIOeugOWNleeahOW8leeUqOavlOWvueWNs+WPr++8jGdldENvbmZpZyDlnKjmnKrlj5jmm7Tml7bov5Tlm57lkIzkuIDlr7nosaEgKi9cbiAgaWYgKCFfY2FjaGVkRmV0Y2hDb25maWcgfHwgX2NhY2hlZEZldGNoQ29uZmlnLmZldGNoRm4gIT09IChjb25maWcuY3VzdG9tRmV0Y2ggfHwgZmV0Y2gpIHx8IF9jYWNoZWRGZXRjaENvbmZpZy50aW1lb3V0ICE9PSAoY29uZmlnLnRpbWVvdXQgPz8gREVGQVVMVF9SRVRSWV9PUFRJT05TLnRpbWVvdXQpKSB7XG4gICAgX2NhY2hlZEZldGNoQ29uZmlnID0ge1xuICAgICAgZmV0Y2hGbjogY29uZmlnLmN1c3RvbUZldGNoIHx8IGZldGNoLFxuICAgICAgdGltZW91dDogY29uZmlnLnRpbWVvdXQgPz8gREVGQVVMVF9SRVRSWV9PUFRJT05TLnRpbWVvdXQsXG4gICAgICB2ZXJzaW9uOiAwLFxuICAgIH07XG4gIH1cbiAgcmV0dXJuIF9jYWNoZWRGZXRjaENvbmZpZztcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGZldGNoV2l0aFRpbWVvdXQoXG4gIHVybDogc3RyaW5nLFxuICBpbml0PzogUmVxdWVzdEluaXQsXG4gIHRpbWVvdXRNcz86IG51bWJlcixcbik6IFByb21pc2U8UmVzcG9uc2U+IHtcbiAgY29uc3QgeyBmZXRjaEZuLCB0aW1lb3V0OiBkZWZhdWx0VGltZW91dCB9ID0gZ2V0RmV0Y2hDb25maWcoKTtcbiAgY29uc3QgZWZmZWN0aXZlVGltZW91dCA9IHRpbWVvdXRNcyA/PyBkZWZhdWx0VGltZW91dDtcbiAgY29uc3QgY29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgY29uc3QgdGltZW91dElkID0gc2V0VGltZW91dCgoKSA9PiBjb250cm9sbGVyLmFib3J0KCksIGVmZmVjdGl2ZVRpbWVvdXQpO1xuXG4gIC8qXG4gICAqIOWmguaenOiwg+eUqOaWueW3suaPkOS+myBzaWduYWzvvIzpnIDopoHlkIzml7bnm5HlkKzkuKTkuKrkv6Hlj7fvvIjosIPnlKjmlrkgKyDotoXml7bvvIlcbiAgICog5Lu75LiA6Kem5Y+R5YiZ5Lit5pat6K+35rGCXG4gICAqL1xuICBjb25zdCBleHRlcm5hbFNpZ25hbCA9IGluaXQ/LnNpZ25hbDtcbiAgaWYgKGV4dGVybmFsU2lnbmFsKSB7XG4gICAgZXh0ZXJuYWxTaWduYWwuYWRkRXZlbnRMaXN0ZW5lcignYWJvcnQnLCAoKSA9PiBjb250cm9sbGVyLmFib3J0KCksIHsgb25jZTogdHJ1ZSB9KTtcbiAgfVxuXG4gIHRyeSB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaEZuKHVybCwge1xuICAgICAgLi4uaW5pdCxcbiAgICAgIHNpZ25hbDogY29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG4gICAgcmV0dXJuIHJlc3BvbnNlO1xuICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgaWYgKGVycm9yLm5hbWUgPT09ICdBYm9ydEVycm9yJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBSZXF1ZXN0IHRpbWVvdXQgYWZ0ZXIgJHtlZmZlY3RpdmVUaW1lb3V0fW1zOiAke3VybH1gKTtcbiAgICB9XG4gICAgdGhyb3cgZXJyb3I7XG4gIH0gZmluYWxseSB7XG4gICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRJZCk7XG4gIH1cbn1cbiJdfQ==
185
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcmV0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7R0FHRzs7QUErRkgsc0RBcUNDO0FBRUQsOEJBSUM7QUFpRUQsNENBbUNDO0FBNU9ELHFDQUFrQztBQUNsQyxxQ0FBcUM7QUFrQnJDLE1BQU0scUJBQXFCLEdBQTJCO0lBQ3BELFVBQVUsRUFBRSxDQUFDO0lBQ2IsWUFBWSxFQUFFLElBQUk7SUFDbEIsUUFBUSxFQUFFLElBQUk7SUFDZCxPQUFPLEVBQUUsS0FBSztJQUNkLFdBQVcsRUFBRSxrQkFBa0I7Q0FDaEMsQ0FBQztBQUVGOzs7Ozs7Ozs7R0FTRztBQUNILFNBQVMsa0JBQWtCLENBQUMsS0FBVTtJQUNwQyxJQUFJLENBQUMsS0FBSztRQUFFLE9BQU8sS0FBSyxDQUFDO0lBRXpCLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUVuRSxpQkFBaUI7SUFDakIsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQztRQUNoQyxPQUFPLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQztRQUMzQixPQUFPLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQztRQUNoQyxPQUFPLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQztRQUM5QixPQUFPLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQztRQUM3QixPQUFPLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQztRQUMzQixPQUFPLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDO1FBQ2xDLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO1FBQ3ZCLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUM5QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxzQkFBc0I7SUFDdEIsSUFB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QyxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztJQUV6RTs7O09BR0c7SUFDSCxNQUFNLGNBQWMsR0FBRyxJQUFJLEVBQUUsTUFBTSxDQUFDO0lBQ3BDLElBQUksY0FBYyxFQUFFLENBQUM7UUFDbkIsY0FBYyxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNyRixDQUFDO0lBRUQsSUFBSSxDQUFDO1FBQ0gsTUFBTSxRQUFRLEdBQUcsTUFBTSxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3BDLEdBQUcsSUFBSTtZQUNQLE1BQU0sRUFBRSxVQUFVLENBQUMsTUFBTTtTQUMxQixDQUFDLENBQUM7UUFDSCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBQUMsT0FBTyxLQUFVLEVBQUUsQ0FBQztRQUNwQixJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssWUFBWSxFQUFFLENBQUM7WUFDaEMsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsZ0JBQWdCLE9BQU8sR0FBRyxFQUFFLENBQUMsQ0FBQztRQUN6RSxDQUFDO1FBQ0QsTUFBTSxLQUFLLENBQUM7SUFDZCxDQUFDO1lBQVMsQ0FBQztRQUNULFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMxQixDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICog6YCa55So6YeN6K+V5bel5YW3XG4gKiDmj5Dkvpvor7fmsYLph43or5XjgIHotoXml7bmjqfliLbjgIHmjIfmlbDpgIDpgb/nrYnplJnor6/mgaLlpI3mnLrliLZcbiAqL1xuXG5pbXBvcnQgeyBsb2dnZXIgfSBmcm9tICcuL2xvZ2dlcic7XG5pbXBvcnQgeyBnZXRDb25maWcgfSBmcm9tICcuL2NvbmZpZyc7XG5cbi8qKlxuICog6YeN6K+V6YWN572u6YCJ6aG5XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmV0cnlPcHRpb25zIHtcbiAgLyoqIOacgOWkp+mHjeivleasoeaVsO+8iOS4jeWQq+mmluasoeivt+axgu+8ie+8jOm7mOiupCAyICovXG4gIG1heFJldHJpZXM/OiBudW1iZXI7XG4gIC8qKiDliJ3lp4vph43or5Xlu7bov5/vvIjmr6vnp5LvvInvvIzpu5jorqQgMTAwMCAqL1xuICBpbml0aWFsRGVsYXk/OiBudW1iZXI7XG4gIC8qKiDmnIDlpKfph43or5Xlu7bov5/vvIjmr6vnp5LvvInvvIzpu5jorqQgNTAwMCAqL1xuICBtYXhEZWxheT86IG51bWJlcjtcbiAgLyoqIOivt+axgui2heaXtuaXtumXtO+8iOavq+enku+8ie+8jOm7mOiupCAxNTAwMCAqL1xuICB0aW1lb3V0PzogbnVtYmVyO1xuICAvKiog5piv5ZCm5a+56K+l6ZSZ6K+v6L+b6KGM6YeN6K+V55qE5Yik5pat5Ye95pWwICovXG4gIHNob3VsZFJldHJ5PzogKGVycm9yOiBhbnkpID0+IGJvb2xlYW47XG59XG5cbmNvbnN0IERFRkFVTFRfUkVUUllfT1BUSU9OUzogUmVxdWlyZWQ8UmV0cnlPcHRpb25zPiA9IHtcbiAgbWF4UmV0cmllczogMixcbiAgaW5pdGlhbERlbGF5OiAxMDAwLFxuICBtYXhEZWxheTogNTAwMCxcbiAgdGltZW91dDogMTUwMDAsXG4gIHNob3VsZFJldHJ5OiBkZWZhdWx0U2hvdWxkUmV0cnksXG59O1xuXG4vKipcbiAqIOm7mOiupOmHjeivleWIpOaWrVxuICog5Lul5LiL6ZSZ6K+v57G75Z6L5Lya6Kem5Y+R6YeN6K+V77yaXG4gKiAtIOe9kee7nOi/nuaOpemUmeivr++8iGZldGNoIGZhaWxlZCwgRUNPTk5SRUZVU0VELCBFQ09OTlJFU0VUIOetie+8iVxuICogLSDotoXml7bplJnor6/vvIh0aW1lb3V0LCBhYm9ydO+8iVxuICogLSBETlMg6Kej5p6Q5aSx6LSlXG4gKiAtIEhUVFAgNDI5IOmZkOa1gVxuICogLSBIVFRQIDR4eC81eHgg5pyN5Yqh56uv6ZSZ6K+v77yI5ZCr54q25oCB56CB55qE6ZSZ6K+v5raI5oGv77yJXG4gKiDku4UgU0RLIOWGhemDqOeahOWPguaVsOagoemqjOexu+mUmeivr+S4jemHjeivlVxuICovXG5mdW5jdGlvbiBkZWZhdWx0U2hvdWxkUmV0cnkoZXJyb3I6IGFueSk6IGJvb2xlYW4ge1xuICBpZiAoIWVycm9yKSByZXR1cm4gZmFsc2U7XG5cbiAgY29uc3QgbWVzc2FnZSA9IFN0cmluZyhlcnJvci5tZXNzYWdlIHx8IGVycm9yIHx8ICcnKS50b0xvd2VyQ2FzZSgpO1xuXG4gIC8qIOe9kee7nOe6p+WIq+mUmeivryDihpIg6YeN6K+VICovXG4gIGlmIChtZXNzYWdlLmluY2x1ZGVzKCdmZXRjaCBmYWlsZWQnKSB8fFxuICAgICAgbWVzc2FnZS5pbmNsdWRlcygnbmV0d29yaycpIHx8XG4gICAgICBtZXNzYWdlLmluY2x1ZGVzKCdlY29ubnJlZnVzZWQnKSB8fFxuICAgICAgbWVzc2FnZS5pbmNsdWRlcygnZWNvbm5yZXNldCcpIHx8XG4gICAgICBtZXNzYWdlLmluY2x1ZGVzKCdldGltZWRvdXQnKSB8fFxuICAgICAgbWVzc2FnZS5pbmNsdWRlcygndGltZW91dCcpIHx8XG4gICAgICBtZXNzYWdlLmluY2x1ZGVzKCdzb2NrZXQgaGFuZyB1cCcpIHx8XG4gICAgICBtZXNzYWdlLmluY2x1ZGVzKCdkbnMnKSB8fFxuICAgICAgbWVzc2FnZS5pbmNsdWRlcygnYWJvcnQnKSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyogSFRUUCA0Mjkg6ZmQ5rWBIOKGkiDph43or5UgKi9cbiAgaWYgKG1lc3NhZ2UuaW5jbHVkZXMoJzQyOScpIHx8IG1lc3NhZ2UuaW5jbHVkZXMoJ3RvbyBtYW55IHJlcXVlc3RzJykgfHwgbWVzc2FnZS5pbmNsdWRlcygncmF0ZSBsaW1pdCcpKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKiBIVFRQIDR4eC81eHgg6ZSZ6K+v77yI5ZCr54q25oCB56CB55qE6ZSZ6K+v5raI5oGv77yJ4oaSIOmHjeivlSAqL1xuICBjb25zdCBzdGF0dXNNYXRjaCA9IG1lc3NhZ2UubWF0Y2goLzpcXHMqKFxcZHszfSkvKTtcbiAgaWYgKHN0YXR1c01hdGNoKSB7XG4gICAgY29uc3Qgc3RhdHVzID0gcGFyc2VJbnQoc3RhdHVzTWF0Y2hbMV0sIDEwKTtcbiAgICByZXR1cm4gc3RhdHVzID49IDQwMDtcbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cblxuLyoqXG4gKiDkvJHnnKDmjIflrprmr6vnp5JcbiAqL1xuZnVuY3Rpb24gc2xlZXAobXM6IG51bWJlcik6IFByb21pc2U8dm9pZD4ge1xuICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIG1zKSk7XG59XG5cbi8qKlxuICog5bim6YeN6K+V55qE5byC5q2l5pON5L2c5omn6KGM5ZmoXG4gKiAtIOiHquWKqOmHjeivleWPr+aBouWkjeeahOmUmeivr++8iOe9kee7nOmUmeivr+OAgei2heaXtuOAgUhUVFAgNHh4LzV4eO+8iVxuICogLSDmjIfmlbDpgIDpgb/pgb/lhY3ov4fluqbor7fmsYJcbiAqIC0g5LiN5Y+v5oGi5aSN55qE6ZSZ6K+v77yIU0RLIOWGhemDqOWPguaVsOagoemqjOmUmeivr+etie+8ieebtOaOpeaKm+WHuuS4jemHjeivlVxuICpcbiAqIEBwYXJhbSBmbiDopoHmiafooYznmoTlvILmraXmk43kvZxcbiAqIEBwYXJhbSBvcHRpb25zIOmHjeivlemFjee9rlxuICovXG5leHBvcnQgdHlwZSBSZXRyeVdpdGhBdHRlbXB0c1Jlc3VsdDxUPiA9XG4gIHwgeyBvazogdHJ1ZTsgdmFsdWU6IFQ7IGF0dGVtcHRzOiBudW1iZXIgfVxuICB8IHsgb2s6IGZhbHNlOyBlcnJvcjogdW5rbm93bjsgYXR0ZW1wdHM6IG51bWJlciB9O1xuXG4vKipcbiAqIOS4jiB3aXRoUmV0cnkg55u45ZCM77yM6aKd5aSW6L+U5Zue5bCd6K+V5qyh5pWw77yI5oiQ5Yqf5oiW5pyA57uI5aSx6LSl5pe25Z2H5pyJ5pWI77yJXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB3aXRoUmV0cnlXaXRoQXR0ZW1wdHM8VD4oXG4gIGZuOiAoKSA9PiBQcm9taXNlPFQ+LFxuICBvcHRpb25zPzogUmV0cnlPcHRpb25zLFxuKTogUHJvbWlzZTxSZXRyeVdpdGhBdHRlbXB0c1Jlc3VsdDxUPj4ge1xuICBjb25zdCBvcHRzID0geyAuLi5ERUZBVUxUX1JFVFJZX09QVElPTlMsIC4uLm9wdGlvbnMgfTtcbiAgbGV0IGxhc3RFcnJvcjogYW55O1xuXG4gIGZvciAobGV0IGF0dGVtcHQgPSAwOyBhdHRlbXB0IDw9IG9wdHMubWF4UmV0cmllczsgYXR0ZW1wdCsrKSB7XG4gICAgY29uc3QgYXR0ZW1wdHMgPSBhdHRlbXB0ICsgMTtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZm4oKTtcbiAgICAgIGlmIChhdHRlbXB0ID4gMCkge1xuICAgICAgICBsb2dnZXIuaW5mbyhg56ysICR7YXR0ZW1wdCArIDF9IOasoeWwneivleaIkOWKn2ApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHsgb2s6IHRydWUsIHZhbHVlOiByZXN1bHQsIGF0dGVtcHRzIH07XG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgbGFzdEVycm9yID0gZXJyb3I7XG4gICAgICBjb25zdCBlcnJvck1zZyA9IGVycm9yLm1lc3NhZ2UgfHwgU3RyaW5nKGVycm9yKTtcblxuICAgICAgLyog5pyA5ZCO5LiA5qyh5bCd6K+V5aSx6LSl5oiW5LiN5Y+v6YeN6K+V55qE6ZSZ6K+vIOKGkiDnm7TmjqXmipvlh7ogKi9cbiAgICAgIGlmIChhdHRlbXB0ID49IG9wdHMubWF4UmV0cmllcyB8fCAhb3B0cy5zaG91bGRSZXRyeShlcnJvcikpIHtcbiAgICAgICAgaWYgKGF0dGVtcHQgPj0gb3B0cy5tYXhSZXRyaWVzICYmIG9wdHMubWF4UmV0cmllcyA+IDApIHtcbiAgICAgICAgICBsb2dnZXIuZXJyb3IoYOmHjeivlSAke29wdHMubWF4UmV0cmllc30g5qyh5ZCO5LuN5aSx6LSlOiAke2Vycm9yTXNnfWApO1xuICAgICAgICB9IGVsc2UgaWYgKCFvcHRzLnNob3VsZFJldHJ5KGVycm9yKSkge1xuICAgICAgICAgIGxvZ2dlci5kZWJ1Zyhg5LiN5Y+v6YeN6K+V55qE6ZSZ6K+vOiAke2Vycm9yTXNnfWApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7IG9rOiBmYWxzZSwgZXJyb3IsIGF0dGVtcHRzIH07XG4gICAgICB9XG5cbiAgICAgIC8qIOaMh+aVsOmAgOmBv+etieW+hSAqL1xuICAgICAgY29uc3QgZGVsYXkgPSBNYXRoLm1pbihvcHRzLmluaXRpYWxEZWxheSAqIE1hdGgucG93KDIsIGF0dGVtcHQpLCBvcHRzLm1heERlbGF5KTtcbiAgICAgIGxvZ2dlci53YXJuKGDor7fmsYLlpLHotKUgKCR7ZXJyb3JNc2d9Ke+8jCR7ZGVsYXl9bXMg5ZCO56ysICR7YXR0ZW1wdCArIDJ9IOasoemHjeivlS4uLmApO1xuICAgICAgYXdhaXQgc2xlZXAoZGVsYXkpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7IG9rOiBmYWxzZSwgZXJyb3I6IGxhc3RFcnJvciwgYXR0ZW1wdHM6IG9wdHMubWF4UmV0cmllcyArIDEgfTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHdpdGhSZXRyeTxUPihmbjogKCkgPT4gUHJvbWlzZTxUPiwgb3B0aW9ucz86IFJldHJ5T3B0aW9ucyk6IFByb21pc2U8VD4ge1xuICBjb25zdCByID0gYXdhaXQgd2l0aFJldHJ5V2l0aEF0dGVtcHRzKGZuLCBvcHRpb25zKTtcbiAgaWYgKHIub2spIHJldHVybiByLnZhbHVlO1xuICB0aHJvdyByLmVycm9yO1xufVxuXG4vKipcbiAqIOW4pui2heaXtuaOp+WItueahCBmZXRjaCDljIXoo4VcbiAqIOWcqOWOn+eUnyBmZXRjaCDln7rnoYDkuIrmt7vliqDotoXml7bkuK3mlq3og73liptcbiAqXG4gKiBAcGFyYW0gdXJsIOivt+axgiBVUkxcbiAqIEBwYXJhbSBpbml0IGZldGNoIOmAiemhuVxuICogQHBhcmFtIHRpbWVvdXRNcyDotoXml7bml7bpl7TvvIjmr6vnp5LvvIlcbiAqL1xuLyoqXG4gKiDnvJPlrZjnmoTlhajlsYDphY3nva7lv6vnhafvvIzpgb/lhY3mr4/mrKHor7fmsYLpg73or7vlj5ZcbiAqIOS7heWcqCBzZXRDb25maWcg6KKr6LCD55So5pe25aSx5pWI77yI6YCa6L+HIGNvbmZpZ1ZlcnNpb24g5q+U5a+577yJXG4gKi9cbmxldCBfY2FjaGVkRmV0Y2hDb25maWc6IHsgZmV0Y2hGbjogdHlwZW9mIGZldGNoOyB0aW1lb3V0OiBudW1iZXI7IHZlcnNpb246IG51bWJlciB9IHwgbnVsbCA9IG51bGw7XG5cbi8qKlxuICog6I635Y+W57yT5a2Y55qEIGZldGNoIOmFjee9rlxuICovXG5mdW5jdGlvbiBnZXRGZXRjaENvbmZpZygpOiB7IGZldGNoRm46IHR5cGVvZiBmZXRjaDsgdGltZW91dDogbnVtYmVyIH0ge1xuICBjb25zdCBjb25maWcgPSBnZXRDb25maWcoKTtcbiAgLyog566A5Y2V55qE5byV55So5q+U5a+55Y2z5Y+v77yMZ2V0Q29uZmlnIOWcqOacquWPmOabtOaXtui/lOWbnuWQjOS4gOWvueixoSAqL1xuICBpZiAoIV9jYWNoZWRGZXRjaENvbmZpZyB8fCBfY2FjaGVkRmV0Y2hDb25maWcuZmV0Y2hGbiAhPT0gKGNvbmZpZy5jdXN0b21GZXRjaCB8fCBmZXRjaCkgfHwgX2NhY2hlZEZldGNoQ29uZmlnLnRpbWVvdXQgIT09IChjb25maWcudGltZW91dCA/PyBERUZBVUxUX1JFVFJZX09QVElPTlMudGltZW91dCkpIHtcbiAgICBfY2FjaGVkRmV0Y2hDb25maWcgPSB7XG4gICAgICBmZXRjaEZuOiBjb25maWcuY3VzdG9tRmV0Y2ggfHwgZmV0Y2gsXG4gICAgICB0aW1lb3V0OiBjb25maWcudGltZW91dCA/PyBERUZBVUxUX1JFVFJZX09QVElPTlMudGltZW91dCxcbiAgICAgIHZlcnNpb246IDAsXG4gICAgfTtcbiAgfVxuICByZXR1cm4gX2NhY2hlZEZldGNoQ29uZmlnO1xufVxuXG4vKiogTm9kZSDkuIvot7Pov4cgVExTIOivgeS5puagoemqjO+8iOeUqOS6jiAxMG1haWwud2FuZ3R6LmNuIOetiea4oOmBk+m7mOiupOihjOS4uu+8iSAqL1xuZXhwb3J0IGludGVyZmFjZSBGZXRjaFdpdGhUaW1lb3V0T3B0aW9ucyB7XG4gIHNraXBUbHNWZXJpZnk/OiBib29sZWFuO1xufVxuXG5mdW5jdGlvbiByZXNvbHZlRmV0Y2hGb3JUbHMoXG4gIGJhc2VGZXRjaDogdHlwZW9mIGZldGNoLFxuICBza2lwVGxzVmVyaWZ5OiBib29sZWFuIHwgdW5kZWZpbmVkLFxuKTogdHlwZW9mIGZldGNoIHtcbiAgaWYgKCFza2lwVGxzVmVyaWZ5KSB7XG4gICAgcmV0dXJuIGJhc2VGZXRjaDtcbiAgfVxuICBpZiAodHlwZW9mIHByb2Nlc3MgPT09ICd1bmRlZmluZWQnIHx8ICFwcm9jZXNzLnZlcnNpb25zPy5ub2RlKSB7XG4gICAgcmV0dXJuIGJhc2VGZXRjaDtcbiAgfVxuICB0cnkge1xuICAgIC8vIE5vZGUgMTgrIOWGhee9riB1bmRpY2nvvIznlKjkuo4gcGVyLXJlcXVlc3Qg5YWz6Zet6K+B5Lmm5qCh6aqM77yI5LiN5L+u5pS55YWo5bGAIE5PREVfVExTX1JFSkVDVF9VTkFVVEhPUklaRUTvvIlcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlcXVpcmUtaW1wb3J0c1xuICAgIGNvbnN0IHVuZGljaSA9IHJlcXVpcmUoJ3VuZGljaScpIGFzIHtcbiAgICAgIEFnZW50OiBuZXcgKG9wdHM6IHsgY29ubmVjdDogeyByZWplY3RVbmF1dGhvcml6ZWQ6IGJvb2xlYW4gfSB9KSA9PiB1bmtub3duO1xuICAgICAgZmV0Y2g6IChpbnB1dDogc3RyaW5nLCBpbml0PzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pID0+IFByb21pc2U8UmVzcG9uc2U+O1xuICAgIH07XG4gICAgY29uc3QgZGlzcGF0Y2hlciA9IG5ldyB1bmRpY2kuQWdlbnQoeyBjb25uZWN0OiB7IHJlamVjdFVuYXV0aG9yaXplZDogZmFsc2UgfSB9KTtcbiAgICByZXR1cm4gKCh1OiBzdHJpbmcsIGk/OiBSZXF1ZXN0SW5pdCkgPT5cbiAgICAgIHVuZGljaS5mZXRjaCh1LCB7XG4gICAgICAgIC4uLihpIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KSxcbiAgICAgICAgZGlzcGF0Y2hlcixcbiAgICAgIH0pKSBhcyB0eXBlb2YgZmV0Y2g7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBiYXNlRmV0Y2g7XG4gIH1cbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGZldGNoV2l0aFRpbWVvdXQoXG4gIHVybDogc3RyaW5nLFxuICBpbml0PzogUmVxdWVzdEluaXQsXG4gIHRpbWVvdXRNcz86IG51bWJlcixcbiAgb3B0cz86IEZldGNoV2l0aFRpbWVvdXRPcHRpb25zLFxuKTogUHJvbWlzZTxSZXNwb25zZT4ge1xuICBjb25zdCB7IGZldGNoRm4sIHRpbWVvdXQ6IGRlZmF1bHRUaW1lb3V0IH0gPSBnZXRGZXRjaENvbmZpZygpO1xuICBjb25zdCBlZmZlY3RpdmVUaW1lb3V0ID0gdGltZW91dE1zID8/IGRlZmF1bHRUaW1lb3V0O1xuICBjb25zdCBmZXRjaEltcGwgPSByZXNvbHZlRmV0Y2hGb3JUbHMoZmV0Y2hGbiwgb3B0cz8uc2tpcFRsc1ZlcmlmeSk7XG4gIGNvbnN0IGNvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gIGNvbnN0IHRpbWVvdXRJZCA9IHNldFRpbWVvdXQoKCkgPT4gY29udHJvbGxlci5hYm9ydCgpLCBlZmZlY3RpdmVUaW1lb3V0KTtcblxuICAvKlxuICAgKiDlpoLmnpzosIPnlKjmlrnlt7Lmj5Dkvpsgc2lnbmFs77yM6ZyA6KaB5ZCM5pe255uR5ZCs5Lik5Liq5L+h5Y+377yI6LCD55So5pa5ICsg6LaF5pe277yJXG4gICAqIOS7u+S4gOinpuWPkeWImeS4reaWreivt+axglxuICAgKi9cbiAgY29uc3QgZXh0ZXJuYWxTaWduYWwgPSBpbml0Py5zaWduYWw7XG4gIGlmIChleHRlcm5hbFNpZ25hbCkge1xuICAgIGV4dGVybmFsU2lnbmFsLmFkZEV2ZW50TGlzdGVuZXIoJ2Fib3J0JywgKCkgPT4gY29udHJvbGxlci5hYm9ydCgpLCB7IG9uY2U6IHRydWUgfSk7XG4gIH1cblxuICB0cnkge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2hJbXBsKHVybCwge1xuICAgICAgLi4uaW5pdCxcbiAgICAgIHNpZ25hbDogY29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG4gICAgcmV0dXJuIHJlc3BvbnNlO1xuICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgaWYgKGVycm9yLm5hbWUgPT09ICdBYm9ydEVycm9yJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBSZXF1ZXN0IHRpbWVvdXQgYWZ0ZXIgJHtlZmZlY3RpdmVUaW1lb3V0fW1zOiAke3VybH1gKTtcbiAgICB9XG4gICAgdGhyb3cgZXJyb3I7XG4gIH0gZmluYWxseSB7XG4gICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRJZCk7XG4gIH1cbn1cbiJdfQ==
package/dist/types.d.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  * 支持的临时邮箱渠道标识
3
3
  * 每个渠道对应一个第三方临时邮箱服务商
4
4
  */
5
- export type Channel = 'tempmail' | 'tempmail-cn' | 'linshi-email' | 'linshiyou' | 'mffac' | 'tempmail-lol' | 'chatgpt-org-uk' | 'temp-mail-io' | 'awamail' | 'temporary-email-org' | 'mail-tm' | 'mail-cx' | 'dropmail' | 'guerrillamail' | 'maildrop' | 'smail-pw' | 'boomlify' | 'minmail' | 'vip-215' | 'anonbox' | 'fake-legal';
5
+ export type Channel = 'tempmail' | 'tempmail-cn' | 'tmpmails' | 'tempmailg' | 'ta-easy' | '10mail-wangtz' | '10minute-one' | 'linshi-email' | 'linshiyou' | 'mffac' | 'tempmail-lol' | 'chatgpt-org-uk' | 'temp-mail-io' | 'awamail' | 'temporary-email-org' | 'mail-tm' | 'mail-cx' | 'dropmail' | 'guerrillamail' | 'maildrop' | 'smail-pw' | 'boomlify' | 'minmail' | 'vip-215' | 'anonbox' | 'fake-legal' | 'moakt';
6
6
  /**
7
7
  * 创建临时邮箱后返回的邮箱信息
8
8
  * Token 等认证信息由 SDK 内部维护,不对外暴露
package/dist/types.js CHANGED
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICog5pSv5oyB55qE5Li05pe26YKu566x5rig6YGT5qCH6K+GXG4gKiDmr4/kuKrmuKDpgZPlr7nlupTkuIDkuKrnrKzkuInmlrnkuLTml7bpgq7nrrHmnI3liqHllYZcbiAqL1xuZXhwb3J0IHR5cGUgQ2hhbm5lbCA9ICd0ZW1wbWFpbCcgfCAndGVtcG1haWwtY24nIHwgJ2xpbnNoaS1lbWFpbCcgfCAnbGluc2hpeW91JyB8ICdtZmZhYycgfCAndGVtcG1haWwtbG9sJyB8ICdjaGF0Z3B0LW9yZy11aycgfCAndGVtcC1tYWlsLWlvJyB8ICdhd2FtYWlsJyB8ICd0ZW1wb3JhcnktZW1haWwtb3JnJyB8ICdtYWlsLXRtJyB8ICdtYWlsLWN4JyB8ICdkcm9wbWFpbCcgfCAnZ3VlcnJpbGxhbWFpbCcgfCAnbWFpbGRyb3AnIHwgJ3NtYWlsLXB3JyB8ICdib29tbGlmeScgfCAnbWlubWFpbCcgfCAndmlwLTIxNScgfCAnYW5vbmJveCcgfCAnZmFrZS1sZWdhbCc7XG5cbi8qKlxuICog5Yib5bu65Li05pe26YKu566x5ZCO6L+U5Zue55qE6YKu566x5L+h5oGvXG4gKiBUb2tlbiDnrYnorqTor4Hkv6Hmga/nlLEgU0RLIOWGhemDqOe7tOaKpO+8jOS4jeWvueWkluaatOmcslxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVtYWlsSW5mbyB7XG4gIC8qKiDliJvlu7ror6Xpgq7nrrHmiYDkvb/nlKjnmoTmuKDpgZMgKi9cbiAgY2hhbm5lbDogQ2hhbm5lbDtcbiAgLyoqIOS4tOaXtumCrueuseWcsOWdgCAqL1xuICBlbWFpbDogc3RyaW5nO1xuICAvKiog6YKu566x6L+H5pyf5pe26Ze077yISVNPIDg2MDEg5a2X56ym5Liy5oiWIFVuaXgg5pe26Ze05oiz77yJICovXG4gIGV4cGlyZXNBdD86IHN0cmluZyB8IG51bWJlcjtcbiAgLyoqIOmCrueuseWIm+W7uuaXtumXtO+8iElTTyA4NjAxIOWtl+espuS4su+8iSAqL1xuICBjcmVhdGVkQXQ/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogU0RLIOWGhemDqOS9v+eUqOeahOmCrueuseS/oeaBr++8jOWMheWQqyB0b2tlbiDnrYnorqTor4HmlbDmja5cbiAqIOS4jeWvueWkluWvvOWHuu+8jOeUqOaIt+aXoOazleiuv+mXrlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZXJuYWxFbWFpbEluZm8gZXh0ZW5kcyBFbWFpbEluZm8ge1xuICAvKiog6K6k6K+B5Luk54mM77yM55SxIFNESyDlhoXpg6jnu7TmiqQgKi9cbiAgdG9rZW4/OiBzdHJpbmc7XG59XG5cbi8qKlxuICog5qCH5YeG5YyW6YKu5Lu26ZmE5Lu2XG4gKiDkuI3lkIzmuKDpgZPnmoTpmYTku7blrZfmrrXlkI3kuI3lkIzvvIxTREsg57uf5LiA5b2S5LiA5YyW5Li65q2k57uT5p6EXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRW1haWxBdHRhY2htZW50IHtcbiAgLyoqIOmZhOS7tuaWh+S7tuWQjSAqL1xuICBmaWxlbmFtZTogc3RyaW5nO1xuICAvKiog6ZmE5Lu25aSn5bCP77yI5a2X6IqC77yJICovXG4gIHNpemU/OiBudW1iZXI7XG4gIC8qKiBNSU1FIOexu+Wei++8jOWmgiBhcHBsaWNhdGlvbi9wZGYgKi9cbiAgY29udGVudFR5cGU/OiBzdHJpbmc7XG4gIC8qKiDpmYTku7bkuIvovb3lnLDlnYAgKi9cbiAgdXJsPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIOagh+WHhuWMlumCruS7tuagvOW8jyAtIOaJgOacieaPkOS+m+WVhui/lOWbnue7n+S4gOe7k+aehFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVtYWlsIHtcbiAgLyoqIOmCruS7tuWUr+S4gOagh+ivhiAqL1xuICBpZDogc3RyaW5nO1xuICAvKiog5Y+R5Lu25Lq66YKu566x5Zyw5Z2AICovXG4gIGZyb206IHN0cmluZztcbiAgLyoqIOaUtuS7tuS6uumCrueuseWcsOWdgCAqL1xuICB0bzogc3RyaW5nO1xuICAvKiog6YKu5Lu25Li76aKYICovXG4gIHN1YmplY3Q6IHN0cmluZztcbiAgLyoqIOe6r+aWh+acrOWGheWuuSAqL1xuICB0ZXh0OiBzdHJpbmc7XG4gIC8qKiBIVE1MIOWGheWuuSAqL1xuICBodG1sOiBzdHJpbmc7XG4gIC8qKiBJU08gODYwMSDmoLzlvI/nmoTml6XmnJ/lrZfnrKbkuLIgKi9cbiAgZGF0ZTogc3RyaW5nO1xuICAvKiog5piv5ZCm5bey6K+7ICovXG4gIGlzUmVhZDogYm9vbGVhbjtcbiAgLyoqIOmZhOS7tuWIl+ihqCAqL1xuICBhdHRhY2htZW50czogRW1haWxBdHRhY2htZW50W107XG59XG5cbi8qKlxuICog6I635Y+W6YKu5Lu25YiX6KGo55qE6L+U5Zue57uT5p6cXG4gKiBzdWNjZXNzIOS4uiBmYWxzZSDml7booajnpLror7fmsYLlpLHotKXvvIjph43or5XogJflsL3vvInvvIxlbWFpbHMg5Li656m65pWw57uEXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2V0RW1haWxzUmVzdWx0IHtcbiAgLyoqIOaJgOS9v+eUqOeahOa4oOmBkyAqL1xuICBjaGFubmVsOiBDaGFubmVsO1xuICAvKiog5p+l6K+i55qE6YKu566x5Zyw5Z2AICovXG4gIGVtYWlsOiBzdHJpbmc7XG4gIC8qKiDpgq7ku7bliJfooajvvIzlpLHotKXml7bkuLrnqbrmlbDnu4QgKi9cbiAgZW1haWxzOiBFbWFpbFtdO1xuICAvKiog6K+35rGC5piv5ZCm5oiQ5Yqf77yMZmFsc2Ug6KGo56S66YeN6K+V6ICX5bC95ZCO5LuN5aSx6LSlICovXG4gIHN1Y2Nlc3M6IGJvb2xlYW47XG59XG5cbi8qKlxuICog6YeN6K+V6YWN572uXG4gKiBTREsg5YaF6YOo5a+5572R57uc6ZSZ6K+v44CB6LaF5pe244CBNXh4IOacjeWKoeerr+mUmeivr+iHquWKqOmHjeivlVxuICogNHh4IOWuouaIt+err+mUmeivr++8iOWmguWPguaVsOmUmeivr++8ieS4jeS8mumHjeivlVxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c1xuICogLy8g6Ieq5a6a5LmJ6YeN6K+V562W55Wl77ya5pyA5aSa6YeN6K+VIDMg5qyh77yM6aaW5qyh5bu26L+fIDIg56eSXG4gKiBjb25zdCBlbWFpbCA9IGF3YWl0IGdlbmVyYXRlRW1haWwoe1xuICogICBjaGFubmVsOiAnbWFpbC10bScsXG4gKiAgIHJldHJ5OiB7IG1heFJldHJpZXM6IDMsIGluaXRpYWxEZWxheTogMjAwMCB9LFxuICogfSk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXRyeUNvbmZpZyB7XG4gIC8qKiDmnIDlpKfph43or5XmrKHmlbDvvIjkuI3lkKvpppbmrKHor7fmsYLvvInvvIzpu5jorqQgMiAqL1xuICBtYXhSZXRyaWVzPzogbnVtYmVyO1xuICAvKiog5Yid5aeL6YeN6K+V5bu26L+f77yI5q+r56eS77yJ77yM6YeH55So5oyH5pWw6YCA6YG/562W55Wl77yM6buY6K6kIDEwMDAgKi9cbiAgaW5pdGlhbERlbGF5PzogbnVtYmVyO1xuICAvKiog5pyA5aSn6YeN6K+V5bu26L+f5LiK6ZmQ77yI5q+r56eS77yJ77yM6buY6K6kIDUwMDAgKi9cbiAgbWF4RGVsYXk/OiBudW1iZXI7XG4gIC8qKiDljZXmrKHor7fmsYLotoXml7bml7bpl7TvvIjmr6vnp5LvvInvvIzpu5jorqQgMTUwMDAgKi9cbiAgdGltZW91dD86IG51bWJlcjtcbn1cblxuLyoqXG4gKiDliJvlu7rkuLTml7bpgq7nrrHnmoTpgInpoblcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIC8vIOS9v+eUqOaMh+Wumua4oOmBk+WIm+W7uumCrueusVxuICogY29uc3QgZW1haWwgPSBhd2FpdCBnZW5lcmF0ZUVtYWlsKHsgY2hhbm5lbDogJ21haWwtdG0nIH0pO1xuICpcbiAqIC8vIOmaj+acuumAieaLqea4oOmBk1xuICogY29uc3QgZW1haWwgPSBhd2FpdCBnZW5lcmF0ZUVtYWlsKCk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHZW5lcmF0ZUVtYWlsT3B0aW9ucyB7XG4gIC8qKiDmjIflrprmuKDpgZPvvIzkuI3kvKDliJnpmo/mnLrpgInmi6kgKi9cbiAgY2hhbm5lbD86IENoYW5uZWw7XG4gIC8qKlxuICAgKiDkuLogZmFsc2Ug5pe25LuF5bCd6K+VIGBjaGFubmVsYCDmjIflrprnmoTmuKDpgZPvvIzlpLHotKXljbPov5Tlm54gbnVsbO+8jOS4jSBGYWxsYmFjayDliLDlhbbku5bmuKDpgZPjgIJcbiAgICog55So5LqO5oyJ5rig6YGT5o6i5rWL5Y+v55So5oCn44CC6buY6K6kIHRydWXvvIjkv53mjIHljp/mnInjgIzkvJjlhYjmjIflrprmuKDpgZPjgIHlpLHotKXlkI7or5Xlhbbku5bjgI3ooYzkuLrvvInjgIJcbiAgICovXG4gIGNoYW5uZWxGYWxsYmFjaz86IGJvb2xlYW47XG4gIC8qKiDpgq7nrrHmnInmlYjml7bplb8gKi9cbiAgZHVyYXRpb24/OiBudW1iZXI7XG4gIC8qKiDmjIflrprpgq7nrrHln5/lkI3miJbmjqXlhaXln5/lkI3vvIjlpoIgYHRlbXBtYWlsLWNuYCDoh6rlrprkuYnln5/lkI3vvIkgKi9cbiAgZG9tYWluPzogc3RyaW5nIHwgbnVsbDtcbiAgLyoqIOmHjeivlemFjee9ru+8jOS4jeS8oOWImeS9v+eUqOm7mOiupOWAvO+8iOacgOWkmumHjeivlSAyIOasoe+8iSAqL1xuICByZXRyeT86IFJldHJ5Q29uZmlnO1xufVxuXG4vKipcbiAqIOiOt+WPlumCruS7tuWIl+ihqOeahOmAiemhuVxuICogQ2hhbm5lbC9FbWFpbC9Ub2tlbiDnrYnnlLEgU0RLIOS7jiBFbWFpbEluZm8g5Lit6Ieq5Yqo6I635Y+W77yM55So5oi35peg6ZyA5omL5Yqo5Lyg6YCSXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiBjb25zdCBpbmZvID0gYXdhaXQgZ2VuZXJhdGVFbWFpbCh7IGNoYW5uZWw6ICdtYWlsLXRtJyB9KTtcbiAqIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGdldEVtYWlscyhpbmZvKTtcbiAqIGlmIChyZXN1bHQuc3VjY2VzcyAmJiByZXN1bHQuZW1haWxzLmxlbmd0aCA+IDApIHtcbiAqICAgY29uc29sZS5sb2coJ+aUtuWIsOmCruS7tjonLCByZXN1bHQuZW1haWxzKTtcbiAqIH1cbiAqIGBgYFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdldEVtYWlsc09wdGlvbnMge1xuICAvKiog6YeN6K+V6YWN572u77yM5LiN5Lyg5YiZ5L2/55So6buY6K6k5YC877yI5pyA5aSa6YeN6K+VIDIg5qyh77yJICovXG4gIHJldHJ5PzogUmV0cnlDb25maWc7XG59XG4iXX0=
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICog5pSv5oyB55qE5Li05pe26YKu566x5rig6YGT5qCH6K+GXG4gKiDmr4/kuKrmuKDpgZPlr7nlupTkuIDkuKrnrKzkuInmlrnkuLTml7bpgq7nrrHmnI3liqHllYZcbiAqL1xuZXhwb3J0IHR5cGUgQ2hhbm5lbCA9ICd0ZW1wbWFpbCcgfCAndGVtcG1haWwtY24nIHwgJ3RtcG1haWxzJyB8ICd0ZW1wbWFpbGcnIHwgJ3RhLWVhc3knIHwgJzEwbWFpbC13YW5ndHonIHwgJzEwbWludXRlLW9uZScgfCAnbGluc2hpLWVtYWlsJyB8ICdsaW5zaGl5b3UnIHwgJ21mZmFjJyB8ICd0ZW1wbWFpbC1sb2wnIHwgJ2NoYXRncHQtb3JnLXVrJyB8ICd0ZW1wLW1haWwtaW8nIHwgJ2F3YW1haWwnIHwgJ3RlbXBvcmFyeS1lbWFpbC1vcmcnIHwgJ21haWwtdG0nIHwgJ21haWwtY3gnIHwgJ2Ryb3BtYWlsJyB8ICdndWVycmlsbGFtYWlsJyB8ICdtYWlsZHJvcCcgfCAnc21haWwtcHcnIHwgJ2Jvb21saWZ5JyB8ICdtaW5tYWlsJyB8ICd2aXAtMjE1JyB8ICdhbm9uYm94JyB8ICdmYWtlLWxlZ2FsJyB8ICdtb2FrdCc7XG5cbi8qKlxuICog5Yib5bu65Li05pe26YKu566x5ZCO6L+U5Zue55qE6YKu566x5L+h5oGvXG4gKiBUb2tlbiDnrYnorqTor4Hkv6Hmga/nlLEgU0RLIOWGhemDqOe7tOaKpO+8jOS4jeWvueWkluaatOmcslxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVtYWlsSW5mbyB7XG4gIC8qKiDliJvlu7ror6Xpgq7nrrHmiYDkvb/nlKjnmoTmuKDpgZMgKi9cbiAgY2hhbm5lbDogQ2hhbm5lbDtcbiAgLyoqIOS4tOaXtumCrueuseWcsOWdgCAqL1xuICBlbWFpbDogc3RyaW5nO1xuICAvKiog6YKu566x6L+H5pyf5pe26Ze077yISVNPIDg2MDEg5a2X56ym5Liy5oiWIFVuaXgg5pe26Ze05oiz77yJICovXG4gIGV4cGlyZXNBdD86IHN0cmluZyB8IG51bWJlcjtcbiAgLyoqIOmCrueuseWIm+W7uuaXtumXtO+8iElTTyA4NjAxIOWtl+espuS4su+8iSAqL1xuICBjcmVhdGVkQXQ/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogU0RLIOWGhemDqOS9v+eUqOeahOmCrueuseS/oeaBr++8jOWMheWQqyB0b2tlbiDnrYnorqTor4HmlbDmja5cbiAqIOS4jeWvueWkluWvvOWHuu+8jOeUqOaIt+aXoOazleiuv+mXrlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZXJuYWxFbWFpbEluZm8gZXh0ZW5kcyBFbWFpbEluZm8ge1xuICAvKiog6K6k6K+B5Luk54mM77yM55SxIFNESyDlhoXpg6jnu7TmiqQgKi9cbiAgdG9rZW4/OiBzdHJpbmc7XG59XG5cbi8qKlxuICog5qCH5YeG5YyW6YKu5Lu26ZmE5Lu2XG4gKiDkuI3lkIzmuKDpgZPnmoTpmYTku7blrZfmrrXlkI3kuI3lkIzvvIxTREsg57uf5LiA5b2S5LiA5YyW5Li65q2k57uT5p6EXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRW1haWxBdHRhY2htZW50IHtcbiAgLyoqIOmZhOS7tuaWh+S7tuWQjSAqL1xuICBmaWxlbmFtZTogc3RyaW5nO1xuICAvKiog6ZmE5Lu25aSn5bCP77yI5a2X6IqC77yJICovXG4gIHNpemU/OiBudW1iZXI7XG4gIC8qKiBNSU1FIOexu+Wei++8jOWmgiBhcHBsaWNhdGlvbi9wZGYgKi9cbiAgY29udGVudFR5cGU/OiBzdHJpbmc7XG4gIC8qKiDpmYTku7bkuIvovb3lnLDlnYAgKi9cbiAgdXJsPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIOagh+WHhuWMlumCruS7tuagvOW8jyAtIOaJgOacieaPkOS+m+WVhui/lOWbnue7n+S4gOe7k+aehFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVtYWlsIHtcbiAgLyoqIOmCruS7tuWUr+S4gOagh+ivhiAqL1xuICBpZDogc3RyaW5nO1xuICAvKiog5Y+R5Lu25Lq66YKu566x5Zyw5Z2AICovXG4gIGZyb206IHN0cmluZztcbiAgLyoqIOaUtuS7tuS6uumCrueuseWcsOWdgCAqL1xuICB0bzogc3RyaW5nO1xuICAvKiog6YKu5Lu25Li76aKYICovXG4gIHN1YmplY3Q6IHN0cmluZztcbiAgLyoqIOe6r+aWh+acrOWGheWuuSAqL1xuICB0ZXh0OiBzdHJpbmc7XG4gIC8qKiBIVE1MIOWGheWuuSAqL1xuICBodG1sOiBzdHJpbmc7XG4gIC8qKiBJU08gODYwMSDmoLzlvI/nmoTml6XmnJ/lrZfnrKbkuLIgKi9cbiAgZGF0ZTogc3RyaW5nO1xuICAvKiog5piv5ZCm5bey6K+7ICovXG4gIGlzUmVhZDogYm9vbGVhbjtcbiAgLyoqIOmZhOS7tuWIl+ihqCAqL1xuICBhdHRhY2htZW50czogRW1haWxBdHRhY2htZW50W107XG59XG5cbi8qKlxuICog6I635Y+W6YKu5Lu25YiX6KGo55qE6L+U5Zue57uT5p6cXG4gKiBzdWNjZXNzIOS4uiBmYWxzZSDml7booajnpLror7fmsYLlpLHotKXvvIjph43or5XogJflsL3vvInvvIxlbWFpbHMg5Li656m65pWw57uEXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2V0RW1haWxzUmVzdWx0IHtcbiAgLyoqIOaJgOS9v+eUqOeahOa4oOmBkyAqL1xuICBjaGFubmVsOiBDaGFubmVsO1xuICAvKiog5p+l6K+i55qE6YKu566x5Zyw5Z2AICovXG4gIGVtYWlsOiBzdHJpbmc7XG4gIC8qKiDpgq7ku7bliJfooajvvIzlpLHotKXml7bkuLrnqbrmlbDnu4QgKi9cbiAgZW1haWxzOiBFbWFpbFtdO1xuICAvKiog6K+35rGC5piv5ZCm5oiQ5Yqf77yMZmFsc2Ug6KGo56S66YeN6K+V6ICX5bC95ZCO5LuN5aSx6LSlICovXG4gIHN1Y2Nlc3M6IGJvb2xlYW47XG59XG5cbi8qKlxuICog6YeN6K+V6YWN572uXG4gKiBTREsg5YaF6YOo5a+5572R57uc6ZSZ6K+v44CB6LaF5pe244CBNXh4IOacjeWKoeerr+mUmeivr+iHquWKqOmHjeivlVxuICogNHh4IOWuouaIt+err+mUmeivr++8iOWmguWPguaVsOmUmeivr++8ieS4jeS8mumHjeivlVxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c1xuICogLy8g6Ieq5a6a5LmJ6YeN6K+V562W55Wl77ya5pyA5aSa6YeN6K+VIDMg5qyh77yM6aaW5qyh5bu26L+fIDIg56eSXG4gKiBjb25zdCBlbWFpbCA9IGF3YWl0IGdlbmVyYXRlRW1haWwoe1xuICogICBjaGFubmVsOiAnbWFpbC10bScsXG4gKiAgIHJldHJ5OiB7IG1heFJldHJpZXM6IDMsIGluaXRpYWxEZWxheTogMjAwMCB9LFxuICogfSk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXRyeUNvbmZpZyB7XG4gIC8qKiDmnIDlpKfph43or5XmrKHmlbDvvIjkuI3lkKvpppbmrKHor7fmsYLvvInvvIzpu5jorqQgMiAqL1xuICBtYXhSZXRyaWVzPzogbnVtYmVyO1xuICAvKiog5Yid5aeL6YeN6K+V5bu26L+f77yI5q+r56eS77yJ77yM6YeH55So5oyH5pWw6YCA6YG/562W55Wl77yM6buY6K6kIDEwMDAgKi9cbiAgaW5pdGlhbERlbGF5PzogbnVtYmVyO1xuICAvKiog5pyA5aSn6YeN6K+V5bu26L+f5LiK6ZmQ77yI5q+r56eS77yJ77yM6buY6K6kIDUwMDAgKi9cbiAgbWF4RGVsYXk/OiBudW1iZXI7XG4gIC8qKiDljZXmrKHor7fmsYLotoXml7bml7bpl7TvvIjmr6vnp5LvvInvvIzpu5jorqQgMTUwMDAgKi9cbiAgdGltZW91dD86IG51bWJlcjtcbn1cblxuLyoqXG4gKiDliJvlu7rkuLTml7bpgq7nrrHnmoTpgInpoblcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIC8vIOS9v+eUqOaMh+Wumua4oOmBk+WIm+W7uumCrueusVxuICogY29uc3QgZW1haWwgPSBhd2FpdCBnZW5lcmF0ZUVtYWlsKHsgY2hhbm5lbDogJ21haWwtdG0nIH0pO1xuICpcbiAqIC8vIOmaj+acuumAieaLqea4oOmBk1xuICogY29uc3QgZW1haWwgPSBhd2FpdCBnZW5lcmF0ZUVtYWlsKCk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHZW5lcmF0ZUVtYWlsT3B0aW9ucyB7XG4gIC8qKiDmjIflrprmuKDpgZPvvIzkuI3kvKDliJnpmo/mnLrpgInmi6kgKi9cbiAgY2hhbm5lbD86IENoYW5uZWw7XG4gIC8qKlxuICAgKiDkuLogZmFsc2Ug5pe25LuF5bCd6K+VIGBjaGFubmVsYCDmjIflrprnmoTmuKDpgZPvvIzlpLHotKXljbPov5Tlm54gbnVsbO+8jOS4jSBGYWxsYmFjayDliLDlhbbku5bmuKDpgZPjgIJcbiAgICog55So5LqO5oyJ5rig6YGT5o6i5rWL5Y+v55So5oCn44CC6buY6K6kIHRydWXvvIjkv53mjIHljp/mnInjgIzkvJjlhYjmjIflrprmuKDpgZPjgIHlpLHotKXlkI7or5Xlhbbku5bjgI3ooYzkuLrvvInjgIJcbiAgICovXG4gIGNoYW5uZWxGYWxsYmFjaz86IGJvb2xlYW47XG4gIC8qKiDpgq7nrrHmnInmlYjml7bplb8gKi9cbiAgZHVyYXRpb24/OiBudW1iZXI7XG4gIC8qKiDmjIflrprpgq7nrrHln5/lkI3miJbmjqXlhaXln5/lkI3vvIjlpoIgYHRlbXBtYWlsLWNuYCDoh6rlrprkuYnln5/lkI3vvIkgKi9cbiAgZG9tYWluPzogc3RyaW5nIHwgbnVsbDtcbiAgLyoqIOmHjeivlemFjee9ru+8jOS4jeS8oOWImeS9v+eUqOm7mOiupOWAvO+8iOacgOWkmumHjeivlSAyIOasoe+8iSAqL1xuICByZXRyeT86IFJldHJ5Q29uZmlnO1xufVxuXG4vKipcbiAqIOiOt+WPlumCruS7tuWIl+ihqOeahOmAiemhuVxuICogQ2hhbm5lbC9FbWFpbC9Ub2tlbiDnrYnnlLEgU0RLIOS7jiBFbWFpbEluZm8g5Lit6Ieq5Yqo6I635Y+W77yM55So5oi35peg6ZyA5omL5Yqo5Lyg6YCSXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiBjb25zdCBpbmZvID0gYXdhaXQgZ2VuZXJhdGVFbWFpbCh7IGNoYW5uZWw6ICdtYWlsLXRtJyB9KTtcbiAqIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGdldEVtYWlscyhpbmZvKTtcbiAqIGlmIChyZXN1bHQuc3VjY2VzcyAmJiByZXN1bHQuZW1haWxzLmxlbmd0aCA+IDApIHtcbiAqICAgY29uc29sZS5sb2coJ+aUtuWIsOmCruS7tjonLCByZXN1bHQuZW1haWxzKTtcbiAqIH1cbiAqIGBgYFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdldEVtYWlsc09wdGlvbnMge1xuICAvKiog6YeN6K+V6YWN572u77yM5LiN5Lyg5YiZ5L2/55So6buY6K6k5YC877yI5pyA5aSa6YeN6K+VIDIg5qyh77yJICovXG4gIHJldHJ5PzogUmV0cnlDb25maWc7XG59XG4iXX0=
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "tempmail-sdk",
3
- "version": "1.2.0",
4
- "description": "临时邮箱 SDK - 支持 21 个临时邮箱服务商",
3
+ "version": "1.2.2-dev",
4
+ "description": "临时邮箱 SDK - 支持 25 个临时邮箱服务商",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "scripts": {