generator-reshow 0.18.9 → 0.19.0

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 (65) hide show
  1. package/README.md +1 -1
  2. package/generators/app/index.js +2332 -43
  3. package/generators/app/templates/index.tpl +1 -1
  4. package/generators/babel-package-json/index.js +2286 -0
  5. package/generators/bun/index.js +2250 -0
  6. package/generators/bun/templates/README.md +16 -0
  7. package/generators/bun/templates/_gitignore +8 -0
  8. package/generators/bun/templates/src/index.js +7 -0
  9. package/generators/bun/templates/src/init.js +8 -0
  10. package/generators/bun/templates/tsconfig.json +34 -0
  11. package/generators/bun-package-json/index.js +2197 -0
  12. package/generators/compile-sh/index.js +2132 -8
  13. package/generators/docker/index.js +2164 -52
  14. package/generators/generator/index.js +2141 -46
  15. package/generators/gitlab-docker/index.js +2219 -42
  16. package/generators/hono/index.js +2289 -0
  17. package/generators/hono/templates/src/index.ts +10 -0
  18. package/generators/npm/index.js +2319 -49
  19. package/generators/package-json/index.js +2141 -92
  20. package/generators/package-json/templates/package.json +4 -28
  21. package/generators/types/app/__tests__/App.test.d.ts +8 -0
  22. package/generators/types/app/index.d.ts +32 -0
  23. package/generators/types/babel-package-json/__tests__/babel-package-json.test.d.ts +8 -0
  24. package/generators/types/babel-package-json/index.d.ts +8 -0
  25. package/generators/types/bun/__tests__/bun.test.d.ts +8 -0
  26. package/generators/types/bun/index.d.ts +27 -0
  27. package/generators/types/bun-package-json/__tests__/bun-package-json.test.d.ts +8 -0
  28. package/generators/types/bun-package-json/index.d.ts +8 -0
  29. package/generators/types/compile-sh/__tests__/compile-sh.test.d.ts +8 -0
  30. package/generators/types/compile-sh/index.d.ts +7 -0
  31. package/generators/types/docker/__tests__/docker.test.d.ts +8 -0
  32. package/generators/types/docker/commonDockerPrompt.d.ts +7 -0
  33. package/generators/types/docker/index.d.ts +27 -0
  34. package/generators/types/generator/__tests__/generator.test.d.ts +8 -0
  35. package/generators/types/generator/index.d.ts +27 -0
  36. package/generators/types/gitlab-docker/__tests__/gitlab-docker.test.d.ts +8 -0
  37. package/generators/types/gitlab-docker/index.d.ts +27 -0
  38. package/generators/types/hono/__tests__/hono.test.d.ts +8 -0
  39. package/generators/types/hono/index.d.ts +10 -0
  40. package/generators/types/npm/__tests__/npm.test.d.ts +8 -0
  41. package/generators/types/npm/index.d.ts +27 -0
  42. package/generators/types/package-json/__tests__/package-json.test.d.ts +8 -0
  43. package/generators/types/package-json/index.d.ts +7 -0
  44. package/generators/types/update-esm-export/__tests__/update-esm-export.test.d.ts +8 -0
  45. package/generators/types/update-esm-export/index.d.ts +27 -0
  46. package/generators/update-esm-export/index.js +2164 -67
  47. package/package.json +16 -11
  48. package/generators/app/README.md +0 -4
  49. package/generators/app/__tests__/TestApp.js +0 -43
  50. package/generators/compile-sh/README.md +0 -8
  51. package/generators/compile-sh/__tests__/Test.js +0 -43
  52. package/generators/docker/README.md +0 -24
  53. package/generators/docker/__tests__/Test.js +0 -42
  54. package/generators/docker/commonDockerPrompt.js +0 -24
  55. package/generators/generator/README.md +0 -9
  56. package/generators/generator/__tests__/TestGenerator.js +0 -42
  57. package/generators/gitlab-docker/README.md +0 -9
  58. package/generators/gitlab-docker/__tests__/Test.js +0 -44
  59. package/generators/npm/README.md +0 -9
  60. package/generators/npm/__tests__/Test.js +0 -46
  61. package/generators/package-json/README.md +0 -9
  62. package/generators/package-json/__tests__/Test.js +0 -45
  63. package/generators/update-esm-export/README.md +0 -9
  64. package/generators/update-esm-export/__tests__/Test.js +0 -43
  65. /package/generators/{package-json → babel-package-json}/templates/.yo +0 -0
@@ -1,12 +1,2136 @@
1
- const { YoGenerator, YoHelper, commonPrompt } = require("yo-reshow");
1
+ var __create = Object.create;
2
+ var __getProtoOf = Object.getPrototypeOf;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ function __accessProp(key) {
8
+ return this[key];
9
+ }
10
+ var __toESMCache_node;
11
+ var __toESMCache_esm;
12
+ var __toESM = (mod, isNodeMode, target) => {
13
+ var canCache = mod != null && typeof mod === "object";
14
+ if (canCache) {
15
+ var cache = isNodeMode ? __toESMCache_node ??= new WeakMap : __toESMCache_esm ??= new WeakMap;
16
+ var cached = cache.get(mod);
17
+ if (cached)
18
+ return cached;
19
+ }
20
+ target = mod != null ? __create(__getProtoOf(mod)) : {};
21
+ const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
22
+ for (let key of __getOwnPropNames(mod))
23
+ if (!__hasOwnProp.call(to, key))
24
+ __defProp(to, key, {
25
+ get: __accessProp.bind(mod, key),
26
+ enumerable: true
27
+ });
28
+ if (canCache)
29
+ cache.set(mod, to);
30
+ return to;
31
+ };
32
+ var __toCommonJS = (from) => {
33
+ var entry = (__moduleCache ??= new WeakMap).get(from), desc;
34
+ if (entry)
35
+ return entry;
36
+ entry = __defProp({}, "__esModule", { value: true });
37
+ if (from && typeof from === "object" || typeof from === "function") {
38
+ for (var key of __getOwnPropNames(from))
39
+ if (!__hasOwnProp.call(entry, key))
40
+ __defProp(entry, key, {
41
+ get: __accessProp.bind(from, key),
42
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
43
+ });
44
+ }
45
+ __moduleCache.set(from, entry);
46
+ return entry;
47
+ };
48
+ var __moduleCache;
49
+ var __returnValue = (v) => v;
50
+ function __exportSetter(name, newValue) {
51
+ this[name] = __returnValue.bind(null, newValue);
52
+ }
53
+ var __export = (target, all) => {
54
+ for (var name in all)
55
+ __defProp(target, name, {
56
+ get: all[name],
57
+ enumerable: true,
58
+ configurable: true,
59
+ set: __exportSetter.bind(all, name)
60
+ });
61
+ };
2
62
 
