@kubb/core 3.0.0-alpha.0 → 3.0.0-alpha.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/dist/FileManager-BbUCeEyv.d.cts +469 -0
  2. package/dist/FileManager-CpuFz6eH.d.ts +469 -0
  3. package/dist/chunk-2EU7DMPM.js +97 -0
  4. package/dist/chunk-2EU7DMPM.js.map +1 -0
  5. package/dist/chunk-5E2I6KH4.cjs +1071 -0
  6. package/dist/chunk-5E2I6KH4.cjs.map +1 -0
  7. package/dist/{chunk-XRC6KXC3.cjs → chunk-A6PCLWEY.cjs} +5 -5
  8. package/dist/{chunk-XRC6KXC3.cjs.map → chunk-A6PCLWEY.cjs.map} +1 -1
  9. package/dist/chunk-DID47EQD.cjs +102 -0
  10. package/dist/chunk-DID47EQD.cjs.map +1 -0
  11. package/dist/chunk-HBQM723K.js +1063 -0
  12. package/dist/chunk-HBQM723K.js.map +1 -0
  13. package/dist/chunk-L6YLVCKM.js +929 -0
  14. package/dist/chunk-L6YLVCKM.js.map +1 -0
  15. package/dist/{chunk-XRUOSVKX.cjs → chunk-M7NLNCSM.cjs} +71 -38
  16. package/dist/chunk-M7NLNCSM.cjs.map +1 -0
  17. package/dist/{chunk-3OXCZ5DJ.js → chunk-MU3CBCQT.js} +59 -35
  18. package/dist/chunk-MU3CBCQT.js.map +1 -0
  19. package/dist/chunk-NB4JMN75.cjs +1548 -0
  20. package/dist/chunk-NB4JMN75.cjs.map +1 -0
  21. package/dist/chunk-SEH6NUCX.cjs +42 -0
  22. package/dist/chunk-SEH6NUCX.cjs.map +1 -0
  23. package/dist/index.cjs +496 -552
  24. package/dist/index.cjs.map +1 -1
  25. package/dist/index.d.cts +9 -477
  26. package/dist/index.d.ts +9 -477
  27. package/dist/index.js +438 -492
  28. package/dist/index.js.map +1 -1
  29. package/dist/{logger-DChjnJMn.d.cts → logger-DvbHXjIO.d.cts} +29 -19
  30. package/dist/{logger-DChjnJMn.d.ts → logger-DvbHXjIO.d.ts} +29 -19
  31. package/dist/logger.cjs +4 -5
  32. package/dist/logger.cjs.map +1 -1
  33. package/dist/logger.d.cts +1 -2
  34. package/dist/logger.d.ts +1 -2
  35. package/dist/logger.js +2 -4
  36. package/dist/mocks.cjs +25 -19
  37. package/dist/mocks.cjs.map +1 -1
  38. package/dist/mocks.d.cts +6 -9
  39. package/dist/mocks.d.ts +6 -9
  40. package/dist/mocks.js +21 -16
  41. package/dist/mocks.js.map +1 -1
  42. package/dist/prompt-DVQN7JTN.cjs +760 -0
  43. package/dist/prompt-DVQN7JTN.cjs.map +1 -0
  44. package/dist/prompt-WQQUN22Z.js +754 -0
  45. package/dist/prompt-WQQUN22Z.js.map +1 -0
  46. package/dist/transformers.cjs +198 -42
  47. package/dist/transformers.cjs.map +1 -1
  48. package/dist/transformers.d.cts +1 -3
  49. package/dist/transformers.d.ts +1 -3
  50. package/dist/transformers.js +155 -14
  51. package/dist/transformers.js.map +1 -1
  52. package/dist/utils.cjs +12 -4
  53. package/dist/utils.cjs.map +1 -1
  54. package/dist/utils.d.cts +31 -3
  55. package/dist/utils.d.ts +31 -3
  56. package/dist/utils.js +11 -4
  57. package/package.json +11 -14
  58. package/src/BarrelManager.ts +93 -107
  59. package/src/{Generator.ts → BaseGenerator.ts} +1 -1
  60. package/src/FileManager.ts +198 -297
  61. package/src/PackageManager.ts +1 -1
  62. package/src/PluginManager.ts +152 -101
  63. package/src/__snapshots__/barrel.json +91 -0
  64. package/src/__snapshots__/grouped.json +114 -0
  65. package/src/__snapshots__/ordered.json +62 -0
  66. package/src/build.ts +86 -171
  67. package/src/errors.ts +0 -11
  68. package/src/index.ts +1 -5
  69. package/src/logger.ts +76 -34
  70. package/src/plugin.ts +3 -3
  71. package/src/transformers/index.ts +2 -3
  72. package/src/transformers/trim.ts +0 -4
  73. package/src/types.ts +35 -40
  74. package/src/utils/TreeNode.ts +132 -50
  75. package/src/utils/executeStrategies.ts +1 -1
  76. package/src/utils/index.ts +2 -1
  77. package/src/utils/parser.ts +157 -0
  78. package/dist/chunk-3OXCZ5DJ.js.map +0 -1
  79. package/dist/chunk-5JZNFPUP.js +0 -309
  80. package/dist/chunk-5JZNFPUP.js.map +0 -1
  81. package/dist/chunk-DKW7IBJV.cjs +0 -299
  82. package/dist/chunk-DKW7IBJV.cjs.map +0 -1
  83. package/dist/chunk-HMLY7DHA.js +0 -16
  84. package/dist/chunk-HMLY7DHA.js.map +0 -1
  85. package/dist/chunk-JKZG2IJR.js +0 -283
  86. package/dist/chunk-JKZG2IJR.js.map +0 -1
  87. package/dist/chunk-LKXUCYWU.cjs +0 -66
  88. package/dist/chunk-LKXUCYWU.cjs.map +0 -1
  89. package/dist/chunk-OPOT6TCT.cjs +0 -320
  90. package/dist/chunk-OPOT6TCT.cjs.map +0 -1
  91. package/dist/chunk-SA2GZKXS.js +0 -596
  92. package/dist/chunk-SA2GZKXS.js.map +0 -1
  93. package/dist/chunk-XRUOSVKX.cjs.map +0 -1
  94. package/dist/chunk-Y3LLJA4H.cjs +0 -1227
  95. package/dist/chunk-Y3LLJA4H.cjs.map +0 -1
  96. package/globals.d.ts +0 -49
  97. package/schema.json +0 -86
  98. package/src/kubb.ts +0 -11
  99. package/src/utils/getParser.ts +0 -17
