@soloseng/ganache
Version:
A library and cli to create a local blockchain for fast Ethereum development.
3 lines • 23.6 kB
JavaScript
!function webpackUniversalModuleDefinition(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@trufflesuite/bigint-buffer"),require("keccak"),require("emittery"),require("secp256k1"),require("abstract-leveldown"),require("leveldown"),require("abstract-level"),function webpackLoadOptionalExternalModule(){try{return require("bufferutil")}catch(e){}}(),function webpackLoadOptionalExternalModule(){try{return require("utf-8-validate")}catch(e){}}(),require("@trufflesuite/uws-js-unofficial")):"function"==typeof define&&define.amd?define(["@trufflesuite/bigint-buffer","keccak","emittery","secp256k1","abstract-leveldown","leveldown","abstract-level","bufferutil","utf-8-validate","@trufflesuite/uws-js-unofficial"],t):"object"==typeof exports?exports.Ganache=t(require("@trufflesuite/bigint-buffer"),require("keccak"),require("emittery"),require("secp256k1"),require("abstract-leveldown"),require("leveldown"),require("abstract-level"),function webpackLoadOptionalExternalModule(){try{return require("bufferutil")}catch(e){}}(),function webpackLoadOptionalExternalModule(){try{return require("utf-8-validate")}catch(e){}}(),require("@trufflesuite/uws-js-unofficial")):e.Ganache=t(e["@trufflesuite/bigint-buffer"],e.keccak,e.emittery,e.secp256k1,e["abstract-leveldown"],e.leveldown,e["abstract-level"],e.bufferutil,e["utf-8-validate"],e["@trufflesuite/uws-js-unofficial"])}(global,(function(e,t,r,o,n,a,s,i,c,u){return(()=>{var l,p,d,f,h,_,m,b,w,g={1047:e=>{function webpackEmptyContext(e){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}webpackEmptyContext.keys=()=>[],webpackEmptyContext.resolve=webpackEmptyContext,webpackEmptyContext.id=1047,e.exports=webpackEmptyContext},1045:e=>{function webpackEmptyContext(e){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}webpackEmptyContext.keys=()=>[],webpackEmptyContext.resolve=webpackEmptyContext,webpackEmptyContext.id=1045,e.exports=webpackEmptyContext},658:e=>{function webpackEmptyContext(e){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}webpackEmptyContext.keys=()=>[],webpackEmptyContext.resolve=webpackEmptyContext,webpackEmptyContext.id=658,e.exports=webpackEmptyContext},1046:e=>{function webpackEmptyContext(e){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}webpackEmptyContext.keys=()=>[],webpackEmptyContext.resolve=webpackEmptyContext,webpackEmptyContext.id=1046,e.exports=webpackEmptyContext},371:function(e,t,r){"use strict";var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.expandArgs=void 0;const n=r(81),a=o(r(565)),s=r(62),i=o(r(74)),c=r(36),u=o(r(576)),l=o(r(580)),p=r(127);u.default.setOptions({renderer:new l.default({codespan:i.default.hex(n.TruffleColors.porsche),unescape:!1})});const d=Math.min(120,a.default.terminalWidth()),f="Need more help? Reach out to the Truffle community at",h="https://trfl.io/support",_="or check out our docs at",m="https://ganache.dev";const highlight=e=>function unescapeEntities(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/'/g,"'").replace(/\*\#COLON\|\*/g,":")}(u.default.parseInline(e)),center=(e,t)=>" ".repeat(Math.max(0,Math.floor((d-t)/2)))+e,addAliases=(e,t,r)=>{const o={hidden:!0,alias:r};return t.reduce(((e,t)=>e.option(t,o)),e)};function processOption(e,t,r,o,n,a,s){if(!0!==n.disableInCLI){const u=[],l=[];let p=highlight(n.cliDescription||"");n.cliAliases&&(n.cliAliases.forEach((e=>{1===e.length?u.push(e):l.push(e)})),p=i.default`${p}${c.EOL}{dim deprecated aliases: ${l.map((e=>`--${e}`)).join(", ")}}`);const generateDefaultDescription=()=>e[o]=n.default?n.default(e,s).toString():void 0,d="defaultDescription"in n?n.defaultDescription:generateDefaultDescription(),{cliType:f}=n,h=f&&f.startsWith("array:"),_=h?f.slice(6):f,m={group:r,description:p,alias:u,defaultDescription:d,array:h,type:_,choices:n.cliChoices,coerce:n.cliCoerce,implies:n.implies},b=`${t}.${o}`;a=(a=addAliases(a,l,b)).option(b,m)}}function applyDefaults(e,t,r){for(const o in e){const n=`${o[0].toUpperCase()}${o.slice(1)}:`,a=e[o],s={};for(const e in a){processOption(s,o,n,e,a[e],t,r)}}}function expandArgs(e){const t={};for(const r in e)if(-1===r.indexOf("-")){const[o,n]=r.split(/\.(.+)/);n&&(t[o]||(t[o]={}),t[o][n]=e[r])}return t}t.default=function default_1(e,t,r=process.argv.slice(2)){const o=i.default`{hex("${n.TruffleColors.porsche}").bold ${center(e,e.length)}}`;let u;for(u in a.default.parserConfiguration({"dot-notation":!1}).strict().usage(o).epilogue(o+c.EOL+c.EOL+center(i.default`{hex("${n.TruffleColors.porsche}").bold ${f}} {hex("${n.TruffleColors.turquoise}") ${h}}`,77)+c.EOL+center(i.default`{hex("${n.TruffleColors.porsche}").bold ${_}} {hex("${n.TruffleColors.turquoise}") ${m}}`,44)),s.DefaultOptionsByName){const e=s.DefaultOptionsByName[u];let r,o;switch(u){case s.FilecoinFlavorName:r=u,o=7777;break;case s.DefaultFlavor:r=["$0",u],o=8545;break;default:r=u,o=8545}a.default.command(r,i.default`Use the {bold ${u}} flavor of Ganache`,(r=>{applyDefaults(e,r,u),applyDefaults(p._DefaultServerOptions,r,u),r=r.option("server.host",{group:"Server:",description:i.default`Hostname to listen on.${c.EOL}{dim deprecated aliases: --host, --hostname}${c.EOL}`,alias:["h","host","hostname"],type:"string",default:t?"0.0.0.0":"127.0.0.1"}).option("server.port",{group:"Server:",description:i.default`Port to listen on.${c.EOL}{dim deprecated aliases: --port}${c.EOL}`,alias:["p","port"],type:"number",default:o}).check((e=>{const{"server.port":t,"server.host":r}=e;if(t<0||t>65535)throw new Error(`Invalid port number '${t}'`);if(""===r.trim())throw new Error("Cannot leave host blank; please provide a host");return!0})).option("detach",{description:highlight("Run Ganache in detached (daemon) mode."+c.EOL+"See `ganache instances --help` for information on managing detached instances."),type:"boolean",alias:["D","\u{1f608}"]})}),(e=>{e.action=e.detach?"start-detached":"start"}))}a.default.command("instances",highlight("Manage instances of Ganache running in detached mode."+c.EOL+"(Ganache can be run in detached mode by providing the `--detach` flag)"),(e=>{e.command("list","List instances running in detached mode",(e=>{}),(e=>{e.action="list"})).command("stop <name>","Stop the instance specified by <name>",(e=>{e.positional("name",{type:"string"})}),(e=>{e.action="stop"})).version(!1)})).showHelpOnFail(!1,"Specify -? or --help for available options").alias("help","?").wrap(d).version(e);const l=a.default.parse(r);let b;if("stop"===l.action)b={action:"stop",name:l.name};else if("list"===l.action)b={action:"list"};else{if("start"!==l.action&&"start-detached"!==l.action)throw new Error(`Unknown action: ${l.action}`);{const e=l.action;b={flavor:l._.length>0?l._[0]:s.DefaultFlavor,action:e,...expandArgs(l)}}}return b},t.expandArgs=expandArgs},375:function(e,t,r){"use strict";var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.formatUptime=t.getDetachedInstances=t.startDetachedInstance=t.stopDetachedInstance=t.removeDetachedInstanceFile=t.notifyDetachedInstanceReady=void 0;const n=r(272),a=o(r(1052)),s=o(r(254)),i=o(r(636)),c=r(17),{readFile:u,mkdir:l,readdir:p,rmdir:d,writeFile:f,unlink:h}=c.promises,_=o(r(15)),m="utf8",b="An error occurred spawning a detached instance of Ganache:",w=(0,s.default)("Ganache/instances",{suffix:""}).data;function getInstanceFilePath(e){return _.default.join(w,`${e}.json`)}async function removeDetachedInstanceFile(e){const t=getInstanceFilePath(e);try{return await h(t),!0}catch{}return!1}async function getDetachedInstanceByName(e){const t=getInstanceFilePath(e),r=await u(t,m);return JSON.parse(r)}t.notifyDetachedInstanceReady=function notifyDetachedInstanceReady(e){process.send(e)},t.removeDetachedInstanceFile=removeDetachedInstanceFile,t.stopDetachedInstance=async function stopDetachedInstance(e){try{const t=await getDetachedInstanceByName(e);process.kill(t.pid,"SIGTERM")}catch(e){return!1}finally{await removeDetachedInstanceFile(e)}return!0},t.startDetachedInstance=async function startDetachedInstance(e,t,r){const[o,s,...i]=e,c=[...i,"--no-detach"],u=(0,n.fork)(s,c,{stdio:["ignore","ignore","pipe","ipc"],detached:!0});u.stderr.pipe(process.stderr);const p=await new Promise(((e,t)=>{u.on("message",(t=>{e(t)})),u.on("error",(e=>{console.error(`${b}\n${e.message}`),process.exitCode=1,t(e)})),u.on("exit",(e=>{process.exitCode=0===e?1:e,t(new Error(`${b}\nThe detached instance exited with error code: ${e}`))}))}));u.stderr.destroy(),u.unref(),u.disconnect();const d=t.flavor,{host:h}=t.server,g="win32"===process.platform?_.default.basename(process.execPath):[process.execPath,...process.execArgv,s,...c].join(" "),y=u.pid,k={startTime:Date.now(),pid:y,name:(0,a.default)(),host:h,port:p,flavor:d,cmd:g,version:r};for(;;){const e=getInstanceFilePath(k.name);try{await f(e,JSON.stringify(k),{flag:"wx",encoding:m});break}catch(e){switch(e.code){case"EEXIST":k.name=(0,a.default)();break;case"ENOENT":await l(w,{recursive:!0});break;default:throw e}}}return k},t.getDetachedInstances=async function getDetachedInstances(){let e,t,r=!1;try{[e,t]=await Promise.all([p(w,{withFileTypes:!0}),(0,i.default)()])}catch(e){if("ENOENT"!==e.code)throw e;return[]}const o=[],n=e.map((async e=>{const n=e.name,{name:a,ext:s}=_.default.parse(n);let i;if(".json"!==s)i=`"${n}" does not have a .json extension`;else{let e;try{e=await getDetachedInstanceByName(a)}catch(e){i=e.message}if(e){const r=t.find((t=>t.pid===e.pid));r?r.cmd!==e.cmd?i=`Process with PID ${e.pid} does not match ${a}`:o.push(e):i=`Process with PID ${e.pid} could not be found`}}if(void 0!==i){r=!0;const t=_.default.join(w,n);let o;if(e.isDirectory()){const e=`"${n}" is a directory`;try{await d(t,{recursive:!0}),i=e}catch{o=`"${n}" could not be removed`}}else try{await h(t)}catch{o=`"${n}" could not be removed`}console.warn(`Failed to load instance data. ${i}. ${o||`"${n}" has been removed`}.`)}}));return await Promise.all(n),r&&console.warn("If this keeps happening, please open an issue at https://github.com/trufflesuite/ganache/issues/new\n"),o},t.formatUptime=function formatUptime(e){if(e>-1e3&&e<1e3)return"Just started";const t=e<0;e=Math.abs(e);const r={d:Math.floor(e/864e5),h:Math.floor(e/36e5)%24,m:Math.floor(e/6e4)%60,s:Math.floor(e/1e3)%60},o=Object.entries(r).filter((e=>0!==e[1])).map((([e,t])=>`${t}${e}`)).join(" ");return t?`In ${o}`:o}},374:function(e,t,r){"use strict";var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=o(r(74)),a=r(81),s=r(1),i=r(0);function color(e){return n.default`{hex("${a.TruffleColors.porsche}") ${e}}`}t.default=function default_1(e,t){const r=e.getOptions(),o=e.getInitialAccounts(),c=Object.keys(o),u=[];if(u.push(""),u.push("Available Accounts"),u.push("=================="),c.length>0?(c.forEach((function(e,t){const r=o[e].balance,n=r/s.WEI,a=r%s.WEI===0n?"":"~";let c=`(${t}) ${(0,i.toChecksumAddress)(e)} (${a}${n} ETH)`;o[e].unlocked||(c+=" \u{1f512}"),u.push(c)})),u.push(""),u.push("Private Keys"),u.push("=================="),c.forEach((function(e,t){u.push(`(${t}) ${o[e].secretKey}`)})),null!=r.wallet.accountKeysPath&&(u.push(""),u.push(`Accounts and keys saved to ${r.wallet.accountKeysPath}`))):u.push("(no accounts unlocked)"),null==r.wallet.accounts&&(u.push(""),u.push("HD Wallet"),u.push("=================="),u.push(`Mnemonic: ${color(r.wallet.mnemonic)}`),u.push(`Base HD Path: ${color(r.wallet.hdPath.join("/")+"/{account_index}")}`)),r.miner.defaultGasPrice&&(u.push(""),u.push("Default Gas Price"),u.push("=================="),u.push(color(r.miner.defaultGasPrice.toBigInt().toString()))),r.miner.blockGasLimit&&(u.push(""),u.push("BlockGas Limit"),u.push("=================="),u.push(color(r.miner.blockGasLimit.toBigInt().toString()))),r.miner.callGasLimit&&(u.push(""),u.push("Call Gas Limit"),u.push("=================="),u.push(color(r.miner.callGasLimit.toBigInt().toString()))),r.fork.network||r.fork.url){let e;u.push(""),u.push("Forked Chain"),u.push("=================="),e=r.fork.network?`Ethereum ${function capitalizeFirstLetter(e){return e[0].toUpperCase()+e.slice(1)}(r.fork.network.replace("goerli","g\xf6rli"))}, via ${n.default`{hex("${a.TruffleColors.infura}") 丕Infura}`}`:r.fork.url.toString(),u.push(`Location: ${color(e)}`),u.push(`Block: ${color(r.fork.blockNumber.toString())}`),u.push(`Network ID: ${color(r.chain.networkId.toString())}`),u.push(`Time: ${color(r.chain.time.toString())}`),0!==r.fork.requestsPerSecond&&u.push(`Requests/Second: ${color(r.fork.requestsPerSecond.toString())}`)}u.push(""),u.push("Chain Id"),u.push("=================="),u.push(color(r.chain.chainId.toString())),u.push(""),u.push("RPC Listening on "+t.host+":"+t.port),console.log(u.join("\n"))}},1051:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=async function default_1(e,t){const r=e.getOptions(),o=await e.getInitialAccounts();console.log(""),console.log("Available Accounts"),console.log("==================");const n=Object.keys(o),a=1000000000000000000n;n.forEach((function(e,t){const r=o[e].balance;let n=`(${t}) ${e} (${r%a===0n?"":"~"}${r/a} FIL)`;o[e].unlocked||(n+=" \u{1f512}"),console.log(n)})),console.log(""),console.log("Private Keys"),console.log("=================="),n.forEach((function(e,t){console.log(`(${t}) ${o[e].secretKey}`)})),console.log(""),console.log(`Lotus RPC listening on ${t.host}:${t.port}`),console.log(`IPFS RPC listening on ${r.chain.ipfsHost}:${r.chain.ipfsPort}`)}},1052:(e,t)=>{"use strict";function pick(e){return e[Math.floor(Math.random()*e.length)]}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function createInstanceName(){return`${pick(r)}_${pick(o)}_${pick(n)}`};const r=["baked","candied","deepfried","frozen","hot","molten","pureed","salted","spiced","sticky"],o=["almond","apple","banana","blackforest","caramel","cherry","chocolate","cinnamon","coconut","coffee","cream","custard","fruit","ginger","gingerbread","jelly","lemon","lime","milk","nut","orange","peanut","plum","poppyseed","rhubarb","strawberry","sugar","tiramisu"],n=["bar","biscuit","brownie","cake","cheesecake","cookie","crumble","cupcake","doughnut","drizzle","dumpling","friand","ganache","loaf","macaroon","mousse","muffin","pastry","pie","pudding","sponge","strudel","tart","torte","trifle","truffle","waffle"]},293:function(e,t,r){"use strict";var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return n(t,e),t},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=a(r(127)),c=s(r(371)),u=r(62),l=s(r(374)),p=s(r(1051)),d=r(375),f=r(81),h=s(r(263)),_=s(r(74)),m=_.default.hex(f.TruffleColors.porsche),logAndForceExit=(e,t=0)=>{process.stdout._handle&&process.stdout._handle.setBlocking(!0);try{e.forEach((e=>console.log(e)))}catch(e){console.log(e)}process.exit(t)},b="7.8.0-beta.4",w=`ganache v${b} (@soloseng/ganache-cli: 0.9.0-beta.4, @soloseng/ganache-core: 0.9.0-beta.4)`,g="DOCKER"in process.env&&"true"===process.env.DOCKER.toLowerCase(),y=(0,c.default)(w,g);if("start"===y.action){const e=y.flavor,t=y.server;let o;console.log(w);try{o=i.default.server(y)}catch(e){console.error(e.message),process.exit(1)}let n=!1;process.on("uncaughtException",(function(e){logAndForceExit(n?[e]:[e.stack],1)}));let a=!1;const handleSignal=async e=>{console.log(`\nReceived shutdown signal: ${e}`),closeHandler()},closeHandler=async()=>{try{switch(o.status){case i.ServerStatus.opening:return a=!0,void console.log("Server is currently starting; waiting\u2026");case i.ServerStatus.open:console.log("Shutting down\u2026"),await o.close(),console.log("Server has been shut down")}process.exitCode=0}catch(e){logAndForceExit(["\nReceived an error while attempting to shut down the server: ",e.stack||e],1)}};if("win32"===process.platform){const e=r(1054).createInterface({input:process.stdin,output:process.stdout}).on("SIGINT",(()=>{e.close(),handleSignal("SIGINT")}))}process.on("SIGINT",handleSignal),process.on("SIGTERM",handleSignal),process.on("SIGHUP",handleSignal),console.log("Starting RPC server"),o.listen(t.port,t.host,(async t=>{if(t)return console.error(t),void(process.exitCode=1);if(a)return void closeHandler();n=!0;const{address:r,port:s}=o.address();switch(e){case u.FilecoinFlavorName:await(0,p.default)(o.provider,{host:r,port:s});break;case u.EthereumFlavorName:default:(0,l.default)(o.provider,{host:r,port:s})}void 0!==process.send&&(0,d.notifyDetachedInstanceReady)(s)}))}else if("stop"===y.action){const e=y.name;(0,d.stopDetachedInstance)(e).then((e=>{e?console.log("Instance stopped"):console.error("Instance not found")}))}else"start-detached"===y.action?(0,d.startDetachedInstance)(process.argv,y,b).then((e=>{const t=m(e.name);console.log(t)})).catch((e=>{})):"list"===y.action&&(0,d.getDetachedInstances)().then((e=>{if(0===e.length)console.log(`No detached instances found - try ${m("ganache --detach")} to start a detached instance`);else{const t=Date.now(),r=new h.default({head:[_.default.bold("PID"),_.default.bold("Name"),_.default.bold("Flavor"),_.default.bold("Version"),_.default.bold("Host"),_.default.bold("Uptime")],colAligns:["right","left","left","left","left","right"],style:{head:["white","white","white","white","white","white"]}});e.sort(((e,t)=>t.startTime-e.startTime));for(let o=0;o<e.length;o++){const n=e[o],a=t-n.startTime;r.push([n.pid.toString(),m(n.name),n.flavor,n.version,`${n.host}:${n.port.toString()}`,(0,d.formatUptime)(a)])}console.log(r.toString())}}))},1044:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),r(293)},26:e=>{"use strict";e.exports=require("assert")},22:e=>{"use strict";e.exports=require("buffer")},272:e=>{"use strict";e.exports=require("child_process")},14:e=>{"use strict";e.exports=require("crypto")},28:e=>{"use strict";e.exports=require("events")},17:e=>{"use strict";e.exports=require("fs")},107:e=>{"use strict";e.exports=require("http")},108:e=>{"use strict";e.exports=require("https")},164:e=>{"use strict";e.exports=require("net")},495:e=>{"use strict";e.exports=require("node:crypto")},36:e=>{"use strict";e.exports=require("os")},15:e=>{"use strict";e.exports=require("path")},1053:e=>{"use strict";e.exports=require("process")},1054:e=>{"use strict";e.exports=require("readline")},34:e=>{"use strict";e.exports=require("stream")},165:e=>{"use strict";e.exports=require("tls")},556:e=>{"use strict";e.exports=require("tty")},71:e=>{"use strict";e.exports=require("url")},11:e=>{"use strict";e.exports=require("util")},342:e=>{"use strict";e.exports=require("worker_threads")},244:e=>{"use strict";e.exports=require("zlib")},95:t=>{"use strict";t.exports=e},563:e=>{"use strict";e.exports=u},491:e=>{"use strict";e.exports=s},64:e=>{"use strict";e.exports=n},546:e=>{"use strict";if(void 0===i){var t=new Error("Cannot find module 'bufferutil'");throw t.code="MODULE_NOT_FOUND",t}e.exports=i},25:e=>{"use strict";e.exports=r},132:e=>{"use strict";e.exports=t},230:e=>{"use strict";e.exports=a},354:e=>{"use strict";e.exports=o},548:e=>{"use strict";if(void 0===c){var t=new Error("Cannot find module 'utf-8-validate'");throw t.code="MODULE_NOT_FOUND",t}e.exports=c}},y={};function __webpack_require__(e){var t=y[e];if(void 0!==t)return t.exports;var r=y[e]={id:e,loaded:!1,exports:{}};return g[e].call(r.exports,r,r.exports,__webpack_require__),r.loaded=!0,r.exports}return __webpack_require__.m=g,__webpack_require__.c=y,__webpack_require__.x=()=>{var e=__webpack_require__.O(void 0,[0,4,1],(()=>__webpack_require__(__webpack_require__.s=1044)));return e=__webpack_require__.O(e)},__webpack_require__.amdD=function(){throw new Error("define cannot be used indirect")},__webpack_require__.amdO={},l="function"==typeof Symbol?Symbol("webpack then"):"__webpack_then__",p="function"==typeof Symbol?Symbol("webpack exports"):"__webpack_exports__",d=e=>{e&&(e.forEach((e=>e.r--)),e.forEach((e=>e.r--?e.r++:e())))},f=e=>!--e.r&&e(),h=(e,t)=>e?e.push(t):f(t),__webpack_require__.a=(e,t,r)=>{var o,n,a,s=r&&[],i=e.exports,c=!0,u=!1,whenAll=(e,t,r)=>{u||(u=!0,t.r+=e.length,e.map(((e,o)=>e[l](t,r))),u=!1)},_=new Promise(((e,t)=>{a=t,n=()=>(e(i),d(s),s=0)}));_[p]=i,_[l]=(e,t)=>{if(c)return f(e);o&&whenAll(o,e,t),h(s,e),_.catch(t)},e.exports=_,t((e=>{if(!e)return n();var t,r;o=(e=>e.map((e=>{if(null!==e&&"object"==typeof e){if(e[l])return e;if(e.then){var t=[];e.then((e=>{r[p]=e,d(t),t=0}));var r={};return r[l]=(r,o)=>(h(t,r),e.catch(o)),r}}var o={};return o[l]=e=>f(e),o[p]=e,o})))(e);var a=new Promise(((e,n)=>{(t=()=>e(r=o.map((e=>e[p])))).r=0,whenAll(o,t,n)}));return t.r?a:r})).then(n,a),c=!1},_=[],__webpack_require__.O=(e,t,r,o)=>{if(!t){var n=1/0;for(c=0;c<_.length;c++){for(var[t,r,o]=_[c],a=!0,s=0;s<t.length;s++)(!1&o||n>=o)&&Object.keys(__webpack_require__.O).every((e=>__webpack_require__.O[e](t[s])))?t.splice(s--,1):(a=!1,o<n&&(n=o));if(a){_.splice(c--,1);var i=r();void 0!==i&&(e=i)}}return e}o=o||0;for(var c=_.length;c>0&&_[c-1][2]>o;c--)_[c]=_[c-1];_[c]=[t,r,o]},b=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,__webpack_require__.t=function(e,t){if(1&t&&(e=this(e)),8&t)return e;if("object"==typeof e&&e){if(4&t&&e.__esModule)return e;if(16&t&&"function"==typeof e.then)return e}var r=Object.create(null);__webpack_require__.r(r);var o={};m=m||[null,b({}),b([]),b(b)];for(var n=2&t&&e;"object"==typeof n&&!~m.indexOf(n);n=b(n))Object.getOwnPropertyNames(n).forEach((t=>o[t]=()=>e[t]));return o.default=()=>e,__webpack_require__.d(r,o),r},__webpack_require__.d=(e,t)=>{for(var r in t)__webpack_require__.o(t,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},__webpack_require__.f={},__webpack_require__.e=e=>Promise.all(Object.keys(__webpack_require__.f).reduce(((t,r)=>(__webpack_require__.f[r](e,t),t)),[])),__webpack_require__.u=e=>e+".js",__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},__webpack_require__.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{var e={2:1};__webpack_require__.O.require=t=>e[t];__webpack_require__.f.require=(t,r)=>{e[t]||(t=>{var r=t.modules,o=t.ids,n=t.runtime;for(var a in r)__webpack_require__.o(r,a)&&(__webpack_require__.m[a]=r[a]);n&&n(__webpack_require__);for(var s=0;s<o.length;s++)e[o[s]]=1;__webpack_require__.O()})(require("./"+__webpack_require__.u(t)))}})(),w=__webpack_require__.x,__webpack_require__.x=()=>(__webpack_require__.e(0),__webpack_require__.e(4),__webpack_require__.e(1),w()),__webpack_require__.x()})()}));
//# sourceMappingURL=cli.js.map