3
- /**
4
- * compile-sh Generator
5
- */
6
- module.exports = class extends YoGenerator {
63
+ // src/compile-sh/index.ts
64
+ var exports_compile_sh = {};
65
+ __export(exports_compile_sh, {
66
+ default: () => compile_sh_default
67
+ });
68
+ module.exports = __toCommonJS(exports_compile_sh);
69
+
70
+ // ../yo-reshow/dist/index.js
71
+ var import_node_module = require("node:module");
72
+ var import_yeoman_generator = __toESM(require("yeoman-generator"));
73
+ var PATH4 = __toESM(require("path"));
74
+ var PATH = __toESM(require("path"));
75
+ var FS = __toESM(require("fs"));
76
+ var FS2 = __toESM(require("fs"));
77
+ var FS3 = __toESM(require("fs"));
78
+ var import_node_process = __toESM(require("node:process"));
79
+ var import_node_os = __toESM(require("node:os"));
80
+ var import_node_tty = __toESM(require("node:tty"));
81
+ var import_path = require("path");
82
+ var import_fs = require("fs");
83
+ var import_path2 = require("path");
84
+ var import_path3 = require("path");
85
+ var import_path4 = require("path");
86
+ var import_fs2 = require("fs");
87
+ var FS4 = __toESM(require("fs"));
88
+ var PATH2 = __toESM(require("path"));
89
+ var PATH3 = __toESM(require("path"));
90
+ var OS = __toESM(require("os"));
91
+ var import_parse_ini_string = __toESM(require("parse-ini-string"));
92
+ var FS5 = __toESM(require("fs"));
93
+ var fs = __toESM(require("fs"));
94
+ var path = __toESM(require("path"));
95
+ var __create2 = Object.create;
96
+ var __getProtoOf2 = Object.getPrototypeOf;
97
+ var __defProp2 = Object.defineProperty;
98
+ var __getOwnPropNames2 = Object.getOwnPropertyNames;
99
+ var __hasOwnProp2 = Object.prototype.hasOwnProperty;
100
+ function __accessProp2(key) {
101
+ return this[key];
102
+ }
103
+ var __toESMCache_node2;
104
+ var __toESMCache_esm2;
105
+ var __toESM2 = (mod, isNodeMode, target) => {
106
+ var canCache = mod != null && typeof mod === "object";
107
+ if (canCache) {
108
+ var cache = isNodeMode ? __toESMCache_node2 ??= new WeakMap : __toESMCache_esm2 ??= new WeakMap;
109
+ var cached = cache.get(mod);
110
+ if (cached)
111
+ return cached;
112
+ }
113
+ target = mod != null ? __create2(__getProtoOf2(mod)) : {};
114
+ const to = isNodeMode || !mod || !mod.__esModule ? __defProp2(target, "default", { value: mod, enumerable: true }) : target;
115
+ for (let key of __getOwnPropNames2(mod))
116
+ if (!__hasOwnProp2.call(to, key))
117
+ __defProp2(to, key, {
118
+ get: __accessProp2.bind(mod, key),
119
+ enumerable: true
120
+ });
121
+ if (canCache)
122
+ cache.set(mod, to);
123
+ return to;
124
+ };
125
+ var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
126
+ var __require = /* @__PURE__ */ import_node_module.createRequire("file:///Volumes/GoldenSnake/git/yo-modality/yo-reshow/dist/index.js");
127
+ var require_pad_component = __commonJS((exports2, module2) => {
128
+ exports2 = module2.exports = pad;
129
+ function pad(str, len, c) {
130
+ c = c || " ";
131
+ if (str.length >= len)
132
+ return str;
133
+ len = len - str.length;
134
+ var left = Array(Math.ceil(len / 2) + 1).join(c);
135
+ var right = Array(Math.floor(len / 2) + 1).join(c);
136
+ return left + str + right;
137
+ }
138
+ exports2.left = function(str, len, c) {
139
+ c = c || " ";
140
+ if (str.length >= len)
141
+ return str;
142
+ return Array(len - str.length + 1).join(c) + str;
143
+ };
144
+ exports2.right = function(str, len, c) {
145
+ c = c || " ";
146
+ if (str.length >= len)
147
+ return str;
148
+ return str + Array(len - str.length + 1).join(c);
149
+ };
150
+ });
151
+ var require_eastasianwidth = __commonJS((exports2, module2) => {
152
+ var eaw = {};
153
+ if (typeof module2 == "undefined") {
154
+ window.eastasianwidth = eaw;
155
+ } else {
156
+ module2.exports = eaw;
157
+ }
158
+ eaw.eastAsianWidth = function(character) {
159
+ var x = character.charCodeAt(0);
160
+ var y = character.length == 2 ? character.charCodeAt(1) : 0;
161
+ var codePoint = x;
162
+ if (55296 <= x && x <= 56319 && (56320 <= y && y <= 57343)) {
163
+ x &= 1023;
164
+ y &= 1023;
165
+ codePoint = x << 10 | y;
166
+ codePoint += 65536;
167
+ }
168
+ if (codePoint == 12288 || 65281 <= codePoint && codePoint <= 65376 || 65504 <= codePoint && codePoint <= 65510) {
169
+ return "F";
170
+ }
171
+ if (codePoint == 8361 || 65377 <= codePoint && codePoint <= 65470 || 65474 <= codePoint && codePoint <= 65479 || 65482 <= codePoint && codePoint <= 65487 || 65490 <= codePoint && codePoint <= 65495 || 65498 <= codePoint && codePoint <= 65500 || 65512 <= codePoint && codePoint <= 65518) {
172
+ return "H";
173
+ }
174
+ 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) {
175
+ return "W";
176
+ }
177
+ if (32 <= codePoint && codePoint <= 126 || 162 <= codePoint && codePoint <= 163 || 165 <= codePoint && codePoint <= 166 || codePoint == 172 || codePoint == 175 || 10214 <= codePoint && codePoint <= 10221 || 10629 <= codePoint && codePoint <= 10630) {
178
+ return "Na";
179
+ }
180
+ if (codePoint == 161 || codePoint == 164 || 167 <= codePoint && codePoint <= 168 || codePoint == 170 || 173 <= codePoint && codePoint <= 174 || 176 <= codePoint && codePoint <= 180 || 182 <= codePoint && codePoint <= 186 || 188 <= codePoint && codePoint <= 191 || codePoint == 198 || codePoint == 208 || 215 <= codePoint && codePoint <= 216 || 222 <= codePoint && codePoint <= 225 || codePoint == 230 || 232 <= codePoint && codePoint <= 234 || 236 <= codePoint && codePoint <= 237 || codePoint == 240 || 242 <= codePoint && codePoint <= 243 || 247 <= codePoint && codePoint <= 250 || codePoint == 252 || codePoint == 254 || codePoint == 257 || codePoint == 273 || codePoint == 275 || codePoint == 283 || 294 <= codePoint && codePoint <= 295 || codePoint == 299 || 305 <= codePoint && codePoint <= 307 || codePoint == 312 || 319 <= codePoint && codePoint <= 322 || codePoint == 324 || 328 <= codePoint && codePoint <= 331 || codePoint == 333 || 338 <= codePoint && codePoint <= 339 || 358 <= codePoint && codePoint <= 359 || codePoint == 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 || 713 <= codePoint && codePoint <= 715 || codePoint == 717 || codePoint == 720 || 728 <= codePoint && codePoint <= 731 || codePoint == 733 || codePoint == 735 || 768 <= codePoint && codePoint <= 879 || 913 <= codePoint && codePoint <= 929 || 931 <= codePoint && codePoint <= 937 || 945 <= codePoint && codePoint <= 961 || 963 <= codePoint && codePoint <= 969 || codePoint == 1025 || 1040 <= codePoint && codePoint <= 1103 || codePoint == 1105 || codePoint == 8208 || 8211 <= codePoint && codePoint <= 8214 || 8216 <= codePoint && codePoint <= 8217 || 8220 <= codePoint && codePoint <= 8221 || 8224 <= codePoint && codePoint <= 8226 || 8228 <= codePoint && codePoint <= 8231 || codePoint == 8240 || 8242 <= codePoint && codePoint <= 8243 || codePoint == 8245 || codePoint == 8251 || codePoint == 8254 || codePoint == 8308 || codePoint == 8319 || 8321 <= codePoint && codePoint <= 8324 || codePoint == 8364 || codePoint == 8451 || codePoint == 8453 || codePoint == 8457 || codePoint == 8467 || codePoint == 8470 || 8481 <= codePoint && codePoint <= 8482 || codePoint == 8486 || codePoint == 8491 || 8531 <= codePoint && codePoint <= 8532 || 8539 <= codePoint && codePoint <= 8542 || 8544 <= codePoint && codePoint <= 8555 || 8560 <= codePoint && codePoint <= 8569 || codePoint == 8585 || 8592 <= codePoint && codePoint <= 8601 || 8632 <= codePoint && codePoint <= 8633 || codePoint == 8658 || codePoint == 8660 || codePoint == 8679 || codePoint == 8704 || 8706 <= codePoint && codePoint <= 8707 || 8711 <= codePoint && codePoint <= 8712 || codePoint == 8715 || codePoint == 8719 || codePoint == 8721 || codePoint == 8725 || codePoint == 8730 || 8733 <= codePoint && codePoint <= 8736 || codePoint == 8739 || codePoint == 8741 || 8743 <= codePoint && codePoint <= 8748 || codePoint == 8750 || 8756 <= codePoint && codePoint <= 8759 || 8764 <= codePoint && codePoint <= 8765 || codePoint == 8776 || codePoint == 8780 || codePoint == 8786 || 8800 <= codePoint && codePoint <= 8801 || 8804 <= codePoint && codePoint <= 8807 || 8810 <= codePoint && codePoint <= 8811 || 8814 <= codePoint && codePoint <= 8815 || 8834 <= codePoint && codePoint <= 8835 || 8838 <= codePoint && codePoint <= 8839 || codePoint == 8853 || codePoint == 8857 || codePoint == 8869 || codePoint == 8895 || codePoint == 8978 || 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 || codePoint == 9675 || 9678 <= codePoint && codePoint <= 9681 || 9698 <= codePoint && codePoint <= 9701 || codePoint == 9711 || 9733 <= codePoint && codePoint <= 9734 || codePoint == 9737 || 9742 <= codePoint && codePoint <= 9743 || 9748 <= codePoint && codePoint <= 9749 || codePoint == 9756 || codePoint == 9758 || codePoint == 9792 || codePoint == 9794 || 9824 <= codePoint && codePoint <= 9825 || 9827 <= codePoint && codePoint <= 9829 || 9831 <= codePoint && codePoint <= 9834 || 9836 <= codePoint && codePoint <= 9837 || codePoint == 9839 || 9886 <= codePoint && codePoint <= 9887 || 9918 <= codePoint && codePoint <= 9919 || 9924 <= codePoint && codePoint <= 9933 || 9935 <= codePoint && codePoint <= 9953 || codePoint == 9955 || 9960 <= codePoint && codePoint <= 9983 || codePoint == 10045 || codePoint == 10071 || 10102 <= codePoint && codePoint <= 10111 || 11093 <= codePoint && codePoint <= 11097 || 12872 <= codePoint && codePoint <= 12879 || 57344 <= codePoint && codePoint <= 63743 || 65024 <= codePoint && codePoint <= 65039 || codePoint == 65533 || 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) {
181
+ return "A";
182
+ }
183
+ return "N";
184
+ };
185
+ eaw.characterLength = function(character) {
186
+ var code = this.eastAsianWidth(character);
187
+ if (code == "F" || code == "W" || code == "A") {
188
+ return 2;
189
+ } else {
190
+ return 1;
191
+ }
192
+ };
193
+ function stringToArray(string) {
194
+ return string.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g) || [];
195
+ }
196
+ eaw.length = function(string) {
197
+ var characters = stringToArray(string);
198
+ var len = 0;
199
+ for (var i = 0;i < characters.length; i++) {
200
+ len = len + this.characterLength(characters[i]);
201
+ }
202
+ return len;
203
+ };
204
+ eaw.slice = function(text, start, end) {
205
+ textLen = eaw.length(text);
206
+ start = start ? start : 0;
207
+ end = end ? end : 1;
208
+ if (start < 0) {
209
+ start = textLen + start;
210
+ }
211
+ if (end < 0) {
212
+ end = textLen + end;
213
+ }
214
+ var result = "";
215
+ var eawLen = 0;
216
+ var chars = stringToArray(text);
217
+ for (var i = 0;i < chars.length; i++) {
218
+ var char = chars[i];
219
+ var charLen = eaw.length(char);
220
+ if (eawLen >= start - (charLen == 2 ? 1 : 0)) {
221
+ if (eawLen + charLen <= end) {
222
+ result += char;
223
+ } else {
224
+ break;
225
+ }
226
+ }
227
+ eawLen += charLen;
228
+ }
229
+ return result;
230
+ };
231
+ });
232
+ var require_emoji_regex = __commonJS((exports2, module2) => {
233
+ module2.exports = function() {
234
+ 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;
235
+ };
236
+ });
237
+ var require_emoji_regex2 = __commonJS((exports2, module2) => {
238
+ module2.exports = () => {
239
+ 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\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](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\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]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\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])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\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-\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]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\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(?:[\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-\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\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-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED8\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\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\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\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]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\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]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\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]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\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]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\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]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?))?|\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\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\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]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF]|\uDEEF\u200D\uD83D\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]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF]|\uDEEF\u200D\uD83D\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]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uDEEF\u200D\uD83D\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]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF]|\uDEEF\u200D\uD83D\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]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])))?))?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\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\uDD3C-\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-\uDE8A\uDE8E-\uDEC2\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF]|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\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\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\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]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFC-\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]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\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]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\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]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\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]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])))?))?|\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;
240
+ };
241
+ });
242
+ var require_boxes = __commonJS((exports2, module2) => {
243
+ module2.exports = {
244
+ single: {
245
+ topLeft: "┌",
246
+ top: "─",
247
+ topRight: "┐",
248
+ right: "│",
249
+ bottomRight: "┘",
250
+ bottom: "─",
251
+ bottomLeft: "└",
252
+ left: "│"
253
+ },
254
+ double: {
255
+ topLeft: "╔",
256
+ top: "═",
257
+ topRight: "╗",
258
+ right: "║",
259
+ bottomRight: "╝",
260
+ bottom: "═",
261
+ bottomLeft: "╚",
262
+ left: "║"
263
+ },
264
+ round: {
265
+ topLeft: "╭",
266
+ top: "─",
267
+ topRight: "╮",
268
+ right: "│",
269
+ bottomRight: "╯",
270
+ bottom: "─",
271
+ bottomLeft: "╰",
272
+ left: "│"
273
+ },
274
+ bold: {
275
+ topLeft: "┏",
276
+ top: "━",
277
+ topRight: "┓",
278
+ right: "┃",
279
+ bottomRight: "┛",
280
+ bottom: "━",
281
+ bottomLeft: "┗",
282
+ left: "┃"
283
+ },
284
+ singleDouble: {
285
+ topLeft: "╓",
286
+ top: "─",
287
+ topRight: "╖",
288
+ right: "║",
289
+ bottomRight: "╜",
290
+ bottom: "─",
291
+ bottomLeft: "╙",
292
+ left: "║"
293
+ },
294
+ doubleSingle: {
295
+ topLeft: "╒",
296
+ top: "═",
297
+ topRight: "╕",
298
+ right: "│",
299
+ bottomRight: "╛",
300
+ bottom: "═",
301
+ bottomLeft: "╘",
302
+ left: "│"
303
+ },
304
+ classic: {
305
+ topLeft: "+",
306
+ top: "-",
307
+ topRight: "+",
308
+ right: "|",
309
+ bottomRight: "+",
310
+ bottom: "-",
311
+ bottomLeft: "+",
312
+ left: "|"
313
+ },
314
+ arrow: {
315
+ topLeft: "↘",
316
+ top: "↓",
317
+ topRight: "↙",
318
+ right: "←",
319
+ bottomRight: "↖",
320
+ bottom: "↑",
321
+ bottomLeft: "↗",
322
+ left: "→"
323
+ }
324
+ };
325
+ });
326
+ var require_cli_boxes = __commonJS((exports2, module2) => {
327
+ var cliBoxes = require_boxes();
328
+ module2.exports = cliBoxes;
329
+ module2.exports.default = cliBoxes;
330
+ });
331
+ var require_handleKeywords = __commonJS((exports2, module2) => {
332
+ var handleKeywords = (keyword, cb) => {
333
+ const keywordArr = keyword?.split(",");
334
+ if (keywordArr && keywordArr.length) {
335
+ cb(keywordArr.map((s) => s.trim()));
336
+ }
337
+ };
338
+ module2.exports = handleKeywords;
339
+ });
340
+ var YoGenerator_default = import_yeoman_generator.default;
341
+ var FUNCTION = "function";
342
+ var STRING = "string";
343
+ var UNDEFINED = "undefined";
344
+ var T_UNDEFINED = undefined;
345
+ var KEYS = Object.keys;
346
+ var OBJ_SIZE = function OBJ_SIZE2(o) {
347
+ return o ? KEYS(o).length : 0;
348
+ };
349
+ var getDestFolderName = (oGen) => PATH.basename(oGen.destinationRoot());
350
+ var getDestFolderName_default = getDestFolderName;
351
+ var fileExists = (f) => FS.existsSync(f);
352
+ var fileExists_default = fileExists;
353
+ var isDir = (f) => fileExists_default(f) && FS2.lstatSync(f).isDirectory();
354
+ var isDir_default = isDir;
355
+ var isFile = (f) => fileExists_default(f) && !isDir_default(f);
356
+ var isFile_default = isFile;
357
+ var unlink = (f) => FS3.unlinkSync(f);
358
+ var unlink_default = unlink;
359
+ var ANSI_BACKGROUND_OFFSET = 10;
360
+ var wrapAnsi16 = (offset = 0) => (code) => `\x1B[${code + offset}m`;
361
+ var wrapAnsi256 = (offset = 0) => (code) => `\x1B[${38 + offset};5;${code}m`;
362
+ var wrapAnsi16m = (offset = 0) => (red, green, blue) => `\x1B[${38 + offset};2;${red};${green};${blue}m`;
363
+ var styles = {
364
+ modifier: {
365
+ reset: [0, 0],
366
+ bold: [1, 22],
367
+ dim: [2, 22],
368
+ italic: [3, 23],
369
+ underline: [4, 24],
370
+ overline: [53, 55],
371
+ inverse: [7, 27],
372
+ hidden: [8, 28],
373
+ strikethrough: [9, 29]
374
+ },
375
+ color: {
376
+ black: [30, 39],
377
+ red: [31, 39],
378
+ green: [32, 39],
379
+ yellow: [33, 39],
380
+ blue: [34, 39],
381
+ magenta: [35, 39],
382
+ cyan: [36, 39],
383
+ white: [37, 39],
384
+ blackBright: [90, 39],
385
+ gray: [90, 39],
386
+ grey: [90, 39],
387
+ redBright: [91, 39],
388
+ greenBright: [92, 39],
389
+ yellowBright: [93, 39],
390
+ blueBright: [94, 39],
391
+ magentaBright: [95, 39],
392
+ cyanBright: [96, 39],
393
+ whiteBright: [97, 39]
394
+ },
395
+ bgColor: {
396
+ bgBlack: [40, 49],
397
+ bgRed: [41, 49],
398
+ bgGreen: [42, 49],
399
+ bgYellow: [43, 49],
400
+ bgBlue: [44, 49],
401
+ bgMagenta: [45, 49],
402
+ bgCyan: [46, 49],
403
+ bgWhite: [47, 49],
404
+ bgBlackBright: [100, 49],
405
+ bgGray: [100, 49],
406
+ bgGrey: [100, 49],
407
+ bgRedBright: [101, 49],
408
+ bgGreenBright: [102, 49],
409
+ bgYellowBright: [103, 49],
410
+ bgBlueBright: [104, 49],
411
+ bgMagentaBright: [105, 49],
412
+ bgCyanBright: [106, 49],
413
+ bgWhiteBright: [107, 49]
414
+ }
415
+ };
416
+ var modifierNames = Object.keys(styles.modifier);
417
+ var foregroundColorNames = Object.keys(styles.color);
418
+ var backgroundColorNames = Object.keys(styles.bgColor);
419
+ var colorNames = [...foregroundColorNames, ...backgroundColorNames];
420
+ function assembleStyles() {
421
+ const codes = new Map;
422
+ for (const [groupName, group] of Object.entries(styles)) {
423
+ for (const [styleName, style] of Object.entries(group)) {
424
+ styles[styleName] = {
425
+ open: `\x1B[${style[0]}m`,
426
+ close: `\x1B[${style[1]}m`
427
+ };
428
+ group[styleName] = styles[styleName];
429
+ codes.set(style[0], style[1]);
430
+ }
431
+ Object.defineProperty(styles, groupName, {
432
+ value: group,
433
+ enumerable: false
434
+ });
435
+ }
436
+ Object.defineProperty(styles, "codes", {
437
+ value: codes,
438
+ enumerable: false
439
+ });
440
+ styles.color.close = "\x1B[39m";
441
+ styles.bgColor.close = "\x1B[49m";
442
+ styles.color.ansi = wrapAnsi16();
443
+ styles.color.ansi256 = wrapAnsi256();
444
+ styles.color.ansi16m = wrapAnsi16m();
445
+ styles.bgColor.ansi = wrapAnsi16(ANSI_BACKGROUND_OFFSET);
446
+ styles.bgColor.ansi256 = wrapAnsi256(ANSI_BACKGROUND_OFFSET);
447
+ styles.bgColor.ansi16m = wrapAnsi16m(ANSI_BACKGROUND_OFFSET);
448
+ Object.defineProperties(styles, {
449
+ rgbToAnsi256: {
450
+ value(red, green, blue) {
451
+ if (red === green && green === blue) {
452
+ if (red < 8) {
453
+ return 16;
454
+ }
455
+ if (red > 248) {
456
+ return 231;
457
+ }
458
+ return Math.round((red - 8) / 247 * 24) + 232;
459
+ }
460
+ return 16 + 36 * Math.round(red / 255 * 5) + 6 * Math.round(green / 255 * 5) + Math.round(blue / 255 * 5);
461
+ },
462
+ enumerable: false
463
+ },
464
+ hexToRgb: {
465
+ value(hex) {
466
+ const matches = /[a-f\d]{6}|[a-f\d]{3}/i.exec(hex.toString(16));
467
+ if (!matches) {
468
+ return [0, 0, 0];
469
+ }
470
+ let [colorString] = matches;
471
+ if (colorString.length === 3) {
472
+ colorString = [...colorString].map((character) => character + character).join("");
473
+ }
474
+ const integer = Number.parseInt(colorString, 16);
475
+ return [
476
+ integer >> 16 & 255,
477
+ integer >> 8 & 255,
478
+ integer & 255
479
+ ];
480
+ },
481
+ enumerable: false
482
+ },
483
+ hexToAnsi256: {
484
+ value: (hex) => styles.rgbToAnsi256(...styles.hexToRgb(hex)),
485
+ enumerable: false
486
+ },
487
+ ansi256ToAnsi: {
488
+ value(code) {
489
+ if (code < 8) {
490
+ return 30 + code;
491
+ }
492
+ if (code < 16) {
493
+ return 90 + (code - 8);
494
+ }
495
+ let red;
496
+ let green;
497
+ let blue;
498
+ if (code >= 232) {
499
+ red = ((code - 232) * 10 + 8) / 255;
500
+ green = red;
501
+ blue = red;
502
+ } else {
503
+ code -= 16;
504
+ const remainder = code % 36;
505
+ red = Math.floor(code / 36) / 5;
506
+ green = Math.floor(remainder / 6) / 5;
507
+ blue = remainder % 6 / 5;
508
+ }
509
+ const value = Math.max(red, green, blue) * 2;
510
+ if (value === 0) {
511
+ return 30;
512
+ }
513
+ let result = 30 + (Math.round(blue) << 2 | Math.round(green) << 1 | Math.round(red));
514
+ if (value === 2) {
515
+ result += 60;
516
+ }
517
+ return result;
518
+ },
519
+ enumerable: false
520
+ },
521
+ rgbToAnsi: {
522
+ value: (red, green, blue) => styles.ansi256ToAnsi(styles.rgbToAnsi256(red, green, blue)),
523
+ enumerable: false
524
+ },
525
+ hexToAnsi: {
526
+ value: (hex) => styles.ansi256ToAnsi(styles.hexToAnsi256(hex)),
527
+ enumerable: false
528
+ }
529
+ });
530
+ return styles;
531
+ }
532
+ var ansiStyles = assembleStyles();
533
+ var ansi_styles_default = ansiStyles;
534
+ function hasFlag(flag, argv = globalThis.Deno ? globalThis.Deno.args : import_node_process.default.argv) {
535
+ const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
536
+ const position = argv.indexOf(prefix + flag);
537
+ const terminatorPosition = argv.indexOf("--");
538
+ return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
539
+ }
540
+ var { env } = import_node_process.default;
541
+ var flagForceColor;
542
+ if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) {
543
+ flagForceColor = 0;
544
+ } else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) {
545
+ flagForceColor = 1;
546
+ }
547
+ function envForceColor() {
548
+ if ("FORCE_COLOR" in env) {
549
+ if (env.FORCE_COLOR === "true") {
550
+ return 1;
551
+ }
552
+ if (env.FORCE_COLOR === "false") {
553
+ return 0;
554
+ }
555
+ return env.FORCE_COLOR.length === 0 ? 1 : Math.min(Number.parseInt(env.FORCE_COLOR, 10), 3);
556
+ }
557
+ }
558
+ function translateLevel(level) {
559
+ if (level === 0) {
560
+ return false;
561
+ }
562
+ return {
563
+ level,
564
+ hasBasic: true,
565
+ has256: level >= 2,
566
+ has16m: level >= 3
567
+ };
568
+ }
569
+ function _supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) {
570
+ const noFlagForceColor = envForceColor();
571
+ if (noFlagForceColor !== undefined) {
572
+ flagForceColor = noFlagForceColor;
573
+ }
574
+ const forceColor = sniffFlags ? flagForceColor : noFlagForceColor;
575
+ if (forceColor === 0) {
576
+ return 0;
577
+ }
578
+ if (sniffFlags) {
579
+ if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) {
580
+ return 3;
581
+ }
582
+ if (hasFlag("color=256")) {
583
+ return 2;
584
+ }
585
+ }
586
+ if ("TF_BUILD" in env && "AGENT_NAME" in env) {
587
+ return 1;
588
+ }
589
+ if (haveStream && !streamIsTTY && forceColor === undefined) {
590
+ return 0;
591
+ }
592
+ const min = forceColor || 0;
593
+ if (env.TERM === "dumb") {
594
+ return min;
595
+ }
596
+ if (import_node_process.default.platform === "win32") {
597
+ const osRelease = import_node_os.default.release().split(".");
598
+ if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
599
+ return Number(osRelease[2]) >= 14931 ? 3 : 2;
600
+ }
601
+ return 1;
602
+ }
603
+ if ("CI" in env) {
604
+ if (["GITHUB_ACTIONS", "GITEA_ACTIONS", "CIRCLECI"].some((key) => (key in env))) {
605
+ return 3;
606
+ }
607
+ if (["TRAVIS", "APPVEYOR", "GITLAB_CI", "BUILDKITE", "DRONE"].some((sign) => (sign in env)) || env.CI_NAME === "codeship") {
608
+ return 1;
609
+ }
610
+ return min;
611
+ }
612
+ if ("TEAMCITY_VERSION" in env) {
613
+ return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
614
+ }
615
+ if (env.COLORTERM === "truecolor") {
616
+ return 3;
617
+ }
618
+ if (env.TERM === "xterm-kitty") {
619
+ return 3;
620
+ }
621
+ if (env.TERM === "xterm-ghostty") {
622
+ return 3;
623
+ }
624
+ if (env.TERM === "wezterm") {
625
+ return 3;
626
+ }
627
+ if ("TERM_PROGRAM" in env) {
628
+ const version = Number.parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
629
+ switch (env.TERM_PROGRAM) {
630
+ case "iTerm.app": {
631
+ return version >= 3 ? 3 : 2;
632
+ }
633
+ case "Apple_Terminal": {
634
+ return 2;
635
+ }
636
+ }
637
+ }
638
+ if (/-256(color)?$/i.test(env.TERM)) {
639
+ return 2;
640
+ }
641
+ if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
642
+ return 1;
643
+ }
644
+ if ("COLORTERM" in env) {
645
+ return 1;
646
+ }
647
+ return min;
648
+ }
649
+ function createSupportsColor(stream, options = {}) {
650
+ const level = _supportsColor(stream, {
651
+ streamIsTTY: stream && stream.isTTY,
652
+ ...options
653
+ });
654
+ return translateLevel(level);
655
+ }
656
+ var supportsColor = {
657
+ stdout: createSupportsColor({ isTTY: import_node_tty.default.isatty(1) }),
658
+ stderr: createSupportsColor({ isTTY: import_node_tty.default.isatty(2) })
659
+ };
660
+ var supports_color_default = supportsColor;
661
+ function stringReplaceAll(string, substring, replacer) {
662
+ let index = string.indexOf(substring);
663
+ if (index === -1) {
664
+ return string;
665
+ }
666
+ const substringLength = substring.length;
667
+ let endIndex = 0;
668
+ let returnValue = "";
669
+ do {
670
+ returnValue += string.slice(endIndex, index) + substring + replacer;
671
+ endIndex = index + substringLength;
672
+ index = string.indexOf(substring, endIndex);
673
+ } while (index !== -1);
674
+ returnValue += string.slice(endIndex);
675
+ return returnValue;
676
+ }
677
+ function stringEncaseCRLFWithFirstIndex(string, prefix, postfix, index) {
678
+ let endIndex = 0;
679
+ let returnValue = "";
680
+ do {
681
+ const gotCR = string[index - 1] === "\r";
682
+ returnValue += string.slice(endIndex, gotCR ? index - 1 : index) + prefix + (gotCR ? `\r
683
+ ` : `
684
+ `) + postfix;
685
+ endIndex = index + 1;
686
+ index = string.indexOf(`
687
+ `, endIndex);
688
+ } while (index !== -1);
689
+ returnValue += string.slice(endIndex);
690
+ return returnValue;
691
+ }
692
+ var { stdout: stdoutColor, stderr: stderrColor } = supports_color_default;
693
+ var GENERATOR = Symbol("GENERATOR");
694
+ var STYLER = Symbol("STYLER");
695
+ var IS_EMPTY = Symbol("IS_EMPTY");
696
+ var levelMapping = [
697
+ "ansi",
698
+ "ansi",
699
+ "ansi256",
700
+ "ansi16m"
701
+ ];
702
+ var styles2 = Object.create(null);
703
+ var applyOptions = (object, options = {}) => {
704
+ if (options.level && !(Number.isInteger(options.level) && options.level >= 0 && options.level <= 3)) {
705
+ throw new Error("The `level` option should be an integer from 0 to 3");
706
+ }
707
+ const colorLevel = stdoutColor ? stdoutColor.level : 0;
708
+ object.level = options.level === undefined ? colorLevel : options.level;
709
+ };
710
+ var chalkFactory = (options) => {
711
+ const chalk = (...strings) => strings.join(" ");
712
+ applyOptions(chalk, options);
713
+ Object.setPrototypeOf(chalk, createChalk.prototype);
714
+ return chalk;
715
+ };
716
+ function createChalk(options) {
717
+ return chalkFactory(options);
718
+ }
719
+ Object.setPrototypeOf(createChalk.prototype, Function.prototype);
720
+ for (const [styleName, style] of Object.entries(ansi_styles_default)) {
721
+ styles2[styleName] = {
722
+ get() {
723
+ const builder = createBuilder(this, createStyler(style.open, style.close, this[STYLER]), this[IS_EMPTY]);
724
+ Object.defineProperty(this, styleName, { value: builder });
725
+ return builder;
726
+ }
727
+ };
728
+ }
729
+ styles2.visible = {
730
+ get() {
731
+ const builder = createBuilder(this, this[STYLER], true);
732
+ Object.defineProperty(this, "visible", { value: builder });
733
+ return builder;
734
+ }
735
+ };
736
+ var getModelAnsi = (model, level, type, ...arguments_) => {
737
+ if (model === "rgb") {
738
+ if (level === "ansi16m") {
739
+ return ansi_styles_default[type].ansi16m(...arguments_);
740
+ }
741
+ if (level === "ansi256") {
742
+ return ansi_styles_default[type].ansi256(ansi_styles_default.rgbToAnsi256(...arguments_));
743
+ }
744
+ return ansi_styles_default[type].ansi(ansi_styles_default.rgbToAnsi(...arguments_));
745
+ }
746
+ if (model === "hex") {
747
+ return getModelAnsi("rgb", level, type, ...ansi_styles_default.hexToRgb(...arguments_));
748
+ }
749
+ return ansi_styles_default[type][model](...arguments_);
750
+ };
751
+ var usedModels = ["rgb", "hex", "ansi256"];
752
+ for (const model of usedModels) {
753
+ styles2[model] = {
754
+ get() {
755
+ const { level } = this;
756
+ return function(...arguments_) {
757
+ const styler = createStyler(getModelAnsi(model, levelMapping[level], "color", ...arguments_), ansi_styles_default.color.close, this[STYLER]);
758
+ return createBuilder(this, styler, this[IS_EMPTY]);
759
+ };
760
+ }
761
+ };
762
+ const bgModel = "bg" + model[0].toUpperCase() + model.slice(1);
763
+ styles2[bgModel] = {
764
+ get() {
765
+ const { level } = this;
766
+ return function(...arguments_) {
767
+ const styler = createStyler(getModelAnsi(model, levelMapping[level], "bgColor", ...arguments_), ansi_styles_default.bgColor.close, this[STYLER]);
768
+ return createBuilder(this, styler, this[IS_EMPTY]);
769
+ };
770
+ }
771
+ };
772
+ }
773
+ var proto = Object.defineProperties(() => {}, {
774
+ ...styles2,
775
+ level: {
776
+ enumerable: true,
777
+ get() {
778
+ return this[GENERATOR].level;
779
+ },
780
+ set(level) {
781
+ this[GENERATOR].level = level;
782
+ }
783
+ }
784
+ });
785
+ var createStyler = (open, close, parent) => {
786
+ let openAll;
787
+ let closeAll;
788
+ if (parent === undefined) {
789
+ openAll = open;
790
+ closeAll = close;
791
+ } else {
792
+ openAll = parent.openAll + open;
793
+ closeAll = close + parent.closeAll;
794
+ }
795
+ return {
796
+ open,
797
+ close,
798
+ openAll,
799
+ closeAll,
800
+ parent
801
+ };
802
+ };
803
+ var createBuilder = (self, _styler, _isEmpty) => {
804
+ const builder = (...arguments_) => applyStyle(builder, arguments_.length === 1 ? "" + arguments_[0] : arguments_.join(" "));
805
+ Object.setPrototypeOf(builder, proto);
806
+ builder[GENERATOR] = self;
807
+ builder[STYLER] = _styler;
808
+ builder[IS_EMPTY] = _isEmpty;
809
+ return builder;
810
+ };
811
+ var applyStyle = (self, string) => {
812
+ if (self.level <= 0 || !string) {
813
+ return self[IS_EMPTY] ? "" : string;
814
+ }
815
+ let styler = self[STYLER];
816
+ if (styler === undefined) {
817
+ return string;
818
+ }
819
+ const { openAll, closeAll } = styler;
820
+ if (string.includes("\x1B")) {
821
+ while (styler !== undefined) {
822
+ string = stringReplaceAll(string, styler.close, styler.open);
823
+ styler = styler.parent;
824
+ }
825
+ }
826
+ const lfIndex = string.indexOf(`
827
+ `);
828
+ if (lfIndex !== -1) {
829
+ string = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex);
830
+ }
831
+ return openAll + string + closeAll;
832
+ };
833
+ Object.defineProperties(createChalk.prototype, styles2);
834
+ var chalk = createChalk();
835
+ var chalkStderr = createChalk({ level: stderrColor ? stderrColor.level : 0 });
836
+ var source_default = chalk;
837
+ var import_pad_component = __toESM2(require_pad_component(), 1);
838
+ function ansiRegex({ onlyFirst = false } = {}) {
839
+ const ST = "(?:\\u0007|\\u001B\\u005C|\\u009C)";
840
+ const osc = `(?:\\u001B\\][\\s\\S]*?${ST})`;
841
+ const csi = "[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]";
842
+ const pattern = `${osc}|${csi}`;
843
+ return new RegExp(pattern, onlyFirst ? undefined : "g");
844
+ }
845
+ var regex = ansiRegex();
846
+ function stripAnsi(string) {
847
+ if (typeof string !== "string") {
848
+ throw new TypeError(`Expected a \`string\`, got \`${typeof string}\``);
849
+ }
850
+ return string.replace(regex, "");
851
+ }
852
+ var import_eastasianwidth = __toESM2(require_eastasianwidth(), 1);
853
+ var import_emoji_regex = __toESM2(require_emoji_regex(), 1);
854
+ function stringWidth(string, options = {}) {
855
+ if (typeof string !== "string" || string.length === 0) {
856
+ return 0;
857
+ }
858
+ options = {
859
+ ambiguousIsNarrow: true,
860
+ ...options
861
+ };
862
+ string = stripAnsi(string);
863
+ if (string.length === 0) {
864
+ return 0;
865
+ }
866
+ string = string.replace(import_emoji_regex.default(), " ");
867
+ const ambiguousCharacterWidth = options.ambiguousIsNarrow ? 1 : 2;
868
+ let width = 0;
869
+ for (const character of string) {
870
+ const codePoint = character.codePointAt(0);
871
+ if (codePoint <= 31 || codePoint >= 127 && codePoint <= 159) {
872
+ continue;
873
+ }
874
+ if (codePoint >= 768 && codePoint <= 879) {
875
+ continue;
876
+ }
877
+ const code = import_eastasianwidth.default.eastAsianWidth(character);
878
+ switch (code) {
879
+ case "F":
880
+ case "W":
881
+ width += 2;
882
+ break;
883
+ case "A":
884
+ width += ambiguousCharacterWidth;
885
+ break;
886
+ default:
887
+ width += 1;
888
+ }
889
+ }
890
+ return width;
891
+ }
892
+ var ANSI_BACKGROUND_OFFSET2 = 10;
893
+ var wrapAnsi162 = (offset = 0) => (code) => `\x1B[${code + offset}m`;
894
+ var wrapAnsi2562 = (offset = 0) => (code) => `\x1B[${38 + offset};5;${code}m`;
895
+ var wrapAnsi16m2 = (offset = 0) => (red, green, blue) => `\x1B[${38 + offset};2;${red};${green};${blue}m`;
896
+ var styles3 = {
897
+ modifier: {
898
+ reset: [0, 0],
899
+ bold: [1, 22],
900
+ dim: [2, 22],
901
+ italic: [3, 23],
902
+ underline: [4, 24],
903
+ overline: [53, 55],
904
+ inverse: [7, 27],
905
+ hidden: [8, 28],
906
+ strikethrough: [9, 29]
907
+ },
908
+ color: {
909
+ black: [30, 39],
910
+ red: [31, 39],
911
+ green: [32, 39],
912
+ yellow: [33, 39],
913
+ blue: [34, 39],
914
+ magenta: [35, 39],
915
+ cyan: [36, 39],
916
+ white: [37, 39],
917
+ blackBright: [90, 39],
918
+ gray: [90, 39],
919
+ grey: [90, 39],
920
+ redBright: [91, 39],
921
+ greenBright: [92, 39],
922
+ yellowBright: [93, 39],
923
+ blueBright: [94, 39],
924
+ magentaBright: [95, 39],
925
+ cyanBright: [96, 39],
926
+ whiteBright: [97, 39]
927
+ },
928
+ bgColor: {
929
+ bgBlack: [40, 49],
930
+ bgRed: [41, 49],
931
+ bgGreen: [42, 49],
932
+ bgYellow: [43, 49],
933
+ bgBlue: [44, 49],
934
+ bgMagenta: [45, 49],
935
+ bgCyan: [46, 49],
936
+ bgWhite: [47, 49],
937
+ bgBlackBright: [100, 49],
938
+ bgGray: [100, 49],
939
+ bgGrey: [100, 49],
940
+ bgRedBright: [101, 49],
941
+ bgGreenBright: [102, 49],
942
+ bgYellowBright: [103, 49],
943
+ bgBlueBright: [104, 49],
944
+ bgMagentaBright: [105, 49],
945
+ bgCyanBright: [106, 49],
946
+ bgWhiteBright: [107, 49]
947
+ }
948
+ };
949
+ var modifierNames2 = Object.keys(styles3.modifier);
950
+ var foregroundColorNames2 = Object.keys(styles3.color);
951
+ var backgroundColorNames2 = Object.keys(styles3.bgColor);
952
+ var colorNames2 = [...foregroundColorNames2, ...backgroundColorNames2];
953
+ function assembleStyles2() {
954
+ const codes = new Map;
955
+ for (const [groupName, group] of Object.entries(styles3)) {
956
+ for (const [styleName, style] of Object.entries(group)) {
957
+ styles3[styleName] = {
958
+ open: `\x1B[${style[0]}m`,
959
+ close: `\x1B[${style[1]}m`
960
+ };
961
+ group[styleName] = styles3[styleName];
962
+ codes.set(style[0], style[1]);
963
+ }
964
+ Object.defineProperty(styles3, groupName, {
965
+ value: group,
966
+ enumerable: false
967
+ });
968
+ }
969
+ Object.defineProperty(styles3, "codes", {
970
+ value: codes,
971
+ enumerable: false
972
+ });
973
+ styles3.color.close = "\x1B[39m";
974
+ styles3.bgColor.close = "\x1B[49m";
975
+ styles3.color.ansi = wrapAnsi162();
976
+ styles3.color.ansi256 = wrapAnsi2562();
977
+ styles3.color.ansi16m = wrapAnsi16m2();
978
+ styles3.bgColor.ansi = wrapAnsi162(ANSI_BACKGROUND_OFFSET2);
979
+ styles3.bgColor.ansi256 = wrapAnsi2562(ANSI_BACKGROUND_OFFSET2);
980
+ styles3.bgColor.ansi16m = wrapAnsi16m2(ANSI_BACKGROUND_OFFSET2);
981
+ Object.defineProperties(styles3, {
982
+ rgbToAnsi256: {
983
+ value(red, green, blue) {
984
+ if (red === green && green === blue) {
985
+ if (red < 8) {
986
+ return 16;
987
+ }
988
+ if (red > 248) {
989
+ return 231;
990
+ }
991
+ return Math.round((red - 8) / 247 * 24) + 232;
992
+ }
993
+ return 16 + 36 * Math.round(red / 255 * 5) + 6 * Math.round(green / 255 * 5) + Math.round(blue / 255 * 5);
994
+ },
995
+ enumerable: false
996
+ },
997
+ hexToRgb: {
998
+ value(hex) {
999
+ const matches = /[a-f\d]{6}|[a-f\d]{3}/i.exec(hex.toString(16));
1000
+ if (!matches) {
1001
+ return [0, 0, 0];
1002
+ }
1003
+ let [colorString] = matches;
1004
+ if (colorString.length === 3) {
1005
+ colorString = [...colorString].map((character) => character + character).join("");
1006
+ }
1007
+ const integer = Number.parseInt(colorString, 16);
1008
+ return [
1009
+ integer >> 16 & 255,
1010
+ integer >> 8 & 255,
1011
+ integer & 255
1012
+ ];
1013
+ },
1014
+ enumerable: false
1015
+ },
1016
+ hexToAnsi256: {
1017
+ value: (hex) => styles3.rgbToAnsi256(...styles3.hexToRgb(hex)),
1018
+ enumerable: false
1019
+ },
1020
+ ansi256ToAnsi: {
1021
+ value(code) {
1022
+ if (code < 8) {
1023
+ return 30 + code;
1024
+ }
1025
+ if (code < 16) {
1026
+ return 90 + (code - 8);
1027
+ }
1028
+ let red;
1029
+ let green;
1030
+ let blue;
1031
+ if (code >= 232) {
1032
+ red = ((code - 232) * 10 + 8) / 255;
1033
+ green = red;
1034
+ blue = red;
1035
+ } else {
1036
+ code -= 16;
1037
+ const remainder = code % 36;
1038
+ red = Math.floor(code / 36) / 5;
1039
+ green = Math.floor(remainder / 6) / 5;
1040
+ blue = remainder % 6 / 5;
1041
+ }
1042
+ const value = Math.max(red, green, blue) * 2;
1043
+ if (value === 0) {
1044
+ return 30;
1045
+ }
1046
+ let result = 30 + (Math.round(blue) << 2 | Math.round(green) << 1 | Math.round(red));
1047
+ if (value === 2) {
1048
+ result += 60;
1049
+ }
1050
+ return result;
1051
+ },
1052
+ enumerable: false
1053
+ },
1054
+ rgbToAnsi: {
1055
+ value: (red, green, blue) => styles3.ansi256ToAnsi(styles3.rgbToAnsi256(red, green, blue)),
1056
+ enumerable: false
1057
+ },
1058
+ hexToAnsi: {
1059
+ value: (hex) => styles3.ansi256ToAnsi(styles3.hexToAnsi256(hex)),
1060
+ enumerable: false
1061
+ }
1062
+ });
1063
+ return styles3;
1064
+ }
1065
+ var ansiStyles2 = assembleStyles2();
1066
+ var ansi_styles_default2 = ansiStyles2;
1067
+ var ESCAPES = new Set([
1068
+ "\x1B",
1069
+ "›"
1070
+ ]);
1071
+ var END_CODE = 39;
1072
+ var ANSI_ESCAPE_BELL = "\x07";
1073
+ var ANSI_CSI = "[";
1074
+ var ANSI_OSC = "]";
1075
+ var ANSI_SGR_TERMINATOR = "m";
1076
+ var ANSI_ESCAPE_LINK = `${ANSI_OSC}8;;`;
1077
+ var wrapAnsiCode = (code) => `${ESCAPES.values().next().value}${ANSI_CSI}${code}${ANSI_SGR_TERMINATOR}`;
1078
+ var wrapAnsiHyperlink = (uri) => `${ESCAPES.values().next().value}${ANSI_ESCAPE_LINK}${uri}${ANSI_ESCAPE_BELL}`;
1079
+ var wordLengths = (string) => string.split(" ").map((character) => stringWidth(character));
1080
+ var wrapWord = (rows, word, columns) => {
1081
+ const characters = [...word];
1082
+ let isInsideEscape = false;
1083
+ let isInsideLinkEscape = false;
1084
+ let visible = stringWidth(stripAnsi(rows[rows.length - 1]));
1085
+ for (const [index, character] of characters.entries()) {
1086
+ const characterLength = stringWidth(character);
1087
+ if (visible + characterLength <= columns) {
1088
+ rows[rows.length - 1] += character;
1089
+ } else {
1090
+ rows.push(character);
1091
+ visible = 0;
1092
+ }
1093
+ if (ESCAPES.has(character)) {
1094
+ isInsideEscape = true;
1095
+ isInsideLinkEscape = characters.slice(index + 1).join("").startsWith(ANSI_ESCAPE_LINK);
1096
+ }
1097
+ if (isInsideEscape) {
1098
+ if (isInsideLinkEscape) {
1099
+ if (character === ANSI_ESCAPE_BELL) {
1100
+ isInsideEscape = false;
1101
+ isInsideLinkEscape = false;
1102
+ }
1103
+ } else if (character === ANSI_SGR_TERMINATOR) {
1104
+ isInsideEscape = false;
1105
+ }
1106
+ continue;
1107
+ }
1108
+ visible += characterLength;
1109
+ if (visible === columns && index < characters.length - 1) {
1110
+ rows.push("");
1111
+ visible = 0;
1112
+ }
1113
+ }
1114
+ if (!visible && rows[rows.length - 1].length > 0 && rows.length > 1) {
1115
+ rows[rows.length - 2] += rows.pop();
1116
+ }
1117
+ };
1118
+ var stringVisibleTrimSpacesRight = (string) => {
1119
+ const words = string.split(" ");
1120
+ let last = words.length;
1121
+ while (last > 0) {
1122
+ if (stringWidth(words[last - 1]) > 0) {
1123
+ break;
1124
+ }
1125
+ last--;
1126
+ }
1127
+ if (last === words.length) {
1128
+ return string;
1129
+ }
1130
+ return words.slice(0, last).join(" ") + words.slice(last).join("");
1131
+ };
1132
+ var exec = (string, columns, options = {}) => {
1133
+ if (options.trim !== false && string.trim() === "") {
1134
+ return "";
1135
+ }
1136
+ let returnValue = "";
1137
+ let escapeCode;
1138
+ let escapeUrl;
1139
+ const lengths = wordLengths(string);
1140
+ let rows = [""];
1141
+ for (const [index, word] of string.split(" ").entries()) {
1142
+ if (options.trim !== false) {
1143
+ rows[rows.length - 1] = rows[rows.length - 1].trimStart();
1144
+ }
1145
+ let rowLength = stringWidth(rows[rows.length - 1]);
1146
+ if (index !== 0) {
1147
+ if (rowLength >= columns && (options.wordWrap === false || options.trim === false)) {
1148
+ rows.push("");
1149
+ rowLength = 0;
1150
+ }
1151
+ if (rowLength > 0 || options.trim === false) {
1152
+ rows[rows.length - 1] += " ";
1153
+ rowLength++;
1154
+ }
1155
+ }
1156
+ if (options.hard && lengths[index] > columns) {
1157
+ const remainingColumns = columns - rowLength;
1158
+ const breaksStartingThisLine = 1 + Math.floor((lengths[index] - remainingColumns - 1) / columns);
1159
+ const breaksStartingNextLine = Math.floor((lengths[index] - 1) / columns);
1160
+ if (breaksStartingNextLine < breaksStartingThisLine) {
1161
+ rows.push("");
1162
+ }
1163
+ wrapWord(rows, word, columns);
1164
+ continue;
1165
+ }
1166
+ if (rowLength + lengths[index] > columns && rowLength > 0 && lengths[index] > 0) {
1167
+ if (options.wordWrap === false && rowLength < columns) {
1168
+ wrapWord(rows, word, columns);
1169
+ continue;
1170
+ }
1171
+ rows.push("");
1172
+ }
1173
+ if (rowLength + lengths[index] > columns && options.wordWrap === false) {
1174
+ wrapWord(rows, word, columns);
1175
+ continue;
1176
+ }
1177
+ rows[rows.length - 1] += word;
1178
+ }
1179
+ if (options.trim !== false) {
1180
+ rows = rows.map((row) => stringVisibleTrimSpacesRight(row));
1181
+ }
1182
+ const pre = [...rows.join(`
1183
+ `)];
1184
+ for (const [index, character] of pre.entries()) {
1185
+ returnValue += character;
1186
+ if (ESCAPES.has(character)) {
1187
+ const { groups } = new RegExp(`(?:\\${ANSI_CSI}(?<code>\\d+)m|\\${ANSI_ESCAPE_LINK}(?<uri>.*)${ANSI_ESCAPE_BELL})`).exec(pre.slice(index).join("")) || { groups: {} };
1188
+ if (groups.code !== undefined) {
1189
+ const code2 = Number.parseFloat(groups.code);
1190
+ escapeCode = code2 === END_CODE ? undefined : code2;
1191
+ } else if (groups.uri !== undefined) {
1192
+ escapeUrl = groups.uri.length === 0 ? undefined : groups.uri;
1193
+ }
1194
+ }
1195
+ const code = ansi_styles_default2.codes.get(Number(escapeCode));
1196
+ if (pre[index + 1] === `
1197
+ `) {
1198
+ if (escapeUrl) {
1199
+ returnValue += wrapAnsiHyperlink("");
1200
+ }
1201
+ if (escapeCode && code) {
1202
+ returnValue += wrapAnsiCode(code);
1203
+ }
1204
+ } else if (character === `
1205
+ `) {
1206
+ if (escapeCode && code) {
1207
+ returnValue += wrapAnsiCode(escapeCode);
1208
+ }
1209
+ if (escapeUrl) {
1210
+ returnValue += wrapAnsiHyperlink(escapeUrl);
1211
+ }
1212
+ }
1213
+ }
1214
+ return returnValue;
1215
+ };
1216
+ function wrapAnsi(string, columns, options) {
1217
+ return String(string).normalize().replace(/\r\n/g, `
1218
+ `).split(`
1219
+ `).map((line) => exec(line, columns, options)).join(`
1220
+ `);
1221
+ }
1222
+ var import_eastasianwidth2 = __toESM2(require_eastasianwidth(), 1);
1223
+ var import_emoji_regex2 = __toESM2(require_emoji_regex2(), 1);
1224
+ function stringWidth2(string, options) {
1225
+ if (typeof string !== "string" || string.length === 0) {
1226
+ return 0;
1227
+ }
1228
+ options = {
1229
+ ambiguousIsNarrow: true,
1230
+ countAnsiEscapeCodes: false,
1231
+ ...options
1232
+ };
1233
+ if (!options.countAnsiEscapeCodes) {
1234
+ string = stripAnsi(string);
1235
+ }
1236
+ if (string.length === 0) {
1237
+ return 0;
1238
+ }
1239
+ const ambiguousCharacterWidth = options.ambiguousIsNarrow ? 1 : 2;
1240
+ let width = 0;
1241
+ for (const { segment: character } of new Intl.Segmenter().segment(string)) {
1242
+ const codePoint = character.codePointAt(0);
1243
+ if (codePoint <= 31 || codePoint >= 127 && codePoint <= 159) {
1244
+ continue;
1245
+ }
1246
+ if (codePoint >= 768 && codePoint <= 879) {
1247
+ continue;
1248
+ }
1249
+ if (import_emoji_regex2.default().test(character)) {
1250
+ width += 2;
1251
+ continue;
1252
+ }
1253
+ const code = import_eastasianwidth2.default.eastAsianWidth(character);
1254
+ switch (code) {
1255
+ case "F":
1256
+ case "W": {
1257
+ width += 2;
1258
+ break;
1259
+ }
1260
+ case "A": {
1261
+ width += ambiguousCharacterWidth;
1262
+ break;
1263
+ }
1264
+ default: {
1265
+ width += 1;
1266
+ }
1267
+ }
1268
+ }
1269
+ return width;
1270
+ }
1271
+ var import_cli_boxes = __toESM2(require_cli_boxes(), 1);
1272
+ var border = import_cli_boxes.default.round;
1273
+ var leftOffset = 17;
1274
+ var defaultGreeting = `
1275
+ _-----_ ` + `
1276
+ | | ` + `
1277
+ |` + source_default.red("--(o)--") + "| " + "\n `---------´ " + `
1278
+ ` + source_default.yellow("(") + " _" + source_default.yellow("´U`") + "_ " + source_default.yellow(")") + " " + `
1279
+ /___A___\\ /` + `
1280
+ ` + source_default.yellow("| ~ |") + " " + `
1281
+ __` + source_default.yellow("'.___.'") + "__ " + `
1282
+ ´ ` + source_default.red("` |") + "° " + source_default.red("´ Y") + " ` ";
1283
+ function yosay(message, options = {}) {
1284
+ message = (message ?? "Welcome to Yeoman, ladies and gentlemen!").trim();
1285
+ const styledIndexes = {};
1286
+ let maxLength = 24;
1287
+ let topOffset = 4;
1288
+ let completedString = "";
1289
+ const YEOMAN_CHARACTER_WIDTH = 17;
1290
+ const DEFAULT_TOP_FRAME_WIDTH = 28;
1291
+ const MAX_MESSAGE_LINES_BEFORE_OVERFLOW = 7;
1292
+ let TOTAL_CHARACTERS_PER_LINE = YEOMAN_CHARACTER_WIDTH + DEFAULT_TOP_FRAME_WIDTH;
1293
+ if (options.maxLength) {
1294
+ maxLength = stripAnsi(message).toLowerCase().split(" ").sort()[0].length;
1295
+ if (maxLength < options.maxLength) {
1296
+ maxLength = options.maxLength;
1297
+ TOTAL_CHARACTERS_PER_LINE = maxLength + YEOMAN_CHARACTER_WIDTH + topOffset;
1298
+ }
1299
+ }
1300
+ const regexNewline = new RegExp(`\\s{${maxLength}}`);
1301
+ const borderHorizontal = border.top.repeat(maxLength + 2);
1302
+ const frame = {
1303
+ top: border.topLeft + borderHorizontal + border.topRight,
1304
+ side: ansi_styles_default2.reset.open + border.left + ansi_styles_default2.reset.open,
1305
+ bottom: ansi_styles_default2.reset.open + border.bottomLeft + borderHorizontal + border.bottomRight
1306
+ };
1307
+ message.replace(ansiRegex(), (match, offset) => {
1308
+ for (const value of Object.values(styledIndexes)) {
1309
+ offset -= value.length;
1310
+ }
1311
+ styledIndexes[offset] = styledIndexes[offset] ? styledIndexes[offset] + match : match;
1312
+ });
1313
+ const strippedMessage = stripAnsi(message);
1314
+ const spacesIndex = [];
1315
+ strippedMessage.split(" ").reduce((accumulator, currentValue) => {
1316
+ spacesIndex.push(accumulator + currentValue.length);
1317
+ return spacesIndex.at(-1) + 1;
1318
+ }, 0);
1319
+ return wrapAnsi(strippedMessage, maxLength, { hard: true }).split(/\n/).reduce((greeting, string_, index, array) => {
1320
+ if (!regexNewline.test(string_)) {
1321
+ string_ = string_.trim();
1322
+ }
1323
+ completedString += string_;
1324
+ let offset = 0;
1325
+ for (const element of spacesIndex) {
1326
+ const character = completedString[element - offset];
1327
+ if (character) {
1328
+ if (character !== " ") {
1329
+ offset += 1;
1330
+ }
1331
+ } else {
1332
+ break;
1333
+ }
1334
+ }
1335
+ string_ = completedString.slice(completedString.length - string_.length).replaceAll(/./g, (character, characterIndex) => {
1336
+ characterIndex += completedString.length - string_.length + offset;
1337
+ let hasContinuedStyle = 0;
1338
+ let continuedStyle;
1339
+ for (const offset2 of Object.keys(styledIndexes)) {
1340
+ if (characterIndex > offset2) {
1341
+ hasContinuedStyle++;
1342
+ continuedStyle = styledIndexes[offset2];
1343
+ }
1344
+ if (hasContinuedStyle === 1 && characterIndex < offset2) {
1345
+ hasContinuedStyle++;
1346
+ }
1347
+ }
1348
+ if (styledIndexes[characterIndex]) {
1349
+ return styledIndexes[characterIndex] + character;
1350
+ }
1351
+ if (hasContinuedStyle >= 2) {
1352
+ return continuedStyle + character;
1353
+ }
1354
+ return character;
1355
+ }).trim();
1356
+ const paddedString = import_pad_component.default({
1357
+ length: stringWidth2(string_),
1358
+ valueOf() {
1359
+ return ansi_styles_default2.reset.open + string_ + ansi_styles_default2.reset.open;
1360
+ }
1361
+ }, maxLength);
1362
+ if (index === 0) {
1363
+ if (array.length === 2) {
1364
+ topOffset -= 1;
1365
+ }
1366
+ if (array.length >= 3) {
1367
+ topOffset -= 2;
1368
+ }
1369
+ if (array.length > MAX_MESSAGE_LINES_BEFORE_OVERFLOW) {
1370
+ const emptyLines = Math.ceil((array.length - MAX_MESSAGE_LINES_BEFORE_OVERFLOW) / 2);
1371
+ for (let i = 0;i < emptyLines; i++) {
1372
+ greeting.unshift("");
1373
+ }
1374
+ frame.top = import_pad_component.default.left(frame.top, TOTAL_CHARACTERS_PER_LINE);
1375
+ }
1376
+ greeting[topOffset - 1] += frame.top;
1377
+ }
1378
+ greeting[index + topOffset] = (greeting[index + topOffset] || import_pad_component.default.left("", leftOffset)) + frame.side + " " + paddedString + " " + frame.side;
1379
+ if (array.length === index + 1) {
1380
+ greeting[index + topOffset + 1] = (greeting[index + topOffset + 1] || import_pad_component.default.left("", leftOffset)) + frame.bottom;
1381
+ }
1382
+ return greeting;
1383
+ }, defaultGreeting.split(/\n/)).join(`
1384
+ `) + `
1385
+ `;
1386
+ }
1387
+ var optsArg = (opts) => {
1388
+ if (!opts) {
1389
+ opts = { mode: 511 };
1390
+ } else if (typeof opts === "object") {
1391
+ opts = { mode: 511, ...opts };
1392
+ } else if (typeof opts === "number") {
1393
+ opts = { mode: opts };
1394
+ } else if (typeof opts === "string") {
1395
+ opts = { mode: parseInt(opts, 8) };
1396
+ } else {
1397
+ throw new TypeError("invalid options argument");
1398
+ }
1399
+ const resolved = opts;
1400
+ const optsFs = opts.fs || {};
1401
+ opts.mkdir = opts.mkdir || optsFs.mkdir || import_fs.mkdir;
1402
+ opts.mkdirAsync = opts.mkdirAsync ? opts.mkdirAsync : async (path2, options) => {
1403
+ return new Promise((res, rej) => resolved.mkdir(path2, options, (er, made) => er ? rej(er) : res(made)));
1404
+ };
1405
+ opts.stat = opts.stat || optsFs.stat || import_fs.stat;
1406
+ opts.statAsync = opts.statAsync ? opts.statAsync : async (path2) => new Promise((res, rej) => resolved.stat(path2, (err, stats) => err ? rej(err) : res(stats)));
1407
+ opts.statSync = opts.statSync || optsFs.statSync || import_fs.statSync;
1408
+ opts.mkdirSync = opts.mkdirSync || optsFs.mkdirSync || import_fs.mkdirSync;
1409
+ return resolved;
1410
+ };
1411
+ var mkdirpManualSync = (path2, options, made) => {
1412
+ const parent = import_path.dirname(path2);
1413
+ const opts = { ...optsArg(options), recursive: false };
1414
+ if (parent === path2) {
1415
+ try {
1416
+ return opts.mkdirSync(path2, opts);
1417
+ } catch (er) {
1418
+ const fer = er;
1419
+ if (fer && fer.code !== "EISDIR") {
1420
+ throw er;
1421
+ }
1422
+ return;
1423
+ }
1424
+ }
1425
+ try {
1426
+ opts.mkdirSync(path2, opts);
1427
+ return made || path2;
1428
+ } catch (er) {
1429
+ const fer = er;
1430
+ if (fer && fer.code === "ENOENT") {
1431
+ return mkdirpManualSync(path2, opts, mkdirpManualSync(parent, opts, made));
1432
+ }
1433
+ if (fer && fer.code !== "EEXIST" && fer && fer.code !== "EROFS") {
1434
+ throw er;
1435
+ }
1436
+ try {
1437
+ if (!opts.statSync(path2).isDirectory())
1438
+ throw er;
1439
+ } catch (_) {
1440
+ throw er;
1441
+ }
1442
+ }
1443
+ };
1444
+ var mkdirpManual = Object.assign(async (path2, options, made) => {
1445
+ const opts = optsArg(options);
1446
+ opts.recursive = false;
1447
+ const parent = import_path.dirname(path2);
1448
+ if (parent === path2) {
1449
+ return opts.mkdirAsync(path2, opts).catch((er) => {
1450
+ const fer = er;
1451
+ if (fer && fer.code !== "EISDIR") {
1452
+ throw er;
1453
+ }
1454
+ });
1455
+ }
1456
+ return opts.mkdirAsync(path2, opts).then(() => made || path2, async (er) => {
1457
+ const fer = er;
1458
+ if (fer && fer.code === "ENOENT") {
1459
+ return mkdirpManual(parent, opts).then((made2) => mkdirpManual(path2, opts, made2));
1460
+ }
1461
+ if (fer && fer.code !== "EEXIST" && fer.code !== "EROFS") {
1462
+ throw er;
1463
+ }
1464
+ return opts.statAsync(path2).then((st) => {
1465
+ if (st.isDirectory()) {
1466
+ return made;
1467
+ } else {
1468
+ throw er;
1469
+ }
1470
+ }, () => {
1471
+ throw er;
1472
+ });
1473
+ });
1474
+ }, { sync: mkdirpManualSync });
1475
+ var findMade = async (opts, parent, path2) => {
1476
+ if (path2 === parent) {
1477
+ return;
1478
+ }
1479
+ return opts.statAsync(parent).then((st) => st.isDirectory() ? path2 : undefined, (er) => {
1480
+ const fer = er;
1481
+ return fer && fer.code === "ENOENT" ? findMade(opts, import_path3.dirname(parent), parent) : undefined;
1482
+ });
1483
+ };
1484
+ var findMadeSync = (opts, parent, path2) => {
1485
+ if (path2 === parent) {
1486
+ return;
1487
+ }
1488
+ try {
1489
+ return opts.statSync(parent).isDirectory() ? path2 : undefined;
1490
+ } catch (er) {
1491
+ const fer = er;
1492
+ return fer && fer.code === "ENOENT" ? findMadeSync(opts, import_path3.dirname(parent), parent) : undefined;
1493
+ }
1494
+ };
1495
+ var mkdirpNativeSync = (path2, options) => {
1496
+ const opts = optsArg(options);
1497
+ opts.recursive = true;
1498
+ const parent = import_path2.dirname(path2);
1499
+ if (parent === path2) {
1500
+ return opts.mkdirSync(path2, opts);
1501
+ }
1502
+ const made = findMadeSync(opts, path2);
1503
+ try {
1504
+ opts.mkdirSync(path2, opts);
1505
+ return made;
1506
+ } catch (er) {
1507
+ const fer = er;
1508
+ if (fer && fer.code === "ENOENT") {
1509
+ return mkdirpManualSync(path2, opts);
1510
+ } else {
1511
+ throw er;
1512
+ }
1513
+ }
1514
+ };
1515
+ var mkdirpNative = Object.assign(async (path2, options) => {
1516
+ const opts = { ...optsArg(options), recursive: true };
1517
+ const parent = import_path2.dirname(path2);
1518
+ if (parent === path2) {
1519
+ return await opts.mkdirAsync(path2, opts);
1520
+ }
1521
+ return findMade(opts, path2).then((made) => opts.mkdirAsync(path2, opts).then((m) => made || m).catch((er) => {
1522
+ const fer = er;
1523
+ if (fer && fer.code === "ENOENT") {
1524
+ return mkdirpManual(path2, opts);
1525
+ } else {
1526
+ throw er;
1527
+ }
1528
+ }));
1529
+ }, { sync: mkdirpNativeSync });
1530
+ var platform = process.env.__TESTING_MKDIRP_PLATFORM__ || process.platform;
1531
+ var pathArg = (path2) => {
1532
+ if (/\0/.test(path2)) {
1533
+ throw Object.assign(new TypeError("path must be a string without null bytes"), {
1534
+ path: path2,
1535
+ code: "ERR_INVALID_ARG_VALUE"
1536
+ });
1537
+ }
1538
+ path2 = import_path4.resolve(path2);
1539
+ if (platform === "win32") {
1540
+ const badWinChars = /[*|"<>?:]/;
1541
+ const { root } = import_path4.parse(path2);
1542
+ if (badWinChars.test(path2.substring(root.length))) {
1543
+ throw Object.assign(new Error("Illegal characters in path."), {
1544
+ path: path2,
1545
+ code: "EINVAL"
1546
+ });
1547
+ }
1548
+ }
1549
+ return path2;
1550
+ };
1551
+ var version = process.env.__TESTING_MKDIRP_NODE_VERSION__ || process.version;
1552
+ var versArr = version.replace(/^v/, "").split(".");
1553
+ var hasNative = +versArr[0] > 10 || +versArr[0] === 10 && +versArr[1] >= 12;
1554
+ var useNativeSync = !hasNative ? () => false : (opts) => optsArg(opts).mkdirSync === import_fs2.mkdirSync;
1555
+ var useNative = Object.assign(!hasNative ? () => false : (opts) => optsArg(opts).mkdir === import_fs2.mkdir, {
1556
+ sync: useNativeSync
1557
+ });
1558
+ var mkdirpSync = (path2, opts) => {
1559
+ path2 = pathArg(path2);
1560
+ const resolved = optsArg(opts);
1561
+ return useNativeSync(resolved) ? mkdirpNativeSync(path2, resolved) : mkdirpManualSync(path2, resolved);
1562
+ };
1563
+ var mkdirp = Object.assign(async (path2, opts) => {
1564
+ path2 = pathArg(path2);
1565
+ const resolved = optsArg(opts);
1566
+ return useNative(resolved) ? mkdirpNative(path2, resolved) : mkdirpManual(path2, resolved);
1567
+ }, {
1568
+ mkdirpSync,
1569
+ mkdirpNative,
1570
+ mkdirpNativeSync,
1571
+ mkdirpManual,
1572
+ mkdirpManualSync,
1573
+ sync: mkdirpSync,
1574
+ native: mkdirpNative,
1575
+ nativeSync: mkdirpNativeSync,
1576
+ manual: mkdirpManual,
1577
+ manualSync: mkdirpManualSync,
1578
+ useNative,
1579
+ useNativeSync
1580
+ });
1581
+ var globSync = (folderPath, callback, firstLevelOnly) => {
1582
+ const fileArr = FS4.readdirSync(folderPath);
1583
+ while (fileArr.length !== 0) {
1584
+ const relativePath = fileArr.shift();
1585
+ const fullPath = PATH2.join(folderPath, relativePath);
1586
+ if (FS4.statSync(fullPath).isDirectory()) {
1587
+ if (!firstLevelOnly) {
1588
+ fileArr.push(...FS4.readdirSync(fullPath).map((v) => PATH2.join(relativePath, v)));
1589
+ }
1590
+ } else {
1591
+ const extname2 = PATH2.extname(relativePath);
1592
+ callback({
1593
+ fullPath,
1594
+ relativePath,
1595
+ extname: extname2,
1596
+ filename: PATH2.basename(relativePath, extname2),
1597
+ basename: PATH2.basename(relativePath),
1598
+ dirname: PATH2.dirname(relativePath)
1599
+ });
1600
+ }
1601
+ }
1602
+ };
1603
+ var globSync_default = globSync;
1604
+ var handleRepository = (oGen) => {
1605
+ const { payload } = oGen;
1606
+ if (!payload.repositoryName) {
1607
+ payload.repositoryName = payload.mainName;
1608
+ }
1609
+ const url = `https://github.com/${payload.repositoryOrgName ? payload.repositoryOrgName + "/" : ""}${payload.repositoryName}`;
1610
+ const gitUrl = `git+${url}`;
1611
+ payload.repository = { type: "git", url: gitUrl };
1612
+ payload.repositoryUrl = url;
1613
+ if (payload.babelRootMode) {
1614
+ let pkgPath = `packages/${payload.mainName}`;
1615
+ if (payload.repositoryName) {
1616
+ const destFolder = oGen.destinationRoot();
1617
+ const findRepositoryName = destFolder.lastIndexOf(payload.repositoryName);
1618
+ if (findRepositoryName !== -1) {
1619
+ pkgPath = destFolder.substring(findRepositoryName + payload.repositoryName.length + 1);
1620
+ }
1621
+ }
1622
+ payload.repository.directory = pkgPath;
1623
+ payload.repositoryHomepage = `${url}/tree/main/${pkgPath}`;
1624
+ } else {
1625
+ payload.repositoryHomepage = url;
1626
+ }
1627
+ };
1628
+ var handleAnswers = (oGen) => (answers, cb = () => {}) => {
1629
+ const { mainName, isUseWebpack } = answers;
1630
+ oGen.mainName = mainName;
1631
+ oGen.payload = {
1632
+ ...answers,
1633
+ description: answers.description || "TODO: description",
1634
+ keyword: answers.keyword || mainName,
1635
+ npmDependencies: {},
1636
+ babelRootMode: "",
1637
+ webpackEnabled: ""
1638
+ };
1639
+ if (answers.babelRootMode) {
1640
+ oGen.payload.babelRootMode = " --root-mode upward";
1641
+ }
1642
+ if (isUseWebpack) {
1643
+ oGen.payload.webpackEnabled = "on";
1644
+ oGen.payload.npmDependencies["reshow-app"] = "*";
1645
+ }
1646
+ handleRepository(oGen);
1647
+ cb(oGen.payload);
1648
+ };
1649
+ var handleAnswers_default = handleAnswers;
1650
+ var import_handleKeywords = __toESM2(require_handleKeywords(), 1);
1651
+ var isPrototypePolluted = function isPrototypePolluted2(arrPath) {
1652
+ var joinPath = "|" + arrPath.join("|") + "|";
1653
+ return ["__proto__", "constructor", "prototype"].some(function(key) {
1654
+ return joinPath.indexOf("|" + key + "|") !== -1;
1655
+ });
1656
+ };
1657
+ var replaceValue = function replaceValue2(obj, arrPath, val, isAppend, unSafe) {
1658
+ if (!unSafe && isPrototypePolluted(arrPath)) {
1659
+ throw "Contain un-safe key.";
1660
+ }
1661
+ var last = arrPath.pop();
1662
+ var linkObj = obj;
1663
+ arrPath.forEach(function(k) {
1664
+ var _linkObj$k;
1665
+ linkObj[k] = (_linkObj$k = linkObj[k]) !== null && _linkObj$k !== undefined ? _linkObj$k : Object.create(null);
1666
+ linkObj = linkObj[k];
1667
+ });
1668
+ if (isAppend && (!linkObj[last] || !linkObj[last].push)) {
1669
+ if (!linkObj[last]) {
1670
+ linkObj[last] = [val];
1671
+ } else {
1672
+ linkObj[last] = [linkObj[last], val];
1673
+ }
1674
+ } else if (isAppend && linkObj[last].push) {
1675
+ linkObj[last].push(val);
1676
+ } else {
1677
+ linkObj[last] = val;
1678
+ }
1679
+ };
1680
+ var src_default = replaceValue;
1681
+ var nest = function nest2(a, delimiter) {
1682
+ delimiter = delimiter || ".";
1683
+ var tree = {};
1684
+ KEYS(a).forEach(function(k) {
1685
+ if (k.indexOf(delimiter) === -1) {
1686
+ tree[k] = a[k];
1687
+ return;
1688
+ }
1689
+ var subKeys = k.split(delimiter);
1690
+ src_default(tree, subKeys, a[k]);
1691
+ });
1692
+ return tree;
1693
+ };
1694
+ var nest_default = nest;
1695
+ var fileGetContents = (f) => isFile_default(f) && FS5.readFileSync(f, "utf8");
1696
+ var fileGetContents_default = fileGetContents;
1697
+ var searchDotYo = (path2, isRoot) => {
1698
+ const dirs = path2.split("/");
1699
+ if (isRoot) {
1700
+ dirs.pop();
1701
+ }
1702
+ while (dirs.length !== 0) {
1703
+ const curDotYo = "/" + PATH3.join(...dirs, ".yo");
1704
+ if (isFile_default(curDotYo)) {
1705
+ return curDotYo;
1706
+ }
1707
+ dirs.pop();
1708
+ }
1709
+ return;
1710
+ };
1711
+ var getIni = (f) => nest_default(import_parse_ini_string.default(fileGetContents_default(f)), "_");
1712
+ var getDotYo = ({ bGetHomeYo = true, pwd = process.cwd() } = {}) => {
1713
+ const homeYo = PATH3.join(OS.homedir(), ".yo");
1714
+ let homeData;
1715
+ if (isFile_default(homeYo) && bGetHomeYo) {
1716
+ homeData = getIni(homeYo);
1717
+ }
1718
+ const rootYo = searchDotYo(pwd, true);
1719
+ let rootData;
1720
+ if (rootYo && isFile_default(rootYo)) {
1721
+ rootData = getIni(rootYo);
1722
+ }
1723
+ const dotYo = searchDotYo(pwd);
1724
+ const data = dotYo ? getIni(dotYo) : {};
1725
+ return {
1726
+ ...homeData,
1727
+ ...rootData,
1728
+ ...data
1729
+ };
1730
+ };
1731
+ var promptResetDefault = (prompts, yoData = getDotYo()) => {
1732
+ prompts.forEach((oPrompt) => {
1733
+ const hasYoData = yoData[oPrompt.name];
1734
+ if (hasYoData != null) {
1735
+ oPrompt.default = hasYoData;
1736
+ }
1737
+ });
1738
+ return prompts;
1739
+ };
1740
+ var promptFilterByOptions = (prompts, yoData = getDotYo()) => {
1741
+ const nextAnswer = {};
1742
+ const nextPrompts = prompts.filter((oPrompt) => {
1743
+ const hasYoData = yoData[oPrompt.name];
1744
+ if (hasYoData != null) {
1745
+ nextAnswer[oPrompt.name] = hasYoData;
1746
+ return false;
1747
+ } else {
1748
+ return true;
1749
+ }
1750
+ });
1751
+ return { nextAnswer, nextPrompts };
1752
+ };
1753
+ var lastAns = { current: {} };
1754
+ var exitCb = { current: null };
1755
+ var onExit = (cb) => cb && (exitCb.current = cb);
1756
+ process.once("exit", () => {
1757
+ if (FUNCTION === typeof exitCb.current && exitCb.current !== null) {
1758
+ exitCb.current();
1759
+ }
1760
+ process.exit(0);
1761
+ });
1762
+ var RUN_CP = (oGen) => (src, dest, options, bOverwrite) => {
1763
+ const oGenFs = oGen.fs;
1764
+ const action = options ? oGenFs.copyTpl : oGenFs.copy;
1765
+ let actualSrc;
1766
+ if (!isFile_default(src) || isFile_default(oGen.templatePath(src))) {
1767
+ dest = dest || (isDir_default(src) ? PATH4.basename(src) : src);
1768
+ actualSrc = oGen.templatePath(src);
1769
+ } else {
1770
+ dest = dest || PATH4.basename(src);
1771
+ actualSrc = src;
1772
+ }
1773
+ try {
1774
+ const realDestFile = oGen.destinationPath(dest);
1775
+ if (!isFile_default(realDestFile) || bOverwrite) {
1776
+ if (isFile_default(realDestFile) && bOverwrite) {
1777
+ unlink_default(realDestFile);
1778
+ }
1779
+ action.call(oGenFs, actualSrc, realDestFile, options);
1780
+ }
1781
+ } catch (e) {
1782
+ throw e;
1783
+ }
1784
+ return dest;
1785
+ };
1786
+ var RUN_SAY = (oGen) => (message, options = { maxLength: 30 }) => {
1787
+ if (STRING !== typeof message) {
1788
+ oGen.log(JSON.stringify(message, null, "\t"));
1789
+ } else {
1790
+ oGen.log(yosay(message, options));
1791
+ }
1792
+ };
1793
+ var promptChainLocator = (prompts) => () => prompts.shift();
1794
+ var YoHelper = (oGen) => {
1795
+ const mkdir3 = (dir) => mkdirp(oGen.destinationPath(dir));
1796
+ const chdir = (dir) => oGen.destinationRoot(dir);
1797
+ const cp = RUN_CP(oGen);
1798
+ const say = RUN_SAY(oGen);
1799
+ if (!exitCb.current) {
1800
+ onExit(() => say(`Bye from us!
1801
+ Chat soon.`));
1802
+ }
1803
+ const promptChain = (promptLocator, cb, nextAnswer = {}) => {
1804
+ cb = cb || (() => true);
1805
+ let i = 0;
1806
+ lastAns.current = nextAnswer;
1807
+ const go = (thisPrompt) => {
1808
+ return thisPrompt ? oGen.prompt(thisPrompt).then((props) => {
1809
+ lastAns.current = { ...lastAns.current, ...props };
1810
+ const isContinue = cb(lastAns.current);
1811
+ if (isContinue) {
1812
+ i++;
1813
+ return go(promptLocator(i, lastAns.current));
1814
+ } else {
1815
+ return oGen.prompt([]);
1816
+ }
1817
+ }) : OBJ_SIZE(lastAns.current) ? lastAns.current : oGen.prompt([]);
1818
+ };
1819
+ return go(promptLocator(i, lastAns));
1820
+ };
1821
+ const chainUtil = {
1822
+ mergePromptOrOption: (prompts, cb = (nextPrompts, nextAnswer) => promptChain(promptChainLocator(nextPrompts), undefined, nextAnswer)) => {
1823
+ const options = {
1824
+ ...oGen.options,
1825
+ ...getDotYo(oGen.options)
1826
+ };
1827
+ const { nextAnswer, nextPrompts } = promptFilterByOptions(prompts, options);
1828
+ return cb(nextPrompts, nextAnswer).then((props) => ({
1829
+ ...props,
1830
+ ...nextAnswer
1831
+ }));
1832
+ },
1833
+ promptChainLocator,
1834
+ promptChain
1835
+ };
1836
+ const syncJSON = (src, dest, options, cb) => {
1837
+ if (src != null) {
1838
+ dest = cp(src, dest, options);
1839
+ }
1840
+ cb = cb || ((json2) => json2);
1841
+ const json = oGen.readDestinationJSON(dest);
1842
+ const nextJson = cb(json, options);
1843
+ if (nextJson && dest != null) {
1844
+ return { json: nextJson, dest };
1845
+ }
1846
+ return;
1847
+ };
1848
+ const updateDestJSON = (dest, options, cb) => {
1849
+ const json = oGen.readDestinationJSON(dest);
1850
+ cb = cb || ((json2) => json2);
1851
+ const nextJson = cb(json, options);
1852
+ if (nextJson) {
1853
+ oGen.writeDestinationJSON(dest, json);
1854
+ return { json };
1855
+ }
1856
+ return;
1857
+ };
1858
+ return {
1859
+ say,
1860
+ cp,
1861
+ mkdir: mkdir3,
1862
+ getDestFolderName: () => getDestFolderName_default(oGen),
1863
+ chdir,
1864
+ chMainName: (name = oGen.mainName) => {
1865
+ if (name !== getDestFolderName_default(oGen)) {
1866
+ chdir(name);
1867
+ }
1868
+ },
1869
+ syncJSON,
1870
+ updateDestJSON,
1871
+ updateJSON: (src, dest, options, cb) => {
1872
+ const result = syncJSON(src, dest, options, cb);
1873
+ if (result) {
1874
+ const { json, dest: resolvedDest } = result;
1875
+ oGen.writeDestinationJSON(resolvedDest, json);
1876
+ return { json };
1877
+ }
1878
+ return;
1879
+ },
1880
+ onExit,
1881
+ exit: (cb, statusCode = 0) => {
1882
+ onExit(cb);
1883
+ process.exit(statusCode);
1884
+ },
1885
+ getDotYo,
1886
+ isFile: (f) => {
1887
+ const destPath = oGen.destinationPath(f);
1888
+ if (isFile_default(destPath)) {
1889
+ return destPath;
1890
+ } else {
1891
+ return false;
1892
+ }
1893
+ },
1894
+ glob: (srcPath, ...p) => {
1895
+ const actualSrc = isDir_default(srcPath) ? srcPath : oGen.templatePath(srcPath || "");
1896
+ globSync_default(actualSrc, p[0], p[1]);
1897
+ },
1898
+ promptResetDefault,
1899
+ ...chainUtil,
1900
+ promptChainAll: (prompts, {
1901
+ locator = chainUtil.promptChainLocator,
1902
+ callback
1903
+ } = {}) => {
1904
+ return chainUtil.mergePromptOrOption(prompts, (nextPrompts, nextAnswer) => {
1905
+ return chainUtil.promptChain(locator(nextPrompts), callback, nextAnswer);
1906
+ });
1907
+ },
1908
+ getAllAns: (customAns) => {
1909
+ return { ...customAns, ...lastAns.current };
1910
+ },
1911
+ handleAnswers: handleAnswers_default(oGen),
1912
+ handleKeywords: import_handleKeywords.default,
1913
+ composeWithBefore: (generatorPath, options) => {
1914
+ const ALL_PHASES = [
1915
+ "initializing",
1916
+ "prompting",
1917
+ "configuring",
1918
+ "default",
1919
+ "writing",
1920
+ "conflicts",
1921
+ "install",
1922
+ "end"
1923
+ ];
1924
+ const resolvedPath = __require.resolve(generatorPath);
1925
+ const GenClass = __require(resolvedPath);
1926
+ const ChildClass = GenClass.default || GenClass;
1927
+ const child = new ChildClass([], {
1928
+ ...oGen.options,
1929
+ ...options,
1930
+ env: oGen.env,
1931
+ resolved: resolvedPath
1932
+ });
1933
+ const runLoop = oGen.env.runLoop;
1934
+ ALL_PHASES.forEach((phase) => {
1935
+ const childFn = child[phase];
1936
+ if (typeof childFn !== "function")
1937
+ return;
1938
+ const subQueue = `before:${phase}`;
1939
+ runLoop.addSubQueue(subQueue, phase);
1940
+ runLoop.add(subQueue, (done) => {
1941
+ Promise.resolve(childFn.call(child)).then(done);
1942
+ });
1943
+ });
1944
+ }
1945
+ };
1946
+ };
1947
+ var YoHelper_default = YoHelper;
1948
+ var callFunc = function callFunc2(maybeFunc, functionArguments, scope, defaultReturns) {
1949
+ if (functionArguments === undefined) {
1950
+ functionArguments = [];
1951
+ }
1952
+ if (scope === undefined) {
1953
+ scope = T_UNDEFINED;
1954
+ }
1955
+ if (defaultReturns === undefined) {
1956
+ defaultReturns = T_UNDEFINED;
1957
+ }
1958
+ return FUNCTION === typeof maybeFunc ? maybeFunc.apply(scope, functionArguments) : UNDEFINED !== typeof defaultReturns ? defaultReturns : maybeFunc;
1959
+ };
1960
+ var callfunc_default = callFunc;
1961
+ var defaultI18n = {
1962
+ tip: ({ namespace }) => `Generate "${namespace}"
1963
+
1964
+ !!
1965
+
1966
+ You need create folder
1967
+ by yourself.`,
1968
+ isReady: ({ destFolderName }) => `We will put files to [${destFolderName}], do you confirm it?`,
1969
+ notReady: "Exit for not ready to create folder.",
1970
+ mainName: "Please confirm your naming? Or rename it."
1971
+ };
1972
+ var isNpx = () => process.env.npm_command === "exec";
1973
+ var mainNamePrompt = (oGen, i18n) => {
1974
+ const { say, getDestFolderName: getDestFolderName2, getAllAns, exit } = YoHelper_default(oGen);
1975
+ const mergedI18n = { ...defaultI18n, ...i18n };
1976
+ oGen.argument("argMainName", { type: String, required: false });
1977
+ const { argMainName, namespace } = oGen.options;
1978
+ oGen.options.subGeneratorName = namespace.split(":")[1];
1979
+ const prompts = [];
1980
+ if (!argMainName) {
1981
+ say(callfunc_default(mergedI18n.tip, [{ namespace }]));
1982
+ prompts.push({
1983
+ type: "confirm",
1984
+ name: "isReady",
1985
+ message: callfunc_default(mergedI18n.isReady, [
1986
+ { destFolderName: getDestFolderName2() }
1987
+ ]),
1988
+ default: isNpx()
1989
+ }, {
1990
+ when: (response) => {
1991
+ const allAns = getAllAns(response);
1992
+ if (!allAns.isReady) {
1993
+ exit(() => say(callfunc_default(mergedI18n.notReady)));
1994
+ }
1995
+ }
1996
+ });
1997
+ }
1998
+ prompts.push({
1999
+ type: "input",
2000
+ name: "mainName",
2001
+ message: callfunc_default(mergedI18n.mainName),
2002
+ default: argMainName || getDestFolderName2()
2003
+ });
2004
+ return prompts;
2005
+ };
2006
+ var mainNamePrompt_default = mainNamePrompt;
2007
+ var commonPrompt = {
2008
+ mainName: mainNamePrompt_default,
2009
+ desc: (oGen, { keyword = true } = {}) => {
2010
+ const nextPrompts = [
2011
+ {
2012
+ type: "input",
2013
+ name: "description",
2014
+ message: "Please input this description?",
2015
+ default: ""
2016
+ }
2017
+ ];
2018
+ if (keyword) {
2019
+ nextPrompts.push({
2020
+ type: "input",
2021
+ name: "keyword",
2022
+ message: "Please input keyword?",
2023
+ default: ""
2024
+ });
2025
+ }
2026
+ return nextPrompts;
2027
+ },
2028
+ author: (oGen) => [
2029
+ {
2030
+ type: "input",
2031
+ name: "authorName",
2032
+ message: "Please input author Name?",
2033
+ default: ""
2034
+ },
2035
+ {
2036
+ type: "input",
2037
+ name: "authorEmail",
2038
+ message: "Please input author Email?",
2039
+ default: ""
2040
+ }
2041
+ ],
2042
+ repository: (oGen, { defaultRepositoryName, defaultRepositoryOrgName } = {}) => [
2043
+ {
2044
+ type: "input",
2045
+ name: "repositoryName",
2046
+ message: "Please input code repository name ?",
2047
+ default: defaultRepositoryName
2048
+ },
2049
+ {
2050
+ type: "input",
2051
+ name: "repositoryOrgName",
2052
+ message: "Please input code repository organization name ?",
2053
+ default: defaultRepositoryOrgName
2054
+ }
2055
+ ],
2056
+ babel: (oGen) => [
2057
+ {
2058
+ type: "confirm",
2059
+ name: "isUseBabel",
2060
+ message: "Do you plan use babel ?",
2061
+ default: true
2062
+ },
2063
+ {
2064
+ type: "confirm",
2065
+ name: "babelRootMode",
2066
+ message: "will you push this under a monorepo (sub-package) ?",
2067
+ default: false,
2068
+ when: (response) => {
2069
+ const { getAllAns } = YoHelper_default(oGen);
2070
+ const allAns = getAllAns(response);
2071
+ if (allAns.isUseBabel) {
2072
+ return true;
2073
+ }
2074
+ return;
2075
+ }
2076
+ },
2077
+ {
2078
+ type: "confirm",
2079
+ name: "isUseBabelUI",
2080
+ message: "Is is a babel UI library?",
2081
+ default: false,
2082
+ when: (response) => {
2083
+ const { getAllAns } = YoHelper_default(oGen);
2084
+ const allAns = getAllAns(response);
2085
+ if (allAns.isUseBabel) {
2086
+ return true;
2087
+ }
2088
+ return;
2089
+ }
2090
+ },
2091
+ {
2092
+ type: "confirm",
2093
+ name: "isUseWebpack",
2094
+ message: "Do you use webpack ?",
2095
+ default: false
2096
+ }
2097
+ ]
2098
+ };
2099
+ var commonPrompt_default = commonPrompt;
2100
+ var getSubGenerators = (generatorsDir, exclude) => fs.readdirSync(generatorsDir).filter((name) => name !== exclude && fs.statSync(path.join(generatorsDir, name)).isDirectory()).sort();
2101
+ var isDirectInvocation = () => process.argv.some((arg) => arg.includes(":"));
2102
+ var promptSubGenerator = async (oGen, {
2103
+ currentDir,
2104
+ exclude = "app",
2105
+ first = "app"
2106
+ }) => {
2107
+ if (isDirectInvocation()) {
2108
+ return null;
2109
+ }
2110
+ const generatorsDir = path.resolve(currentDir, "..");
2111
+ const subGenerators = getSubGenerators(generatorsDir, exclude);
2112
+ const { generator: selected } = await oGen.prompt([
2113
+ {
2114
+ type: "list",
2115
+ name: "generator",
2116
+ message: "Which generator would you like to run?",
2117
+ choices: [first, ...subGenerators]
2118
+ }
2119
+ ]);
2120
+ if (selected && selected !== first) {
2121
+ oGen.composeWith(__require.resolve(path.join(generatorsDir, selected)), {
2122
+ ...oGen.options
2123
+ });
2124
+ return selected;
2125
+ }
2126
+ return null;
2127
+ };
2128
+
2129
+ // src/compile-sh/index.ts
2130
+ class compile_sh_default extends YoGenerator_default {
7
2131
  writing() {
8
- const { cp, getDotYo } = YoHelper(this);
9
- const { webpackEnabled } = { ...this.options, ...getDotYo(this.options) };
2132
+ const { cp, getDotYo: getDotYo2 } = YoHelper_default(this);
2133
+ const { webpackEnabled } = { ...this.options, ...getDotYo2(this.options) };
10
2134
  cp("compile.sh", null, { webpackEnabled }, true);
11
2135
  }
12
- };
2136
+ }