@@ -0,0 +1,1063 @@
1
+ // ../../node_modules/.pnpm/consola@3.2.3/node_modules/consola/dist/core.mjs
2
+ var LogLevels = {
3
+ silent: Number.NEGATIVE_INFINITY,
4
+ fatal: 0,
5
+ error: 0,
6
+ warn: 1,
7
+ log: 2,
8
+ info: 3,
9
+ success: 3,
10
+ fail: 3,
11
+ ready: 3,
12
+ start: 3,
13
+ box: 3,
14
+ debug: 4,
15
+ trace: 5,
16
+ verbose: Number.POSITIVE_INFINITY
17
+ };
18
+ var LogTypes = {
19
+ // Silent
20
+ silent: {
21
+ level: -1
22
+ },
23
+ // Level 0
24
+ fatal: {
25
+ level: LogLevels.fatal
26
+ },
27
+ error: {
28
+ level: LogLevels.error
29
+ },
30
+ // Level 1
31
+ warn: {
32
+ level: LogLevels.warn
33
+ },
34
+ // Level 2
35
+ log: {
36
+ level: LogLevels.log
37
+ },
38
+ // Level 3
39
+ info: {
40
+ level: LogLevels.info
41
+ },
42
+ success: {
43
+ level: LogLevels.success
44
+ },
45
+ fail: {
46
+ level: LogLevels.fail
47
+ },
48
+ ready: {
49
+ level: LogLevels.info
50
+ },
51
+ start: {
52
+ level: LogLevels.info
53
+ },
54
+ box: {
55
+ level: LogLevels.info
56
+ },
57
+ // Level 4
58
+ debug: {
59
+ level: LogLevels.debug
60
+ },
61
+ // Level 5
62
+ trace: {
63
+ level: LogLevels.trace
64
+ },
65
+ // Verbose
66
+ verbose: {
67
+ level: LogLevels.verbose
68
+ }
69
+ };
70
+ function isObject(value) {
71
+ return value !== null && typeof value === "object";
72
+ }
73
+ function _defu(baseObject, defaults, namespace = ".", merger) {
74
+ if (!isObject(defaults)) {
75
+ return _defu(baseObject, {}, namespace, merger);
76
+ }
77
+ const object = Object.assign({}, defaults);
78
+ for (const key in baseObject) {
79
+ if (key === "__proto__" || key === "constructor") {
80
+ continue;
81
+ }
82
+ const value = baseObject[key];
83
+ if (value === null || value === void 0) {
84
+ continue;
85
+ }
86
+ if (merger && merger(object, key, value, namespace)) {
87
+ continue;
88
+ }
89
+ if (Array.isArray(value) && Array.isArray(object[key])) {
90
+ object[key] = [...value, ...object[key]];
91
+ } else if (isObject(value) && isObject(object[key])) {
92
+ object[key] = _defu(
93
+ value,
94
+ object[key],
95
+ (namespace ? `${namespace}.` : "") + key.toString(),
96
+ merger
97
+ );
98
+ } else {
99
+ object[key] = value;
100
+ }
101
+ }
102
+ return object;
103
+ }
104
+ function createDefu(merger) {
105
+ return (...arguments_) => (
106
+ // eslint-disable-next-line unicorn/no-array-reduce
107
+ arguments_.reduce((p, c) => _defu(p, c, "", merger), {})
108
+ );
109
+ }
110
+ var defu = createDefu();
111
+ function isPlainObject(obj) {
112
+ return Object.prototype.toString.call(obj) === "[object Object]";
113
+ }
114
+ function isLogObj(arg) {
115
+ if (!isPlainObject(arg)) {
116
+ return false;
117
+ }
118
+ if (!arg.message && !arg.args) {
119
+ return false;
120
+ }
121
+ if (arg.stack) {
122
+ return false;
123
+ }
124
+ return true;
125
+ }
126
+ var paused = false;
127
+ var queue = [];
128
+ var Consola = class _Consola {
129
+ constructor(options = {}) {
130
+ const types = options.types || LogTypes;
131
+ this.options = defu(
132
+ {
133
+ ...options,
134
+ defaults: { ...options.defaults },
135
+ level: _normalizeLogLevel(options.level, types),
136
+ reporters: [...options.reporters || []]
137
+ },
138
+ {
139
+ types: LogTypes,
140
+ throttle: 1e3,
141
+ throttleMin: 5,
142
+ formatOptions: {
143
+ date: true,
144
+ colors: false,
145
+ compact: true
146
+ }
147
+ }
148
+ );
149
+ for (const type in types) {
150
+ const defaults = {
151
+ type,
152
+ ...this.options.defaults,
153
+ ...types[type]
154
+ };
155
+ this[type] = this._wrapLogFn(defaults);
156
+ this[type].raw = this._wrapLogFn(
157
+ defaults,
158
+ true
159
+ );
160
+ }
161
+ if (this.options.mockFn) {
162
+ this.mockTypes();
163
+ }
164
+ this._lastLog = {};
165
+ }
166
+ get level() {
167
+ return this.options.level;
168
+ }
169
+ set level(level) {
170
+ this.options.level = _normalizeLogLevel(
171
+ level,
172
+ this.options.types,
173
+ this.options.level
174
+ );
175
+ }
176
+ prompt(message, opts) {
177
+ if (!this.options.prompt) {
178
+ throw new Error("prompt is not supported!");
179
+ }
180
+ return this.options.prompt(message, opts);
181
+ }
182
+ create(options) {
183
+ const instance = new _Consola({
184
+ ...this.options,
185
+ ...options
186
+ });
187
+ if (this._mockFn) {
188
+ instance.mockTypes(this._mockFn);
189
+ }
190
+ return instance;
191
+ }
192
+ withDefaults(defaults) {
193
+ return this.create({
194
+ ...this.options,
195
+ defaults: {
196
+ ...this.options.defaults,
197
+ ...defaults
198
+ }
199
+ });
200
+ }
201
+ withTag(tag) {
202
+ return this.withDefaults({
203
+ tag: this.options.defaults.tag ? this.options.defaults.tag + ":" + tag : tag
204
+ });
205
+ }
206
+ addReporter(reporter) {
207
+ this.options.reporters.push(reporter);
208
+ return this;
209
+ }
210
+ removeReporter(reporter) {
211
+ if (reporter) {
212
+ const i = this.options.reporters.indexOf(reporter);
213
+ if (i >= 0) {
214
+ return this.options.reporters.splice(i, 1);
215
+ }
216
+ } else {
217
+ this.options.reporters.splice(0);
218
+ }
219
+ return this;
220
+ }
221
+ setReporters(reporters) {
222
+ this.options.reporters = Array.isArray(reporters) ? reporters : [reporters];
223
+ return this;
224
+ }
225
+ wrapAll() {
226
+ this.wrapConsole();
227
+ this.wrapStd();
228
+ }
229
+ restoreAll() {
230
+ this.restoreConsole();
231
+ this.restoreStd();
232
+ }
233
+ wrapConsole() {
234
+ for (const type in this.options.types) {
235
+ if (!console["__" + type]) {
236
+ console["__" + type] = console[type];
237
+ }
238
+ console[type] = this[type].raw;
239
+ }
240
+ }
241
+ restoreConsole() {
242
+ for (const type in this.options.types) {
243
+ if (console["__" + type]) {
244
+ console[type] = console["__" + type];
245
+ delete console["__" + type];
246
+ }
247
+ }
248
+ }
249
+ wrapStd() {
250
+ this._wrapStream(this.options.stdout, "log");
251
+ this._wrapStream(this.options.stderr, "log");
252
+ }
253
+ _wrapStream(stream, type) {
254
+ if (!stream) {
255
+ return;
256
+ }
257
+ if (!stream.__write) {
258
+ stream.__write = stream.write;
259
+ }
260
+ stream.write = (data) => {
261
+ this[type].raw(String(data).trim());
262
+ };
263
+ }
264
+ restoreStd() {
265
+ this._restoreStream(this.options.stdout);
266
+ this._restoreStream(this.options.stderr);
267
+ }
268
+ _restoreStream(stream) {
269
+ if (!stream) {
270
+ return;
271
+ }
272
+ if (stream.__write) {
273
+ stream.write = stream.__write;
274
+ delete stream.__write;
275
+ }
276
+ }
277
+ pauseLogs() {
278
+ paused = true;
279
+ }
280
+ resumeLogs() {
281
+ paused = false;
282
+ const _queue = queue.splice(0);
283
+ for (const item of _queue) {
284
+ item[0]._logFn(item[1], item[2]);
285
+ }
286
+ }
287
+ mockTypes(mockFn) {
288
+ const _mockFn = mockFn || this.options.mockFn;
289
+ this._mockFn = _mockFn;
290
+ if (typeof _mockFn !== "function") {
291
+ return;
292
+ }
293
+ for (const type in this.options.types) {
294
+ this[type] = _mockFn(type, this.options.types[type]) || this[type];
295
+ this[type].raw = this[type];
296
+ }
297
+ }
298
+ _wrapLogFn(defaults, isRaw) {
299
+ return (...args) => {
300
+ if (paused) {
301
+ queue.push([this, defaults, args, isRaw]);
302
+ return;
303
+ }
304
+ return this._logFn(defaults, args, isRaw);
305
+ };
306
+ }
307
+ _logFn(defaults, args, isRaw) {
308
+ if ((defaults.level || 0) > this.level) {
309
+ return false;
310
+ }
311
+ const logObj = {
312
+ date: /* @__PURE__ */ new Date(),
313
+ args: [],
314
+ ...defaults,
315
+ level: _normalizeLogLevel(defaults.level, this.options.types)
316
+ };
317
+ if (!isRaw && args.length === 1 && isLogObj(args[0])) {
318
+ Object.assign(logObj, args[0]);
319
+ } else {
320
+ logObj.args = [...args];
321
+ }
322
+ if (logObj.message) {
323
+ logObj.args.unshift(logObj.message);
324
+ delete logObj.message;
325
+ }
326
+ if (logObj.additional) {
327
+ if (!Array.isArray(logObj.additional)) {
328
+ logObj.additional = logObj.additional.split("\n");
329
+ }
330
+ logObj.args.push("\n" + logObj.additional.join("\n"));
331
+ delete logObj.additional;
332
+ }
333
+ logObj.type = typeof logObj.type === "string" ? logObj.type.toLowerCase() : "log";
334
+ logObj.tag = typeof logObj.tag === "string" ? logObj.tag : "";
335
+ const resolveLog = (newLog = false) => {
336
+ const repeated = (this._lastLog.count || 0) - this.options.throttleMin;
337
+ if (this._lastLog.object && repeated > 0) {
338
+ const args2 = [...this._lastLog.object.args];
339
+ if (repeated > 1) {
340
+ args2.push(`(repeated ${repeated} times)`);
341
+ }
342
+ this._log({ ...this._lastLog.object, args: args2 });
343
+ this._lastLog.count = 1;
344
+ }
345
+ if (newLog) {
346
+ this._lastLog.object = logObj;
347
+ this._log(logObj);
348
+ }
349
+ };
350
+ clearTimeout(this._lastLog.timeout);
351
+ const diffTime = this._lastLog.time && logObj.date ? logObj.date.getTime() - this._lastLog.time.getTime() : 0;
352
+ this._lastLog.time = logObj.date;
353
+ if (diffTime < this.options.throttle) {
354
+ try {
355
+ const serializedLog = JSON.stringify([
356
+ logObj.type,
357
+ logObj.tag,
358
+ logObj.args
359
+ ]);
360
+ const isSameLog = this._lastLog.serialized === serializedLog;
361
+ this._lastLog.serialized = serializedLog;
362
+ if (isSameLog) {
363
+ this._lastLog.count = (this._lastLog.count || 0) + 1;
364
+ if (this._lastLog.count > this.options.throttleMin) {
365
+ this._lastLog.timeout = setTimeout(
366
+ resolveLog,
367
+ this.options.throttle
368
+ );
369
+ return;
370
+ }
371
+ }
372
+ } catch {
373
+ }
374
+ }
375
+ resolveLog(true);
376
+ }
377
+ _log(logObj) {
378
+ for (const reporter of this.options.reporters) {
379
+ reporter.log(logObj, {
380
+ options: this.options
381
+ });
382
+ }
383
+ }
384
+ };
385
+ function _normalizeLogLevel(input, types = {}, defaultLevel = 3) {
386
+ if (input === void 0) {
387
+ return defaultLevel;
388
+ }
389
+ if (typeof input === "number") {
390
+ return input;
391
+ }
392
+ if (types[input] && types[input].level !== void 0) {
393
+ return types[input].level;
394
+ }
395
+ return defaultLevel;
396
+ }
397
+ Consola.prototype.add = Consola.prototype.addReporter;
398
+ Consola.prototype.remove = Consola.prototype.removeReporter;
399
+ Consola.prototype.clear = Consola.prototype.removeReporter;
400
+ Consola.prototype.withScope = Consola.prototype.withTag;
401
+ Consola.prototype.mock = Consola.prototype.mockTypes;
402
+ Consola.prototype.pause = Consola.prototype.pauseLogs;
403
+ Consola.prototype.resume = Consola.prototype.resumeLogs;
404
+ function createConsola(options = {}) {
405
+ return new Consola(options);
406
+ }
407
+
408
+ // ../../node_modules/.pnpm/consola@3.2.3/node_modules/consola/dist/shared/consola.06ad8a64.mjs
409
+ import { formatWithOptions } from "node:util";
410
+ import { sep } from "node:path";
411
+ function parseStack(stack) {
412
+ const cwd = process.cwd() + sep;
413
+ const lines = stack.split("\n").splice(1).map((l) => l.trim().replace("file://", "").replace(cwd, ""));
414
+ return lines;
415
+ }
416
+ function writeStream(data, stream) {
417
+ const write = stream.__write || stream.write;
418
+ return write.call(stream, data);
419
+ }
420
+ var bracket = (x) => x ? `[${x}]` : "";
421
+ var BasicReporter = class {
422
+ formatStack(stack, opts) {
423
+ return " " + parseStack(stack).join("\n ");
424
+ }
425
+ formatArgs(args, opts) {
426
+ const _args = args.map((arg) => {
427
+ if (arg && typeof arg.stack === "string") {
428
+ return arg.message + "\n" + this.formatStack(arg.stack, opts);
429
+ }
430
+ return arg;
431
+ });
432
+ return formatWithOptions(opts, ..._args);
433
+ }
434
+ formatDate(date, opts) {
435
+ return opts.date ? date.toLocaleTimeString() : "";
436
+ }
437
+ filterAndJoin(arr) {
438
+ return arr.filter(Boolean).join(" ");
439
+ }
440
+ formatLogObj(logObj, opts) {
441
+ const message = this.formatArgs(logObj.args, opts);
442
+ if (logObj.type === "box") {
443
+ return "\n" + [
444
+ bracket(logObj.tag),
445
+ logObj.title && logObj.title,
446
+ ...message.split("\n")
447
+ ].filter(Boolean).map((l) => " > " + l).join("\n") + "\n";
448
+ }
449
+ return this.filterAndJoin([
450
+ bracket(logObj.type),
451
+ bracket(logObj.tag),
452
+ message
453
+ ]);
454
+ }
455
+ log(logObj, ctx) {
456
+ const line = this.formatLogObj(logObj, {
457
+ columns: ctx.options.stdout.columns || 0,
458
+ ...ctx.options.formatOptions
459
+ });
460
+ return writeStream(
461
+ line + "\n",
462
+ logObj.level < 2 ? ctx.options.stderr || process.stderr : ctx.options.stdout || process.stdout
463
+ );
464
+ }
465
+ };
466
+
467
+ // ../../node_modules/.pnpm/consola@3.2.3/node_modules/consola/dist/utils.mjs
468
+ import * as tty from "node:tty";
469
+ var {
470
+ env = {},
471
+ argv = [],
472
+ platform = ""
473
+ } = typeof process === "undefined" ? {} : process;
474
+ var isDisabled = "NO_COLOR" in env || argv.includes("--no-color");
475
+ var isForced = "FORCE_COLOR" in env || argv.includes("--color");
476
+ var isWindows = platform === "win32";
477
+ var isDumbTerminal = env.TERM === "dumb";
478
+ var isCompatibleTerminal = tty && tty.isatty && tty.isatty(1) && env.TERM && !isDumbTerminal;
479
+ var isCI = "CI" in env && ("GITHUB_ACTIONS" in env || "GITLAB_CI" in env || "CIRCLECI" in env);
480
+ var isColorSupported = !isDisabled && (isForced || isWindows && !isDumbTerminal || isCompatibleTerminal || isCI);
481
+ function replaceClose(index, string, close, replace, head = string.slice(0, Math.max(0, index)) + replace, tail = string.slice(Math.max(0, index + close.length)), next = tail.indexOf(close)) {
482
+ return head + (next < 0 ? tail : replaceClose(next, tail, close, replace));
483
+ }
484
+ function clearBleed(index, string, open, close, replace) {
485
+ return index < 0 ? open + string + close : open + replaceClose(index, string, close, replace) + close;
486
+ }
487
+ function filterEmpty(open, close, replace = open, at = open.length + 1) {
488
+ return (string) => string || !(string === "" || string === void 0) ? clearBleed(
489
+ ("" + string).indexOf(close, at),
490
+ string,
491
+ open,
492
+ close,
493
+ replace
494
+ ) : "";
495
+ }
496
+ function init(open, close, replace) {
497
+ return filterEmpty(`\x1B[${open}m`, `\x1B[${close}m`, replace);
498
+ }
499
+ var colorDefs = {
500
+ reset: init(0, 0),
501
+ bold: init(1, 22, "\x1B[22m\x1B[1m"),
502
+ dim: init(2, 22, "\x1B[22m\x1B[2m"),
503
+ italic: init(3, 23),
504
+ underline: init(4, 24),
505
+ inverse: init(7, 27),
506
+ hidden: init(8, 28),
507
+ strikethrough: init(9, 29),
508
+ black: init(30, 39),
509
+ red: init(31, 39),
510
+ green: init(32, 39),
511
+ yellow: init(33, 39),
512
+ blue: init(34, 39),
513
+ magenta: init(35, 39),
514
+ cyan: init(36, 39),
515
+ white: init(37, 39),
516
+ gray: init(90, 39),
517
+ bgBlack: init(40, 49),
518
+ bgRed: init(41, 49),
519
+ bgGreen: init(42, 49),
520
+ bgYellow: init(43, 49),
521
+ bgBlue: init(44, 49),
522
+ bgMagenta: init(45, 49),
523
+ bgCyan: init(46, 49),
524
+ bgWhite: init(47, 49),
525
+ blackBright: init(90, 39),
526
+ redBright: init(91, 39),
527
+ greenBright: init(92, 39),
528
+ yellowBright: init(93, 39),
529
+ blueBright: init(94, 39),
530
+ magentaBright: init(95, 39),
531
+ cyanBright: init(96, 39),
532
+ whiteBright: init(97, 39),
533
+ bgBlackBright: init(100, 49),
534
+ bgRedBright: init(101, 49),
535
+ bgGreenBright: init(102, 49),
536
+ bgYellowBright: init(103, 49),
537
+ bgBlueBright: init(104, 49),
538
+ bgMagentaBright: init(105, 49),
539
+ bgCyanBright: init(106, 49),
540
+ bgWhiteBright: init(107, 49)
541
+ };
542
+ function createColors(useColor = isColorSupported) {
543
+ return useColor ? colorDefs : Object.fromEntries(Object.keys(colorDefs).map((key) => [key, String]));
544
+ }
545
+ var colors = createColors();
546
+ function getColor(color, fallback = "reset") {
547
+ return colors[color] || colors[fallback];
548
+ }
549
+ var ansiRegex = [
550
+ "[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)",
551
+ "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"
552
+ ].join("|");
553
+ function stripAnsi(text) {
554
+ return text.replace(new RegExp(ansiRegex, "g"), "");
555
+ }
556
+ var boxStylePresets = {
557
+ solid: {
558
+ tl: "\u250C",
559
+ tr: "\u2510",
560
+ bl: "\u2514",
561
+ br: "\u2518",
562
+ h: "\u2500",
563
+ v: "\u2502"
564
+ },
565
+ double: {
566
+ tl: "\u2554",
567
+ tr: "\u2557",
568
+ bl: "\u255A",
569
+ br: "\u255D",
570
+ h: "\u2550",
571
+ v: "\u2551"
572
+ },
573
+ doubleSingle: {
574
+ tl: "\u2553",
575
+ tr: "\u2556",
576
+ bl: "\u2559",
577
+ br: "\u255C",
578
+ h: "\u2500",
579
+ v: "\u2551"
580
+ },
581
+ doubleSingleRounded: {
582
+ tl: "\u256D",
583
+ tr: "\u256E",
584
+ bl: "\u2570",
585
+ br: "\u256F",
586
+ h: "\u2500",
587
+ v: "\u2551"
588
+ },
589
+ singleThick: {
590
+ tl: "\u250F",
591
+ tr: "\u2513",
592
+ bl: "\u2517",
593
+ br: "\u251B",
594
+ h: "\u2501",
595
+ v: "\u2503"
596
+ },
597
+ singleDouble: {
598
+ tl: "\u2552",
599
+ tr: "\u2555",
600
+ bl: "\u2558",
601
+ br: "\u255B",
602
+ h: "\u2550",
603
+ v: "\u2502"
604
+ },
605
+ singleDoubleRounded: {
606
+ tl: "\u256D",
607
+ tr: "\u256E",
608
+ bl: "\u2570",
609
+ br: "\u256F",
610
+ h: "\u2550",
611
+ v: "\u2502"
612
+ },
613
+ rounded: {
614
+ tl: "\u256D",
615
+ tr: "\u256E",
616
+ bl: "\u2570",
617
+ br: "\u256F",
618
+ h: "\u2500",
619
+ v: "\u2502"
620
+ }
621
+ };
622
+ var defaultStyle = {
623
+ borderColor: "white",
624
+ borderStyle: "rounded",
625
+ valign: "center",
626
+ padding: 2,
627
+ marginLeft: 1,
628
+ marginTop: 1,
629
+ marginBottom: 1
630
+ };
631
+ function box(text, _opts = {}) {
632
+ const opts = {
633
+ ..._opts,
634
+ style: {
635
+ ...defaultStyle,
636
+ ..._opts.style
637
+ }
638
+ };
639
+ const textLines = text.split("\n");
640
+ const boxLines = [];
641
+ const _color = getColor(opts.style.borderColor);
642
+ const borderStyle = {
643
+ ...typeof opts.style.borderStyle === "string" ? boxStylePresets[opts.style.borderStyle] || boxStylePresets.solid : opts.style.borderStyle
644
+ };
645
+ if (_color) {
646
+ for (const key in borderStyle) {
647
+ borderStyle[key] = _color(
648
+ borderStyle[key]
649
+ );
650
+ }
651
+ }
652
+ const paddingOffset = opts.style.padding % 2 === 0 ? opts.style.padding : opts.style.padding + 1;
653
+ const height = textLines.length + paddingOffset;
654
+ const width = Math.max(...textLines.map((line) => line.length)) + paddingOffset;
655
+ const widthOffset = width + paddingOffset;
656
+ const leftSpace = opts.style.marginLeft > 0 ? " ".repeat(opts.style.marginLeft) : "";
657
+ if (opts.style.marginTop > 0) {
658
+ boxLines.push("".repeat(opts.style.marginTop));
659
+ }
660
+ if (opts.title) {
661
+ const left = borderStyle.h.repeat(
662
+ Math.floor((width - stripAnsi(opts.title).length) / 2)
663
+ );
664
+ const right = borderStyle.h.repeat(
665
+ width - stripAnsi(opts.title).length - stripAnsi(left).length + paddingOffset
666
+ );
667
+ boxLines.push(
668
+ `${leftSpace}${borderStyle.tl}${left}${opts.title}${right}${borderStyle.tr}`
669
+ );
670
+ } else {
671
+ boxLines.push(
672
+ `${leftSpace}${borderStyle.tl}${borderStyle.h.repeat(widthOffset)}${borderStyle.tr}`
673
+ );
674
+ }
675
+ const valignOffset = opts.style.valign === "center" ? Math.floor((height - textLines.length) / 2) : opts.style.valign === "top" ? height - textLines.length - paddingOffset : height - textLines.length;
676
+ for (let i = 0; i < height; i++) {
677
+ if (i < valignOffset || i >= valignOffset + textLines.length) {
678
+ boxLines.push(
679
+ `${leftSpace}${borderStyle.v}${" ".repeat(widthOffset)}${borderStyle.v}`
680
+ );
681
+ } else {
682
+ const line = textLines[i - valignOffset];
683
+ const left = " ".repeat(paddingOffset);
684
+ const right = " ".repeat(width - stripAnsi(line).length);
685
+ boxLines.push(
686
+ `${leftSpace}${borderStyle.v}${left}${line}${right}${borderStyle.v}`
687
+ );
688
+ }
689
+ }
690
+ boxLines.push(
691
+ `${leftSpace}${borderStyle.bl}${borderStyle.h.repeat(widthOffset)}${borderStyle.br}`
692
+ );
693
+ if (opts.style.marginBottom > 0) {
694
+ boxLines.push("".repeat(opts.style.marginBottom));
695
+ }
696
+ return boxLines.join("\n");
697
+ }
698
+
699
+ // ../../node_modules/.pnpm/consola@3.2.3/node_modules/consola/dist/shared/consola.36c0034f.mjs
700
+ import process$1 from "node:process";
701
+ var providers = [
702
+ ["APPVEYOR"],
703
+ ["AZURE_PIPELINES", "SYSTEM_TEAMFOUNDATIONCOLLECTIONURI"],
704
+ ["AZURE_STATIC", "INPUT_AZURE_STATIC_WEB_APPS_API_TOKEN"],
705
+ ["APPCIRCLE", "AC_APPCIRCLE"],
706
+ ["BAMBOO", "bamboo_planKey"],
707
+ ["BITBUCKET", "BITBUCKET_COMMIT"],
708
+ ["BITRISE", "BITRISE_IO"],
709
+ ["BUDDY", "BUDDY_WORKSPACE_ID"],
710
+ ["BUILDKITE"],
711
+ ["CIRCLE", "CIRCLECI"],
712
+ ["CIRRUS", "CIRRUS_CI"],
713
+ ["CLOUDFLARE_PAGES", "CF_PAGES", { ci: true }],
714
+ ["CODEBUILD", "CODEBUILD_BUILD_ARN"],
715
+ ["CODEFRESH", "CF_BUILD_ID"],
716
+ ["DRONE"],
717
+ ["DRONE", "DRONE_BUILD_EVENT"],
718
+ ["DSARI"],
719
+ ["GITHUB_ACTIONS"],
720
+ ["GITLAB", "GITLAB_CI"],
721
+ ["GITLAB", "CI_MERGE_REQUEST_ID"],
722
+ ["GOCD", "GO_PIPELINE_LABEL"],
723
+ ["LAYERCI"],
724
+ ["HUDSON", "HUDSON_URL"],
725
+ ["JENKINS", "JENKINS_URL"],
726
+ ["MAGNUM"],
727
+ ["NETLIFY"],
728
+ ["NETLIFY", "NETLIFY_LOCAL", { ci: false }],
729
+ ["NEVERCODE"],
730
+ ["RENDER"],
731
+ ["SAIL", "SAILCI"],
732
+ ["SEMAPHORE"],
733
+ ["SCREWDRIVER"],
734
+ ["SHIPPABLE"],
735
+ ["SOLANO", "TDDIUM"],
736
+ ["STRIDER"],
737
+ ["TEAMCITY", "TEAMCITY_VERSION"],
738
+ ["TRAVIS"],
739
+ ["VERCEL", "NOW_BUILDER"],
740
+ ["APPCENTER", "APPCENTER_BUILD_ID"],
741
+ ["CODESANDBOX", "CODESANDBOX_SSE", { ci: false }],
742
+ ["STACKBLITZ"],
743
+ ["STORMKIT"],
744
+ ["CLEAVR"]
745
+ ];
746
+ function detectProvider(env2) {
747
+ for (const provider of providers) {
748
+ const envName = provider[1] || provider[0];
749
+ if (env2[envName]) {
750
+ return {
751
+ name: provider[0].toLowerCase(),
752
+ ...provider[2]
753
+ };
754
+ }
755
+ }
756
+ if (env2.SHELL && env2.SHELL === "/bin/jsh") {
757
+ return {
758
+ name: "stackblitz",
759
+ ci: false
760
+ };
761
+ }
762
+ return {
763
+ name: "",
764
+ ci: false
765
+ };
766
+ }
767
+ var processShim = typeof process !== "undefined" ? process : {};
768
+ var envShim = processShim.env || {};
769
+ var providerInfo = detectProvider(envShim);
770
+ var nodeENV = typeof process !== "undefined" && process.env && process.env.NODE_ENV || "";
771
+ processShim.platform;
772
+ providerInfo.name;
773
+ var isCI2 = toBoolean(envShim.CI) || providerInfo.ci !== false;
774
+ var hasTTY = toBoolean(processShim.stdout && processShim.stdout.isTTY);
775
+ var isDebug = toBoolean(envShim.DEBUG);
776
+ var isTest = nodeENV === "test" || toBoolean(envShim.TEST);
777
+ toBoolean(envShim.MINIMAL) || isCI2 || isTest || !hasTTY;
778
+ function toBoolean(val) {
779
+ return val ? val !== "false" : false;
780
+ }
781
+ function ansiRegex2({ onlyFirst = false } = {}) {
782
+ const pattern = [
783
+ "[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)",
784
+ "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"
785
+ ].join("|");
786
+ return new RegExp(pattern, onlyFirst ? void 0 : "g");
787
+ }
788
+ var regex = ansiRegex2();
789
+ function stripAnsi2(string) {
790
+ if (typeof string !== "string") {
791
+ throw new TypeError(`Expected a \`string\`, got \`${typeof string}\``);
792
+ }
793
+ return string.replace(regex, "");
794
+ }
795
+ function getDefaultExportFromCjs(x) {
796
+ return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
797
+ }
798
+ var eastasianwidth = { exports: {} };
799
+ (function(module) {
800
+ var eaw = {};
801
+ {
802
+ module.exports = eaw;
803
+ }
804
+ eaw.eastAsianWidth = function(character) {
805
+ var x = character.charCodeAt(0);
806
+ var y = character.length == 2 ? character.charCodeAt(1) : 0;
807
+ var codePoint = x;
808
+ if (55296 <= x && x <= 56319 && (56320 <= y && y <= 57343)) {
809
+ x &= 1023;
810
+ y &= 1023;
811
+ codePoint = x << 10 | y;
812
+ codePoint += 65536;
813
+ }
814
+ if (12288 == codePoint || 65281 <= codePoint && codePoint <= 65376 || 65504 <= codePoint && codePoint <= 65510) {
815
+ return "F";
816
+ }
817
+ if (8361 == codePoint || 65377 <= codePoint && codePoint <= 65470 || 65474 <= codePoint && codePoint <= 65479 || 65482 <= codePoint && codePoint <= 65487 || 65490 <= codePoint && codePoint <= 65495 || 65498 <= codePoint && codePoint <= 65500 || 65512 <= codePoint && codePoint <= 65518) {
818
+ return "H";
819
+ }
820
+ if (4352 <= codePoint && codePoint <= 4447 || 4515 <= codePoint && codePoint <= 4519 || 4602 <= codePoint && codePoint <= 4607 || 9001 <= codePoint && codePoint <= 9002 || 11904 <= codePoint && codePoint <= 11929 || 11931 <= codePoint && codePoint <= 12019 || 12032 <= codePoint && codePoint <= 12245 || 12272 <= codePoint && codePoint <= 12283 || 12289 <= codePoint && codePoint <= 12350 || 12353 <= codePoint && codePoint <= 12438 || 12441 <= codePoint && codePoint <= 12543 || 12549 <= codePoint && codePoint <= 12589 || 12593 <= codePoint && codePoint <= 12686 || 12688 <= codePoint && codePoint <= 12730 || 12736 <= codePoint && codePoint <= 12771 || 12784 <= codePoint && codePoint <= 12830 || 12832 <= codePoint && codePoint <= 12871 || 12880 <= codePoint && codePoint <= 13054 || 13056 <= codePoint && codePoint <= 19903 || 19968 <= codePoint && codePoint <= 42124 || 42128 <= codePoint && codePoint <= 42182 || 43360 <= codePoint && codePoint <= 43388 || 44032 <= codePoint && codePoint <= 55203 || 55216 <= codePoint && codePoint <= 55238 || 55243 <= codePoint && codePoint <= 55291 || 63744 <= codePoint && codePoint <= 64255 || 65040 <= codePoint && codePoint <= 65049 || 65072 <= codePoint && codePoint <= 65106 || 65108 <= codePoint && codePoint <= 65126 || 65128 <= codePoint && codePoint <= 65131 || 110592 <= codePoint && codePoint <= 110593 || 127488 <= codePoint && codePoint <= 127490 || 127504 <= codePoint && codePoint <= 127546 || 127552 <= codePoint && codePoint <= 127560 || 127568 <= codePoint && codePoint <= 127569 || 131072 <= codePoint && codePoint <= 194367 || 177984 <= codePoint && codePoint <= 196605 || 196608 <= codePoint && codePoint <= 262141) {
821
+ return "W";
822
+ }
823
+ if (32 <= codePoint && codePoint <= 126 || 162 <= codePoint && codePoint <= 163 || 165 <= codePoint && codePoint <= 166 || 172 == codePoint || 175 == codePoint || 10214 <= codePoint && codePoint <= 10221 || 10629 <= codePoint && codePoint <= 10630) {
824
+ return "Na";
825
+ }
826
+ if (161 == codePoint || 164 == codePoint || 167 <= codePoint && codePoint <= 168 || 170 == codePoint || 173 <= codePoint && codePoint <= 174 || 176 <= codePoint && codePoint <= 180 || 182 <= codePoint && codePoint <= 186 || 188 <= codePoint && codePoint <= 191 || 198 == codePoint || 208 == codePoint || 215 <= codePoint && codePoint <= 216 || 222 <= codePoint && codePoint <= 225 || 230 == codePoint || 232 <= codePoint && codePoint <= 234 || 236 <= codePoint && codePoint <= 237 || 240 == codePoint || 242 <= codePoint && codePoint <= 243 || 247 <= codePoint && codePoint <= 250 || 252 == codePoint || 254 == codePoint || 257 == codePoint || 273 == codePoint || 275 == codePoint || 283 == codePoint || 294 <= codePoint && codePoint <= 295 || 299 == codePoint || 305 <= codePoint && codePoint <= 307 || 312 == codePoint || 319 <= codePoint && codePoint <= 322 || 324 == codePoint || 328 <= codePoint && codePoint <= 331 || 333 == codePoint || 338 <= codePoint && codePoint <= 339 || 358 <= codePoint && codePoint <= 359 || 363 == codePoint || 462 == codePoint || 464 == codePoint || 466 == codePoint || 468 == codePoint || 470 == codePoint || 472 == codePoint || 474 == codePoint || 476 == codePoint || 593 == codePoint || 609 == codePoint || 708 == codePoint || 711 == codePoint || 713 <= codePoint && codePoint <= 715 || 717 == codePoint || 720 == codePoint || 728 <= codePoint && codePoint <= 731 || 733 == codePoint || 735 == codePoint || 768 <= codePoint && codePoint <= 879 || 913 <= codePoint && codePoint <= 929 || 931 <= codePoint && codePoint <= 937 || 945 <= codePoint && codePoint <= 961 || 963 <= codePoint && codePoint <= 969 || 1025 == codePoint || 1040 <= codePoint && codePoint <= 1103 || 1105 == codePoint || 8208 == codePoint || 8211 <= codePoint && codePoint <= 8214 || 8216 <= codePoint && codePoint <= 8217 || 8220 <= codePoint && codePoint <= 8221 || 8224 <= codePoint && codePoint <= 8226 || 8228 <= codePoint && codePoint <= 8231 || 8240 == codePoint || 8242 <= codePoint && codePoint <= 8243 || 8245 == codePoint || 8251 == codePoint || 8254 == codePoint || 8308 == codePoint || 8319 == codePoint || 8321 <= codePoint && codePoint <= 8324 || 8364 == codePoint || 8451 == codePoint || 8453 == codePoint || 8457 == codePoint || 8467 == codePoint || 8470 == codePoint || 8481 <= codePoint && codePoint <= 8482 || 8486 == codePoint || 8491 == codePoint || 8531 <= codePoint && codePoint <= 8532 || 8539 <= codePoint && codePoint <= 8542 || 8544 <= codePoint && codePoint <= 8555 || 8560 <= codePoint && codePoint <= 8569 || 8585 == codePoint || 8592 <= codePoint && codePoint <= 8601 || 8632 <= codePoint && codePoint <= 8633 || 8658 == codePoint || 8660 == codePoint || 8679 == codePoint || 8704 == codePoint || 8706 <= codePoint && codePoint <= 8707 || 8711 <= codePoint && codePoint <= 8712 || 8715 == codePoint || 8719 == codePoint || 8721 == codePoint || 8725 == codePoint || 8730 == codePoint || 8733 <= codePoint && codePoint <= 8736 || 8739 == codePoint || 8741 == codePoint || 8743 <= codePoint && codePoint <= 8748 || 8750 == codePoint || 8756 <= codePoint && codePoint <= 8759 || 8764 <= codePoint && codePoint <= 8765 || 8776 == codePoint || 8780 == codePoint || 8786 == codePoint || 8800 <= codePoint && codePoint <= 8801 || 8804 <= codePoint && codePoint <= 8807 || 8810 <= codePoint && codePoint <= 8811 || 8814 <= codePoint && codePoint <= 8815 || 8834 <= codePoint && codePoint <= 8835 || 8838 <= codePoint && codePoint <= 8839 || 8853 == codePoint || 8857 == codePoint || 8869 == codePoint || 8895 == codePoint || 8978 == codePoint || 9312 <= codePoint && codePoint <= 9449 || 9451 <= codePoint && codePoint <= 9547 || 9552 <= codePoint && codePoint <= 9587 || 9600 <= codePoint && codePoint <= 9615 || 9618 <= codePoint && codePoint <= 9621 || 9632 <= codePoint && codePoint <= 9633 || 9635 <= codePoint && codePoint <= 9641 || 9650 <= codePoint && codePoint <= 9651 || 9654 <= codePoint && codePoint <= 9655 || 9660 <= codePoint && codePoint <= 9661 || 9664 <= codePoint && codePoint <= 9665 || 9670 <= codePoint && codePoint <= 9672 || 9675 == codePoint || 9678 <= codePoint && codePoint <= 9681 || 9698 <= codePoint && codePoint <= 9701 || 9711 == codePoint || 9733 <= codePoint && codePoint <= 9734 || 9737 == codePoint || 9742 <= codePoint && codePoint <= 9743 || 9748 <= codePoint && codePoint <= 9749 || 9756 == codePoint || 9758 == codePoint || 9792 == codePoint || 9794 == codePoint || 9824 <= codePoint && codePoint <= 9825 || 9827 <= codePoint && codePoint <= 9829 || 9831 <= codePoint && codePoint <= 9834 || 9836 <= codePoint && codePoint <= 9837 || 9839 == codePoint || 9886 <= codePoint && codePoint <= 9887 || 9918 <= codePoint && codePoint <= 9919 || 9924 <= codePoint && codePoint <= 9933 || 9935 <= codePoint && codePoint <= 9953 || 9955 == codePoint || 9960 <= codePoint && codePoint <= 9983 || 10045 == codePoint || 10071 == codePoint || 10102 <= codePoint && codePoint <= 10111 || 11093 <= codePoint && codePoint <= 11097 || 12872 <= codePoint && codePoint <= 12879 || 57344 <= codePoint && codePoint <= 63743 || 65024 <= codePoint && codePoint <= 65039 || 65533 == codePoint || 127232 <= codePoint && codePoint <= 127242 || 127248 <= codePoint && codePoint <= 127277 || 127280 <= codePoint && codePoint <= 127337 || 127344 <= codePoint && codePoint <= 127386 || 917760 <= codePoint && codePoint <= 917999 || 983040 <= codePoint && codePoint <= 1048573 || 1048576 <= codePoint && codePoint <= 1114109) {
827
+ return "A";
828
+ }
829
+ return "N";
830
+ };
831
+ eaw.characterLength = function(character) {
832
+ var code = this.eastAsianWidth(character);
833
+ if (code == "F" || code == "W" || code == "A") {
834
+ return 2;
835
+ } else {
836
+ return 1;
837
+ }
838
+ };
839
+ function stringToArray(string) {
840
+ return string.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g) || [];
841
+ }
842
+ eaw.length = function(string) {
843
+ var characters = stringToArray(string);
844
+ var len = 0;
845
+ for (var i = 0; i < characters.length; i++) {
846
+ len = len + this.characterLength(characters[i]);
847
+ }
848
+ return len;
849
+ };
850
+ eaw.slice = function(text, start, end) {
851
+ textLen = eaw.length(text);
852
+ start = start ? start : 0;
853
+ end = end ? end : 1;
854
+ if (start < 0) {
855
+ start = textLen + start;
856
+ }
857
+ if (end < 0) {
858
+ end = textLen + end;
859
+ }
860
+ var result = "";
861
+ var eawLen = 0;
862
+ var chars = stringToArray(text);
863
+ for (var i = 0; i < chars.length; i++) {
864
+ var char = chars[i];
865
+ var charLen = eaw.length(char);
866
+ if (eawLen >= start - (charLen == 2 ? 1 : 0)) {
867
+ if (eawLen + charLen <= end) {
868
+ result += char;
869
+ } else {
870
+ break;
871
+ }
872
+ }
873
+ eawLen += charLen;
874
+ }
875
+ return result;
876
+ };
877
+ })(eastasianwidth);
878
+ var eastasianwidthExports = eastasianwidth.exports;
879
+ var eastAsianWidth = /* @__PURE__ */ getDefaultExportFromCjs(eastasianwidthExports);
880
+ var emojiRegex = () => {
881
+ return /[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26F9(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC3\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\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]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC08\uDC26](?:\u200D\u2B1B)?|[\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?|[\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](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\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\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE88\uDE90-\uDEBD\uDEBF-\uDEC2\uDECE-\uDEDB\uDEE0-\uDEE8]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83E\uDDD1))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g;
882
+ };
883
+ function stringWidth$1(string, options) {
884
+ if (typeof string !== "string" || string.length === 0) {
885
+ return 0;
886
+ }
887
+ options = {
888
+ ambiguousIsNarrow: true,
889
+ countAnsiEscapeCodes: false,
890
+ ...options
891
+ };
892
+ if (!options.countAnsiEscapeCodes) {
893
+ string = stripAnsi2(string);
894
+ }
895
+ if (string.length === 0) {
896
+ return 0;
897
+ }
898
+ const ambiguousCharacterWidth = options.ambiguousIsNarrow ? 1 : 2;
899
+ let width = 0;
900
+ for (const { segment: character } of new Intl.Segmenter().segment(string)) {
901
+ const codePoint = character.codePointAt(0);
902
+ if (codePoint <= 31 || codePoint >= 127 && codePoint <= 159) {
903
+ continue;
904
+ }
905
+ if (codePoint >= 768 && codePoint <= 879) {
906
+ continue;
907
+ }
908
+ if (emojiRegex().test(character)) {
909
+ width += 2;
910
+ continue;
911
+ }
912
+ const code = eastAsianWidth.eastAsianWidth(character);
913
+ switch (code) {
914
+ case "F":
915
+ case "W": {
916
+ width += 2;
917
+ break;
918
+ }
919
+ case "A": {
920
+ width += ambiguousCharacterWidth;
921
+ break;
922
+ }
923
+ default: {
924
+ width += 1;
925
+ }
926
+ }
927
+ }
928
+ return width;
929
+ }
930
+ function isUnicodeSupported() {
931
+ if (process$1.platform !== "win32") {
932
+ return process$1.env.TERM !== "linux";
933
+ }
934
+ return Boolean(process$1.env.CI) || Boolean(process$1.env.WT_SESSION) || Boolean(process$1.env.TERMINUS_SUBLIME) || process$1.env.ConEmuTask === "{cmd::Cmder}" || process$1.env.TERM_PROGRAM === "Terminus-Sublime" || process$1.env.TERM_PROGRAM === "vscode" || process$1.env.TERM === "xterm-256color" || process$1.env.TERM === "alacritty" || process$1.env.TERMINAL_EMULATOR === "JetBrains-JediTerm";
935
+ }
936
+ var TYPE_COLOR_MAP = {
937
+ info: "cyan",
938
+ fail: "red",
939
+ success: "green",
940
+ ready: "green",
941
+ start: "magenta"
942
+ };
943
+ var LEVEL_COLOR_MAP = {
944
+ 0: "red",
945
+ 1: "yellow"
946
+ };
947
+ var unicode = isUnicodeSupported();
948
+ var s = (c, fallback) => unicode ? c : fallback;
949
+ var TYPE_ICONS = {
950
+ error: s("\u2716", "\xD7"),
951
+ fatal: s("\u2716", "\xD7"),
952
+ ready: s("\u2714", "\u221A"),
953
+ warn: s("\u26A0", "\u203C"),
954
+ info: s("\u2139", "i"),
955
+ success: s("\u2714", "\u221A"),
956
+ debug: s("\u2699", "D"),
957
+ trace: s("\u2192", "\u2192"),
958
+ fail: s("\u2716", "\xD7"),
959
+ start: s("\u25D0", "o"),
960
+ log: ""
961
+ };
962
+ function stringWidth(str) {
963
+ if (!Intl.Segmenter) {
964
+ return stripAnsi(str).length;
965
+ }
966
+ return stringWidth$1(str);
967
+ }
968
+ var FancyReporter = class extends BasicReporter {
969
+ formatStack(stack) {
970
+ return "\n" + parseStack(stack).map(
971
+ (line) => " " + line.replace(/^at +/, (m) => colors.gray(m)).replace(/\((.+)\)/, (_, m) => `(${colors.cyan(m)})`)
972
+ ).join("\n");
973
+ }
974
+ formatType(logObj, isBadge, opts) {
975
+ const typeColor = TYPE_COLOR_MAP[logObj.type] || LEVEL_COLOR_MAP[logObj.level] || "gray";
976
+ if (isBadge) {
977
+ return getBgColor(typeColor)(
978
+ colors.black(` ${logObj.type.toUpperCase()} `)
979
+ );
980
+ }
981
+ const _type = typeof TYPE_ICONS[logObj.type] === "string" ? TYPE_ICONS[logObj.type] : logObj.icon || logObj.type;
982
+ return _type ? getColor2(typeColor)(_type) : "";
983
+ }
984
+ formatLogObj(logObj, opts) {
985
+ const [message, ...additional] = this.formatArgs(logObj.args, opts).split(
986
+ "\n"
987
+ );
988
+ if (logObj.type === "box") {
989
+ return box(
990
+ characterFormat(
991
+ message + (additional.length > 0 ? "\n" + additional.join("\n") : "")
992
+ ),
993
+ {
994
+ title: logObj.title ? characterFormat(logObj.title) : void 0,
995
+ style: logObj.style
996
+ }
997
+ );
998
+ }
999
+ const date = this.formatDate(logObj.date, opts);
1000
+ const coloredDate = date && colors.gray(date);
1001
+ const isBadge = logObj.badge ?? logObj.level < 2;
1002
+ const type = this.formatType(logObj, isBadge, opts);
1003
+ const tag = logObj.tag ? colors.gray(logObj.tag) : "";
1004
+ let line;
1005
+ const left = this.filterAndJoin([type, characterFormat(message)]);
1006
+ const right = this.filterAndJoin(opts.columns ? [tag, coloredDate] : [tag]);
1007
+ const space = (opts.columns || 0) - stringWidth(left) - stringWidth(right) - 2;
1008
+ line = space > 0 && (opts.columns || 0) >= 80 ? left + " ".repeat(space) + right : (right ? `${colors.gray(`[${right}]`)} ` : "") + left;
1009
+ line += characterFormat(
1010
+ additional.length > 0 ? "\n" + additional.join("\n") : ""
1011
+ );
1012
+ if (logObj.type === "trace") {
1013
+ const _err = new Error("Trace: " + logObj.message);
1014
+ line += this.formatStack(_err.stack || "");
1015
+ }
1016
+ return isBadge ? "\n" + line + "\n" : line;
1017
+ }
1018
+ };
1019
+ function characterFormat(str) {
1020
+ return str.replace(/`([^`]+)`/gm, (_, m) => colors.cyan(m)).replace(/\s+_([^_]+)_\s+/gm, (_, m) => ` ${colors.underline(m)} `);
1021
+ }
1022
+ function getColor2(color = "white") {
1023
+ return colors[color] || colors.white;
1024
+ }
1025
+ function getBgColor(color = "bgWhite") {
1026
+ return colors[`bg${color[0].toUpperCase()}${color.slice(1)}`] || colors.bgWhite;
1027
+ }
1028
+ function createConsola2(options = {}) {
1029
+ let level = _getDefaultLogLevel();
1030
+ if (process.env.CONSOLA_LEVEL) {
1031
+ level = Number.parseInt(process.env.CONSOLA_LEVEL) ?? level;
1032
+ }
1033
+ const consola2 = createConsola({
1034
+ level,
1035
+ defaults: { level },
1036
+ stdout: process.stdout,
1037
+ stderr: process.stderr,
1038
+ prompt: (...args) => import("./prompt-WQQUN22Z.js").then((m) => m.prompt(...args)),
1039
+ reporters: options.reporters || [
1040
+ options.fancy ?? !(isCI2 || isTest) ? new FancyReporter() : new BasicReporter()
1041
+ ],
1042
+ ...options
1043
+ });
1044
+ return consola2;
1045
+ }
1046
+ function _getDefaultLogLevel() {
1047
+ if (isDebug) {
1048
+ return LogLevels.debug;
1049
+ }
1050
+ if (isTest) {
1051
+ return LogLevels.warn;
1052
+ }
1053
+ return LogLevels.info;
1054
+ }
1055
+ var consola = createConsola2();
1056
+
1057
+ export {
1058
+ colors,
1059
+ getDefaultExportFromCjs,
1060
+ isUnicodeSupported,
1061
+ createConsola2 as createConsola
1062
+ };
1063
+ //# sourceMappingURL=chunk-HBQM723K.js.map