eazy-git 0.2.3 → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +22 -26
- package/dist/index.js +81 -47
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
[](https://www.npmjs.com/package/eazy-git)
|
|
6
6
|
[](https://opensource.org/licenses/MIT)
|
|
7
7
|
[](https://github.com/jaime00/eazy-git/stargazers)
|
|
8
|
-
---
|
|
9
8
|
|
|
9
|
+
---
|
|
10
10
|
|
|
11
11
|
## 🚀 Installation
|
|
12
12
|
|
|
@@ -14,7 +14,7 @@ Install it globally with npm:
|
|
|
14
14
|
|
|
15
15
|
```bash
|
|
16
16
|
npm install -g eazy-git
|
|
17
|
-
|
|
17
|
+
```
|
|
18
18
|
|
|
19
19
|
Or clone it and Link it locally for development:
|
|
20
20
|
|
|
@@ -27,7 +27,6 @@ npm link
|
|
|
27
27
|
|
|
28
28
|
---
|
|
29
29
|
|
|
30
|
-
|
|
31
30
|
## ⚙️ Usage
|
|
32
31
|
|
|
33
32
|
Run the main command from the root of your Git repository:
|
|
@@ -35,6 +34,7 @@ Run the main command from the root of your Git repository:
|
|
|
35
34
|
```bash
|
|
36
35
|
eazy-git
|
|
37
36
|
```
|
|
37
|
+
|
|
38
38
|
or
|
|
39
39
|
|
|
40
40
|
```bash
|
|
@@ -43,32 +43,31 @@ eg
|
|
|
43
43
|
|
|
44
44
|
---
|
|
45
45
|
|
|
46
|
-
|
|
47
46
|
## 🧰 Available Commands
|
|
48
47
|
|
|
49
|
-
| Command
|
|
50
|
-
|
|
|
51
|
-
| `eazy-git`, `eg`, `asd`
|
|
52
|
-
| `pull`
|
|
53
|
-
| `push`
|
|
54
|
-
| `removelast`
|
|
55
|
-
| `mergewith`
|
|
56
|
-
| `commit`
|
|
57
|
-
| `back`
|
|
58
|
-
| `checkout`
|
|
59
|
-
| `log`
|
|
60
|
-
| `run`
|
|
61
|
-
| `runrun`
|
|
62
|
-
| `i`
|
|
63
|
-
| `-version`, `-v`
|
|
64
|
-
| `-help`, `-h`
|
|
48
|
+
| Command | Description |
|
|
49
|
+
| --------------------------------------- | ------------------------------------------------------------------------------------------------------ |
|
|
50
|
+
| `eazy-git`, `eg`, `asd` | Launch the interactive CLI to create and manage Git branches (note: `asd` is an easter egg command 🥚) |
|
|
51
|
+
| `pull` | Pull latest changes from remote repository (`git pull origin HEAD`) |
|
|
52
|
+
| `push` | Push local changes to remote repository (`git push origin HEAD`) |
|
|
53
|
+
| `removelast` | Undo last commit while preserving changes in working directory |
|
|
54
|
+
| `mergewith` | Merge current branch with another remote branch (defaults to `origin/develop`) |
|
|
55
|
+
| `commit` | Stage and commit changes with an interactive prompt |
|
|
56
|
+
| `back` | Switch back to the previously checked out branch |
|
|
57
|
+
| `checkout` | Switch to a specified branch or return to the previous branch if no branch name is provided |
|
|
58
|
+
| `log` | Display formatted commit history with details |
|
|
59
|
+
| `run` | Start development server (`npm run dev`) |
|
|
60
|
+
| `runrun` | Clean development server restart (removes `.next` folder and runs `npm run dev`) |
|
|
61
|
+
| `i` | Install project dependencies using configured auth token |
|
|
62
|
+
| `-version`, `-v` | Display installed package version |
|
|
63
|
+
| `-help`, `-h` _(under construction 🚧)_ | Show command usage and documentation |
|
|
65
64
|
|
|
66
65
|
---
|
|
67
66
|
|
|
68
|
-
|
|
69
67
|
## 📁 Project Structure
|
|
70
68
|
|
|
71
69
|
The project is organized in a modular fashion for easy maintenance and extension. The main directory and file structure is detailed below:
|
|
70
|
+
|
|
72
71
|
```
|
|
73
72
|
eazy-git/
|
|
74
73
|
├── src/
|
|
@@ -112,7 +111,7 @@ eazy-git/
|
|
|
112
111
|
│ ├── hasGitInstalled.js
|
|
113
112
|
│ ├── isEmpty.js
|
|
114
113
|
│ └── validateTicketOfJIRA.js
|
|
115
|
-
│
|
|
114
|
+
│
|
|
116
115
|
├── build.js
|
|
117
116
|
├── git.js
|
|
118
117
|
├── index.js
|
|
@@ -124,7 +123,6 @@ eazy-git/
|
|
|
124
123
|
|
|
125
124
|
---
|
|
126
125
|
|
|
127
|
-
|
|
128
126
|
## 🛠️ Contribute
|
|
129
127
|
|
|
130
128
|
Contributions welcome! To get started:
|
|
@@ -142,14 +140,12 @@ Please open an [issue](https://github.com/jaime00/eazy-git/issues) to report bug
|
|
|
142
140
|
|
|
143
141
|
---
|
|
144
142
|
|
|
145
|
-
|
|
146
143
|
## 📝 License
|
|
147
144
|
|
|
148
145
|
Distributed under the MIT [License](LICENSE).
|
|
149
146
|
|
|
150
147
|
---
|
|
151
148
|
|
|
152
|
-
|
|
153
149
|
## 📬 Contact
|
|
154
150
|
|
|
155
151
|
- 🌐 **Portfolio**: [Visit my website](https://jaime00portfolio.netlify.app/)
|
|
@@ -159,4 +155,4 @@ Distributed under the MIT [License](LICENSE).
|
|
|
159
155
|
|
|
160
156
|
For contributions, bug reports, or suggestions, please open an [issue](https://github.com/jaime00/eazy-git/issues) in the repository.
|
|
161
157
|
|
|
162
|
-
---
|
|
158
|
+
---
|
package/dist/index.js
CHANGED
|
@@ -1,55 +1,89 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
var TD=Object.create;var wu=Object.defineProperty;var OD=Object.getOwnPropertyDescriptor;var kD=Object.getOwnPropertyNames;var RD=Object.getPrototypeOf,SD=Object.prototype.hasOwnProperty;var Tu=(e,D)=>()=>(D||e((D={exports:{}}).exports,D),D.exports);var MD=(e,D,t,r)=>{if(D&&typeof D=="object"||typeof D=="function")for(let s of kD(D))!SD.call(e,s)&&s!==t&&wu(e,s,{get:()=>D[s],enumerable:!(r=OD(D,s))||r.enumerable});return e};var W=(e,D,t)=>(t=e!=null?TD(RD(e)):{},MD(D||!e||!e.__esModule?wu(t,"default",{value:e,enumerable:!0}):t,e));var ou=Tu((Qe,Ou)=>{"use strict";var su="\x1B",C=`${su}[`,ID="\x07",iu={to(e,D){return D?`${C}${D+1};${e+1}H`:`${C}${e+1}G`},move(e,D){let t="";return e<0?t+=`${C}${-e}D`:e>0&&(t+=`${C}${e}C`),D<0?t+=`${C}${-D}A`:D>0&&(t+=`${C}${D}B`),t},up:(e=1)=>`${C}${e}A`,down:(e=1)=>`${C}${e}B`,forward:(e=1)=>`${C}${e}C`,backward:(e=1)=>`${C}${e}D`,nextLine:(e=1)=>`${C}E`.repeat(e),prevLine:(e=1)=>`${C}F`.repeat(e),left:`${C}G`,hide:`${C}?25l`,show:`${C}?25h`,save:`${su}7`,restore:`${su}8`},_D={up:(e=1)=>`${C}S`.repeat(e),down:(e=1)=>`${C}T`.repeat(e)},jD={screen:`${C}2J`,up:(e=1)=>`${C}1J`.repeat(e),down:(e=1)=>`${C}J`.repeat(e),line:`${C}2K`,lineEnd:`${C}K`,lineStart:`${C}1K`,lines(e){let D="";for(let t=0;t<e;t++)D+=this.line+(t<e-1?iu.up():"");return e&&(D+=iu.left),D}};Ou.exports={cursor:iu,scroll:_D,erase:jD,beep:ID}});var au=Tu((Xe,nu)=>{var U=process||{},ku=U.argv||[],Y=U.env||{},ND=!(Y.NO_COLOR||ku.includes("--no-color"))&&(!!Y.FORCE_COLOR||ku.includes("--color")||U.platform==="win32"||(U.stdout||{}).isTTY&&Y.TERM!=="dumb"||!!Y.CI),PD=(e,D,t=e)=>r=>{let s=""+r,i=s.indexOf(D,e.length);return~i?e+GD(s,D,t,i)+D:e+s+D},GD=(e,D,t,r)=>{let s="",i=0;do s+=e.substring(i,r)+t,i=r+D.length,r=e.indexOf(D,i);while(~r);return s+e.substring(i)},Ru=(e=ND)=>{let D=e?PD:()=>String;return{isColorSupported:e,reset:D("\x1B[0m","\x1B[0m"),bold:D("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:D("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:D("\x1B[3m","\x1B[23m"),underline:D("\x1B[4m","\x1B[24m"),inverse:D("\x1B[7m","\x1B[27m"),hidden:D("\x1B[8m","\x1B[28m"),strikethrough:D("\x1B[9m","\x1B[29m"),black:D("\x1B[30m","\x1B[39m"),red:D("\x1B[31m","\x1B[39m"),green:D("\x1B[32m","\x1B[39m"),yellow:D("\x1B[33m","\x1B[39m"),blue:D("\x1B[34m","\x1B[39m"),magenta:D("\x1B[35m","\x1B[39m"),cyan:D("\x1B[36m","\x1B[39m"),white:D("\x1B[37m","\x1B[39m"),gray:D("\x1B[90m","\x1B[39m"),bgBlack:D("\x1B[40m","\x1B[49m"),bgRed:D("\x1B[41m","\x1B[49m"),bgGreen:D("\x1B[42m","\x1B[49m"),bgYellow:D("\x1B[43m","\x1B[49m"),bgBlue:D("\x1B[44m","\x1B[49m"),bgMagenta:D("\x1B[45m","\x1B[49m"),bgCyan:D("\x1B[46m","\x1B[49m"),bgWhite:D("\x1B[47m","\x1B[49m"),blackBright:D("\x1B[90m","\x1B[39m"),redBright:D("\x1B[91m","\x1B[39m"),greenBright:D("\x1B[92m","\x1B[39m"),yellowBright:D("\x1B[93m","\x1B[39m"),blueBright:D("\x1B[94m","\x1B[39m"),magentaBright:D("\x1B[95m","\x1B[39m"),cyanBright:D("\x1B[96m","\x1B[39m"),whiteBright:D("\x1B[97m","\x1B[39m"),bgBlackBright:D("\x1B[100m","\x1B[49m"),bgRedBright:D("\x1B[101m","\x1B[49m"),bgGreenBright:D("\x1B[102m","\x1B[49m"),bgYellowBright:D("\x1B[103m","\x1B[49m"),bgBlueBright:D("\x1B[104m","\x1B[49m"),bgMagentaBright:D("\x1B[105m","\x1B[49m"),bgCyanBright:D("\x1B[106m","\x1B[49m"),bgWhiteBright:D("\x1B[107m","\x1B[49m")}};nu.exports=Ru();nu.exports.createColors=Ru});var d=W(ou(),1),Wu=W(au(),1);import{stdin as Lu,stdout as Vu}from"node:process";import*as k from"node:readline";import Su from"node:readline";import{Writable as LD}from"node:stream";function VD({onlyFirst:e=!1}={}){let D=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");return new RegExp(D,e?void 0:"g")}var WD=VD();function Yu(e){if(typeof e!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof e}\``);return e.replace(WD,"")}function Uu(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Ku={exports:{}};(function(e){var D={};e.exports=D,D.eastAsianWidth=function(r){var s=r.charCodeAt(0),i=r.length==2?r.charCodeAt(1):0,u=s;return 55296<=s&&s<=56319&&56320<=i&&i<=57343&&(s&=1023,i&=1023,u=s<<10|i,u+=65536),u==12288||65281<=u&&u<=65376||65504<=u&&u<=65510?"F":u==8361||65377<=u&&u<=65470||65474<=u&&u<=65479||65482<=u&&u<=65487||65490<=u&&u<=65495||65498<=u&&u<=65500||65512<=u&&u<=65518?"H":4352<=u&&u<=4447||4515<=u&&u<=4519||4602<=u&&u<=4607||9001<=u&&u<=9002||11904<=u&&u<=11929||11931<=u&&u<=12019||12032<=u&&u<=12245||12272<=u&&u<=12283||12289<=u&&u<=12350||12353<=u&&u<=12438||12441<=u&&u<=12543||12549<=u&&u<=12589||12593<=u&&u<=12686||12688<=u&&u<=12730||12736<=u&&u<=12771||12784<=u&&u<=12830||12832<=u&&u<=12871||12880<=u&&u<=13054||13056<=u&&u<=19903||19968<=u&&u<=42124||42128<=u&&u<=42182||43360<=u&&u<=43388||44032<=u&&u<=55203||55216<=u&&u<=55238||55243<=u&&u<=55291||63744<=u&&u<=64255||65040<=u&&u<=65049||65072<=u&&u<=65106||65108<=u&&u<=65126||65128<=u&&u<=65131||110592<=u&&u<=110593||127488<=u&&u<=127490||127504<=u&&u<=127546||127552<=u&&u<=127560||127568<=u&&u<=127569||131072<=u&&u<=194367||177984<=u&&u<=196605||196608<=u&&u<=262141?"W":32<=u&&u<=126||162<=u&&u<=163||165<=u&&u<=166||u==172||u==175||10214<=u&&u<=10221||10629<=u&&u<=10630?"Na":u==161||u==164||167<=u&&u<=168||u==170||173<=u&&u<=174||176<=u&&u<=180||182<=u&&u<=186||188<=u&&u<=191||u==198||u==208||215<=u&&u<=216||222<=u&&u<=225||u==230||232<=u&&u<=234||236<=u&&u<=237||u==240||242<=u&&u<=243||247<=u&&u<=250||u==252||u==254||u==257||u==273||u==275||u==283||294<=u&&u<=295||u==299||305<=u&&u<=307||u==312||319<=u&&u<=322||u==324||328<=u&&u<=331||u==333||338<=u&&u<=339||358<=u&&u<=359||u==363||u==462||u==464||u==466||u==468||u==470||u==472||u==474||u==476||u==593||u==609||u==708||u==711||713<=u&&u<=715||u==717||u==720||728<=u&&u<=731||u==733||u==735||768<=u&&u<=879||913<=u&&u<=929||931<=u&&u<=937||945<=u&&u<=961||963<=u&&u<=969||u==1025||1040<=u&&u<=1103||u==1105||u==8208||8211<=u&&u<=8214||8216<=u&&u<=8217||8220<=u&&u<=8221||8224<=u&&u<=8226||8228<=u&&u<=8231||u==8240||8242<=u&&u<=8243||u==8245||u==8251||u==8254||u==8308||u==8319||8321<=u&&u<=8324||u==8364||u==8451||u==8453||u==8457||u==8467||u==8470||8481<=u&&u<=8482||u==8486||u==8491||8531<=u&&u<=8532||8539<=u&&u<=8542||8544<=u&&u<=8555||8560<=u&&u<=8569||u==8585||8592<=u&&u<=8601||8632<=u&&u<=8633||u==8658||u==8660||u==8679||u==8704||8706<=u&&u<=8707||8711<=u&&u<=8712||u==8715||u==8719||u==8721||u==8725||u==8730||8733<=u&&u<=8736||u==8739||u==8741||8743<=u&&u<=8748||u==8750||8756<=u&&u<=8759||8764<=u&&u<=8765||u==8776||u==8780||u==8786||8800<=u&&u<=8801||8804<=u&&u<=8807||8810<=u&&u<=8811||8814<=u&&u<=8815||8834<=u&&u<=8835||8838<=u&&u<=8839||u==8853||u==8857||u==8869||u==8895||u==8978||9312<=u&&u<=9449||9451<=u&&u<=9547||9552<=u&&u<=9587||9600<=u&&u<=9615||9618<=u&&u<=9621||9632<=u&&u<=9633||9635<=u&&u<=9641||9650<=u&&u<=9651||9654<=u&&u<=9655||9660<=u&&u<=9661||9664<=u&&u<=9665||9670<=u&&u<=9672||u==9675||9678<=u&&u<=9681||9698<=u&&u<=9701||u==9711||9733<=u&&u<=9734||u==9737||9742<=u&&u<=9743||9748<=u&&u<=9749||u==9756||u==9758||u==9792||u==9794||9824<=u&&u<=9825||9827<=u&&u<=9829||9831<=u&&u<=9834||9836<=u&&u<=9837||u==9839||9886<=u&&u<=9887||9918<=u&&u<=9919||9924<=u&&u<=9933||9935<=u&&u<=9953||u==9955||9960<=u&&u<=9983||u==10045||u==10071||10102<=u&&u<=10111||11093<=u&&u<=11097||12872<=u&&u<=12879||57344<=u&&u<=63743||65024<=u&&u<=65039||u==65533||127232<=u&&u<=127242||127248<=u&&u<=127277||127280<=u&&u<=127337||127344<=u&&u<=127386||917760<=u&&u<=917999||983040<=u&&u<=1048573||1048576<=u&&u<=1114109?"A":"N"},D.characterLength=function(r){var s=this.eastAsianWidth(r);return s=="F"||s=="W"||s=="A"?2:1};function t(r){return r.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g)||[]}D.length=function(r){for(var s=t(r),i=0,u=0;u<s.length;u++)i=i+this.characterLength(s[u]);return i},D.slice=function(r,s,i){textLen=D.length(r),s=s||0,i=i||1,s<0&&(s=textLen+s),i<0&&(i=textLen+i);for(var u="",n=0,E=t(r),a=0;a<E.length;a++){var g=E[a],l=D.length(g);if(n>=s-(l==2?1:0))if(n+l<=i)u+=g;else break;n+=l}return u}})(Ku);var YD=Ku.exports,UD=Uu(YD),KD=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g},JD=Uu(KD);function N(e,D={}){if(typeof e!="string"||e.length===0||(D={ambiguousIsNarrow:!0,...D},e=Yu(e),e.length===0))return 0;e=e.replace(JD()," ");let t=D.ambiguousIsNarrow?1:2,r=0;for(let s of e){let i=s.codePointAt(0);if(!(i<=31||i>=127&&i<=159||i>=768&&i<=879))switch(UD.eastAsianWidth(s)){case"F":case"W":r+=2;break;case"A":r+=t;break;default:r+=1}}return r}var lu=10,Mu=(e=0)=>D=>`\x1B[${D+e}m`,Iu=(e=0)=>D=>`\x1B[${38+e};5;${D}m`,_u=(e=0)=>(D,t,r)=>`\x1B[${38+e};2;${D};${t};${r}m`,c={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Object.keys(c.modifier);var qD=Object.keys(c.color),zD=Object.keys(c.bgColor);[...qD,...zD];function ZD(){let e=new Map;for(let[D,t]of Object.entries(c)){for(let[r,s]of Object.entries(t))c[r]={open:`\x1B[${s[0]}m`,close:`\x1B[${s[1]}m`},t[r]=c[r],e.set(s[0],s[1]);Object.defineProperty(c,D,{value:t,enumerable:!1})}return Object.defineProperty(c,"codes",{value:e,enumerable:!1}),c.color.close="\x1B[39m",c.bgColor.close="\x1B[49m",c.color.ansi=Mu(),c.color.ansi256=Iu(),c.color.ansi16m=_u(),c.bgColor.ansi=Mu(lu),c.bgColor.ansi256=Iu(lu),c.bgColor.ansi16m=_u(lu),Object.defineProperties(c,{rgbToAnsi256:{value:(D,t,r)=>D===t&&t===r?D<8?16:D>248?231:Math.round((D-8)/247*24)+232:16+36*Math.round(D/255*5)+6*Math.round(t/255*5)+Math.round(r/255*5),enumerable:!1},hexToRgb:{value:D=>{let t=/[a-f\d]{6}|[a-f\d]{3}/i.exec(D.toString(16));if(!t)return[0,0,0];let[r]=t;r.length===3&&(r=[...r].map(i=>i+i).join(""));let s=Number.parseInt(r,16);return[s>>16&255,s>>8&255,s&255]},enumerable:!1},hexToAnsi256:{value:D=>c.rgbToAnsi256(...c.hexToRgb(D)),enumerable:!1},ansi256ToAnsi:{value:D=>{if(D<8)return 30+D;if(D<16)return 90+(D-8);let t,r,s;if(D>=232)t=((D-232)*10+8)/255,r=t,s=t;else{D-=16;let n=D%36;t=Math.floor(D/36)/5,r=Math.floor(n/6)/5,s=n%6/5}let i=Math.max(t,r,s)*2;if(i===0)return 30;let u=30+(Math.round(s)<<2|Math.round(r)<<1|Math.round(t));return i===2&&(u+=60),u},enumerable:!1},rgbToAnsi:{value:(D,t,r)=>c.ansi256ToAnsi(c.rgbToAnsi256(D,t,r)),enumerable:!1},hexToAnsi:{value:D=>c.ansi256ToAnsi(c.hexToAnsi256(D)),enumerable:!1}}),c}var HD=ZD(),H=new Set(["\x1B","\x9B"]),QD=39,Cu="\x07",Ju="[",XD="]",qu="m",hu=`${XD}8;;`,ju=e=>`${H.values().next().value}${Ju}${e}${qu}`,Nu=e=>`${H.values().next().value}${hu}${e}${Cu}`,ue=e=>e.split(" ").map(D=>N(D)),cu=(e,D,t)=>{let r=[...D],s=!1,i=!1,u=N(Yu(e[e.length-1]));for(let[n,E]of r.entries()){let a=N(E);if(u+a<=t?e[e.length-1]+=E:(e.push(E),u=0),H.has(E)&&(s=!0,i=r.slice(n+1).join("").startsWith(hu)),s){i?E===Cu&&(s=!1,i=!1):E===qu&&(s=!1);continue}u+=a,u===t&&n<r.length-1&&(e.push(""),u=0)}!u&&e[e.length-1].length>0&&e.length>1&&(e[e.length-2]+=e.pop())},De=e=>{let D=e.split(" "),t=D.length;for(;t>0&&!(N(D[t-1])>0);)t--;return t===D.length?e:D.slice(0,t).join(" ")+D.slice(t).join("")},ee=(e,D,t={})=>{if(t.trim!==!1&&e.trim()==="")return"";let r="",s,i,u=ue(e),n=[""];for(let[a,g]of e.split(" ").entries()){t.trim!==!1&&(n[n.length-1]=n[n.length-1].trimStart());let l=N(n[n.length-1]);if(a!==0&&(l>=D&&(t.wordWrap===!1||t.trim===!1)&&(n.push(""),l=0),(l>0||t.trim===!1)&&(n[n.length-1]+=" ",l++)),t.hard&&u[a]>D){let b=D-l,O=1+Math.floor((u[a]-b-1)/D);Math.floor((u[a]-1)/D)<O&&n.push(""),cu(n,g,D);continue}if(l+u[a]>D&&l>0&&u[a]>0){if(t.wordWrap===!1&&l<D){cu(n,g,D);continue}n.push("")}if(l+u[a]>D&&t.wordWrap===!1){cu(n,g,D);continue}n[n.length-1]+=g}t.trim!==!1&&(n=n.map(a=>De(a)));let E=[...n.join(`
|
|
3
|
-
`)];for(let[
|
|
4
|
-
`?(
|
|
5
|
-
`&&(s&&
|
|
2
|
+
var Ue=Object.create;var Lu=Object.defineProperty;var Ye=Object.getOwnPropertyDescriptor;var ze=Object.getOwnPropertyNames;var Ke=Object.getPrototypeOf,Je=Object.prototype.hasOwnProperty;var Gu=(D,e)=>()=>(e||D((e={exports:{}}).exports,e),e.exports);var He=(D,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of ze(e))!Je.call(D,s)&&s!==t&&Lu(D,s,{get:()=>e[s],enumerable:!(r=Ye(e,s))||r.enumerable});return D};var X=(D,e,t)=>(t=D!=null?Ue(Ke(D)):{},He(e||!D||!D.__esModule?Lu(t,"default",{value:D,enumerable:!0}):t,D));var fu=Gu(($t,Vu)=>{"use strict";var du="\x1B",b=`${du}[`,Ze="\x07",gu={to(D,e){return e?`${b}${e+1};${D+1}H`:`${b}${D+1}G`},move(D,e){let t="";return D<0?t+=`${b}${-D}D`:D>0&&(t+=`${b}${D}C`),e<0?t+=`${b}${-e}A`:e>0&&(t+=`${b}${e}B`),t},up:(D=1)=>`${b}${D}A`,down:(D=1)=>`${b}${D}B`,forward:(D=1)=>`${b}${D}C`,backward:(D=1)=>`${b}${D}D`,nextLine:(D=1)=>`${b}E`.repeat(D),prevLine:(D=1)=>`${b}F`.repeat(D),left:`${b}G`,hide:`${b}?25l`,show:`${b}?25h`,save:`${du}7`,restore:`${du}8`},Qe={up:(D=1)=>`${b}S`.repeat(D),down:(D=1)=>`${b}T`.repeat(D)},Xe={screen:`${b}2J`,up:(D=1)=>`${b}1J`.repeat(D),down:(D=1)=>`${b}J`.repeat(D),line:`${b}2K`,lineEnd:`${b}K`,lineStart:`${b}1K`,lines(D){let e="";for(let t=0;t<D;t++)e+=this.line+(t<D-1?gu.up():"");return D&&(e+=gu.left),e}};Vu.exports={cursor:gu,scroll:Qe,erase:Xe,beep:Ze}});var Bu=Gu((vt,bu)=>{var eu=process||{},Wu=eu.argv||[],uu=eu.env||{},uD=!(uu.NO_COLOR||Wu.includes("--no-color"))&&(!!uu.FORCE_COLOR||Wu.includes("--color")||eu.platform==="win32"||(eu.stdout||{}).isTTY&&uu.TERM!=="dumb"||!!uu.CI),eD=(D,e,t=D)=>r=>{let s=""+r,o=s.indexOf(e,D.length);return~o?D+DD(s,e,t,o)+e:D+s+e},DD=(D,e,t,r)=>{let s="",o=0;do s+=D.substring(o,r)+t,o=r+e.length,r=D.indexOf(e,o);while(~r);return s+D.substring(o)},qu=(D=uD)=>{let e=D?eD:()=>String;return{isColorSupported:D,reset:e("\x1B[0m","\x1B[0m"),bold:e("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:e("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:e("\x1B[3m","\x1B[23m"),underline:e("\x1B[4m","\x1B[24m"),inverse:e("\x1B[7m","\x1B[27m"),hidden:e("\x1B[8m","\x1B[28m"),strikethrough:e("\x1B[9m","\x1B[29m"),black:e("\x1B[30m","\x1B[39m"),red:e("\x1B[31m","\x1B[39m"),green:e("\x1B[32m","\x1B[39m"),yellow:e("\x1B[33m","\x1B[39m"),blue:e("\x1B[34m","\x1B[39m"),magenta:e("\x1B[35m","\x1B[39m"),cyan:e("\x1B[36m","\x1B[39m"),white:e("\x1B[37m","\x1B[39m"),gray:e("\x1B[90m","\x1B[39m"),bgBlack:e("\x1B[40m","\x1B[49m"),bgRed:e("\x1B[41m","\x1B[49m"),bgGreen:e("\x1B[42m","\x1B[49m"),bgYellow:e("\x1B[43m","\x1B[49m"),bgBlue:e("\x1B[44m","\x1B[49m"),bgMagenta:e("\x1B[45m","\x1B[49m"),bgCyan:e("\x1B[46m","\x1B[49m"),bgWhite:e("\x1B[47m","\x1B[49m"),blackBright:e("\x1B[90m","\x1B[39m"),redBright:e("\x1B[91m","\x1B[39m"),greenBright:e("\x1B[92m","\x1B[39m"),yellowBright:e("\x1B[93m","\x1B[39m"),blueBright:e("\x1B[94m","\x1B[39m"),magentaBright:e("\x1B[95m","\x1B[39m"),cyanBright:e("\x1B[96m","\x1B[39m"),whiteBright:e("\x1B[97m","\x1B[39m"),bgBlackBright:e("\x1B[100m","\x1B[49m"),bgRedBright:e("\x1B[101m","\x1B[49m"),bgGreenBright:e("\x1B[102m","\x1B[49m"),bgYellowBright:e("\x1B[103m","\x1B[49m"),bgBlueBright:e("\x1B[104m","\x1B[49m"),bgMagentaBright:e("\x1B[105m","\x1B[49m"),bgCyanBright:e("\x1B[106m","\x1B[49m"),bgWhiteBright:e("\x1B[107m","\x1B[49m")}};bu.exports=qu();bu.exports.createColors=qu});import{stripVTControlCharacters as Tu}from"node:util";var x=X(fu(),1),De=X(Bu(),1);import{stdin as ue,stdout as ee}from"node:process";import*as j from"node:readline";import Uu from"node:readline";import{Writable as tD}from"node:stream";function rD({onlyFirst:D=!1}={}){let e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");return new RegExp(e,D?void 0:"g")}var sD=rD();function te(D){if(typeof D!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof D}\``);return D.replace(sD,"")}function re(D){return D&&D.__esModule&&Object.prototype.hasOwnProperty.call(D,"default")?D.default:D}var se={exports:{}};(function(D){var e={};D.exports=e,e.eastAsianWidth=function(r){var s=r.charCodeAt(0),o=r.length==2?r.charCodeAt(1):0,u=s;return 55296<=s&&s<=56319&&56320<=o&&o<=57343&&(s&=1023,o&=1023,u=s<<10|o,u+=65536),u==12288||65281<=u&&u<=65376||65504<=u&&u<=65510?"F":u==8361||65377<=u&&u<=65470||65474<=u&&u<=65479||65482<=u&&u<=65487||65490<=u&&u<=65495||65498<=u&&u<=65500||65512<=u&&u<=65518?"H":4352<=u&&u<=4447||4515<=u&&u<=4519||4602<=u&&u<=4607||9001<=u&&u<=9002||11904<=u&&u<=11929||11931<=u&&u<=12019||12032<=u&&u<=12245||12272<=u&&u<=12283||12289<=u&&u<=12350||12353<=u&&u<=12438||12441<=u&&u<=12543||12549<=u&&u<=12589||12593<=u&&u<=12686||12688<=u&&u<=12730||12736<=u&&u<=12771||12784<=u&&u<=12830||12832<=u&&u<=12871||12880<=u&&u<=13054||13056<=u&&u<=19903||19968<=u&&u<=42124||42128<=u&&u<=42182||43360<=u&&u<=43388||44032<=u&&u<=55203||55216<=u&&u<=55238||55243<=u&&u<=55291||63744<=u&&u<=64255||65040<=u&&u<=65049||65072<=u&&u<=65106||65108<=u&&u<=65126||65128<=u&&u<=65131||110592<=u&&u<=110593||127488<=u&&u<=127490||127504<=u&&u<=127546||127552<=u&&u<=127560||127568<=u&&u<=127569||131072<=u&&u<=194367||177984<=u&&u<=196605||196608<=u&&u<=262141?"W":32<=u&&u<=126||162<=u&&u<=163||165<=u&&u<=166||u==172||u==175||10214<=u&&u<=10221||10629<=u&&u<=10630?"Na":u==161||u==164||167<=u&&u<=168||u==170||173<=u&&u<=174||176<=u&&u<=180||182<=u&&u<=186||188<=u&&u<=191||u==198||u==208||215<=u&&u<=216||222<=u&&u<=225||u==230||232<=u&&u<=234||236<=u&&u<=237||u==240||242<=u&&u<=243||247<=u&&u<=250||u==252||u==254||u==257||u==273||u==275||u==283||294<=u&&u<=295||u==299||305<=u&&u<=307||u==312||319<=u&&u<=322||u==324||328<=u&&u<=331||u==333||338<=u&&u<=339||358<=u&&u<=359||u==363||u==462||u==464||u==466||u==468||u==470||u==472||u==474||u==476||u==593||u==609||u==708||u==711||713<=u&&u<=715||u==717||u==720||728<=u&&u<=731||u==733||u==735||768<=u&&u<=879||913<=u&&u<=929||931<=u&&u<=937||945<=u&&u<=961||963<=u&&u<=969||u==1025||1040<=u&&u<=1103||u==1105||u==8208||8211<=u&&u<=8214||8216<=u&&u<=8217||8220<=u&&u<=8221||8224<=u&&u<=8226||8228<=u&&u<=8231||u==8240||8242<=u&&u<=8243||u==8245||u==8251||u==8254||u==8308||u==8319||8321<=u&&u<=8324||u==8364||u==8451||u==8453||u==8457||u==8467||u==8470||8481<=u&&u<=8482||u==8486||u==8491||8531<=u&&u<=8532||8539<=u&&u<=8542||8544<=u&&u<=8555||8560<=u&&u<=8569||u==8585||8592<=u&&u<=8601||8632<=u&&u<=8633||u==8658||u==8660||u==8679||u==8704||8706<=u&&u<=8707||8711<=u&&u<=8712||u==8715||u==8719||u==8721||u==8725||u==8730||8733<=u&&u<=8736||u==8739||u==8741||8743<=u&&u<=8748||u==8750||8756<=u&&u<=8759||8764<=u&&u<=8765||u==8776||u==8780||u==8786||8800<=u&&u<=8801||8804<=u&&u<=8807||8810<=u&&u<=8811||8814<=u&&u<=8815||8834<=u&&u<=8835||8838<=u&&u<=8839||u==8853||u==8857||u==8869||u==8895||u==8978||9312<=u&&u<=9449||9451<=u&&u<=9547||9552<=u&&u<=9587||9600<=u&&u<=9615||9618<=u&&u<=9621||9632<=u&&u<=9633||9635<=u&&u<=9641||9650<=u&&u<=9651||9654<=u&&u<=9655||9660<=u&&u<=9661||9664<=u&&u<=9665||9670<=u&&u<=9672||u==9675||9678<=u&&u<=9681||9698<=u&&u<=9701||u==9711||9733<=u&&u<=9734||u==9737||9742<=u&&u<=9743||9748<=u&&u<=9749||u==9756||u==9758||u==9792||u==9794||9824<=u&&u<=9825||9827<=u&&u<=9829||9831<=u&&u<=9834||9836<=u&&u<=9837||u==9839||9886<=u&&u<=9887||9918<=u&&u<=9919||9924<=u&&u<=9933||9935<=u&&u<=9953||u==9955||9960<=u&&u<=9983||u==10045||u==10071||10102<=u&&u<=10111||11093<=u&&u<=11097||12872<=u&&u<=12879||57344<=u&&u<=63743||65024<=u&&u<=65039||u==65533||127232<=u&&u<=127242||127248<=u&&u<=127277||127280<=u&&u<=127337||127344<=u&&u<=127386||917760<=u&&u<=917999||983040<=u&&u<=1048573||1048576<=u&&u<=1114109?"A":"N"},e.characterLength=function(r){var s=this.eastAsianWidth(r);return s=="F"||s=="W"||s=="A"?2:1};function t(r){return r.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g)||[]}e.length=function(r){for(var s=t(r),o=0,u=0;u<s.length;u++)o=o+this.characterLength(s[u]);return o},e.slice=function(r,s,o){textLen=e.length(r),s=s||0,o=o||1,s<0&&(s=textLen+s),o<0&&(o=textLen+o);for(var u="",n=0,h=t(r),C=0;C<h.length;C++){var v=h[C],F=e.length(v);if(n>=s-(F==2?1:0))if(n+F<=o)u+=v;else break;n+=F}return u}})(se);var iD=se.exports,oD=re(iD),nD=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g},aD=re(nD);function z(D,e={}){if(typeof D!="string"||D.length===0||(e={ambiguousIsNarrow:!0,...e},D=te(D),D.length===0))return 0;D=D.replace(aD()," ");let t=e.ambiguousIsNarrow?1:2,r=0;for(let s of D){let o=s.codePointAt(0);if(!(o<=31||o>=127&&o<=159||o>=768&&o<=879))switch(oD.eastAsianWidth(s)){case"F":case"W":r+=2;break;case"A":r+=t;break;default:r+=1}}return r}var $u=10,Yu=(D=0)=>e=>`\x1B[${e+D}m`,zu=(D=0)=>e=>`\x1B[${38+D};5;${e}m`,Ku=(D=0)=>(e,t,r)=>`\x1B[${38+D};2;${e};${t};${r}m`,g={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Object.keys(g.modifier);var lD=Object.keys(g.color),cD=Object.keys(g.bgColor);[...lD,...cD];function FD(){let D=new Map;for(let[e,t]of Object.entries(g)){for(let[r,s]of Object.entries(t))g[r]={open:`\x1B[${s[0]}m`,close:`\x1B[${s[1]}m`},t[r]=g[r],D.set(s[0],s[1]);Object.defineProperty(g,e,{value:t,enumerable:!1})}return Object.defineProperty(g,"codes",{value:D,enumerable:!1}),g.color.close="\x1B[39m",g.bgColor.close="\x1B[49m",g.color.ansi=Yu(),g.color.ansi256=zu(),g.color.ansi16m=Ku(),g.bgColor.ansi=Yu($u),g.bgColor.ansi256=zu($u),g.bgColor.ansi16m=Ku($u),Object.defineProperties(g,{rgbToAnsi256:{value:(e,t,r)=>e===t&&t===r?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(t/255*5)+Math.round(r/255*5),enumerable:!1},hexToRgb:{value:e=>{let t=/[a-f\d]{6}|[a-f\d]{3}/i.exec(e.toString(16));if(!t)return[0,0,0];let[r]=t;r.length===3&&(r=[...r].map(o=>o+o).join(""));let s=Number.parseInt(r,16);return[s>>16&255,s>>8&255,s&255]},enumerable:!1},hexToAnsi256:{value:e=>g.rgbToAnsi256(...g.hexToRgb(e)),enumerable:!1},ansi256ToAnsi:{value:e=>{if(e<8)return 30+e;if(e<16)return 90+(e-8);let t,r,s;if(e>=232)t=((e-232)*10+8)/255,r=t,s=t;else{e-=16;let n=e%36;t=Math.floor(e/36)/5,r=Math.floor(n/6)/5,s=n%6/5}let o=Math.max(t,r,s)*2;if(o===0)return 30;let u=30+(Math.round(s)<<2|Math.round(r)<<1|Math.round(t));return o===2&&(u+=60),u},enumerable:!1},rgbToAnsi:{value:(e,t,r)=>g.ansi256ToAnsi(g.rgbToAnsi256(e,t,r)),enumerable:!1},hexToAnsi:{value:e=>g.ansi256ToAnsi(g.hexToAnsi256(e)),enumerable:!1}}),g}var hD=FD(),ou=new Set(["\x1B","\x9B"]),CD=39,yu="\x07",ie="[",mD="]",oe="m",xu=`${mD}8;;`,Ju=D=>`${ou.values().next().value}${ie}${D}${oe}`,Hu=D=>`${ou.values().next().value}${xu}${D}${yu}`,ED=D=>D.split(" ").map(e=>z(e)),vu=(D,e,t)=>{let r=[...e],s=!1,o=!1,u=z(te(D[D.length-1]));for(let[n,h]of r.entries()){let C=z(h);if(u+C<=t?D[D.length-1]+=h:(D.push(h),u=0),ou.has(h)&&(s=!0,o=r.slice(n+1).join("").startsWith(xu)),s){o?h===yu&&(s=!1,o=!1):h===oe&&(s=!1);continue}u+=C,u===t&&n<r.length-1&&(D.push(""),u=0)}!u&&D[D.length-1].length>0&&D.length>1&&(D[D.length-2]+=D.pop())},pD=D=>{let e=D.split(" "),t=e.length;for(;t>0&&!(z(e[t-1])>0);)t--;return t===e.length?D:e.slice(0,t).join(" ")+e.slice(t).join("")},dD=(D,e,t={})=>{if(t.trim!==!1&&D.trim()==="")return"";let r="",s,o,u=ED(D),n=[""];for(let[C,v]of D.split(" ").entries()){t.trim!==!1&&(n[n.length-1]=n[n.length-1].trimStart());let F=z(n[n.length-1]);if(C!==0&&(F>=e&&(t.wordWrap===!1||t.trim===!1)&&(n.push(""),F=0),(F>0||t.trim===!1)&&(n[n.length-1]+=" ",F++)),t.hard&&u[C]>e){let y=e-F,k=1+Math.floor((u[C]-y-1)/e);Math.floor((u[C]-1)/e)<k&&n.push(""),vu(n,v,e);continue}if(F+u[C]>e&&F>0&&u[C]>0){if(t.wordWrap===!1&&F<e){vu(n,v,e);continue}n.push("")}if(F+u[C]>e&&t.wordWrap===!1){vu(n,v,e);continue}n[n.length-1]+=v}t.trim!==!1&&(n=n.map(C=>pD(C)));let h=[...n.join(`
|
|
3
|
+
`)];for(let[C,v]of h.entries()){if(r+=v,ou.has(v)){let{groups:y}=new RegExp(`(?:\\${ie}(?<code>\\d+)m|\\${xu}(?<uri>.*)${yu})`).exec(h.slice(C).join(""))||{groups:{}};if(y.code!==void 0){let k=Number.parseFloat(y.code);s=k===CD?void 0:k}else y.uri!==void 0&&(o=y.uri.length===0?void 0:y.uri)}let F=hD.codes.get(Number(s));h[C+1]===`
|
|
4
|
+
`?(o&&(r+=Hu("")),s&&F&&(r+=Ju(F))):v===`
|
|
5
|
+
`&&(s&&F&&(r+=Ju(s)),o&&(r+=Hu(o)))}return r};function Zu(D,e,t){return String(D).normalize().replace(/\r\n/g,`
|
|
6
6
|
`).split(`
|
|
7
|
-
`).map(r=>
|
|
8
|
-
`)}var
|
|
9
|
-
`),r=
|
|
10
|
-
`),s=[];for(let
|
|
11
|
-
`),
|
|
12
|
-
`).length-1;this.output.write(
|
|
13
|
-
`);this.output.write(s[r]),this._prevFrame=
|
|
7
|
+
`).map(r=>dD(r,e,t)).join(`
|
|
8
|
+
`)}var gD=["up","down","left","right","space","enter","cancel"],tu={actions:new Set(gD),aliases:new Map([["k","up"],["j","down"],["h","left"],["l","right"],["","cancel"],["escape","cancel"]])};function wu(D,e){if(typeof D=="string")return tu.aliases.get(D)===e;for(let t of D)if(t!==void 0&&wu(t,e))return!0;return!1}function fD(D,e){if(D===e)return;let t=D.split(`
|
|
9
|
+
`),r=e.split(`
|
|
10
|
+
`),s=[];for(let o=0;o<Math.max(t.length,r.length);o++)t[o]!==r[o]&&s.push(o);return s}var bD=globalThis.process.platform.startsWith("win"),Au=Symbol("clack:cancel");function nu(D){return D===Au}function Du(D,e){let t=D;t.isTTY&&t.setRawMode(e)}function ne({input:D=ue,output:e=ee,overwrite:t=!0,hideCursor:r=!0}={}){let s=j.createInterface({input:D,output:e,prompt:"",tabSize:1});j.emitKeypressEvents(D,s),D.isTTY&&D.setRawMode(!0);let o=(u,{name:n,sequence:h})=>{let C=String(u);if(wu([C,n,h],"cancel")){r&&e.write(x.cursor.show),process.exit(0);return}if(!t)return;j.moveCursor(e,n==="return"?0:-1,n==="return"?-1:0,()=>{j.clearLine(e,1,()=>{D.once("keypress",o)})})};return r&&e.write(x.cursor.hide),D.once("keypress",o),()=>{D.off("keypress",o),r&&e.write(x.cursor.show),D.isTTY&&!bD&&D.setRawMode(!1),s.terminal=!1,s.close()}}var BD=Object.defineProperty,$D=(D,e,t)=>e in D?BD(D,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):D[e]=t,T=(D,e,t)=>($D(D,typeof e!="symbol"?e+"":e,t),t),W=class{constructor(e,t=!0){T(this,"input"),T(this,"output"),T(this,"_abortSignal"),T(this,"rl"),T(this,"opts"),T(this,"_render"),T(this,"_track",!1),T(this,"_prevFrame",""),T(this,"_subscribers",new Map),T(this,"_cursor",0),T(this,"state","initial"),T(this,"error",""),T(this,"value");let{input:r=ue,output:s=ee,render:o,signal:u,...n}=e;this.opts=n,this.onKeypress=this.onKeypress.bind(this),this.close=this.close.bind(this),this.render=this.render.bind(this),this._render=o.bind(this),this._track=t,this._abortSignal=u,this.input=r,this.output=s}unsubscribe(){this._subscribers.clear()}setSubscriber(e,t){let r=this._subscribers.get(e)??[];r.push(t),this._subscribers.set(e,r)}on(e,t){this.setSubscriber(e,{cb:t})}once(e,t){this.setSubscriber(e,{cb:t,once:!0})}emit(e,...t){let r=this._subscribers.get(e)??[],s=[];for(let o of r)o.cb(...t),o.once&&s.push(()=>r.splice(r.indexOf(o),1));for(let o of s)o()}prompt(){return new Promise((e,t)=>{if(this._abortSignal){if(this._abortSignal.aborted)return this.state="cancel",this.close(),e(Au);this._abortSignal.addEventListener("abort",()=>{this.state="cancel",this.close()},{once:!0})}let r=new tD;r._write=(s,o,u)=>{this._track&&(this.value=this.rl?.line.replace(/\t/g,""),this._cursor=this.rl?.cursor??0,this.emit("value",this.value)),u()},this.input.pipe(r),this.rl=Uu.createInterface({input:this.input,output:r,tabSize:2,prompt:"",escapeCodeTimeout:50,terminal:!0}),Uu.emitKeypressEvents(this.input,this.rl),this.rl.prompt(),this.opts.initialValue!==void 0&&this._track&&this.rl.write(this.opts.initialValue),this.input.on("keypress",this.onKeypress),Du(this.input,!0),this.output.on("resize",this.render),this.render(),this.once("submit",()=>{this.output.write(x.cursor.show),this.output.off("resize",this.render),Du(this.input,!1),e(this.value)}),this.once("cancel",()=>{this.output.write(x.cursor.show),this.output.off("resize",this.render),Du(this.input,!1),e(Au)})})}onKeypress(e,t){if(this.state==="error"&&(this.state="active"),t?.name&&(!this._track&&tu.aliases.has(t.name)&&this.emit("cursor",tu.aliases.get(t.name)),tu.actions.has(t.name)&&this.emit("cursor",t.name)),e&&(e.toLowerCase()==="y"||e.toLowerCase()==="n")&&this.emit("confirm",e.toLowerCase()==="y"),e===" "&&this.opts.placeholder&&(this.value||(this.rl?.write(this.opts.placeholder),this.emit("value",this.opts.placeholder))),e&&this.emit("key",e.toLowerCase()),t?.name==="return"){if(!this.value&&this.opts.placeholder&&(this.rl?.write(this.opts.placeholder),this.emit("value",this.opts.placeholder)),this.opts.validate){let r=this.opts.validate(this.value);r&&(this.error=r instanceof Error?r.message:r,this.state="error",this.rl?.write(this.value))}this.state!=="error"&&(this.state="submit")}wu([e,t?.name,t?.sequence],"cancel")&&(this.state="cancel"),(this.state==="submit"||this.state==="cancel")&&this.emit("finalize"),this.render(),(this.state==="submit"||this.state==="cancel")&&this.close()}close(){this.input.unpipe(),this.input.removeListener("keypress",this.onKeypress),this.output.write(`
|
|
11
|
+
`),Du(this.input,!1),this.rl?.close(),this.rl=void 0,this.emit(`${this.state}`,this.value),this.unsubscribe()}restoreCursor(){let e=Zu(this._prevFrame,process.stdout.columns,{hard:!0}).split(`
|
|
12
|
+
`).length-1;this.output.write(x.cursor.move(-999,e*-1))}render(){let e=Zu(this._render(this)??"",process.stdout.columns,{hard:!0});if(e!==this._prevFrame){if(this.state==="initial")this.output.write(x.cursor.hide);else{let t=fD(this._prevFrame,e);if(this.restoreCursor(),t&&t?.length===1){let r=t[0];this.output.write(x.cursor.move(0,r)),this.output.write(x.erase.lines(1));let s=e.split(`
|
|
13
|
+
`);this.output.write(s[r]),this._prevFrame=e,this.output.write(x.cursor.move(0,s.length-r-1));return}if(t&&t?.length>1){let r=t[0];this.output.write(x.cursor.move(0,r)),this.output.write(x.erase.down());let s=e.split(`
|
|
14
14
|
`).slice(r);this.output.write(s.join(`
|
|
15
|
-
`)),this._prevFrame=
|
|
16
|
-
${
|
|
17
|
-
`,t=
|
|
18
|
-
${
|
|
19
|
-
${
|
|
20
|
-
`;case"submit":return`${
|
|
21
|
-
${
|
|
22
|
-
${
|
|
23
|
-
`}}}).prompt();var
|
|
24
|
-
${
|
|
25
|
-
`,s=this.value?
|
|
26
|
-
${
|
|
27
|
-
${
|
|
28
|
-
`}}}).prompt()},
|
|
29
|
-
${
|
|
30
|
-
`;switch(this.state){case"submit":return`${t}${
|
|
31
|
-
${
|
|
32
|
-
${
|
|
33
|
-
${
|
|
34
|
-
`}}}).prompt()};var
|
|
15
|
+
`)),this._prevFrame=e;return}this.output.write(x.erase.down())}this.output.write(e),this.state==="initial"&&(this.state="active"),this._prevFrame=e}}},ru=class extends W{get cursor(){return this.value?0:1}get _value(){return this.cursor===0}constructor(e){super(e,!1),this.value=!!e.initialValue,this.on("value",()=>{this.value=this._value}),this.on("confirm",t=>{this.output.write(x.cursor.move(0,-1)),this.value=t,this.state="submit",this.close()}),this.on("cursor",()=>{this.value=!this.value})}};var vD;vD=new WeakMap;var AD=Object.defineProperty,yD=(D,e,t)=>e in D?AD(D,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):D[e]=t,Qu=(D,e,t)=>(yD(D,typeof e!="symbol"?e+"":e,t),t),ae=class extends W{constructor(D){super(D,!1),Qu(this,"options"),Qu(this,"cursor",0),this.options=D.options,this.value=[...D.initialValues??[]],this.cursor=Math.max(this.options.findIndex(({value:e})=>e===D.cursorAt),0),this.on("key",e=>{e==="a"&&this.toggleAll()}),this.on("cursor",e=>{switch(e){case"left":case"up":this.cursor=this.cursor===0?this.options.length-1:this.cursor-1;break;case"down":case"right":this.cursor=this.cursor===this.options.length-1?0:this.cursor+1;break;case"space":this.toggleValue();break}})}get _value(){return this.options[this.cursor].value}toggleAll(){let D=this.value.length===this.options.length;this.value=D?[]:this.options.map(e=>e.value)}toggleValue(){let D=this.value.includes(this._value);this.value=D?this.value.filter(e=>e!==this._value):[...this.value,this._value]}};var xD=Object.defineProperty,wD=(D,e,t)=>e in D?xD(D,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):D[e]=t,Xu=(D,e,t)=>(wD(D,typeof e!="symbol"?e+"":e,t),t),su=class extends W{constructor(e){super(e,!1),Xu(this,"options"),Xu(this,"cursor",0),this.options=e.options,this.cursor=this.options.findIndex(({value:t})=>t===e.initialValue),this.cursor===-1&&(this.cursor=0),this.changeValue(),this.on("cursor",t=>{switch(t){case"left":case"up":this.cursor=this.cursor===0?this.options.length-1:this.cursor-1;break;case"down":case"right":this.cursor=this.cursor===this.options.length-1?0:this.cursor+1;break}this.changeValue()})}get _value(){return this.options[this.cursor]}changeValue(){this.value=this._value.value}};var iu=class extends W{get valueWithCursor(){if(this.state==="submit")return this.value;if(this.cursor>=this.value.length)return`${this.value}\u2588`;let e=this.value.slice(0,this.cursor),[t,...r]=this.value.slice(this.cursor);return`${e}${De.default.inverse(t)}${r.join("")}`}get cursor(){return this._cursor}constructor(e){super(e),this.on("finalize",()=>{this.value||(this.value=e.defaultValue)})}};var i=X(Bu(),1),au=X(fu(),1);import R from"node:process";function TD(){return R.platform!=="win32"?R.env.TERM!=="linux":!!R.env.CI||!!R.env.WT_SESSION||!!R.env.TERMINUS_SUBLIME||R.env.ConEmuTask==="{cmd::Cmder}"||R.env.TERM_PROGRAM==="Terminus-Sublime"||R.env.TERM_PROGRAM==="vscode"||R.env.TERM==="xterm-256color"||R.env.TERM==="alacritty"||R.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var Ou=TD(),A=(D,e)=>Ou?D:e,OD=A("\u25C6","*"),Fe=A("\u25A0","x"),he=A("\u25B2","x"),lu=A("\u25C7","o"),kD=A("\u250C","T"),l=A("\u2502","|"),N=A("\u2514","\u2014"),ku=A("\u25CF",">"),Ru=A("\u25CB"," "),RD=A("\u25FB","[\u2022]"),le=A("\u25FC","[+]"),SD=A("\u25FB","[ ]"),jt=A("\u25AA","\u2022"),ce=A("\u2500","-"),MD=A("\u256E","+"),ID=A("\u251C","+"),_D=A("\u256F","+"),jD=A("\u25CF","\u2022"),ND=A("\u25C6","*"),PD=A("\u25B2","!"),LD=A("\u25A0","x"),cu=D=>{switch(D){case"initial":case"active":return i.default.cyan(OD);case"cancel":return i.default.red(Fe);case"error":return i.default.yellow(he);case"submit":return i.default.green(lu)}},Su=D=>{let{cursor:e,options:t,style:r}=D,s=D.maxItems??Number.POSITIVE_INFINITY,o=Math.max(process.stdout.rows-4,0),u=Math.min(o,Math.max(s,5)),n=0;e>=n+u-3?n=Math.max(Math.min(e-u+3,t.length-u),0):e<n+2&&(n=Math.max(e-2,0));let h=u<t.length&&n>0,C=u<t.length&&n+u<t.length;return t.slice(n,n+u).map((v,F,y)=>{let k=F===0&&h,P=F===y.length-1&&C;return k||P?i.default.dim("..."):r(v,F+n===e)})},L=D=>new iu({validate:D.validate,placeholder:D.placeholder,defaultValue:D.defaultValue,initialValue:D.initialValue,render(){let e=`${i.default.gray(l)}
|
|
16
|
+
${cu(this.state)} ${D.message}
|
|
17
|
+
`,t=D.placeholder?i.default.inverse(D.placeholder[0])+i.default.dim(D.placeholder.slice(1)):i.default.inverse(i.default.hidden("_")),r=this.value?this.valueWithCursor:t;switch(this.state){case"error":return`${e.trim()}
|
|
18
|
+
${i.default.yellow(l)} ${r}
|
|
19
|
+
${i.default.yellow(N)} ${i.default.yellow(this.error)}
|
|
20
|
+
`;case"submit":return`${e}${i.default.gray(l)} ${i.default.dim(this.value||D.placeholder)}`;case"cancel":return`${e}${i.default.gray(l)} ${i.default.strikethrough(i.default.dim(this.value??""))}${this.value?.trim()?`
|
|
21
|
+
${i.default.gray(l)}`:""}`;default:return`${e}${i.default.cyan(l)} ${r}
|
|
22
|
+
${i.default.cyan(N)}
|
|
23
|
+
`}}}).prompt();var G=D=>{let e=D.active??"Yes",t=D.inactive??"No";return new ru({active:e,inactive:t,initialValue:D.initialValue??!0,render(){let r=`${i.default.gray(l)}
|
|
24
|
+
${cu(this.state)} ${D.message}
|
|
25
|
+
`,s=this.value?e:t;switch(this.state){case"submit":return`${r}${i.default.gray(l)} ${i.default.dim(s)}`;case"cancel":return`${r}${i.default.gray(l)} ${i.default.strikethrough(i.default.dim(s))}
|
|
26
|
+
${i.default.gray(l)}`;default:return`${r}${i.default.cyan(l)} ${this.value?`${i.default.green(ku)} ${e}`:`${i.default.dim(Ru)} ${i.default.dim(e)}`} ${i.default.dim("/")} ${this.value?`${i.default.dim(Ru)} ${i.default.dim(t)}`:`${i.default.green(ku)} ${t}`}
|
|
27
|
+
${i.default.cyan(N)}
|
|
28
|
+
`}}}).prompt()},S=D=>{let e=(t,r)=>{let s=t.label??String(t.value);switch(r){case"selected":return`${i.default.dim(s)}`;case"active":return`${i.default.green(ku)} ${s} ${t.hint?i.default.dim(`(${t.hint})`):""}`;case"cancelled":return`${i.default.strikethrough(i.default.dim(s))}`;default:return`${i.default.dim(Ru)} ${i.default.dim(s)}`}};return new su({options:D.options,initialValue:D.initialValue,render(){let t=`${i.default.gray(l)}
|
|
29
|
+
${cu(this.state)} ${D.message}
|
|
30
|
+
`;switch(this.state){case"submit":return`${t}${i.default.gray(l)} ${e(this.options[this.cursor],"selected")}`;case"cancel":return`${t}${i.default.gray(l)} ${e(this.options[this.cursor],"cancelled")}
|
|
31
|
+
${i.default.gray(l)}`;default:return`${t}${i.default.cyan(l)} ${Su({cursor:this.cursor,options:this.options,maxItems:D.maxItems,style:(r,s)=>e(r,s?"active":"inactive")}).join(`
|
|
32
|
+
${i.default.cyan(l)} `)}
|
|
33
|
+
${i.default.cyan(N)}
|
|
34
|
+
`}}}).prompt()};var Ce=D=>{let e=(t,r)=>{let s=t.label??String(t.value);return r==="active"?`${i.default.cyan(RD)} ${s} ${t.hint?i.default.dim(`(${t.hint})`):""}`:r==="selected"?`${i.default.green(le)} ${i.default.dim(s)} ${t.hint?i.default.dim(`(${t.hint})`):""}`:r==="cancelled"?`${i.default.strikethrough(i.default.dim(s))}`:r==="active-selected"?`${i.default.green(le)} ${s} ${t.hint?i.default.dim(`(${t.hint})`):""}`:r==="submitted"?`${i.default.dim(s)}`:`${i.default.dim(SD)} ${i.default.dim(s)}`};return new ae({options:D.options,initialValues:D.initialValues,required:D.required??!0,cursorAt:D.cursorAt,validate(t){if(this.required&&t.length===0)return`Please select at least one option.
|
|
35
|
+
${i.default.reset(i.default.dim(`Press ${i.default.gray(i.default.bgWhite(i.default.inverse(" space ")))} to select, ${i.default.gray(i.default.bgWhite(i.default.inverse(" enter ")))} to submit`))}`},render(){let t=`${i.default.gray(l)}
|
|
36
|
+
${cu(this.state)} ${D.message}
|
|
37
|
+
`,r=(s,o)=>{let u=this.value.includes(s.value);return o&&u?e(s,"active-selected"):u?e(s,"selected"):e(s,o?"active":"inactive")};switch(this.state){case"submit":return`${t}${i.default.gray(l)} ${this.options.filter(({value:s})=>this.value.includes(s)).map(s=>e(s,"submitted")).join(i.default.dim(", "))||i.default.dim("none")}`;case"cancel":{let s=this.options.filter(({value:o})=>this.value.includes(o)).map(o=>e(o,"cancelled")).join(i.default.dim(", "));return`${t}${i.default.gray(l)} ${s.trim()?`${s}
|
|
38
|
+
${i.default.gray(l)}`:""}`}case"error":{let s=this.error.split(`
|
|
39
|
+
`).map((o,u)=>u===0?`${i.default.yellow(N)} ${i.default.yellow(o)}`:` ${o}`).join(`
|
|
40
|
+
`);return`${t+i.default.yellow(l)} ${Su({options:this.options,cursor:this.cursor,maxItems:D.maxItems,style:r}).join(`
|
|
41
|
+
${i.default.yellow(l)} `)}
|
|
42
|
+
${s}
|
|
43
|
+
`}default:return`${t}${i.default.cyan(l)} ${Su({options:this.options,cursor:this.cursor,maxItems:D.maxItems,style:r}).join(`
|
|
44
|
+
${i.default.cyan(l)} `)}
|
|
45
|
+
${i.default.cyan(N)}
|
|
46
|
+
`}}}).prompt()};var Fu=(D="",e="")=>{let t=`
|
|
47
|
+
${D}
|
|
48
|
+
`.split(`
|
|
49
|
+
`),r=Tu(e).length,s=Math.max(t.reduce((u,n)=>{let h=Tu(n);return h.length>u?h.length:u},0),r)+2,o=t.map(u=>`${i.default.gray(l)} ${i.default.dim(u)}${" ".repeat(s-Tu(u).length)}${i.default.gray(l)}`).join(`
|
|
50
|
+
`);process.stdout.write(`${i.default.gray(l)}
|
|
51
|
+
${i.default.green(lu)} ${i.default.reset(e)} ${i.default.gray(ce.repeat(Math.max(s-r-1,1))+MD)}
|
|
52
|
+
${o}
|
|
53
|
+
${i.default.gray(ID+ce.repeat(s+2)+_D)}
|
|
54
|
+
`)},hu=(D="")=>{process.stdout.write(`${i.default.gray(N)} ${i.default.red(D)}
|
|
35
55
|
|
|
36
|
-
`)},
|
|
37
|
-
`)},
|
|
38
|
-
${
|
|
56
|
+
`)},me=(D="")=>{process.stdout.write(`${i.default.gray(kD)} ${D}
|
|
57
|
+
`)},Ee=(D="")=>{process.stdout.write(`${i.default.gray(l)}
|
|
58
|
+
${i.default.gray(N)} ${D}
|
|
39
59
|
|
|
40
|
-
`)},
|
|
41
|
-
`);t.push(`${
|
|
60
|
+
`)},E={message:(D="",{symbol:e=i.default.gray(l)}={})=>{let t=[`${i.default.gray(l)}`];if(D){let[r,...s]=D.split(`
|
|
61
|
+
`);t.push(`${e} ${r}`,...s.map(o=>`${i.default.gray(l)} ${o}`))}process.stdout.write(`${t.join(`
|
|
42
62
|
`)}
|
|
43
|
-
`)},info:
|
|
44
|
-
`);let
|
|
45
|
-
`);process.stdout.write(
|
|
46
|
-
`);let
|
|
47
|
-
`):process.stdout.write(`${
|
|
48
|
-
`),
|
|
63
|
+
`)},info:D=>{E.message(D,{symbol:i.default.blue(jD)})},success:D=>{E.message(D,{symbol:i.default.green(ND)})},step:D=>{E.message(D,{symbol:i.default.green(lu)})},warn:D=>{E.message(D,{symbol:i.default.yellow(PD)})},warning:D=>{E.warn(D)},error:D=>{E.message(D,{symbol:i.default.red(LD)})}},Nt=`${i.default.gray(l)} `;var Cu=({indicator:D="dots"}={})=>{let e=Ou?["\u25D2","\u25D0","\u25D3","\u25D1"]:["\u2022","o","O","0"],t=Ou?80:120,r=process.env.CI==="true",s,o,u=!1,n="",h,C=performance.now(),v=m=>{let c=m>1?"Something went wrong":"Canceled";u&&a(c,m)},F=()=>v(2),y=()=>v(1),k=()=>{process.on("uncaughtExceptionMonitor",F),process.on("unhandledRejection",F),process.on("SIGINT",y),process.on("SIGTERM",y),process.on("exit",v)},P=()=>{process.removeListener("uncaughtExceptionMonitor",F),process.removeListener("unhandledRejection",F),process.removeListener("SIGINT",y),process.removeListener("SIGTERM",y),process.removeListener("exit",v)},V=()=>{if(h===void 0)return;r&&process.stdout.write(`
|
|
64
|
+
`);let m=h.split(`
|
|
65
|
+
`);process.stdout.write(au.cursor.move(-999,m.length-1)),process.stdout.write(au.erase.down(m.length))},_=m=>m.replace(/\.+$/,""),Z=m=>{let c=(performance.now()-m)/1e3,p=Math.floor(c/60),d=Math.floor(c%60);return p>0?`[${p}m ${d}s]`:`[${d}s]`},pu=(m="")=>{u=!0,s=ne(),n=_(m),C=performance.now(),process.stdout.write(`${i.default.gray(l)}
|
|
66
|
+
`);let c=0,p=0;k(),o=setInterval(()=>{if(r&&n===h)return;V(),h=n;let d=i.default.magenta(e[c]);if(r)process.stdout.write(`${d} ${n}...`);else if(D==="timer")process.stdout.write(`${d} ${n} ${Z(C)}`);else{let I=".".repeat(Math.floor(p)).slice(0,3);process.stdout.write(`${d} ${n}${I}`)}c=c+1<e.length?c+1:0,p=p<e.length?p+.125:0},t)},a=(m="",c=0)=>{u=!1,clearInterval(o),V();let p=c===0?i.default.green(lu):c===1?i.default.red(Fe):i.default.red(he);n=_(m??n),D==="timer"?process.stdout.write(`${p} ${n} ${Z(C)}
|
|
67
|
+
`):process.stdout.write(`${p} ${n}
|
|
68
|
+
`),P(),s()};return{start:pu,stop:a,message:(m="")=>{n=_(m??n)}}};var pe=(D=0)=>e=>`\x1B[${e+D}m`,de=(D=0)=>e=>`\x1B[${38+D};5;${e}m`,ge=(D=0)=>(e,t,r)=>`\x1B[${38+D};2;${e};${t};${r}m`,f={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},Gt=Object.keys(f.modifier),GD=Object.keys(f.color),VD=Object.keys(f.bgColor),Vt=[...GD,...VD];function WD(){let D=new Map;for(let[e,t]of Object.entries(f)){for(let[r,s]of Object.entries(t))f[r]={open:`\x1B[${s[0]}m`,close:`\x1B[${s[1]}m`},t[r]=f[r],D.set(s[0],s[1]);Object.defineProperty(f,e,{value:t,enumerable:!1})}return Object.defineProperty(f,"codes",{value:D,enumerable:!1}),f.color.close="\x1B[39m",f.bgColor.close="\x1B[49m",f.color.ansi=pe(),f.color.ansi256=de(),f.color.ansi16m=ge(),f.bgColor.ansi=pe(10),f.bgColor.ansi256=de(10),f.bgColor.ansi16m=ge(10),Object.defineProperties(f,{rgbToAnsi256:{value(e,t,r){return e===t&&t===r?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(t/255*5)+Math.round(r/255*5)},enumerable:!1},hexToRgb:{value(e){let t=/[a-f\d]{6}|[a-f\d]{3}/i.exec(e.toString(16));if(!t)return[0,0,0];let[r]=t;r.length===3&&(r=[...r].map(o=>o+o).join(""));let s=Number.parseInt(r,16);return[s>>16&255,s>>8&255,s&255]},enumerable:!1},hexToAnsi256:{value:e=>f.rgbToAnsi256(...f.hexToRgb(e)),enumerable:!1},ansi256ToAnsi:{value(e){if(e<8)return 30+e;if(e<16)return 90+(e-8);let t,r,s;if(e>=232)t=((e-232)*10+8)/255,r=t,s=t;else{e-=16;let n=e%36;t=Math.floor(e/36)/5,r=Math.floor(n/6)/5,s=n%6/5}let o=Math.max(t,r,s)*2;if(o===0)return 30;let u=30+(Math.round(s)<<2|Math.round(r)<<1|Math.round(t));return o===2&&(u+=60),u},enumerable:!1},rgbToAnsi:{value:(e,t,r)=>f.ansi256ToAnsi(f.rgbToAnsi256(e,t,r)),enumerable:!1},hexToAnsi:{value:e=>f.ansi256ToAnsi(f.hexToAnsi256(e)),enumerable:!1}}),f}var qD=WD(),M=qD;import Mu from"node:process";import UD from"node:os";import fe from"node:tty";function O(D,e=globalThis.Deno?globalThis.Deno.args:Mu.argv){let t=D.startsWith("-")?"":D.length===1?"-":"--",r=e.indexOf(t+D),s=e.indexOf("--");return r!==-1&&(s===-1||r<s)}var{env:$}=Mu,mu;O("no-color")||O("no-colors")||O("color=false")||O("color=never")?mu=0:(O("color")||O("colors")||O("color=true")||O("color=always"))&&(mu=1);function YD(){if("FORCE_COLOR"in $)return $.FORCE_COLOR==="true"?1:$.FORCE_COLOR==="false"?0:$.FORCE_COLOR.length===0?1:Math.min(Number.parseInt($.FORCE_COLOR,10),3)}function zD(D){return D===0?!1:{level:D,hasBasic:!0,has256:D>=2,has16m:D>=3}}function KD(D,{streamIsTTY:e,sniffFlags:t=!0}={}){let r=YD();r!==void 0&&(mu=r);let s=t?mu:r;if(s===0)return 0;if(t){if(O("color=16m")||O("color=full")||O("color=truecolor"))return 3;if(O("color=256"))return 2}if("TF_BUILD"in $&&"AGENT_NAME"in $)return 1;if(D&&!e&&s===void 0)return 0;let o=s||0;if($.TERM==="dumb")return o;if(Mu.platform==="win32"){let u=UD.release().split(".");return Number(u[0])>=10&&Number(u[2])>=10586?Number(u[2])>=14931?3:2:1}if("CI"in $)return["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some(u=>u in $)?3:["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(u=>u in $)||$.CI_NAME==="codeship"?1:o;if("TEAMCITY_VERSION"in $)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test($.TEAMCITY_VERSION)?1:0;if($.COLORTERM==="truecolor"||$.TERM==="xterm-kitty")return 3;if("TERM_PROGRAM"in $){let u=Number.parseInt(($.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch($.TERM_PROGRAM){case"iTerm.app":return u>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test($.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test($.TERM)||"COLORTERM"in $?1:o}function be(D,e={}){let t=KD(D,{streamIsTTY:D&&D.isTTY,...e});return zD(t)}var JD={stdout:be({isTTY:fe.isatty(1)}),stderr:be({isTTY:fe.isatty(2)})},Be=JD;function $e(D,e,t){let r=D.indexOf(e);if(r===-1)return D;let s=e.length,o=0,u="";do u+=D.slice(o,r)+e+t,o=r+s,r=D.indexOf(e,o);while(r!==-1);return u+=D.slice(o),u}function ve(D,e,t,r){let s=0,o="";do{let u=D[r-1]==="\r";o+=D.slice(s,u?r-1:r)+e+(u?`\r
|
|
49
69
|
`:`
|
|
50
|
-
`)+t,s=r+1,r=
|
|
51
|
-
`,s)}while(r!==-1);return
|
|
52
|
-
`);return
|
|
70
|
+
`)+t,s=r+1,r=D.indexOf(`
|
|
71
|
+
`,s)}while(r!==-1);return o+=D.slice(s),o}var{stdout:Ae,stderr:ye}=Be,Iu=Symbol("GENERATOR"),q=Symbol("STYLER"),K=Symbol("IS_EMPTY"),xe=["ansi","ansi","ansi256","ansi16m"],U=Object.create(null),HD=(D,e={})=>{if(e.level&&!(Number.isInteger(e.level)&&e.level>=0&&e.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let t=Ae?Ae.level:0;D.level=e.level===void 0?t:e.level};var ZD=D=>{let e=(...t)=>t.join(" ");return HD(e,D),Object.setPrototypeOf(e,J.prototype),e};function J(D){return ZD(D)}Object.setPrototypeOf(J.prototype,Function.prototype);for(let[D,e]of Object.entries(M))U[D]={get(){let t=Eu(this,ju(e.open,e.close,this[q]),this[K]);return Object.defineProperty(this,D,{value:t}),t}};U.visible={get(){let D=Eu(this,this[q],!0);return Object.defineProperty(this,"visible",{value:D}),D}};var _u=(D,e,t,...r)=>D==="rgb"?e==="ansi16m"?M[t].ansi16m(...r):e==="ansi256"?M[t].ansi256(M.rgbToAnsi256(...r)):M[t].ansi(M.rgbToAnsi(...r)):D==="hex"?_u("rgb",e,t,...M.hexToRgb(...r)):M[t][D](...r),QD=["rgb","hex","ansi256"];for(let D of QD){U[D]={get(){let{level:t}=this;return function(...r){let s=ju(_u(D,xe[t],"color",...r),M.color.close,this[q]);return Eu(this,s,this[K])}}};let e="bg"+D[0].toUpperCase()+D.slice(1);U[e]={get(){let{level:t}=this;return function(...r){let s=ju(_u(D,xe[t],"bgColor",...r),M.bgColor.close,this[q]);return Eu(this,s,this[K])}}}}var XD=Object.defineProperties(()=>{},{...U,level:{enumerable:!0,get(){return this[Iu].level},set(D){this[Iu].level=D}}}),ju=(D,e,t)=>{let r,s;return t===void 0?(r=D,s=e):(r=t.openAll+D,s=e+t.closeAll),{open:D,close:e,openAll:r,closeAll:s,parent:t}},Eu=(D,e,t)=>{let r=(...s)=>ut(r,s.length===1?""+s[0]:s.join(" "));return Object.setPrototypeOf(r,XD),r[Iu]=D,r[q]=e,r[K]=t,r},ut=(D,e)=>{if(D.level<=0||!e)return D[K]?"":e;let t=D[q];if(t===void 0)return e;let{openAll:r,closeAll:s}=t;if(e.includes("\x1B"))for(;t!==void 0;)e=$e(e,t.close,t.open),t=t.parent;let o=e.indexOf(`
|
|
72
|
+
`);return o!==-1&&(e=ve(e,s,r,o)),r+e+s};Object.defineProperties(J.prototype,U);var et=J(),Qt=J({level:ye?ye.level:0});var H=et;import{execSync as Re}from"child_process";function B(D){if(nu(D))return hu("\u274C Operation cancelled. Exiting..."),process.exit(0)}var Dt=async()=>{let D=await S({message:"\u{1F333} Select the branch type:",options:[{value:"fix",label:"\u{1F41E} Fix"},{value:"improvement",label:"\u2728 Improvement"},{value:"feature",label:"\u{1F680} Feature"},{value:"refactor",label:"\u{1F528} Refactor"}]});return B(D),D},we=Dt;var tt=D=>/^[A-Z]{3}-\d{4}$/.test(D),Te=tt;var rt=async()=>{let D=await L({message:"\u{1F3AB} Enter the JIRA ticket code:",placeholder:"DPW-0000",initialValue:"",validate(e){if(e.length===0)return"\u26A0\uFE0F JIRA code is required!";if(!Te(e))return"\u274C JIRA code must have the format DPW-0000"}});return B(D),D},Oe=rt;var st=async()=>{let D=await we(),e=await Oe();return`${D}/${e}`},ke=st;var it=async()=>{let D=await ke(),e=Cu();try{e.start("\u{1F331} Creating original branch..."),Re(`git checkout -b ${D} origin/master`,{stdio:"inherit"}),Re(`git push origin ${D}`,{stdio:"inherit"}),e.stop(`\u2705 Branch "${D}" created and pushed to remote successfully!`),E.success(`\u{1F389} Branch "${D}" created successfully!`)}catch(t){e.stop(),E.error(`\u274C Error: ${t.message}`)}},Se=it;import{execSync as Y}from"child_process";var ot=async()=>{let D=await S({message:"\u{1F30D} \xBFA qu\xE9 rama deseas hacer merge?",options:[{value:"develop",label:"\u{1F9EA} develop (DEV)"},{value:"release",label:"\u{1F6A2} release (UAT)"}],required:!0,initialValue:"develop"});return B(D),D},Me=ot;import{execSync as nt}from"child_process";var at=()=>nt("git rev-parse --abbrev-ref HEAD").toString().trim(),Ie=at;var lt=async()=>{try{let D=await Me(),e=Ie(),t=`${e}-${D}`;if(Y(`git checkout -b ${t} origin/${D}`,{stdio:"inherit"}),E.success("\u{1F33F} Temporal branch created successfully"),Y(`git merge origin/${e}`,{stdio:"inherit"}),E.success("\u{1F500} Temporal branch merged successfully"),Y("git status --porcelain",{encoding:"utf-8"}).includes("UU")){E.warn("\u26A0\uFE0F Conflicts detected. Please resolve them manually!");return}Y(`git push origin ${t}`,{stdio:"inherit"}),E.info("\u{1F680} Branch pushed to remote repository");let s=await G({message:"Do you want to remove the temporal branch?"});B(s),s&&(Y(`git checkout ${e}`,{stdio:"inherit"}),Y(`git branch -D ${t}`,{stdio:"inherit"}),E.info("\u{1F5D1}\uFE0F Temporal branch deleted successfully"))}catch(D){console.error("\u274C Error creating the temporal branch:",D)}},_e=lt;import{execSync as w,spawnSync as Nu,spawn as ct}from"child_process";var Ft=[{value:"fix",label:"fix \u2014 correccion de bug"},{value:"feat",label:"feat \u2014 nueva funcionalidad"},{value:"refactor",label:"refactor \u2014 mejora sin cambio funcional"},{value:"chore",label:"chore \u2014 mantenimiento, dependencias"},{value:"docs",label:"docs \u2014 documentacion"},{value:"test",label:"test \u2014 pruebas"},{value:"ci",label:"ci \u2014 integracion continua"},{value:"perf",label:"perf \u2014 rendimiento"},{value:"style",label:"style \u2014 formato, sin cambio de logica"}];function je(D){let e=D.slice(3).trim();return e.includes(" -> ")?e.split(" -> ")[1].trim():e}function Ne(){let D=w("git status --short",{encoding:"utf-8"}).trim();return D?D.split(`
|
|
73
|
+
`):[]}var ht=async()=>{let D=w("git rev-parse --abbrev-ref HEAD",{encoding:"utf-8"}).trim(),e=Ne();if(E.info(`Branch actual: ${D}`),E.info(`Archivos con cambios: ${e.length}`),e.length===0){let a=await G({message:"No hay cambios pendientes. Deseas continuar de todas formas?"});if(B(a),!a)return}let t=Cu();t.start("Actualizando referencias remotas...");try{w("git fetch --quiet"),t.stop("Referencias actualizadas")}catch{t.stop("No se pudo hacer fetch (continuando...)")}let r=await L({message:"Desde que branch base quieres crear la rama?",placeholder:"release",validate:a=>a.length===0?"El branch base es requerido":void 0});B(r);let s=await L({message:"Cual es el identificador del ticket? (ej: DPW-0000)",placeholder:"DPW-0000",validate:a=>a.length===0?"El ticket es requerido":void 0});B(s);let o=await S({message:"Que tipo de cambio es?",options:Ft});B(o);let u=`${o}/${s}`;if(w(`git branch --list ${u}`,{encoding:"utf-8"}).trim()){let a=await S({message:`La rama "${u}" ya existe localmente. Que deseas hacer?`,options:[{value:"checkout",label:"Cambiarme a ella y continuar"},{value:"cancel",label:"Cancelar"}]});if(B(a),a==="cancel"){E.warn("Operacion cancelada.");return}w(`git checkout ${u}`,{stdio:"inherit"})}else try{t.start(`Creando rama ${u} desde origin/${r}...`),w(`git checkout -b ${u} origin/${r}`),t.stop(`Rama ${u} creada`)}catch(a){t.stop(""),E.error(`Error al crear la rama: ${a.message}`);return}let h=!1;for(;!h;){let a=Ne();if(a.length===0){E.warn("No hay archivos para stagear.");return}let m={M:"modificado",A:"agregado",D:"eliminado",R:"renombrado","??":"sin rastrear"},c=await Ce({message:"Cuales archivos quieres incluir en el commit?",options:a.map(I=>{let Q=I.slice(0,2).trim(),We=je(I),qe=m[Q]??Q;return{value:I,label:We,hint:qe}}),required:!0});B(c),Nu("git",["restore","--staged","."],{encoding:"utf-8"});for(let I of c){let Q=je(I);Nu("git",["add",Q],{encoding:"utf-8"})}let p=w("git status --short",{encoding:"utf-8"}).trim();Fu(p,"Archivos en stage");let d=await G({message:"Los archivos en stage son correctos?"});B(d),h=d,h||Nu("git",["restore","--staged","."],{encoding:"utf-8"})}let C=w("git diff --cached",{encoding:"utf-8"}),v=`Analiza el siguiente git diff y sugiere UN SOLO mensaje de commit en formato convencional.
|
|
74
|
+
|
|
75
|
+
Formato requerido: ${o}(${s}): descripcion en ingles
|
|
76
|
+
Reglas:
|
|
77
|
+
- Maximo 72 caracteres en total
|
|
78
|
+
- Verbo en presente ("add", "fix", "update", NO "added", "fixed")
|
|
79
|
+
- Sin punto final
|
|
80
|
+
- En ingles
|
|
81
|
+
- Responde UNICAMENTE con el mensaje de commit, sin explicaciones, sin comillas, sin markdown
|
|
82
|
+
|
|
83
|
+
Git diff:
|
|
84
|
+
${C}`;t.start("Generando sugerencia de commit con Claude...");let F=await new Promise(a=>{let m="",c="",p=ct("claude",["-p",v],{stdio:["ignore","pipe","pipe"]});p.stdout.on("data",d=>{m+=d}),p.stderr.on("data",d=>{c+=d}),p.on("close",d=>a({status:d,stdout:m,stderr:c,error:null})),p.on("error",d=>a({status:1,stdout:"",stderr:"",error:d}))});t.stop("");let y;if(F.error||F.status!==0){E.warn("No se pudo obtener sugerencia de Claude. Escribe el mensaje manualmente.");let a=await L({message:"Escribe el mensaje de commit:",initialValue:`${o}(${s}): `,validate:m=>m.trim().length===0?"El mensaje es requerido":void 0});B(a),y=a}else{let a=F.stdout.trim();Fu(a,"Sugerencia de Claude");let m=await S({message:"Este mensaje de commit te parece bien?",options:[{value:"yes",label:"Si, usar este"},{value:"modify",label:"Modificar"}]});if(B(m),m==="yes")y=a;else{let c=await L({message:"Escribe el mensaje de commit:",initialValue:a,validate:p=>p.trim().length===0?"El mensaje es requerido":void 0});B(c),y=c}}let k=y.replace(/"/g,'\\"'),P=!1;for(;!P;)try{w(`git commit -m "${k}"`,{stdio:"inherit"}),E.success("Commit realizado correctamente"),P=!0}catch{let a=await S({message:"El pre-commit hook bloqueo el commit. Que deseas hacer?",options:[{value:"retry",label:"Ya lo corregi, agrega los cambios y vuelve a intentarlo"},{value:"noverify",label:"Saltar el hook (--no-verify)"},{value:"cancel",label:"Cancelar"}]});if(B(a),a==="cancel")return;a==="noverify"&&(w(`git commit --no-verify -m "${k}"`,{stdio:"inherit"}),E.success("Commit realizado (sin hooks)"),P=!0),a==="retry"&&w("git add -u",{stdio:"inherit"})}let V=await G({message:"Deseas subir la rama al repositorio remoto?"});B(V);let _="";if(V){let a=(c=!1)=>{let p=c?`git push -f origin ${u}`:`git push -u origin ${u}`;w(p,{stdio:"inherit"})},m=()=>{let c=w("git remote get-url origin",{encoding:"utf-8"}).trim(),p=c.match(/[:/]([^/]+\/[^/]+?)(\.git)?$/),d=p?p[1]:"";return c.includes("github.com")?`https://github.com/${d}/compare/${u}?expand=1`:c.includes("bitbucket.org")?`https://bitbucket.org/${d}/pull-requests/new?source=${u}`:c.includes("gitlab.com")?`https://gitlab.com/${d}/-/merge_requests/new?merge_request[source_branch]=${u}`:""};try{a(),E.success("Push realizado"),_=m()}catch(c){if(c.message.includes("rejected")||c.message.includes("non-fast-forward")){let d=await G({message:"La rama ya existe en el remoto con historial diferente. Deseas forzar el push? (git push -f)"});if(B(d),d)try{a(!0),E.success("Push forzado realizado"),_=m()}catch(I){E.error(`Error en el push forzado: ${I.message}`)}}else E.error(`Error en el push: ${c.message}`)}}let Z=w('git diff --name-only HEAD~1 HEAD 2>/dev/null || git show --name-only --format="" HEAD',{encoding:"utf-8"}).trim().split(`
|
|
85
|
+
`).filter(Boolean).length,pu=[`Rama: ${u}`,`Desde: origin/${r}`,`Commit: ${y}`,`Archivos: ${Z} archivos commiteados`,...V&&_?[`Push: origin/${u}`,`Crear PR: ${_}`]:[]];Fu(pu.join(`
|
|
86
|
+
`),"Listo!")},Pe=ht;import{readFileSync as Ct}from"fs";import{fileURLToPath as mt}from"url";import{dirname as Et,resolve as pt}from"path";var dt=()=>{let D=mt(import.meta.url),e=Et(D);return JSON.parse(Ct(pt(e,"../package.json"),"utf8"))?.version},Le=dt;import{existsSync as gt}from"fs";import{join as ft}from"path";var bt=()=>{let D=ft(process.cwd(),".git");gt(D)||(console.error("\u274C This directory is not a git repository"),process.exit(1))},Ge=bt;var Ve=process.argv.slice(2);(Ve.includes("-v")||Ve.includes("--version"))&&(console.log("eazy-git version:",Le()),process.exit(0));Ge();me(H.hex("#57d7c4")(`
|
|
53
87
|
Welcome to
|
|
54
88
|
|
|
55
89
|
.-------------------------------------------------------------------------------.
|
|
@@ -63,5 +97,5 @@ ${o.default.gray(S)} ${e}
|
|
|
63
97
|
|\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591 |
|
|
64
98
|
'-------------------------------------------------------------------------------'
|
|
65
99
|
|
|
66
|
-
${
|
|
67
|
-
`));var
|
|
100
|
+
${H.hex("#9ca3af")("your trusted CLI for GIT branch management")}
|
|
101
|
+
`));var Pu=await S({message:H.hex("#199288")("What would you like to do?"),options:[{value:"ACB",label:"\u2726 Add Changes to Branch"},{value:"CRO",label:"\u{1F331} Create Original Branch"},{value:"CRT",label:"\u{1F33F} Create Temporal Branch"}],required:!0,initialValue:"ACB"});Pu==="ACB"?await Pe():Pu==="CRO"?await Se():Pu==="CRT"?await _e():(hu("\u274C The operation was cancelled. Exiting..."),process.exit(0));Ee(H.hex("#06D6A0")("Operation completed!"));
|