rantera 0.1.5 → 0.1.7
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/dist/index.js +47 -119
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,131 +1,59 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import{createRequire}from"node:module";const require=createRequire(import.meta.url);
|
|
3
|
-
var fi=Object.create;var be=Object.defineProperty;var di=Object.getOwnPropertyDescriptor;var mi=Object.getOwnPropertyNames;var pi=Object.getPrototypeOf,gi=Object.prototype.hasOwnProperty;var J=(i=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(i,{get:(t,e)=>(typeof require<"u"?require:t)[e]}):i)(function(i){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+i+'" is not supported')});var
|
|
4
|
-
`).replace(/^/gm," ".repeat(o))}let D=[`Usage: ${e.commandUsage(t)}`,""],h=e.commandDescription(t);h.length>0&&(D=D.concat([e.wrap(h,r,0),""]));let c=e.visibleArguments(t).map(d=>
|
|
5
|
-
`)}padWidth(t,e){return Math.max(e.longestOptionTermLength(t,e),e.longestGlobalOptionTermLength(t,e),e.longestSubcommandTermLength(t,e),e.longestArgumentTermLength(t,e))}wrap(t,e,n,r=40){let o=" \\f\\t\\v\xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFEFF",s=new RegExp(`[\\n][${o}]+`);if(t.match(s))return t;let
|
|
3
|
+
var fi=Object.create;var be=Object.defineProperty;var di=Object.getOwnPropertyDescriptor;var mi=Object.getOwnPropertyNames;var pi=Object.getPrototypeOf,gi=Object.prototype.hasOwnProperty;var J=(i=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(i,{get:(t,e)=>(typeof require<"u"?require:t)[e]}):i)(function(i){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+i+'" is not supported')});var T=(i,t)=>()=>{try{return t||i((t={exports:{}}).exports,t),t.exports}catch(e){throw t=0,e}};var Fi=(i,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of mi(t))!gi.call(i,r)&&r!==e&&be(i,r,{get:()=>t[r],enumerable:!(n=di(t,r))||n.enumerable});return i};var st=(i,t,e)=>(e=i!=null?fi(pi(i)):{},Fi(t||!i||!i.__esModule?be(e,"default",{value:i,enumerable:!0}):e,i));var X=T(bt=>{var ut=class extends Error{constructor(t,e,n){super(n),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=e,this.exitCode=t,this.nestedError=void 0}},At=class extends ut{constructor(t){super(1,"commander.invalidArgument",t),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}};bt.CommanderError=ut;bt.InvalidArgumentError=At});var at=T(wt=>{var{InvalidArgumentError:Ci}=X(),yt=class{constructor(t,e){switch(this.description=e||"",this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,t[0]){case"<":this.required=!0,this._name=t.slice(1,-1);break;case"[":this.required=!1,this._name=t.slice(1,-1);break;default:this.required=!0,this._name=t;break}this._name.length>3&&this._name.slice(-3)==="..."&&(this.variadic=!0,this._name=this._name.slice(0,-3))}name(){return this._name}_concatValue(t,e){return e===this.defaultValue||!Array.isArray(e)?[t]:e.concat(t)}default(t,e){return this.defaultValue=t,this.defaultValueDescription=e,this}argParser(t){return this.parseArg=t,this}choices(t){return this.argChoices=t.slice(),this.parseArg=(e,n)=>{if(!this.argChoices.includes(e))throw new Ci(`Allowed choices are ${this.argChoices.join(", ")}.`);return this.variadic?this._concatValue(e,n):e},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}};function Ei(i){let t=i.name()+(i.variadic===!0?"...":"");return i.required?"<"+t+">":"["+t+"]"}wt.Argument=yt;wt.humanReadableArgName=Ei});var Bt=T(ye=>{var{humanReadableArgName:_i}=at(),Ot=class{constructor(){this.helpWidth=void 0,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}visibleCommands(t){let e=t.commands.filter(r=>!r._hidden),n=t._getHelpCommand();return n&&!n._hidden&&e.push(n),this.sortSubcommands&&e.sort((r,o)=>r.name().localeCompare(o.name())),e}compareOptions(t,e){let n=r=>r.short?r.short.replace(/^-/,""):r.long.replace(/^--/,"");return n(t).localeCompare(n(e))}visibleOptions(t){let e=t.options.filter(r=>!r.hidden),n=t._getHelpOption();if(n&&!n.hidden){let r=n.short&&t._findOption(n.short),o=n.long&&t._findOption(n.long);!r&&!o?e.push(n):n.long&&!o?e.push(t.createOption(n.long,n.description)):n.short&&!r&&e.push(t.createOption(n.short,n.description))}return this.sortOptions&&e.sort(this.compareOptions),e}visibleGlobalOptions(t){if(!this.showGlobalOptions)return[];let e=[];for(let n=t.parent;n;n=n.parent){let r=n.options.filter(o=>!o.hidden);e.push(...r)}return this.sortOptions&&e.sort(this.compareOptions),e}visibleArguments(t){return t._argsDescription&&t.registeredArguments.forEach(e=>{e.description=e.description||t._argsDescription[e.name()]||""}),t.registeredArguments.find(e=>e.description)?t.registeredArguments:[]}subcommandTerm(t){let e=t.registeredArguments.map(n=>_i(n)).join(" ");return t._name+(t._aliases[0]?"|"+t._aliases[0]:"")+(t.options.length?" [options]":"")+(e?" "+e:"")}optionTerm(t){return t.flags}argumentTerm(t){return t.name()}longestSubcommandTermLength(t,e){return e.visibleCommands(t).reduce((n,r)=>Math.max(n,e.subcommandTerm(r).length),0)}longestOptionTermLength(t,e){return e.visibleOptions(t).reduce((n,r)=>Math.max(n,e.optionTerm(r).length),0)}longestGlobalOptionTermLength(t,e){return e.visibleGlobalOptions(t).reduce((n,r)=>Math.max(n,e.optionTerm(r).length),0)}longestArgumentTermLength(t,e){return e.visibleArguments(t).reduce((n,r)=>Math.max(n,e.argumentTerm(r).length),0)}commandUsage(t){let e=t._name;t._aliases[0]&&(e=e+"|"+t._aliases[0]);let n="";for(let r=t.parent;r;r=r.parent)n=r.name()+" "+n;return n+e+" "+t.usage()}commandDescription(t){return t.description()}subcommandDescription(t){return t.summary()||t.description()}optionDescription(t){let e=[];return t.argChoices&&e.push(`choices: ${t.argChoices.map(n=>JSON.stringify(n)).join(", ")}`),t.defaultValue!==void 0&&(t.required||t.optional||t.isBoolean()&&typeof t.defaultValue=="boolean")&&e.push(`default: ${t.defaultValueDescription||JSON.stringify(t.defaultValue)}`),t.presetArg!==void 0&&t.optional&&e.push(`preset: ${JSON.stringify(t.presetArg)}`),t.envVar!==void 0&&e.push(`env: ${t.envVar}`),e.length>0?`${t.description} (${e.join(", ")})`:t.description}argumentDescription(t){let e=[];if(t.argChoices&&e.push(`choices: ${t.argChoices.map(n=>JSON.stringify(n)).join(", ")}`),t.defaultValue!==void 0&&e.push(`default: ${t.defaultValueDescription||JSON.stringify(t.defaultValue)}`),e.length>0){let n=`(${e.join(", ")})`;return t.description?`${t.description} ${n}`:n}return t.description}formatHelp(t,e){let n=e.padWidth(t,e),r=e.helpWidth||80,o=2,s=2;function l(d,m){if(m){let E=`${d.padEnd(n+s)}${m}`;return e.wrap(E,r-o,n+s)}return d}function u(d){return d.join(`
|
|
4
|
+
`).replace(/^/gm," ".repeat(o))}let D=[`Usage: ${e.commandUsage(t)}`,""],h=e.commandDescription(t);h.length>0&&(D=D.concat([e.wrap(h,r,0),""]));let c=e.visibleArguments(t).map(d=>l(e.argumentTerm(d),e.argumentDescription(d)));c.length>0&&(D=D.concat(["Arguments:",u(c),""]));let f=e.visibleOptions(t).map(d=>l(e.optionTerm(d),e.optionDescription(d)));if(f.length>0&&(D=D.concat(["Options:",u(f),""])),this.showGlobalOptions){let d=e.visibleGlobalOptions(t).map(m=>l(e.optionTerm(m),e.optionDescription(m)));d.length>0&&(D=D.concat(["Global Options:",u(d),""]))}let p=e.visibleCommands(t).map(d=>l(e.subcommandTerm(d),e.subcommandDescription(d)));return p.length>0&&(D=D.concat(["Commands:",u(p),""])),D.join(`
|
|
5
|
+
`)}padWidth(t,e){return Math.max(e.longestOptionTermLength(t,e),e.longestGlobalOptionTermLength(t,e),e.longestSubcommandTermLength(t,e),e.longestArgumentTermLength(t,e))}wrap(t,e,n,r=40){let o=" \\f\\t\\v\xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFEFF",s=new RegExp(`[\\n][${o}]+`);if(t.match(s))return t;let l=e-n;if(l<r)return t;let u=t.slice(0,n),D=t.slice(n).replace(`\r
|
|
6
6
|
`,`
|
|
7
7
|
`),h=" ".repeat(n),f="\\s\u200B",p=new RegExp(`
|
|
8
|
-
|.{1,${
|
|
8
|
+
|.{1,${l-1}}([${f}]|$)|[^${f}]+?([${f}]|$)`,"g"),d=D.match(p)||[];return u+d.map((m,E)=>m===`
|
|
9
9
|
`?"":(E>0?h:"")+m.trimEnd()).join(`
|
|
10
|
-
`)}};ye.Help=Ot});var
|
|
10
|
+
`)}};ye.Help=Ot});var Tt=T(St=>{var{InvalidArgumentError:xi}=X(),vt=class{constructor(t,e){this.flags=t,this.description=e||"",this.required=t.includes("<"),this.optional=t.includes("["),this.variadic=/\w\.\.\.[>\]]$/.test(t),this.mandatory=!1;let n=bi(t);this.short=n.shortFlag,this.long=n.longFlag,this.negate=!1,this.long&&(this.negate=this.long.startsWith("--no-")),this.defaultValue=void 0,this.defaultValueDescription=void 0,this.presetArg=void 0,this.envVar=void 0,this.parseArg=void 0,this.hidden=!1,this.argChoices=void 0,this.conflictsWith=[],this.implied=void 0}default(t,e){return this.defaultValue=t,this.defaultValueDescription=e,this}preset(t){return this.presetArg=t,this}conflicts(t){return this.conflictsWith=this.conflictsWith.concat(t),this}implies(t){let e=t;return typeof t=="string"&&(e={[t]:!0}),this.implied=Object.assign(this.implied||{},e),this}env(t){return this.envVar=t,this}argParser(t){return this.parseArg=t,this}makeOptionMandatory(t=!0){return this.mandatory=!!t,this}hideHelp(t=!0){return this.hidden=!!t,this}_concatValue(t,e){return e===this.defaultValue||!Array.isArray(e)?[t]:e.concat(t)}choices(t){return this.argChoices=t.slice(),this.parseArg=(e,n)=>{if(!this.argChoices.includes(e))throw new xi(`Allowed choices are ${this.argChoices.join(", ")}.`);return this.variadic?this._concatValue(e,n):e},this}name(){return this.long?this.long.replace(/^--/,""):this.short.replace(/^-/,"")}attributeName(){return Ai(this.name().replace(/^no-/,""))}is(t){return this.short===t||this.long===t}isBoolean(){return!this.required&&!this.optional&&!this.negate}},Rt=class{constructor(t){this.positiveOptions=new Map,this.negativeOptions=new Map,this.dualOptions=new Set,t.forEach(e=>{e.negate?this.negativeOptions.set(e.attributeName(),e):this.positiveOptions.set(e.attributeName(),e)}),this.negativeOptions.forEach((e,n)=>{this.positiveOptions.has(n)&&this.dualOptions.add(n)})}valueFromOption(t,e){let n=e.attributeName();if(!this.dualOptions.has(n))return!0;let r=this.negativeOptions.get(n).presetArg,o=r!==void 0?r:!1;return e.negate===(o===t)}};function Ai(i){return i.split("-").reduce((t,e)=>t+e[0].toUpperCase()+e.slice(1))}function bi(i){let t,e,n=i.split(/[ |,]+/);return n.length>1&&!/^[[<]/.test(n[1])&&(t=n.shift()),e=n.shift(),!t&&/^-[^-]$/.test(e)&&(t=e,e=void 0),{shortFlag:t,longFlag:e}}St.Option=vt;St.DualOptions=Rt});var Oe=T(we=>{function yi(i,t){if(Math.abs(i.length-t.length)>3)return Math.max(i.length,t.length);let e=[];for(let n=0;n<=i.length;n++)e[n]=[n];for(let n=0;n<=t.length;n++)e[0][n]=n;for(let n=1;n<=t.length;n++)for(let r=1;r<=i.length;r++){let o=1;i[r-1]===t[n-1]?o=0:o=1,e[r][n]=Math.min(e[r-1][n]+1,e[r][n-1]+1,e[r-1][n-1]+o),r>1&&n>1&&i[r-1]===t[n-2]&&i[r-2]===t[n-1]&&(e[r][n]=Math.min(e[r][n],e[r-2][n-2]+1))}return e[i.length][t.length]}function wi(i,t){if(!t||t.length===0)return"";t=Array.from(new Set(t));let e=i.startsWith("--");e&&(i=i.slice(2),t=t.map(s=>s.slice(2)));let n=[],r=3,o=.4;return t.forEach(s=>{if(s.length<=1)return;let l=yi(i,s),u=Math.max(i.length,s.length);(u-l)/u>o&&(l<r?(r=l,n=[s]):l===r&&n.push(s))}),n.sort((s,l)=>s.localeCompare(l)),e&&(n=n.map(s=>`--${s}`)),n.length>1?`
|
|
11
11
|
(Did you mean one of ${n.join(", ")}?)`:n.length===1?`
|
|
12
|
-
(Did you mean ${n[0]}?)`:""}we.suggestSimilar=wi});var
|
|
12
|
+
(Did you mean ${n[0]}?)`:""}we.suggestSimilar=wi});var Te=T(Se=>{var Oi=J("node:events").EventEmitter,kt=J("node:child_process"),P=J("node:path"),$t=J("node:fs"),C=J("node:process"),{Argument:Bi,humanReadableArgName:vi}=at(),{CommanderError:It}=X(),{Help:Ri}=Bt(),{Option:Be,DualOptions:Si}=Tt(),{suggestSimilar:ve}=Oe(),Pt=class i extends Oi{constructor(t){super(),this.commands=[],this.options=[],this.parent=null,this._allowUnknownOption=!1,this._allowExcessArguments=!0,this.registeredArguments=[],this._args=this.registeredArguments,this.args=[],this.rawArgs=[],this.processedArgs=[],this._scriptPath=null,this._name=t||"",this._optionValues={},this._optionValueSources={},this._storeOptionsAsProperties=!1,this._actionHandler=null,this._executableHandler=!1,this._executableFile=null,this._executableDir=null,this._defaultCommandName=null,this._exitCallback=null,this._aliases=[],this._combineFlagAndOptionalValue=!0,this._description="",this._summary="",this._argsDescription=void 0,this._enablePositionalOptions=!1,this._passThroughOptions=!1,this._lifeCycleHooks={},this._showHelpAfterError=!1,this._showSuggestionAfterError=!0,this._outputConfiguration={writeOut:e=>C.stdout.write(e),writeErr:e=>C.stderr.write(e),getOutHelpWidth:()=>C.stdout.isTTY?C.stdout.columns:void 0,getErrHelpWidth:()=>C.stderr.isTTY?C.stderr.columns:void 0,outputError:(e,n)=>n(e)},this._hidden=!1,this._helpOption=void 0,this._addImplicitHelpCommand=void 0,this._helpCommand=void 0,this._helpConfiguration={}}copyInheritedSettings(t){return this._outputConfiguration=t._outputConfiguration,this._helpOption=t._helpOption,this._helpCommand=t._helpCommand,this._helpConfiguration=t._helpConfiguration,this._exitCallback=t._exitCallback,this._storeOptionsAsProperties=t._storeOptionsAsProperties,this._combineFlagAndOptionalValue=t._combineFlagAndOptionalValue,this._allowExcessArguments=t._allowExcessArguments,this._enablePositionalOptions=t._enablePositionalOptions,this._showHelpAfterError=t._showHelpAfterError,this._showSuggestionAfterError=t._showSuggestionAfterError,this}_getCommandAndAncestors(){let t=[];for(let e=this;e;e=e.parent)t.push(e);return t}command(t,e,n){let r=e,o=n;typeof r=="object"&&r!==null&&(o=r,r=null),o=o||{};let[,s,l]=t.match(/([^ ]+) *(.*)/),u=this.createCommand(s);return r&&(u.description(r),u._executableHandler=!0),o.isDefault&&(this._defaultCommandName=u._name),u._hidden=!!(o.noHelp||o.hidden),u._executableFile=o.executableFile||null,l&&u.arguments(l),this._registerCommand(u),u.parent=this,u.copyInheritedSettings(this),r?this:u}createCommand(t){return new i(t)}createHelp(){return Object.assign(new Ri,this.configureHelp())}configureHelp(t){return t===void 0?this._helpConfiguration:(this._helpConfiguration=t,this)}configureOutput(t){return t===void 0?this._outputConfiguration:(Object.assign(this._outputConfiguration,t),this)}showHelpAfterError(t=!0){return typeof t!="string"&&(t=!!t),this._showHelpAfterError=t,this}showSuggestionAfterError(t=!0){return this._showSuggestionAfterError=!!t,this}addCommand(t,e){if(!t._name)throw new Error(`Command passed to .addCommand() must have a name
|
|
13
13
|
- specify the name in Command constructor or using .name()`);return e=e||{},e.isDefault&&(this._defaultCommandName=t._name),(e.noHelp||e.hidden)&&(t._hidden=!0),this._registerCommand(t),t.parent=this,t._checkForBrokenPassThrough(),this}createArgument(t,e){return new Bi(t,e)}argument(t,e,n,r){let o=this.createArgument(t,e);return typeof n=="function"?o.default(r).argParser(n):o.default(n),this.addArgument(o),this}arguments(t){return t.trim().split(/ +/).forEach(e=>{this.argument(e)}),this}addArgument(t){let e=this.registeredArguments.slice(-1)[0];if(e&&e.variadic)throw new Error(`only the last argument can be variadic '${e.name()}'`);if(t.required&&t.defaultValue!==void 0&&t.parseArg===void 0)throw new Error(`a default value for a required argument is never used: '${t.name()}'`);return this.registeredArguments.push(t),this}helpCommand(t,e){if(typeof t=="boolean")return this._addImplicitHelpCommand=t,this;t=t??"help [command]";let[,n,r]=t.match(/([^ ]+) *(.*)/),o=e??"display help for command",s=this.createCommand(n);return s.helpOption(!1),r&&s.arguments(r),o&&s.description(o),this._addImplicitHelpCommand=!0,this._helpCommand=s,this}addHelpCommand(t,e){return typeof t!="object"?(this.helpCommand(t,e),this):(this._addImplicitHelpCommand=!0,this._helpCommand=t,this)}_getHelpCommand(){return this._addImplicitHelpCommand??(this.commands.length&&!this._actionHandler&&!this._findCommand("help"))?(this._helpCommand===void 0&&this.helpCommand(void 0,void 0),this._helpCommand):null}hook(t,e){let n=["preSubcommand","preAction","postAction"];if(!n.includes(t))throw new Error(`Unexpected value for event passed to hook : '${t}'.
|
|
14
14
|
Expecting one of '${n.join("', '")}'`);return this._lifeCycleHooks[t]?this._lifeCycleHooks[t].push(e):this._lifeCycleHooks[t]=[e],this}exitOverride(t){return t?this._exitCallback=t:this._exitCallback=e=>{if(e.code!=="commander.executeSubCommandAsync")throw e},this}_exit(t,e,n){this._exitCallback&&this._exitCallback(new It(t,e,n)),C.exit(t)}action(t){let e=n=>{let r=this.registeredArguments.length,o=n.slice(0,r);return this._storeOptionsAsProperties?o[r]=this:o[r]=this.opts(),o.push(this),t.apply(this,o)};return this._actionHandler=e,this}createOption(t,e){return new Be(t,e)}_callParseArg(t,e,n,r){try{return t.parseArg(e,n)}catch(o){if(o.code==="commander.invalidArgument"){let s=`${r} ${o.message}`;this.error(s,{exitCode:o.exitCode,code:o.code})}throw o}}_registerOption(t){let e=t.short&&this._findOption(t.short)||t.long&&this._findOption(t.long);if(e){let n=t.long&&this._findOption(t.long)?t.long:t.short;throw new Error(`Cannot add option '${t.flags}'${this._name&&` to command '${this._name}'`} due to conflicting flag '${n}'
|
|
15
|
-
- already used by option '${e.flags}'`)}this.options.push(t)}_registerCommand(t){let e=r=>[r.name()].concat(r.aliases()),n=e(t).find(r=>this._findCommand(r));if(n){let r=e(this._findCommand(n)).join("|"),o=e(t).join("|");throw new Error(`cannot add command '${o}' as already have command '${r}'`)}this.commands.push(t)}addOption(t){this._registerOption(t);let e=t.name(),n=t.attributeName();if(t.negate){let o=t.long.replace(/^--no-/,"--");this._findOption(o)||this.setOptionValueWithSource(n,t.defaultValue===void 0?!0:t.defaultValue,"default")}else t.defaultValue!==void 0&&this.setOptionValueWithSource(n,t.defaultValue,"default");let r=(o,s,
|
|
15
|
+
- already used by option '${e.flags}'`)}this.options.push(t)}_registerCommand(t){let e=r=>[r.name()].concat(r.aliases()),n=e(t).find(r=>this._findCommand(r));if(n){let r=e(this._findCommand(n)).join("|"),o=e(t).join("|");throw new Error(`cannot add command '${o}' as already have command '${r}'`)}this.commands.push(t)}addOption(t){this._registerOption(t);let e=t.name(),n=t.attributeName();if(t.negate){let o=t.long.replace(/^--no-/,"--");this._findOption(o)||this.setOptionValueWithSource(n,t.defaultValue===void 0?!0:t.defaultValue,"default")}else t.defaultValue!==void 0&&this.setOptionValueWithSource(n,t.defaultValue,"default");let r=(o,s,l)=>{o==null&&t.presetArg!==void 0&&(o=t.presetArg);let u=this.getOptionValue(n);o!==null&&t.parseArg?o=this._callParseArg(t,o,u,s):o!==null&&t.variadic&&(o=t._concatValue(o,u)),o==null&&(t.negate?o=!1:t.isBoolean()||t.optional?o=!0:o=""),this.setOptionValueWithSource(n,o,l)};return this.on("option:"+e,o=>{let s=`error: option '${t.flags}' argument '${o}' is invalid.`;r(o,s,"cli")}),t.envVar&&this.on("optionEnv:"+e,o=>{let s=`error: option '${t.flags}' value '${o}' from env '${t.envVar}' is invalid.`;r(o,s,"env")}),this}_optionEx(t,e,n,r,o){if(typeof e=="object"&&e instanceof Be)throw new Error("To add an Option object use addOption() instead of option() or requiredOption()");let s=this.createOption(e,n);if(s.makeOptionMandatory(!!t.mandatory),typeof r=="function")s.default(o).argParser(r);else if(r instanceof RegExp){let l=r;r=(u,D)=>{let h=l.exec(u);return h?h[0]:D},s.default(o).argParser(r)}else s.default(r);return this.addOption(s)}option(t,e,n,r){return this._optionEx({},t,e,n,r)}requiredOption(t,e,n,r){return this._optionEx({mandatory:!0},t,e,n,r)}combineFlagAndOptionalValue(t=!0){return this._combineFlagAndOptionalValue=!!t,this}allowUnknownOption(t=!0){return this._allowUnknownOption=!!t,this}allowExcessArguments(t=!0){return this._allowExcessArguments=!!t,this}enablePositionalOptions(t=!0){return this._enablePositionalOptions=!!t,this}passThroughOptions(t=!0){return this._passThroughOptions=!!t,this._checkForBrokenPassThrough(),this}_checkForBrokenPassThrough(){if(this.parent&&this._passThroughOptions&&!this.parent._enablePositionalOptions)throw new Error(`passThroughOptions cannot be used for '${this._name}' without turning on enablePositionalOptions for parent command(s)`)}storeOptionsAsProperties(t=!0){if(this.options.length)throw new Error("call .storeOptionsAsProperties() before adding options");if(Object.keys(this._optionValues).length)throw new Error("call .storeOptionsAsProperties() before setting option values");return this._storeOptionsAsProperties=!!t,this}getOptionValue(t){return this._storeOptionsAsProperties?this[t]:this._optionValues[t]}setOptionValue(t,e){return this.setOptionValueWithSource(t,e,void 0)}setOptionValueWithSource(t,e,n){return this._storeOptionsAsProperties?this[t]=e:this._optionValues[t]=e,this._optionValueSources[t]=n,this}getOptionValueSource(t){return this._optionValueSources[t]}getOptionValueSourceWithGlobals(t){let e;return this._getCommandAndAncestors().forEach(n=>{n.getOptionValueSource(t)!==void 0&&(e=n.getOptionValueSource(t))}),e}_prepareUserArgs(t,e){if(t!==void 0&&!Array.isArray(t))throw new Error("first parameter to parse must be array or undefined");if(e=e||{},t===void 0&&e.from===void 0){C.versions?.electron&&(e.from="electron");let r=C.execArgv??[];(r.includes("-e")||r.includes("--eval")||r.includes("-p")||r.includes("--print"))&&(e.from="eval")}t===void 0&&(t=C.argv),this.rawArgs=t.slice();let n;switch(e.from){case void 0:case"node":this._scriptPath=t[1],n=t.slice(2);break;case"electron":C.defaultApp?(this._scriptPath=t[1],n=t.slice(2)):n=t.slice(1);break;case"user":n=t.slice(0);break;case"eval":n=t.slice(1);break;default:throw new Error(`unexpected parse option { from: '${e.from}' }`)}return!this._name&&this._scriptPath&&this.nameFromFilename(this._scriptPath),this._name=this._name||"program",n}parse(t,e){let n=this._prepareUserArgs(t,e);return this._parseCommand([],n),this}async parseAsync(t,e){let n=this._prepareUserArgs(t,e);return await this._parseCommand([],n),this}_executeSubCommand(t,e){e=e.slice();let n=!1,r=[".js",".ts",".tsx",".mjs",".cjs"];function o(h,c){let f=P.resolve(h,c);if($t.existsSync(f))return f;if(r.includes(P.extname(c)))return;let p=r.find(d=>$t.existsSync(`${f}${d}`));if(p)return`${f}${p}`}this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let s=t._executableFile||`${this._name}-${t._name}`,l=this._executableDir||"";if(this._scriptPath){let h;try{h=$t.realpathSync(this._scriptPath)}catch{h=this._scriptPath}l=P.resolve(P.dirname(h),l)}if(l){let h=o(l,s);if(!h&&!t._executableFile&&this._scriptPath){let c=P.basename(this._scriptPath,P.extname(this._scriptPath));c!==this._name&&(h=o(l,`${c}-${t._name}`))}s=h||s}n=r.includes(P.extname(s));let u;C.platform!=="win32"?n?(e.unshift(s),e=Re(C.execArgv).concat(e),u=kt.spawn(C.argv[0],e,{stdio:"inherit"})):u=kt.spawn(s,e,{stdio:"inherit"}):(e.unshift(s),e=Re(C.execArgv).concat(e),u=kt.spawn(C.execPath,e,{stdio:"inherit"})),u.killed||["SIGUSR1","SIGUSR2","SIGTERM","SIGINT","SIGHUP"].forEach(c=>{C.on(c,()=>{u.killed===!1&&u.exitCode===null&&u.kill(c)})});let D=this._exitCallback;u.on("close",h=>{h=h??1,D?D(new It(h,"commander.executeSubCommandAsync","(close)")):C.exit(h)}),u.on("error",h=>{if(h.code==="ENOENT"){let c=l?`searched for local subcommand relative to directory '${l}'`:"no directory for search for local subcommand, use .executableDir() to supply a custom directory",f=`'${s}' does not exist
|
|
16
16
|
- if '${t._name}' is not meant to be an executable command, remove description parameter from '.command()' and use '.description()' instead
|
|
17
17
|
- if the default executable name is not suitable, use the executableFile option to supply a custom name or path
|
|
18
|
-
- ${c}`;throw new Error(f)}else if(h.code==="EACCES")throw new Error(`'${s}' not executable`);if(!D)C.exit(1);else{let c=new It(1,"commander.executeSubCommandAsync","(error)");c.nestedError=h,D(c)}}),this.runningCommand=
|
|
18
|
+
- ${c}`;throw new Error(f)}else if(h.code==="EACCES")throw new Error(`'${s}' not executable`);if(!D)C.exit(1);else{let c=new It(1,"commander.executeSubCommandAsync","(error)");c.nestedError=h,D(c)}}),this.runningCommand=u}_dispatchSubcommand(t,e,n){let r=this._findCommand(t);r||this.help({error:!0});let o;return o=this._chainOrCallSubCommandHook(o,r,"preSubcommand"),o=this._chainOrCall(o,()=>{if(r._executableHandler)this._executeSubCommand(r,e.concat(n));else return r._parseCommand(e,n)}),o}_dispatchHelpCommand(t){t||this.help();let e=this._findCommand(t);return e&&!e._executableHandler&&e.help(),this._dispatchSubcommand(t,[],[this._getHelpOption()?.long??this._getHelpOption()?.short??"--help"])}_checkNumberOfArguments(){this.registeredArguments.forEach((t,e)=>{t.required&&this.args[e]==null&&this.missingArgument(t.name())}),!(this.registeredArguments.length>0&&this.registeredArguments[this.registeredArguments.length-1].variadic)&&this.args.length>this.registeredArguments.length&&this._excessArguments(this.args)}_processArguments(){let t=(n,r,o)=>{let s=r;if(r!==null&&n.parseArg){let l=`error: command-argument value '${r}' is invalid for argument '${n.name()}'.`;s=this._callParseArg(n,r,o,l)}return s};this._checkNumberOfArguments();let e=[];this.registeredArguments.forEach((n,r)=>{let o=n.defaultValue;n.variadic?r<this.args.length?(o=this.args.slice(r),n.parseArg&&(o=o.reduce((s,l)=>t(n,l,s),n.defaultValue))):o===void 0&&(o=[]):r<this.args.length&&(o=this.args[r],n.parseArg&&(o=t(n,o,n.defaultValue))),e[r]=o}),this.processedArgs=e}_chainOrCall(t,e){return t&&t.then&&typeof t.then=="function"?t.then(()=>e()):e()}_chainOrCallHooks(t,e){let n=t,r=[];return this._getCommandAndAncestors().reverse().filter(o=>o._lifeCycleHooks[e]!==void 0).forEach(o=>{o._lifeCycleHooks[e].forEach(s=>{r.push({hookedCommand:o,callback:s})})}),e==="postAction"&&r.reverse(),r.forEach(o=>{n=this._chainOrCall(n,()=>o.callback(o.hookedCommand,this))}),n}_chainOrCallSubCommandHook(t,e,n){let r=t;return this._lifeCycleHooks[n]!==void 0&&this._lifeCycleHooks[n].forEach(o=>{r=this._chainOrCall(r,()=>o(this,e))}),r}_parseCommand(t,e){let n=this.parseOptions(e);if(this._parseOptionsEnv(),this._parseOptionsImplied(),t=t.concat(n.operands),e=n.unknown,this.args=t.concat(e),t&&this._findCommand(t[0]))return this._dispatchSubcommand(t[0],t.slice(1),e);if(this._getHelpCommand()&&t[0]===this._getHelpCommand().name())return this._dispatchHelpCommand(t[1]);if(this._defaultCommandName)return this._outputHelpIfRequested(e),this._dispatchSubcommand(this._defaultCommandName,t,e);this.commands.length&&this.args.length===0&&!this._actionHandler&&!this._defaultCommandName&&this.help({error:!0}),this._outputHelpIfRequested(n.unknown),this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let r=()=>{n.unknown.length>0&&this.unknownOption(n.unknown[0])},o=`command:${this.name()}`;if(this._actionHandler){r(),this._processArguments();let s;return s=this._chainOrCallHooks(s,"preAction"),s=this._chainOrCall(s,()=>this._actionHandler(this.processedArgs)),this.parent&&(s=this._chainOrCall(s,()=>{this.parent.emit(o,t,e)})),s=this._chainOrCallHooks(s,"postAction"),s}if(this.parent&&this.parent.listenerCount(o))r(),this._processArguments(),this.parent.emit(o,t,e);else if(t.length){if(this._findCommand("*"))return this._dispatchSubcommand("*",t,e);this.listenerCount("command:*")?this.emit("command:*",t,e):this.commands.length?this.unknownCommand():(r(),this._processArguments())}else this.commands.length?(r(),this.help({error:!0})):(r(),this._processArguments())}_findCommand(t){if(t)return this.commands.find(e=>e._name===t||e._aliases.includes(t))}_findOption(t){return this.options.find(e=>e.is(t))}_checkForMissingMandatoryOptions(){this._getCommandAndAncestors().forEach(t=>{t.options.forEach(e=>{e.mandatory&&t.getOptionValue(e.attributeName())===void 0&&t.missingMandatoryOptionValue(e)})})}_checkForConflictingLocalOptions(){let t=this.options.filter(n=>{let r=n.attributeName();return this.getOptionValue(r)===void 0?!1:this.getOptionValueSource(r)!=="default"});t.filter(n=>n.conflictsWith.length>0).forEach(n=>{let r=t.find(o=>n.conflictsWith.includes(o.attributeName()));r&&this._conflictingOption(n,r)})}_checkForConflictingOptions(){this._getCommandAndAncestors().forEach(t=>{t._checkForConflictingLocalOptions()})}parseOptions(t){let e=[],n=[],r=e,o=t.slice();function s(u){return u.length>1&&u[0]==="-"}let l=null;for(;o.length;){let u=o.shift();if(u==="--"){r===n&&r.push(u),r.push(...o);break}if(l&&!s(u)){this.emit(`option:${l.name()}`,u);continue}if(l=null,s(u)){let D=this._findOption(u);if(D){if(D.required){let h=o.shift();h===void 0&&this.optionMissingArgument(D),this.emit(`option:${D.name()}`,h)}else if(D.optional){let h=null;o.length>0&&!s(o[0])&&(h=o.shift()),this.emit(`option:${D.name()}`,h)}else this.emit(`option:${D.name()}`);l=D.variadic?D:null;continue}}if(u.length>2&&u[0]==="-"&&u[1]!=="-"){let D=this._findOption(`-${u[1]}`);if(D){D.required||D.optional&&this._combineFlagAndOptionalValue?this.emit(`option:${D.name()}`,u.slice(2)):(this.emit(`option:${D.name()}`),o.unshift(`-${u.slice(2)}`));continue}}if(/^--[^=]+=/.test(u)){let D=u.indexOf("="),h=this._findOption(u.slice(0,D));if(h&&(h.required||h.optional)){this.emit(`option:${h.name()}`,u.slice(D+1));continue}}if(s(u)&&(r=n),(this._enablePositionalOptions||this._passThroughOptions)&&e.length===0&&n.length===0){if(this._findCommand(u)){e.push(u),o.length>0&&n.push(...o);break}else if(this._getHelpCommand()&&u===this._getHelpCommand().name()){e.push(u),o.length>0&&e.push(...o);break}else if(this._defaultCommandName){n.push(u),o.length>0&&n.push(...o);break}}if(this._passThroughOptions){r.push(u),o.length>0&&r.push(...o);break}r.push(u)}return{operands:e,unknown:n}}opts(){if(this._storeOptionsAsProperties){let t={},e=this.options.length;for(let n=0;n<e;n++){let r=this.options[n].attributeName();t[r]=r===this._versionOptionName?this._version:this[r]}return t}return this._optionValues}optsWithGlobals(){return this._getCommandAndAncestors().reduce((t,e)=>Object.assign(t,e.opts()),{})}error(t,e){this._outputConfiguration.outputError(`${t}
|
|
19
19
|
`,this._outputConfiguration.writeErr),typeof this._showHelpAfterError=="string"?this._outputConfiguration.writeErr(`${this._showHelpAfterError}
|
|
20
20
|
`):this._showHelpAfterError&&(this._outputConfiguration.writeErr(`
|
|
21
|
-
`),this.outputHelp({error:!0}));let n=e||{},r=n.exitCode||1,o=n.code||"commander.error";this._exit(r,o,t)}_parseOptionsEnv(){this.options.forEach(t=>{if(t.envVar&&t.envVar in C.env){let e=t.attributeName();(this.getOptionValue(e)===void 0||["default","config","env"].includes(this.getOptionValueSource(e)))&&(t.required||t.optional?this.emit(`optionEnv:${t.name()}`,C.env[t.envVar]):this.emit(`optionEnv:${t.name()}`))}})}_parseOptionsImplied(){let t=new
|
|
21
|
+
`),this.outputHelp({error:!0}));let n=e||{},r=n.exitCode||1,o=n.code||"commander.error";this._exit(r,o,t)}_parseOptionsEnv(){this.options.forEach(t=>{if(t.envVar&&t.envVar in C.env){let e=t.attributeName();(this.getOptionValue(e)===void 0||["default","config","env"].includes(this.getOptionValueSource(e)))&&(t.required||t.optional?this.emit(`optionEnv:${t.name()}`,C.env[t.envVar]):this.emit(`optionEnv:${t.name()}`))}})}_parseOptionsImplied(){let t=new Si(this.options),e=n=>this.getOptionValue(n)!==void 0&&!["default","implied"].includes(this.getOptionValueSource(n));this.options.filter(n=>n.implied!==void 0&&e(n.attributeName())&&t.valueFromOption(this.getOptionValue(n.attributeName()),n)).forEach(n=>{Object.keys(n.implied).filter(r=>!e(r)).forEach(r=>{this.setOptionValueWithSource(r,n.implied[r],"implied")})})}missingArgument(t){let e=`error: missing required argument '${t}'`;this.error(e,{code:"commander.missingArgument"})}optionMissingArgument(t){let e=`error: option '${t.flags}' argument missing`;this.error(e,{code:"commander.optionMissingArgument"})}missingMandatoryOptionValue(t){let e=`error: required option '${t.flags}' not specified`;this.error(e,{code:"commander.missingMandatoryOptionValue"})}_conflictingOption(t,e){let n=s=>{let l=s.attributeName(),u=this.getOptionValue(l),D=this.options.find(c=>c.negate&&l===c.attributeName()),h=this.options.find(c=>!c.negate&&l===c.attributeName());return D&&(D.presetArg===void 0&&u===!1||D.presetArg!==void 0&&u===D.presetArg)?D:h||s},r=s=>{let l=n(s),u=l.attributeName();return this.getOptionValueSource(u)==="env"?`environment variable '${l.envVar}'`:`option '${l.flags}'`},o=`error: ${r(t)} cannot be used with ${r(e)}`;this.error(o,{code:"commander.conflictingOption"})}unknownOption(t){if(this._allowUnknownOption)return;let e="";if(t.startsWith("--")&&this._showSuggestionAfterError){let r=[],o=this;do{let s=o.createHelp().visibleOptions(o).filter(l=>l.long).map(l=>l.long);r=r.concat(s),o=o.parent}while(o&&!o._enablePositionalOptions);e=ve(t,r)}let n=`error: unknown option '${t}'${e}`;this.error(n,{code:"commander.unknownOption"})}_excessArguments(t){if(this._allowExcessArguments)return;let e=this.registeredArguments.length,n=e===1?"":"s",o=`error: too many arguments${this.parent?` for '${this.name()}'`:""}. Expected ${e} argument${n} but got ${t.length}.`;this.error(o,{code:"commander.excessArguments"})}unknownCommand(){let t=this.args[0],e="";if(this._showSuggestionAfterError){let r=[];this.createHelp().visibleCommands(this).forEach(o=>{r.push(o.name()),o.alias()&&r.push(o.alias())}),e=ve(t,r)}let n=`error: unknown command '${t}'${e}`;this.error(n,{code:"commander.unknownCommand"})}version(t,e,n){if(t===void 0)return this._version;this._version=t,e=e||"-V, --version",n=n||"output the version number";let r=this.createOption(e,n);return this._versionOptionName=r.attributeName(),this._registerOption(r),this.on("option:"+r.name(),()=>{this._outputConfiguration.writeOut(`${t}
|
|
22
22
|
`),this._exit(0,"commander.version",t)}),this}description(t,e){return t===void 0&&e===void 0?this._description:(this._description=t,e&&(this._argsDescription=e),this)}summary(t){return t===void 0?this._summary:(this._summary=t,this)}alias(t){if(t===void 0)return this._aliases[0];let e=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler&&(e=this.commands[this.commands.length-1]),t===e._name)throw new Error("Command alias can't be the same as its name");let n=this.parent?._findCommand(t);if(n){let r=[n.name()].concat(n.aliases()).join("|");throw new Error(`cannot add alias '${t}' to command '${this.name()}' as already have command '${r}'`)}return e._aliases.push(t),this}aliases(t){return t===void 0?this._aliases:(t.forEach(e=>this.alias(e)),this)}usage(t){if(t===void 0){if(this._usage)return this._usage;let e=this.registeredArguments.map(n=>vi(n));return[].concat(this.options.length||this._helpOption!==null?"[options]":[],this.commands.length?"[command]":[],this.registeredArguments.length?e:[]).join(" ")}return this._usage=t,this}name(t){return t===void 0?this._name:(this._name=t,this)}nameFromFilename(t){return this._name=P.basename(t,P.extname(t)),this}executableDir(t){return t===void 0?this._executableDir:(this._executableDir=t,this)}helpInformation(t){let e=this.createHelp();return e.helpWidth===void 0&&(e.helpWidth=t&&t.error?this._outputConfiguration.getErrHelpWidth():this._outputConfiguration.getOutHelpWidth()),e.formatHelp(this,e)}_getHelpContext(t){t=t||{};let e={error:!!t.error},n;return e.error?n=r=>this._outputConfiguration.writeErr(r):n=r=>this._outputConfiguration.writeOut(r),e.write=t.write||n,e.command=this,e}outputHelp(t){let e;typeof t=="function"&&(e=t,t=void 0);let n=this._getHelpContext(t);this._getCommandAndAncestors().reverse().forEach(o=>o.emit("beforeAllHelp",n)),this.emit("beforeHelp",n);let r=this.helpInformation(n);if(e&&(r=e(r),typeof r!="string"&&!Buffer.isBuffer(r)))throw new Error("outputHelp callback must return a string or a Buffer");n.write(r),this._getHelpOption()?.long&&this.emit(this._getHelpOption().long),this.emit("afterHelp",n),this._getCommandAndAncestors().forEach(o=>o.emit("afterAllHelp",n))}helpOption(t,e){return typeof t=="boolean"?(t?this._helpOption=this._helpOption??void 0:this._helpOption=null,this):(t=t??"-h, --help",e=e??"display help for command",this._helpOption=this.createOption(t,e),this)}_getHelpOption(){return this._helpOption===void 0&&this.helpOption(void 0,void 0),this._helpOption}addHelpOption(t){return this._helpOption=t,this}help(t){this.outputHelp(t);let e=C.exitCode||0;e===0&&t&&typeof t!="function"&&t.error&&(e=1),this._exit(e,"commander.help","(outputHelp)")}addHelpText(t,e){let n=["beforeAll","before","after","afterAll"];if(!n.includes(t))throw new Error(`Unexpected value for position to addHelpText.
|
|
23
23
|
Expecting one of '${n.join("', '")}'`);let r=`${t}Help`;return this.on(r,o=>{let s;typeof e=="function"?s=e({error:o.error,command:o.command}):s=e,s&&o.write(`${s}
|
|
24
|
-
`)}),this}_outputHelpIfRequested(t){let e=this._getHelpOption();e&&t.find(r=>e.is(r))&&(this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)"))}};function Re(i){return i.map(t=>{if(!t.startsWith("--inspect"))return t;let e,n="127.0.0.1",r="9229",o;return(o=t.match(/^(--inspect(-brk)?)$/))!==null?e=o[1]:(o=t.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null?(e=o[1],/^\d+$/.test(o[3])?r=o[3]:n=o[3]):(o=t.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null&&(e=o[1],n=o[3],r=o[4]),e&&r!=="0"?`${e}=${n}:${parseInt(r)+1}`:t})}Te.Command=Pt});var Pe=S(O=>{var{Argument:ke}=at(),{Command:Mt}=Se(),{CommanderError:Si,InvalidArgumentError:$e}=X(),{Help:ki}=Bt(),{Option:Ie}=St();O.program=new Mt;O.createCommand=i=>new Mt(i);O.createOption=(i,t)=>new Ie(i,t);O.createArgument=(i,t)=>new ke(i,t);O.Command=Mt;O.Option=Ie;O.Argument=ke;O.Help=ki;O.CommanderError=Si;O.InvalidArgumentError=$e;O.InvalidOptionArgumentError=$e});var Bn=S((is,dr)=>{dr.exports={dots:{interval:80,frames:["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"]},dots2:{interval:80,frames:["\u28FE","\u28FD","\u28FB","\u28BF","\u287F","\u28DF","\u28EF","\u28F7"]},dots3:{interval:80,frames:["\u280B","\u2819","\u281A","\u281E","\u2816","\u2826","\u2834","\u2832","\u2833","\u2813"]},dots4:{interval:80,frames:["\u2804","\u2806","\u2807","\u280B","\u2819","\u2838","\u2830","\u2820","\u2830","\u2838","\u2819","\u280B","\u2807","\u2806"]},dots5:{interval:80,frames:["\u280B","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B"]},dots6:{interval:80,frames:["\u2801","\u2809","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2824","\u2804","\u2804","\u2824","\u2834","\u2832","\u2812","\u2802","\u2802","\u2812","\u281A","\u2819","\u2809","\u2801"]},dots7:{interval:80,frames:["\u2808","\u2809","\u280B","\u2813","\u2812","\u2810","\u2810","\u2812","\u2816","\u2826","\u2824","\u2820","\u2820","\u2824","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B","\u2809","\u2808"]},dots8:{interval:80,frames:["\u2801","\u2801","\u2809","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2824","\u2804","\u2804","\u2824","\u2820","\u2820","\u2824","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B","\u2809","\u2808","\u2808"]},dots9:{interval:80,frames:["\u28B9","\u28BA","\u28BC","\u28F8","\u28C7","\u2867","\u2857","\u284F"]},dots10:{interval:80,frames:["\u2884","\u2882","\u2881","\u2841","\u2848","\u2850","\u2860"]},dots11:{interval:100,frames:["\u2801","\u2802","\u2804","\u2840","\u2880","\u2820","\u2810","\u2808"]},dots12:{interval:80,frames:["\u2880\u2800","\u2840\u2800","\u2804\u2800","\u2882\u2800","\u2842\u2800","\u2805\u2800","\u2883\u2800","\u2843\u2800","\u280D\u2800","\u288B\u2800","\u284B\u2800","\u280D\u2801","\u288B\u2801","\u284B\u2801","\u280D\u2809","\u280B\u2809","\u280B\u2809","\u2809\u2819","\u2809\u2819","\u2809\u2829","\u2808\u2899","\u2808\u2859","\u2888\u2829","\u2840\u2899","\u2804\u2859","\u2882\u2829","\u2842\u2898","\u2805\u2858","\u2883\u2828","\u2843\u2890","\u280D\u2850","\u288B\u2820","\u284B\u2880","\u280D\u2841","\u288B\u2801","\u284B\u2801","\u280D\u2809","\u280B\u2809","\u280B\u2809","\u2809\u2819","\u2809\u2819","\u2809\u2829","\u2808\u2899","\u2808\u2859","\u2808\u2829","\u2800\u2899","\u2800\u2859","\u2800\u2829","\u2800\u2898","\u2800\u2858","\u2800\u2828","\u2800\u2890","\u2800\u2850","\u2800\u2820","\u2800\u2880","\u2800\u2840"]},dots13:{interval:80,frames:["\u28FC","\u28F9","\u28BB","\u283F","\u285F","\u28CF","\u28E7","\u28F6"]},dots8Bit:{interval:80,frames:["\u2800","\u2801","\u2802","\u2803","\u2804","\u2805","\u2806","\u2807","\u2840","\u2841","\u2842","\u2843","\u2844","\u2845","\u2846","\u2847","\u2808","\u2809","\u280A","\u280B","\u280C","\u280D","\u280E","\u280F","\u2848","\u2849","\u284A","\u284B","\u284C","\u284D","\u284E","\u284F","\u2810","\u2811","\u2812","\u2813","\u2814","\u2815","\u2816","\u2817","\u2850","\u2851","\u2852","\u2853","\u2854","\u2855","\u2856","\u2857","\u2818","\u2819","\u281A","\u281B","\u281C","\u281D","\u281E","\u281F","\u2858","\u2859","\u285A","\u285B","\u285C","\u285D","\u285E","\u285F","\u2820","\u2821","\u2822","\u2823","\u2824","\u2825","\u2826","\u2827","\u2860","\u2861","\u2862","\u2863","\u2864","\u2865","\u2866","\u2867","\u2828","\u2829","\u282A","\u282B","\u282C","\u282D","\u282E","\u282F","\u2868","\u2869","\u286A","\u286B","\u286C","\u286D","\u286E","\u286F","\u2830","\u2831","\u2832","\u2833","\u2834","\u2835","\u2836","\u2837","\u2870","\u2871","\u2872","\u2873","\u2874","\u2875","\u2876","\u2877","\u2838","\u2839","\u283A","\u283B","\u283C","\u283D","\u283E","\u283F","\u2878","\u2879","\u287A","\u287B","\u287C","\u287D","\u287E","\u287F","\u2880","\u2881","\u2882","\u2883","\u2884","\u2885","\u2886","\u2887","\u28C0","\u28C1","\u28C2","\u28C3","\u28C4","\u28C5","\u28C6","\u28C7","\u2888","\u2889","\u288A","\u288B","\u288C","\u288D","\u288E","\u288F","\u28C8","\u28C9","\u28CA","\u28CB","\u28CC","\u28CD","\u28CE","\u28CF","\u2890","\u2891","\u2892","\u2893","\u2894","\u2895","\u2896","\u2897","\u28D0","\u28D1","\u28D2","\u28D3","\u28D4","\u28D5","\u28D6","\u28D7","\u2898","\u2899","\u289A","\u289B","\u289C","\u289D","\u289E","\u289F","\u28D8","\u28D9","\u28DA","\u28DB","\u28DC","\u28DD","\u28DE","\u28DF","\u28A0","\u28A1","\u28A2","\u28A3","\u28A4","\u28A5","\u28A6","\u28A7","\u28E0","\u28E1","\u28E2","\u28E3","\u28E4","\u28E5","\u28E6","\u28E7","\u28A8","\u28A9","\u28AA","\u28AB","\u28AC","\u28AD","\u28AE","\u28AF","\u28E8","\u28E9","\u28EA","\u28EB","\u28EC","\u28ED","\u28EE","\u28EF","\u28B0","\u28B1","\u28B2","\u28B3","\u28B4","\u28B5","\u28B6","\u28B7","\u28F0","\u28F1","\u28F2","\u28F3","\u28F4","\u28F5","\u28F6","\u28F7","\u28B8","\u28B9","\u28BA","\u28BB","\u28BC","\u28BD","\u28BE","\u28BF","\u28F8","\u28F9","\u28FA","\u28FB","\u28FC","\u28FD","\u28FE","\u28FF"]},sand:{interval:80,frames:["\u2801","\u2802","\u2804","\u2840","\u2848","\u2850","\u2860","\u28C0","\u28C1","\u28C2","\u28C4","\u28CC","\u28D4","\u28E4","\u28E5","\u28E6","\u28EE","\u28F6","\u28F7","\u28FF","\u287F","\u283F","\u289F","\u281F","\u285B","\u281B","\u282B","\u288B","\u280B","\u280D","\u2849","\u2809","\u2811","\u2821","\u2881"]},line:{interval:130,frames:["-","\\","|","/"]},line2:{interval:100,frames:["\u2802","-","\u2013","\u2014","\u2013","-"]},pipe:{interval:100,frames:["\u2524","\u2518","\u2534","\u2514","\u251C","\u250C","\u252C","\u2510"]},simpleDots:{interval:400,frames:[". ",".. ","..."," "]},simpleDotsScrolling:{interval:200,frames:[". ",".. ","..."," .."," ."," "]},star:{interval:70,frames:["\u2736","\u2738","\u2739","\u273A","\u2739","\u2737"]},star2:{interval:80,frames:["+","x","*"]},flip:{interval:70,frames:["_","_","_","-","`","`","'","\xB4","-","_","_","_"]},hamburger:{interval:100,frames:["\u2631","\u2632","\u2634"]},growVertical:{interval:120,frames:["\u2581","\u2583","\u2584","\u2585","\u2586","\u2587","\u2586","\u2585","\u2584","\u2583"]},growHorizontal:{interval:120,frames:["\u258F","\u258E","\u258D","\u258C","\u258B","\u258A","\u2589","\u258A","\u258B","\u258C","\u258D","\u258E"]},balloon:{interval:140,frames:[" ",".","o","O","@","*"," "]},balloon2:{interval:120,frames:[".","o","O","\xB0","O","o","."]},noise:{interval:100,frames:["\u2593","\u2592","\u2591"]},bounce:{interval:120,frames:["\u2801","\u2802","\u2804","\u2802"]},boxBounce:{interval:120,frames:["\u2596","\u2598","\u259D","\u2597"]},boxBounce2:{interval:100,frames:["\u258C","\u2580","\u2590","\u2584"]},triangle:{interval:50,frames:["\u25E2","\u25E3","\u25E4","\u25E5"]},binary:{interval:80,frames:["010010","001100","100101","111010","111101","010111","101011","111000","110011","110101"]},arc:{interval:100,frames:["\u25DC","\u25E0","\u25DD","\u25DE","\u25E1","\u25DF"]},circle:{interval:120,frames:["\u25E1","\u2299","\u25E0"]},squareCorners:{interval:180,frames:["\u25F0","\u25F3","\u25F2","\u25F1"]},circleQuarters:{interval:120,frames:["\u25F4","\u25F7","\u25F6","\u25F5"]},circleHalves:{interval:50,frames:["\u25D0","\u25D3","\u25D1","\u25D2"]},squish:{interval:100,frames:["\u256B","\u256A"]},toggle:{interval:250,frames:["\u22B6","\u22B7"]},toggle2:{interval:80,frames:["\u25AB","\u25AA"]},toggle3:{interval:120,frames:["\u25A1","\u25A0"]},toggle4:{interval:100,frames:["\u25A0","\u25A1","\u25AA","\u25AB"]},toggle5:{interval:100,frames:["\u25AE","\u25AF"]},toggle6:{interval:300,frames:["\u101D","\u1040"]},toggle7:{interval:80,frames:["\u29BE","\u29BF"]},toggle8:{interval:100,frames:["\u25CD","\u25CC"]},toggle9:{interval:100,frames:["\u25C9","\u25CE"]},toggle10:{interval:100,frames:["\u3282","\u3280","\u3281"]},toggle11:{interval:50,frames:["\u29C7","\u29C6"]},toggle12:{interval:120,frames:["\u2617","\u2616"]},toggle13:{interval:80,frames:["=","*","-"]},arrow:{interval:100,frames:["\u2190","\u2196","\u2191","\u2197","\u2192","\u2198","\u2193","\u2199"]},arrow2:{interval:80,frames:["\u2B06\uFE0F ","\u2197\uFE0F ","\u27A1\uFE0F ","\u2198\uFE0F ","\u2B07\uFE0F ","\u2199\uFE0F ","\u2B05\uFE0F ","\u2196\uFE0F "]},arrow3:{interval:120,frames:["\u25B9\u25B9\u25B9\u25B9\u25B9","\u25B8\u25B9\u25B9\u25B9\u25B9","\u25B9\u25B8\u25B9\u25B9\u25B9","\u25B9\u25B9\u25B8\u25B9\u25B9","\u25B9\u25B9\u25B9\u25B8\u25B9","\u25B9\u25B9\u25B9\u25B9\u25B8"]},bouncingBar:{interval:80,frames:["[ ]","[= ]","[== ]","[=== ]","[====]","[ ===]","[ ==]","[ =]","[ ]","[ =]","[ ==]","[ ===]","[====]","[=== ]","[== ]","[= ]"]},bouncingBall:{interval:80,frames:["( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF)","( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF )","(\u25CF )"]},smiley:{interval:200,frames:["\u{1F604} ","\u{1F61D} "]},monkey:{interval:300,frames:["\u{1F648} ","\u{1F648} ","\u{1F649} ","\u{1F64A} "]},hearts:{interval:100,frames:["\u{1F49B} ","\u{1F499} ","\u{1F49C} ","\u{1F49A} ","\u2764\uFE0F "]},clock:{interval:100,frames:["\u{1F55B} ","\u{1F550} ","\u{1F551} ","\u{1F552} ","\u{1F553} ","\u{1F554} ","\u{1F555} ","\u{1F556} ","\u{1F557} ","\u{1F558} ","\u{1F559} ","\u{1F55A} "]},earth:{interval:180,frames:["\u{1F30D} ","\u{1F30E} ","\u{1F30F} "]},material:{interval:17,frames:["\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588","\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581"]},moon:{interval:80,frames:["\u{1F311} ","\u{1F312} ","\u{1F313} ","\u{1F314} ","\u{1F315} ","\u{1F316} ","\u{1F317} ","\u{1F318} "]},runner:{interval:140,frames:["\u{1F6B6} ","\u{1F3C3} "]},pong:{interval:80,frames:["\u2590\u2802 \u258C","\u2590\u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802\u258C","\u2590 \u2820\u258C","\u2590 \u2840\u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590\u2820 \u258C"]},shark:{interval:120,frames:["\u2590|\\____________\u258C","\u2590_|\\___________\u258C","\u2590__|\\__________\u258C","\u2590___|\\_________\u258C","\u2590____|\\________\u258C","\u2590_____|\\_______\u258C","\u2590______|\\______\u258C","\u2590_______|\\_____\u258C","\u2590________|\\____\u258C","\u2590_________|\\___\u258C","\u2590__________|\\__\u258C","\u2590___________|\\_\u258C","\u2590____________|\\\u258C","\u2590____________/|\u258C","\u2590___________/|_\u258C","\u2590__________/|__\u258C","\u2590_________/|___\u258C","\u2590________/|____\u258C","\u2590_______/|_____\u258C","\u2590______/|______\u258C","\u2590_____/|_______\u258C","\u2590____/|________\u258C","\u2590___/|_________\u258C","\u2590__/|__________\u258C","\u2590_/|___________\u258C","\u2590/|____________\u258C"]},dqpb:{interval:100,frames:["d","q","p","b"]},weather:{interval:100,frames:["\u2600\uFE0F ","\u2600\uFE0F ","\u2600\uFE0F ","\u{1F324} ","\u26C5\uFE0F ","\u{1F325} ","\u2601\uFE0F ","\u{1F327} ","\u{1F328} ","\u{1F327} ","\u{1F328} ","\u{1F327} ","\u{1F328} ","\u26C8 ","\u{1F328} ","\u{1F327} ","\u{1F328} ","\u2601\uFE0F ","\u{1F325} ","\u26C5\uFE0F ","\u{1F324} ","\u2600\uFE0F ","\u2600\uFE0F "]},christmas:{interval:400,frames:["\u{1F332}","\u{1F384}"]},grenade:{interval:80,frames:["\u060C ","\u2032 "," \xB4 "," \u203E "," \u2E0C"," \u2E0A"," |"," \u204E"," \u2055"," \u0DF4 "," \u2053"," "," "," "]},point:{interval:125,frames:["\u2219\u2219\u2219","\u25CF\u2219\u2219","\u2219\u25CF\u2219","\u2219\u2219\u25CF","\u2219\u2219\u2219"]},layer:{interval:150,frames:["-","=","\u2261"]},betaWave:{interval:80,frames:["\u03C1\u03B2\u03B2\u03B2\u03B2\u03B2\u03B2","\u03B2\u03C1\u03B2\u03B2\u03B2\u03B2\u03B2","\u03B2\u03B2\u03C1\u03B2\u03B2\u03B2\u03B2","\u03B2\u03B2\u03B2\u03C1\u03B2\u03B2\u03B2","\u03B2\u03B2\u03B2\u03B2\u03C1\u03B2\u03B2","\u03B2\u03B2\u03B2\u03B2\u03B2\u03C1\u03B2","\u03B2\u03B2\u03B2\u03B2\u03B2\u03B2\u03C1"]},fingerDance:{interval:160,frames:["\u{1F918} ","\u{1F91F} ","\u{1F596} ","\u270B ","\u{1F91A} ","\u{1F446} "]},fistBump:{interval:80,frames:["\u{1F91C}\u3000\u3000\u3000\u3000\u{1F91B} ","\u{1F91C}\u3000\u3000\u3000\u3000\u{1F91B} ","\u{1F91C}\u3000\u3000\u3000\u3000\u{1F91B} ","\u3000\u{1F91C}\u3000\u3000\u{1F91B}\u3000 ","\u3000\u3000\u{1F91C}\u{1F91B}\u3000\u3000 ","\u3000\u{1F91C}\u2728\u{1F91B}\u3000\u3000 ","\u{1F91C}\u3000\u2728\u3000\u{1F91B}\u3000 "]},soccerHeader:{interval:80,frames:[" \u{1F9D1}\u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F\u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} "]},mindblown:{interval:160,frames:["\u{1F610} ","\u{1F610} ","\u{1F62E} ","\u{1F62E} ","\u{1F626} ","\u{1F626} ","\u{1F627} ","\u{1F627} ","\u{1F92F} ","\u{1F4A5} ","\u2728 ","\u3000 ","\u3000 ","\u3000 "]},speaker:{interval:160,frames:["\u{1F508} ","\u{1F509} ","\u{1F50A} ","\u{1F509} "]},orangePulse:{interval:100,frames:["\u{1F538} ","\u{1F536} ","\u{1F7E0} ","\u{1F7E0} ","\u{1F536} "]},bluePulse:{interval:100,frames:["\u{1F539} ","\u{1F537} ","\u{1F535} ","\u{1F535} ","\u{1F537} "]},orangeBluePulse:{interval:100,frames:["\u{1F538} ","\u{1F536} ","\u{1F7E0} ","\u{1F7E0} ","\u{1F536} ","\u{1F539} ","\u{1F537} ","\u{1F535} ","\u{1F535} ","\u{1F537} "]},timeTravel:{interval:100,frames:["\u{1F55B} ","\u{1F55A} ","\u{1F559} ","\u{1F558} ","\u{1F557} ","\u{1F556} ","\u{1F555} ","\u{1F554} ","\u{1F553} ","\u{1F552} ","\u{1F551} ","\u{1F550} "]},aesthetic:{interval:80,frames:["\u25B0\u25B1\u25B1\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B1\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B0\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B0\u25B0\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B0\u25B0\u25B0","\u25B0\u25B1\u25B1\u25B1\u25B1\u25B1\u25B1"]},dwarfFortress:{interval:80,frames:[" \u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2593\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2593\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2592\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2592\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2591\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2591\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A \u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A \u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A \u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\xA3\xA3\xA3 "," \u263A \u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\xA3\xA3\xA3 "," \u263A \u2588\xA3\xA3\xA3 "," \u263A\u2588\xA3\xA3\xA3 "," \u263A\u2588\xA3\xA3\xA3 "," \u263A\u2593\xA3\xA3\xA3 "," \u263A\u2593\xA3\xA3\xA3 "," \u263A\u2592\xA3\xA3\xA3 "," \u263A\u2592\xA3\xA3\xA3 "," \u263A\u2591\xA3\xA3\xA3 "," \u263A\u2591\xA3\xA3\xA3 "," \u263A \xA3\xA3\xA3 "," \u263A\xA3\xA3\xA3 "," \u263A\xA3\xA3\xA3 "," \u263A\u2593\xA3\xA3 "," \u263A\u2593\xA3\xA3 "," \u263A\u2592\xA3\xA3 "," \u263A\u2592\xA3\xA3 "," \u263A\u2591\xA3\xA3 "," \u263A\u2591\xA3\xA3 "," \u263A \xA3\xA3 "," \u263A\xA3\xA3 "," \u263A\xA3\xA3 "," \u263A\u2593\xA3 "," \u263A\u2593\xA3 "," \u263A\u2592\xA3 "," \u263A\u2592\xA3 "," \u263A\u2591\xA3 "," \u263A\u2591\xA3 "," \u263A \xA3 "," \u263A\xA3 "," \u263A\xA3 "," \u263A\u2593 "," \u263A\u2593 "," \u263A\u2592 "," \u263A\u2592 "," \u263A\u2591 "," \u263A\u2591 "," \u263A "," \u263A &"," \u263A \u263C&"," \u263A \u263C &"," \u263A\u263C &"," \u263A\u263C & "," \u203C & "," \u263A & "," \u203C & "," \u263A & "," \u203C & "," \u263A & ","\u203C & "," & "," & "," & \u2591 "," & \u2592 "," & \u2593 "," & \xA3 "," & \u2591\xA3 "," & \u2592\xA3 "," & \u2593\xA3 "," & \xA3\xA3 "," & \u2591\xA3\xA3 "," & \u2592\xA3\xA3 ","& \u2593\xA3\xA3 ","& \xA3\xA3\xA3 "," \u2591\xA3\xA3\xA3 "," \u2592\xA3\xA3\xA3 "," \u2593\xA3\xA3\xA3 "," \u2588\xA3\xA3\xA3 "," \u2591\u2588\xA3\xA3\xA3 "," \u2592\u2588\xA3\xA3\xA3 "," \u2593\u2588\xA3\xA3\xA3 "," \u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "]}}});var re=S((rs,Rn)=>{"use strict";var Ft=Object.assign({},Bn()),vn=Object.keys(Ft);Object.defineProperty(Ft,"random",{get(){let i=Math.floor(Math.random()*vn.length),t=vn[i];return Ft[t]}});Rn.exports=Ft});var Vn=S((Os,jn)=>{jn.exports=()=>/[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E-\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED8\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])))?))?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3C-\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE8A\uDE8E-\uDEC2\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF]|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g});var Me=st(Pe(),1),{program:io,createCommand:ro,createArgument:oo,createOption:so,CommanderError:uo,InvalidArgumentError:ao,InvalidOptionArgumentError:lo,Command:Ne,Argument:Do,Option:co,Help:ho}=Me.default;import*as xt from"readline";import{existsSync as Ur,writeFileSync as qr}from"fs";import{join as Gr}from"path";import{existsSync as Le,mkdirSync as $i,readFileSync as Ii,writeFileSync as Pi}from"fs";import{homedir as Mi}from"os";import{join as We}from"path";var Lt=We(Mi(),".wakanda"),Wt=We(Lt,"config.json"),Nt={apiUrl:"https://rantera.ai",model:"hira"};function y(){if(!Le(Wt))return{...Nt};try{let i=Ii(Wt,"utf-8");return{...Nt,...JSON.parse(i)}}catch{return{...Nt}}}function H(i){Le(Lt)||$i(Lt,{recursive:!0}),Pi(Wt,JSON.stringify(i,null,2),"utf-8")}function j(){return process.env.WAKANDA_API_KEY??y().apiKey}async function*Ht(i,t={}){let e=j();if(!e){yield{type:"error",text:"Not authenticated. Run `rantera auth login` first."};return}let r=`${y().apiUrl}/api/wakanda/agent`,o;try{o=await fetch(r,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${e}`},body:JSON.stringify({messages:i,...t.model&&{model:t.model},...t.system&&{system:t.system}})})}catch(D){if(String(D).includes("fetch failed")||String(D).includes("ECONNREFUSED")){let f=r.includes("localhost")||r.includes("127.0.0.1")?"Make sure your local server is running.":`Check your connection, or point to a local server:
|
|
24
|
+
`)}),this}_outputHelpIfRequested(t){let e=this._getHelpOption();e&&t.find(r=>e.is(r))&&(this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)"))}};function Re(i){return i.map(t=>{if(!t.startsWith("--inspect"))return t;let e,n="127.0.0.1",r="9229",o;return(o=t.match(/^(--inspect(-brk)?)$/))!==null?e=o[1]:(o=t.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null?(e=o[1],/^\d+$/.test(o[3])?r=o[3]:n=o[3]):(o=t.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null&&(e=o[1],n=o[3],r=o[4]),e&&r!=="0"?`${e}=${n}:${parseInt(r)+1}`:t})}Se.Command=Pt});var Pe=T(O=>{var{Argument:ke}=at(),{Command:Mt}=Te(),{CommanderError:Ti,InvalidArgumentError:$e}=X(),{Help:ki}=Bt(),{Option:Ie}=Tt();O.program=new Mt;O.createCommand=i=>new Mt(i);O.createOption=(i,t)=>new Ie(i,t);O.createArgument=(i,t)=>new ke(i,t);O.Command=Mt;O.Option=Ie;O.Argument=ke;O.Help=ki;O.CommanderError=Ti;O.InvalidArgumentError=$e;O.InvalidOptionArgumentError=$e});var Bn=T((es,dr)=>{dr.exports={dots:{interval:80,frames:["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"]},dots2:{interval:80,frames:["\u28FE","\u28FD","\u28FB","\u28BF","\u287F","\u28DF","\u28EF","\u28F7"]},dots3:{interval:80,frames:["\u280B","\u2819","\u281A","\u281E","\u2816","\u2826","\u2834","\u2832","\u2833","\u2813"]},dots4:{interval:80,frames:["\u2804","\u2806","\u2807","\u280B","\u2819","\u2838","\u2830","\u2820","\u2830","\u2838","\u2819","\u280B","\u2807","\u2806"]},dots5:{interval:80,frames:["\u280B","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B"]},dots6:{interval:80,frames:["\u2801","\u2809","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2824","\u2804","\u2804","\u2824","\u2834","\u2832","\u2812","\u2802","\u2802","\u2812","\u281A","\u2819","\u2809","\u2801"]},dots7:{interval:80,frames:["\u2808","\u2809","\u280B","\u2813","\u2812","\u2810","\u2810","\u2812","\u2816","\u2826","\u2824","\u2820","\u2820","\u2824","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B","\u2809","\u2808"]},dots8:{interval:80,frames:["\u2801","\u2801","\u2809","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2824","\u2804","\u2804","\u2824","\u2820","\u2820","\u2824","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B","\u2809","\u2808","\u2808"]},dots9:{interval:80,frames:["\u28B9","\u28BA","\u28BC","\u28F8","\u28C7","\u2867","\u2857","\u284F"]},dots10:{interval:80,frames:["\u2884","\u2882","\u2881","\u2841","\u2848","\u2850","\u2860"]},dots11:{interval:100,frames:["\u2801","\u2802","\u2804","\u2840","\u2880","\u2820","\u2810","\u2808"]},dots12:{interval:80,frames:["\u2880\u2800","\u2840\u2800","\u2804\u2800","\u2882\u2800","\u2842\u2800","\u2805\u2800","\u2883\u2800","\u2843\u2800","\u280D\u2800","\u288B\u2800","\u284B\u2800","\u280D\u2801","\u288B\u2801","\u284B\u2801","\u280D\u2809","\u280B\u2809","\u280B\u2809","\u2809\u2819","\u2809\u2819","\u2809\u2829","\u2808\u2899","\u2808\u2859","\u2888\u2829","\u2840\u2899","\u2804\u2859","\u2882\u2829","\u2842\u2898","\u2805\u2858","\u2883\u2828","\u2843\u2890","\u280D\u2850","\u288B\u2820","\u284B\u2880","\u280D\u2841","\u288B\u2801","\u284B\u2801","\u280D\u2809","\u280B\u2809","\u280B\u2809","\u2809\u2819","\u2809\u2819","\u2809\u2829","\u2808\u2899","\u2808\u2859","\u2808\u2829","\u2800\u2899","\u2800\u2859","\u2800\u2829","\u2800\u2898","\u2800\u2858","\u2800\u2828","\u2800\u2890","\u2800\u2850","\u2800\u2820","\u2800\u2880","\u2800\u2840"]},dots13:{interval:80,frames:["\u28FC","\u28F9","\u28BB","\u283F","\u285F","\u28CF","\u28E7","\u28F6"]},dots8Bit:{interval:80,frames:["\u2800","\u2801","\u2802","\u2803","\u2804","\u2805","\u2806","\u2807","\u2840","\u2841","\u2842","\u2843","\u2844","\u2845","\u2846","\u2847","\u2808","\u2809","\u280A","\u280B","\u280C","\u280D","\u280E","\u280F","\u2848","\u2849","\u284A","\u284B","\u284C","\u284D","\u284E","\u284F","\u2810","\u2811","\u2812","\u2813","\u2814","\u2815","\u2816","\u2817","\u2850","\u2851","\u2852","\u2853","\u2854","\u2855","\u2856","\u2857","\u2818","\u2819","\u281A","\u281B","\u281C","\u281D","\u281E","\u281F","\u2858","\u2859","\u285A","\u285B","\u285C","\u285D","\u285E","\u285F","\u2820","\u2821","\u2822","\u2823","\u2824","\u2825","\u2826","\u2827","\u2860","\u2861","\u2862","\u2863","\u2864","\u2865","\u2866","\u2867","\u2828","\u2829","\u282A","\u282B","\u282C","\u282D","\u282E","\u282F","\u2868","\u2869","\u286A","\u286B","\u286C","\u286D","\u286E","\u286F","\u2830","\u2831","\u2832","\u2833","\u2834","\u2835","\u2836","\u2837","\u2870","\u2871","\u2872","\u2873","\u2874","\u2875","\u2876","\u2877","\u2838","\u2839","\u283A","\u283B","\u283C","\u283D","\u283E","\u283F","\u2878","\u2879","\u287A","\u287B","\u287C","\u287D","\u287E","\u287F","\u2880","\u2881","\u2882","\u2883","\u2884","\u2885","\u2886","\u2887","\u28C0","\u28C1","\u28C2","\u28C3","\u28C4","\u28C5","\u28C6","\u28C7","\u2888","\u2889","\u288A","\u288B","\u288C","\u288D","\u288E","\u288F","\u28C8","\u28C9","\u28CA","\u28CB","\u28CC","\u28CD","\u28CE","\u28CF","\u2890","\u2891","\u2892","\u2893","\u2894","\u2895","\u2896","\u2897","\u28D0","\u28D1","\u28D2","\u28D3","\u28D4","\u28D5","\u28D6","\u28D7","\u2898","\u2899","\u289A","\u289B","\u289C","\u289D","\u289E","\u289F","\u28D8","\u28D9","\u28DA","\u28DB","\u28DC","\u28DD","\u28DE","\u28DF","\u28A0","\u28A1","\u28A2","\u28A3","\u28A4","\u28A5","\u28A6","\u28A7","\u28E0","\u28E1","\u28E2","\u28E3","\u28E4","\u28E5","\u28E6","\u28E7","\u28A8","\u28A9","\u28AA","\u28AB","\u28AC","\u28AD","\u28AE","\u28AF","\u28E8","\u28E9","\u28EA","\u28EB","\u28EC","\u28ED","\u28EE","\u28EF","\u28B0","\u28B1","\u28B2","\u28B3","\u28B4","\u28B5","\u28B6","\u28B7","\u28F0","\u28F1","\u28F2","\u28F3","\u28F4","\u28F5","\u28F6","\u28F7","\u28B8","\u28B9","\u28BA","\u28BB","\u28BC","\u28BD","\u28BE","\u28BF","\u28F8","\u28F9","\u28FA","\u28FB","\u28FC","\u28FD","\u28FE","\u28FF"]},sand:{interval:80,frames:["\u2801","\u2802","\u2804","\u2840","\u2848","\u2850","\u2860","\u28C0","\u28C1","\u28C2","\u28C4","\u28CC","\u28D4","\u28E4","\u28E5","\u28E6","\u28EE","\u28F6","\u28F7","\u28FF","\u287F","\u283F","\u289F","\u281F","\u285B","\u281B","\u282B","\u288B","\u280B","\u280D","\u2849","\u2809","\u2811","\u2821","\u2881"]},line:{interval:130,frames:["-","\\","|","/"]},line2:{interval:100,frames:["\u2802","-","\u2013","\u2014","\u2013","-"]},pipe:{interval:100,frames:["\u2524","\u2518","\u2534","\u2514","\u251C","\u250C","\u252C","\u2510"]},simpleDots:{interval:400,frames:[". ",".. ","..."," "]},simpleDotsScrolling:{interval:200,frames:[". ",".. ","..."," .."," ."," "]},star:{interval:70,frames:["\u2736","\u2738","\u2739","\u273A","\u2739","\u2737"]},star2:{interval:80,frames:["+","x","*"]},flip:{interval:70,frames:["_","_","_","-","`","`","'","\xB4","-","_","_","_"]},hamburger:{interval:100,frames:["\u2631","\u2632","\u2634"]},growVertical:{interval:120,frames:["\u2581","\u2583","\u2584","\u2585","\u2586","\u2587","\u2586","\u2585","\u2584","\u2583"]},growHorizontal:{interval:120,frames:["\u258F","\u258E","\u258D","\u258C","\u258B","\u258A","\u2589","\u258A","\u258B","\u258C","\u258D","\u258E"]},balloon:{interval:140,frames:[" ",".","o","O","@","*"," "]},balloon2:{interval:120,frames:[".","o","O","\xB0","O","o","."]},noise:{interval:100,frames:["\u2593","\u2592","\u2591"]},bounce:{interval:120,frames:["\u2801","\u2802","\u2804","\u2802"]},boxBounce:{interval:120,frames:["\u2596","\u2598","\u259D","\u2597"]},boxBounce2:{interval:100,frames:["\u258C","\u2580","\u2590","\u2584"]},triangle:{interval:50,frames:["\u25E2","\u25E3","\u25E4","\u25E5"]},binary:{interval:80,frames:["010010","001100","100101","111010","111101","010111","101011","111000","110011","110101"]},arc:{interval:100,frames:["\u25DC","\u25E0","\u25DD","\u25DE","\u25E1","\u25DF"]},circle:{interval:120,frames:["\u25E1","\u2299","\u25E0"]},squareCorners:{interval:180,frames:["\u25F0","\u25F3","\u25F2","\u25F1"]},circleQuarters:{interval:120,frames:["\u25F4","\u25F7","\u25F6","\u25F5"]},circleHalves:{interval:50,frames:["\u25D0","\u25D3","\u25D1","\u25D2"]},squish:{interval:100,frames:["\u256B","\u256A"]},toggle:{interval:250,frames:["\u22B6","\u22B7"]},toggle2:{interval:80,frames:["\u25AB","\u25AA"]},toggle3:{interval:120,frames:["\u25A1","\u25A0"]},toggle4:{interval:100,frames:["\u25A0","\u25A1","\u25AA","\u25AB"]},toggle5:{interval:100,frames:["\u25AE","\u25AF"]},toggle6:{interval:300,frames:["\u101D","\u1040"]},toggle7:{interval:80,frames:["\u29BE","\u29BF"]},toggle8:{interval:100,frames:["\u25CD","\u25CC"]},toggle9:{interval:100,frames:["\u25C9","\u25CE"]},toggle10:{interval:100,frames:["\u3282","\u3280","\u3281"]},toggle11:{interval:50,frames:["\u29C7","\u29C6"]},toggle12:{interval:120,frames:["\u2617","\u2616"]},toggle13:{interval:80,frames:["=","*","-"]},arrow:{interval:100,frames:["\u2190","\u2196","\u2191","\u2197","\u2192","\u2198","\u2193","\u2199"]},arrow2:{interval:80,frames:["\u2B06\uFE0F ","\u2197\uFE0F ","\u27A1\uFE0F ","\u2198\uFE0F ","\u2B07\uFE0F ","\u2199\uFE0F ","\u2B05\uFE0F ","\u2196\uFE0F "]},arrow3:{interval:120,frames:["\u25B9\u25B9\u25B9\u25B9\u25B9","\u25B8\u25B9\u25B9\u25B9\u25B9","\u25B9\u25B8\u25B9\u25B9\u25B9","\u25B9\u25B9\u25B8\u25B9\u25B9","\u25B9\u25B9\u25B9\u25B8\u25B9","\u25B9\u25B9\u25B9\u25B9\u25B8"]},bouncingBar:{interval:80,frames:["[ ]","[= ]","[== ]","[=== ]","[====]","[ ===]","[ ==]","[ =]","[ ]","[ =]","[ ==]","[ ===]","[====]","[=== ]","[== ]","[= ]"]},bouncingBall:{interval:80,frames:["( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF)","( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF )","(\u25CF )"]},smiley:{interval:200,frames:["\u{1F604} ","\u{1F61D} "]},monkey:{interval:300,frames:["\u{1F648} ","\u{1F648} ","\u{1F649} ","\u{1F64A} "]},hearts:{interval:100,frames:["\u{1F49B} ","\u{1F499} ","\u{1F49C} ","\u{1F49A} ","\u2764\uFE0F "]},clock:{interval:100,frames:["\u{1F55B} ","\u{1F550} ","\u{1F551} ","\u{1F552} ","\u{1F553} ","\u{1F554} ","\u{1F555} ","\u{1F556} ","\u{1F557} ","\u{1F558} ","\u{1F559} ","\u{1F55A} "]},earth:{interval:180,frames:["\u{1F30D} ","\u{1F30E} ","\u{1F30F} "]},material:{interval:17,frames:["\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588","\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581"]},moon:{interval:80,frames:["\u{1F311} ","\u{1F312} ","\u{1F313} ","\u{1F314} ","\u{1F315} ","\u{1F316} ","\u{1F317} ","\u{1F318} "]},runner:{interval:140,frames:["\u{1F6B6} ","\u{1F3C3} "]},pong:{interval:80,frames:["\u2590\u2802 \u258C","\u2590\u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802\u258C","\u2590 \u2820\u258C","\u2590 \u2840\u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590\u2820 \u258C"]},shark:{interval:120,frames:["\u2590|\\____________\u258C","\u2590_|\\___________\u258C","\u2590__|\\__________\u258C","\u2590___|\\_________\u258C","\u2590____|\\________\u258C","\u2590_____|\\_______\u258C","\u2590______|\\______\u258C","\u2590_______|\\_____\u258C","\u2590________|\\____\u258C","\u2590_________|\\___\u258C","\u2590__________|\\__\u258C","\u2590___________|\\_\u258C","\u2590____________|\\\u258C","\u2590____________/|\u258C","\u2590___________/|_\u258C","\u2590__________/|__\u258C","\u2590_________/|___\u258C","\u2590________/|____\u258C","\u2590_______/|_____\u258C","\u2590______/|______\u258C","\u2590_____/|_______\u258C","\u2590____/|________\u258C","\u2590___/|_________\u258C","\u2590__/|__________\u258C","\u2590_/|___________\u258C","\u2590/|____________\u258C"]},dqpb:{interval:100,frames:["d","q","p","b"]},weather:{interval:100,frames:["\u2600\uFE0F ","\u2600\uFE0F ","\u2600\uFE0F ","\u{1F324} ","\u26C5\uFE0F ","\u{1F325} ","\u2601\uFE0F ","\u{1F327} ","\u{1F328} ","\u{1F327} ","\u{1F328} ","\u{1F327} ","\u{1F328} ","\u26C8 ","\u{1F328} ","\u{1F327} ","\u{1F328} ","\u2601\uFE0F ","\u{1F325} ","\u26C5\uFE0F ","\u{1F324} ","\u2600\uFE0F ","\u2600\uFE0F "]},christmas:{interval:400,frames:["\u{1F332}","\u{1F384}"]},grenade:{interval:80,frames:["\u060C ","\u2032 "," \xB4 "," \u203E "," \u2E0C"," \u2E0A"," |"," \u204E"," \u2055"," \u0DF4 "," \u2053"," "," "," "]},point:{interval:125,frames:["\u2219\u2219\u2219","\u25CF\u2219\u2219","\u2219\u25CF\u2219","\u2219\u2219\u25CF","\u2219\u2219\u2219"]},layer:{interval:150,frames:["-","=","\u2261"]},betaWave:{interval:80,frames:["\u03C1\u03B2\u03B2\u03B2\u03B2\u03B2\u03B2","\u03B2\u03C1\u03B2\u03B2\u03B2\u03B2\u03B2","\u03B2\u03B2\u03C1\u03B2\u03B2\u03B2\u03B2","\u03B2\u03B2\u03B2\u03C1\u03B2\u03B2\u03B2","\u03B2\u03B2\u03B2\u03B2\u03C1\u03B2\u03B2","\u03B2\u03B2\u03B2\u03B2\u03B2\u03C1\u03B2","\u03B2\u03B2\u03B2\u03B2\u03B2\u03B2\u03C1"]},fingerDance:{interval:160,frames:["\u{1F918} ","\u{1F91F} ","\u{1F596} ","\u270B ","\u{1F91A} ","\u{1F446} "]},fistBump:{interval:80,frames:["\u{1F91C}\u3000\u3000\u3000\u3000\u{1F91B} ","\u{1F91C}\u3000\u3000\u3000\u3000\u{1F91B} ","\u{1F91C}\u3000\u3000\u3000\u3000\u{1F91B} ","\u3000\u{1F91C}\u3000\u3000\u{1F91B}\u3000 ","\u3000\u3000\u{1F91C}\u{1F91B}\u3000\u3000 ","\u3000\u{1F91C}\u2728\u{1F91B}\u3000\u3000 ","\u{1F91C}\u3000\u2728\u3000\u{1F91B}\u3000 "]},soccerHeader:{interval:80,frames:[" \u{1F9D1}\u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F\u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} "]},mindblown:{interval:160,frames:["\u{1F610} ","\u{1F610} ","\u{1F62E} ","\u{1F62E} ","\u{1F626} ","\u{1F626} ","\u{1F627} ","\u{1F627} ","\u{1F92F} ","\u{1F4A5} ","\u2728 ","\u3000 ","\u3000 ","\u3000 "]},speaker:{interval:160,frames:["\u{1F508} ","\u{1F509} ","\u{1F50A} ","\u{1F509} "]},orangePulse:{interval:100,frames:["\u{1F538} ","\u{1F536} ","\u{1F7E0} ","\u{1F7E0} ","\u{1F536} "]},bluePulse:{interval:100,frames:["\u{1F539} ","\u{1F537} ","\u{1F535} ","\u{1F535} ","\u{1F537} "]},orangeBluePulse:{interval:100,frames:["\u{1F538} ","\u{1F536} ","\u{1F7E0} ","\u{1F7E0} ","\u{1F536} ","\u{1F539} ","\u{1F537} ","\u{1F535} ","\u{1F535} ","\u{1F537} "]},timeTravel:{interval:100,frames:["\u{1F55B} ","\u{1F55A} ","\u{1F559} ","\u{1F558} ","\u{1F557} ","\u{1F556} ","\u{1F555} ","\u{1F554} ","\u{1F553} ","\u{1F552} ","\u{1F551} ","\u{1F550} "]},aesthetic:{interval:80,frames:["\u25B0\u25B1\u25B1\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B1\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B0\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B0\u25B0\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B0\u25B0\u25B0","\u25B0\u25B1\u25B1\u25B1\u25B1\u25B1\u25B1"]},dwarfFortress:{interval:80,frames:[" \u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2593\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2593\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2592\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2592\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2591\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2591\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A \u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A \u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A \u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\xA3\xA3\xA3 "," \u263A \u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\xA3\xA3\xA3 "," \u263A \u2588\xA3\xA3\xA3 "," \u263A\u2588\xA3\xA3\xA3 "," \u263A\u2588\xA3\xA3\xA3 "," \u263A\u2593\xA3\xA3\xA3 "," \u263A\u2593\xA3\xA3\xA3 "," \u263A\u2592\xA3\xA3\xA3 "," \u263A\u2592\xA3\xA3\xA3 "," \u263A\u2591\xA3\xA3\xA3 "," \u263A\u2591\xA3\xA3\xA3 "," \u263A \xA3\xA3\xA3 "," \u263A\xA3\xA3\xA3 "," \u263A\xA3\xA3\xA3 "," \u263A\u2593\xA3\xA3 "," \u263A\u2593\xA3\xA3 "," \u263A\u2592\xA3\xA3 "," \u263A\u2592\xA3\xA3 "," \u263A\u2591\xA3\xA3 "," \u263A\u2591\xA3\xA3 "," \u263A \xA3\xA3 "," \u263A\xA3\xA3 "," \u263A\xA3\xA3 "," \u263A\u2593\xA3 "," \u263A\u2593\xA3 "," \u263A\u2592\xA3 "," \u263A\u2592\xA3 "," \u263A\u2591\xA3 "," \u263A\u2591\xA3 "," \u263A \xA3 "," \u263A\xA3 "," \u263A\xA3 "," \u263A\u2593 "," \u263A\u2593 "," \u263A\u2592 "," \u263A\u2592 "," \u263A\u2591 "," \u263A\u2591 "," \u263A "," \u263A &"," \u263A \u263C&"," \u263A \u263C &"," \u263A\u263C &"," \u263A\u263C & "," \u203C & "," \u263A & "," \u203C & "," \u263A & "," \u203C & "," \u263A & ","\u203C & "," & "," & "," & \u2591 "," & \u2592 "," & \u2593 "," & \xA3 "," & \u2591\xA3 "," & \u2592\xA3 "," & \u2593\xA3 "," & \xA3\xA3 "," & \u2591\xA3\xA3 "," & \u2592\xA3\xA3 ","& \u2593\xA3\xA3 ","& \xA3\xA3\xA3 "," \u2591\xA3\xA3\xA3 "," \u2592\xA3\xA3\xA3 "," \u2593\xA3\xA3\xA3 "," \u2588\xA3\xA3\xA3 "," \u2591\u2588\xA3\xA3\xA3 "," \u2592\u2588\xA3\xA3\xA3 "," \u2593\u2588\xA3\xA3\xA3 "," \u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "]}}});var re=T((ns,Rn)=>{"use strict";var Ft=Object.assign({},Bn()),vn=Object.keys(Ft);Object.defineProperty(Ft,"random",{get(){let i=Math.floor(Math.random()*vn.length),t=vn[i];return Ft[t]}});Rn.exports=Ft});var Vn=T((ys,jn)=>{jn.exports=()=>/[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E-\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED8\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])))?))?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3C-\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE8A\uDE8E-\uDEC2\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF]|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g});var Me=st(Pe(),1),{program:eo,createCommand:no,createArgument:io,createOption:ro,CommanderError:oo,InvalidArgumentError:so,InvalidOptionArgumentError:uo,Command:Ne,Argument:ao,Option:lo,Help:Do}=Me.default;import*as xt from"readline";import{existsSync as jr,writeFileSync as Vr}from"fs";import{join as Ur}from"path";import{existsSync as Le,mkdirSync as $i,readFileSync as Ii,writeFileSync as Pi}from"fs";import{homedir as Mi}from"os";import{join as We}from"path";var Lt=We(Mi(),".wakanda"),Wt=We(Lt,"config.json"),Nt={apiUrl:"https://rantera.ai",model:"hira"};function y(){if(!Le(Wt))return{...Nt};try{let i=Ii(Wt,"utf-8");return{...Nt,...JSON.parse(i)}}catch{return{...Nt}}}function H(i){Le(Lt)||$i(Lt,{recursive:!0}),Pi(Wt,JSON.stringify(i,null,2),"utf-8")}function j(){return process.env.WAKANDA_API_KEY??y().apiKey}async function*Ht(i,t={}){let e=j();if(!e){yield{type:"error",text:"Not authenticated. Run `rantera auth login` first."};return}let r=`${y().apiUrl}/api/wakanda/agent`,o;try{o=await fetch(r,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${e}`},body:JSON.stringify({messages:i,...t.model&&{model:t.model},...t.system&&{system:t.system}})})}catch(D){if(String(D).includes("fetch failed")||String(D).includes("ECONNREFUSED")){let f=r.includes("localhost")||r.includes("127.0.0.1")?"Make sure your local server is running.":`Check your connection, or point to a local server:
|
|
25
25
|
rantera config set-url http://localhost:3000`;yield{type:"error",text:`Cannot reach the Rantera API at ${r}.
|
|
26
|
-
${f}`}}else yield{type:"error",text:`Could not reach Rantera API: ${D}`};return}if(!o.ok){let D=await o.text().catch(()=>"");yield{type:"error",text:`API error ${o.status}: ${D}`};return}if(!o.body){yield{type:"error",text:"No response body from API."};return}let s=o.body.getReader(),
|
|
27
|
-
__WAKANDA_TOOL__:`),f=
|
|
28
|
-
__WAKANDA_TOOL_RESULT__:`);if(c===-1&&f===-1){
|
|
29
|
-
`,m);if(E===-1){
|
|
26
|
+
${f}`}}else yield{type:"error",text:`Could not reach Rantera API: ${D}`};return}if(!o.ok){let D=await o.text().catch(()=>"");yield{type:"error",text:`API error ${o.status}: ${D}`};return}if(!o.body){yield{type:"error",text:"No response body from API."};return}let s=o.body.getReader(),l=new TextDecoder,u="";for(;;){let{done:D,value:h}=await s.read();if(D)break;for(u+=l.decode(h,{stream:!0});;){let c=u.indexOf(`
|
|
27
|
+
__WAKANDA_TOOL__:`),f=u.indexOf(`
|
|
28
|
+
__WAKANDA_TOOL_RESULT__:`);if(c===-1&&f===-1){u.length>32&&(yield{type:"text",text:u.slice(0,u.length-32)},u=u.slice(u.length-32));break}let p=c!==-1&&(f===-1||c<f)?c:f,d=p===c;p>0&&(yield{type:"text",text:u.slice(0,p)});let m=p+1,E=u.indexOf(`
|
|
29
|
+
`,m);if(E===-1){u=u.slice(p);break}let x=u.slice(m,E);u=u.slice(E+1);let A=d?"__WAKANDA_TOOL__:":"__WAKANDA_TOOL_RESULT__:",b=x.slice(A.length);try{let L=JSON.parse(b);d?yield{type:"tool_call",tool:{name:L.name,args:L.args,rawPart:L._rawPart}}:yield{type:"tool_result_inline",tool_name:L.name,result:L.result}}catch{yield{type:"text",text:x}}}}u.trim()&&(yield{type:"text",text:u})}import{existsSync as k,mkdirSync as Vt,readdirSync as He,readFileSync as Ut,renameSync as Ni,rmSync as Li,statSync as V,unlinkSync as Wi,writeFileSync as je}from"fs";import{dirname as Ve,join as w,relative as Ue}from"path";var Hi=5e5,lt=200,Dt=200,jt=500,qe=new Set(["node_modules",".git",".next","dist","__pycache__",".venv","venv"]);function Ge(i){let t=i.replace(/\\/g,"/"),e="",n=0;for(;n<t.length;){let r=t[n];r==="*"?t[n+1]==="*"?(e+=".*",n+=2,t[n]==="/"&&n++):(e+="[^/]*",n++):r==="?"?(e+="[^/]",n++):/[.+^${}()|[\]\\]/.test(r)?(e+="\\"+r,n++):(e+=r,n++)}return new RegExp("^"+e+"$")}function qt(i,t,e,n=1e4){if(e.length>=n)return;let r;try{r=He(i).sort()}catch{return}for(let o of r){if(e.length>=n)break;if(qe.has(o))continue;let s=w(i,o);try{V(s).isDirectory()?qt(s,t,e,n):e.push(Ue(t,s).replace(/\\/g,"/"))}catch{}}}function Ke(i,t){let e=w(t,i);if(!k(e))return`ERROR: path '${i}' does not exist.`;if(!V(e).isDirectory())return`ERROR: '${i}' is not a directory.`;let n=[];function r(s,l,u){if(n.length>=lt)return;let D;try{D=He(s).sort()}catch{return}for(let h of D){if(n.length>=lt)break;if(qe.has(h)){n.push(`${u}${h}/ (skipped)`);continue}let c=w(s,h);V(c).isDirectory()?(n.push(`${u}${h}/`),l<3&&r(c,l+1,u+" ")):n.push(`${u}${h}`)}}r(e,0,"");let o=Ue(t,e)||".";return n.length>=lt&&n.push(`... (truncated at ${lt} entries)`),o+`/
|
|
30
30
|
`+n.join(`
|
|
31
|
-
`)}function Ye(i,t,e="."){let n=w(t,e);if(!k(n))return`ERROR: path '${e}' does not exist.`;let r=[];qt(n,n,r);let o=Ge(i),s=r.filter(D=>o.test(D));if(s.length===0)return`No files match '${i}'.`;let
|
|
32
|
-
... (${s.length} total, showing ${jt})`:"";return
|
|
33
|
-
`)+
|
|
34
|
-
`);for(let d=0;d<p.length&&!(
|
|
35
|
-
... (truncated at ${Dt} matches)`:"";return
|
|
36
|
-
`)+D}function Je(i,t){let e=w(t,i);if(!k(e))return`ERROR: file '${i}' does not exist.`;if(!V(e).isFile())return`ERROR: '${i}' is not a file.`;let n=V(e).size;if(n>Hi)return`ERROR: file '${i}' is too large (${Math.round(n/1024)}KB).`;try{return Ut(e,"utf-8")}catch(r){return`ERROR reading '${i}': ${r}`}}function Xe(i,t,e,n){let r=w(n,i);if(!k(r))return`ERROR: file '${i}' does not exist.`;if(!V(r).isFile())return`ERROR: '${i}' is not a file.`;let o;try{o=Ut(r,"utf-8")}catch(
|
|
31
|
+
`)}function Ye(i,t,e="."){let n=w(t,e);if(!k(n))return`ERROR: path '${e}' does not exist.`;let r=[];qt(n,n,r);let o=Ge(i),s=r.filter(D=>o.test(D));if(s.length===0)return`No files match '${i}'.`;let l=s.slice(0,jt),u=s.length>jt?`
|
|
32
|
+
... (${s.length} total, showing ${jt})`:"";return l.join(`
|
|
33
|
+
`)+u}function ze(i,t,e=".",n){let r=w(t,e);if(!k(r))return`ERROR: path '${e}' does not exist.`;let o=[];qt(r,r,o);let s=o;if(n){let h=n.startsWith("*.")?n.slice(1):null;if(h)s=o.filter(c=>c.endsWith(h));else{let c=Ge(n);s=o.filter(f=>{let p=f.split("/").pop();return c.test(p)||c.test(f)})}}let l;try{l=new RegExp(i)}catch{l=new RegExp(i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"))}let u=[];for(let h of s){if(u.length>=Dt)break;let c=w(r,h);try{let p=Ut(c,"utf-8").split(`
|
|
34
|
+
`);for(let d=0;d<p.length&&!(u.length>=Dt);d++)l.test(p[d])&&u.push(`${h}:${d+1}: ${p[d].trimEnd()}`)}catch{}}if(u.length===0)return`No matches for '${i}'.`;let D=u.length>=Dt?`
|
|
35
|
+
... (truncated at ${Dt} matches)`:"";return u.join(`
|
|
36
|
+
`)+D}function Je(i,t){let e=w(t,i);if(!k(e))return`ERROR: file '${i}' does not exist.`;if(!V(e).isFile())return`ERROR: '${i}' is not a file.`;let n=V(e).size;if(n>Hi)return`ERROR: file '${i}' is too large (${Math.round(n/1024)}KB).`;try{return Ut(e,"utf-8")}catch(r){return`ERROR reading '${i}': ${r}`}}function Xe(i,t,e,n){let r=w(n,i);if(!k(r))return`ERROR: file '${i}' does not exist.`;if(!V(r).isFile())return`ERROR: '${i}' is not a file.`;let o;try{o=Ut(r,"utf-8")}catch(u){return`ERROR reading '${i}': ${u}`}let s=o.split(t).length-1;if(s===0)return`ERROR: old_string not found in '${i}'. Run read_file first and copy the exact text.`;if(s>1)return`ERROR: old_string matches ${s} times in '${i}'. Add more surrounding lines to make it unique.`;let l=o.replace(t,e);try{return je(r,l,"utf-8"),`OK: patched '${i}'.`}catch(u){return`ERROR writing '${i}': ${u}`}}function Ze(i,t,e){let n=w(e,i);try{let r=Ve(n);return k(r)||Vt(r,{recursive:!0}),je(n,t,"utf-8"),`OK: wrote ${t.length} chars to '${i}'.`}catch(r){return`ERROR writing '${i}': ${r}`}}function Qe(i,t){let e=w(t,i);if(!k(e))return`ERROR: '${i}' does not exist.`;try{return V(e).isDirectory()?(Li(e,{recursive:!0,force:!0}),`OK: deleted directory '${i}'.`):(Wi(e),`OK: deleted '${i}'.`)}catch(n){return`ERROR deleting '${i}': ${n}`}}function tn(i,t){let e=w(t,i);if(k(e))return`OK: '${i}' already exists.`;try{return Vt(e,{recursive:!0}),`OK: created directory '${i}'.`}catch(n){return`ERROR creating '${i}': ${n}`}}function en(i,t,e){let n=w(e,i),r=w(e,t);if(!k(n))return`ERROR: source '${i}' does not exist.`;try{let o=Ve(r);return k(o)||Vt(o,{recursive:!0}),Ni(n,r),`OK: moved '${i}' to '${t}'.`}catch(o){return`ERROR moving '${i}': ${o}`}}import{execFile as nn}from"child_process";var rn=3e4,Z=8e3,ji=[/rm\s+-rf\s+[/\\]/,/rmdir\s+\/s/i,/format\s+[a-z]:/i,/dd\s+if=/,/mkfs/,/>\s*\/dev\/sd/,/shutdown/i,/reboot/i,/del\s+\/[sf]/i];function on(i,t){for(let e of ji)if(e.test(i))return Promise.resolve(`BLOCKED: '${i.slice(0,60)}' matches a destructive command pattern and will not run.`);return new Promise(e=>{let n=process.platform==="win32",[r,o]=n?["cmd.exe","/c"]:["sh","-c"];nn(r,[o,i],{cwd:t,timeout:rn,maxBuffer:Z*2},(s,l,u)=>{let D=(l+(u?`
|
|
37
37
|
STDERR:
|
|
38
|
-
${
|
|
39
|
-
... (truncated, ${D.length} chars total)`:D;e(s&&!
|
|
38
|
+
${u}`:"")).trim(),h=D.length>Z?D.slice(0,Z)+`
|
|
39
|
+
... (truncated, ${D.length} chars total)`:D;e(s&&!l&&!u?`ERROR: ${s.message}`:h||"(no output)")})})}function Q(i,t){return new Promise(e=>{nn("git",i,{cwd:t,timeout:rn,maxBuffer:2e5},(n,r,o)=>{let s=(r+(o?`
|
|
40
40
|
${o}`:"")).trim();e(n&&!r&&!o?`ERROR: ${n.message}`:s||"(no output)")})})}function sn(i){return Q(["status","--short"],i)}function un(i,t){return Q(t?["diff",t]:["diff","HEAD"],i).then(n=>n.length>Z?n.slice(0,Z)+`
|
|
41
|
-
... (diff truncated)`:n)}function an(i,t=10){return Q(["log","--oneline","-n",String(Math.min(t,50))],i)}async function ln(i,t){if(!t.trim())return"ERROR: commit message is required.";let e=await Q(["add","-A"],i);return e.startsWith("ERROR")?e:Q(["commit","-m",t],i)}async function Dn(i,t,e){try{switch(i){case"list_directory":{let n=String(t.path??"."),r=Ke(n,e);return{output:r,ok:!r.startsWith("ERROR")}}case"glob_files":{let n=String(t.pattern??"**/*"),r=String(t.path??"."),o=Ye(n,e,r);return{output:o,ok:!o.startsWith("ERROR")}}case"grep_files":{let n=String(t.pattern??""),r=String(t.path??"."),o=t.file_pattern?String(t.file_pattern):void 0;if(!n)return{output:"ERROR: pattern is required.",ok:!1};let s=ze(n,e,r,o);return{output:s,ok:!s.startsWith("ERROR")}}case"read_file":{let n=String(t.path??"");if(!n)return{output:"ERROR: path is required.",ok:!1};let r=Je(n,e);return{output:r,ok:!r.startsWith("ERROR")}}case"patch_file":{let n=String(t.path??""),r=String(t.old_string??""),o=String(t.new_string??"");if(!n)return{output:"ERROR: path is required.",ok:!1};if(!r)return{output:"ERROR: old_string is required.",ok:!1};let s=Xe(n,r,o,e);return{output:s,ok:s.startsWith("OK")}}case"write_file":{let n=String(t.path??""),r=String(t.content??"");if(!n)return{output:"ERROR: path is required.",ok:!1};let o=Ze(n,r,e);return{output:o,ok:o.startsWith("OK")}}case"delete_file":{let n=String(t.path??"");if(!n)return{output:"ERROR: path is required.",ok:!1};let r=Qe(n,e);return{output:r,ok:r.startsWith("OK")}}case"create_directory":{let n=String(t.path??"");if(!n)return{output:"ERROR: path is required.",ok:!1};let r=tn(n,e);return{output:r,ok:r.startsWith("OK")}}case"move_file":{let n=String(t.source??""),r=String(t.destination??"");if(!n)return{output:"ERROR: source is required.",ok:!1};if(!r)return{output:"ERROR: destination is required.",ok:!1};let o=en(n,r,e);return{output:o,ok:o.startsWith("OK")}}case"run_command":{let n=String(t.command??"");if(!n)return{output:"ERROR: command is required.",ok:!1};let r=await on(n,e);return{output:r,ok:!r.startsWith("ERROR")&&!r.startsWith("BLOCKED")}}case"git_status":{let n=await sn(e);return{output:n,ok:!n.startsWith("ERROR")}}case"git_diff":{let n=t.target?String(t.target):void 0,r=await un(e,n);return{output:r,ok:!r.startsWith("ERROR")}}case"git_log":{let n=typeof t.n=="number"?t.n:10,r=await an(e,n);return{output:r,ok:!r.startsWith("ERROR")}}case"git_commit":{let n=String(t.message??"");if(!n)return{output:"ERROR: message is required.",ok:!1};let r=await ln(e,n);return{output:r,ok:!r.startsWith("ERROR")}}default:return{output:`ERROR: unknown local tool '${i}'.`,ok:!1}}}catch(n){return{output:`ERROR: tool '${i}' threw: ${n}`,ok:!1}}}var cn=(i=0)=>t=>`\x1B[${t+i}m`,hn=(i=0)=>t=>`\x1B[${38+i};5;${t}m`,fn=(i=0)=>(t,e,n)=>`\x1B[${38+i};2;${t};${e};${n}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]}},
|
|
41
|
+
... (diff truncated)`:n)}function an(i,t=10){return Q(["log","--oneline","-n",String(Math.min(t,50))],i)}async function ln(i,t){if(!t.trim())return"ERROR: commit message is required.";let e=await Q(["add","-A"],i);return e.startsWith("ERROR")?e:Q(["commit","-m",t],i)}async function Dn(i,t,e){try{switch(i){case"list_directory":{let n=String(t.path??"."),r=Ke(n,e);return{output:r,ok:!r.startsWith("ERROR")}}case"glob_files":{let n=String(t.pattern??"**/*"),r=String(t.path??"."),o=Ye(n,e,r);return{output:o,ok:!o.startsWith("ERROR")}}case"grep_files":{let n=String(t.pattern??""),r=String(t.path??"."),o=t.file_pattern?String(t.file_pattern):void 0;if(!n)return{output:"ERROR: pattern is required.",ok:!1};let s=ze(n,e,r,o);return{output:s,ok:!s.startsWith("ERROR")}}case"read_file":{let n=String(t.path??"");if(!n)return{output:"ERROR: path is required.",ok:!1};let r=Je(n,e);return{output:r,ok:!r.startsWith("ERROR")}}case"patch_file":{let n=String(t.path??""),r=String(t.old_string??""),o=String(t.new_string??"");if(!n)return{output:"ERROR: path is required.",ok:!1};if(!r)return{output:"ERROR: old_string is required.",ok:!1};let s=Xe(n,r,o,e);return{output:s,ok:s.startsWith("OK")}}case"write_file":{let n=String(t.path??""),r=String(t.content??"");if(!n)return{output:"ERROR: path is required.",ok:!1};let o=Ze(n,r,e);return{output:o,ok:o.startsWith("OK")}}case"delete_file":{let n=String(t.path??"");if(!n)return{output:"ERROR: path is required.",ok:!1};let r=Qe(n,e);return{output:r,ok:r.startsWith("OK")}}case"create_directory":{let n=String(t.path??"");if(!n)return{output:"ERROR: path is required.",ok:!1};let r=tn(n,e);return{output:r,ok:r.startsWith("OK")}}case"move_file":{let n=String(t.source??""),r=String(t.destination??"");if(!n)return{output:"ERROR: source is required.",ok:!1};if(!r)return{output:"ERROR: destination is required.",ok:!1};let o=en(n,r,e);return{output:o,ok:o.startsWith("OK")}}case"run_command":{let n=String(t.command??"");if(!n)return{output:"ERROR: command is required.",ok:!1};let r=await on(n,e);return{output:r,ok:!r.startsWith("ERROR")&&!r.startsWith("BLOCKED")}}case"git_status":{let n=await sn(e);return{output:n,ok:!n.startsWith("ERROR")}}case"git_diff":{let n=t.target?String(t.target):void 0,r=await un(e,n);return{output:r,ok:!r.startsWith("ERROR")}}case"git_log":{let n=typeof t.n=="number"?t.n:10,r=await an(e,n);return{output:r,ok:!r.startsWith("ERROR")}}case"git_commit":{let n=String(t.message??"");if(!n)return{output:"ERROR: message is required.",ok:!1};let r=await ln(e,n);return{output:r,ok:!r.startsWith("ERROR")}}default:return{output:`ERROR: unknown local tool '${i}'.`,ok:!1}}}catch(n){return{output:`ERROR: tool '${i}' threw: ${n}`,ok:!1}}}var cn=(i=0)=>t=>`\x1B[${t+i}m`,hn=(i=0)=>t=>`\x1B[${38+i};5;${t}m`,fn=(i=0)=>(t,e,n)=>`\x1B[${38+i};2;${t};${e};${n}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]}},Oo=Object.keys(g.modifier),Vi=Object.keys(g.color),Ui=Object.keys(g.bgColor),Bo=[...Vi,...Ui];function qi(){let i=new Map;for(let[t,e]of Object.entries(g)){for(let[n,r]of Object.entries(e))g[n]={open:`\x1B[${r[0]}m`,close:`\x1B[${r[1]}m`},e[n]=g[n],i.set(r[0],r[1]);Object.defineProperty(g,t,{value:e,enumerable:!1})}return Object.defineProperty(g,"codes",{value:i,enumerable:!1}),g.color.close="\x1B[39m",g.bgColor.close="\x1B[49m",g.color.ansi=cn(),g.color.ansi256=hn(),g.color.ansi16m=fn(),g.bgColor.ansi=cn(10),g.bgColor.ansi256=hn(10),g.bgColor.ansi16m=fn(10),Object.defineProperties(g,{rgbToAnsi256:{value(t,e,n){return t===e&&e===n?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(e/255*5)+Math.round(n/255*5)},enumerable:!1},hexToRgb:{value(t){let e=/[a-f\d]{6}|[a-f\d]{3}/i.exec(t.toString(16));if(!e)return[0,0,0];let[n]=e;n.length===3&&(n=[...n].map(o=>o+o).join(""));let r=Number.parseInt(n,16);return[r>>16&255,r>>8&255,r&255]},enumerable:!1},hexToAnsi256:{value:t=>g.rgbToAnsi256(...g.hexToRgb(t)),enumerable:!1},ansi256ToAnsi:{value(t){if(t<8)return 30+t;if(t<16)return 90+(t-8);let e,n,r;if(t>=232)e=((t-232)*10+8)/255,n=e,r=e;else{t-=16;let l=t%36;e=Math.floor(t/36)/5,n=Math.floor(l/6)/5,r=l%6/5}let o=Math.max(e,n,r)*2;if(o===0)return 30;let s=30+(Math.round(r)<<2|Math.round(n)<<1|Math.round(e));return o===2&&(s+=60),s},enumerable:!1},rgbToAnsi:{value:(t,e,n)=>g.ansi256ToAnsi(g.rgbToAnsi256(t,e,n)),enumerable:!1},hexToAnsi:{value:t=>g.ansi256ToAnsi(g.hexToAnsi256(t)),enumerable:!1}}),g}var Gi=qi(),v=Gi;import Gt from"node:process";import Ki from"node:os";import dn from"node:tty";function B(i,t=globalThis.Deno?globalThis.Deno.args:Gt.argv){let e=i.startsWith("-")?"":i.length===1?"-":"--",n=t.indexOf(e+i),r=t.indexOf("--");return n!==-1&&(r===-1||n<r)}var{env:F}=Gt,ct;B("no-color")||B("no-colors")||B("color=false")||B("color=never")?ct=0:(B("color")||B("colors")||B("color=true")||B("color=always"))&&(ct=1);function Yi(){if("FORCE_COLOR"in F)return F.FORCE_COLOR==="true"?1:F.FORCE_COLOR==="false"?0:F.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(F.FORCE_COLOR,10),3)}function zi(i){return i===0?!1:{level:i,hasBasic:!0,has256:i>=2,has16m:i>=3}}function Ji(i,{streamIsTTY:t,sniffFlags:e=!0}={}){let n=Yi();n!==void 0&&(ct=n);let r=e?ct:n;if(r===0)return 0;if(e){if(B("color=16m")||B("color=full")||B("color=truecolor"))return 3;if(B("color=256"))return 2}if("TF_BUILD"in F&&"AGENT_NAME"in F)return 1;if(i&&!t&&r===void 0)return 0;let o=r||0;if(F.TERM==="dumb")return o;if(Gt.platform==="win32"){let s=Ki.release().split(".");return Number(s[0])>=10&&Number(s[2])>=10586?Number(s[2])>=14931?3:2:1}if("CI"in F)return["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some(s=>s in F)?3:["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(s=>s in F)||F.CI_NAME==="codeship"?1:o;if("TEAMCITY_VERSION"in F)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(F.TEAMCITY_VERSION)?1:0;if(F.COLORTERM==="truecolor"||F.TERM==="xterm-kitty"||F.TERM==="xterm-ghostty"||F.TERM==="wezterm")return 3;if("TERM_PROGRAM"in F){let s=Number.parseInt((F.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(F.TERM_PROGRAM){case"iTerm.app":return s>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(F.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(F.TERM)||"COLORTERM"in F?1:o}function mn(i,t={}){let e=Ji(i,{streamIsTTY:i&&i.isTTY,...t});return zi(e)}var Xi={stdout:mn({isTTY:dn.isatty(1)}),stderr:mn({isTTY:dn.isatty(2)})},pn=Xi;function gn(i,t,e){let n=i.indexOf(t);if(n===-1)return i;let r=t.length,o=0,s="";do s+=i.slice(o,n)+t+e,o=n+r,n=i.indexOf(t,o);while(n!==-1);return s+=i.slice(o),s}function Fn(i,t,e,n){let r=0,o="";do{let s=i[n-1]==="\r";o+=i.slice(r,s?n-1:n)+t+(s?`\r
|
|
42
42
|
`:`
|
|
43
43
|
`)+e,r=n+1,n=i.indexOf(`
|
|
44
44
|
`,r)}while(n!==-1);return o+=i.slice(r),o}var{stdout:Cn,stderr:En}=pn,Kt=Symbol("GENERATOR"),K=Symbol("STYLER"),tt=Symbol("IS_EMPTY"),_n=["ansi","ansi","ansi256","ansi16m"],Y=Object.create(null),Zi=(i,t={})=>{if(t.level&&!(Number.isInteger(t.level)&&t.level>=0&&t.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let e=Cn?Cn.level:0;i.level=t.level===void 0?e:t.level};var Qi=i=>{let t=(...e)=>e.join(" ");return Zi(t,i),Object.setPrototypeOf(t,et.prototype),t};function et(i){return Qi(i)}Object.setPrototypeOf(et.prototype,Function.prototype);for(let[i,t]of Object.entries(v))Y[i]={get(){let e=ht(this,zt(t.open,t.close,this[K]),this[tt]);return Object.defineProperty(this,i,{value:e}),e}};Y.visible={get(){let i=ht(this,this[K],!0);return Object.defineProperty(this,"visible",{value:i}),i}};var Yt=(i,t,e,...n)=>i==="rgb"?t==="ansi16m"?v[e].ansi16m(...n):t==="ansi256"?v[e].ansi256(v.rgbToAnsi256(...n)):v[e].ansi(v.rgbToAnsi(...n)):i==="hex"?Yt("rgb",t,e,...v.hexToRgb(...n)):v[e][i](...n),tr=["rgb","hex","ansi256"];for(let i of tr){Y[i]={get(){let{level:e}=this;return function(...n){let r=zt(Yt(i,_n[e],"color",...n),v.color.close,this[K]);return ht(this,r,this[tt])}}};let t="bg"+i[0].toUpperCase()+i.slice(1);Y[t]={get(){let{level:e}=this;return function(...n){let r=zt(Yt(i,_n[e],"bgColor",...n),v.bgColor.close,this[K]);return ht(this,r,this[tt])}}}}var er=Object.defineProperties(()=>{},{...Y,level:{enumerable:!0,get(){return this[Kt].level},set(i){this[Kt].level=i}}}),zt=(i,t,e)=>{let n,r;return e===void 0?(n=i,r=t):(n=e.openAll+i,r=t+e.closeAll),{open:i,close:t,openAll:n,closeAll:r,parent:e}},ht=(i,t,e)=>{let n=(...r)=>nr(n,r.length===1?""+r[0]:r.join(" "));return Object.setPrototypeOf(n,er),n[Kt]=i,n[K]=t,n[tt]=e,n},nr=(i,t)=>{if(i.level<=0||!t)return i[tt]?"":t;let e=i[K];if(e===void 0)return t;let{openAll:n,closeAll:r}=e;if(t.includes("\x1B"))for(;e!==void 0;)t=gn(t,e.close,e.open),e=e.parent;let o=t.indexOf(`
|
|
45
|
-
`);return o!==-1&&(t=Fn(t,r,n,o)),n+t+r};Object.defineProperties(et.prototype,Y);var ir=et(),
|
|
46
|
-
${t}`,ar=Object.getOwnPropertyDescriptor(Function.prototype,"toString"),lr=Object.getOwnPropertyDescriptor(Function.prototype.toString,"name"),Dr=(i,t,e)=>{let n=e===""?"":`with ${e.trim()}() `,r=ur.bind(null,n,t.toString());Object.defineProperty(r,"name",lr);let{writable:o,enumerable:s,configurable:a}=ar;Object.defineProperty(i,"toString",{value:r,writable:o,enumerable:s,configurable:a})};function Jt(i,t,{ignoreNonConfigurable:e=!1}={}){let{name:n}=i;for(let r of Reflect.ownKeys(t))rr(i,t,r,e);return sr(i,t),Dr(i,t,n),i}var ft=new WeakMap,xn=(i,t={})=>{if(typeof i!="function")throw new TypeError("Expected a function");let e,n=0,r=i.displayName||i.name||"<anonymous>",o=function(...s){if(ft.set(o,++n),n===1)e=i.apply(this,s),i=void 0;else if(t.throw===!0)throw new Error(`Function \`${r}\` can only be called once`);return e};return Jt(o,i),ft.set(o,n),o};xn.callCount=i=>{if(!ft.has(i))throw new Error(`The given function \`${i.name}\` is not wrapped by the \`onetime\` package`);return ft.get(i)};var An=xn;var U=[];U.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&U.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&U.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var dt=i=>!!i&&typeof i=="object"&&typeof i.removeListener=="function"&&typeof i.emit=="function"&&typeof i.reallyExit=="function"&&typeof i.listeners=="function"&&typeof i.kill=="function"&&typeof i.pid=="number"&&typeof i.on=="function",Xt=Symbol.for("signal-exit emitter"),Zt=globalThis,cr=Object.defineProperty.bind(Object),Qt=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(Zt[Xt])return Zt[Xt];cr(Zt,Xt,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(t,e){this.listeners[t].push(e)}removeListener(t,e){let n=this.listeners[t],r=n.indexOf(e);r!==-1&&(r===0&&n.length===1?n.length=0:n.splice(r,1))}emit(t,e,n){if(this.emitted[t])return!1;this.emitted[t]=!0;let r=!1;for(let o of this.listeners[t])r=o(e,n)===!0||r;return t==="exit"&&(r=this.emit("afterExit",e,n)||r),r}},mt=class{},hr=i=>({onExit(t,e){return i.onExit(t,e)},load(){return i.load()},unload(){return i.unload()}}),te=class extends mt{onExit(){return()=>{}}load(){}unload(){}},ee=class extends mt{#s=ne.platform==="win32"?"SIGINT":"SIGHUP";#n=new Qt;#t;#r;#h;#e={};#o=!1;constructor(t){super(),this.#t=t,this.#e={};for(let e of U)this.#e[e]=()=>{let n=this.#t.listeners(e),{count:r}=this.#n,o=t;if(typeof o.__signal_exit_emitter__=="object"&&typeof o.__signal_exit_emitter__.count=="number"&&(r+=o.__signal_exit_emitter__.count),n.length===r){this.unload();let s=this.#n.emit("exit",null,e),a=e==="SIGHUP"?this.#s:e;s||t.kill(t.pid,a)}};this.#h=t.reallyExit,this.#r=t.emit}onExit(t,e){if(!dt(this.#t))return()=>{};this.#o===!1&&this.load();let n=e?.alwaysLast?"afterExit":"exit";return this.#n.on(n,t),()=>{this.#n.removeListener(n,t),this.#n.listeners.exit.length===0&&this.#n.listeners.afterExit.length===0&&this.unload()}}load(){if(!this.#o){this.#o=!0,this.#n.count+=1;for(let t of U)try{let e=this.#e[t];e&&this.#t.on(t,e)}catch{}this.#t.emit=(t,...e)=>this.#f(t,...e),this.#t.reallyExit=t=>this.#i(t)}}unload(){this.#o&&(this.#o=!1,U.forEach(t=>{let e=this.#e[t];if(!e)throw new Error("Listener not defined for signal: "+t);try{this.#t.removeListener(t,e)}catch{}}),this.#t.emit=this.#r,this.#t.reallyExit=this.#h,this.#n.count-=1)}#i(t){return dt(this.#t)?(this.#t.exitCode=t||0,this.#n.emit("exit",this.#t.exitCode,null),this.#h.call(this.#t,this.#t.exitCode)):0}#f(t,...e){let n=this.#r;if(t==="exit"&&dt(this.#t)){typeof e[0]=="number"&&(this.#t.exitCode=e[0]);let r=n.call(this.#t,t,...e);return this.#n.emit("exit",this.#t.exitCode,null),r}else return n.call(this.#t,t,...e)}},ne=globalThis.process,{onExit:bn,load:Ko,unload:Yo}=hr(dt(ne)?new ee(ne):new te);var yn=pt.stderr.isTTY?pt.stderr:pt.stdout.isTTY?pt.stdout:void 0,fr=yn?An(()=>{bn(()=>{yn.write("\x1B[?25h")},{alwaysLast:!0})}):()=>{},wn=fr;var gt=!1,z={};z.show=(i=On.stderr)=>{i.isTTY&&(gt=!1,i.write("\x1B[?25h"))};z.hide=(i=On.stderr)=>{i.isTTY&&(wn(),gt=!0,i.write("\x1B[?25l"))};z.toggle=(i,t)=>{i!==void 0&&(gt=i),gt?z.show(t):z.hide(t)};var ie=z;var rt=st(re(),1);import R from"node:process";function oe(){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 mr={info:u.blue("\u2139"),success:u.green("\u2714"),warning:u.yellow("\u26A0"),error:u.red("\u2716")},pr={info:u.blue("i"),success:u.green("\u221A"),warning:u.yellow("\u203C"),error:u.red("\xD7")},gr=oe()?mr:pr,nt=gr;function se({onlyFirst:i=!1}={}){let t=String.raw`(?:\u0007|\u001B\u005C|\u009C)`,e=String.raw`(?:(?:\u001B\]|\u009D)[^\u0007\u001B\u009C\u009D]*${t})`,n=String.raw`[\u001B\u009B][[\]()#;?]*(?:\d{1,4}(?:[;:]\d{0,4})*)?[A-PR-TZcf-nq-uy=><~]`,r=String.raw`(?:\u001B\[|\u009B)[<=>][0-9;:]*[A-PR-TZcf-nq-uy~]`,o=`${e}|${r}|${n}`;return new RegExp(o,i?void 0:"g")}var Fr=se();function it(i){if(typeof i!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof i}\``);return!i.includes("\x1B")&&!i.includes("\x9B")?i:i.replace(Fr,"")}var Tn=[161,161,164,164,167,168,170,170,173,174,176,180,182,186,188,191,198,198,208,208,215,216,222,225,230,230,232,234,236,237,240,240,242,243,247,250,252,252,254,254,257,257,273,273,275,275,283,283,294,295,299,299,305,307,312,312,319,322,324,324,328,331,333,333,338,339,358,359,363,363,462,462,464,464,466,466,468,468,470,470,472,472,474,474,476,476,593,593,609,609,708,708,711,711,713,715,717,717,720,720,728,731,733,733,735,735,768,879,913,929,931,937,945,961,963,969,1025,1025,1040,1103,1105,1105,8208,8208,8211,8214,8216,8217,8220,8221,8224,8226,8228,8231,8240,8240,8242,8243,8245,8245,8251,8251,8254,8254,8308,8308,8319,8319,8321,8324,8364,8364,8451,8451,8453,8453,8457,8457,8467,8467,8470,8470,8481,8482,8486,8486,8491,8491,8531,8532,8539,8542,8544,8555,8560,8569,8585,8585,8592,8601,8632,8633,8658,8658,8660,8660,8679,8679,8704,8704,8706,8707,8711,8712,8715,8715,8719,8719,8721,8721,8725,8725,8730,8730,8733,8736,8739,8739,8741,8741,8743,8748,8750,8750,8756,8759,8764,8765,8776,8776,8780,8780,8786,8786,8800,8801,8804,8807,8810,8811,8814,8815,8834,8835,8838,8839,8853,8853,8857,8857,8869,8869,8895,8895,8978,8978,9312,9449,9451,9547,9552,9587,9600,9615,9618,9621,9632,9633,9635,9641,9650,9651,9654,9655,9660,9661,9664,9665,9670,9672,9675,9675,9678,9681,9698,9701,9711,9711,9733,9734,9737,9737,9742,9743,9756,9756,9758,9758,9792,9792,9794,9794,9824,9825,9827,9829,9831,9834,9836,9837,9839,9839,9886,9887,9919,9919,9926,9933,9935,9939,9941,9953,9955,9955,9960,9961,9963,9969,9972,9972,9974,9977,9979,9980,9982,9983,10045,10045,10102,10111,11094,11097,12872,12879,57344,63743,65024,65039,65533,65533,127232,127242,127248,127277,127280,127337,127344,127373,127375,127376,127387,127404,917760,917999,983040,1048573,1048576,1114109],Sn=12288,kn=65510,$n=[12288,12288,65281,65376,65504,65510];var In=4352,Pn=262141,ue=[4352,4447,8986,8987,9001,9002,9193,9196,9200,9200,9203,9203,9725,9726,9748,9749,9776,9783,9800,9811,9855,9855,9866,9871,9875,9875,9889,9889,9898,9899,9917,9918,9924,9925,9934,9934,9940,9940,9962,9962,9970,9971,9973,9973,9978,9978,9981,9981,9989,9989,9994,9995,10024,10024,10060,10060,10062,10062,10067,10069,10071,10071,10133,10135,10160,10160,10175,10175,11035,11036,11088,11088,11093,11093,11904,11929,11931,12019,12032,12245,12272,12287,12289,12350,12353,12438,12441,12543,12549,12591,12593,12686,12688,12773,12783,12830,12832,12871,12880,42124,42128,42182,43360,43388,44032,55203,63744,64255,65040,65049,65072,65106,65108,65126,65128,65131,94176,94180,94192,94198,94208,101594,101631,101664,101760,101874,101888,102801,102816,102866,110576,110579,110581,110587,110589,110590,110592,110888,110898,110898,110928,110930,110933,110933,110948,110952,110960,111355,119552,119638,119648,119670,126980,126980,127183,127183,127374,127374,127377,127386,127406,127406,127488,127490,127504,127547,127552,127560,127568,127569,127584,127589,127744,127776,127789,127797,127799,127868,127870,127891,127904,127946,127951,127955,127968,127984,127988,127988,127992,128062,128064,128064,128066,128252,128255,128317,128331,128334,128336,128359,128378,128378,128405,128406,128420,128420,128507,128591,128640,128709,128716,128716,128720,128722,128725,128729,128732,128735,128747,128748,128756,128764,128986,128986,128992,129003,129008,129008,129292,129338,129340,129349,129351,129535,129648,129660,129664,129734,129736,129736,129740,129757,129759,129771,129775,129786,131072,196605,196608,262141];var Ct=(i,t)=>{let e=0,n=Math.floor(i.length/2)-1;for(;e<=n;){let r=Math.floor((e+n)/2),o=r*2;if(t<i[o])n=r-1;else if(t>i[o+1])e=r+1;else return!0}return!1};var Mn=19968,[_r,xr]=Ar(ue);function Ar(i){let t=i[0],e=i[1];for(let n=0;n<i.length;n+=2){let r=i[n],o=i[n+1];if(Mn>=r&&Mn<=o)return[r,o];o-r>e-t&&(t=r,e=o)}return[t,e]}var Nn=i=>i<161||i>1114109?!1:Ct(Tn,i),Ln=i=>i<Sn||i>kn?!1:Ct($n,i);var Wn=i=>i>=_r&&i<=xr?!0:i<In||i>Pn?!1:Ct(ue,i);function br(i){if(!Number.isSafeInteger(i))throw new TypeError(`Expected a code point, got \`${typeof i}\`.`)}function Hn(i,{ambiguousAsWide:t=!1}={}){return br(i),Ln(i)||Wn(i)||t&&Nn(i)?2:1}var Un=st(Vn(),1),yr=new Intl.Segmenter,wr=new RegExp("^\\p{Default_Ignorable_Code_Point}$","u");function ae(i,t={}){if(typeof i!="string"||i.length===0)return 0;let{ambiguousIsNarrow:e=!0,countAnsiEscapeCodes:n=!1}=t;if(n||(i=it(i)),i.length===0)return 0;let r=0,o={ambiguousAsWide:!e};for(let{segment:s}of yr.segment(i)){let a=s.codePointAt(0);if(!(a<=31||a>=127&&a<=159)&&!(a>=8203&&a<=8207||a===65279)&&!(a>=768&&a<=879||a>=6832&&a<=6911||a>=7616&&a<=7679||a>=8400&&a<=8447||a>=65056&&a<=65071)&&!(a>=55296&&a<=57343)&&!(a>=65024&&a<=65039)&&!wr.test(s)){if((0,Un.default)().test(s)){r+=2;continue}r+=Hn(a,o)}}return r}function le({stream:i=process.stdout}={}){return!!(i&&i.isTTY&&process.env.TERM!=="dumb"&&!("CI"in process.env))}import qn from"node:process";function De(){let{env:i}=qn,{TERM:t,TERM_PROGRAM:e}=i;return qn.platform!=="win32"?t!=="linux":!!i.WT_SESSION||!!i.TERMINUS_SUBLIME||i.ConEmuTask==="{cmd::Cmder}"||e==="Terminus-Sublime"||e==="vscode"||t==="xterm-256color"||t==="alacritty"||t==="rxvt-unicode"||t==="rxvt-unicode-256color"||i.TERMINAL_EMULATOR==="JetBrains-JediTerm"}import $ from"node:process";var Or=3,ce=class{#s=0;start(){this.#s++,this.#s===1&&this.#n()}stop(){if(this.#s<=0)throw new Error("`stop` called more times than `start`");this.#s--,this.#s===0&&this.#t()}#n(){$.platform==="win32"||!$.stdin.isTTY||($.stdin.setRawMode(!0),$.stdin.on("data",this.#r),$.stdin.resume())}#t(){$.stdin.isTTY&&($.stdin.off("data",this.#r),$.stdin.pause(),$.stdin.setRawMode(!1))}#r(t){t[0]===Or&&$.emit("SIGINT")}},Br=new ce,he=Br;var vr=st(re(),1),fe=class{#s=0;#n=!1;#t=0;#r=-1;#h=0;#e;#o;#i;#f;#m;#l;#D;#c;#p;#u;#a;color;constructor(t){typeof t=="string"&&(t={text:t}),this.#e={color:"cyan",stream:Et.stderr,discardStdin:!0,hideCursor:!0,...t},this.color=this.#e.color,this.spinner=this.#e.spinner,this.#m=this.#e.interval,this.#i=this.#e.stream,this.#l=typeof this.#e.isEnabled=="boolean"?this.#e.isEnabled:le({stream:this.#i}),this.#D=typeof this.#e.isSilent=="boolean"?this.#e.isSilent:!1,this.text=this.#e.text,this.prefixText=this.#e.prefixText,this.suffixText=this.#e.suffixText,this.indent=this.#e.indent,Et.env.NODE_ENV==="test"&&(this._stream=this.#i,this._isEnabled=this.#l,Object.defineProperty(this,"_linesToClear",{get(){return this.#s},set(e){this.#s=e}}),Object.defineProperty(this,"_frameIndex",{get(){return this.#r}}),Object.defineProperty(this,"_lineCount",{get(){return this.#t}}))}get indent(){return this.#c}set indent(t=0){if(!(t>=0&&Number.isInteger(t)))throw new Error("The `indent` option must be an integer from 0 and up");this.#c=t,this.#d()}get interval(){return this.#m??this.#o.interval??100}get spinner(){return this.#o}set spinner(t){if(this.#r=-1,this.#m=void 0,typeof t=="object"){if(t.frames===void 0)throw new Error("The given spinner must have a `frames` property");this.#o=t}else if(!De())this.#o=rt.default.line;else if(t===void 0)this.#o=rt.default.dots;else if(t!=="default"&&rt.default[t])this.#o=rt.default[t];else throw new Error(`There is no built-in spinner named '${t}'. See https://github.com/sindresorhus/cli-spinners/blob/main/spinners.json for a full list.`)}get text(){return this.#p}set text(t=""){this.#p=t,this.#d()}get prefixText(){return this.#u}set prefixText(t=""){this.#u=t,this.#d()}get suffixText(){return this.#a}set suffixText(t=""){this.#a=t,this.#d()}get isSpinning(){return this.#f!==void 0}#g(t=this.#u,e=" "){return typeof t=="string"&&t!==""?t+e:typeof t=="function"?t()+e:""}#F(t=this.#a,e=" "){return typeof t=="string"&&t!==""?e+t:typeof t=="function"?e+t():""}#d(){let t=this.#i.columns??80,e=this.#g(this.#u,"-"),n=this.#F(this.#a,"-"),r=" ".repeat(this.#c)+e+"--"+this.#p+"--"+n;this.#t=0;for(let o of it(r).split(`
|
|
47
|
-
`))this.#t+=Math.max(1,Math.ceil(ae(o,{countAnsiEscapeCodes:!0})/t))}get isEnabled(){return this.#l&&!this.#D}set isEnabled(t){if(typeof t!="boolean")throw new TypeError("The `isEnabled` option must be a boolean");this.#l=t}get isSilent(){return this.#D}set isSilent(t){if(typeof t!="boolean")throw new TypeError("The `isSilent` option must be a boolean");this.#D=t}frame(){let t=Date.now();(this.#r===-1||t-this.#h>=this.interval)&&(this.#r=++this.#r%this.#o.frames.length,this.#h=t);let{frames:e}=this.#o,n=e[this.#r];this.color&&(n=
|
|
48
|
-
`),this)}stop(){return this.#l?(clearInterval(this.#f),this.#f=void 0,this.#r=0,this.clear(),this.#e.hideCursor&&ie.show(this.#i),this.#e.discardStdin&&Et.stdin.isTTY&&this.#n&&(he.stop(),this.#n=!1),this):this}succeed(t){return this.stopAndPersist({symbol:nt.success,text:t})}fail(t){return this.stopAndPersist({symbol:nt.error,text:t})}warn(t){return this.stopAndPersist({symbol:nt.warning,text:t})}info(t){return this.stopAndPersist({symbol:nt.info,text:t})}stopAndPersist(t={}){if(this.#D)return this;let e=t.prefixText??this.#u,n=this.#g(e," "),r=t.symbol??" ",o=t.text??this.text,
|
|
49
|
-
`;return this.stop(),this.#i.write(h),this}};function de(i){return new fe(i)}var
|
|
50
|
-
`+
|
|
45
|
+
`);return o!==-1&&(t=Fn(t,r,n,o)),n+t+r};Object.defineProperties(et.prototype,Y);var ir=et(),No=et({level:En?En.level:0});var a=ir;import Et from"node:process";import On from"node:process";import pt from"node:process";var rr=(i,t,e,n)=>{if(e==="length"||e==="prototype"||e==="arguments"||e==="caller")return;let r=Object.getOwnPropertyDescriptor(i,e),o=Object.getOwnPropertyDescriptor(t,e);!or(r,o)&&n||Object.defineProperty(i,e,o)},or=function(i,t){return i===void 0||i.configurable||i.writable===t.writable&&i.enumerable===t.enumerable&&i.configurable===t.configurable&&(i.writable||i.value===t.value)},sr=(i,t)=>{let e=Object.getPrototypeOf(t);e!==Object.getPrototypeOf(i)&&Object.setPrototypeOf(i,e)},ur=(i,t)=>`/* Wrapped ${i}*/
|
|
46
|
+
${t}`,ar=Object.getOwnPropertyDescriptor(Function.prototype,"toString"),lr=Object.getOwnPropertyDescriptor(Function.prototype.toString,"name"),Dr=(i,t,e)=>{let n=e===""?"":`with ${e.trim()}() `,r=ur.bind(null,n,t.toString());Object.defineProperty(r,"name",lr);let{writable:o,enumerable:s,configurable:l}=ar;Object.defineProperty(i,"toString",{value:r,writable:o,enumerable:s,configurable:l})};function Jt(i,t,{ignoreNonConfigurable:e=!1}={}){let{name:n}=i;for(let r of Reflect.ownKeys(t))rr(i,t,r,e);return sr(i,t),Dr(i,t,n),i}var ft=new WeakMap,xn=(i,t={})=>{if(typeof i!="function")throw new TypeError("Expected a function");let e,n=0,r=i.displayName||i.name||"<anonymous>",o=function(...s){if(ft.set(o,++n),n===1)e=i.apply(this,s),i=void 0;else if(t.throw===!0)throw new Error(`Function \`${r}\` can only be called once`);return e};return Jt(o,i),ft.set(o,n),o};xn.callCount=i=>{if(!ft.has(i))throw new Error(`The given function \`${i.name}\` is not wrapped by the \`onetime\` package`);return ft.get(i)};var An=xn;var U=[];U.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&U.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&U.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var dt=i=>!!i&&typeof i=="object"&&typeof i.removeListener=="function"&&typeof i.emit=="function"&&typeof i.reallyExit=="function"&&typeof i.listeners=="function"&&typeof i.kill=="function"&&typeof i.pid=="number"&&typeof i.on=="function",Xt=Symbol.for("signal-exit emitter"),Zt=globalThis,cr=Object.defineProperty.bind(Object),Qt=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(Zt[Xt])return Zt[Xt];cr(Zt,Xt,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(t,e){this.listeners[t].push(e)}removeListener(t,e){let n=this.listeners[t],r=n.indexOf(e);r!==-1&&(r===0&&n.length===1?n.length=0:n.splice(r,1))}emit(t,e,n){if(this.emitted[t])return!1;this.emitted[t]=!0;let r=!1;for(let o of this.listeners[t])r=o(e,n)===!0||r;return t==="exit"&&(r=this.emit("afterExit",e,n)||r),r}},mt=class{},hr=i=>({onExit(t,e){return i.onExit(t,e)},load(){return i.load()},unload(){return i.unload()}}),te=class extends mt{onExit(){return()=>{}}load(){}unload(){}},ee=class extends mt{#s=ne.platform==="win32"?"SIGINT":"SIGHUP";#n=new Qt;#t;#r;#h;#e={};#o=!1;constructor(t){super(),this.#t=t,this.#e={};for(let e of U)this.#e[e]=()=>{let n=this.#t.listeners(e),{count:r}=this.#n,o=t;if(typeof o.__signal_exit_emitter__=="object"&&typeof o.__signal_exit_emitter__.count=="number"&&(r+=o.__signal_exit_emitter__.count),n.length===r){this.unload();let s=this.#n.emit("exit",null,e),l=e==="SIGHUP"?this.#s:e;s||t.kill(t.pid,l)}};this.#h=t.reallyExit,this.#r=t.emit}onExit(t,e){if(!dt(this.#t))return()=>{};this.#o===!1&&this.load();let n=e?.alwaysLast?"afterExit":"exit";return this.#n.on(n,t),()=>{this.#n.removeListener(n,t),this.#n.listeners.exit.length===0&&this.#n.listeners.afterExit.length===0&&this.unload()}}load(){if(!this.#o){this.#o=!0,this.#n.count+=1;for(let t of U)try{let e=this.#e[t];e&&this.#t.on(t,e)}catch{}this.#t.emit=(t,...e)=>this.#f(t,...e),this.#t.reallyExit=t=>this.#i(t)}}unload(){this.#o&&(this.#o=!1,U.forEach(t=>{let e=this.#e[t];if(!e)throw new Error("Listener not defined for signal: "+t);try{this.#t.removeListener(t,e)}catch{}}),this.#t.emit=this.#r,this.#t.reallyExit=this.#h,this.#n.count-=1)}#i(t){return dt(this.#t)?(this.#t.exitCode=t||0,this.#n.emit("exit",this.#t.exitCode,null),this.#h.call(this.#t,this.#t.exitCode)):0}#f(t,...e){let n=this.#r;if(t==="exit"&&dt(this.#t)){typeof e[0]=="number"&&(this.#t.exitCode=e[0]);let r=n.call(this.#t,t,...e);return this.#n.emit("exit",this.#t.exitCode,null),r}else return n.call(this.#t,t,...e)}},ne=globalThis.process,{onExit:bn,load:qo,unload:Go}=hr(dt(ne)?new ee(ne):new te);var yn=pt.stderr.isTTY?pt.stderr:pt.stdout.isTTY?pt.stdout:void 0,fr=yn?An(()=>{bn(()=>{yn.write("\x1B[?25h")},{alwaysLast:!0})}):()=>{},wn=fr;var gt=!1,z={};z.show=(i=On.stderr)=>{i.isTTY&&(gt=!1,i.write("\x1B[?25h"))};z.hide=(i=On.stderr)=>{i.isTTY&&(wn(),gt=!0,i.write("\x1B[?25l"))};z.toggle=(i,t)=>{i!==void 0&&(gt=i),gt?z.show(t):z.hide(t)};var ie=z;var rt=st(re(),1);import R from"node:process";function oe(){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 mr={info:a.blue("\u2139"),success:a.green("\u2714"),warning:a.yellow("\u26A0"),error:a.red("\u2716")},pr={info:a.blue("i"),success:a.green("\u221A"),warning:a.yellow("\u203C"),error:a.red("\xD7")},gr=oe()?mr:pr,nt=gr;function se({onlyFirst:i=!1}={}){let t=String.raw`(?:\u0007|\u001B\u005C|\u009C)`,e=String.raw`(?:(?:\u001B\]|\u009D)[^\u0007\u001B\u009C\u009D]*${t})`,n=String.raw`[\u001B\u009B][[\]()#;?]*(?:\d{1,4}(?:[;:]\d{0,4})*)?[A-PR-TZcf-nq-uy=><~]`,r=String.raw`(?:\u001B\[|\u009B)[<=>][0-9;:]*[A-PR-TZcf-nq-uy~]`,o=`${e}|${r}|${n}`;return new RegExp(o,i?void 0:"g")}var Fr=se();function it(i){if(typeof i!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof i}\``);return!i.includes("\x1B")&&!i.includes("\x9B")?i:i.replace(Fr,"")}var Sn=[161,161,164,164,167,168,170,170,173,174,176,180,182,186,188,191,198,198,208,208,215,216,222,225,230,230,232,234,236,237,240,240,242,243,247,250,252,252,254,254,257,257,273,273,275,275,283,283,294,295,299,299,305,307,312,312,319,322,324,324,328,331,333,333,338,339,358,359,363,363,462,462,464,464,466,466,468,468,470,470,472,472,474,474,476,476,593,593,609,609,708,708,711,711,713,715,717,717,720,720,728,731,733,733,735,735,768,879,913,929,931,937,945,961,963,969,1025,1025,1040,1103,1105,1105,8208,8208,8211,8214,8216,8217,8220,8221,8224,8226,8228,8231,8240,8240,8242,8243,8245,8245,8251,8251,8254,8254,8308,8308,8319,8319,8321,8324,8364,8364,8451,8451,8453,8453,8457,8457,8467,8467,8470,8470,8481,8482,8486,8486,8491,8491,8531,8532,8539,8542,8544,8555,8560,8569,8585,8585,8592,8601,8632,8633,8658,8658,8660,8660,8679,8679,8704,8704,8706,8707,8711,8712,8715,8715,8719,8719,8721,8721,8725,8725,8730,8730,8733,8736,8739,8739,8741,8741,8743,8748,8750,8750,8756,8759,8764,8765,8776,8776,8780,8780,8786,8786,8800,8801,8804,8807,8810,8811,8814,8815,8834,8835,8838,8839,8853,8853,8857,8857,8869,8869,8895,8895,8978,8978,9312,9449,9451,9547,9552,9587,9600,9615,9618,9621,9632,9633,9635,9641,9650,9651,9654,9655,9660,9661,9664,9665,9670,9672,9675,9675,9678,9681,9698,9701,9711,9711,9733,9734,9737,9737,9742,9743,9756,9756,9758,9758,9792,9792,9794,9794,9824,9825,9827,9829,9831,9834,9836,9837,9839,9839,9886,9887,9919,9919,9926,9933,9935,9939,9941,9953,9955,9955,9960,9961,9963,9969,9972,9972,9974,9977,9979,9980,9982,9983,10045,10045,10102,10111,11094,11097,12872,12879,57344,63743,65024,65039,65533,65533,127232,127242,127248,127277,127280,127337,127344,127373,127375,127376,127387,127404,917760,917999,983040,1048573,1048576,1114109],Tn=12288,kn=65510,$n=[12288,12288,65281,65376,65504,65510];var In=4352,Pn=262141,ue=[4352,4447,8986,8987,9001,9002,9193,9196,9200,9200,9203,9203,9725,9726,9748,9749,9776,9783,9800,9811,9855,9855,9866,9871,9875,9875,9889,9889,9898,9899,9917,9918,9924,9925,9934,9934,9940,9940,9962,9962,9970,9971,9973,9973,9978,9978,9981,9981,9989,9989,9994,9995,10024,10024,10060,10060,10062,10062,10067,10069,10071,10071,10133,10135,10160,10160,10175,10175,11035,11036,11088,11088,11093,11093,11904,11929,11931,12019,12032,12245,12272,12287,12289,12350,12353,12438,12441,12543,12549,12591,12593,12686,12688,12773,12783,12830,12832,12871,12880,42124,42128,42182,43360,43388,44032,55203,63744,64255,65040,65049,65072,65106,65108,65126,65128,65131,94176,94180,94192,94198,94208,101594,101631,101664,101760,101874,101888,102801,102816,102866,110576,110579,110581,110587,110589,110590,110592,110888,110898,110898,110928,110930,110933,110933,110948,110952,110960,111355,119552,119638,119648,119670,126980,126980,127183,127183,127374,127374,127377,127386,127406,127406,127488,127490,127504,127547,127552,127560,127568,127569,127584,127589,127744,127776,127789,127797,127799,127868,127870,127891,127904,127946,127951,127955,127968,127984,127988,127988,127992,128062,128064,128064,128066,128252,128255,128317,128331,128334,128336,128359,128378,128378,128405,128406,128420,128420,128507,128591,128640,128709,128716,128716,128720,128722,128725,128729,128732,128735,128747,128748,128756,128764,128986,128986,128992,129003,129008,129008,129292,129338,129340,129349,129351,129535,129648,129660,129664,129734,129736,129736,129740,129757,129759,129771,129775,129786,131072,196605,196608,262141];var Ct=(i,t)=>{let e=0,n=Math.floor(i.length/2)-1;for(;e<=n;){let r=Math.floor((e+n)/2),o=r*2;if(t<i[o])n=r-1;else if(t>i[o+1])e=r+1;else return!0}return!1};var Mn=19968,[_r,xr]=Ar(ue);function Ar(i){let t=i[0],e=i[1];for(let n=0;n<i.length;n+=2){let r=i[n],o=i[n+1];if(Mn>=r&&Mn<=o)return[r,o];o-r>e-t&&(t=r,e=o)}return[t,e]}var Nn=i=>i<161||i>1114109?!1:Ct(Sn,i),Ln=i=>i<Tn||i>kn?!1:Ct($n,i);var Wn=i=>i>=_r&&i<=xr?!0:i<In||i>Pn?!1:Ct(ue,i);function br(i){if(!Number.isSafeInteger(i))throw new TypeError(`Expected a code point, got \`${typeof i}\`.`)}function Hn(i,{ambiguousAsWide:t=!1}={}){return br(i),Ln(i)||Wn(i)||t&&Nn(i)?2:1}var Un=st(Vn(),1),yr=new Intl.Segmenter,wr=new RegExp("^\\p{Default_Ignorable_Code_Point}$","u");function ae(i,t={}){if(typeof i!="string"||i.length===0)return 0;let{ambiguousIsNarrow:e=!0,countAnsiEscapeCodes:n=!1}=t;if(n||(i=it(i)),i.length===0)return 0;let r=0,o={ambiguousAsWide:!e};for(let{segment:s}of yr.segment(i)){let l=s.codePointAt(0);if(!(l<=31||l>=127&&l<=159)&&!(l>=8203&&l<=8207||l===65279)&&!(l>=768&&l<=879||l>=6832&&l<=6911||l>=7616&&l<=7679||l>=8400&&l<=8447||l>=65056&&l<=65071)&&!(l>=55296&&l<=57343)&&!(l>=65024&&l<=65039)&&!wr.test(s)){if((0,Un.default)().test(s)){r+=2;continue}r+=Hn(l,o)}}return r}function le({stream:i=process.stdout}={}){return!!(i&&i.isTTY&&process.env.TERM!=="dumb"&&!("CI"in process.env))}import qn from"node:process";function De(){let{env:i}=qn,{TERM:t,TERM_PROGRAM:e}=i;return qn.platform!=="win32"?t!=="linux":!!i.WT_SESSION||!!i.TERMINUS_SUBLIME||i.ConEmuTask==="{cmd::Cmder}"||e==="Terminus-Sublime"||e==="vscode"||t==="xterm-256color"||t==="alacritty"||t==="rxvt-unicode"||t==="rxvt-unicode-256color"||i.TERMINAL_EMULATOR==="JetBrains-JediTerm"}import $ from"node:process";var Or=3,ce=class{#s=0;start(){this.#s++,this.#s===1&&this.#n()}stop(){if(this.#s<=0)throw new Error("`stop` called more times than `start`");this.#s--,this.#s===0&&this.#t()}#n(){$.platform==="win32"||!$.stdin.isTTY||($.stdin.setRawMode(!0),$.stdin.on("data",this.#r),$.stdin.resume())}#t(){$.stdin.isTTY&&($.stdin.off("data",this.#r),$.stdin.pause(),$.stdin.setRawMode(!1))}#r(t){t[0]===Or&&$.emit("SIGINT")}},Br=new ce,he=Br;var vr=st(re(),1),fe=class{#s=0;#n=!1;#t=0;#r=-1;#h=0;#e;#o;#i;#f;#m;#l;#D;#c;#p;#u;#a;color;constructor(t){typeof t=="string"&&(t={text:t}),this.#e={color:"cyan",stream:Et.stderr,discardStdin:!0,hideCursor:!0,...t},this.color=this.#e.color,this.spinner=this.#e.spinner,this.#m=this.#e.interval,this.#i=this.#e.stream,this.#l=typeof this.#e.isEnabled=="boolean"?this.#e.isEnabled:le({stream:this.#i}),this.#D=typeof this.#e.isSilent=="boolean"?this.#e.isSilent:!1,this.text=this.#e.text,this.prefixText=this.#e.prefixText,this.suffixText=this.#e.suffixText,this.indent=this.#e.indent,Et.env.NODE_ENV==="test"&&(this._stream=this.#i,this._isEnabled=this.#l,Object.defineProperty(this,"_linesToClear",{get(){return this.#s},set(e){this.#s=e}}),Object.defineProperty(this,"_frameIndex",{get(){return this.#r}}),Object.defineProperty(this,"_lineCount",{get(){return this.#t}}))}get indent(){return this.#c}set indent(t=0){if(!(t>=0&&Number.isInteger(t)))throw new Error("The `indent` option must be an integer from 0 and up");this.#c=t,this.#d()}get interval(){return this.#m??this.#o.interval??100}get spinner(){return this.#o}set spinner(t){if(this.#r=-1,this.#m=void 0,typeof t=="object"){if(t.frames===void 0)throw new Error("The given spinner must have a `frames` property");this.#o=t}else if(!De())this.#o=rt.default.line;else if(t===void 0)this.#o=rt.default.dots;else if(t!=="default"&&rt.default[t])this.#o=rt.default[t];else throw new Error(`There is no built-in spinner named '${t}'. See https://github.com/sindresorhus/cli-spinners/blob/main/spinners.json for a full list.`)}get text(){return this.#p}set text(t=""){this.#p=t,this.#d()}get prefixText(){return this.#u}set prefixText(t=""){this.#u=t,this.#d()}get suffixText(){return this.#a}set suffixText(t=""){this.#a=t,this.#d()}get isSpinning(){return this.#f!==void 0}#g(t=this.#u,e=" "){return typeof t=="string"&&t!==""?t+e:typeof t=="function"?t()+e:""}#F(t=this.#a,e=" "){return typeof t=="string"&&t!==""?e+t:typeof t=="function"?e+t():""}#d(){let t=this.#i.columns??80,e=this.#g(this.#u,"-"),n=this.#F(this.#a,"-"),r=" ".repeat(this.#c)+e+"--"+this.#p+"--"+n;this.#t=0;for(let o of it(r).split(`
|
|
47
|
+
`))this.#t+=Math.max(1,Math.ceil(ae(o,{countAnsiEscapeCodes:!0})/t))}get isEnabled(){return this.#l&&!this.#D}set isEnabled(t){if(typeof t!="boolean")throw new TypeError("The `isEnabled` option must be a boolean");this.#l=t}get isSilent(){return this.#D}set isSilent(t){if(typeof t!="boolean")throw new TypeError("The `isSilent` option must be a boolean");this.#D=t}frame(){let t=Date.now();(this.#r===-1||t-this.#h>=this.interval)&&(this.#r=++this.#r%this.#o.frames.length,this.#h=t);let{frames:e}=this.#o,n=e[this.#r];this.color&&(n=a[this.color](n));let r=typeof this.#u=="string"&&this.#u!==""?this.#u+" ":"",o=typeof this.text=="string"?" "+this.text:"",s=typeof this.#a=="string"&&this.#a!==""?" "+this.#a:"";return r+n+o+s}clear(){if(!this.#l||!this.#i.isTTY)return this;this.#i.cursorTo(0);for(let t=0;t<this.#s;t++)t>0&&this.#i.moveCursor(0,-1),this.#i.clearLine(1);return(this.#c||this.lastIndent!==this.#c)&&this.#i.cursorTo(this.#c),this.lastIndent=this.#c,this.#s=0,this}render(){return this.#D?this:(this.clear(),this.#i.write(this.frame()),this.#s=this.#t,this)}start(t){return t&&(this.text=t),this.#D?this:this.#l?this.isSpinning?this:(this.#e.hideCursor&&ie.hide(this.#i),this.#e.discardStdin&&Et.stdin.isTTY&&(this.#n=!0,he.start()),this.render(),this.#f=setInterval(this.render.bind(this),this.interval),this):(this.text&&this.#i.write(`- ${this.text}
|
|
48
|
+
`),this)}stop(){return this.#l?(clearInterval(this.#f),this.#f=void 0,this.#r=0,this.clear(),this.#e.hideCursor&&ie.show(this.#i),this.#e.discardStdin&&Et.stdin.isTTY&&this.#n&&(he.stop(),this.#n=!1),this):this}succeed(t){return this.stopAndPersist({symbol:nt.success,text:t})}fail(t){return this.stopAndPersist({symbol:nt.error,text:t})}warn(t){return this.stopAndPersist({symbol:nt.warning,text:t})}info(t){return this.stopAndPersist({symbol:nt.info,text:t})}stopAndPersist(t={}){if(this.#D)return this;let e=t.prefixText??this.#u,n=this.#g(e," "),r=t.symbol??" ",o=t.text??this.text,l=typeof o=="string"?(r?" ":"")+o:"",u=t.suffixText??this.#a,D=this.#F(u," "),h=n+r+l+D+`
|
|
49
|
+
`;return this.stop(),this.#i.write(h),this}};function de(i){return new fe(i)}var S="#006B3F",_="#FCD116",pe="#CE1126",Rr="0.1.7",W=null,I=[{id:"hira",display:"Hira",desc:"The motherland's voice",available:!0},{id:"tera",display:"Tera",desc:"Orchestrator \u2014 routes to best specialist",available:!1},{id:"akili",display:"Akili",desc:"Code intelligence",available:!1},{id:"ilimi",display:"Ilimi",desc:"Knowledge & research",available:!1}];function Sr(i){return i.replace(/\x1b\[[0-9;]*m/g,"").length}var ge=64;function Tr(i){let t=Math.max(0,ge-3-i.length);return a.hex(_).dim("\u256D\u2500 ")+a.white.bold(i)+a.hex(_).dim(" "+"\u2500".repeat(t)+"\u256E")}function kr(i){let t=Math.max(0,ge-2-Sr(i));return a.hex(_).dim("\u2502")+" "+i+" ".repeat(t)+" "+a.hex(_).dim("\u2502")}function $r(){return a.hex(_).dim("\u2570"+"\u2500".repeat(ge)+"\u256F")}var Ir=[["#CE1126","#FCD116","#078930"],["#006B3F","#FFFFFF","#006B3F"],["#000000","#CE1126","#006600"],["#078930","#FCD116","#CE1126"],["#DE3831","#FFB612","#007A4D"],["#CE1126","#FFFFFF","#000000"],["#3A75C4","#000000","#1EB53A"],["#FCDC04","#DE3108","#000000"],["#00853F","#FDEF42","#E31B23"],["#007FFF","#F7D618","#CE1126"],["#FAD201","#19B3EE","#20603D"],["#CC0000","#000000","#FCDD00"]];function Pr(){let i=" ",t=" ";for(let[e,n,r]of Ir)i+=a.bgHex(n).hex(e)("\u2580\u2580\u2580\u2580"),t+=a.bgHex(r).hex(n)("\u2580\u2580\u2580\u2580");return[i,t]}function q(i=28){let t=" ";for(let e=0;e<i;e++)switch(e%4){case 0:t+=a.hex(_)("\u25C6");break;case 1:t+=a.dim("\u2500");break;case 2:t+=a.hex(S)("\u25C7");break;case 3:t+=a.dim("\u2500");break}return t}function me(i){return i>=1e3?`${(i/1e3).toFixed(1)}k`:String(i)}function Mr(){let[i,t]=Pr();console.log(),console.log(i),console.log(t),console.log(),console.log(" "+a.hex(_).bold("RANTERA")+" "+a.dim("\xB7")+" "+a.hex(S).bold("Wakanda")+" "+a.dim(Rr)),console.log(" "+a.dim("African Intelligence. Global Tools.")),console.log(),console.log(q()),console.log()}function Gn(i,t,e,n){Mr();let r=i.replace(/\\/g,"/").split("/").filter(Boolean),o=r.length>=2?r.slice(-2).join("/"):i,s=I.find(u=>u.id===t)??I[0],l=[...n?[a.dim("Account ")+a.hex(_)(n)]:[],a.dim("Model ")+a.white(s.display)+a.dim(" (Rantera AI)"),a.dim("Dir ")+a.white(o),...e?[a.dim("Memory ")+a.hex(S)("\u2713 RANTERA.md")]:[],"",a.dim("Task, ")+a.hex(_)("/help")+a.dim(" for commands, ")+a.hex(_)("/model")+a.dim(" to switch.")];console.log(" "+Tr("Wakanda"));for(let u of l)console.log(" "+kr(u));console.log(" "+$r()),console.log()}function Kn(){let i=n=>" "+a.hex(_)(n.padEnd(20)),t=n=>" "+a.hex(S)("\u25C6")+" "+a.dim(n),e=()=>console.log(" "+q(26));console.log(),console.log(" "+a.white.bold("Slash Commands")),e(),console.log(i("/help")+a.dim("Show this message")),console.log(i("/model [name]")+a.dim("List models or switch (e.g. /model hira)")),console.log(i("/compact")+a.dim("Trim history \u2014 keep last 3 exchanges")),console.log(i("/cost")+a.dim("Show estimated token usage for this session")),console.log(i("/clear")+a.dim("Erase all conversation history")),console.log(i("/history")+a.dim("Show recent messages")),console.log(i("/status")+a.dim("Auth, model, context and config info")),console.log(i("/login")+a.dim("Log in (or switch to a different account)")),console.log(i("/logout")+a.dim("Log out of current account")),console.log(i("/exit")+a.dim("Exit Wakanda")),console.log(),console.log(" "+a.white.bold("Input")),e(),console.log(t("End a line with \\ to continue on the next line (multi-line)")),console.log(t("Press \u2191 / \u2193 to scroll through your input history")),console.log(t("Ctrl+C cancels a running task")),console.log(),console.log(" "+a.white.bold("Tips")),e(),console.log(t("Just type your task \u2014 Hira understands plain language")),console.log(t('Reference files directly: "fix the bug in auth.ts"')),console.log(t('Give feedback: "try again, make it simpler"')),console.log(t("Add RANTERA.md in your project root for persistent context")),console.log()}function Yn(i="hira"){let t=e=>" "+a.hex(_)(e.padEnd(10));console.log(),console.log(" "+a.white.bold("Models")),console.log(" "+q(26));for(let e of I){let n=e.id===i?a.hex(S)("\u25C6 "):" ",r=e.available?a.dim(e.desc):a.dim(e.desc)+" "+a.hex("#334155")("[coming soon]");console.log(n+t(e.display)+r)}console.log(),console.log(a.dim(" Current: ")+a.white(i)),console.log(a.dim(" Switch: ")+a.hex(_)("/model <name>")+a.dim(" e.g. /model hira")),console.log()}function zn(i,t){let n=Math.min(100,Math.round(i/2e5*1e3)/10),r=o=>" "+a.dim(o.padEnd(12));console.log(),console.log(" "+a.white.bold("Token Usage ")+a.dim("(estimated)")),console.log(" "+q(26)),console.log(r("Messages")+a.white(String(t))),console.log(r("Tokens")+a.white(`~${me(i)}`)),console.log(r("Context")+a.white(`${n}%`)+a.dim(` of 200k (~${me(i)} / 200k tokens)`)),n>80&&(console.log(),console.log(a.hex("#FCD116")(" \u26A0 Context is over 80%. Use /compact to trim history."))),console.log()}function Jn(i,t,e,n,r,o){let l=Math.min(100,Math.round(o/2e5*1e3)/10),u=f=>" "+a.dim(f.padEnd(10)),D=n.replace(/\\/g,"/").split("/").filter(Boolean),h=D.length>=2?D.slice(-2).join("/"):n,c=I.find(f=>f.id===r)??I[0];console.log(),console.log(" "+a.white.bold("Status")),console.log(" "+q(26)),console.log(u("Auth")+(i?a.hex(S).bold("\u2713 Logged in")+a.dim(` (${i.slice(0,16)}\u2026)`):a.hex(pe).bold("\u2717 Not logged in")+a.dim(" Run `rantera auth login`"))),console.log(u("API URL")+a.white(t??"https://rantera.ai")),console.log(u("Model")+a.white(c.display)+a.dim(` ${c.desc}`)),console.log(u("Dir")+a.white(h)),console.log(u("History")+a.dim(`${e} message${e!==1?"s":""}`)),console.log(u("Context")+a.white(`~${me(o)} tokens`)+a.dim(` (${l}% of 200k)`)),console.log()}function Xn(i){if(i.length===0){console.log(),console.log(a.dim(" No conversation history yet.")),console.log();return}console.log(),console.log(" "+a.white.bold("History")+" "+a.dim(`${i.length} message${i.length!==1?"s":""}`)),console.log(" "+q(26));for(let t of i){let n=t.role==="user"?" "+a.hex(_).bold("you "):" "+a.hex(S).bold("tera"),r=t.content?.replace(/\n/g," ")??"",o=r.length>80?r.slice(0,80)+a.dim("\u2026"):r;console.log(n+" "+a.dim(o))}console.log()}function Zn(i){W=de({text:a.hex(_)(i),color:"yellow",spinner:"dots"}).start()}function Fe(i=!0,t){W&&(i?W.succeed(t?a.hex(S)(t):void 0):W.fail(t?a.dim(t):void 0),W=null)}function ot(){W&&(W.stop(),W=null)}function Qn(i){process.stdout.write(i)}function ti(i,t){let e=Nr(t);console.log(`
|
|
50
|
+
`+a.hex(_).bold(`\u25C6 ${i}`)+" "+a.dim(e))}function ei(i,t,e){let n=e?a.hex(S)("\u2713"):a.hex(pe)("\u2717"),r=t.length>240?t.slice(0,240).replace(/\n/g," ")+a.dim("\u2026"):t.replace(/\n/g," ");console.log(" "+n+" "+a.dim(r)+`
|
|
51
51
|
`)}function M(i){console.error(`
|
|
52
|
-
`+
|
|
53
|
-
`+
|
|
54
|
-
<html lang="en">
|
|
55
|
-
<head>
|
|
56
|
-
<meta charset="UTF-8" />
|
|
57
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
58
|
-
<title>Rantera CLI \u2014 Authenticated</title>
|
|
59
|
-
<style>
|
|
60
|
-
*{margin:0;padding:0;box-sizing:border-box}
|
|
61
|
-
body{min-height:100vh;background:#0a0f0a;display:flex;align-items:center;justify-content:center;font-family:'Inter','Segoe UI',sans-serif;color:#fff}
|
|
62
|
-
.card{text-align:center;max-width:400px;padding:48px 32px}
|
|
63
|
-
.icon{width:72px;height:72px;border-radius:50%;background:rgba(0,107,63,.15);border:2px solid #006B3F;display:flex;align-items:center;justify-content:center;margin:0 auto 28px}
|
|
64
|
-
h1{font-size:22px;font-weight:700;color:#FCD116;margin-bottom:12px}
|
|
65
|
-
p{font-size:15px;color:#64748b;line-height:1.6;margin-bottom:8px}
|
|
66
|
-
code{color:#FCD116;background:rgba(252,209,22,.1);padding:2px 8px;border-radius:4px;font-size:14px}
|
|
67
|
-
.flags{display:flex;justify-content:center;gap:6px;margin-top:48px}
|
|
68
|
-
.bar{width:24px;height:3px;border-radius:2px;opacity:.6}
|
|
69
|
-
</style>
|
|
70
|
-
</head>
|
|
71
|
-
<body>
|
|
72
|
-
<div class="card">
|
|
73
|
-
<div class="icon">
|
|
74
|
-
<svg width="32" height="32" viewBox="0 0 24 24" fill="none">
|
|
75
|
-
<polyline points="20 6 9 17 4 12" stroke="#006B3F" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
76
|
-
</svg>
|
|
77
|
-
</div>
|
|
78
|
-
<h1>You're in.</h1>
|
|
79
|
-
<p>Rantera CLI is now authenticated.</p>
|
|
80
|
-
<p>You can close this tab and go back to your terminal.</p>
|
|
81
|
-
<p style="margin-top:16px;color:#334155;font-size:13px">Run <code>rantera</code> to start building.</p>
|
|
82
|
-
<div class="flags">
|
|
83
|
-
<div class="bar" style="background:#006B3F"></div>
|
|
84
|
-
<div class="bar" style="background:#FCD116"></div>
|
|
85
|
-
<div class="bar" style="background:#CE1126"></div>
|
|
86
|
-
</div>
|
|
87
|
-
</div>
|
|
88
|
-
</body>
|
|
89
|
-
</html>`,Hr=`<!DOCTYPE html>
|
|
90
|
-
<html lang="en">
|
|
91
|
-
<head>
|
|
92
|
-
<meta charset="UTF-8" />
|
|
93
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
94
|
-
<title>Rantera CLI \u2014 Login Failed</title>
|
|
95
|
-
<style>
|
|
96
|
-
*{margin:0;padding:0;box-sizing:border-box}
|
|
97
|
-
body{min-height:100vh;background:#0a0f0a;display:flex;align-items:center;justify-content:center;font-family:'Inter','Segoe UI',sans-serif;color:#fff}
|
|
98
|
-
.card{text-align:center;max-width:400px;padding:48px 32px}
|
|
99
|
-
.icon{width:72px;height:72px;border-radius:50%;background:rgba(206,17,38,.1);border:2px solid #CE1126;display:flex;align-items:center;justify-content:center;margin:0 auto 28px}
|
|
100
|
-
h1{font-size:20px;font-weight:700;color:#CE1126;margin-bottom:12px}
|
|
101
|
-
p{font-size:14px;color:#64748b;line-height:1.6;margin-bottom:8px}
|
|
102
|
-
code{color:#FCD116;background:rgba(252,209,22,.1);padding:2px 8px;border-radius:4px;font-size:14px}
|
|
103
|
-
.flags{display:flex;justify-content:center;gap:6px;margin-top:48px}
|
|
104
|
-
.bar{width:24px;height:3px;border-radius:2px;opacity:.6}
|
|
105
|
-
</style>
|
|
106
|
-
</head>
|
|
107
|
-
<body>
|
|
108
|
-
<div class="card">
|
|
109
|
-
<div class="icon">
|
|
110
|
-
<svg width="28" height="28" viewBox="0 0 24 24" fill="none">
|
|
111
|
-
<line x1="18" y1="6" x2="6" y2="18" stroke="#CE1126" stroke-width="2.5" stroke-linecap="round"/>
|
|
112
|
-
<line x1="6" y1="6" x2="18" y2="18" stroke="#CE1126" stroke-width="2.5" stroke-linecap="round"/>
|
|
113
|
-
</svg>
|
|
114
|
-
</div>
|
|
115
|
-
<h1>Login failed</h1>
|
|
116
|
-
<p>Something went wrong during authentication.</p>
|
|
117
|
-
<p>Close this tab and run <code>rantera auth login</code> to try again.</p>
|
|
118
|
-
<div class="flags">
|
|
119
|
-
<div class="bar" style="background:#006B3F"></div>
|
|
120
|
-
<div class="bar" style="background:#FCD116"></div>
|
|
121
|
-
<div class="bar" style="background:#CE1126"></div>
|
|
122
|
-
</div>
|
|
123
|
-
</div>
|
|
124
|
-
</body>
|
|
125
|
-
</html>`;function jr(i){process.platform==="win32"?Ce("cmd.exe",["/c","start","",i],{detached:!0,stdio:"ignore"}).unref():process.platform==="darwin"?Ce("open",[i],{detached:!0,stdio:"ignore"}).unref():Ce("xdg-open",[i],{detached:!0,stdio:"ignore"}).unref()}async function _t(i){let t=await new Promise((n,r)=>{let o=Lr((s,a)=>{let D=new URL(s.url??"/","http://localhost:9876").searchParams.get("token");a.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),D?(a.end(Wr),o.close(),n(D)):(a.end(Hr),o.close(),r(new Error("No token received from Rantera")))});o.listen(9876,()=>{let a=`${i}/app/wakanda/cli-callback?callback=${encodeURIComponent("http://localhost:9876")}`;console.log(u.hex("#FCD116")(`
|
|
52
|
+
`+a.hex(pe).bold("\u2717")+" "+a.white.bold("Error:")+" "+i)}function N(i){console.log(" "+a.hex(S).bold("\u2713")+" "+i)}function ni(){console.log(q(28))}function ii(i="hira"){let t=I.find(e=>e.id===i)??I[0];process.stdout.write(`
|
|
53
|
+
`+a.hex(S).bold(`${t.display} \u276F`)+" ")}function Nr(i){let t=[];for(let[e,n]of Object.entries(i)){let r=typeof n=="string"&&n.length>60?n.slice(0,60)+"\u2026":String(n);t.push(`${e}=${r}`)}return t.join(" ")}var ri=50;async function oi(i,t,e){let n=[...t,{role:"user",content:i}],r={model:e.model,system:e.system},o=0,s="";for(;o<ri;){let l=null,u="";for await(let c of Ht(n,r))if(c.type==="text"&&c.text)u+=c.text,e.onText?.(c.text);else if(c.type==="tool_call"&&c.tool)l=c.tool,e.onToolCall?.(c.tool.name,c.tool.args);else if(c.type==="tool_result_inline"){let f=c.result??"";e.onToolResult?.(c.tool_name,f,!0),n.push({role:"assistant",content:""}),n.push({role:"tool_result",tool_name:c.tool_name,content:f})}else if(c.type==="error")return M(c.text??"Unknown error"),s;if(u&&!l){s=u;break}if(!l)break;if(o++,l.name==="ask_user"){let c=String(l.args.question??""),f=e.onAskUser?await e.onAskUser(c):"";e.onToolResult?.(l.name,f,!0),n.push({role:"assistant",content:u||""}),n.push({role:"tool_result",tool_name:"ask_user",content:f});continue}let{output:D,ok:h}=await Dn(l.name,l.args,e.cwd);e.onToolResult?.(l.name,D,h),n.push({role:"assistant",content:u||""}),n.push({role:"tool_result",tool_name:l.name,content:D,rawModelPart:l.rawPart})}if(!s&&o>=ri){n.push({role:"user",content:"You've reached the step limit. Summarize what you found and give your final answer now."});for await(let l of Ht(n,r))l.type==="text"&&l.text&&(s+=l.text,e.onText?.(l.text))}return s}import{spawn as Ce}from"child_process";import{createServer as Lr}from"http";function Wr(i){process.platform==="win32"?Ce("cmd.exe",["/c","start","",i],{detached:!0,stdio:"ignore"}).unref():process.platform==="darwin"?Ce("open",[i],{detached:!0,stdio:"ignore"}).unref():Ce("xdg-open",[i],{detached:!0,stdio:"ignore"}).unref()}async function _t(i){let{token:t,name:e}=await new Promise((r,o)=>{let s=Lr((l,u)=>{let D=new URL(l.url??"/","http://localhost:9876"),h=D.searchParams.get("token"),c=D.searchParams.get("name")??void 0;if(h){let f=new URL(`${i}/app/wakanda/cli-callback`);f.searchParams.set("status","connected"),u.writeHead(302,{Location:f.toString()}),u.end(),s.close(),r({token:h,name:c})}else{let f=new URL(`${i}/app/wakanda/cli-callback`);f.searchParams.set("status","error"),u.writeHead(302,{Location:f.toString()}),u.end(),s.close(),o(new Error("No token received from Rantera"))}});s.listen(9876,()=>{let u=`${i}/app/wakanda/cli-callback?callback=${encodeURIComponent("http://localhost:9876")}`;console.log(a.hex("#FCD116")(`
|
|
126
54
|
Opening Rantera in your browser...
|
|
127
|
-
`)),console.log(
|
|
128
|
-
`),
|
|
55
|
+
`)),console.log(a.dim(" If the browser didn't open, visit:")),console.log(" "+a.hex("#FCD116").underline(u)+`
|
|
56
|
+
`),Wr(u)}),setTimeout(()=>{s.close(),o(new Error("Login timed out after 5 minutes. Try again."))},3e5)}),n=y();n.apiKey=t,n.apiUrl=i,e&&(n.username=e),H(n)}async function Ee(){let i=y();delete i.apiKey,H(i)}import{existsSync as si,readFileSync as ui}from"fs";import{homedir as Hr}from"os";import{join as ai}from"path";function li(i){let t=ai(Hr(),".wakanda","RANTERA.md"),e=ai(i,"RANTERA.md"),n=[];return si(t)&&n.push(ui(t,"utf-8").trim()),si(e)&&e!==t&&n.push(ui(e,"utf-8").trim()),n.length?n.join(`
|
|
129
57
|
|
|
130
58
|
---
|
|
131
59
|
|
|
@@ -145,26 +73,26 @@ ${t}`,ar=Object.getOwnPropertyDescriptor(Function.prototype,"toString"),lr=Objec
|
|
|
145
73
|
|
|
146
74
|
## Important constraints
|
|
147
75
|
<!-- Anything Tera must NOT do or must always do -->
|
|
148
|
-
`;var
|
|
149
|
-
`));let p=xt.createInterface({input:process.stdin,output:process.stdout});await new Promise(d=>{p.question(
|
|
150
|
-
`)}catch(d){M(String(d)),process.exit(1)}}let r=y(),o=[],s=r.model??"hira",
|
|
76
|
+
`;var qr=2e5;function _e(i,t){let e=i.reduce((r,o)=>r+Math.ceil((o.content?.length??0)/4),0),n=t?Math.ceil(t.length/4):0;return e+n}var G=new Ne;G.name("rantera").description("Rantera CLI \u2014 African-first AI platform for developers").version("0.1.4");var xe=G.command("auth").description("Manage Rantera authentication");xe.command("login").description("Log in to your Rantera account").option("--url <url>","API URL override","https://rantera.ai").action(async i=>{try{await _t(i.url),N("Logged in to Rantera. Run `rantera` to start building.")}catch(t){M(String(t)),process.exit(1)}});xe.command("logout").description("Log out and remove stored credentials").action(()=>{Ee(),console.log(a.dim(" Logged out."))});xe.command("status").description("Show current auth status").action(()=>{let i=j();i?N(`Authenticated ${a.dim(`(${i.slice(0,12)}\u2026)`)}`):console.log(a.hex("#CE1126")(" \u2717 Not authenticated."),a.dim("Run `rantera auth login`."))});var Ae=G.command("config").description("Manage CLI configuration");Ae.command("set-key <key>").description("Set a Rantera API key manually (overrides login token)").action(i=>{i.startsWith("sk-rnt-")||(M("Invalid key \u2014 Rantera API keys start with sk-rnt-"),process.exit(1));let t=y();t.apiKey=i,H(t),N(`API key saved. ${a.dim(`(${i.slice(0,16)}\u2026)`)}`)});Ae.command("set-url <url>").description("Set the Rantera API URL (default: https://rantera.ai)").action(i=>{let t=y();t.apiUrl=i,H(t),N(`API URL set to ${a.dim(i)}`)});Ae.command("show").description("Show current configuration").action(()=>{let i=y(),t=process.env.WAKANDA_API_KEY??i.apiKey;console.log(a.dim(" API URL:"),i.apiUrl),console.log(a.dim(" API key:"),t?`${t.slice(0,16)}\u2026 ${a.dim("(set)")}`:a.yellow("not set \u2014 run `rantera auth login`")),console.log(a.dim(" Model: "),i.model??"tera"),process.env.WAKANDA_API_KEY&&console.log(a.dim(" \u2191 from WAKANDA_API_KEY env var"))});G.command("init").description("Create a RANTERA.md project memory file in the current directory").option("-f, --force","Overwrite if RANTERA.md already exists").action(i=>{let t=Ur(process.cwd(),"RANTERA.md");jr(t)&&!i.force&&(M("RANTERA.md already exists. Use --force to overwrite."),process.exit(1)),Vr(t,Di,"utf-8"),N("Created RANTERA.md"),console.log(a.dim(" Edit it to give Wakanda persistent context about this project.")),console.log(a.dim(" It loads automatically when you run `rantera` here.\n"))});G.command("wakanda [prompt]").description("Open the Wakanda AI workspace (default command)").option("-d, --dir <path>","Working directory for file and shell tools",process.cwd()).option("-p, --print","Non-interactive: print output to stdout, no banner (for scripts/CI)").action(async(i,t)=>{await hi(i,t.dir,t.print??!1)});G.argument("[prompt]","One-shot task \u2014 runs and exits without opening the REPL").option("-d, --dir <path>","Working directory for file and shell tools",process.cwd()).option("-p, --print","Non-interactive: print output to stdout, no banner (for scripts/CI)").action(async(i,t)=>{await hi(i,t.dir,t.print??!1)});async function hi(i,t,e){let n=j();if(!n){e&&(process.stderr.write("Error: Not authenticated. Run `rantera auth login`.\n"),process.exit(1));let f=y();console.log(),console.log(a.hex("#FCD116").bold(" You're not logged in to Rantera.")),console.log(a.dim(` Log in to continue. We'll open your browser now.
|
|
77
|
+
`));let p=xt.createInterface({input:process.stdin,output:process.stdout});await new Promise(d=>{p.question(a.dim(" Press Enter to open the browser, or Ctrl+C to cancel\u2026 "),()=>{p.close(),d()})});try{await _t(f.apiUrl??"https://rantera.ai"),n=j(),N(`Logged in. Starting Wakanda...
|
|
78
|
+
`)}catch(d){M(String(d)),process.exit(1)}}let r=y(),o=[],s=r.model??"hira",l=li(t);if(e||Gn(t,s,l!==null,r.username),i){let f=await ci(i,o,t,s,l,e);e&&process.stdout.write(f+`
|
|
151
79
|
`);return}e&&(process.stderr.write(`Error: --print requires a prompt argument. Try: rantera -p "your task"
|
|
152
|
-
`),process.exit(1));let
|
|
80
|
+
`),process.exit(1));let u=xt.createInterface({input:process.stdin,output:process.stdout,terminal:!0,historySize:500});u.on("close",()=>{console.log(a.dim(`
|
|
153
81
|
Closing Wakanda. Keep building.
|
|
154
|
-
`)),process.exit(0)});let D="",h=!1,c=()=>{let f=h?" "+
|
|
82
|
+
`)),process.exit(0)});let D="",h=!1,c=()=>{let f=h?" "+a.dim("... \u203A "):" "+a.hex("#FCD116").bold("you \u203A ");u.question(f,async p=>{if(p.endsWith("\\")){D+=(D?`
|
|
155
83
|
`:"")+p.slice(0,-1),h=!0,c();return}let d=D+(D?`
|
|
156
|
-
`:"")+p;D="",h=!1;let m=d.trim();if(!m){c();return}if(m==="/help"){Kn(),c();return}if(m==="/clear"){o.length=0,console.log(
|
|
84
|
+
`:"")+p;D="",h=!1;let m=d.trim();if(!m){c();return}if(m==="/help"){Kn(),c();return}if(m==="/clear"){o.length=0,console.log(a.dim(`
|
|
157
85
|
Conversation cleared.
|
|
158
|
-
`)),c();return}if(m==="/history"){let E=o.filter(
|
|
159
|
-
Compacted \u2014 kept last ${A} of ${
|
|
160
|
-
`))}else console.log(
|
|
86
|
+
`)),c();return}if(m==="/history"){let E=o.filter(x=>x.role==="user"||x.role==="assistant").map(x=>({role:x.role,content:x.content}));Xn(E),c();return}if(m==="/status"){let E=_e(o,l);Jn(j(),r.apiUrl,o.length,t,s,E),c();return}if(m==="/compact"){let x=o.length;if(o.length>6){o.splice(0,o.length-6);let A=o.length,b=_e(o,l),L=Math.round(b/qr*100);console.log(a.dim(`
|
|
87
|
+
Compacted \u2014 kept last ${A} of ${x} messages.`)+" "+a.dim(`(~${Gr(b)} tokens, ${L}% of 200k)
|
|
88
|
+
`))}else console.log(a.dim(`
|
|
161
89
|
Nothing to compact yet.
|
|
162
|
-
`));c();return}if(m==="/cost"){let E=_e(o,
|
|
90
|
+
`));c();return}if(m==="/cost"){let E=_e(o,l),x=o.filter(A=>A.role==="user"||A.role==="assistant").length;zn(E,x),c();return}if(m==="/model"||m.startsWith("/model ")){let E=m.split(/\s+/);if(E.length===1)Yn(s);else{let x=E[1].toLowerCase(),A=I.find(b=>b.id===x);if(!A)M(`Unknown model "${x}". Available: ${I.filter(b=>b.available).map(b=>b.id).join(", ")}`);else if(!A.available)console.log(a.dim(`
|
|
163
91
|
${A.display} is coming soon \u2014 stay tuned.
|
|
164
|
-
`));else{s=A.id;let b=y();b.model=s,H(b),N(`Switched to ${A.display} ${
|
|
92
|
+
`));else{s=A.id;let b=y();b.model=s,H(b),N(`Switched to ${A.display} ${a.dim(A.desc)}`),console.log()}}c();return}if(m==="/logout"){await Ee(),console.log(a.dim(`
|
|
165
93
|
Logged out. Type /login to authenticate with a different account.
|
|
166
94
|
`)),c();return}if(m==="/login"){console.log();try{await _t(r.apiUrl),N(`Logged in.
|
|
167
|
-
`)}catch(E){M(String(E))}c();return}if(m==="/exit"||m==="/quit"){
|
|
95
|
+
`)}catch(E){M(String(E))}c();return}if(m==="/exit"||m==="/quit"){u.close();return}if(m.startsWith("/")){console.log(a.dim(`
|
|
168
96
|
Unknown command: ${m} (type /help)
|
|
169
|
-
`)),c();return}await ci(m,o,t,s,
|
|
170
|
-
`),ni()),t.push({role:"user",content:i}),
|
|
97
|
+
`)),c();return}await ci(m,o,t,s,l,!1,u),c()})};c()}function Gr(i){return i>=1e3?`${(i/1e3).toFixed(1)}k`:String(i)}async function ci(i,t,e,n,r,o,s){o||(console.log(),ii(n));let l=!0,u=await oi(i,t,{cwd:e,model:n,system:r??void 0,onText(D){l&&(ot(),l=!1),Qn(D)},onToolCall(D,h){o||(ot(),l=!1,ti(D,h),Zn(`${D}\u2026`))},onToolResult(D,h,c){o||(Fe(c),ei(D,h,c))},async onAskUser(D){if(o)return"";ot(),l=!1,console.log(),console.log(a.hex("#FCD116")(" Wakanda asks:"),D);let h=s??xt.createInterface({input:process.stdin,output:process.stdout}),c=await new Promise(f=>{h.question(" "+a.dim("your answer \u203A "),f)});return s||h.close(),console.log(),c}});return o||(!u&&l?Fe(!1,"No response"):l&&ot(),console.log(`
|
|
98
|
+
`),ni()),t.push({role:"user",content:i}),u&&t.push({role:"assistant",content:u}),u}G.parse(process.argv);
|