UNPKG

@neodx/log

Version:

A lightweight universal logging framework

911 lines (910 loc) 45.4 kB
var D = require('node:os'), u = require('./create-logger-factory-gpFFxhZQ.cjs'), F = require('./read-arguments-DiLh6En8.cjs'), e = require('node:fs'), C = require('@neodx/colors'), E = require('pathe'), t = require('../utils/index.cjs'); const r = D => D.reduce((D, u) => D + u, 0), n = (D, u) => { var e; return ( (e = (D, F) => !u.includes(F)), Object.fromEntries(F.entries(D).filter(([D, u]) => e(u, D))) ); }, o = (D, u) => Object.fromEntries(Object.entries(D).filter(([D]) => u.includes(D))), B = (D, u, F = '...') => (D.length <= u ? D : D.slice(0, u - F.length) + F), i = ({ originalUrl: D, path: u, url: F }) => D || ('string' == typeof u ? u : F?.path ?? F), a = Symbol('HTTP_LOG_START_TIME'), l = Symbol('raw'), s = (D = 0) => u => `\u001B[${u + D}m`, A = (D = 0) => u => `\u001B[${38 + D};5;${u}m`, c = (D = 0) => (u, F, e) => `\u001B[${38 + D};2;${u};${F};${e}m`, g = { modifier: { reset: [0, 0], bold: [1, 22], dim: [2, 22], italic: [3, 23], underline: [4, 24], overline: [53, 55], inverse: [7, 27], hidden: [8, 28], strikethrough: [9, 29] }, color: { black: [30, 39], red: [31, 39], green: [32, 39], yellow: [33, 39], blue: [34, 39], magenta: [35, 39], cyan: [36, 39], white: [37, 39], blackBright: [90, 39], gray: [90, 39], grey: [90, 39], redBright: [91, 39], greenBright: [92, 39], yellowBright: [93, 39], blueBright: [94, 39], magentaBright: [95, 39], cyanBright: [96, 39], whiteBright: [97, 39] }, bgColor: { bgBlack: [40, 49], bgRed: [41, 49], bgGreen: [42, 49], bgYellow: [43, 49], bgBlue: [44, 49], bgMagenta: [45, 49], bgCyan: [46, 49], bgWhite: [47, 49], bgBlackBright: [100, 49], bgGray: [100, 49], bgGrey: [100, 49], bgRedBright: [101, 49], bgGreenBright: [102, 49], bgYellowBright: [103, 49], bgBlueBright: [104, 49], bgMagentaBright: [105, 49], bgCyanBright: [106, 49], bgWhiteBright: [107, 49] } }, f = (function () { let D = new Map(); for (let [u, F] of Object.entries(g)) { for (let [u, e] of Object.entries(F)) (g[u] = { open: `\u001B[${e[0]}m`, close: `\u001B[${e[1]}m` }), (F[u] = g[u]), D.set(e[0], e[1]); Object.defineProperty(g, u, { value: F, enumerable: !1 }); } return ( Object.defineProperty(g, 'codes', { value: D, enumerable: !1 }), (g.color.close = '\x1b[39m'), (g.bgColor.close = '\x1b[49m'), (g.color.ansi = s()), (g.color.ansi256 = A()), (g.color.ansi16m = c()), (g.bgColor.ansi = s(10)), (g.bgColor.ansi256 = A(10)), (g.bgColor.ansi16m = c(10)), Object.defineProperties(g, { rgbToAnsi256: { value: (D, u, F) => D === u && u === F ? D < 8 ? 16 : D > 248 ? 231 : Math.round(((D - 8) / 247) * 24) + 232 : 16 + 36 * Math.round((D / 255) * 5) + 6 * Math.round((u / 255) * 5) + Math.round((F / 255) * 5), enumerable: !1 }, hexToRgb: { value: D => { let u = /[a-f\d]{6}|[a-f\d]{3}/i.exec(D.toString(16)); if (!u) return [0, 0, 0]; let [F] = u; 3 === F.length && (F = [...F].map(D => D + D).join('')); let e = Number.parseInt(F, 16); return [(e >> 16) & 255, (e >> 8) & 255, 255 & e]; }, enumerable: !1 }, hexToAnsi256: { value: D => g.rgbToAnsi256(...g.hexToRgb(D)), enumerable: !1 }, ansi256ToAnsi: { value: D => { let u, F, e; if (D < 8) return 30 + D; if (D < 16) return 90 + (D - 8); if (D >= 232) (F = u = ((D - 232) * 10 + 8) / 255), (e = u); else { let C = (D -= 16) % 36; (u = Math.floor(D / 36) / 5), (F = Math.floor(C / 6) / 5), (e = (C % 6) / 5); } let C = 2 * Math.max(u, F, e); if (0 === C) return 30; let E = 30 + ((Math.round(e) << 2) | (Math.round(F) << 1) | Math.round(u)); return 2 === C && (E += 60), E; }, enumerable: !1 }, rgbToAnsi: { value: (D, u, F) => g.ansi256ToAnsi(g.rgbToAnsi256(D, u, F)), enumerable: !1 }, hexToAnsi: { value: D => g.ansi256ToAnsi(g.hexToAnsi256(D)), enumerable: !1 } }), g ); })(), d = /^[\uD800-\uDBFF][\uDC00-\uDFFF]$/, m = ['\x1b', '›'], p = D => `${m[0]}[${D}m`, h = (D, u, F) => { let e = []; for (let F of (D = [...D])) { let C = F; F.includes(';') && (F = F.split(';')[0][0] + '0'); let E = f.codes.get(Number.parseInt(F, 10)); if (E) { let F = D.indexOf(E.toString()); -1 === F ? e.push(p(u ? E : C)) : D.splice(F, 1); } else if (u) { e.push(p(0)); break; } else e.push(p(C)); } if (u && ((e = e.filter((D, u) => e.indexOf(D) === u)), void 0 !== F)) { let D = p(f.codes.get(Number.parseInt(F, 10))); e = e.reduce((u, F) => (F === D ? [F, ...u] : [...u, F]), []); } return e.join(''); }; function b(D, u, F) { let e; let C = [...D], E = [], t = 'number' == typeof F ? F : C.length, r = !1, n = 0, o = ''; for (let [i, a] of C.entries()) { var B; let C = !1; if (m.includes(a)) { let u = /\d[^m]*/.exec(D.slice(i, i + 18)); (e = u && u.length > 0 ? u[0] : void 0), n < t && ((r = !0), void 0 !== e && E.push(e)); } else r && 'm' === a && ((r = !1), (C = !0)); if ( (!r && !C && n++, !d.test(a) && Number.isInteger((B = a.codePointAt())) && B >= 4352 && (B <= 4447 || 9001 === B || 9002 === B || (11904 <= B && B <= 12871 && 12351 !== B) || (12880 <= B && B <= 19903) || (19968 <= B && B <= 42182) || (43360 <= B && B <= 43388) || (44032 <= B && B <= 55203) || (63744 <= B && B <= 64255) || (65040 <= B && B <= 65049) || (65072 <= B && B <= 65131) || (65281 <= B && B <= 65376) || (65504 <= B && B <= 65510) || (110592 <= B && B <= 110593) || (127488 <= B && B <= 127569) || (131072 <= B && B <= 262141)) && (n++, 'number' != typeof F && t++), n > u && n <= t) ) o += a; else if (n !== u || r || void 0 === e) { if (n >= t) { o += h(E, !0, e); break; } } else o = h(E); } return o; } const y = (function ({ onlyFirst: D = !1 } = {}) { return RegExp( '[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)|(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))', D ? void 0 : 'g' ); })(); function x(D) { return D && D.__esModule && Object.prototype.hasOwnProperty.call(D, 'default') ? D.default : D; } var $ = { exports: {} }; !(function (D) { var u = {}; function F(D) { return D.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g) || []; } (D.exports = u), (u.eastAsianWidth = function (D) { var u = D.charCodeAt(0), F = 2 == D.length ? D.charCodeAt(1) : 0, e = u; return (55296 <= u && u <= 56319 && 56320 <= F && F <= 57343 && ((u &= 1023), (F &= 1023), (e = ((u << 10) | F) + 65536)), 12288 == e || (65281 <= e && e <= 65376) || (65504 <= e && e <= 65510)) ? 'F' : 8361 == e || (65377 <= e && e <= 65470) || (65474 <= e && e <= 65479) || (65482 <= e && e <= 65487) || (65490 <= e && e <= 65495) || (65498 <= e && e <= 65500) || (65512 <= e && e <= 65518) ? 'H' : (4352 <= e && e <= 4447) || (4515 <= e && e <= 4519) || (4602 <= e && e <= 4607) || (9001 <= e && e <= 9002) || (11904 <= e && e <= 11929) || (11931 <= e && e <= 12019) || (12032 <= e && e <= 12245) || (12272 <= e && e <= 12283) || (12289 <= e && e <= 12350) || (12353 <= e && e <= 12438) || (12441 <= e && e <= 12543) || (12549 <= e && e <= 12589) || (12593 <= e && e <= 12686) || (12688 <= e && e <= 12730) || (12736 <= e && e <= 12771) || (12784 <= e && e <= 12830) || (12832 <= e && e <= 12871) || (12880 <= e && e <= 13054) || (13056 <= e && e <= 19903) || (19968 <= e && e <= 42124) || (42128 <= e && e <= 42182) || (43360 <= e && e <= 43388) || (44032 <= e && e <= 55203) || (55216 <= e && e <= 55238) || (55243 <= e && e <= 55291) || (63744 <= e && e <= 64255) || (65040 <= e && e <= 65049) || (65072 <= e && e <= 65106) || (65108 <= e && e <= 65126) || (65128 <= e && e <= 65131) || (110592 <= e && e <= 110593) || (127488 <= e && e <= 127490) || (127504 <= e && e <= 127546) || (127552 <= e && e <= 127560) || (127568 <= e && e <= 127569) || (131072 <= e && e <= 194367) || (177984 <= e && e <= 196605) || (196608 <= e && e <= 262141) ? 'W' : (32 <= e && e <= 126) || (162 <= e && e <= 163) || (165 <= e && e <= 166) || 172 == e || 175 == e || (10214 <= e && e <= 10221) || (10629 <= e && e <= 10630) ? 'Na' : 161 == e || 164 == e || (167 <= e && e <= 168) || 170 == e || (173 <= e && e <= 174) || (176 <= e && e <= 180) || (182 <= e && e <= 186) || (188 <= e && e <= 191) || 198 == e || 208 == e || (215 <= e && e <= 216) || (222 <= e && e <= 225) || 230 == e || (232 <= e && e <= 234) || (236 <= e && e <= 237) || 240 == e || (242 <= e && e <= 243) || (247 <= e && e <= 250) || 252 == e || 254 == e || 257 == e || 273 == e || 275 == e || 283 == e || (294 <= e && e <= 295) || 299 == e || (305 <= e && e <= 307) || 312 == e || (319 <= e && e <= 322) || 324 == e || (328 <= e && e <= 331) || 333 == e || (338 <= e && e <= 339) || (358 <= e && e <= 359) || 363 == e || 462 == e || 464 == e || 466 == e || 468 == e || 470 == e || 472 == e || 474 == e || 476 == e || 593 == e || 609 == e || 708 == e || 711 == e || (713 <= e && e <= 715) || 717 == e || 720 == e || (728 <= e && e <= 731) || 733 == e || 735 == e || (768 <= e && e <= 879) || (913 <= e && e <= 929) || (931 <= e && e <= 937) || (945 <= e && e <= 961) || (963 <= e && e <= 969) || 1025 == e || (1040 <= e && e <= 1103) || 1105 == e || 8208 == e || (8211 <= e && e <= 8214) || (8216 <= e && e <= 8217) || (8220 <= e && e <= 8221) || (8224 <= e && e <= 8226) || (8228 <= e && e <= 8231) || 8240 == e || (8242 <= e && e <= 8243) || 8245 == e || 8251 == e || 8254 == e || 8308 == e || 8319 == e || (8321 <= e && e <= 8324) || 8364 == e || 8451 == e || 8453 == e || 8457 == e || 8467 == e || 8470 == e || (8481 <= e && e <= 8482) || 8486 == e || 8491 == e || (8531 <= e && e <= 8532) || (8539 <= e && e <= 8542) || (8544 <= e && e <= 8555) || (8560 <= e && e <= 8569) || 8585 == e || (8592 <= e && e <= 8601) || (8632 <= e && e <= 8633) || 8658 == e || 8660 == e || 8679 == e || 8704 == e || (8706 <= e && e <= 8707) || (8711 <= e && e <= 8712) || 8715 == e || 8719 == e || 8721 == e || 8725 == e || 8730 == e || (8733 <= e && e <= 8736) || 8739 == e || 8741 == e || (8743 <= e && e <= 8748) || 8750 == e || (8756 <= e && e <= 8759) || (8764 <= e && e <= 8765) || 8776 == e || 8780 == e || 8786 == e || (8800 <= e && e <= 8801) || (8804 <= e && e <= 8807) || (8810 <= e && e <= 8811) || (8814 <= e && e <= 8815) || (8834 <= e && e <= 8835) || (8838 <= e && e <= 8839) || 8853 == e || 8857 == e || 8869 == e || 8895 == e || 8978 == e || (9312 <= e && e <= 9449) || (9451 <= e && e <= 9547) || (9552 <= e && e <= 9587) || (9600 <= e && e <= 9615) || (9618 <= e && e <= 9621) || (9632 <= e && e <= 9633) || (9635 <= e && e <= 9641) || (9650 <= e && e <= 9651) || (9654 <= e && e <= 9655) || (9660 <= e && e <= 9661) || (9664 <= e && e <= 9665) || (9670 <= e && e <= 9672) || 9675 == e || (9678 <= e && e <= 9681) || (9698 <= e && e <= 9701) || 9711 == e || (9733 <= e && e <= 9734) || 9737 == e || (9742 <= e && e <= 9743) || (9748 <= e && e <= 9749) || 9756 == e || 9758 == e || 9792 == e || 9794 == e || (9824 <= e && e <= 9825) || (9827 <= e && e <= 9829) || (9831 <= e && e <= 9834) || (9836 <= e && e <= 9837) || 9839 == e || (9886 <= e && e <= 9887) || (9918 <= e && e <= 9919) || (9924 <= e && e <= 9933) || (9935 <= e && e <= 9953) || 9955 == e || (9960 <= e && e <= 9983) || 10045 == e || 10071 == e || (10102 <= e && e <= 10111) || (11093 <= e && e <= 11097) || (12872 <= e && e <= 12879) || (57344 <= e && e <= 63743) || (65024 <= e && e <= 65039) || 65533 == e || (127232 <= e && e <= 127242) || (127248 <= e && e <= 127277) || (127280 <= e && e <= 127337) || (127344 <= e && e <= 127386) || (917760 <= e && e <= 917999) || (983040 <= e && e <= 1048573) || (1048576 <= e && e <= 1114109) ? 'A' : 'N'; }), (u.characterLength = function (D) { var u = this.eastAsianWidth(D); return 'F' == u || 'W' == u || 'A' == u ? 2 : 1; }), (u.length = function (D) { for (var u = F(D), e = 0, C = 0; C < u.length; C++) e += this.characterLength(u[C]); return e; }), (u.slice = function (D, e, C) { (textLen = u.length(D)), (C = C || 1), (e = e || 0) < 0 && (e = textLen + e), C < 0 && (C = textLen + C); for (var E = '', t = 0, r = F(D), n = 0; n < r.length; n++) { var o = r[n], B = u.length(o); if (t >= e - (2 == B ? 1 : 0)) { if (t + B <= C) E += o; else break; } t += B; } return E; }); })($); var v = x($.exports), w = x(function () { return /\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g; }); function T(D, u = {}) { if ( 'string' != typeof D || 0 === D.length || ((u = { ambiguousIsNarrow: !0, ...u }), 0 === (D = (function (D) { if ('string' != typeof D) throw TypeError(`Expected a \`string\`, got \`${typeof D}\``); return D.replace(y, ''); })(D)).length) ) return 0; D = D.replace(w(), ' '); let F = u.ambiguousIsNarrow ? 1 : 2, e = 0; for (let u of D) { let D = u.codePointAt(0); if (!(D <= 31) && (!(D >= 127) || !(D <= 159)) && (!(D >= 768) || !(D <= 879))) switch (v.eastAsianWidth(u)) { case 'F': case 'W': e += 2; break; case 'A': e += F; break; default: e += 1; } } return e; } function O(D, u, F) { if (' ' === D.charAt(u)) return u; for (let e = 1; e <= 3; e++) if (F) { if (' ' === D.charAt(u + e)) return u + e; } else if (' ' === D.charAt(u - e)) return u - e; return u; } const S = { enter: '', longArrowRight: '', pointerSmall: '', pointerSmallDouble: '»' }, M = process.stdout.columns || 80, j = D => (/\r\n/.test(D) ? 2 : 1), k = /\r?\n/; function _({ colors: D = C.colors, indent: u = 0, columnNumber: e, lineNumber: E, source: t, overscan: n = 2 }) { let o = j(t), B = (function (D, u, e) { let C = D.split(k); if (u > C.length) return D.length; let E = j(D); return ( r( (function (D, u = F.identity) { return Array.from({ length: D }, (D, F) => u(F)); })(u - 1, D => C[D].length + E) ) + e ); })(t, E, e), i = t.split(k), a = r(i.slice(0, E).map(D => D.length + o)), l = Math.max(0, E - 1 - n), s = i.slice(l, E + n); if (0 === s.length || s.some(L)) return ''; let A = (u, F) => N(F) + D.red('^'.repeat(Math.max(1, u.length - F))), c = (u = '') => D.gray(`${u.padStart(3, ' ')}| `); return s .flatMap((F, e) => { let C = l + e + 1, t = C === E, r = t ? D.yellowBright : D.yellow; return [ (function (D, u, F) { let { position: e, space: C, preferTruncationOnSpace: E } = (F = { position: 'end', preferTruncationOnSpace: !1, truncationCharacter: '', ...F }), { truncationCharacter: t } = F; if ('string' != typeof D) throw TypeError(`Expected \`input\` to be a string, got ${typeof D}`); if ('number' != typeof u) throw TypeError(`Expected \`columns\` to be a number, got ${typeof u}`); if (u < 1) return ''; if (1 === u) return t; let r = T(D); if (r <= u) return D; if ('start' === e) { if (E) { let F = O(D, r - u + 1, !0); return t + b(D, F, r).trim(); } return !0 === C && (t += ' '), t + b(D, r - u + T(t), r); } if ('middle' === e) { !0 === C && (t = ` ${t} `); let F = Math.floor(u / 2); if (E) { let e = O(D, F), C = O(D, r - (u - F) + 1, !0); return b(D, 0, e) + t + b(D, C, r).trim(); } return b(D, 0, F) + t + b(D, r - (u - F) + T(t), r); } if ('end' === e) { if (E) { let F = O(D, u - 1); return b(D, 0, F) + t; } return !0 === C && (t = ` ${t}`), b(D, 0, u - T(t)) + t; } throw Error( `Expected \`options.position\` to be either \`start\`, \`middle\` or \`end\`, got ${e}` ); })(c(String(C)) + r(F.replace(/\t/g, ' ')), M - u), t && c() + A(F, B - (a - F.length)) ]; }) .filter(Boolean) .map(D => (u ? N(u) + D : D)) .join('\n'); } const L = D => D.length > 240, N = D => ' '.repeat(D); function I(D) { if (!(D instanceof Error)) return D; let u = { name: D.name, stack: D.stack, message: D.message, ...(P(D) ?? {}) }; return D.cause instanceof Error && (u.cause = I(D.cause)), u; } function P(D) { let u = n(Object.fromEntries(Object.entries(D)), R); return F.isEmptyObject(u) ? null : u; } const R = ['stack', 'cause', 'name', 'message'], G = (D, u = z) => D.split('\n') .map(W) .filter(D => null !== D && u(D)); function W(D) { var u; let e = D.trim(); e.includes('(eval ') && (e = e.replace(/eval code/g, 'eval').replace(/(\(eval at [^()]*)|(,.*$)/g, '')); let C = e .replace(/^\s+/, '') .replace(/\(eval code/g, '(') .replace(/^.*?\s+/, ''), t = C.match(/ (\(.+\)$)/); t && (C = C.replace(t[0], '')); let [r, n, o] = (u = t ? t[1] : C).includes(':') ? q.exec(u.replace(/^\(|\)$/g, ''))?.slice(1, 4) ?? [u] : [u], B = (t && C) || '', i = r && ['eval', '<anonymous>'].includes(r) ? void 0 : r; return i && n && o ? (B.startsWith('async ') && (B = B.slice(6)), i.startsWith('file://') && (i = i.slice(7)), { file: E.resolve(i), line: F.toInt(n), column: F.toInt(o), method: B }) : null; } const q = /(.+?)(?::(\d+))?(?::(\d+))?$/, z = D => !D.file.match('node:internal'); function U(D, u = {}) { let { cwd: r = process.cwd(), indent: n = 0, codeFrame: o = !0, fullStack: B = !1, stringify: i = D => t.serializeJSON(D, 2), filterStack: a, colors: l = C.colors } = u, s = o ? H(o) : null, A = Y(D), c = G(A.stack || '', B ? F.True : a), g = P(A), f = F.toArray(s?.(c) ?? []), d = (D = n) => (D ? ' '.repeat(D) : ''), m = c.flatMap(D => { let { file: u, column: F, line: C, method: t } = D, o = f.includes(D), B = o ? l.cyan : l.gray, i = E.relative(r, u); return [ B( `${d()} ${l.dim(o ? S.pointerSmallDouble : S.pointerSmall)} ${[t, `${d()}${i}:${l.dim(`${C}:${F}`)}`].filter(Boolean).join(' ')}` ), o && l.yellow( _({ lineNumber: C, columnNumber: F, source: e.readFileSync(u, 'utf-8'), indent: n + 3, colors: l }) ) ]; }); return ( g && m.push( `${d()}${l.red(`${S.longArrowRight} serialized error properties:`)}`, `${l.gray( i(g) .split(k) .map(D => `${d()}${D}`) .slice(1, -1) .join('\n') )}` ), A.cause && 'object' == typeof A.cause && 'name' in A.cause && ((A.cause.name = `${S.enter} caused by ${A.cause.name}`), m.push(' ', U(A.cause, { ...u, indent: n + 2, codeFrame: !1 }))), [l.red(`${d()}${l.bold(A.name || 'Unknown Error')}: ${A.message}`), ...m] .filter(Boolean) .join('\n') ); } const H = D => ('function' == typeof D ? D : D => D.find(D => e.existsSync(D.file))), Y = D => { if (!D) return o(Error('unknown error'), ['message', 'stack']); if (F.isPrimitive(D)) { let u = String(D); return { message: u.split(/\n/g)[0], stack: u }; } return D; }; function Z(D, u) { if (!u) return D; let e = {}; for (let [C, E] of Object.entries(D)) e[C] = F.hasOwn(u, C) ? u[C](E) : E; return e; } const J = { req: function (D) { let { id: u, info: F, query: e, method: C, params: E, headers: t, [l]: r } = D, n = F || D.socket; return { id: 'function' == typeof u ? u() : u ?? F?.id, url: i(D), query: e, params: E, method: C, headers: t, remotePort: n?.remotePort, remoteAddress: n?.remoteAddress, [l]: r || D }; }, res: function (D) { return { statusCode: D.headersSent ? D.statusCode : null, headers: D.getHeaders(), [l]: D }; }, err: I }; function V({ target: D = process.stdout, dateKey: u = 'time', errorKey: F = 'err', messageKey: e = 'msg', serializers: C = J, levelValueKey: E = 'level' } = {}) { let r = 'writable' in D ? D.write.bind(D) : D; return function ({ msg: D, error: n, meta: o, level: B, name: i, date: a, __: { levels: l } }) { let s = Object.assign( { [E]: l[B], [u]: a.getTime(), [F]: n && I(n), [e]: D }, i && { name: i }, Z(o, C) ); r(t.serializeJSON(s) + '\n'); }; } function K({ log: D = console.log, logError: u = console.error, colors: e = C.colors, displayMs: E = !1, serializers: r = J, displayTime: o = !0, displayLevel: B = !0, prettyErrors: i = !0, levelColors: a = DF, levelBadges: l = Du } = {}) { let s = (D, u) => (D && F.hasOwn(D, u) ? D[u] : null), A = l ? Math.max(...F.values(l).map(D => String(D).length)) : 0, c = { colors: e, ...(F.isObject(i) ? i : {}) }; return function (C) { let { name: g, date: f, msg: d, meta: m, error: p, level: h, __: { levels: b, originalLevel: y } } = C, x = i ? null : p?.name, $ = i && d === p?.message ? null : d, v = X(b), w = (x ?? y.toLowerCase()).padEnd(1), T = s(l, y), O = s(a, y) ?? s(a, h), S = O ? e[O] : F.identity, M = n(m, ['pid', 'hostname']), j = Q([T?.padEnd(A), w]), k = Q([g && e.gray(`[${g.split(':').join(DD)}]`), B && S(j.padEnd(v + A))]), _ = !F.isEmpty(F.keys(M)), L = E ? DC : DE, N = Q([o && e.gray(L.format(f)), k, $, _ && t.serializeJSON(Z(M, r), 2)]); if (p) { let [D, ...F] = p.stack?.toString().split('\n') ?? []; if (i) { let D = p instanceof Error ? '\n' : ''; $ || _ ? u(N, '\n', U(p, c), D) : u(N, U(p, c), D); } else u(N, e.gray(F.map(D => D.replace(/^/, '\n')).join(''))); } else D(N); }; } const Q = D => D.filter(Boolean).join(' '), X = (function (D, { cache: u = new Map() } = {}) { return F => (u.has(F) || u.set(F, D(F)), u.get(F)); })(D => Math.max(...Object.keys(D).map(D => D.length)), { cache: new WeakMap() }), DD = ` ${S.pointerSmall} `, Du = { info: '', done: '', warn: '', error: '', debug: '' }, DF = { info: 'cyanBright', warn: 'yellowBright', done: 'greenBright', debug: 'blueBright', error: 'red', verbose: 'bold' }; (K.defaultBadges = Du), (K.defaultColors = DF); const De = { hour: 'numeric', minute: 'numeric', second: 'numeric', hour12: !1 }, DC = new Intl.DateTimeFormat('en-US', { ...De, fractionalSecondDigits: 3 }), DE = new Intl.DateTimeFormat('en-US', { ...De }), Dt = { pid: process.pid, hostname: D.hostname() }, Dr = u.createLoggerFactory({ defaultParams: { ...u.DEFAULT_LOGGER_PARAMS, meta: Dt, target: 'production' === process.env.NODE_ENV ? V() : K() }, formatMessage: t.printf, readArguments: F.readArguments }), Dn = F.createLoggerAutoFactory(Dr); (exports.HTTP_LOG_START_TIME_SYMBOL = a), (exports.NODE_LOGGER_SYSTEM_INFO = Dt), (exports.createAutoLogger = Dn), (exports.createLogger = Dr), (exports.createRequestIdGenerator = () => { let D = 0; return function () { return (D = D >= 2147483647 ? 0 : D + 1); }; }), (exports.file = function (D, u) { return V({ target: e.createWriteStream(D), ...u }); }), (exports.formatIncomingMessage = (D, u, F = ' ') => `${u.bold(D.method?.toUpperCase() ?? 'GET')}${F}${u.underline(u.gray(B(i(D).split('?')?.shift() ?? '', 50)))}`), (exports.formatOutgoingMessageStatus = D => { if (!D.headersSent) return 'unknown status'; let { statusCode: u, statusMessage: F } = D; return `${u} ${F}`; }), (exports.formatResponseTime = D => { let u = D >= 100; return (u ? D / 1e3 : D) .toLocaleString('en', { style: 'unit', unit: u ? 'second' : 'millisecond', unitDisplay: 'narrow', maximumFractionDigits: 1 }) .padEnd(4); }), (exports.json = V), (exports.pretty = K), (exports.printCodeFrame = _), (exports.printPrettyError = U); //# sourceMappingURL=index-7E2-tFgQ.cjs.map