Files
claude-mem/dist/claude-mem.min.js
T
Alex Newman f2551ac366 Refactor path management: Migrate path discovery logic to shared paths module
- Removed `path-discovery.ts` service and replaced its usage with a new `paths.ts` module.
- Updated all commands and services to utilize the new path constants and helper functions.
- Ensured all necessary directories are created using the new utility functions.
- Improved code readability and maintainability by centralizing path configurations.
2025-10-16 14:46:47 -04:00

588 lines
289 KiB
JavaScript
Executable File

#!/usr/bin/env bun
// @bun
var G1=Object.create;var{getPrototypeOf:W1,defineProperty:a0,getOwnPropertyNames:_1}=Object;var j1=Object.prototype.hasOwnProperty;var bD=(D,u,F)=>{F=D!=null?G1(W1(D)):{};let C=u||!D||!D.__esModule?a0(F,"default",{value:D,enumerable:!0}):F;for(let B of _1(D))if(!j1.call(C,B))a0(C,B,{get:()=>D[B],enumerable:!0});return C};var l=(D,u)=>()=>(u||D((u={exports:{}}).exports,u),u.exports);var M2=(D,u)=>{for(var F in u)a0(D,F,{get:u[F],enumerable:!0,configurable:!0,set:(C)=>u[F]=()=>C})};var mD=(D,u)=>()=>(D&&(u=D(D=0)),u);var cD=import.meta.require;var _u=l((M1)=>{class r0 extends Error{constructor(D,u,F){super(F);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=u,this.exitCode=D,this.nestedError=void 0}}class R2 extends r0{constructor(D){super(1,"commander.invalidArgument",D);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}}M1.CommanderError=r0;M1.InvalidArgumentError=R2});var D0=l((O1)=>{var{InvalidArgumentError:I1}=_u();class L2{constructor(D,u){switch(this.description=u||"",this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,D[0]){case"<":this.required=!0,this._name=D.slice(1,-1);break;case"[":this.required=!1,this._name=D.slice(1,-1);break;default:this.required=!0,this._name=D;break}if(this._name.endsWith("..."))this.variadic=!0,this._name=this._name.slice(0,-3)}name(){return this._name}_collectValue(D,u){if(u===this.defaultValue||!Array.isArray(u))return[D];return u.push(D),u}default(D,u){return this.defaultValue=D,this.defaultValueDescription=u,this}argParser(D){return this.parseArg=D,this}choices(D){return this.argChoices=D.slice(),this.parseArg=(u,F)=>{if(!this.argChoices.includes(u))throw new I1(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._collectValue(u,F);return u},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}}function N1(D){let u=D.name()+(D.variadic===!0?"...":"");return D.required?"<"+u+">":"["+u+"]"}O1.Argument=L2;O1.humanReadableArgName=N1});var o0=l((S1)=>{var{humanReadableArgName:P1}=D0();class I2{constructor(){this.helpWidth=void 0,this.minWidthToWrap=40,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}prepareContext(D){this.helpWidth=this.helpWidth??D.helpWidth??80}visibleCommands(D){let u=D.commands.filter((C)=>!C._hidden),F=D._getHelpCommand();if(F&&!F._hidden)u.push(F);if(this.sortSubcommands)u.sort((C,B)=>{return C.name().localeCompare(B.name())});return u}compareOptions(D,u){let F=(C)=>{return C.short?C.short.replace(/^-/,""):C.long.replace(/^--/,"")};return F(D).localeCompare(F(u))}visibleOptions(D){let u=D.options.filter((C)=>!C.hidden),F=D._getHelpOption();if(F&&!F.hidden){let C=F.short&&D._findOption(F.short),B=F.long&&D._findOption(F.long);if(!C&&!B)u.push(F);else if(F.long&&!B)u.push(D.createOption(F.long,F.description));else if(F.short&&!C)u.push(D.createOption(F.short,F.description))}if(this.sortOptions)u.sort(this.compareOptions);return u}visibleGlobalOptions(D){if(!this.showGlobalOptions)return[];let u=[];for(let F=D.parent;F;F=F.parent){let C=F.options.filter((B)=>!B.hidden);u.push(...C)}if(this.sortOptions)u.sort(this.compareOptions);return u}visibleArguments(D){if(D._argsDescription)D.registeredArguments.forEach((u)=>{u.description=u.description||D._argsDescription[u.name()]||""});if(D.registeredArguments.find((u)=>u.description))return D.registeredArguments;return[]}subcommandTerm(D){let u=D.registeredArguments.map((F)=>P1(F)).join(" ");return D._name+(D._aliases[0]?"|"+D._aliases[0]:"")+(D.options.length?" [options]":"")+(u?" "+u:"")}optionTerm(D){return D.flags}argumentTerm(D){return D.name()}longestSubcommandTermLength(D,u){return u.visibleCommands(D).reduce((F,C)=>{return Math.max(F,this.displayWidth(u.styleSubcommandTerm(u.subcommandTerm(C))))},0)}longestOptionTermLength(D,u){return u.visibleOptions(D).reduce((F,C)=>{return Math.max(F,this.displayWidth(u.styleOptionTerm(u.optionTerm(C))))},0)}longestGlobalOptionTermLength(D,u){return u.visibleGlobalOptions(D).reduce((F,C)=>{return Math.max(F,this.displayWidth(u.styleOptionTerm(u.optionTerm(C))))},0)}longestArgumentTermLength(D,u){return u.visibleArguments(D).reduce((F,C)=>{return Math.max(F,this.displayWidth(u.styleArgumentTerm(u.argumentTerm(C))))},0)}commandUsage(D){let u=D._name;if(D._aliases[0])u=u+"|"+D._aliases[0];let F="";for(let C=D.parent;C;C=C.parent)F=C.name()+" "+F;return F+u+" "+D.usage()}commandDescription(D){return D.description()}subcommandDescription(D){return D.summary()||D.description()}optionDescription(D){let u=[];if(D.argChoices)u.push(`choices: ${D.argChoices.map((F)=>JSON.stringify(F)).join(", ")}`);if(D.defaultValue!==void 0){if(D.required||D.optional||D.isBoolean()&&typeof D.defaultValue==="boolean")u.push(`default: ${D.defaultValueDescription||JSON.stringify(D.defaultValue)}`)}if(D.presetArg!==void 0&&D.optional)u.push(`preset: ${JSON.stringify(D.presetArg)}`);if(D.envVar!==void 0)u.push(`env: ${D.envVar}`);if(u.length>0){let F=`(${u.join(", ")})`;if(D.description)return`${D.description} ${F}`;return F}return D.description}argumentDescription(D){let u=[];if(D.argChoices)u.push(`choices: ${D.argChoices.map((F)=>JSON.stringify(F)).join(", ")}`);if(D.defaultValue!==void 0)u.push(`default: ${D.defaultValueDescription||JSON.stringify(D.defaultValue)}`);if(u.length>0){let F=`(${u.join(", ")})`;if(D.description)return`${D.description} ${F}`;return F}return D.description}formatItemList(D,u,F){if(u.length===0)return[];return[F.styleTitle(D),...u,""]}groupItems(D,u,F){let C=new Map;return D.forEach((B)=>{let $=F(B);if(!C.has($))C.set($,[])}),u.forEach((B)=>{let $=F(B);if(!C.has($))C.set($,[]);C.get($).push(B)}),C}formatHelp(D,u){let F=u.padWidth(D,u),C=u.helpWidth??80;function B(J,V){return u.formatItem(J,F,V,u)}let $=[`${u.styleTitle("Usage:")} ${u.styleUsage(u.commandUsage(D))}`,""],E=u.commandDescription(D);if(E.length>0)$=$.concat([u.boxWrap(u.styleCommandDescription(E),C),""]);let Q=u.visibleArguments(D).map((J)=>{return B(u.styleArgumentTerm(u.argumentTerm(J)),u.styleArgumentDescription(u.argumentDescription(J)))});if($=$.concat(this.formatItemList("Arguments:",Q,u)),this.groupItems(D.options,u.visibleOptions(D),(J)=>J.helpGroupHeading??"Options:").forEach((J,V)=>{let H=J.map((z)=>{return B(u.styleOptionTerm(u.optionTerm(z)),u.styleOptionDescription(u.optionDescription(z)))});$=$.concat(this.formatItemList(V,H,u))}),u.showGlobalOptions){let J=u.visibleGlobalOptions(D).map((V)=>{return B(u.styleOptionTerm(u.optionTerm(V)),u.styleOptionDescription(u.optionDescription(V)))});$=$.concat(this.formatItemList("Global Options:",J,u))}return this.groupItems(D.commands,u.visibleCommands(D),(J)=>J.helpGroup()||"Commands:").forEach((J,V)=>{let H=J.map((z)=>{return B(u.styleSubcommandTerm(u.subcommandTerm(z)),u.styleSubcommandDescription(u.subcommandDescription(z)))});$=$.concat(this.formatItemList(V,H,u))}),$.join(`
`)}displayWidth(D){return N2(D).length}styleTitle(D){return D}styleUsage(D){return D.split(" ").map((u)=>{if(u==="[options]")return this.styleOptionText(u);if(u==="[command]")return this.styleSubcommandText(u);if(u[0]==="["||u[0]==="<")return this.styleArgumentText(u);return this.styleCommandText(u)}).join(" ")}styleCommandDescription(D){return this.styleDescriptionText(D)}styleOptionDescription(D){return this.styleDescriptionText(D)}styleSubcommandDescription(D){return this.styleDescriptionText(D)}styleArgumentDescription(D){return this.styleDescriptionText(D)}styleDescriptionText(D){return D}styleOptionTerm(D){return this.styleOptionText(D)}styleSubcommandTerm(D){return D.split(" ").map((u)=>{if(u==="[options]")return this.styleOptionText(u);if(u[0]==="["||u[0]==="<")return this.styleArgumentText(u);return this.styleSubcommandText(u)}).join(" ")}styleArgumentTerm(D){return this.styleArgumentText(D)}styleOptionText(D){return D}styleArgumentText(D){return D}styleSubcommandText(D){return D}styleCommandText(D){return D}padWidth(D,u){return Math.max(u.longestOptionTermLength(D,u),u.longestGlobalOptionTermLength(D,u),u.longestSubcommandTermLength(D,u),u.longestArgumentTermLength(D,u))}preformatted(D){return/\n[^\S\r\n]/.test(D)}formatItem(D,u,F,C){let $=" ".repeat(2);if(!F)return $+D;let E=D.padEnd(u+D.length-C.displayWidth(D)),Q=2,Z=(this.helpWidth??80)-u-Q-2,J;if(Z<this.minWidthToWrap||C.preformatted(F))J=F;else J=C.boxWrap(F,Z).replace(/\n/g,`
`+" ".repeat(u+Q));return $+E+" ".repeat(Q)+J.replace(/\n/g,`
${$}`)}boxWrap(D,u){if(u<this.minWidthToWrap)return D;let F=D.split(/\r\n|\n/),C=/[\s]*[^\s]+/g,B=[];return F.forEach(($)=>{let E=$.match(C);if(E===null){B.push("");return}let Q=[E.shift()],X=this.displayWidth(Q[0]);E.forEach((Z)=>{let J=this.displayWidth(Z);if(X+J<=u){Q.push(Z),X+=J;return}B.push(Q.join(""));let V=Z.trimStart();Q=[V],X=this.displayWidth(V)}),B.push(Q.join(""))}),B.join(`
`)}}function N2(D){let u=/\x1b\[\d*(;\d*)*m/g;return D.replace(u,"")}S1.Help=I2;S1.stripColor=N2});var s0=l((b1)=>{var{InvalidArgumentError:x1}=_u();class T2{constructor(D,u){this.flags=D,this.description=u||"",this.required=D.includes("<"),this.optional=D.includes("["),this.variadic=/\w\.\.\.[>\]]$/.test(D),this.mandatory=!1;let F=f1(D);if(this.short=F.shortFlag,this.long=F.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,this.helpGroupHeading=void 0}default(D,u){return this.defaultValue=D,this.defaultValueDescription=u,this}preset(D){return this.presetArg=D,this}conflicts(D){return this.conflictsWith=this.conflictsWith.concat(D),this}implies(D){let u=D;if(typeof D==="string")u={[D]:!0};return this.implied=Object.assign(this.implied||{},u),this}env(D){return this.envVar=D,this}argParser(D){return this.parseArg=D,this}makeOptionMandatory(D=!0){return this.mandatory=!!D,this}hideHelp(D=!0){return this.hidden=!!D,this}_collectValue(D,u){if(u===this.defaultValue||!Array.isArray(u))return[D];return u.push(D),u}choices(D){return this.argChoices=D.slice(),this.parseArg=(u,F)=>{if(!this.argChoices.includes(u))throw new x1(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._collectValue(u,F);return u},this}name(){if(this.long)return this.long.replace(/^--/,"");return this.short.replace(/^-/,"")}attributeName(){if(this.negate)return O2(this.name().replace(/^no-/,""));return O2(this.name())}helpGroup(D){return this.helpGroupHeading=D,this}is(D){return this.short===D||this.long===D}isBoolean(){return!this.required&&!this.optional&&!this.negate}}class w2{constructor(D){this.positiveOptions=new Map,this.negativeOptions=new Map,this.dualOptions=new Set,D.forEach((u)=>{if(u.negate)this.negativeOptions.set(u.attributeName(),u);else this.positiveOptions.set(u.attributeName(),u)}),this.negativeOptions.forEach((u,F)=>{if(this.positiveOptions.has(F))this.dualOptions.add(F)})}valueFromOption(D,u){let F=u.attributeName();if(!this.dualOptions.has(F))return!0;let C=this.negativeOptions.get(F).presetArg,B=C!==void 0?C:!1;return u.negate===(B===D)}}function O2(D){return D.split("-").reduce((u,F)=>{return u+F[0].toUpperCase()+F.slice(1)})}function f1(D){let u,F,C=/^-[^-]$/,B=/^--[^-]/,$=D.split(/[ |,]+/).concat("guard");if(C.test($[0]))u=$.shift();if(B.test($[0]))F=$.shift();if(!u&&C.test($[0]))u=$.shift();if(!u&&B.test($[0]))u=F,F=$.shift();if($[0].startsWith("-")){let E=$[0],Q=`option creation failed due to '${E}' in option flags '${D}'`;if(/^-[^-][^-]/.test(E))throw new Error(`${Q}
- a short flag is a single dash and a single character
- either use a single dash and a single character (for a short flag)
- or use a double dash for a long option (and can have two, like '--ws, --workspace')`);if(C.test(E))throw new Error(`${Q}
- too many short flags`);if(B.test(E))throw new Error(`${Q}
- too many long flags`);throw new Error(`${Q}
- unrecognised flag format`)}if(u===void 0&&F===void 0)throw new Error(`option creation failed due to no flags found in '${D}'.`);return{shortFlag:u,longFlag:F}}b1.Option=T2;b1.DualOptions=w2});var P2=l((c1)=>{function g1(D,u){if(Math.abs(D.length-u.length)>3)return Math.max(D.length,u.length);let F=[];for(let C=0;C<=D.length;C++)F[C]=[C];for(let C=0;C<=u.length;C++)F[0][C]=C;for(let C=1;C<=u.length;C++)for(let B=1;B<=D.length;B++){let $=1;if(D[B-1]===u[C-1])$=0;else $=1;if(F[B][C]=Math.min(F[B-1][C]+1,F[B][C-1]+1,F[B-1][C-1]+$),B>1&&C>1&&D[B-1]===u[C-2]&&D[B-2]===u[C-1])F[B][C]=Math.min(F[B][C],F[B-2][C-2]+1)}return F[D.length][u.length]}function m1(D,u){if(!u||u.length===0)return"";u=Array.from(new Set(u));let F=D.startsWith("--");if(F)D=D.slice(2),u=u.map((E)=>E.slice(2));let C=[],B=3,$=0.4;if(u.forEach((E)=>{if(E.length<=1)return;let Q=g1(D,E),X=Math.max(D.length,E.length);if((X-Q)/X>$){if(Q<B)B=Q,C=[E];else if(Q===B)C.push(E)}}),C.sort((E,Q)=>E.localeCompare(Q)),F)C=C.map((E)=>`--${E}`);if(C.length>1)return`
(Did you mean one of ${C.join(", ")}?)`;if(C.length===1)return`
(Did you mean ${C[0]}?)`;return""}c1.suggestSimilar=m1});var x2=l((o1)=>{var l1=cD("events").EventEmitter,t0=cD("child_process"),yD=cD("path"),u0=cD("fs"),w=cD("process"),{Argument:p1,humanReadableArgName:i1}=D0(),{CommanderError:e0}=_u(),{Help:n1,stripColor:a1}=o0(),{Option:S2,DualOptions:r1}=s0(),{suggestSimilar:k2}=P2();class uF extends l1{constructor(D){super();this.commands=[],this.options=[],this.parent=null,this._allowUnknownOption=!1,this._allowExcessArguments=!1,this.registeredArguments=[],this._args=this.registeredArguments,this.args=[],this.rawArgs=[],this.processedArgs=[],this._scriptPath=null,this._name=D||"",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._savedState=null,this._outputConfiguration={writeOut:(u)=>w.stdout.write(u),writeErr:(u)=>w.stderr.write(u),outputError:(u,F)=>F(u),getOutHelpWidth:()=>w.stdout.isTTY?w.stdout.columns:void 0,getErrHelpWidth:()=>w.stderr.isTTY?w.stderr.columns:void 0,getOutHasColors:()=>DF()??(w.stdout.isTTY&&w.stdout.hasColors?.()),getErrHasColors:()=>DF()??(w.stderr.isTTY&&w.stderr.hasColors?.()),stripColor:(u)=>a1(u)},this._hidden=!1,this._helpOption=void 0,this._addImplicitHelpCommand=void 0,this._helpCommand=void 0,this._helpConfiguration={},this._helpGroupHeading=void 0,this._defaultCommandGroup=void 0,this._defaultOptionGroup=void 0}copyInheritedSettings(D){return this._outputConfiguration=D._outputConfiguration,this._helpOption=D._helpOption,this._helpCommand=D._helpCommand,this._helpConfiguration=D._helpConfiguration,this._exitCallback=D._exitCallback,this._storeOptionsAsProperties=D._storeOptionsAsProperties,this._combineFlagAndOptionalValue=D._combineFlagAndOptionalValue,this._allowExcessArguments=D._allowExcessArguments,this._enablePositionalOptions=D._enablePositionalOptions,this._showHelpAfterError=D._showHelpAfterError,this._showSuggestionAfterError=D._showSuggestionAfterError,this}_getCommandAndAncestors(){let D=[];for(let u=this;u;u=u.parent)D.push(u);return D}command(D,u,F){let C=u,B=F;if(typeof C==="object"&&C!==null)B=C,C=null;B=B||{};let[,$,E]=D.match(/([^ ]+) *(.*)/),Q=this.createCommand($);if(C)Q.description(C),Q._executableHandler=!0;if(B.isDefault)this._defaultCommandName=Q._name;if(Q._hidden=!!(B.noHelp||B.hidden),Q._executableFile=B.executableFile||null,E)Q.arguments(E);if(this._registerCommand(Q),Q.parent=this,Q.copyInheritedSettings(this),C)return this;return Q}createCommand(D){return new uF(D)}createHelp(){return Object.assign(new n1,this.configureHelp())}configureHelp(D){if(D===void 0)return this._helpConfiguration;return this._helpConfiguration=D,this}configureOutput(D){if(D===void 0)return this._outputConfiguration;return this._outputConfiguration={...this._outputConfiguration,...D},this}showHelpAfterError(D=!0){if(typeof D!=="string")D=!!D;return this._showHelpAfterError=D,this}showSuggestionAfterError(D=!0){return this._showSuggestionAfterError=!!D,this}addCommand(D,u){if(!D._name)throw new Error(`Command passed to .addCommand() must have a name
- specify the name in Command constructor or using .name()`);if(u=u||{},u.isDefault)this._defaultCommandName=D._name;if(u.noHelp||u.hidden)D._hidden=!0;return this._registerCommand(D),D.parent=this,D._checkForBrokenPassThrough(),this}createArgument(D,u){return new p1(D,u)}argument(D,u,F,C){let B=this.createArgument(D,u);if(typeof F==="function")B.default(C).argParser(F);else B.default(F);return this.addArgument(B),this}arguments(D){return D.trim().split(/ +/).forEach((u)=>{this.argument(u)}),this}addArgument(D){let u=this.registeredArguments.slice(-1)[0];if(u?.variadic)throw new Error(`only the last argument can be variadic '${u.name()}'`);if(D.required&&D.defaultValue!==void 0&&D.parseArg===void 0)throw new Error(`a default value for a required argument is never used: '${D.name()}'`);return this.registeredArguments.push(D),this}helpCommand(D,u){if(typeof D==="boolean"){if(this._addImplicitHelpCommand=D,D&&this._defaultCommandGroup)this._initCommandGroup(this._getHelpCommand());return this}let F=D??"help [command]",[,C,B]=F.match(/([^ ]+) *(.*)/),$=u??"display help for command",E=this.createCommand(C);if(E.helpOption(!1),B)E.arguments(B);if($)E.description($);if(this._addImplicitHelpCommand=!0,this._helpCommand=E,D||u)this._initCommandGroup(E);return this}addHelpCommand(D,u){if(typeof D!=="object")return this.helpCommand(D,u),this;return this._addImplicitHelpCommand=!0,this._helpCommand=D,this._initCommandGroup(D),this}_getHelpCommand(){if(this._addImplicitHelpCommand??(this.commands.length&&!this._actionHandler&&!this._findCommand("help"))){if(this._helpCommand===void 0)this.helpCommand(void 0,void 0);return this._helpCommand}return null}hook(D,u){let F=["preSubcommand","preAction","postAction"];if(!F.includes(D))throw new Error(`Unexpected value for event passed to hook : '${D}'.
Expecting one of '${F.join("', '")}'`);if(this._lifeCycleHooks[D])this._lifeCycleHooks[D].push(u);else this._lifeCycleHooks[D]=[u];return this}exitOverride(D){if(D)this._exitCallback=D;else this._exitCallback=(u)=>{if(u.code!=="commander.executeSubCommandAsync")throw u};return this}_exit(D,u,F){if(this._exitCallback)this._exitCallback(new e0(D,u,F));w.exit(D)}action(D){let u=(F)=>{let C=this.registeredArguments.length,B=F.slice(0,C);if(this._storeOptionsAsProperties)B[C]=this;else B[C]=this.opts();return B.push(this),D.apply(this,B)};return this._actionHandler=u,this}createOption(D,u){return new S2(D,u)}_callParseArg(D,u,F,C){try{return D.parseArg(u,F)}catch(B){if(B.code==="commander.invalidArgument"){let $=`${C} ${B.message}`;this.error($,{exitCode:B.exitCode,code:B.code})}throw B}}_registerOption(D){let u=D.short&&this._findOption(D.short)||D.long&&this._findOption(D.long);if(u){let F=D.long&&this._findOption(D.long)?D.long:D.short;throw new Error(`Cannot add option '${D.flags}'${this._name&&` to command '${this._name}'`} due to conflicting flag '${F}'
- already used by option '${u.flags}'`)}this._initOptionGroup(D),this.options.push(D)}_registerCommand(D){let u=(C)=>{return[C.name()].concat(C.aliases())},F=u(D).find((C)=>this._findCommand(C));if(F){let C=u(this._findCommand(F)).join("|"),B=u(D).join("|");throw new Error(`cannot add command '${B}' as already have command '${C}'`)}this._initCommandGroup(D),this.commands.push(D)}addOption(D){this._registerOption(D);let u=D.name(),F=D.attributeName();if(D.negate){let B=D.long.replace(/^--no-/,"--");if(!this._findOption(B))this.setOptionValueWithSource(F,D.defaultValue===void 0?!0:D.defaultValue,"default")}else if(D.defaultValue!==void 0)this.setOptionValueWithSource(F,D.defaultValue,"default");let C=(B,$,E)=>{if(B==null&&D.presetArg!==void 0)B=D.presetArg;let Q=this.getOptionValue(F);if(B!==null&&D.parseArg)B=this._callParseArg(D,B,Q,$);else if(B!==null&&D.variadic)B=D._collectValue(B,Q);if(B==null)if(D.negate)B=!1;else if(D.isBoolean()||D.optional)B=!0;else B="";this.setOptionValueWithSource(F,B,E)};if(this.on("option:"+u,(B)=>{let $=`error: option '${D.flags}' argument '${B}' is invalid.`;C(B,$,"cli")}),D.envVar)this.on("optionEnv:"+u,(B)=>{let $=`error: option '${D.flags}' value '${B}' from env '${D.envVar}' is invalid.`;C(B,$,"env")});return this}_optionEx(D,u,F,C,B){if(typeof u==="object"&&u instanceof S2)throw new Error("To add an Option object use addOption() instead of option() or requiredOption()");let $=this.createOption(u,F);if($.makeOptionMandatory(!!D.mandatory),typeof C==="function")$.default(B).argParser(C);else if(C instanceof RegExp){let E=C;C=(Q,X)=>{let Z=E.exec(Q);return Z?Z[0]:X},$.default(B).argParser(C)}else $.default(C);return this.addOption($)}option(D,u,F,C){return this._optionEx({},D,u,F,C)}requiredOption(D,u,F,C){return this._optionEx({mandatory:!0},D,u,F,C)}combineFlagAndOptionalValue(D=!0){return this._combineFlagAndOptionalValue=!!D,this}allowUnknownOption(D=!0){return this._allowUnknownOption=!!D,this}allowExcessArguments(D=!0){return this._allowExcessArguments=!!D,this}enablePositionalOptions(D=!0){return this._enablePositionalOptions=!!D,this}passThroughOptions(D=!0){return this._passThroughOptions=!!D,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(D=!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=!!D,this}getOptionValue(D){if(this._storeOptionsAsProperties)return this[D];return this._optionValues[D]}setOptionValue(D,u){return this.setOptionValueWithSource(D,u,void 0)}setOptionValueWithSource(D,u,F){if(this._storeOptionsAsProperties)this[D]=u;else this._optionValues[D]=u;return this._optionValueSources[D]=F,this}getOptionValueSource(D){return this._optionValueSources[D]}getOptionValueSourceWithGlobals(D){let u;return this._getCommandAndAncestors().forEach((F)=>{if(F.getOptionValueSource(D)!==void 0)u=F.getOptionValueSource(D)}),u}_prepareUserArgs(D,u){if(D!==void 0&&!Array.isArray(D))throw new Error("first parameter to parse must be array or undefined");if(u=u||{},D===void 0&&u.from===void 0){if(w.versions?.electron)u.from="electron";let C=w.execArgv??[];if(C.includes("-e")||C.includes("--eval")||C.includes("-p")||C.includes("--print"))u.from="eval"}if(D===void 0)D=w.argv;this.rawArgs=D.slice();let F;switch(u.from){case void 0:case"node":this._scriptPath=D[1],F=D.slice(2);break;case"electron":if(w.defaultApp)this._scriptPath=D[1],F=D.slice(2);else F=D.slice(1);break;case"user":F=D.slice(0);break;case"eval":F=D.slice(1);break;default:throw new Error(`unexpected parse option { from: '${u.from}' }`)}if(!this._name&&this._scriptPath)this.nameFromFilename(this._scriptPath);return this._name=this._name||"program",F}parse(D,u){this._prepareForParse();let F=this._prepareUserArgs(D,u);return this._parseCommand([],F),this}async parseAsync(D,u){this._prepareForParse();let F=this._prepareUserArgs(D,u);return await this._parseCommand([],F),this}_prepareForParse(){if(this._savedState===null)this.saveStateBeforeParse();else this.restoreStateBeforeParse()}saveStateBeforeParse(){this._savedState={_name:this._name,_optionValues:{...this._optionValues},_optionValueSources:{...this._optionValueSources}}}restoreStateBeforeParse(){if(this._storeOptionsAsProperties)throw new Error(`Can not call parse again when storeOptionsAsProperties is true.
- either make a new Command for each call to parse, or stop storing options as properties`);this._name=this._savedState._name,this._scriptPath=null,this.rawArgs=[],this._optionValues={...this._savedState._optionValues},this._optionValueSources={...this._savedState._optionValueSources},this.args=[],this.processedArgs=[]}_checkForMissingExecutable(D,u,F){if(u0.existsSync(D))return;let C=u?`searched for local subcommand relative to directory '${u}'`:"no directory for search for local subcommand, use .executableDir() to supply a custom directory",B=`'${D}' does not exist
- if '${F}' is not meant to be an executable command, remove description parameter from '.command()' and use '.description()' instead
- if the default executable name is not suitable, use the executableFile option to supply a custom name or path
- ${C}`;throw new Error(B)}_executeSubCommand(D,u){u=u.slice();let F=!1,C=[".js",".ts",".tsx",".mjs",".cjs"];function B(Z,J){let V=yD.resolve(Z,J);if(u0.existsSync(V))return V;if(C.includes(yD.extname(J)))return;let H=C.find((z)=>u0.existsSync(`${V}${z}`));if(H)return`${V}${H}`;return}this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let $=D._executableFile||`${this._name}-${D._name}`,E=this._executableDir||"";if(this._scriptPath){let Z;try{Z=u0.realpathSync(this._scriptPath)}catch{Z=this._scriptPath}E=yD.resolve(yD.dirname(Z),E)}if(E){let Z=B(E,$);if(!Z&&!D._executableFile&&this._scriptPath){let J=yD.basename(this._scriptPath,yD.extname(this._scriptPath));if(J!==this._name)Z=B(E,`${J}-${D._name}`)}$=Z||$}F=C.includes(yD.extname($));let Q;if(w.platform!=="win32")if(F)u.unshift($),u=v2(w.execArgv).concat(u),Q=t0.spawn(w.argv[0],u,{stdio:"inherit"});else Q=t0.spawn($,u,{stdio:"inherit"});else this._checkForMissingExecutable($,E,D._name),u.unshift($),u=v2(w.execArgv).concat(u),Q=t0.spawn(w.execPath,u,{stdio:"inherit"});if(!Q.killed)["SIGUSR1","SIGUSR2","SIGTERM","SIGINT","SIGHUP"].forEach((J)=>{w.on(J,()=>{if(Q.killed===!1&&Q.exitCode===null)Q.kill(J)})});let X=this._exitCallback;Q.on("close",(Z)=>{if(Z=Z??1,!X)w.exit(Z);else X(new e0(Z,"commander.executeSubCommandAsync","(close)"))}),Q.on("error",(Z)=>{if(Z.code==="ENOENT")this._checkForMissingExecutable($,E,D._name);else if(Z.code==="EACCES")throw new Error(`'${$}' not executable`);if(!X)w.exit(1);else{let J=new e0(1,"commander.executeSubCommandAsync","(error)");J.nestedError=Z,X(J)}}),this.runningCommand=Q}_dispatchSubcommand(D,u,F){let C=this._findCommand(D);if(!C)this.help({error:!0});C._prepareForParse();let B;return B=this._chainOrCallSubCommandHook(B,C,"preSubcommand"),B=this._chainOrCall(B,()=>{if(C._executableHandler)this._executeSubCommand(C,u.concat(F));else return C._parseCommand(u,F)}),B}_dispatchHelpCommand(D){if(!D)this.help();let u=this._findCommand(D);if(u&&!u._executableHandler)u.help();return this._dispatchSubcommand(D,[],[this._getHelpOption()?.long??this._getHelpOption()?.short??"--help"])}_checkNumberOfArguments(){if(this.registeredArguments.forEach((D,u)=>{if(D.required&&this.args[u]==null)this.missingArgument(D.name())}),this.registeredArguments.length>0&&this.registeredArguments[this.registeredArguments.length-1].variadic)return;if(this.args.length>this.registeredArguments.length)this._excessArguments(this.args)}_processArguments(){let D=(F,C,B)=>{let $=C;if(C!==null&&F.parseArg){let E=`error: command-argument value '${C}' is invalid for argument '${F.name()}'.`;$=this._callParseArg(F,C,B,E)}return $};this._checkNumberOfArguments();let u=[];this.registeredArguments.forEach((F,C)=>{let B=F.defaultValue;if(F.variadic){if(C<this.args.length){if(B=this.args.slice(C),F.parseArg)B=B.reduce(($,E)=>{return D(F,E,$)},F.defaultValue)}else if(B===void 0)B=[]}else if(C<this.args.length){if(B=this.args[C],F.parseArg)B=D(F,B,F.defaultValue)}u[C]=B}),this.processedArgs=u}_chainOrCall(D,u){if(D?.then&&typeof D.then==="function")return D.then(()=>u());return u()}_chainOrCallHooks(D,u){let F=D,C=[];if(this._getCommandAndAncestors().reverse().filter((B)=>B._lifeCycleHooks[u]!==void 0).forEach((B)=>{B._lifeCycleHooks[u].forEach(($)=>{C.push({hookedCommand:B,callback:$})})}),u==="postAction")C.reverse();return C.forEach((B)=>{F=this._chainOrCall(F,()=>{return B.callback(B.hookedCommand,this)})}),F}_chainOrCallSubCommandHook(D,u,F){let C=D;if(this._lifeCycleHooks[F]!==void 0)this._lifeCycleHooks[F].forEach((B)=>{C=this._chainOrCall(C,()=>{return B(this,u)})});return C}_parseCommand(D,u){let F=this.parseOptions(u);if(this._parseOptionsEnv(),this._parseOptionsImplied(),D=D.concat(F.operands),u=F.unknown,this.args=D.concat(u),D&&this._findCommand(D[0]))return this._dispatchSubcommand(D[0],D.slice(1),u);if(this._getHelpCommand()&&D[0]===this._getHelpCommand().name())return this._dispatchHelpCommand(D[1]);if(this._defaultCommandName)return this._outputHelpIfRequested(u),this._dispatchSubcommand(this._defaultCommandName,D,u);if(this.commands.length&&this.args.length===0&&!this._actionHandler&&!this._defaultCommandName)this.help({error:!0});this._outputHelpIfRequested(F.unknown),this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let C=()=>{if(F.unknown.length>0)this.unknownOption(F.unknown[0])},B=`command:${this.name()}`;if(this._actionHandler){C(),this._processArguments();let $;if($=this._chainOrCallHooks($,"preAction"),$=this._chainOrCall($,()=>this._actionHandler(this.processedArgs)),this.parent)$=this._chainOrCall($,()=>{this.parent.emit(B,D,u)});return $=this._chainOrCallHooks($,"postAction"),$}if(this.parent?.listenerCount(B))C(),this._processArguments(),this.parent.emit(B,D,u);else if(D.length){if(this._findCommand("*"))return this._dispatchSubcommand("*",D,u);if(this.listenerCount("command:*"))this.emit("command:*",D,u);else if(this.commands.length)this.unknownCommand();else C(),this._processArguments()}else if(this.commands.length)C(),this.help({error:!0});else C(),this._processArguments()}_findCommand(D){if(!D)return;return this.commands.find((u)=>u._name===D||u._aliases.includes(D))}_findOption(D){return this.options.find((u)=>u.is(D))}_checkForMissingMandatoryOptions(){this._getCommandAndAncestors().forEach((D)=>{D.options.forEach((u)=>{if(u.mandatory&&D.getOptionValue(u.attributeName())===void 0)D.missingMandatoryOptionValue(u)})})}_checkForConflictingLocalOptions(){let D=this.options.filter((F)=>{let C=F.attributeName();if(this.getOptionValue(C)===void 0)return!1;return this.getOptionValueSource(C)!=="default"});D.filter((F)=>F.conflictsWith.length>0).forEach((F)=>{let C=D.find((B)=>F.conflictsWith.includes(B.attributeName()));if(C)this._conflictingOption(F,C)})}_checkForConflictingOptions(){this._getCommandAndAncestors().forEach((D)=>{D._checkForConflictingLocalOptions()})}parseOptions(D){let u=[],F=[],C=u;function B(Z){return Z.length>1&&Z[0]==="-"}let $=(Z)=>{if(!/^-\d*\.?\d+(e[+-]?\d+)?$/.test(Z))return!1;return!this._getCommandAndAncestors().some((J)=>J.options.map((V)=>V.short).some((V)=>/^-\d$/.test(V)))},E=null,Q=null,X=0;while(X<D.length||Q){let Z=Q??D[X++];if(Q=null,Z==="--"){if(C===F)C.push(Z);C.push(...D.slice(X));break}if(E&&(!B(Z)||$(Z))){this.emit(`option:${E.name()}`,Z);continue}if(E=null,B(Z)){let J=this._findOption(Z);if(J){if(J.required){let V=D[X++];if(V===void 0)this.optionMissingArgument(J);this.emit(`option:${J.name()}`,V)}else if(J.optional){let V=null;if(X<D.length&&(!B(D[X])||$(D[X])))V=D[X++];this.emit(`option:${J.name()}`,V)}else this.emit(`option:${J.name()}`);E=J.variadic?J:null;continue}}if(Z.length>2&&Z[0]==="-"&&Z[1]!=="-"){let J=this._findOption(`-${Z[1]}`);if(J){if(J.required||J.optional&&this._combineFlagAndOptionalValue)this.emit(`option:${J.name()}`,Z.slice(2));else this.emit(`option:${J.name()}`),Q=`-${Z.slice(2)}`;continue}}if(/^--[^=]+=/.test(Z)){let J=Z.indexOf("="),V=this._findOption(Z.slice(0,J));if(V&&(V.required||V.optional)){this.emit(`option:${V.name()}`,Z.slice(J+1));continue}}if(C===u&&B(Z)&&!(this.commands.length===0&&$(Z)))C=F;if((this._enablePositionalOptions||this._passThroughOptions)&&u.length===0&&F.length===0){if(this._findCommand(Z)){u.push(Z),F.push(...D.slice(X));break}else if(this._getHelpCommand()&&Z===this._getHelpCommand().name()){u.push(Z,...D.slice(X));break}else if(this._defaultCommandName){F.push(Z,...D.slice(X));break}}if(this._passThroughOptions){C.push(Z,...D.slice(X));break}C.push(Z)}return{operands:u,unknown:F}}opts(){if(this._storeOptionsAsProperties){let D={},u=this.options.length;for(let F=0;F<u;F++){let C=this.options[F].attributeName();D[C]=C===this._versionOptionName?this._version:this[C]}return D}return this._optionValues}optsWithGlobals(){return this._getCommandAndAncestors().reduce((D,u)=>Object.assign(D,u.opts()),{})}error(D,u){if(this._outputConfiguration.outputError(`${D}
`,this._outputConfiguration.writeErr),typeof this._showHelpAfterError==="string")this._outputConfiguration.writeErr(`${this._showHelpAfterError}
`);else if(this._showHelpAfterError)this._outputConfiguration.writeErr(`
`),this.outputHelp({error:!0});let F=u||{},C=F.exitCode||1,B=F.code||"commander.error";this._exit(C,B,D)}_parseOptionsEnv(){this.options.forEach((D)=>{if(D.envVar&&D.envVar in w.env){let u=D.attributeName();if(this.getOptionValue(u)===void 0||["default","config","env"].includes(this.getOptionValueSource(u)))if(D.required||D.optional)this.emit(`optionEnv:${D.name()}`,w.env[D.envVar]);else this.emit(`optionEnv:${D.name()}`)}})}_parseOptionsImplied(){let D=new r1(this.options),u=(F)=>{return this.getOptionValue(F)!==void 0&&!["default","implied"].includes(this.getOptionValueSource(F))};this.options.filter((F)=>F.implied!==void 0&&u(F.attributeName())&&D.valueFromOption(this.getOptionValue(F.attributeName()),F)).forEach((F)=>{Object.keys(F.implied).filter((C)=>!u(C)).forEach((C)=>{this.setOptionValueWithSource(C,F.implied[C],"implied")})})}missingArgument(D){let u=`error: missing required argument '${D}'`;this.error(u,{code:"commander.missingArgument"})}optionMissingArgument(D){let u=`error: option '${D.flags}' argument missing`;this.error(u,{code:"commander.optionMissingArgument"})}missingMandatoryOptionValue(D){let u=`error: required option '${D.flags}' not specified`;this.error(u,{code:"commander.missingMandatoryOptionValue"})}_conflictingOption(D,u){let F=($)=>{let E=$.attributeName(),Q=this.getOptionValue(E),X=this.options.find((J)=>J.negate&&E===J.attributeName()),Z=this.options.find((J)=>!J.negate&&E===J.attributeName());if(X&&(X.presetArg===void 0&&Q===!1||X.presetArg!==void 0&&Q===X.presetArg))return X;return Z||$},C=($)=>{let E=F($),Q=E.attributeName();if(this.getOptionValueSource(Q)==="env")return`environment variable '${E.envVar}'`;return`option '${E.flags}'`},B=`error: ${C(D)} cannot be used with ${C(u)}`;this.error(B,{code:"commander.conflictingOption"})}unknownOption(D){if(this._allowUnknownOption)return;let u="";if(D.startsWith("--")&&this._showSuggestionAfterError){let C=[],B=this;do{let $=B.createHelp().visibleOptions(B).filter((E)=>E.long).map((E)=>E.long);C=C.concat($),B=B.parent}while(B&&!B._enablePositionalOptions);u=k2(D,C)}let F=`error: unknown option '${D}'${u}`;this.error(F,{code:"commander.unknownOption"})}_excessArguments(D){if(this._allowExcessArguments)return;let u=this.registeredArguments.length,F=u===1?"":"s",B=`error: too many arguments${this.parent?` for '${this.name()}'`:""}. Expected ${u} argument${F} but got ${D.length}.`;this.error(B,{code:"commander.excessArguments"})}unknownCommand(){let D=this.args[0],u="";if(this._showSuggestionAfterError){let C=[];this.createHelp().visibleCommands(this).forEach((B)=>{if(C.push(B.name()),B.alias())C.push(B.alias())}),u=k2(D,C)}let F=`error: unknown command '${D}'${u}`;this.error(F,{code:"commander.unknownCommand"})}version(D,u,F){if(D===void 0)return this._version;this._version=D,u=u||"-V, --version",F=F||"output the version number";let C=this.createOption(u,F);return this._versionOptionName=C.attributeName(),this._registerOption(C),this.on("option:"+C.name(),()=>{this._outputConfiguration.writeOut(`${D}
`),this._exit(0,"commander.version",D)}),this}description(D,u){if(D===void 0&&u===void 0)return this._description;if(this._description=D,u)this._argsDescription=u;return this}summary(D){if(D===void 0)return this._summary;return this._summary=D,this}alias(D){if(D===void 0)return this._aliases[0];let u=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler)u=this.commands[this.commands.length-1];if(D===u._name)throw new Error("Command alias can't be the same as its name");let F=this.parent?._findCommand(D);if(F){let C=[F.name()].concat(F.aliases()).join("|");throw new Error(`cannot add alias '${D}' to command '${this.name()}' as already have command '${C}'`)}return u._aliases.push(D),this}aliases(D){if(D===void 0)return this._aliases;return D.forEach((u)=>this.alias(u)),this}usage(D){if(D===void 0){if(this._usage)return this._usage;let u=this.registeredArguments.map((F)=>{return i1(F)});return[].concat(this.options.length||this._helpOption!==null?"[options]":[],this.commands.length?"[command]":[],this.registeredArguments.length?u:[]).join(" ")}return this._usage=D,this}name(D){if(D===void 0)return this._name;return this._name=D,this}helpGroup(D){if(D===void 0)return this._helpGroupHeading??"";return this._helpGroupHeading=D,this}commandsGroup(D){if(D===void 0)return this._defaultCommandGroup??"";return this._defaultCommandGroup=D,this}optionsGroup(D){if(D===void 0)return this._defaultOptionGroup??"";return this._defaultOptionGroup=D,this}_initOptionGroup(D){if(this._defaultOptionGroup&&!D.helpGroupHeading)D.helpGroup(this._defaultOptionGroup)}_initCommandGroup(D){if(this._defaultCommandGroup&&!D.helpGroup())D.helpGroup(this._defaultCommandGroup)}nameFromFilename(D){return this._name=yD.basename(D,yD.extname(D)),this}executableDir(D){if(D===void 0)return this._executableDir;return this._executableDir=D,this}helpInformation(D){let u=this.createHelp(),F=this._getOutputContext(D);u.prepareContext({error:F.error,helpWidth:F.helpWidth,outputHasColors:F.hasColors});let C=u.formatHelp(this,u);if(F.hasColors)return C;return this._outputConfiguration.stripColor(C)}_getOutputContext(D){D=D||{};let u=!!D.error,F,C,B;if(u)F=(E)=>this._outputConfiguration.writeErr(E),C=this._outputConfiguration.getErrHasColors(),B=this._outputConfiguration.getErrHelpWidth();else F=(E)=>this._outputConfiguration.writeOut(E),C=this._outputConfiguration.getOutHasColors(),B=this._outputConfiguration.getOutHelpWidth();return{error:u,write:(E)=>{if(!C)E=this._outputConfiguration.stripColor(E);return F(E)},hasColors:C,helpWidth:B}}outputHelp(D){let u;if(typeof D==="function")u=D,D=void 0;let F=this._getOutputContext(D),C={error:F.error,write:F.write,command:this};this._getCommandAndAncestors().reverse().forEach(($)=>$.emit("beforeAllHelp",C)),this.emit("beforeHelp",C);let B=this.helpInformation({error:F.error});if(u){if(B=u(B),typeof B!=="string"&&!Buffer.isBuffer(B))throw new Error("outputHelp callback must return a string or a Buffer")}if(F.write(B),this._getHelpOption()?.long)this.emit(this._getHelpOption().long);this.emit("afterHelp",C),this._getCommandAndAncestors().forEach(($)=>$.emit("afterAllHelp",C))}helpOption(D,u){if(typeof D==="boolean"){if(D){if(this._helpOption===null)this._helpOption=void 0;if(this._defaultOptionGroup)this._initOptionGroup(this._getHelpOption())}else this._helpOption=null;return this}if(this._helpOption=this.createOption(D??"-h, --help",u??"display help for command"),D||u)this._initOptionGroup(this._helpOption);return this}_getHelpOption(){if(this._helpOption===void 0)this.helpOption(void 0,void 0);return this._helpOption}addHelpOption(D){return this._helpOption=D,this._initOptionGroup(D),this}help(D){this.outputHelp(D);let u=Number(w.exitCode??0);if(u===0&&D&&typeof D!=="function"&&D.error)u=1;this._exit(u,"commander.help","(outputHelp)")}addHelpText(D,u){let F=["beforeAll","before","after","afterAll"];if(!F.includes(D))throw new Error(`Unexpected value for position to addHelpText.
Expecting one of '${F.join("', '")}'`);let C=`${D}Help`;return this.on(C,(B)=>{let $;if(typeof u==="function")$=u({error:B.error,command:B.command});else $=u;if($)B.write(`${$}
`)}),this}_outputHelpIfRequested(D){let u=this._getHelpOption();if(u&&D.find((C)=>u.is(C)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}function v2(D){return D.map((u)=>{if(!u.startsWith("--inspect"))return u;let F,C="127.0.0.1",B="9229",$;if(($=u.match(/^(--inspect(-brk)?)$/))!==null)F=$[1];else if(($=u.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null)if(F=$[1],/^\d+$/.test($[3]))B=$[3];else C=$[3];else if(($=u.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null)F=$[1],C=$[3],B=$[4];if(F&&B!=="0")return`${F}=${C}:${parseInt(B)+1}`;return u})}function DF(){if(w.env.NO_COLOR||w.env.FORCE_COLOR==="0"||w.env.FORCE_COLOR==="false")return!1;if(w.env.FORCE_COLOR||w.env.CLICOLOR_FORCE!==void 0)return!0;return}o1.Command=uF;o1.useColor=DF});var h2=l((uC)=>{var{Argument:f2}=D0(),{Command:FF}=x2(),{CommanderError:e1,InvalidArgumentError:b2}=_u(),{Help:DC}=o0(),{Option:y2}=s0();uC.program=new FF;uC.createCommand=(D)=>new FF(D);uC.createOption=(D,u)=>new y2(D,u);uC.createArgument=(D,u)=>new f2(D,u);uC.Command=FF;uC.Option=y2;uC.Argument=f2;uC.Help=DC;uC.CommanderError=e1;uC.InvalidArgumentError=b2;uC.InvalidOptionArgumentError=b2});var BF=l((OE,o2)=>{var CF={to(D,u){if(!u)return`\x1B[${D+1}G`;return`\x1B[${u+1};${D+1}H`},move(D,u){let F="";if(D<0)F+=`\x1B[${-D}D`;else if(D>0)F+=`\x1B[${D}C`;if(u<0)F+=`\x1B[${-u}A`;else if(u>0)F+=`\x1B[${u}B`;return F},up:(D=1)=>`\x1B[${D}A`,down:(D=1)=>`\x1B[${D}B`,forward:(D=1)=>`\x1B[${D}C`,backward:(D=1)=>`\x1B[${D}D`,nextLine:(D=1)=>"\x1B[E".repeat(D),prevLine:(D=1)=>"\x1B[F".repeat(D),left:"\x1B[G",hide:"\x1B[?25l",show:"\x1B[?25h",save:"\x1B7",restore:"\x1B8"},UC={up:(D=1)=>"\x1B[S".repeat(D),down:(D=1)=>"\x1B[T".repeat(D)},GC={screen:"\x1B[2J",up:(D=1)=>"\x1B[1J".repeat(D),down:(D=1)=>"\x1B[J".repeat(D),line:"\x1B[2K",lineEnd:"\x1B[K",lineStart:"\x1B[1K",lines(D){let u="";for(let F=0;F<D;F++)u+=this.line+(F<D-1?CF.up():"");if(D)u+=CF.left;return u}};o2.exports={cursor:CF,scroll:UC,erase:GC,beep:"\x07"}});var $F=l((TE,EF)=>{var C0=process||{},s2=C0.argv||[],F0=C0.env||{},WC=!(!!F0.NO_COLOR||s2.includes("--no-color"))&&(!!F0.FORCE_COLOR||s2.includes("--color")||C0.platform==="win32"||(C0.stdout||{}).isTTY&&F0.TERM!=="dumb"||!!F0.CI),_C=(D,u,F=D)=>(C)=>{let B=""+C,$=B.indexOf(u,D.length);return~$?D+jC(B,u,F,$)+u:D+B+u},jC=(D,u,F,C)=>{let B="",$=0;do B+=D.substring($,C)+F,$=C+u.length,C=D.indexOf(u,$);while(~C);return B+D.substring($)},t2=(D=WC)=>{let u=D?_C:()=>String;return{isColorSupported:D,reset:u("\x1B[0m","\x1B[0m"),bold:u("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:u("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:u("\x1B[3m","\x1B[23m"),underline:u("\x1B[4m","\x1B[24m"),inverse:u("\x1B[7m","\x1B[27m"),hidden:u("\x1B[8m","\x1B[28m"),strikethrough:u("\x1B[9m","\x1B[29m"),black:u("\x1B[30m","\x1B[39m"),red:u("\x1B[31m","\x1B[39m"),green:u("\x1B[32m","\x1B[39m"),yellow:u("\x1B[33m","\x1B[39m"),blue:u("\x1B[34m","\x1B[39m"),magenta:u("\x1B[35m","\x1B[39m"),cyan:u("\x1B[36m","\x1B[39m"),white:u("\x1B[37m","\x1B[39m"),gray:u("\x1B[90m","\x1B[39m"),bgBlack:u("\x1B[40m","\x1B[49m"),bgRed:u("\x1B[41m","\x1B[49m"),bgGreen:u("\x1B[42m","\x1B[49m"),bgYellow:u("\x1B[43m","\x1B[49m"),bgBlue:u("\x1B[44m","\x1B[49m"),bgMagenta:u("\x1B[45m","\x1B[49m"),bgCyan:u("\x1B[46m","\x1B[49m"),bgWhite:u("\x1B[47m","\x1B[49m"),blackBright:u("\x1B[90m","\x1B[39m"),redBright:u("\x1B[91m","\x1B[39m"),greenBright:u("\x1B[92m","\x1B[39m"),yellowBright:u("\x1B[93m","\x1B[39m"),blueBright:u("\x1B[94m","\x1B[39m"),magentaBright:u("\x1B[95m","\x1B[39m"),cyanBright:u("\x1B[96m","\x1B[39m"),whiteBright:u("\x1B[97m","\x1B[39m"),bgBlackBright:u("\x1B[100m","\x1B[49m"),bgRedBright:u("\x1B[101m","\x1B[49m"),bgGreenBright:u("\x1B[102m","\x1B[49m"),bgYellowBright:u("\x1B[103m","\x1B[49m"),bgBlueBright:u("\x1B[104m","\x1B[49m"),bgMagentaBright:u("\x1B[105m","\x1B[49m"),bgCyanBright:u("\x1B[106m","\x1B[49m"),bgWhiteBright:u("\x1B[107m","\x1B[49m")}};EF.exports=t2();EF.exports.createColors=t2});var P3=l((LF,IF)=>{(function(D,u){typeof LF==="object"&&typeof IF!=="undefined"?IF.exports=u():typeof define==="function"&&define.amd?define(u):(D=typeof globalThis!=="undefined"?globalThis:D||self,D.tinycolor=u())})(LF,function(){function D(Y){return D=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(K){return typeof K}:function(K){return K&&typeof Symbol=="function"&&K.constructor===Symbol&&K!==Symbol.prototype?"symbol":typeof K},D(Y)}var u=/^\s+/,F=/\s+$/;function C(Y,K){if(Y=Y?Y:"",K=K||{},Y instanceof C)return Y;if(!(this instanceof C))return new C(Y,K);var q=B(Y);if(this._originalInput=Y,this._r=q.r,this._g=q.g,this._b=q.b,this._a=q.a,this._roundA=Math.round(100*this._a)/100,this._format=K.format||q.format,this._gradientType=K.gradientType,this._r<1)this._r=Math.round(this._r);if(this._g<1)this._g=Math.round(this._g);if(this._b<1)this._b=Math.round(this._b);this._ok=q.ok}C.prototype={isDark:function Y(){return this.getBrightness()<128},isLight:function Y(){return!this.isDark()},isValid:function Y(){return this._ok},getOriginalInput:function Y(){return this._originalInput},getFormat:function Y(){return this._format},getAlpha:function Y(){return this._a},getBrightness:function Y(){var K=this.toRgb();return(K.r*299+K.g*587+K.b*114)/1000},getLuminance:function Y(){var K=this.toRgb(),q,A,_,W,T,P;if(q=K.r/255,A=K.g/255,_=K.b/255,q<=0.03928)W=q/12.92;else W=Math.pow((q+0.055)/1.055,2.4);if(A<=0.03928)T=A/12.92;else T=Math.pow((A+0.055)/1.055,2.4);if(_<=0.03928)P=_/12.92;else P=Math.pow((_+0.055)/1.055,2.4);return 0.2126*W+0.7152*T+0.0722*P},setAlpha:function Y(K){return this._a=W2(K),this._roundA=Math.round(100*this._a)/100,this},toHsv:function Y(){var K=X(this._r,this._g,this._b);return{h:K.h*360,s:K.s,v:K.v,a:this._a}},toHsvString:function Y(){var K=X(this._r,this._g,this._b),q=Math.round(K.h*360),A=Math.round(K.s*100),_=Math.round(K.v*100);return this._a==1?"hsv("+q+", "+A+"%, "+_+"%)":"hsva("+q+", "+A+"%, "+_+"%, "+this._roundA+")"},toHsl:function Y(){var K=E(this._r,this._g,this._b);return{h:K.h*360,s:K.s,l:K.l,a:this._a}},toHslString:function Y(){var K=E(this._r,this._g,this._b),q=Math.round(K.h*360),A=Math.round(K.s*100),_=Math.round(K.l*100);return this._a==1?"hsl("+q+", "+A+"%, "+_+"%)":"hsla("+q+", "+A+"%, "+_+"%, "+this._roundA+")"},toHex:function Y(K){return J(this._r,this._g,this._b,K)},toHexString:function Y(K){return"#"+this.toHex(K)},toHex8:function Y(K){return V(this._r,this._g,this._b,this._a,K)},toHex8String:function Y(K){return"#"+this.toHex8(K)},toRgb:function Y(){return{r:Math.round(this._r),g:Math.round(this._g),b:Math.round(this._b),a:this._a}},toRgbString:function Y(){return this._a==1?"rgb("+Math.round(this._r)+", "+Math.round(this._g)+", "+Math.round(this._b)+")":"rgba("+Math.round(this._r)+", "+Math.round(this._g)+", "+Math.round(this._b)+", "+this._roundA+")"},toPercentageRgb:function Y(){return{r:Math.round(k(this._r,255)*100)+"%",g:Math.round(k(this._g,255)*100)+"%",b:Math.round(k(this._b,255)*100)+"%",a:this._a}},toPercentageRgbString:function Y(){return this._a==1?"rgb("+Math.round(k(this._r,255)*100)+"%, "+Math.round(k(this._g,255)*100)+"%, "+Math.round(k(this._b,255)*100)+"%)":"rgba("+Math.round(k(this._r,255)*100)+"%, "+Math.round(k(this._g,255)*100)+"%, "+Math.round(k(this._b,255)*100)+"%, "+this._roundA+")"},toName:function Y(){if(this._a===0)return"transparent";if(this._a<1)return!1;return G2[J(this._r,this._g,this._b,!0)]||!1},toFilter:function Y(K){var q="#"+H(this._r,this._g,this._b,this._a),A=q,_=this._gradientType?"GradientType = 1, ":"";if(K){var W=C(K);A="#"+H(W._r,W._g,W._b,W._a)}return"progid:DXImageTransform.Microsoft.gradient("+_+"startColorstr="+q+",endColorstr="+A+")"},toString:function Y(K){var q=!!K;K=K||this._format;var A=!1,_=this._a<1&&this._a>=0,W=!q&&_&&(K==="hex"||K==="hex6"||K==="hex3"||K==="hex4"||K==="hex8"||K==="name");if(W){if(K==="name"&&this._a===0)return this.toName();return this.toRgbString()}if(K==="rgb")A=this.toRgbString();if(K==="prgb")A=this.toPercentageRgbString();if(K==="hex"||K==="hex6")A=this.toHexString();if(K==="hex3")A=this.toHexString(!0);if(K==="hex4")A=this.toHex8String(!0);if(K==="hex8")A=this.toHex8String();if(K==="name")A=this.toName();if(K==="hsl")A=this.toHslString();if(K==="hsv")A=this.toHsvString();return A||this.toHexString()},clone:function Y(){return C(this.toString())},_applyModification:function Y(K,q){var A=K.apply(null,[this].concat([].slice.call(q)));return this._r=A._r,this._g=A._g,this._b=A._b,this.setAlpha(A._a),this},lighten:function Y(){return this._applyModification(j,arguments)},brighten:function Y(){return this._applyModification(I,arguments)},darken:function Y(){return this._applyModification(O,arguments)},desaturate:function Y(){return this._applyModification(z,arguments)},saturate:function Y(){return this._applyModification(U,arguments)},greyscale:function Y(){return this._applyModification(G,arguments)},spin:function Y(){return this._applyModification(R,arguments)},_applyCombination:function Y(K,q){return K.apply(null,[this].concat([].slice.call(q)))},analogous:function Y(){return this._applyCombination(ZD,arguments)},complement:function Y(){return this._applyCombination(L,arguments)},monochromatic:function Y(){return this._applyCombination(SD,arguments)},splitcomplement:function Y(){return this._applyCombination(y,arguments)},triad:function Y(){return this._applyCombination(S,[3])},tetrad:function Y(){return this._applyCombination(S,[4])}},C.fromRatio=function(Y,K){if(D(Y)=="object"){var q={};for(var A in Y)if(Y.hasOwnProperty(A))if(A==="a")q[A]=Y[A];else q[A]=Gu(Y[A]);Y=q}return C(Y,K)};function B(Y){var K={r:0,g:0,b:0},q=1,A=null,_=null,W=null,T=!1,P=!1;if(typeof Y=="string")Y=z1(Y);if(D(Y)=="object"){if(fD(Y.r)&&fD(Y.g)&&fD(Y.b))K=$(Y.r,Y.g,Y.b),T=!0,P=String(Y.r).substr(-1)==="%"?"prgb":"rgb";else if(fD(Y.h)&&fD(Y.s)&&fD(Y.v))A=Gu(Y.s),_=Gu(Y.v),K=Z(Y.h,A,_),T=!0,P="hsv";else if(fD(Y.h)&&fD(Y.s)&&fD(Y.l))A=Gu(Y.s),W=Gu(Y.l),K=Q(Y.h,A,W),T=!0,P="hsl";if(Y.hasOwnProperty("a"))q=Y.a}return q=W2(q),{ok:T,format:Y.format||P,r:Math.min(255,Math.max(K.r,0)),g:Math.min(255,Math.max(K.g,0)),b:Math.min(255,Math.max(K.b,0)),a:q}}function $(Y,K,q){return{r:k(Y,255)*255,g:k(K,255)*255,b:k(q,255)*255}}function E(Y,K,q){Y=k(Y,255),K=k(K,255),q=k(q,255);var A=Math.max(Y,K,q),_=Math.min(Y,K,q),W,T,P=(A+_)/2;if(A==_)W=T=0;else{var m=A-_;switch(T=P>0.5?m/(2-A-_):m/(A+_),A){case Y:W=(K-q)/m+(K<q?6:0);break;case K:W=(q-Y)/m+2;break;case q:W=(Y-K)/m+4;break}W/=6}return{h:W,s:T,l:P}}function Q(Y,K,q){var A,_,W;Y=k(Y,360),K=k(K,100),q=k(q,100);function T(AD,Wu,ID){if(ID<0)ID+=1;if(ID>1)ID-=1;if(ID<0.16666666666666666)return AD+(Wu-AD)*6*ID;if(ID<0.5)return Wu;if(ID<0.6666666666666666)return AD+(Wu-AD)*(0.6666666666666666-ID)*6;return AD}if(K===0)A=_=W=q;else{var P=q<0.5?q*(1+K):q+K-q*K,m=2*q-P;A=T(m,P,Y+0.3333333333333333),_=T(m,P,Y),W=T(m,P,Y-0.3333333333333333)}return{r:A*255,g:_*255,b:W*255}}function X(Y,K,q){Y=k(Y,255),K=k(K,255),q=k(q,255);var A=Math.max(Y,K,q),_=Math.min(Y,K,q),W,T,P=A,m=A-_;if(T=A===0?0:m/A,A==_)W=0;else{switch(A){case Y:W=(K-q)/m+(K<q?6:0);break;case K:W=(q-Y)/m+2;break;case q:W=(Y-K)/m+4;break}W/=6}return{h:W,s:T,v:P}}function Z(Y,K,q){Y=k(Y,360)*6,K=k(K,100),q=k(q,100);var A=Math.floor(Y),_=Y-A,W=q*(1-K),T=q*(1-_*K),P=q*(1-(1-_)*K),m=A%6,AD=[q,T,W,W,P,q][m],Wu=[P,q,q,T,W,W][m],ID=[W,W,P,q,q,T][m];return{r:AD*255,g:Wu*255,b:ID*255}}function J(Y,K,q,A){var _=[RD(Math.round(Y).toString(16)),RD(Math.round(K).toString(16)),RD(Math.round(q).toString(16))];if(A&&_[0].charAt(0)==_[0].charAt(1)&&_[1].charAt(0)==_[1].charAt(1)&&_[2].charAt(0)==_[2].charAt(1))return _[0].charAt(0)+_[1].charAt(0)+_[2].charAt(0);return _.join("")}function V(Y,K,q,A,_){var W=[RD(Math.round(Y).toString(16)),RD(Math.round(K).toString(16)),RD(Math.round(q).toString(16)),RD(_2(A))];if(_&&W[0].charAt(0)==W[0].charAt(1)&&W[1].charAt(0)==W[1].charAt(1)&&W[2].charAt(0)==W[2].charAt(1)&&W[3].charAt(0)==W[3].charAt(1))return W[0].charAt(0)+W[1].charAt(0)+W[2].charAt(0)+W[3].charAt(0);return W.join("")}function H(Y,K,q,A){var _=[RD(_2(A)),RD(Math.round(Y).toString(16)),RD(Math.round(K).toString(16)),RD(Math.round(q).toString(16))];return _.join("")}C.equals=function(Y,K){if(!Y||!K)return!1;return C(Y).toRgbString()==C(K).toRgbString()},C.random=function(){return C.fromRatio({r:Math.random(),g:Math.random(),b:Math.random()})};function z(Y,K){K=K===0?0:K||10;var q=C(Y).toHsl();return q.s-=K/100,q.s=eu(q.s),C(q)}function U(Y,K){K=K===0?0:K||10;var q=C(Y).toHsl();return q.s+=K/100,q.s=eu(q.s),C(q)}function G(Y){return C(Y).desaturate(100)}function j(Y,K){K=K===0?0:K||10;var q=C(Y).toHsl();return q.l+=K/100,q.l=eu(q.l),C(q)}function I(Y,K){K=K===0?0:K||10;var q=C(Y).toRgb();return q.r=Math.max(0,Math.min(255,q.r-Math.round(255*-(K/100)))),q.g=Math.max(0,Math.min(255,q.g-Math.round(255*-(K/100)))),q.b=Math.max(0,Math.min(255,q.b-Math.round(255*-(K/100)))),C(q)}function O(Y,K){K=K===0?0:K||10;var q=C(Y).toHsl();return q.l-=K/100,q.l=eu(q.l),C(q)}function R(Y,K){var q=C(Y).toHsl(),A=(q.h+K)%360;return q.h=A<0?360+A:A,C(q)}function L(Y){var K=C(Y).toHsl();return K.h=(K.h+180)%360,C(K)}function S(Y,K){if(isNaN(K)||K<=0)throw new Error("Argument to polyad must be a positive number");var q=C(Y).toHsl(),A=[C(Y)],_=360/K;for(var W=1;W<K;W++)A.push(C({h:(q.h+W*_)%360,s:q.s,l:q.l}));return A}function y(Y){var K=C(Y).toHsl(),q=K.h;return[C(Y),C({h:(q+72)%360,s:K.s,l:K.l}),C({h:(q+216)%360,s:K.s,l:K.l})]}function ZD(Y,K,q){K=K||6,q=q||30;var A=C(Y).toHsl(),_=360/q,W=[C(Y)];for(A.h=(A.h-(_*K>>1)+720)%360;--K;)A.h=(A.h+_)%360,W.push(C(A));return W}function SD(Y,K){K=K||6;var q=C(Y).toHsv(),A=q.h,_=q.s,W=q.v,T=[],P=1/K;while(K--)T.push(C({h:A,s:_,v:W})),W=(W+P)%1;return T}C.mix=function(Y,K,q){q=q===0?0:q||50;var A=C(Y).toRgb(),_=C(K).toRgb(),W=q/100,T={r:(_.r-A.r)*W+A.r,g:(_.g-A.g)*W+A.g,b:(_.b-A.b)*W+A.b,a:(_.a-A.a)*W+A.a};return C(T)},C.readability=function(Y,K){var q=C(Y),A=C(K);return(Math.max(q.getLuminance(),A.getLuminance())+0.05)/(Math.min(q.getLuminance(),A.getLuminance())+0.05)},C.isReadable=function(Y,K,q){var A=C.readability(Y,K),_,W;switch(W=!1,_=U1(q),_.level+_.size){case"AAsmall":case"AAAlarge":W=A>=4.5;break;case"AAlarge":W=A>=3;break;case"AAAsmall":W=A>=7;break}return W},C.mostReadable=function(Y,K,q){var A=null,_=0,W,T,P,m;q=q||{},T=q.includeFallbackColors,P=q.level,m=q.size;for(var AD=0;AD<K.length;AD++)if(W=C.readability(Y,K[AD]),W>_)_=W,A=C(K[AD]);if(C.isReadable(Y,A,{level:P,size:m})||!T)return A;else return q.includeFallbackColors=!1,C.mostReadable(Y,["#fff","#000"],q)};var oD=C.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},G2=C.hexNames=V1(oD);function V1(Y){var K={};for(var q in Y)if(Y.hasOwnProperty(q))K[Y[q]]=q;return K}function W2(Y){if(Y=parseFloat(Y),isNaN(Y)||Y<0||Y>1)Y=1;return Y}function k(Y,K){if(H1(Y))Y="100%";var q=A1(Y);if(Y=Math.min(K,Math.max(0,parseFloat(Y))),q)Y=parseInt(Y*K,10)/100;if(Math.abs(Y-K)<0.000001)return 1;return Y%K/parseFloat(K)}function eu(Y){return Math.min(1,Math.max(0,Y))}function JD(Y){return parseInt(Y,16)}function H1(Y){return typeof Y=="string"&&Y.indexOf(".")!=-1&&parseFloat(Y)===1}function A1(Y){return typeof Y==="string"&&Y.indexOf("%")!=-1}function RD(Y){return Y.length==1?"0"+Y:""+Y}function Gu(Y){if(Y<=1)Y=Y*100+"%";return Y}function _2(Y){return Math.round(parseFloat(Y)*255).toString(16)}function j2(Y){return JD(Y)/255}var LD=function(){var Y="[-\\+]?\\d+%?",K="[-\\+]?\\d*\\.\\d+%?",q="(?:"+K+")|(?:"+Y+")",A="[\\s|\\(]+("+q+")[,|\\s]+("+q+")[,|\\s]+("+q+")\\s*\\)?",_="[\\s|\\(]+("+q+")[,|\\s]+("+q+")[,|\\s]+("+q+")[,|\\s]+("+q+")\\s*\\)?";return{CSS_UNIT:new RegExp(q),rgb:new RegExp("rgb"+A),rgba:new RegExp("rgba"+_),hsl:new RegExp("hsl"+A),hsla:new RegExp("hsla"+_),hsv:new RegExp("hsv"+A),hsva:new RegExp("hsva"+_),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();function fD(Y){return!!LD.CSS_UNIT.exec(Y)}function z1(Y){Y=Y.replace(u,"").replace(F,"").toLowerCase();var K=!1;if(oD[Y])Y=oD[Y],K=!0;else if(Y=="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var q;if(q=LD.rgb.exec(Y))return{r:q[1],g:q[2],b:q[3]};if(q=LD.rgba.exec(Y))return{r:q[1],g:q[2],b:q[3],a:q[4]};if(q=LD.hsl.exec(Y))return{h:q[1],s:q[2],l:q[3]};if(q=LD.hsla.exec(Y))return{h:q[1],s:q[2],l:q[3],a:q[4]};if(q=LD.hsv.exec(Y))return{h:q[1],s:q[2],v:q[3]};if(q=LD.hsva.exec(Y))return{h:q[1],s:q[2],v:q[3],a:q[4]};if(q=LD.hex8.exec(Y))return{r:JD(q[1]),g:JD(q[2]),b:JD(q[3]),a:j2(q[4]),format:K?"name":"hex8"};if(q=LD.hex6.exec(Y))return{r:JD(q[1]),g:JD(q[2]),b:JD(q[3]),format:K?"name":"hex"};if(q=LD.hex4.exec(Y))return{r:JD(q[1]+""+q[1]),g:JD(q[2]+""+q[2]),b:JD(q[3]+""+q[3]),a:j2(q[4]+""+q[4]),format:K?"name":"hex8"};if(q=LD.hex3.exec(Y))return{r:JD(q[1]+""+q[1]),g:JD(q[2]+""+q[2]),b:JD(q[3]+""+q[3]),format:K?"name":"hex"};return!1}function U1(Y){var K,q;if(Y=Y||{level:"AA",size:"small"},K=(Y.level||"AA").toUpperCase(),q=(Y.size||"small").toLowerCase(),K!=="AA"&&K!=="AAA")K="AA";if(q!=="small"&&q!=="large")q="small";return{level:K,size:q}}return C})});var y3=l((Y5,b3)=>{var Iu=P3(),x3={r:256,g:256,b:256,a:1},f3={h:360,s:1,v:1,a:1};function OF(D,u,F){let C={};for(let B in D)if(D.hasOwnProperty(B))C[B]=F===0?0:(u[B]-D[B])/F;return C}function TF(D,u,F,C){let B={};for(let $ in u)if(u.hasOwnProperty($))B[$]=D[$]*F+u[$],B[$]=B[$]<0?B[$]+C[$]:C[$]!==1?B[$]%C[$]:B[$];return B}function NF(D,u,F){let C=D.color.toRgb(),B=u.color.toRgb(),$=OF(C,B,F),E=[D.color];for(let Q=1;Q<F;Q++){let X=TF($,C,Q,x3);E.push(Iu(X))}return E}function S3(D,u,F,C){let B=D.color.toHsv(),$=u.color.toHsv();if(B.s===0||$.s===0)return NF(D,u,F);let E;if(typeof C==="boolean")E=C;else{let J=B.h<$.h&&$.h-B.h<180||B.h>$.h&&B.h-$.h>180;E=C==="long"&&J||C==="short"&&!J}let Q=OF(B,$,F),X=[D.color],Z;if(B.h<=$.h&&!E||B.h>=$.h&&E)Z=$.h-B.h;else if(E)Z=360-$.h+B.h;else Z=360-B.h+$.h;Q.h=Math.pow(-1,E?1:0)*Math.abs(Z)/F;for(let J=1;J<F;J++){let V=TF(Q,B,J,f3);X.push(Iu(V))}return X}function k3(D,u){let F=D.length;if(u=parseInt(u,10),isNaN(u)||u<2)throw new Error("Invalid number of steps (< 2)");if(u<F)throw new Error("Number of steps cannot be inferior to number of stops");let C=[];for(let $=1;$<F;$++){let E=(u-1)*(D[$].pos-D[$-1].pos);C.push(Math.max(1,Math.round(E)))}let B=1;for(let $=F-1;$--;)B+=C[$];while(B!==u)if(B<u){let $=Math.min.apply(null,C);C[C.indexOf($)]++,B++}else{let $=Math.max.apply(null,C);C[C.indexOf($)]--,B--}return C}function v3(D,u,F,C){if(u<0||u>1)throw new Error("Position must be between 0 and 1");let B,$;for(let X=0,Z=D.length;X<Z-1;X++)if(u>=D[X].pos&&u<D[X+1].pos){B=D[X],$=D[X+1];break}if(!B)B=$=D[D.length-1];let E=OF(B.color[F](),$.color[F](),($.pos-B.pos)*100),Q=TF(E,B.color[F](),(u-B.pos)*100,C);return Iu(Q)}class K0{constructor(D){if(D.length<2)throw new Error("Invalid number of stops (< 2)");let u=D[0].pos!==void 0,F=D.length,C=-1,B=!1;if(this.stops=D.map(($,E)=>{let Q=$.pos!==void 0;if(u^Q)throw new Error("Cannot mix positionned and not posionned color stops");if(Q){let X=$.color!==void 0;if(!X&&(B||E===0||E===F-1))throw new Error("Cannot define two consecutive position-only stops");if(B=!X,$={color:X?Iu($.color):null,colorLess:!X,pos:$.pos},$.pos<0||$.pos>1)throw new Error("Color stops positions must be between 0 and 1");else if($.pos<C)throw new Error("Color stops positions are not ordered");C=$.pos}else $={color:Iu($.color!==void 0?$.color:$),pos:E/(F-1)};return $}),this.stops[0].pos!==0)this.stops.unshift({color:this.stops[0].color,pos:0}),F++;if(this.stops[F-1].pos!==1)this.stops.push({color:this.stops[F-1].color,pos:1})}reverse(){let D=[];return this.stops.forEach(function(u){D.push({color:u.color,pos:1-u.pos})}),new K0(D.reverse())}loop(){let D=[],u=[];return this.stops.forEach((F)=>{D.push({color:F.color,pos:F.pos/2})}),this.stops.slice(0,-1).forEach((F)=>{u.push({color:F.color,pos:1-F.pos/2})}),new K0(D.concat(u.reverse()))}rgb(D){let u=k3(this.stops,D),F=[];this.stops.forEach((C,B)=>{if(C.colorLess)C.color=NF(this.stops[B-1],this.stops[B+1],2)[1]});for(let C=0,B=this.stops.length;C<B-1;C++){let $=NF(this.stops[C],this.stops[C+1],u[C]);F.splice(F.length,0,...$)}return F.push(this.stops[this.stops.length-1].color),F}hsv(D,u){let F=k3(this.stops,D),C=[];this.stops.forEach((B,$)=>{if(B.colorLess)B.color=S3(this.stops[$-1],this.stops[$+1],2,u)[1]});for(let B=0,$=this.stops.length;B<$-1;B++){let E=S3(this.stops[B],this.stops[B+1],F[B],u);C.splice(C.length,0,...E)}return C.push(this.stops[this.stops.length-1].color),C}css(D,u){D=D||"linear",u=u||(D==="linear"?"to right":"ellipse at center");let F=D+"-gradient("+u;return this.stops.forEach(function(C){F+=", "+(C.colorLess?"":C.color.toRgbString()+" ")+C.pos*100+"%"}),F+=")",F}rgbAt(D){return v3(this.stops,D,"toRgb",x3)}hsvAt(D){return v3(this.stops,D,"toHsv",f3)}}b3.exports=function(D){if(arguments.length===1){if(!Array.isArray(arguments[0]))throw new Error('"stops" is not an array');D=arguments[0]}else D=Array.prototype.slice.call(arguments);return new K0(D)}});var p3=l((O5,v7)=>{v7.exports={single:{topLeft:"\u250C",top:"\u2500",topRight:"\u2510",right:"\u2502",bottomRight:"\u2518",bottom:"\u2500",bottomLeft:"\u2514",left:"\u2502"},double:{topLeft:"\u2554",top:"\u2550",topRight:"\u2557",right:"\u2551",bottomRight:"\u255D",bottom:"\u2550",bottomLeft:"\u255A",left:"\u2551"},round:{topLeft:"\u256D",top:"\u2500",topRight:"\u256E",right:"\u2502",bottomRight:"\u256F",bottom:"\u2500",bottomLeft:"\u2570",left:"\u2502"},bold:{topLeft:"\u250F",top:"\u2501",topRight:"\u2513",right:"\u2503",bottomRight:"\u251B",bottom:"\u2501",bottomLeft:"\u2517",left:"\u2503"},singleDouble:{topLeft:"\u2553",top:"\u2500",topRight:"\u2556",right:"\u2551",bottomRight:"\u255C",bottom:"\u2500",bottomLeft:"\u2559",left:"\u2551"},doubleSingle:{topLeft:"\u2552",top:"\u2550",topRight:"\u2555",right:"\u2502",bottomRight:"\u255B",bottom:"\u2550",bottomLeft:"\u2558",left:"\u2502"},classic:{topLeft:"+",top:"-",topRight:"+",right:"|",bottomRight:"+",bottom:"-",bottomLeft:"+",left:"|"},arrow:{topLeft:"\u2198",top:"\u2193",topRight:"\u2199",right:"\u2190",bottomRight:"\u2196",bottom:"\u2191",bottomLeft:"\u2197",left:"\u2192"}}});var xF=l((T5,vF)=>{var i3=p3();vF.exports=i3;vF.exports.default=i3});var t3=l((P5,s3)=>{s3.exports=({onlyFirst:D=!1}={})=>{let u=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(u,D?void 0:"g")}});var D8=l((S5,e3)=>{var m7=t3();e3.exports=(D)=>typeof D==="string"?D.replace(m7(),""):D});var F8=l((k5,yF)=>{var u8=(D)=>{if(Number.isNaN(D))return!1;if(D>=4352&&(D<=4447||D===9001||D===9002||11904<=D&&D<=12871&&D!==12351||12880<=D&&D<=19903||19968<=D&&D<=42182||43360<=D&&D<=43388||44032<=D&&D<=55203||63744<=D&&D<=64255||65040<=D&&D<=65049||65072<=D&&D<=65131||65281<=D&&D<=65376||65504<=D&&D<=65510||110592<=D&&D<=110593||127488<=D&&D<=127569||131072<=D&&D<=262141))return!0;return!1};yF.exports=u8;yF.exports.default=u8});var B8=l((v5,C8)=>{C8.exports=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g}});var $8=l((x5,hF)=>{var c7=D8(),d7=F8(),l7=B8(),E8=(D)=>{if(typeof D!=="string"||D.length===0)return 0;if(D=c7(D),D.length===0)return 0;D=D.replace(l7()," ");let u=0;for(let F=0;F<D.length;F++){let C=D.codePointAt(F);if(C<=31||C>=127&&C<=159)continue;if(C>=768&&C<=879)continue;if(C>65535)F++;u+=d7(C)?2:1}return u};hF.exports=E8;hF.exports.default=E8});var X8=l((f5,Q8)=>{var p7=$8();function sD(D,u){if(!D)return D;u=u||{};let F=u.align||"center";if(F==="left")return D;let C=u.split||`
`,B=u.pad||" ",$=F!=="right"?i7:n7,E=!1;if(!Array.isArray(D))E=!0,D=String(D).split(C);let Q,X=0;return D=D.map(function(Z){return Z=String(Z),Q=p7(Z),X=Math.max(Q,X),{str:Z,width:Q}}).map(function(Z){return new Array($(X,Z.width)+1).join(B)+Z.str}),E?D.join(C):D}sD.left=function D(u){return sD(u,{align:"left"})};sD.center=function D(u){return sD(u,{align:"center"})};sD.right=function D(u){return sD(u,{align:"right"})};Q8.exports=sD;function i7(D,u){return Math.floor((D-u)/2)}function n7(D,u){return D-u}});import{join as t,dirname as pF,basename as F$}from"path";import{homedir as M8}from"os";import{existsSync as R8,mkdirSync as V9}from"fs";import{fileURLToPath as H9}from"url";function Zu(D){return t(g,`worker-${D}.sock`)}function GD(D){V9(D,{recursive:!0})}function N8(){GD(g),GD(A9),GD(iF),GD(tD),GD(z9),GD(Qu)}function O8(){GD(_0),GD(nF)}function U9(){try{let F=cD.resolve("claude-mem/package.json");return pF(F)}catch{}let D=H9(import.meta.url),u=pF(D);for(let F=0;F<10;F++){let C=t(u,"package.json");if(R8(C)){if(cD(C).name==="claude-mem")return u}let B=pF(u);if(B===u)break;u=B}throw new Error("Cannot locate claude-mem package root. Ensure claude-mem is properly installed.")}function T8(){let D=U9(),u=t(D,"commands");if(!R8(t(u,"save.md")))throw new Error("Package commands directory missing required files");return u}var g,_0,A9,iF,tD,z9,Qu,L8,j0,Xu,nF,I8;var $D=mD(()=>{g=process.env.CLAUDE_MEM_DATA_DIR||t(M8(),".claude-mem"),_0=process.env.CLAUDE_CONFIG_DIR||t(M8(),".claude"),A9=t(g,"archives"),iF=t(g,"logs"),tD=t(g,"trash"),z9=t(g,"backups"),Qu=t(g,"chroma"),L8=t(g,"settings.json"),j0=t(g,"claude-mem.db"),Xu=t(_0,"settings.json"),nF=t(_0,"commands"),I8=t(_0,"CLAUDE.md")});import{Database as x4}from"bun:sqlite";class QD{db;constructor(){GD(g),this.db=new x4(j0,{create:!0,readwrite:!0}),this.db.run("PRAGMA journal_mode = WAL"),this.db.run("PRAGMA synchronous = NORMAL"),this.db.run("PRAGMA foreign_keys = ON")}getRecentSummaries(D,u=10){return this.db.query(`
SELECT
request, investigated, learned, completed, next_steps,
files_read, files_edited, notes, created_at
FROM session_summaries
WHERE project = ?
ORDER BY created_at_epoch DESC
LIMIT ?
`).all(D,u)}findActiveSDKSession(D){return this.db.query(`
SELECT id, sdk_session_id, project
FROM sdk_sessions
WHERE claude_session_id = ? AND status = 'active'
LIMIT 1
`).get(D)||null}createSDKSession(D,u,F){let C=new Date,B=C.getTime();return this.db.query(`
INSERT INTO sdk_sessions
(claude_session_id, project, user_prompt, started_at, started_at_epoch, status)
VALUES (?, ?, ?, ?, ?, 'active')
`).run(D,u,F,C.toISOString(),B),this.db.query("SELECT last_insert_rowid() as id").get().id}updateSDKSessionId(D,u){this.db.query(`
UPDATE sdk_sessions
SET sdk_session_id = ?
WHERE id = ?
`).run(u,D)}storeObservation(D,u,F,C){let B=new Date,$=B.getTime();this.db.query(`
INSERT INTO observations
(sdk_session_id, project, text, type, created_at, created_at_epoch)
VALUES (?, ?, ?, ?, ?, ?)
`).run(D,u,C,F,B.toISOString(),$)}storeSummary(D,u,F){let C=new Date,B=C.getTime();this.db.query(`
INSERT INTO session_summaries
(sdk_session_id, project, request, investigated, learned, completed,
next_steps, files_read, files_edited, notes, created_at, created_at_epoch)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
`).run(D,u,F.request||null,F.investigated||null,F.learned||null,F.completed||null,F.next_steps||null,F.files_read||null,F.files_edited||null,F.notes||null,C.toISOString(),B)}markSessionCompleted(D){let u=new Date,F=u.getTime();this.db.query(`
UPDATE sdk_sessions
SET status = 'completed', completed_at = ?, completed_at_epoch = ?
WHERE id = ?
`).run(u.toISOString(),F,D)}markSessionFailed(D){let u=new Date,F=u.getTime();this.db.query(`
UPDATE sdk_sessions
SET status = 'failed', completed_at = ?, completed_at_epoch = ?
WHERE id = ?
`).run(u.toISOString(),F,D)}close(){this.db.close()}}var Fu=mD(()=>{$D()});import a4 from"path";function r6(D){try{if(D.source&&D.source!=="startup")console.log(""),process.exit(0);let u=a4.basename(D.cwd),F=new QD,C=F.getRecentSummaries(u,5);if(F.close(),C.length===0)console.log(""),process.exit(0);let B=[];B.push("# Recent Session Context"),B.push(""),B.push(`Here's what happened in recent ${u} sessions:`),B.push("");for(let $ of C){if(B.push("---"),B.push(""),$.request)B.push(`**Request:** ${$.request}`);if($.completed)B.push(`**Completed:** ${$.completed}`);if($.learned)B.push(`**Learned:** ${$.learned}`);if($.next_steps)B.push(`**Next Steps:** ${$.next_steps}`);if($.files_edited)try{let E=JSON.parse($.files_edited);if(Array.isArray(E)&&E.length>0)B.push(`**Files Edited:** ${E.join(", ")}`)}catch{if($.files_edited.trim())B.push(`**Files Edited:** ${$.files_edited}`)}B.push(`**Date:** ${$.created_at.split("T")[0]}`),B.push("")}console.log(B.join(`
`)),process.exit(0)}catch(u){console.error(`[claude-mem context error: ${u.message}]`),process.exit(0)}}var o6=mD(()=>{Fu()});import r4 from"net";function s6(D){try{let{session_id:u,tool_name:F,tool_input:C,tool_output:B}=D;if(o4.has(F))console.log('{"continue": true, "suppressOutput": true}'),process.exit(0);let $=new QD,E=$.findActiveSDKSession(u);if($.close(),!E)console.log('{"continue": true, "suppressOutput": true}'),process.exit(0);let Q=Zu(E.id),X={type:"observation",tool_name:F,tool_input:JSON.stringify(C),tool_output:JSON.stringify(B)},Z=r4.connect(Q,()=>{Z.write(JSON.stringify(X)+`
`),Z.end()});Z.on("error",(J)=>{console.error(`[claude-mem save] Socket error: ${J.message}`)}),Z.on("close",()=>{console.log('{"continue": true, "suppressOutput": true}'),process.exit(0)})}catch(u){console.error(`[claude-mem save error: ${u.message}]`),console.log('{"continue": true, "suppressOutput": true}'),process.exit(0)}}var o4;var t6=mD(()=>{Fu();$D();o4=new Set(["TodoWrite","ListMcpResourcesTool"])});import s4 from"path";import{spawn as t4}from"child_process";function e6(D){try{let{session_id:u,cwd:F,prompt:C}=D,B=s4.basename(F),$=new QD;if($.findActiveSDKSession(u))$.close(),console.log('{"continue": true, "suppressOutput": true}'),process.exit(0);let Q=$.createSDKSession(u,B,C);$.close(),t4("claude-mem",["worker",Q.toString()],{detached:!0,stdio:"ignore"}).unref(),console.log('{"continue": true, "suppressOutput": true}'),process.exit(0)}catch(u){console.error(`[claude-mem new error: ${u.message}]`),console.log('{"continue": true, "suppressOutput": true}'),process.exit(0)}}var D1=mD(()=>{Fu()});import e4 from"net";function u1(D){try{let{session_id:u}=D,F=new QD,C=F.findActiveSDKSession(u);if(F.close(),!C)console.log('{"continue": true, "suppressOutput": true}'),process.exit(0);let B=Zu(C.id),$={type:"finalize"},E=e4.connect(B,()=>{E.write(JSON.stringify($)+`
`),E.end()});E.on("error",(Q)=>{console.error(`[claude-mem summary] Socket error: ${Q.message}`)}),E.on("close",()=>{console.log('{"continue": true, "suppressOutput": true}'),process.exit(0)})}catch(u){console.error(`[claude-mem summary error: ${u.message}]`),console.log('{"continue": true, "suppressOutput": true}'),process.exit(0)}}var F1=mD(()=>{Fu();$D()});var su={};M2(su,{summaryHook:()=>u1,saveHook:()=>s6,newHook:()=>e6,contextHook:()=>r6});var tu=mD(()=>{o6();t6();D1();F1()});function C1(D,u,F){return`You are a memory assistant for the "${D}" project.
SESSION CONTEXT
---------------
Session ID: ${u}
User's Goal: ${F}
Date: ${new Date().toISOString().split("T")[0]}
YOUR ROLE
---------
You will observe tool executions during this Claude Code session. Your job is to:
1. Extract meaningful insights (not just raw data)
2. Store atomic observations in SQLite
3. Focus on: key decisions, patterns discovered, problems solved, technical insights
WHAT TO CAPTURE
----------------
\u2713 Architecture decisions (e.g., "chose PostgreSQL over MongoDB for ACID guarantees")
\u2713 Bug fixes (e.g., "fixed race condition in auth middleware by adding mutex")
\u2713 New features (e.g., "implemented JWT refresh token flow")
\u2713 Refactorings (e.g., "extracted validation logic into separate service")
\u2713 Discoveries (e.g., "found that API rate limit is 100 req/min")
\u2717 NOT routine operations (reading files, listing directories)
\u2717 NOT work-in-progress (only completed work)
\u2717 NOT obvious facts (e.g., "TypeScript file has types")
HOW TO STORE OBSERVATIONS
--------------------------
When you identify something worth remembering, output your observation in this EXACT XML format:
\`\`\`xml
<observation>
<type>feature</type>
<text>Implemented JWT token refresh flow with 7-day expiry</text>
</observation>
\`\`\`
Valid types: decision, bugfix, feature, refactor, discovery
Structure requirements:
- <observation> is the root element
- <type> must be one of the 5 valid types (single word)
- <text> contains your concise observation (one sentence preferred)
- No additional fields or nesting
The SDK worker will parse all <observation> blocks from your response using regex and store them in SQLite.
You can include your reasoning before or after the observation block, or just output the observation by itself.
EXAMPLE
-------
Bad: "Read src/auth.ts file"
Good: "Implemented JWT token refresh flow with 7-day expiry"
Wait for tool observations. Acknowledge this message briefly.`}function B1(D){return`TOOL OBSERVATION
================
Tool: ${D.tool_name}
Time: ${new Date(D.created_at_epoch).toISOString()}
Input:
${JSON.stringify(JSON.parse(D.tool_input),null,2)}
Output:
${JSON.stringify(JSON.parse(D.tool_output),null,2)}
ANALYSIS TASK
-------------
1. Does this observation contain something worth remembering?
2. If YES: Output the observation in this EXACT XML format:
\`\`\`xml
<observation>
<type>feature</type>
<text>Your concise observation here</text>
</observation>
\`\`\`
Requirements:
- Use one of these types: decision, bugfix, feature, refactor, discovery
- Keep text concise (one sentence preferred)
- No markdown formatting inside <text>
- No additional XML fields
3. If NO: Just acknowledge and wait for next observation
Remember: Quality over quantity. Only store meaningful insights.`}function E1(D){return`SESSION ENDING
==============
The Claude Code session is finishing.
FINAL TASK
----------
1. Review the observations you've stored this session
2. Generate a structured summary that answers these questions:
- What did user request?
- What did you investigate?
- What did you learn?
- What did you do?
- What's next?
- Files read
- Files edited
- Notes
3. Generate the structured summary and output it in this EXACT XML format:
\`\`\`xml
<summary>
<request>Implement JWT authentication system</request>
<investigated>Existing auth middleware, session management, token storage patterns</investigated>
<learned>Current system uses session cookies; no JWT support; race condition in middleware</learned>
<completed>Implemented JWT token + refresh flow with 7-day expiry; fixed race condition with mutex; added token validation middleware</completed>
<next_steps>Add token revocation API endpoint; write integration tests</next_steps>
<files_read>
<file>src/auth.ts</file>
<file>src/middleware/session.ts</file>
<file>src/types/user.ts</file>
</files_read>
<files_edited>
<file>src/auth.ts</file>
<file>src/middleware/auth.ts</file>
<file>src/routes/auth.ts</file>
</files_edited>
<notes>Token secret stored in .env; refresh tokens use rotation strategy</notes>
</summary>
\`\`\`
Structure requirements:
- <summary> is the root element
- All 8 child elements are REQUIRED: request, investigated, learned, completed, next_steps, files_read, files_edited, notes
- <files_read> and <files_edited> must contain <file> child elements (one per file)
- If no files were read/edited, use empty tags: <files_read></files_read>
- Text fields can be multiple sentences but avoid markdown formatting
- Use underscores in element names: next_steps, files_read, files_edited
The SDK worker will parse the <summary> block and extract all fields to store in SQLite.
Generate the summary now in the required XML format.`}function Q1(D){let u=[],F=/<observation>\s*<type>([^<]+)<\/type>\s*<text>([^<]+)<\/text>\s*<\/observation>/g,C;while((C=F.exec(D))!==null){let B=C[1].trim(),$=C[2].trim();if(!["decision","bugfix","feature","refactor","discovery"].includes(B)){console.warn(`[SDK Parser] Invalid observation type: ${B}, skipping`);continue}u.push({type:B,text:$})}return u}function X1(D){let F=/<summary>([\s\S]*?)<\/summary>/.exec(D);if(!F)return null;let C=F[1],B=Uu(C,"request"),$=Uu(C,"investigated"),E=Uu(C,"learned"),Q=Uu(C,"completed"),X=Uu(C,"next_steps"),Z=Uu(C,"notes"),J=$1(C,"files_read"),V=$1(C,"files_edited");if(!B||!$||!E||!Q||!X||!Z)return console.warn("[SDK Parser] Summary missing required fields"),null;return{request:B,investigated:$,learned:E,completed:Q,next_steps:X,files_read:J,files_edited:V,notes:Z}}function Uu(D,u){let C=new RegExp(`<${u}>([^<]*)</${u}>`).exec(D);return C?C[1].trim():null}function $1(D,u){let F=[],B=new RegExp(`<${u}>(.*?)</${u}>`,"s").exec(D);if(!B)return F;let $=B[1],E=/<file>([^<]+)<\/file>/g,Q;while((Q=E.exec($))!==null)F.push(Q[1].trim());return F}var q1={};M2(q1,{main:()=>BE});import DE from"net";import{unlinkSync as Z1,existsSync as J1}from"fs";import{query as uE}from"@anthropic-ai/claude-agent-sdk";async function BE(){let D=parseInt(process.argv[2],10);if(!D)console.error("[SDK Worker] Missing session ID argument"),process.exit(1);await new Y1(D).run()}class Y1{sessionDbId;db;socketPath;server=null;sdkSessionId=null;project="";userPrompt="";abortController;isFinalized=!1;pendingMessages=[];constructor(D){this.sessionDbId=D,this.db=new QD,this.abortController=new AbortController,this.socketPath=Zu(D)}async run(){try{let D=await this.loadSession();if(!D)console.error("[SDK Worker] Session not found"),process.exit(1);this.project=D.project,this.userPrompt=D.user_prompt,await this.startSocketServer(),console.error(`[SDK Worker] Socket server listening: ${this.socketPath}`),await this.runSDKAgent(),this.db.markSessionCompleted(this.sessionDbId),this.db.close(),this.cleanup()}catch(D){console.error("[SDK Worker] Error:",D.message),this.db.markSessionFailed(this.sessionDbId),this.db.close(),this.cleanup(),process.exit(1)}}async startSocketServer(){if(J1(this.socketPath))Z1(this.socketPath);return new Promise((D,u)=>{this.server=DE.createServer((F)=>{let C="";F.on("data",(B)=>{C+=B.toString();let $=C.split(`
`);C=$.pop()||"";for(let E of $)if(E.trim())try{let Q=JSON.parse(E);this.handleMessage(Q)}catch(Q){console.error("[SDK Worker] Invalid message:",E)}}),F.on("error",(B)=>{console.error("[SDK Worker] Socket connection error:",B.message)})}),this.server.on("error",(F)=>{if(F.code==="EADDRINUSE")console.error(`[SDK Worker] Socket already in use: ${this.socketPath}`);u(F)}),this.server.listen(this.socketPath,()=>{D()})})}handleMessage(D){if(this.pendingMessages.push(D),D.type==="finalize")this.isFinalized=!0}async loadSession(){return this.db.db.query(`
SELECT id, sdk_session_id, project, user_prompt
FROM sdk_sessions
WHERE id = ?
LIMIT 1
`).get(this.sessionDbId)}async runSDKAgent(){await uE({model:FE,messages:()=>this.createMessageGenerator(),disallowedTools:CE,signal:this.abortController.signal,onSystemInitMessage:(D)=>{if(D.session_id)this.sdkSessionId=D.session_id,this.db.updateSDKSessionId(this.sessionDbId,D.session_id)},onAgentMessage:(D)=>{this.handleAgentMessage(D.content)}})}async*createMessageGenerator(){let D=`session-${this.sessionDbId}`;yield{role:"user",content:C1(this.project,D,this.userPrompt)};while(!this.isFinalized){if(this.pendingMessages.length===0){await this.sleep(100);continue}while(this.pendingMessages.length>0){let F=this.pendingMessages.shift();if(F.type==="finalize"){this.isFinalized=!0;let C=await this.loadSession();if(C)yield{role:"user",content:E1(C)};break}if(F.type==="observation")yield{role:"user",content:B1({tool_name:F.tool_name,tool_input:F.tool_input,tool_output:F.tool_output})}}}}handleAgentMessage(D){let u=Q1(D);for(let C of u)if(this.sdkSessionId)this.db.storeObservation(this.sdkSessionId,this.project,C.type,C.text);let F=X1(D);if(F&&this.sdkSessionId){let C={request:F.request,investigated:F.investigated,learned:F.learned,completed:F.completed,next_steps:F.next_steps,files_read:JSON.stringify(F.files_read),files_edited:JSON.stringify(F.files_edited),notes:F.notes};this.db.storeSummary(this.sdkSessionId,this.project,C)}}cleanup(){if(this.server)this.server.close();if(J1(this.socketPath))Z1(this.socketPath)}sleep(D){return new Promise((u)=>setTimeout(u,D))}}var FE="claude-sonnet-4-5",CE;var K1=mD(()=>{Fu();$D();CE=["Glob","Grep","ListMcpResourcesTool","WebSearch"]});var g2=bD(h2(),1),{program:KE,createCommand:VE,createArgument:HE,createOption:AE,CommanderError:zE,InvalidArgumentError:UE,InvalidOptionArgumentError:GE,Command:m2,Argument:WE,Option:_E,Help:jE}=g2.default;import{readFileSync as KC,existsSync as VC}from"fs";import{join as HC,dirname as AC}from"path";import{fileURLToPath as zC}from"url";var c2="claude-mem",d2="3.9.16",l2="Memory compression system for Claude Code - persist context across sessions",p2=c2,i2=d2,n2=l2;try{let D=zC(import.meta.url),u=AC(D),F=HC(u,"..","..","package.json");if(VC(F)){let C=JSON.parse(KC(F,"utf-8"));p2=C.name||c2,i2=C.version||d2,n2=C.description||l2}}catch{}var dD=p2,a2=i2,r2=n2;import{readFileSync as Su,writeFileSync as Ju,existsSync as iD,mkdirSync as R0,copyFileSync as G9,statSync as Z$,readdirSync as J$}from"fs";import{join as Yu,dirname as rF}from"path";import{homedir as P8}from"os";import{execSync as w8}from"child_process";var o=bD(BF(),1),Z3=bD($F(),1);import{stdin as Q3,stdout as X3}from"process";import*as lD from"readline";import e2 from"readline";import{Writable as MC}from"stream";function RC({onlyFirst:D=!1}={}){let u=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");return new RegExp(u,D?void 0:"g")}var LC=RC();function J3(D){if(typeof D!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof D}\``);return D.replace(LC,"")}function Y3(D){return D&&D.__esModule&&Object.prototype.hasOwnProperty.call(D,"default")?D.default:D}var q3={exports:{}};(function(D){var u={};D.exports=u,u.eastAsianWidth=function(C){var B=C.charCodeAt(0),$=C.length==2?C.charCodeAt(1):0,E=B;return 55296<=B&&B<=56319&&56320<=$&&$<=57343&&(B&=1023,$&=1023,E=B<<10|$,E+=65536),E==12288||65281<=E&&E<=65376||65504<=E&&E<=65510?"F":E==8361||65377<=E&&E<=65470||65474<=E&&E<=65479||65482<=E&&E<=65487||65490<=E&&E<=65495||65498<=E&&E<=65500||65512<=E&&E<=65518?"H":4352<=E&&E<=4447||4515<=E&&E<=4519||4602<=E&&E<=4607||9001<=E&&E<=9002||11904<=E&&E<=11929||11931<=E&&E<=12019||12032<=E&&E<=12245||12272<=E&&E<=12283||12289<=E&&E<=12350||12353<=E&&E<=12438||12441<=E&&E<=12543||12549<=E&&E<=12589||12593<=E&&E<=12686||12688<=E&&E<=12730||12736<=E&&E<=12771||12784<=E&&E<=12830||12832<=E&&E<=12871||12880<=E&&E<=13054||13056<=E&&E<=19903||19968<=E&&E<=42124||42128<=E&&E<=42182||43360<=E&&E<=43388||44032<=E&&E<=55203||55216<=E&&E<=55238||55243<=E&&E<=55291||63744<=E&&E<=64255||65040<=E&&E<=65049||65072<=E&&E<=65106||65108<=E&&E<=65126||65128<=E&&E<=65131||110592<=E&&E<=110593||127488<=E&&E<=127490||127504<=E&&E<=127546||127552<=E&&E<=127560||127568<=E&&E<=127569||131072<=E&&E<=194367||177984<=E&&E<=196605||196608<=E&&E<=262141?"W":32<=E&&E<=126||162<=E&&E<=163||165<=E&&E<=166||E==172||E==175||10214<=E&&E<=10221||10629<=E&&E<=10630?"Na":E==161||E==164||167<=E&&E<=168||E==170||173<=E&&E<=174||176<=E&&E<=180||182<=E&&E<=186||188<=E&&E<=191||E==198||E==208||215<=E&&E<=216||222<=E&&E<=225||E==230||232<=E&&E<=234||236<=E&&E<=237||E==240||242<=E&&E<=243||247<=E&&E<=250||E==252||E==254||E==257||E==273||E==275||E==283||294<=E&&E<=295||E==299||305<=E&&E<=307||E==312||319<=E&&E<=322||E==324||328<=E&&E<=331||E==333||338<=E&&E<=339||358<=E&&E<=359||E==363||E==462||E==464||E==466||E==468||E==470||E==472||E==474||E==476||E==593||E==609||E==708||E==711||713<=E&&E<=715||E==717||E==720||728<=E&&E<=731||E==733||E==735||768<=E&&E<=879||913<=E&&E<=929||931<=E&&E<=937||945<=E&&E<=961||963<=E&&E<=969||E==1025||1040<=E&&E<=1103||E==1105||E==8208||8211<=E&&E<=8214||8216<=E&&E<=8217||8220<=E&&E<=8221||8224<=E&&E<=8226||8228<=E&&E<=8231||E==8240||8242<=E&&E<=8243||E==8245||E==8251||E==8254||E==8308||E==8319||8321<=E&&E<=8324||E==8364||E==8451||E==8453||E==8457||E==8467||E==8470||8481<=E&&E<=8482||E==8486||E==8491||8531<=E&&E<=8532||8539<=E&&E<=8542||8544<=E&&E<=8555||8560<=E&&E<=8569||E==8585||8592<=E&&E<=8601||8632<=E&&E<=8633||E==8658||E==8660||E==8679||E==8704||8706<=E&&E<=8707||8711<=E&&E<=8712||E==8715||E==8719||E==8721||E==8725||E==8730||8733<=E&&E<=8736||E==8739||E==8741||8743<=E&&E<=8748||E==8750||8756<=E&&E<=8759||8764<=E&&E<=8765||E==8776||E==8780||E==8786||8800<=E&&E<=8801||8804<=E&&E<=8807||8810<=E&&E<=8811||8814<=E&&E<=8815||8834<=E&&E<=8835||8838<=E&&E<=8839||E==8853||E==8857||E==8869||E==8895||E==8978||9312<=E&&E<=9449||9451<=E&&E<=9547||9552<=E&&E<=9587||9600<=E&&E<=9615||9618<=E&&E<=9621||9632<=E&&E<=9633||9635<=E&&E<=9641||9650<=E&&E<=9651||9654<=E&&E<=9655||9660<=E&&E<=9661||9664<=E&&E<=9665||9670<=E&&E<=9672||E==9675||9678<=E&&E<=9681||9698<=E&&E<=9701||E==9711||9733<=E&&E<=9734||E==9737||9742<=E&&E<=9743||9748<=E&&E<=9749||E==9756||E==9758||E==9792||E==9794||9824<=E&&E<=9825||9827<=E&&E<=9829||9831<=E&&E<=9834||9836<=E&&E<=9837||E==9839||9886<=E&&E<=9887||9918<=E&&E<=9919||9924<=E&&E<=9933||9935<=E&&E<=9953||E==9955||9960<=E&&E<=9983||E==10045||E==10071||10102<=E&&E<=10111||11093<=E&&E<=11097||12872<=E&&E<=12879||57344<=E&&E<=63743||65024<=E&&E<=65039||E==65533||127232<=E&&E<=127242||127248<=E&&E<=127277||127280<=E&&E<=127337||127344<=E&&E<=127386||917760<=E&&E<=917999||983040<=E&&E<=1048573||1048576<=E&&E<=1114109?"A":"N"},u.characterLength=function(C){var B=this.eastAsianWidth(C);return B=="F"||B=="W"||B=="A"?2:1};function F(C){return C.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g)||[]}u.length=function(C){for(var B=F(C),$=0,E=0;E<B.length;E++)$=$+this.characterLength(B[E]);return $},u.slice=function(C,B,$){textLen=u.length(C),B=B||0,$=$||1,B<0&&(B=textLen+B),$<0&&($=textLen+$);for(var E="",Q=0,X=F(C),Z=0;Z<X.length;Z++){var J=X[Z],V=u.length(J);if(Q>=B-(V==2?1:0))if(Q+V<=$)E+=J;else break;Q+=V}return E}})(q3);var IC=q3.exports,NC=Y3(IC),OC=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g},TC=Y3(OC);function ju(D,u={}){if(typeof D!="string"||D.length===0||(u={ambiguousIsNarrow:!0,...u},D=J3(D),D.length===0))return 0;D=D.replace(TC()," ");let F=u.ambiguousIsNarrow?1:2,C=0;for(let B of D){let $=B.codePointAt(0);if($<=31||$>=127&&$<=159||$>=768&&$<=879)continue;switch(NC.eastAsianWidth(B)){case"F":case"W":C+=2;break;case"A":C+=F;break;default:C+=1}}return C}var QF=10,D3=(D=0)=>(u)=>`\x1B[${u+D}m`,u3=(D=0)=>(u)=>`\x1B[${38+D};5;${u}m`,F3=(D=0)=>(u,F,C)=>`\x1B[${38+D};2;${u};${F};${C}m`,v={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Object.keys(v.modifier);var wC=Object.keys(v.color),PC=Object.keys(v.bgColor);[...wC];function SC(){let D=new Map;for(let[u,F]of Object.entries(v)){for(let[C,B]of Object.entries(F))v[C]={open:`\x1B[${B[0]}m`,close:`\x1B[${B[1]}m`},F[C]=v[C],D.set(B[0],B[1]);Object.defineProperty(v,u,{value:F,enumerable:!1})}return Object.defineProperty(v,"codes",{value:D,enumerable:!1}),v.color.close="\x1B[39m",v.bgColor.close="\x1B[49m",v.color.ansi=D3(),v.color.ansi256=u3(),v.color.ansi16m=F3(),v.bgColor.ansi=D3(QF),v.bgColor.ansi256=u3(QF),v.bgColor.ansi16m=F3(QF),Object.defineProperties(v,{rgbToAnsi256:{value:(u,F,C)=>u===F&&F===C?u<8?16:u>248?231:Math.round((u-8)/247*24)+232:16+36*Math.round(u/255*5)+6*Math.round(F/255*5)+Math.round(C/255*5),enumerable:!1},hexToRgb:{value:(u)=>{let F=/[a-f\d]{6}|[a-f\d]{3}/i.exec(u.toString(16));if(!F)return[0,0,0];let[C]=F;C.length===3&&(C=[...C].map(($)=>$+$).join(""));let B=Number.parseInt(C,16);return[B>>16&255,B>>8&255,B&255]},enumerable:!1},hexToAnsi256:{value:(u)=>v.rgbToAnsi256(...v.hexToRgb(u)),enumerable:!1},ansi256ToAnsi:{value:(u)=>{if(u<8)return 30+u;if(u<16)return 90+(u-8);let F,C,B;if(u>=232)F=((u-232)*10+8)/255,C=F,B=F;else{u-=16;let Q=u%36;F=Math.floor(u/36)/5,C=Math.floor(Q/6)/5,B=Q%6/5}let $=Math.max(F,C,B)*2;if($===0)return 30;let E=30+(Math.round(B)<<2|Math.round(C)<<1|Math.round(F));return $===2&&(E+=60),E},enumerable:!1},rgbToAnsi:{value:(u,F,C)=>v.ansi256ToAnsi(v.rgbToAnsi256(u,F,C)),enumerable:!1},hexToAnsi:{value:(u)=>v.ansi256ToAnsi(v.hexToAnsi256(u)),enumerable:!1}}),v}var kC=SC(),$0=new Set(["\x1B","\x9B"]),vC=39,JF="\x07",K3="[",xC="]",V3="m",YF=`${xC}8;;`,C3=(D)=>`${$0.values().next().value}${K3}${D}${V3}`,B3=(D)=>`${$0.values().next().value}${YF}${D}${JF}`,fC=(D)=>D.split(" ").map((u)=>ju(u)),XF=(D,u,F)=>{let C=[...u],B=!1,$=!1,E=ju(J3(D[D.length-1]));for(let[Q,X]of C.entries()){let Z=ju(X);if(E+Z<=F?D[D.length-1]+=X:(D.push(X),E=0),$0.has(X)&&(B=!0,$=C.slice(Q+1).join("").startsWith(YF)),B){$?X===JF&&(B=!1,$=!1):X===V3&&(B=!1);continue}E+=Z,E===F&&Q<C.length-1&&(D.push(""),E=0)}!E&&D[D.length-1].length>0&&D.length>1&&(D[D.length-2]+=D.pop())},bC=(D)=>{let u=D.split(" "),F=u.length;for(;F>0&&!(ju(u[F-1])>0);)F--;return F===u.length?D:u.slice(0,F).join(" ")+u.slice(F).join("")},yC=(D,u,F={})=>{if(F.trim!==!1&&D.trim()==="")return"";let C="",B,$,E=fC(D),Q=[""];for(let[Z,J]of D.split(" ").entries()){F.trim!==!1&&(Q[Q.length-1]=Q[Q.length-1].trimStart());let V=ju(Q[Q.length-1]);if(Z!==0&&(V>=u&&(F.wordWrap===!1||F.trim===!1)&&(Q.push(""),V=0),(V>0||F.trim===!1)&&(Q[Q.length-1]+=" ",V++)),F.hard&&E[Z]>u){let H=u-V,z=1+Math.floor((E[Z]-H-1)/u);Math.floor((E[Z]-1)/u)<z&&Q.push(""),XF(Q,J,u);continue}if(V+E[Z]>u&&V>0&&E[Z]>0){if(F.wordWrap===!1&&V<u){XF(Q,J,u);continue}Q.push("")}if(V+E[Z]>u&&F.wordWrap===!1){XF(Q,J,u);continue}Q[Q.length-1]+=J}F.trim!==!1&&(Q=Q.map((Z)=>bC(Z)));let X=[...Q.join(`
`)];for(let[Z,J]of X.entries()){if(C+=J,$0.has(J)){let{groups:H}=new RegExp(`(?:\\${K3}(?<code>\\d+)m|\\${YF}(?<uri>.*)${JF})`).exec(X.slice(Z).join(""))||{groups:{}};if(H.code!==void 0){let z=Number.parseFloat(H.code);B=z===vC?void 0:z}else H.uri!==void 0&&($=H.uri.length===0?void 0:H.uri)}let V=kC.codes.get(Number(B));X[Z+1]===`
`?($&&(C+=B3("")),B&&V&&(C+=C3(V))):J===`
`&&(B&&V&&(C+=C3(B)),$&&(C+=B3($)))}return C};function E3(D,u,F){return String(D).normalize().replace(/\r\n/g,`
`).split(`
`).map((C)=>yC(C,u,F)).join(`
`)}var hC=["up","down","left","right","space","enter","cancel"],E0={actions:new Set(hC),aliases:new Map([["k","up"],["j","down"],["h","left"],["l","right"],["\x03","cancel"],["escape","cancel"]])};function qF(D,u){if(typeof D=="string")return E0.aliases.get(D)===u;for(let F of D)if(F!==void 0&&qF(F,u))return!0;return!1}function gC(D,u){if(D===u)return;let F=D.split(`
`),C=u.split(`
`),B=[];for(let $=0;$<Math.max(F.length,C.length);$++)F[$]!==C[$]&&B.push($);return B}var mC=globalThis.process.platform.startsWith("win"),ZF=Symbol("clack:cancel");function zD(D){return D===ZF}function B0(D,u){let F=D;F.isTTY&&F.setRawMode(u)}function H3({input:D=Q3,output:u=X3,overwrite:F=!0,hideCursor:C=!0}={}){let B=lD.createInterface({input:D,output:u,prompt:"",tabSize:1});lD.emitKeypressEvents(D,B),D.isTTY&&D.setRawMode(!0);let $=(E,{name:Q,sequence:X})=>{let Z=String(E);if(qF([Z,Q,X],"cancel")){C&&u.write(o.cursor.show),process.exit(0);return}if(!F)return;lD.moveCursor(u,Q==="return"?0:-1,Q==="return"?-1:0,()=>{lD.clearLine(u,1,()=>{D.once("keypress",$)})})};return C&&u.write(o.cursor.hide),D.once("keypress",$),()=>{D.off("keypress",$),C&&u.write(o.cursor.show),D.isTTY&&!mC&&D.setRawMode(!1),B.terminal=!1,B.close()}}var cC=Object.defineProperty,dC=(D,u,F)=>(u in D)?cC(D,u,{enumerable:!0,configurable:!0,writable:!0,value:F}):D[u]=F,YD=(D,u,F)=>(dC(D,typeof u!="symbol"?u+"":u,F),F);class Q0{constructor(D,u=!0){YD(this,"input"),YD(this,"output"),YD(this,"_abortSignal"),YD(this,"rl"),YD(this,"opts"),YD(this,"_render"),YD(this,"_track",!1),YD(this,"_prevFrame",""),YD(this,"_subscribers",new Map),YD(this,"_cursor",0),YD(this,"state","initial"),YD(this,"error",""),YD(this,"value");let{input:F=Q3,output:C=X3,render:B,signal:$,...E}=D;this.opts=E,this.onKeypress=this.onKeypress.bind(this),this.close=this.close.bind(this),this.render=this.render.bind(this),this._render=B.bind(this),this._track=u,this._abortSignal=$,this.input=F,this.output=C}unsubscribe(){this._subscribers.clear()}setSubscriber(D,u){let F=this._subscribers.get(D)??[];F.push(u),this._subscribers.set(D,F)}on(D,u){this.setSubscriber(D,{cb:u})}once(D,u){this.setSubscriber(D,{cb:u,once:!0})}emit(D,...u){let F=this._subscribers.get(D)??[],C=[];for(let B of F)B.cb(...u),B.once&&C.push(()=>F.splice(F.indexOf(B),1));for(let B of C)B()}prompt(){return new Promise((D,u)=>{if(this._abortSignal){if(this._abortSignal.aborted)return this.state="cancel",this.close(),D(ZF);this._abortSignal.addEventListener("abort",()=>{this.state="cancel",this.close()},{once:!0})}let F=new MC;F._write=(C,B,$)=>{this._track&&(this.value=this.rl?.line.replace(/\t/g,""),this._cursor=this.rl?.cursor??0,this.emit("value",this.value)),$()},this.input.pipe(F),this.rl=e2.createInterface({input:this.input,output:F,tabSize:2,prompt:"",escapeCodeTimeout:50,terminal:!0}),e2.emitKeypressEvents(this.input,this.rl),this.rl.prompt(),this.opts.initialValue!==void 0&&this._track&&this.rl.write(this.opts.initialValue),this.input.on("keypress",this.onKeypress),B0(this.input,!0),this.output.on("resize",this.render),this.render(),this.once("submit",()=>{this.output.write(o.cursor.show),this.output.off("resize",this.render),B0(this.input,!1),D(this.value)}),this.once("cancel",()=>{this.output.write(o.cursor.show),this.output.off("resize",this.render),B0(this.input,!1),D(ZF)})})}onKeypress(D,u){if(this.state==="error"&&(this.state="active"),u?.name&&(!this._track&&E0.aliases.has(u.name)&&this.emit("cursor",E0.aliases.get(u.name)),E0.actions.has(u.name)&&this.emit("cursor",u.name)),D&&(D.toLowerCase()==="y"||D.toLowerCase()==="n")&&this.emit("confirm",D.toLowerCase()==="y"),D==="\t"&&this.opts.placeholder&&(this.value||(this.rl?.write(this.opts.placeholder),this.emit("value",this.opts.placeholder))),D&&this.emit("key",D.toLowerCase()),u?.name==="return"){if(this.opts.validate){let F=this.opts.validate(this.value);F&&(this.error=F instanceof Error?F.message:F,this.state="error",this.rl?.write(this.value))}this.state!=="error"&&(this.state="submit")}qF([D,u?.name,u?.sequence],"cancel")&&(this.state="cancel"),(this.state==="submit"||this.state==="cancel")&&this.emit("finalize"),this.render(),(this.state==="submit"||this.state==="cancel")&&this.close()}close(){this.input.unpipe(),this.input.removeListener("keypress",this.onKeypress),this.output.write(`
`),B0(this.input,!1),this.rl?.close(),this.rl=void 0,this.emit(`${this.state}`,this.value),this.unsubscribe()}restoreCursor(){let D=E3(this._prevFrame,process.stdout.columns,{hard:!0}).split(`
`).length-1;this.output.write(o.cursor.move(-999,D*-1))}render(){let D=E3(this._render(this)??"",process.stdout.columns,{hard:!0});if(D!==this._prevFrame){if(this.state==="initial")this.output.write(o.cursor.hide);else{let u=gC(this._prevFrame,D);if(this.restoreCursor(),u&&u?.length===1){let F=u[0];this.output.write(o.cursor.move(0,F)),this.output.write(o.erase.lines(1));let C=D.split(`
`);this.output.write(C[F]),this._prevFrame=D,this.output.write(o.cursor.move(0,C.length-F-1));return}if(u&&u?.length>1){let F=u[0];this.output.write(o.cursor.move(0,F)),this.output.write(o.erase.down());let C=D.split(`
`).slice(F);this.output.write(C.join(`
`)),this._prevFrame=D;return}this.output.write(o.erase.down())}this.output.write(D),this.state==="initial"&&(this.state="active"),this._prevFrame=D}}}class KF extends Q0{get cursor(){return this.value?0:1}get _value(){return this.cursor===0}constructor(D){super(D,!1),this.value=!!D.initialValue,this.on("value",()=>{this.value=this._value}),this.on("confirm",(u)=>{this.output.write(o.cursor.move(0,-1)),this.value=u,this.state="submit",this.close()}),this.on("cursor",()=>{this.value=!this.value})}}var lC;lC=new WeakMap;var pC=Object.defineProperty,iC=(D,u,F)=>(u in D)?pC(D,u,{enumerable:!0,configurable:!0,writable:!0,value:F}):D[u]=F,$3=(D,u,F)=>(iC(D,typeof u!="symbol"?u+"":u,F),F);class VF extends Q0{constructor(D){super(D,!1),$3(this,"options"),$3(this,"cursor",0),this.options=D.options,this.cursor=this.options.findIndex(({value:u})=>u===D.initialValue),this.cursor===-1&&(this.cursor=0),this.changeValue(),this.on("cursor",(u)=>{switch(u){case"left":case"up":this.cursor=this.cursor===0?this.options.length-1:this.cursor-1;break;case"down":case"right":this.cursor=this.cursor===this.options.length-1?0:this.cursor+1;break}this.changeValue()})}get _value(){return this.options[this.cursor]}changeValue(){this.value=this._value.value}}class HF extends Q0{get valueWithCursor(){if(this.state==="submit")return this.value;if(this.cursor>=this.value.length)return`${this.value}\u2588`;let D=this.value.slice(0,this.cursor),[u,...F]=this.value.slice(this.cursor);return`${D}${Z3.default.inverse(u)}${F.join("")}`}get cursor(){return this._cursor}constructor(D){super(D),this.on("finalize",()=>{this.value||(this.value=D.defaultValue)})}}var M=bD($F(),1),X0=bD(BF(),1);import ND from"process";function nC(){return ND.platform!=="win32"?ND.env.TERM!=="linux":!!ND.env.CI||!!ND.env.WT_SESSION||!!ND.env.TERMINUS_SUBLIME||ND.env.ConEmuTask==="{cmd::Cmder}"||ND.env.TERM_PROGRAM==="Terminus-Sublime"||ND.env.TERM_PROGRAM==="vscode"||ND.env.TERM==="xterm-256color"||ND.env.TERM==="alacritty"||ND.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var AF=nC(),c=(D,u)=>AF?D:u,aC=c("\u25C6","*"),A3=c("\u25A0","x"),z3=c("\u25B2","x"),GF=c("\u25C7","o"),mE=c("\u250C","T"),h=c("\u2502","|"),Mu=c("\u2514","\u2014"),zF=c("\u25CF",">"),UF=c("\u25CB"," "),cE=c("\u25FB","[\u2022]"),dE=c("\u25FC","[+]"),lE=c("\u25FB","[ ]"),pE=c("\u25AA","\u2022"),iE=c("\u2500","-"),nE=c("\u256E","+"),aE=c("\u251C","+"),rE=c("\u256F","+"),rC=c("\u25CF","\u2022"),oC=c("\u25C6","*"),sC=c("\u25B2","!"),tC=c("\u25A0","x"),WF=(D)=>{switch(D){case"initial":case"active":return M.default.cyan(aC);case"cancel":return M.default.red(A3);case"error":return M.default.yellow(z3);case"submit":return M.default.green(GF)}},eC=(D)=>{let{cursor:u,options:F,style:C}=D,B=D.maxItems??Number.POSITIVE_INFINITY,$=Math.max(process.stdout.rows-4,0),E=Math.min($,Math.max(B,5)),Q=0;u>=Q+E-3?Q=Math.max(Math.min(u-E+3,F.length-E),0):u<Q+2&&(Q=Math.max(u-2,0));let X=E<F.length&&Q>0,Z=E<F.length&&Q+E<F.length;return F.slice(Q,Q+E).map((J,V,H)=>{let z=V===0&&X,U=V===H.length-1&&Z;return z||U?M.default.dim("..."):C(J,V+Q===u)})},U3=(D)=>new HF({validate:D.validate,placeholder:D.placeholder,defaultValue:D.defaultValue,initialValue:D.initialValue,render(){let u=`${M.default.gray(h)}
${WF(this.state)} ${D.message}
`,F=D.placeholder?M.default.inverse(D.placeholder[0])+M.default.dim(D.placeholder.slice(1)):M.default.inverse(M.default.hidden("_")),C=this.value?this.valueWithCursor:F;switch(this.state){case"error":return`${u.trim()}
${M.default.yellow(h)} ${C}
${M.default.yellow(Mu)} ${M.default.yellow(this.error)}
`;case"submit":return`${u}${M.default.gray(h)} ${M.default.dim(this.value||D.placeholder)}`;case"cancel":return`${u}${M.default.gray(h)} ${M.default.strikethrough(M.default.dim(this.value??""))}${this.value?.trim()?`
${M.default.gray(h)}`:""}`;default:return`${u}${M.default.cyan(h)} ${C}
${M.default.cyan(Mu)}
`}}}).prompt();var Cu=(D)=>{let u=D.active??"Yes",F=D.inactive??"No";return new KF({active:u,inactive:F,initialValue:D.initialValue??!0,render(){let C=`${M.default.gray(h)}
${WF(this.state)} ${D.message}
`,B=this.value?u:F;switch(this.state){case"submit":return`${C}${M.default.gray(h)} ${M.default.dim(B)}`;case"cancel":return`${C}${M.default.gray(h)} ${M.default.strikethrough(M.default.dim(B))}
${M.default.gray(h)}`;default:return`${C}${M.default.cyan(h)} ${this.value?`${M.default.green(zF)} ${u}`:`${M.default.dim(UF)} ${M.default.dim(u)}`} ${M.default.dim("/")} ${this.value?`${M.default.dim(UF)} ${M.default.dim(F)}`:`${M.default.green(zF)} ${F}`}
${M.default.cyan(Mu)}
`}}}).prompt()},Z0=(D)=>{let u=(F,C)=>{let B=F.label??String(F.value);switch(C){case"selected":return`${M.default.dim(B)}`;case"active":return`${M.default.green(zF)} ${B} ${F.hint?M.default.dim(`(${F.hint})`):""}`;case"cancelled":return`${M.default.strikethrough(M.default.dim(B))}`;default:return`${M.default.dim(UF)} ${M.default.dim(B)}`}};return new VF({options:D.options,initialValue:D.initialValue,render(){let F=`${M.default.gray(h)}
${WF(this.state)} ${D.message}
`;switch(this.state){case"submit":return`${F}${M.default.gray(h)} ${u(this.options[this.cursor],"selected")}`;case"cancel":return`${F}${M.default.gray(h)} ${u(this.options[this.cursor],"cancelled")}
${M.default.gray(h)}`;default:return`${F}${M.default.cyan(h)} ${eC({cursor:this.cursor,options:this.options,maxItems:D.maxItems,style:(C,B)=>u(C,B?"active":"inactive")}).join(`
${M.default.cyan(h)} `)}
${M.default.cyan(Mu)}
`}}}).prompt()};var Bu=(D="")=>{process.stdout.write(`${M.default.gray(Mu)} ${M.default.red(D)}
`)};var DD={message:(D="",{symbol:u=M.default.gray(h)}={})=>{let F=[`${M.default.gray(h)}`];if(D){let[C,...B]=D.split(`
`);F.push(`${u} ${C}`,...B.map(($)=>`${M.default.gray(h)} ${$}`))}process.stdout.write(`${F.join(`
`)}
`)},info:(D)=>{DD.message(D,{symbol:M.default.blue(rC)})},success:(D)=>{DD.message(D,{symbol:M.default.green(oC)})},step:(D)=>{DD.message(D,{symbol:M.default.green(GF)})},warn:(D)=>{DD.message(D,{symbol:M.default.yellow(sC)})},warning:(D)=>{DD.warn(D)},error:(D)=>{DD.message(D,{symbol:M.default.red(tC)})}},oE=`${M.default.gray(h)} `;var G3=({indicator:D="dots"}={})=>{let u=AF?["\u25D2","\u25D0","\u25D3","\u25D1"]:["\u2022","o","O","0"],F=AF?80:120,C=process.env.CI==="true",B,$,E=!1,Q="",X,Z=performance.now(),J=(L)=>{let S=L>1?"Something went wrong":"Canceled";E&&R(S,L)},V=()=>J(2),H=()=>J(1),z=()=>{process.on("uncaughtExceptionMonitor",V),process.on("unhandledRejection",V),process.on("SIGINT",H),process.on("SIGTERM",H),process.on("exit",J)},U=()=>{process.removeListener("uncaughtExceptionMonitor",V),process.removeListener("unhandledRejection",V),process.removeListener("SIGINT",H),process.removeListener("SIGTERM",H),process.removeListener("exit",J)},G=()=>{if(X===void 0)return;C&&process.stdout.write(`
`);let L=X.split(`
`);process.stdout.write(X0.cursor.move(-999,L.length-1)),process.stdout.write(X0.erase.down(L.length))},j=(L)=>L.replace(/\.+$/,""),I=(L)=>{let S=(performance.now()-L)/1000,y=Math.floor(S/60),ZD=Math.floor(S%60);return y>0?`[${y}m ${ZD}s]`:`[${ZD}s]`},O=(L="")=>{E=!0,B=H3(),Q=j(L),Z=performance.now(),process.stdout.write(`${M.default.gray(h)}
`);let S=0,y=0;z(),$=setInterval(()=>{if(C&&Q===X)return;G(),X=Q;let ZD=M.default.magenta(u[S]);if(C)process.stdout.write(`${ZD} ${Q}...`);else if(D==="timer")process.stdout.write(`${ZD} ${Q} ${I(Z)}`);else{let SD=".".repeat(Math.floor(y)).slice(0,3);process.stdout.write(`${ZD} ${Q}${SD}`)}S=S+1<u.length?S+1:0,y=y<u.length?y+0.125:0},F)},R=(L="",S=0)=>{E=!1,clearInterval($),G();let y=S===0?M.default.green(GF):S===1?M.default.red(A3):M.default.red(z3);Q=j(L??Q),D==="timer"?process.stdout.write(`${y} ${Q} ${I(Z)}
`):process.stdout.write(`${y} ${Q}
`),U(),B()};return{start:O,stop:R,message:(L="")=>{Q=j(L??Q)}}};var W3=(D=0)=>(u)=>`\x1B[${u+D}m`,_3=(D=0)=>(u)=>`\x1B[${38+D};5;${u}m`,j3=(D=0)=>(u,F,C)=>`\x1B[${38+D};2;${u};${F};${C}m`,x={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]}},tE=Object.keys(x.modifier),D7=Object.keys(x.color),u7=Object.keys(x.bgColor),eE=[...D7,...u7];function F7(){let D=new Map;for(let[u,F]of Object.entries(x)){for(let[C,B]of Object.entries(F))x[C]={open:`\x1B[${B[0]}m`,close:`\x1B[${B[1]}m`},F[C]=x[C],D.set(B[0],B[1]);Object.defineProperty(x,u,{value:F,enumerable:!1})}return Object.defineProperty(x,"codes",{value:D,enumerable:!1}),x.color.close="\x1B[39m",x.bgColor.close="\x1B[49m",x.color.ansi=W3(),x.color.ansi256=_3(),x.color.ansi16m=j3(),x.bgColor.ansi=W3(10),x.bgColor.ansi256=_3(10),x.bgColor.ansi16m=j3(10),Object.defineProperties(x,{rgbToAnsi256:{value(u,F,C){if(u===F&&F===C){if(u<8)return 16;if(u>248)return 231;return Math.round((u-8)/247*24)+232}return 16+36*Math.round(u/255*5)+6*Math.round(F/255*5)+Math.round(C/255*5)},enumerable:!1},hexToRgb:{value(u){let F=/[a-f\d]{6}|[a-f\d]{3}/i.exec(u.toString(16));if(!F)return[0,0,0];let[C]=F;if(C.length===3)C=[...C].map(($)=>$+$).join("");let B=Number.parseInt(C,16);return[B>>16&255,B>>8&255,B&255]},enumerable:!1},hexToAnsi256:{value:(u)=>x.rgbToAnsi256(...x.hexToRgb(u)),enumerable:!1},ansi256ToAnsi:{value(u){if(u<8)return 30+u;if(u<16)return 90+(u-8);let F,C,B;if(u>=232)F=((u-232)*10+8)/255,C=F,B=F;else{u-=16;let Q=u%36;F=Math.floor(u/36)/5,C=Math.floor(Q/6)/5,B=Q%6/5}let $=Math.max(F,C,B)*2;if($===0)return 30;let E=30+(Math.round(B)<<2|Math.round(C)<<1|Math.round(F));if($===2)E+=60;return E},enumerable:!1},rgbToAnsi:{value:(u,F,C)=>x.ansi256ToAnsi(x.rgbToAnsi256(u,F,C)),enumerable:!1},hexToAnsi:{value:(u)=>x.ansi256ToAnsi(x.hexToAnsi256(u)),enumerable:!1}}),x}var C7=F7(),OD=C7;import _F from"process";import B7 from"os";import M3 from"tty";function UD(D,u=globalThis.Deno?globalThis.Deno.args:_F.argv){let F=D.startsWith("-")?"":D.length===1?"-":"--",C=u.indexOf(F+D),B=u.indexOf("--");return C!==-1&&(B===-1||C<B)}var{env:f}=_F,Y0;if(UD("no-color")||UD("no-colors")||UD("color=false")||UD("color=never"))Y0=0;else if(UD("color")||UD("colors")||UD("color=true")||UD("color=always"))Y0=1;function E7(){if("FORCE_COLOR"in f){if(f.FORCE_COLOR==="true")return 1;if(f.FORCE_COLOR==="false")return 0;return f.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(f.FORCE_COLOR,10),3)}}function $7(D){if(D===0)return!1;return{level:D,hasBasic:!0,has256:D>=2,has16m:D>=3}}function Q7(D,{streamIsTTY:u,sniffFlags:F=!0}={}){let C=E7();if(C!==void 0)Y0=C;let B=F?Y0:C;if(B===0)return 0;if(F){if(UD("color=16m")||UD("color=full")||UD("color=truecolor"))return 3;if(UD("color=256"))return 2}if("TF_BUILD"in f&&"AGENT_NAME"in f)return 1;if(D&&!u&&B===void 0)return 0;let $=B||0;if(f.TERM==="dumb")return $;if(_F.platform==="win32"){let E=B7.release().split(".");if(Number(E[0])>=10&&Number(E[2])>=10586)return Number(E[2])>=14931?3:2;return 1}if("CI"in f){if(["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some((E)=>(E in f)))return 3;if(["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some((E)=>(E in f))||f.CI_NAME==="codeship")return 1;return $}if("TEAMCITY_VERSION"in f)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(f.TEAMCITY_VERSION)?1:0;if(f.COLORTERM==="truecolor")return 3;if(f.TERM==="xterm-kitty")return 3;if(f.TERM==="xterm-ghostty")return 3;if(f.TERM==="wezterm")return 3;if("TERM_PROGRAM"in f){let E=Number.parseInt((f.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(f.TERM_PROGRAM){case"iTerm.app":return E>=3?3:2;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(f.TERM))return 2;if(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(f.TERM))return 1;if("COLORTERM"in f)return 1;return $}function R3(D,u={}){let F=Q7(D,{streamIsTTY:D&&D.isTTY,...u});return $7(F)}var X7={stdout:R3({isTTY:M3.isatty(1)}),stderr:R3({isTTY:M3.isatty(2)})},L3=X7;function I3(D,u,F){let C=D.indexOf(u);if(C===-1)return D;let B=u.length,$=0,E="";do E+=D.slice($,C)+u+F,$=C+B,C=D.indexOf(u,$);while(C!==-1);return E+=D.slice($),E}function N3(D,u,F,C){let B=0,$="";do{let E=D[C-1]==="\r";$+=D.slice(B,E?C-1:C)+u+(E?`\r
`:`
`)+F,B=C+1,C=D.indexOf(`
`,B)}while(C!==-1);return $+=D.slice(B),$}var{stdout:O3,stderr:T3}=L3,jF=Symbol("GENERATOR"),Eu=Symbol("STYLER"),Ru=Symbol("IS_EMPTY"),w3=["ansi","ansi","ansi256","ansi16m"],$u=Object.create(null),Z7=(D,u={})=>{if(u.level&&!(Number.isInteger(u.level)&&u.level>=0&&u.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let F=O3?O3.level:0;D.level=u.level===void 0?F:u.level};var J7=(D)=>{let u=(...F)=>F.join(" ");return Z7(u,D),Object.setPrototypeOf(u,Lu.prototype),u};function Lu(D){return J7(D)}Object.setPrototypeOf(Lu.prototype,Function.prototype);for(let[D,u]of Object.entries(OD))$u[D]={get(){let F=q0(this,RF(u.open,u.close,this[Eu]),this[Ru]);return Object.defineProperty(this,D,{value:F}),F}};$u.visible={get(){let D=q0(this,this[Eu],!0);return Object.defineProperty(this,"visible",{value:D}),D}};var MF=(D,u,F,...C)=>{if(D==="rgb"){if(u==="ansi16m")return OD[F].ansi16m(...C);if(u==="ansi256")return OD[F].ansi256(OD.rgbToAnsi256(...C));return OD[F].ansi(OD.rgbToAnsi(...C))}if(D==="hex")return MF("rgb",u,F,...OD.hexToRgb(...C));return OD[F][D](...C)},Y7=["rgb","hex","ansi256"];for(let D of Y7){$u[D]={get(){let{level:F}=this;return function(...C){let B=RF(MF(D,w3[F],"color",...C),OD.color.close,this[Eu]);return q0(this,B,this[Ru])}}};let u="bg"+D[0].toUpperCase()+D.slice(1);$u[u]={get(){let{level:F}=this;return function(...C){let B=RF(MF(D,w3[F],"bgColor",...C),OD.bgColor.close,this[Eu]);return q0(this,B,this[Ru])}}}}var q7=Object.defineProperties(()=>{},{...$u,level:{enumerable:!0,get(){return this[jF].level},set(D){this[jF].level=D}}}),RF=(D,u,F)=>{let C,B;if(F===void 0)C=D,B=u;else C=F.openAll+D,B=u+F.closeAll;return{open:D,close:u,openAll:C,closeAll:B,parent:F}},q0=(D,u,F)=>{let C=(...B)=>K7(C,B.length===1?""+B[0]:B.join(" "));return Object.setPrototypeOf(C,q7),C[jF]=D,C[Eu]=u,C[Ru]=F,C},K7=(D,u)=>{if(D.level<=0||!u)return D[Ru]?"":u;let F=D[Eu];if(F===void 0)return u;let{openAll:C,closeAll:B}=F;if(u.includes("\x1B"))while(F!==void 0)u=I3(u,F.close,F.open),F=F.parent;let $=u.indexOf(`
`);if($!==-1)u=N3(u,B,C,$);return C+u+B};Object.defineProperties(Lu.prototype,$u);var V7=Lu(),Z5=Lu({level:T3?T3.level:0});var N=V7;var wF=bD(y3(),1),s=(...D)=>{let u,F;if(D.length===0)throw new Error("Missing gradient colors");if(!Array.isArray(D[0])){if(D.length===1)throw new Error(`Expected an array of colors, received ${JSON.stringify(D[0])}`);u=wF.default(...D)}else u=wF.default(D[0]),F=PF(D[1]);let C=(B,$)=>{return H7(B?B.toString():"",u,$??F)};return C.multiline=(B,$)=>A7(B?B.toString():"",u,$??F),C},h3=(D,u,F)=>{return u.interpolation?.toLowerCase()==="hsv"?D.hsv(F,u.hsvSpin?.toLowerCase()||!1):D.rgb(F)};function H7(D,u,F){let C=PF(F),B=Math.max(D.replace(/\s/g,"").length,u.stops.length),$=h3(u,C,B),E="";for(let Q of D)E+=Q.match(/\s/g)?Q:N.hex($.shift()?.toHex()||"#000")(Q);return E}function A7(D,u,F){let C=PF(F),B=D.split(`
`),$=Math.max(...B.map((X)=>X.length),u.stops.length),E=h3(u,C,$),Q=[];for(let X of B){let Z=E.slice(0),J="";for(let V of X)J+=N.hex(Z.shift()?.toHex()||"#000")(V);Q.push(J)}return Q.join(`
`)}function PF(D){let u={interpolation:"rgb",hsvSpin:"short",...D};if(D!==void 0&&typeof D!=="object")throw new TypeError(`Expected \`options\` to be an \`object\`, got \`${typeof D}\``);if(typeof u.interpolation!=="string")throw new TypeError(`Expected \`options.interpolation\` to be \`rgb\` or \`hsv\`, got \`${typeof u.interpolation}\``);if(u.interpolation.toLowerCase()==="hsv"&&typeof u.hsvSpin!=="string")throw new TypeError(`Expected \`options.hsvSpin\` to be a \`short\` or \`long\`, got \`${typeof u.hsvSpin}\``);return u}var qD={atlas:{colors:["#feac5e","#c779d0","#4bc0c8"],options:{}},cristal:{colors:["#bdfff3","#4ac29a"],options:{}},teen:{colors:["#77a1d3","#79cbca","#e684ae"],options:{}},mind:{colors:["#473b7b","#3584a7","#30d2be"],options:{}},morning:{colors:["#ff5f6d","#ffc371"],options:{interpolation:"hsv"}},vice:{colors:["#5ee7df","#b490ca"],options:{interpolation:"hsv"}},passion:{colors:["#f43b47","#453a94"],options:{}},fruit:{colors:["#ff4e50","#f9d423"],options:{}},instagram:{colors:["#833ab4","#fd1d1d","#fcb045"],options:{}},retro:{colors:["#3f51b1","#5a55ae","#7b5fac","#8f6aae","#a86aa4","#cc6b8e","#f18271","#f3a469","#f7c978"],options:{}},summer:{colors:["#fdbb2d","#22c1c3"],options:{}},rainbow:{colors:["#ff0000","#ff0100"],options:{interpolation:"hsv",hsvSpin:"long"}},pastel:{colors:["#74ebd5","#74ecd5"],options:{interpolation:"hsv",hsvSpin:"long"}}};function KD(D){let u=(F)=>s(...D.colors)(F,D.options);return u.multiline=(F="")=>s(...D.colors).multiline(F,D.options),u}var SF=s,z7=KD(qD.atlas),U7=KD(qD.cristal),G7=KD(qD.teen),W7=KD(qD.mind),_7=KD(qD.morning),j7=KD(qD.vice),M7=KD(qD.passion),R7=KD(qD.fruit),L7=KD(qD.instagram),I7=KD(qD.retro),N7=KD(qD.summer),O7=KD(qD.rainbow),T7=KD(qD.pastel);s.atlas=z7;s.cristal=U7;s.teen=G7;s.mind=W7;s.morning=_7;s.vice=j7;s.passion=M7;s.fruit=R7;s.instagram=L7;s.retro=I7;s.summer=N7;s.rainbow=O7;s.pastel=T7;import U0 from"process";function kF({onlyFirst:D=!1}={}){return new RegExp("(?:\\u001B\\][\\s\\S]*?(?:\\u0007|\\u001B\\u005C|\\u009C))|[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]",D?void 0:"g")}var w7=kF();function Nu(D){if(typeof D!=="string")throw new TypeError(`Expected a \`string\`, got \`${typeof D}\``);return D.replace(w7,"")}function g3(D){return D===161||D===164||D===167||D===168||D===170||D===173||D===174||D>=176&&D<=180||D>=182&&D<=186||D>=188&&D<=191||D===198||D===208||D===215||D===216||D>=222&&D<=225||D===230||D>=232&&D<=234||D===236||D===237||D===240||D===242||D===243||D>=247&&D<=250||D===252||D===254||D===257||D===273||D===275||D===283||D===294||D===295||D===299||D>=305&&D<=307||D===312||D>=319&&D<=322||D===324||D>=328&&D<=331||D===333||D===338||D===339||D===358||D===359||D===363||D===462||D===464||D===466||D===468||D===470||D===472||D===474||D===476||D===593||D===609||D===708||D===711||D>=713&&D<=715||D===717||D===720||D>=728&&D<=731||D===733||D===735||D>=768&&D<=879||D>=913&&D<=929||D>=931&&D<=937||D>=945&&D<=961||D>=963&&D<=969||D===1025||D>=1040&&D<=1103||D===1105||D===8208||D>=8211&&D<=8214||D===8216||D===8217||D===8220||D===8221||D>=8224&&D<=8226||D>=8228&&D<=8231||D===8240||D===8242||D===8243||D===8245||D===8251||D===8254||D===8308||D===8319||D>=8321&&D<=8324||D===8364||D===8451||D===8453||D===8457||D===8467||D===8470||D===8481||D===8482||D===8486||D===8491||D===8531||D===8532||D>=8539&&D<=8542||D>=8544&&D<=8555||D>=8560&&D<=8569||D===8585||D>=8592&&D<=8601||D===8632||D===8633||D===8658||D===8660||D===8679||D===8704||D===8706||D===8707||D===8711||D===8712||D===8715||D===8719||D===8721||D===8725||D===8730||D>=8733&&D<=8736||D===8739||D===8741||D>=8743&&D<=8748||D===8750||D>=8756&&D<=8759||D===8764||D===8765||D===8776||D===8780||D===8786||D===8800||D===8801||D>=8804&&D<=8807||D===8810||D===8811||D===8814||D===8815||D===8834||D===8835||D===8838||D===8839||D===8853||D===8857||D===8869||D===8895||D===8978||D>=9312&&D<=9449||D>=9451&&D<=9547||D>=9552&&D<=9587||D>=9600&&D<=9615||D>=9618&&D<=9621||D===9632||D===9633||D>=9635&&D<=9641||D===9650||D===9651||D===9654||D===9655||D===9660||D===9661||D===9664||D===9665||D>=9670&&D<=9672||D===9675||D>=9678&&D<=9681||D>=9698&&D<=9701||D===9711||D===9733||D===9734||D===9737||D===9742||D===9743||D===9756||D===9758||D===9792||D===9794||D===9824||D===9825||D>=9827&&D<=9829||D>=9831&&D<=9834||D===9836||D===9837||D===9839||D===9886||D===9887||D===9919||D>=9926&&D<=9933||D>=9935&&D<=9939||D>=9941&&D<=9953||D===9955||D===9960||D===9961||D>=9963&&D<=9969||D===9972||D>=9974&&D<=9977||D===9979||D===9980||D===9982||D===9983||D===10045||D>=10102&&D<=10111||D>=11094&&D<=11097||D>=12872&&D<=12879||D>=57344&&D<=63743||D>=65024&&D<=65039||D===65533||D>=127232&&D<=127242||D>=127248&&D<=127277||D>=127280&&D<=127337||D>=127344&&D<=127373||D===127375||D===127376||D>=127387&&D<=127404||D>=917760&&D<=917999||D>=983040&&D<=1048573||D>=1048576&&D<=1114109}function m3(D){return D===12288||D>=65281&&D<=65376||D>=65504&&D<=65510}function c3(D){return D>=4352&&D<=4447||D===8986||D===8987||D===9001||D===9002||D>=9193&&D<=9196||D===9200||D===9203||D===9725||D===9726||D===9748||D===9749||D>=9776&&D<=9783||D>=9800&&D<=9811||D===9855||D>=9866&&D<=9871||D===9875||D===9889||D===9898||D===9899||D===9917||D===9918||D===9924||D===9925||D===9934||D===9940||D===9962||D===9970||D===9971||D===9973||D===9978||D===9981||D===9989||D===9994||D===9995||D===10024||D===10060||D===10062||D>=10067&&D<=10069||D===10071||D>=10133&&D<=10135||D===10160||D===10175||D===11035||D===11036||D===11088||D===11093||D>=11904&&D<=11929||D>=11931&&D<=12019||D>=12032&&D<=12245||D>=12272&&D<=12287||D>=12289&&D<=12350||D>=12353&&D<=12438||D>=12441&&D<=12543||D>=12549&&D<=12591||D>=12593&&D<=12686||D>=12688&&D<=12773||D>=12783&&D<=12830||D>=12832&&D<=12871||D>=12880&&D<=42124||D>=42128&&D<=42182||D>=43360&&D<=43388||D>=44032&&D<=55203||D>=63744&&D<=64255||D>=65040&&D<=65049||D>=65072&&D<=65106||D>=65108&&D<=65126||D>=65128&&D<=65131||D>=94176&&D<=94180||D>=94192&&D<=94198||D>=94208&&D<=101589||D>=101631&&D<=101662||D>=101760&&D<=101874||D>=110576&&D<=110579||D>=110581&&D<=110587||D===110589||D===110590||D>=110592&&D<=110882||D===110898||D>=110928&&D<=110930||D===110933||D>=110948&&D<=110951||D>=110960&&D<=111355||D>=119552&&D<=119638||D>=119648&&D<=119670||D===126980||D===127183||D===127374||D>=127377&&D<=127386||D>=127488&&D<=127490||D>=127504&&D<=127547||D>=127552&&D<=127560||D===127568||D===127569||D>=127584&&D<=127589||D>=127744&&D<=127776||D>=127789&&D<=127797||D>=127799&&D<=127868||D>=127870&&D<=127891||D>=127904&&D<=127946||D>=127951&&D<=127955||D>=127968&&D<=127984||D===127988||D>=127992&&D<=128062||D===128064||D>=128066&&D<=128252||D>=128255&&D<=128317||D>=128331&&D<=128334||D>=128336&&D<=128359||D===128378||D===128405||D===128406||D===128420||D>=128507&&D<=128591||D>=128640&&D<=128709||D===128716||D>=128720&&D<=128722||D>=128725&&D<=128728||D>=128732&&D<=128735||D===128747||D===128748||D>=128756&&D<=128764||D>=128992&&D<=129003||D===129008||D>=129292&&D<=129338||D>=129340&&D<=129349||D>=129351&&D<=129535||D>=129648&&D<=129660||D>=129664&&D<=129674||D>=129678&&D<=129734||D===129736||D>=129741&&D<=129756||D>=129759&&D<=129770||D>=129775&&D<=129784||D>=131072&&D<=196605||D>=196608&&D<=262141}function P7(D){if(!Number.isSafeInteger(D))throw new TypeError(`Expected a code point, got \`${typeof D}\`.`)}function d3(D,{ambiguousAsWide:u=!1}={}){if(P7(D),m3(D)||c3(D)||u&&g3(D))return 2;return 1}var l3=()=>{return/[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E-\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED8\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])))?))?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3C-\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE8A\uDE8E-\uDEC2\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF]|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g};var S7=new Intl.Segmenter,k7=/^\p{Default_Ignorable_Code_Point}$/u;function uD(D,u={}){if(typeof D!=="string"||D.length===0)return 0;let{ambiguousIsNarrow:F=!0,countAnsiEscapeCodes:C=!1}=u;if(!C)D=Nu(D);if(D.length===0)return 0;let B=0,$={ambiguousAsWide:!F};for(let{segment:E}of S7.segment(D)){let Q=E.codePointAt(0);if(Q<=31||Q>=127&&Q<=159)continue;if(Q>=8203&&Q<=8207||Q===65279)continue;if(Q>=768&&Q<=879||Q>=6832&&Q<=6911||Q>=7616&&Q<=7679||Q>=8400&&Q<=8447||Q>=65056&&Q<=65071)continue;if(Q>=55296&&Q<=57343)continue;if(Q>=65024&&Q<=65039)continue;if(k7.test(E))continue;if(l3().test(E)){B+=2;continue}B+=d3(Q,$)}return B}function V0(D){let u=0;for(let F of D.split(`
`))u=Math.max(u,uD(F));return u}var W8=bD(xF(),1);var x7=/[\p{Lu}]/u,f7=/[\p{Ll}]/u,n3=/^[\p{Lu}](?![\p{Lu}])/gu,o3=/([\p{Alpha}\p{N}_]|$)/u,fF=/[_.\- ]+/,b7=new RegExp("^"+fF.source),a3=new RegExp(fF.source+o3.source,"gu"),r3=new RegExp("\\d+"+o3.source,"gu"),y7=(D,u,F,C)=>{let B=!1,$=!1,E=!1,Q=!1;for(let X=0;X<D.length;X++){let Z=D[X];if(Q=X>2?D[X-3]==="-":!0,B&&x7.test(Z))D=D.slice(0,X)+"-"+D.slice(X),B=!1,E=$,$=!0,X++;else if($&&E&&f7.test(Z)&&(!Q||C))D=D.slice(0,X-1)+"-"+D.slice(X-1),E=$,$=!1,B=!0;else B=u(Z)===Z&&F(Z)!==Z,E=$,$=F(Z)===Z&&u(Z)!==Z}return D},h7=(D,u)=>{return n3.lastIndex=0,D.replaceAll(n3,(F)=>u(F))},g7=(D,u)=>{return a3.lastIndex=0,r3.lastIndex=0,D.replaceAll(r3,(F,C,B)=>["_","-"].includes(D.charAt(B+F.length))?F:u(F)).replaceAll(a3,(F,C)=>u(C))};function bF(D,u){if(!(typeof D==="string"||Array.isArray(D)))throw new TypeError("Expected the input to be `string | string[]`");if(u={pascalCase:!1,preserveConsecutiveUppercase:!1,...u},Array.isArray(D))D=D.map(($)=>$.trim()).filter(($)=>$.length).join("-");else D=D.trim();if(D.length===0)return"";let F=u.locale===!1?($)=>$.toLowerCase():($)=>$.toLocaleLowerCase(u.locale),C=u.locale===!1?($)=>$.toUpperCase():($)=>$.toLocaleUpperCase(u.locale);if(D.length===1){if(fF.test(D))return"";return u.pascalCase?C(D):F(D)}if(D!==F(D))D=y7(D,F,C,u.preserveConsecutiveUppercase);if(D=D.replace(b7,""),D=u.preserveConsecutiveUppercase?h7(D,F):F(D),u.pascalCase)D=C(D.charAt(0))+D.slice(1);return g7(D,C)}var cF=bD(X8(),1);var Z8=(D=0)=>(u)=>`\x1B[${u+D}m`,J8=(D=0)=>(u)=>`\x1B[${38+D};5;${u}m`,Y8=(D=0)=>(u,F,C)=>`\x1B[${38+D};2;${u};${F};${C}m`,b={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]}},b5=Object.keys(b.modifier),a7=Object.keys(b.color),r7=Object.keys(b.bgColor),y5=[...a7,...r7];function o7(){let D=new Map;for(let[u,F]of Object.entries(b)){for(let[C,B]of Object.entries(F))b[C]={open:`\x1B[${B[0]}m`,close:`\x1B[${B[1]}m`},F[C]=b[C],D.set(B[0],B[1]);Object.defineProperty(b,u,{value:F,enumerable:!1})}return Object.defineProperty(b,"codes",{value:D,enumerable:!1}),b.color.close="\x1B[39m",b.bgColor.close="\x1B[49m",b.color.ansi=Z8(),b.color.ansi256=J8(),b.color.ansi16m=Y8(),b.bgColor.ansi=Z8(10),b.bgColor.ansi256=J8(10),b.bgColor.ansi16m=Y8(10),Object.defineProperties(b,{rgbToAnsi256:{value(u,F,C){if(u===F&&F===C){if(u<8)return 16;if(u>248)return 231;return Math.round((u-8)/247*24)+232}return 16+36*Math.round(u/255*5)+6*Math.round(F/255*5)+Math.round(C/255*5)},enumerable:!1},hexToRgb:{value(u){let F=/[a-f\d]{6}|[a-f\d]{3}/i.exec(u.toString(16));if(!F)return[0,0,0];let[C]=F;if(C.length===3)C=[...C].map(($)=>$+$).join("");let B=Number.parseInt(C,16);return[B>>16&255,B>>8&255,B&255]},enumerable:!1},hexToAnsi256:{value:(u)=>b.rgbToAnsi256(...b.hexToRgb(u)),enumerable:!1},ansi256ToAnsi:{value(u){if(u<8)return 30+u;if(u<16)return 90+(u-8);let F,C,B;if(u>=232)F=((u-232)*10+8)/255,C=F,B=F;else{u-=16;let Q=u%36;F=Math.floor(u/36)/5,C=Math.floor(Q/6)/5,B=Q%6/5}let $=Math.max(F,C,B)*2;if($===0)return 30;let E=30+(Math.round(B)<<2|Math.round(C)<<1|Math.round(F));if($===2)E+=60;return E},enumerable:!1},rgbToAnsi:{value:(u,F,C)=>b.ansi256ToAnsi(b.rgbToAnsi256(u,F,C)),enumerable:!1},hexToAnsi:{value:(u)=>b.ansi256ToAnsi(b.hexToAnsi256(u)),enumerable:!1}}),b}var s7=o7(),q8=s7;var A0=new Set(["\x1B","\x9B"]),t7=39,mF="\x07",H8="[",e7="]",A8="m",H0=`${e7}8;;`,K8=(D)=>`${A0.values().next().value}${H8}${D}${A8}`,V8=(D)=>`${A0.values().next().value}${H0}${D}${mF}`,D9=(D)=>D.split(" ").map((u)=>uD(u)),gF=(D,u,F)=>{let C=[...u],B=!1,$=!1,E=uD(Nu(D.at(-1)));for(let[Q,X]of C.entries()){let Z=uD(X);if(E+Z<=F)D[D.length-1]+=X;else D.push(X),E=0;if(A0.has(X))B=!0,$=C.slice(Q+1,Q+1+H0.length).join("")===H0;if(B){if($){if(X===mF)B=!1,$=!1}else if(X===A8)B=!1;continue}if(E+=Z,E===F&&Q<C.length-1)D.push(""),E=0}if(!E&&D.at(-1).length>0&&D.length>1)D[D.length-2]+=D.pop()},u9=(D)=>{let u=D.split(" "),F=u.length;while(F>0){if(uD(u[F-1])>0)break;F--}if(F===u.length)return D;return u.slice(0,F).join(" ")+u.slice(F).join("")},F9=(D,u,F={})=>{if(F.trim!==!1&&D.trim()==="")return"";let C="",B,$,E=D9(D),Q=[""];for(let[V,H]of D.split(" ").entries()){if(F.trim!==!1)Q[Q.length-1]=Q.at(-1).trimStart();let z=uD(Q.at(-1));if(V!==0){if(z>=u&&(F.wordWrap===!1||F.trim===!1))Q.push(""),z=0;if(z>0||F.trim===!1)Q[Q.length-1]+=" ",z++}if(F.hard&&E[V]>u){let U=u-z,G=1+Math.floor((E[V]-U-1)/u);if(Math.floor((E[V]-1)/u)<G)Q.push("");gF(Q,H,u);continue}if(z+E[V]>u&&z>0&&E[V]>0){if(F.wordWrap===!1&&z<u){gF(Q,H,u);continue}Q.push("")}if(z+E[V]>u&&F.wordWrap===!1){gF(Q,H,u);continue}Q[Q.length-1]+=H}if(F.trim!==!1)Q=Q.map((V)=>u9(V));let X=Q.join(`
`),Z=[...X],J=0;for(let[V,H]of Z.entries()){if(C+=H,A0.has(H)){let{groups:U}=new RegExp(`(?:\\${H8}(?<code>\\d+)m|\\${H0}(?<uri>.*)${mF})`).exec(X.slice(J))||{groups:{}};if(U.code!==void 0){let G=Number.parseFloat(U.code);B=G===t7?void 0:G}else if(U.uri!==void 0)$=U.uri.length===0?void 0:U.uri}let z=q8.codes.get(Number(B));if(Z[V+1]===`
`){if($)C+=V8("");if(B&&z)C+=K8(z)}else if(H===`
`){if(B&&z)C+=K8(B);if($)C+=V8($)}J+=H.length}return C};function z0(D,u,F){return String(D).normalize().replaceAll(`\r
`,`
`).split(`
`).map((C)=>F9(C,u,F)).join(`
`)}var Y9=bD(xF(),1),pD=`
`,VD=" ",Ou="none",_8=()=>{let{env:D,stdout:u,stderr:F}=U0;if(u?.columns)return u.columns;if(F?.columns)return F.columns;if(D.COLUMNS)return Number.parseInt(D.COLUMNS,10);return 80},z8=(D)=>typeof D==="number"?{top:D,right:D*3,bottom:D,left:D*3}:{top:0,right:0,bottom:0,left:0,...D},Tu=(D)=>D===Ou?0:2,C9=(D)=>{let u=["topLeft","topRight","bottomRight","bottomLeft","left","right","top","bottom"],F;if(D===Ou){D={};for(let C of u)D[C]=""}if(typeof D==="string"){if(F=W8.default[D],!F)throw new TypeError(`Invalid border style: ${D}`)}else{if(typeof D?.vertical==="string")D.left=D.vertical,D.right=D.vertical;if(typeof D?.horizontal==="string")D.top=D.horizontal,D.bottom=D.horizontal;for(let C of u)if(D[C]===null||typeof D[C]!=="string")throw new TypeError(`Invalid border style: ${C}`);F=D}return F},B9=(D,u,F)=>{let C="",B=uD(D);switch(F){case"left":{C=D+u.slice(B);break}case"right":{C=u.slice(B)+D;break}default:{if(u=u.slice(B),u.length%2===1)u=u.slice(Math.floor(u.length/2)),C=u.slice(1)+D+u;else u=u.slice(u.length/2),C=u+D+u;break}}return C},E9=(D,{padding:u,width:F,textAlignment:C,height:B})=>{D=cF.default(D,{align:C});let $=D.split(pD),E=V0(D),Q=F-u.left-u.right;if(E>Q){let J=[];for(let V of $){let H=z0(V,Q,{hard:!0}),U=cF.default(H,{align:C}).split(`
`),G=Math.max(...U.map((j)=>uD(j)));for(let j of U){let I;switch(C){case"center":{I=VD.repeat((Q-G)/2)+j;break}case"right":{I=VD.repeat(Q-G)+j;break}default:{I=j;break}}J.push(I)}}$=J}if(C==="center"&&E<Q)$=$.map((J)=>VD.repeat((Q-E)/2)+J);else if(C==="right"&&E<Q)$=$.map((J)=>VD.repeat(Q-E)+J);let X=VD.repeat(u.left),Z=VD.repeat(u.right);if($=$.map((J)=>{let V=X+J+Z;return V+VD.repeat(F-uD(V))}),u.top>0)$=[...Array.from({length:u.top}).fill(VD.repeat(F)),...$];if(u.bottom>0)$=[...$,...Array.from({length:u.bottom}).fill(VD.repeat(F))];if(B&&$.length>B)$=$.slice(0,B);else if(B&&$.length<B)$=[...$,...Array.from({length:B-$.length}).fill(VD.repeat(F))];return $.join(pD)},$9=(D,u,F)=>{let C=(J)=>{let V=F.borderColor?Z9(F.borderColor)(J):J;return F.dimBorder?N.dim(V):V},B=(J)=>F.backgroundColor?J9(F.backgroundColor)(J):J,$=C9(F.borderStyle),E=_8(),Q=VD.repeat(F.margin.left);if(F.float==="center"){let J=Math.max((E-u-Tu(F.borderStyle))/2,0);Q=VD.repeat(J)}else if(F.float==="right"){let J=Math.max(E-u-F.margin.right-Tu(F.borderStyle),0);Q=VD.repeat(J)}let X="";if(F.margin.top)X+=pD.repeat(F.margin.top);if(F.borderStyle!==Ou||F.title)X+=C(Q+$.topLeft+(F.title?B9(F.title,$.top.repeat(u),F.titleAlignment):$.top.repeat(u))+$.topRight)+pD;let Z=D.split(pD);if(X+=Z.map((J)=>Q+C($.left)+B(J)+C($.right)).join(pD),F.borderStyle!==Ou)X+=pD+C(Q+$.bottomLeft+$.bottom.repeat(u)+$.bottomRight);if(F.margin.bottom)X+=pD.repeat(F.margin.bottom);return X},Q9=(D)=>{if(D.fullscreen&&U0?.stdout){let u=[U0.stdout.columns,U0.stdout.rows];if(typeof D.fullscreen==="function")u=D.fullscreen(...u);D.width||=u[0],D.height||=u[1]}return D.width&&=Math.max(1,D.width-Tu(D.borderStyle)),D.height&&=Math.max(1,D.height-Tu(D.borderStyle)),D},U8=(D,u)=>u===Ou?D:` ${D} `,X9=(D,u)=>{u=Q9(u);let F=u.width!==void 0,C=_8(),B=Tu(u.borderStyle),$=C-u.margin.left-u.margin.right-B,E=V0(z0(D,C-B,{hard:!0,trim:!1}))+u.padding.left+u.padding.right;if(u.title&&F)u.title=u.title.slice(0,Math.max(0,u.width-2)),u.title&&=U8(u.title,u.borderStyle);else if(u.title){if(u.title=u.title.slice(0,Math.max(0,$-2)),u.title){if(u.title=U8(u.title,u.borderStyle),uD(u.title)>E)u.width=uD(u.title)}}if(u.width||=E,!F){if(u.margin.left&&u.margin.right&&u.width>$){let X=(C-u.width-B)/(u.margin.left+u.margin.right);u.margin.left=Math.max(0,Math.floor(u.margin.left*X)),u.margin.right=Math.max(0,Math.floor(u.margin.right*X))}u.width=Math.min(u.width,C-B-u.margin.left-u.margin.right)}if(u.width-(u.padding.left+u.padding.right)<=0)u.padding.left=0,u.padding.right=0;if(u.height&&u.height-(u.padding.top+u.padding.bottom)<=0)u.padding.top=0,u.padding.bottom=0;return u},dF=(D)=>D.match(/^#(?:[0-f]{3}){1,2}$/i),G8=(D)=>typeof D==="string"&&(N[D]??dF(D)),Z9=(D)=>dF(D)?N.hex(D):N[D],J9=(D)=>dF(D)?N.bgHex(D):N[bF(["bg",D])];function G0(D,u){if(u={padding:0,borderStyle:"single",dimBorder:!1,textAlignment:"left",float:"left",titleAlignment:"left",...u},u.align)u.textAlignment=u.align;if(u.borderColor&&!G8(u.borderColor))throw new Error(`${u.borderColor} is not a valid borderColor`);if(u.backgroundColor&&!G8(u.backgroundColor))throw new Error(`${u.backgroundColor} is not a valid backgroundColor`);return u.padding=z8(u.padding),u.margin=z8(u.margin),u=X9(D,u),D=E9(D,u),$9(D,u.width,u)}import{platform as q9,homedir as K9}from"os";import{execSync as j8}from"child_process";import{join as wu}from"path";var lF=q9()==="win32",W0={installUv:()=>{if(lF)j8('powershell -Command "irm https://astral.sh/uv/install.ps1 | iex"',{stdio:"pipe"});else j8("curl -LsSf https://astral.sh/uv/install.sh | sh",{stdio:"pipe",shell:"/bin/sh"})},getShellConfigPaths:()=>{let D=K9();if(lF)return[wu(D,"Documents","PowerShell","Microsoft.PowerShell_profile.ps1"),wu(D,"Documents","WindowsPowerShell","Microsoft.PowerShell_profile.ps1")];return[wu(D,".bashrc"),wu(D,".zshrc"),wu(D,".bash_profile")]},getAliasDefinition:(D,u)=>{if(lF)return`function ${D} { ${u} $args }`;return`alias ${D}='${u}'`}};$D();function W9(D){let u,F=0,C=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"];return{start(){u=setInterval(()=>{process.stdout.write(`\r${N.cyan(C[F%C.length])} ${D}`),F++},50)},stop(B,$=!0){clearInterval(u);let E=$?N.green("\u2713"):N.red("\u2717");process.stdout.write(`\r${E} ${B}
`)}}}var Pu=SF(["#ff0000","#ff4500","#ffa500","#ffff00","#00ff00","#00ffff","#0000ff","#8b00ff"]),aF=SF(["#ff006e","#fb5607","#ffbe0b","#8338ec","#3a86ff"]);function _9(){W0.installUv(),process.env.PATH=`${P8()}/.cargo/bin:${process.env.PATH}`}function j9(){let D=Xu;if(!iD(D))return!1;try{let u=JSON.parse(Su(D,"utf8"));return!!(u.hooks?.SessionStart||u.hooks?.Stop||u.hooks?.PostToolUse)}catch{return!1}}async function M9(D){let u={};if(D){let $=await Cu({message:`\uD83E\uDDE0 Existing claude-mem installation detected. Your memories and data are safe!
Reinstall to update hooks and configuration?`,initialValue:!0});if(zD($)||!$)return Bu("Installation cancelled"),null;u.forceReinstall=!0}else u.forceReinstall=!1;let F=await Z0({message:"Select installation scope",options:[{value:"user",label:"User (Recommended)",hint:"Install for current user (~/.claude)"},{value:"project",label:"Project",hint:"Install for current project only (./.mcp.json)"},{value:"local",label:"Local",hint:"Custom local installation"}],initialValue:"user"});if(zD(F))return Bu("Installation cancelled"),null;if(u.scope=F,F==="local"){let $=await U3({message:"Enter custom installation directory",placeholder:Yu(process.cwd(),".claude-mem"),validate:(E)=>{if(!E)return"Path is required";if(!E.startsWith("/")&&!E.startsWith("~"))return"Please provide an absolute path"}});if(zD($))return Bu("Installation cancelled"),null;u.customPath=$}u.hookTimeout=180000;let C=await Cu({message:'Enable Smart Trash? This creates an alias for "rm" that moves files to ~/.claude-mem/trash instead of permanently deleting them. You can restore files anytime by typing "claude-mem restore".',initialValue:!0});if(zD(C))return Bu("Installation cancelled"),null;u.enableSmartTrash=C;let B=await Cu({message:'Would you like to save memories when you type "/clear" in Claude Code? When running /clear with this on, it takes about a minute to save memories before your new session starts.',initialValue:!1});if(zD(B))return Bu("Installation cancelled"),null;return u.saveMemoriesOnClear=B,u}function R9(){N8(),O8();let D=Yu(g,"package.json");if(!iD(D))Ju(D,JSON.stringify({name:"claude-mem-data",type:"module"},null,2))}function L9(){let D=I8,u=rF(D);R0(u,{recursive:!0});let F=`
<!-- CLAUDE-MEM QUICK REFERENCE -->
## \uD83E\uDDE0 Memory System Quick Reference
### Search Your Memories (SIMPLE & POWERFUL)
- **Semantic search is king**: \`mcp__claude-mem__chroma_query_documents(["search terms"])\`
- **\uD83D\uDD12 ALWAYS include project name in query**: \`["claude-mem feature authentication"]\` not just \`["feature authentication"]\`
- **Include dates for temporal search**: \`["project-name 2025-09-09 bug fix"]\` finds memories from that date
- **Get specific memory**: \`mcp__claude-mem__chroma_get_documents(ids: ["document_id"])\`
### Search Tips That Actually Work
- **Project isolation**: Always prefix queries with project name to avoid cross-contamination
- **Temporal search**: Include dates (YYYY-MM-DD) in query text to find memories from specific times
- **Intent-based**: "implementing oauth" > "oauth implementation code function"
- **Multiple queries**: Search with different phrasings for better coverage
- **Session-specific**: Include session ID in query when you know it
### What Doesn't Work (Don't Do This!)
- \u274C Complex where filters with $and/$or - they cause errors
- \u274C Timestamp comparisons ($gte/$lt) - Chroma stores timestamps as strings
- \u274C Mixing project filters in where clause - causes "Error finding id"
### Storage
- Collection: "claude_memories"
- Archives: ~/.claude-mem/archives/
<!-- /CLAUDE-MEM QUICK REFERENCE -->`,C="";if(iD(D)){C=Su(D,"utf8");let B=C.includes("<!-- CLAUDE-MEM INSTRUCTIONS -->"),$=C.includes("<!-- CLAUDE-MEM QUICK REFERENCE -->");if(B||$){let E,Q;if(B)E="<!-- CLAUDE-MEM INSTRUCTIONS -->",Q="<!-- /CLAUDE-MEM INSTRUCTIONS -->";else E="<!-- CLAUDE-MEM QUICK REFERENCE -->",Q="<!-- /CLAUDE-MEM QUICK REFERENCE -->";let X=C.indexOf(E),Z=C.indexOf(Q)+Q.length;if(X!==-1&&Z!==-1)C=C.substring(0,X)+F.trim()+C.substring(Z)}else C=C.trim()+`
`+F}else C=F.trim();Ju(D,C)}function I9(D=!1){let u=`${P8()}/.cargo/bin`;if(iD(u)&&!process.env.PATH?.includes(u))process.env.PATH=`${u}:${process.env.PATH}`;if(D)try{w8("claude mcp remove claude-mem",{stdio:"pipe"})}catch(C){}let F=`claude mcp add claude-mem -- uvx chroma-mcp --client-type persistent --data-dir ${Qu}`;w8(F,{stdio:"inherit"})}function M0(D,u,F){let C={hooks:[{type:"command",command:D,timeout:u}]};if(F)C.matcher=F;return C}function N9(D){let u=iD(D)?JSON.parse(Su(D,"utf8")):{hooks:{}};if(R0(rF(D),{recursive:!0}),!u.hooks)u.hooks={};["SessionStart","Stop","UserPromptSubmit","PostToolUse"].forEach((C)=>{if(u.hooks[C])u.hooks[C]=u.hooks[C].filter((B)=>!B.hooks?.some(($)=>$.command?.includes(dD)))}),u.hooks.SessionStart=[M0(`${dD} context`,180)],u.hooks.Stop=[M0(`${dD} summary`,60)],u.hooks.UserPromptSubmit=[M0(`${dD} new`,60)],u.hooks.PostToolUse=[M0(`${dD} save`,180,"*")],Ju(D,JSON.stringify(u,null,2))}function O9(D){if(D.scope==="local"&&D.customPath)return Yu(D.customPath,"settings.local.json");else if(D.scope==="project")return Yu(process.cwd(),".claude","settings.json");else return Xu}function T9(D){let u=L8,F=iD(u)?JSON.parse(Su(u,"utf8")):{};F.backend="chroma",F.installed=!0,F.embedded=!0,F.saveMemoriesOnClear=D.saveMemoriesOnClear||!1,Ju(u,JSON.stringify(F,null,2))}function w9(){let D=W0.getShellConfigPaths(),u=W0.getAliasDefinition("rm","claude-mem trash"),F="# claude-mem smart trash alias";for(let C of D){if(!iD(C)){let E=rF(C);R0(E,{recursive:!0}),Ju(C,"")}let B=Su(C,"utf8");if(B.includes(u))continue;let $=`
# claude-mem smart trash alias
${u}
`;B+=$,Ju(C,B)}}function P9(){let D=nF,u=T8();R0(D,{recursive:!0});let F=["save.md","remember.md","claude-mem.md"];for(let C of F){let B=Yu(u,C),$=Yu(D,C);if(iD(B))G9(B,$)}}async function S8(D={}){console.log(Pu(`
\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550`)),console.log(Pu(" CLAUDE-MEM INSTALLER ")),console.log(Pu("\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550")),console.log(G0(aF(`\uD83E\uDDE0 Persistent Memory System for Claude Code
\u2728 Transform your Claude experience with seamless context preservation
\uD83D\uDE80 Never lose your conversation history again`),{padding:2,margin:1,borderStyle:"double",borderColor:"magenta",textAlignment:"center"})),_9();let u=D.user||D.project||D.local||D.force,F;if(u)F={scope:D.local?"local":D.project?"project":"user",customPath:D.path,hookTimeout:D.timeout?parseInt(D.timeout):180,forceReinstall:!!D.force,enableSmartTrash:!1,saveMemoriesOnClear:!1};else{let X=j9(),Z=await M9(X);if(!Z)process.exit(0);F=Z}console.log(aF(`
\uD83D\uDE80 Beginning Installation Process
`));let C=[{name:"Creating directory structure",fn:()=>R9()},{name:"Installing Chroma MCP server",fn:()=>I9(F.forceReinstall)},{name:"Adding CLAUDE.md instructions",fn:()=>L9()},{name:"Installing Claude commands",fn:()=>P9()},{name:"Configuring Claude settings",fn:()=>N9(O9(F))},{name:"Configuring user settings",fn:()=>T9(F)}];if(F.enableSmartTrash)C.push({name:"Configuring Smart Trash alias",fn:()=>w9()});for(let X=0;X<C.length;X++){let Z=C[X],J=`[${X+1}/${C.length}]`,V=W9(`${N.gray(J)} ${Z.name}...`);V.start(),Z.fn(),V.stop(`${N.gray(J)} ${Z.name} ${aF("completed! \u2728")}`)}let B=Pu("\uD83C\uDF89 INSTALLATION COMPLETE! \uD83C\uDF89"),$=`
${N.bold("How your new memory system works:")}
${N.green("\u2022")} When you start Claude Code, claude-mem loads your latest memories automatically
${N.green("\u2022")} Memories are saved automatically as you work
${N.green("\u2022")} Ask Claude to search your memories anytime with natural language
${N.green("\u2022")} Instructions added to ${N.cyan("~/.claude/CLAUDE.md")} teach Claude how to use the system
${N.bold("Slash Commands Available:")}
${N.cyan("/claude-mem help")} - Show all memory commands and features
${N.cyan("/save")} - Quick save of current conversation overview
${N.cyan("/remember")} - Search your saved memories
${N.bold("Quick Start:")}
${N.yellow("1.")} Restart Claude Code to activate your memory system
${N.yellow("2.")} Start using Claude normally - memories save automatically
${N.yellow("3.")} Search memories by asking: ${N.italic('"Search my memories for X"')}`,E=F.enableSmartTrash?`
${N.blue("\uD83D\uDDD1\uFE0F Smart Trash Enabled:")}
${N.gray(" \u2022 rm commands now move files to ~/.claude-mem/trash")}
${N.gray(" \u2022 View trash:")} ${N.cyan("claude-mem trash view")}
${N.gray(" \u2022 Restore files:")} ${N.cyan("claude-mem restore")}
${N.gray(" \u2022 Empty trash:")} ${N.cyan("claude-mem trash empty")}
${N.yellow(" \u2022 Restart terminal for alias to activate")}`:"",Q=F.saveMemoriesOnClear?`
${N.magenta("\uD83D\uDCBE Save-on-clear enabled:")}
${N.gray(" \u2022 /clear now saves memories automatically (takes ~1 minute)")}`:"";console.log(G0(B+$+E+Q,{padding:2,margin:1,borderStyle:"double",borderColor:"green",backgroundColor:"#001122"})),console.log(Pu(`
\u2728 Welcome to the future of persistent AI conversations! \u2728
`))}$D();import{readFileSync as k8,writeFileSync as L0,existsSync as v8}from"fs";import{join as ku}from"path";import{homedir as S9}from"os";async function k9(){let D=S9(),u=[ku(D,".bashrc"),ku(D,".zshrc"),ku(D,".bash_profile")],F='alias rm="claude-mem trash"',C=["# claude-mem smart trash alias","# claude-mem trash bin alias"],B=!1;for(let $ of u){if(!v8($))continue;let E=k8($,"utf8");if(!E.includes('alias rm="claude-mem trash"'))continue;let Q=E.split(`
`),Z=Q.filter((J,V)=>{if(J.trim()==='alias rm="claude-mem trash"')return!1;for(let H of C)if(J.trim()===H&&V+1<Q.length&&Q[V+1].trim()==='alias rm="claude-mem trash"')return!1;return!0}).join(`
`);if(Z!==E){let J=$+".backup."+Date.now();L0(J,E),L0($,Z),console.log(`\u2705 Removed Smart Trash alias from ${$.replace(D,"~")}`),B=!0}}return B}async function x8(D={}){console.log("\uD83D\uDD04 Uninstalling Claude Memory System hooks...");let u=[];if(D.all)u.push({name:"User",path:Xu}),u.push({name:"Project",path:ku(process.cwd(),".claude","settings.json")});else{let B=D.project;u.push({name:B?"Project":"User",path:B?ku(process.cwd(),".claude","settings.json"):Xu})}let F=0;for(let B of u){if(!v8(B.path)){console.log(`\u23ED\uFE0F No settings found at ${B.name} location`);continue}let $=k8(B.path,"utf8"),E=JSON.parse($);if(!E.hooks){console.log(`\u23ED\uFE0F No hooks configured in ${B.name} settings`);continue}let Q=!1,X=["SessionStart","Stop","UserPromptSubmit","PostToolUse"];for(let Z of X)if(E.hooks[Z]){let J=E.hooks[Z].filter((V)=>!V.hooks?.some((H)=>H.command?.includes("claude-mem")));if(J.length!==E.hooks[Z].length)E.hooks[Z]=J.length?J:void 0,Q=!0,console.log(`\u2705 Removed ${Z} hook from ${B.name} settings`)}if(X.forEach((Z)=>{if(E.hooks[Z]===void 0)delete E.hooks[Z]}),!Object.keys(E.hooks).length)delete E.hooks;if(Q){let Z=B.path+".backup."+Date.now();L0(Z,$),console.log(`\uD83D\uDCCB Created backup: ${Z}`),L0(B.path,JSON.stringify(E,null,2)),F++,console.log(`\u2705 Updated ${B.name} settings: ${B.path}`)}else console.log(`\u2139\uFE0F No Claude Memory System hooks found in ${B.name} settings`)}let C=await k9();if(console.log(""),F>0||C){if(console.log("\u2728 Uninstallation complete!"),F>0)console.log("The Claude Memory System hooks have been removed from your settings.");if(C)console.log("The Smart Trash alias has been removed from your shell configuration."),console.log("\u26A0\uFE0F Restart your terminal for the alias removal to take effect.");console.log(""),console.log("Note: Your compressed transcripts and archives are preserved."),console.log("To reinstall: claude-mem install")}else console.log("\u2139\uFE0F No Claude Memory System hooks or aliases were found to remove.")}$D();import{readFileSync as v9,readdirSync as x9,statSync as f9}from"fs";import{join as f8}from"path";async function b9(D,u,F){try{let $=v9(D,"utf8").split(`
`).filter((E)=>E.trim()).slice(-F);if(console.log(`\uD83D\uDCCB ${u} Logs (last ${F} lines):`),console.log(` File: ${D}`),console.log(""),$.length===0)console.log(" No log entries found");else $.forEach((E)=>{console.log(` ${E}`)});console.log("")}catch(C){console.log(`\u274C Could not read ${u.toLowerCase()} log: ${D}`)}}async function b8(D={}){let u=iF,F=parseInt(D.tail)||20;try{let B=x9(u).filter(($)=>$.startsWith("claude-mem-")&&$.endsWith(".log")).map(($)=>({name:$,path:f8(u,$),mtime:f9(f8(u,$)).mtime})).sort(($,E)=>E.mtime.getTime()-$.mtime.getTime());if(B.length===0){console.log("\u274C No log files found in ~/.claude-mem/logs/");return}if(await b9(B[0].path,"Most Recent",F),D.all&&B.length>1)console.log(`\uD83D\uDCDA Found ${B.length} total log files`)}catch(C){console.log("\u274C Could not read logs directory: ~/.claude-mem/logs/"),console.log(" Run a compression first to generate logs")}}import{renameSync as j4,existsSync as S6,mkdirSync as M4,statSync as R4}from"fs";import{join as L4,basename as I4}from"path";var oF=(D,u,F)=>{let C=D instanceof RegExp?y8(D,F):D,B=u instanceof RegExp?y8(u,F):u,$=C!==null&&B!=null&&y9(C,B,F);return $&&{start:$[0],end:$[1],pre:F.slice(0,$[0]),body:F.slice($[0]+C.length,$[1]),post:F.slice($[1]+B.length)}},y8=(D,u)=>{let F=u.match(D);return F?F[0]:null},y9=(D,u,F)=>{let C,B,$,E=void 0,Q,X=F.indexOf(D),Z=F.indexOf(u,X+1),J=X;if(X>=0&&Z>0){if(D===u)return[X,Z];C=[],$=F.length;while(J>=0&&!Q){if(J===X)C.push(J),X=F.indexOf(D,J+1);else if(C.length===1){let V=C.pop();if(V!==void 0)Q=[V,Z]}else{if(B=C.pop(),B!==void 0&&B<$)$=B,E=Z;Z=F.indexOf(u,J+1)}J=X<Z&&X>=0?X:Z}if(C.length&&E!==void 0)Q=[$,E]}return Q};var h8="\x00SLASH"+Math.random()+"\x00",g8="\x00OPEN"+Math.random()+"\x00",tF="\x00CLOSE"+Math.random()+"\x00",m8="\x00COMMA"+Math.random()+"\x00",c8="\x00PERIOD"+Math.random()+"\x00",h9=new RegExp(h8,"g"),g9=new RegExp(g8,"g"),m9=new RegExp(tF,"g"),c9=new RegExp(m8,"g"),d9=new RegExp(c8,"g"),l9=/\\\\/g,p9=/\\{/g,i9=/\\}/g,n9=/\\,/g,a9=/\\./g;function sF(D){return!isNaN(D)?parseInt(D,10):D.charCodeAt(0)}function r9(D){return D.replace(l9,h8).replace(p9,g8).replace(i9,tF).replace(n9,m8).replace(a9,c8)}function o9(D){return D.replace(h9,"\\").replace(g9,"{").replace(m9,"}").replace(c9,",").replace(d9,".")}function d8(D){if(!D)return[""];let u=[],F=oF("{","}",D);if(!F)return D.split(",");let{pre:C,body:B,post:$}=F,E=C.split(",");E[E.length-1]+="{"+B+"}";let Q=d8($);if($.length)E[E.length-1]+=Q.shift(),E.push.apply(E,Q);return u.push.apply(u,E),u}function l8(D){if(!D)return[];if(D.slice(0,2)==="{}")D="\\{\\}"+D.slice(2);return vu(r9(D),!0).map(o9)}function s9(D){return"{"+D+"}"}function t9(D){return/^-?0\d/.test(D)}function e9(D,u){return D<=u}function DB(D,u){return D>=u}function vu(D,u){let F=[],C=oF("{","}",D);if(!C)return[D];let B=C.pre,$=C.post.length?vu(C.post,!1):[""];if(/\$$/.test(C.pre))for(let E=0;E<$.length;E++){let Q=B+"{"+C.body+"}"+$[E];F.push(Q)}else{let E=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(C.body),Q=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(C.body),X=E||Q,Z=C.body.indexOf(",")>=0;if(!X&&!Z){if(C.post.match(/,(?!,).*\}/))return D=C.pre+"{"+C.body+tF+C.post,vu(D);return[D]}let J;if(X)J=C.body.split(/\.\./);else if(J=d8(C.body),J.length===1&&J[0]!==void 0){if(J=vu(J[0],!1).map(s9),J.length===1)return $.map((H)=>C.pre+J[0]+H)}let V;if(X&&J[0]!==void 0&&J[1]!==void 0){let H=sF(J[0]),z=sF(J[1]),U=Math.max(J[0].length,J[1].length),G=J.length===3&&J[2]!==void 0?Math.abs(sF(J[2])):1,j=e9;if(z<H)G*=-1,j=DB;let O=J.some(t9);V=[];for(let R=H;j(R,z);R+=G){let L;if(Q){if(L=String.fromCharCode(R),L==="\\")L=""}else if(L=String(R),O){let S=U-L.length;if(S>0){let y=new Array(S+1).join("0");if(R<0)L="-"+y+L.slice(1);else L=y+L}}V.push(L)}}else{V=[];for(let H=0;H<J.length;H++)V.push.apply(V,vu(J[H],!1))}for(let H=0;H<V.length;H++)for(let z=0;z<$.length;z++){let U=B+V[H]+$[z];if(!u||X||U)F.push(U)}}return F}var xu=(D)=>{if(typeof D!=="string")throw new TypeError("invalid pattern");if(D.length>65536)throw new TypeError("pattern is too long")};var uB={"[:alnum:]":["\\p{L}\\p{Nl}\\p{Nd}",!0],"[:alpha:]":["\\p{L}\\p{Nl}",!0],"[:ascii:]":["\\x00-\\x7f",!1],"[:blank:]":["\\p{Zs}\\t",!0],"[:cntrl:]":["\\p{Cc}",!0],"[:digit:]":["\\p{Nd}",!0],"[:graph:]":["\\p{Z}\\p{C}",!0,!0],"[:lower:]":["\\p{Ll}",!0],"[:print:]":["\\p{C}",!0],"[:punct:]":["\\p{P}",!0],"[:space:]":["\\p{Z}\\t\\r\\n\\v\\f",!0],"[:upper:]":["\\p{Lu}",!0],"[:word:]":["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}",!0],"[:xdigit:]":["A-Fa-f0-9",!1]},fu=(D)=>D.replace(/[[\]\\-]/g,"\\$&"),FB=(D)=>D.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),p8=(D)=>D.join(""),i8=(D,u)=>{let F=u;if(D.charAt(F)!=="[")throw new Error("not in a brace expression");let C=[],B=[],$=F+1,E=!1,Q=!1,X=!1,Z=!1,J=F,V="";D:while($<D.length){let G=D.charAt($);if((G==="!"||G==="^")&&$===F+1){Z=!0,$++;continue}if(G==="]"&&E&&!X){J=$+1;break}if(E=!0,G==="\\"){if(!X){X=!0,$++;continue}}if(G==="["&&!X){for(let[j,[I,O,R]]of Object.entries(uB))if(D.startsWith(j,$)){if(V)return["$.",!1,D.length-F,!0];if($+=j.length,R)B.push(I);else C.push(I);Q=Q||O;continue D}}if(X=!1,V){if(G>V)C.push(fu(V)+"-"+fu(G));else if(G===V)C.push(fu(G));V="",$++;continue}if(D.startsWith("-]",$+1)){C.push(fu(G+"-")),$+=2;continue}if(D.startsWith("-",$+1)){V=G,$+=2;continue}C.push(fu(G)),$++}if(J<$)return["",!1,0,!1];if(!C.length&&!B.length)return["$.",!1,D.length-F,!0];if(B.length===0&&C.length===1&&/^\\?.$/.test(C[0])&&!Z){let G=C[0].length===2?C[0].slice(-1):C[0];return[FB(G),!1,J-F,!1]}let H="["+(Z?"^":"")+p8(C)+"]",z="["+(Z?"":"^")+p8(B)+"]";return[C.length&&B.length?"("+H+"|"+z+")":C.length?H:z,Q,J-F,!0]};var TD=(D,{windowsPathsNoEscape:u=!1}={})=>{return u?D.replace(/\[([^\/\\])\]/g,"$1"):D.replace(/((?!\\).|^)\[([^\/\\])\]/g,"$1$2").replace(/\\([^\/])/g,"$1")};var CB=new Set(["!","?","+","*","@"]),n8=(D)=>CB.has(D),BB="(?!(?:^|/)\\.\\.?(?:$|/))",I0="(?!\\.)",EB=new Set(["[","."]),$B=new Set(["..","."]),QB=new Set("().*{}+?[]^$\\!"),XB=(D)=>D.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),eF="[^/]",a8=eF+"*?",r8=eF+"+?";class a{type;#D;#u;#E=!1;#B=[];#$;#W;#U;#J=!1;#Q;#q;#Y=!1;constructor(D,u,F={}){if(this.type=D,D)this.#u=!0;if(this.#$=u,this.#D=this.#$?this.#$.#D:this,this.#Q=this.#D===this?F:this.#D.#Q,this.#U=this.#D===this?[]:this.#D.#U,D==="!"&&!this.#D.#J)this.#U.push(this);this.#W=this.#$?this.#$.#B.length:0}get hasMagic(){if(this.#u!==void 0)return this.#u;for(let D of this.#B){if(typeof D==="string")continue;if(D.type||D.hasMagic)return this.#u=!0}return this.#u}toString(){if(this.#q!==void 0)return this.#q;if(!this.type)return this.#q=this.#B.map((D)=>String(D)).join("");else return this.#q=this.type+"("+this.#B.map((D)=>String(D)).join("|")+")"}#X(){if(this!==this.#D)throw new Error("should only call on root");if(this.#J)return this;this.toString(),this.#J=!0;let D;while(D=this.#U.pop()){if(D.type!=="!")continue;let u=D,F=u.#$;while(F){for(let C=u.#W+1;!F.type&&C<F.#B.length;C++)for(let B of D.#B){if(typeof B==="string")throw new Error("string part in extglob AST??");B.copyIn(F.#B[C])}u=F,F=u.#$}}return this}push(...D){for(let u of D){if(u==="")continue;if(typeof u!=="string"&&!(u instanceof a&&u.#$===this))throw new Error("invalid part: "+u);this.#B.push(u)}}toJSON(){let D=this.type===null?this.#B.slice().map((u)=>typeof u==="string"?u:u.toJSON()):[this.type,...this.#B.map((u)=>u.toJSON())];if(this.isStart()&&!this.type)D.unshift([]);if(this.isEnd()&&(this===this.#D||this.#D.#J&&this.#$?.type==="!"))D.push({});return D}isStart(){if(this.#D===this)return!0;if(!this.#$?.isStart())return!1;if(this.#W===0)return!0;let D=this.#$;for(let u=0;u<this.#W;u++){let F=D.#B[u];if(!(F instanceof a&&F.type==="!"))return!1}return!0}isEnd(){if(this.#D===this)return!0;if(this.#$?.type==="!")return!0;if(!this.#$?.isEnd())return!1;if(!this.type)return this.#$?.isEnd();let D=this.#$?this.#$.#B.length:0;return this.#W===D-1}copyIn(D){if(typeof D==="string")this.push(D);else this.push(D.clone(this))}clone(D){let u=new a(this.type,D);for(let F of this.#B)u.copyIn(F);return u}static#F(D,u,F,C){let B=!1,$=!1,E=-1,Q=!1;if(u.type===null){let H=F,z="";while(H<D.length){let U=D.charAt(H++);if(B||U==="\\"){B=!B,z+=U;continue}if($){if(H===E+1){if(U==="^"||U==="!")Q=!0}else if(U==="]"&&!(H===E+2&&Q))$=!1;z+=U;continue}else if(U==="["){$=!0,E=H,Q=!1,z+=U;continue}if(!C.noext&&n8(U)&&D.charAt(H)==="("){u.push(z),z="";let G=new a(U,u);H=a.#F(D,G,H,C),u.push(G);continue}z+=U}return u.push(z),H}let X=F+1,Z=new a(null,u),J=[],V="";while(X<D.length){let H=D.charAt(X++);if(B||H==="\\"){B=!B,V+=H;continue}if($){if(X===E+1){if(H==="^"||H==="!")Q=!0}else if(H==="]"&&!(X===E+2&&Q))$=!1;V+=H;continue}else if(H==="["){$=!0,E=X,Q=!1,V+=H;continue}if(n8(H)&&D.charAt(X)==="("){Z.push(V),V="";let z=new a(H,Z);Z.push(z),X=a.#F(D,z,X,C);continue}if(H==="|"){Z.push(V),V="",J.push(Z),Z=new a(null,u);continue}if(H===")"){if(V===""&&u.#B.length===0)u.#Y=!0;return Z.push(V),V="",u.push(...J,Z),X}V+=H}return u.type=null,u.#u=void 0,u.#B=[D.substring(F-1)],X}static fromGlob(D,u={}){let F=new a(null,void 0,u);return a.#F(D,F,0,u),F}toMMPattern(){if(this!==this.#D)return this.#D.toMMPattern();let D=this.toString(),[u,F,C,B]=this.toRegExpSource();if(!(C||this.#u||this.#Q.nocase&&!this.#Q.nocaseMagicOnly&&D.toUpperCase()!==D.toLowerCase()))return F;let E=(this.#Q.nocase?"i":"")+(B?"u":"");return Object.assign(new RegExp(`^${u}$`,E),{_src:u,_glob:D})}get options(){return this.#Q}toRegExpSource(D){let u=D??!!this.#Q.dot;if(this.#D===this)this.#X();if(!this.type){let Q=this.isStart()&&this.isEnd(),X=this.#B.map((H)=>{let[z,U,G,j]=typeof H==="string"?a.#_(H,this.#u,Q):H.toRegExpSource(D);return this.#u=this.#u||G,this.#E=this.#E||j,z}).join(""),Z="";if(this.isStart()){if(typeof this.#B[0]==="string"){if(!(this.#B.length===1&&$B.has(this.#B[0]))){let z=EB,U=u&&z.has(X.charAt(0))||X.startsWith("\\.")&&z.has(X.charAt(2))||X.startsWith("\\.\\.")&&z.has(X.charAt(4)),G=!u&&!D&&z.has(X.charAt(0));Z=U?BB:G?I0:""}}}let J="";if(this.isEnd()&&this.#D.#J&&this.#$?.type==="!")J="(?:$|\\/)";return[Z+X+J,TD(X),this.#u=!!this.#u,this.#E]}let F=this.type==="*"||this.type==="+",C=this.type==="!"?"(?:(?!(?:":"(?:",B=this.#V(u);if(this.isStart()&&this.isEnd()&&!B&&this.type!=="!"){let Q=this.toString();return this.#B=[Q],this.type=null,this.#u=void 0,[Q,TD(this.toString()),!1,!1]}let $=!F||D||u||!I0?"":this.#V(!0);if($===B)$="";if($)B=`(?:${B})(?:${$})*?`;let E="";if(this.type==="!"&&this.#Y)E=(this.isStart()&&!u?I0:"")+r8;else{let Q=this.type==="!"?"))"+(this.isStart()&&!u&&!D?I0:"")+a8+")":this.type==="@"?")":this.type==="?"?")?":this.type==="+"&&$?")":this.type==="*"&&$?")?":`)${this.type}`;E=C+B+Q}return[E,TD(B),this.#u=!!this.#u,this.#E]}#V(D){return this.#B.map((u)=>{if(typeof u==="string")throw new Error("string type in extglob ast??");let[F,C,B,$]=u.toRegExpSource(D);return this.#E=this.#E||$,F}).filter((u)=>!(this.isStart()&&this.isEnd())||!!u).join("|")}static#_(D,u,F=!1){let C=!1,B="",$=!1;for(let E=0;E<D.length;E++){let Q=D.charAt(E);if(C){C=!1,B+=(QB.has(Q)?"\\":"")+Q;continue}if(Q==="\\"){if(E===D.length-1)B+="\\\\";else C=!0;continue}if(Q==="["){let[X,Z,J,V]=i8(D,E);if(J){B+=X,$=$||Z,E+=J-1,u=u||V;continue}}if(Q==="*"){if(F&&D==="*")B+=r8;else B+=a8;u=!0;continue}if(Q==="?"){B+=eF,u=!0;continue}B+=XB(Q)}return[B,TD(D),!!u,$]}}var qu=(D,{windowsPathsNoEscape:u=!1}={})=>{return u?D.replace(/[?*()[\]]/g,"[$&]"):D.replace(/[?*()[\]\\]/g,"\\$&")};var CD=(D,u,F={})=>{if(xu(u),!F.nocomment&&u.charAt(0)==="#")return!1;return new _D(u,F).match(D)},ZB=/^\*+([^+@!?\*\[\(]*)$/,JB=(D)=>(u)=>!u.startsWith(".")&&u.endsWith(D),YB=(D)=>(u)=>u.endsWith(D),qB=(D)=>{return D=D.toLowerCase(),(u)=>!u.startsWith(".")&&u.toLowerCase().endsWith(D)},KB=(D)=>{return D=D.toLowerCase(),(u)=>u.toLowerCase().endsWith(D)},VB=/^\*+\.\*+$/,HB=(D)=>!D.startsWith(".")&&D.includes("."),AB=(D)=>D!=="."&&D!==".."&&D.includes("."),zB=/^\.\*+$/,UB=(D)=>D!=="."&&D!==".."&&D.startsWith("."),GB=/^\*+$/,WB=(D)=>D.length!==0&&!D.startsWith("."),_B=(D)=>D.length!==0&&D!=="."&&D!=="..",jB=/^\?+([^+@!?\*\[\(]*)?$/,MB=([D,u=""])=>{let F=t8([D]);if(!u)return F;return u=u.toLowerCase(),(C)=>F(C)&&C.toLowerCase().endsWith(u)},RB=([D,u=""])=>{let F=e8([D]);if(!u)return F;return u=u.toLowerCase(),(C)=>F(C)&&C.toLowerCase().endsWith(u)},LB=([D,u=""])=>{let F=e8([D]);return!u?F:(C)=>F(C)&&C.endsWith(u)},IB=([D,u=""])=>{let F=t8([D]);return!u?F:(C)=>F(C)&&C.endsWith(u)},t8=([D])=>{let u=D.length;return(F)=>F.length===u&&!F.startsWith(".")},e8=([D])=>{let u=D.length;return(F)=>F.length===u&&F!=="."&&F!==".."},D6=typeof process==="object"&&process?typeof process.env==="object"&&process.env&&process.env.__MINIMATCH_TESTING_PLATFORM__||process.platform:"posix",o8={win32:{sep:"\\"},posix:{sep:"/"}},NB=D6==="win32"?o8.win32.sep:o8.posix.sep;CD.sep=NB;var r=Symbol("globstar **");CD.GLOBSTAR=r;var OB="[^/]",TB=OB+"*?",wB="(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?",PB="(?:(?!(?:\\/|^)\\.).)*?",SB=(D,u={})=>(F)=>CD(F,D,u);CD.filter=SB;var WD=(D,u={})=>Object.assign({},D,u),kB=(D)=>{if(!D||typeof D!=="object"||!Object.keys(D).length)return CD;let u=CD;return Object.assign((C,B,$={})=>u(C,B,WD(D,$)),{Minimatch:class C extends u.Minimatch{constructor(B,$={}){super(B,WD(D,$))}static defaults(B){return u.defaults(WD(D,B)).Minimatch}},AST:class C extends u.AST{constructor(B,$,E={}){super(B,$,WD(D,E))}static fromGlob(B,$={}){return u.AST.fromGlob(B,WD(D,$))}},unescape:(C,B={})=>u.unescape(C,WD(D,B)),escape:(C,B={})=>u.escape(C,WD(D,B)),filter:(C,B={})=>u.filter(C,WD(D,B)),defaults:(C)=>u.defaults(WD(D,C)),makeRe:(C,B={})=>u.makeRe(C,WD(D,B)),braceExpand:(C,B={})=>u.braceExpand(C,WD(D,B)),match:(C,B,$={})=>u.match(C,B,WD(D,$)),sep:u.sep,GLOBSTAR:r})};CD.defaults=kB;var u6=(D,u={})=>{if(xu(D),u.nobrace||!/\{(?:(?!\{).)*\}/.test(D))return[D];return l8(D)};CD.braceExpand=u6;var vB=(D,u={})=>new _D(D,u).makeRe();CD.makeRe=vB;var xB=(D,u,F={})=>{let C=new _D(u,F);if(D=D.filter((B)=>C.match(B)),C.options.nonull&&!D.length)D.push(u);return D};CD.match=xB;var s8=/[?*]|[+@!]\(.*?\)|\[|\]/,fB=(D)=>D.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&");class _D{options;set;pattern;windowsPathsNoEscape;nonegate;negate;comment;empty;preserveMultipleSlashes;partial;globSet;globParts;nocase;isWindows;platform;windowsNoMagicRoot;regexp;constructor(D,u={}){if(xu(D),u=u||{},this.options=u,this.pattern=D,this.platform=u.platform||D6,this.isWindows=this.platform==="win32",this.windowsPathsNoEscape=!!u.windowsPathsNoEscape||u.allowWindowsEscape===!1,this.windowsPathsNoEscape)this.pattern=this.pattern.replace(/\\/g,"/");this.preserveMultipleSlashes=!!u.preserveMultipleSlashes,this.regexp=null,this.negate=!1,this.nonegate=!!u.nonegate,this.comment=!1,this.empty=!1,this.partial=!!u.partial,this.nocase=!!this.options.nocase,this.windowsNoMagicRoot=u.windowsNoMagicRoot!==void 0?u.windowsNoMagicRoot:!!(this.isWindows&&this.nocase),this.globSet=[],this.globParts=[],this.set=[],this.make()}hasMagic(){if(this.options.magicalBraces&&this.set.length>1)return!0;for(let D of this.set)for(let u of D)if(typeof u!=="string")return!0;return!1}debug(...D){}make(){let D=this.pattern,u=this.options;if(!u.nocomment&&D.charAt(0)==="#"){this.comment=!0;return}if(!D){this.empty=!0;return}if(this.parseNegate(),this.globSet=[...new Set(this.braceExpand())],u.debug)this.debug=(...B)=>console.error(...B);this.debug(this.pattern,this.globSet);let F=this.globSet.map((B)=>this.slashSplit(B));this.globParts=this.preprocess(F),this.debug(this.pattern,this.globParts);let C=this.globParts.map((B,$,E)=>{if(this.isWindows&&this.windowsNoMagicRoot){let Q=B[0]===""&&B[1]===""&&(B[2]==="?"||!s8.test(B[2]))&&!s8.test(B[3]),X=/^[a-z]:/i.test(B[0]);if(Q)return[...B.slice(0,4),...B.slice(4).map((Z)=>this.parse(Z))];else if(X)return[B[0],...B.slice(1).map((Z)=>this.parse(Z))]}return B.map((Q)=>this.parse(Q))});if(this.debug(this.pattern,C),this.set=C.filter((B)=>B.indexOf(!1)===-1),this.isWindows)for(let B=0;B<this.set.length;B++){let $=this.set[B];if($[0]===""&&$[1]===""&&this.globParts[B][2]==="?"&&typeof $[3]==="string"&&/^[a-z]:$/i.test($[3]))$[2]="?"}this.debug(this.pattern,this.set)}preprocess(D){if(this.options.noglobstar){for(let F=0;F<D.length;F++)for(let C=0;C<D[F].length;C++)if(D[F][C]==="**")D[F][C]="*"}let{optimizationLevel:u=1}=this.options;if(u>=2)D=this.firstPhasePreProcess(D),D=this.secondPhasePreProcess(D);else if(u>=1)D=this.levelOneOptimize(D);else D=this.adjascentGlobstarOptimize(D);return D}adjascentGlobstarOptimize(D){return D.map((u)=>{let F=-1;while((F=u.indexOf("**",F+1))!==-1){let C=F;while(u[C+1]==="**")C++;if(C!==F)u.splice(F,C-F)}return u})}levelOneOptimize(D){return D.map((u)=>{return u=u.reduce((F,C)=>{let B=F[F.length-1];if(C==="**"&&B==="**")return F;if(C===".."){if(B&&B!==".."&&B!=="."&&B!=="**")return F.pop(),F}return F.push(C),F},[]),u.length===0?[""]:u})}levelTwoFileOptimize(D){if(!Array.isArray(D))D=this.slashSplit(D);let u=!1;do{if(u=!1,!this.preserveMultipleSlashes){for(let C=1;C<D.length-1;C++){let B=D[C];if(C===1&&B===""&&D[0]==="")continue;if(B==="."||B==="")u=!0,D.splice(C,1),C--}if(D[0]==="."&&D.length===2&&(D[1]==="."||D[1]===""))u=!0,D.pop()}let F=0;while((F=D.indexOf("..",F+1))!==-1){let C=D[F-1];if(C&&C!=="."&&C!==".."&&C!=="**")u=!0,D.splice(F-1,2),F-=2}}while(u);return D.length===0?[""]:D}firstPhasePreProcess(D){let u=!1;do{u=!1;for(let F of D){let C=-1;while((C=F.indexOf("**",C+1))!==-1){let $=C;while(F[$+1]==="**")$++;if($>C)F.splice(C+1,$-C);let E=F[C+1],Q=F[C+2],X=F[C+3];if(E!=="..")continue;if(!Q||Q==="."||Q===".."||!X||X==="."||X==="..")continue;u=!0,F.splice(C,1);let Z=F.slice(0);Z[C]="**",D.push(Z),C--}if(!this.preserveMultipleSlashes){for(let $=1;$<F.length-1;$++){let E=F[$];if($===1&&E===""&&F[0]==="")continue;if(E==="."||E==="")u=!0,F.splice($,1),$--}if(F[0]==="."&&F.length===2&&(F[1]==="."||F[1]===""))u=!0,F.pop()}let B=0;while((B=F.indexOf("..",B+1))!==-1){let $=F[B-1];if($&&$!=="."&&$!==".."&&$!=="**"){u=!0;let Q=B===1&&F[B+1]==="**"?["."]:[];if(F.splice(B-1,2,...Q),F.length===0)F.push("");B-=2}}}}while(u);return D}secondPhasePreProcess(D){for(let u=0;u<D.length-1;u++)for(let F=u+1;F<D.length;F++){let C=this.partsMatch(D[u],D[F],!this.preserveMultipleSlashes);if(C){D[u]=[],D[F]=C;break}}return D.filter((u)=>u.length)}partsMatch(D,u,F=!1){let C=0,B=0,$=[],E="";while(C<D.length&&B<u.length)if(D[C]===u[B])$.push(E==="b"?u[B]:D[C]),C++,B++;else if(F&&D[C]==="**"&&u[B]===D[C+1])$.push(D[C]),C++;else if(F&&u[B]==="**"&&D[C]===u[B+1])$.push(u[B]),B++;else if(D[C]==="*"&&u[B]&&(this.options.dot||!u[B].startsWith("."))&&u[B]!=="**"){if(E==="b")return!1;E="a",$.push(D[C]),C++,B++}else if(u[B]==="*"&&D[C]&&(this.options.dot||!D[C].startsWith("."))&&D[C]!=="**"){if(E==="a")return!1;E="b",$.push(u[B]),C++,B++}else return!1;return D.length===u.length&&$}parseNegate(){if(this.nonegate)return;let D=this.pattern,u=!1,F=0;for(let C=0;C<D.length&&D.charAt(C)==="!";C++)u=!u,F++;if(F)this.pattern=D.slice(F);this.negate=u}matchOne(D,u,F=!1){let C=this.options;if(this.isWindows){let U=typeof D[0]==="string"&&/^[a-z]:$/i.test(D[0]),G=!U&&D[0]===""&&D[1]===""&&D[2]==="?"&&/^[a-z]:$/i.test(D[3]),j=typeof u[0]==="string"&&/^[a-z]:$/i.test(u[0]),I=!j&&u[0]===""&&u[1]===""&&u[2]==="?"&&typeof u[3]==="string"&&/^[a-z]:$/i.test(u[3]),O=G?3:U?0:void 0,R=I?3:j?0:void 0;if(typeof O==="number"&&typeof R==="number"){let[L,S]=[D[O],u[R]];if(L.toLowerCase()===S.toLowerCase()){if(u[R]=L,R>O)u=u.slice(R);else if(O>R)D=D.slice(O)}}}let{optimizationLevel:B=1}=this.options;if(B>=2)D=this.levelTwoFileOptimize(D);this.debug("matchOne",this,{file:D,pattern:u}),this.debug("matchOne",D.length,u.length);for(var $=0,E=0,Q=D.length,X=u.length;$<Q&&E<X;$++,E++){this.debug("matchOne loop");var Z=u[E],J=D[$];if(this.debug(u,Z,J),Z===!1)return!1;if(Z===r){this.debug("GLOBSTAR",[u,Z,J]);var V=$,H=E+1;if(H===X){this.debug("** at the end");for(;$<Q;$++)if(D[$]==="."||D[$]===".."||!C.dot&&D[$].charAt(0)===".")return!1;return!0}while(V<Q){var z=D[V];if(this.debug(`
globstar while`,D,V,u,H,z),this.matchOne(D.slice(V),u.slice(H),F))return this.debug("globstar found match!",V,Q,z),!0;else{if(z==="."||z===".."||!C.dot&&z.charAt(0)==="."){this.debug("dot detected!",D,V,u,H);break}this.debug("globstar swallow a segment, and continue"),V++}}if(F){if(this.debug(`
>>> no match, partial?`,D,V,u,H),V===Q)return!0}return!1}let U;if(typeof Z==="string")U=J===Z,this.debug("string match",Z,J,U);else U=Z.test(J),this.debug("pattern match",Z,J,U);if(!U)return!1}if($===Q&&E===X)return!0;else if($===Q)return F;else if(E===X)return $===Q-1&&D[$]==="";else throw new Error("wtf?")}braceExpand(){return u6(this.pattern,this.options)}parse(D){xu(D);let u=this.options;if(D==="**")return r;if(D==="")return"";let F,C=null;if(F=D.match(GB))C=u.dot?_B:WB;else if(F=D.match(ZB))C=(u.nocase?u.dot?KB:qB:u.dot?YB:JB)(F[1]);else if(F=D.match(jB))C=(u.nocase?u.dot?RB:MB:u.dot?LB:IB)(F);else if(F=D.match(VB))C=u.dot?AB:HB;else if(F=D.match(zB))C=UB;let B=a.fromGlob(D,this.options).toMMPattern();if(C&&typeof B==="object")Reflect.defineProperty(B,"test",{value:C});return B}makeRe(){if(this.regexp||this.regexp===!1)return this.regexp;let D=this.set;if(!D.length)return this.regexp=!1,this.regexp;let u=this.options,F=u.noglobstar?TB:u.dot?wB:PB,C=new Set(u.nocase?["i"]:[]),B=D.map((Q)=>{let X=Q.map((Z)=>{if(Z instanceof RegExp)for(let J of Z.flags.split(""))C.add(J);return typeof Z==="string"?fB(Z):Z===r?r:Z._src});return X.forEach((Z,J)=>{let V=X[J+1],H=X[J-1];if(Z!==r||H===r)return;if(H===void 0)if(V!==void 0&&V!==r)X[J+1]="(?:\\/|"+F+"\\/)?"+V;else X[J]=F;else if(V===void 0)X[J-1]=H+"(?:\\/|"+F+")?";else if(V!==r)X[J-1]=H+"(?:\\/|\\/"+F+"\\/)"+V,X[J+1]=r}),X.filter((Z)=>Z!==r).join("/")}).join("|"),[$,E]=D.length>1?["(?:",")"]:["",""];if(B="^"+$+B+E+"$",this.negate)B="^(?!"+B+").+$";try{this.regexp=new RegExp(B,[...C].join(""))}catch(Q){this.regexp=!1}return this.regexp}slashSplit(D){if(this.preserveMultipleSlashes)return D.split("/");else if(this.isWindows&&/^\/\/[^\/]+/.test(D))return["",...D.split(/\/+/)];else return D.split(/\/+/)}match(D,u=this.partial){if(this.debug("match",D,this.pattern),this.comment)return!1;if(this.empty)return D==="";if(D==="/"&&u)return!0;let F=this.options;if(this.isWindows)D=D.split("\\").join("/");let C=this.slashSplit(D);this.debug(this.pattern,"split",C);let B=this.set;this.debug(this.pattern,"set",B);let $=C[C.length-1];if(!$)for(let E=C.length-2;!$&&E>=0;E--)$=C[E];for(let E=0;E<B.length;E++){let Q=B[E],X=C;if(F.matchBase&&Q.length===1)X=[$];if(this.matchOne(X,Q,u)){if(F.flipNegate)return!0;return!this.negate}}if(F.flipNegate)return!1;return this.negate}static defaults(D){return CD.defaults(D).Minimatch}}CD.AST=a;CD.Minimatch=_D;CD.escape=qu;CD.unescape=TD;import{fileURLToPath as H4}from"url";var bB=typeof performance==="object"&&performance&&typeof performance.now==="function"?performance:Date,C6=new Set,D2=typeof process==="object"&&!!process?process:{},B6=(D,u,F,C)=>{typeof D2.emitWarning==="function"?D2.emitWarning(D,u,F,C):console.error(`[${F}] ${u}: ${D}`)},N0=globalThis.AbortController,F6=globalThis.AbortSignal;if(typeof N0==="undefined"){F6=class F{onabort;_onabort=[];reason;aborted=!1;addEventListener(C,B){this._onabort.push(B)}},N0=class F{constructor(){u()}signal=new F6;abort(C){if(this.signal.aborted)return;this.signal.reason=C,this.signal.aborted=!0;for(let B of this.signal._onabort)B(C);this.signal.onabort?.(C)}};let D=D2.env?.LRU_CACHE_IGNORE_AC_WARNING!=="1",u=()=>{if(!D)return;D=!1,B6("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.","NO_ABORT_CONTROLLER","ENOTSUP",u)}}var yB=(D)=>!C6.has(D),n$=Symbol("type"),nD=(D)=>D&&D===Math.floor(D)&&D>0&&isFinite(D),E6=(D)=>!nD(D)?null:D<=Math.pow(2,8)?Uint8Array:D<=Math.pow(2,16)?Uint16Array:D<=Math.pow(2,32)?Uint32Array:D<=Number.MAX_SAFE_INTEGER?bu:null;class bu extends Array{constructor(D){super(D);this.fill(0)}}class Ku{heap;length;static#D=!1;static create(D){let u=E6(D);if(!u)return[];Ku.#D=!0;let F=new Ku(D,u);return Ku.#D=!1,F}constructor(D,u){if(!Ku.#D)throw new TypeError("instantiate Stack using Stack.create(n)");this.heap=new u(D),this.length=0}push(D){this.heap[this.length++]=D}pop(){return this.heap[--this.length]}}class yu{#D;#u;#E;#B;#$;#W;#U;#J;get perf(){return this.#J}ttl;ttlResolution;ttlAutopurge;updateAgeOnGet;updateAgeOnHas;allowStale;noDisposeOnSet;noUpdateTTL;maxEntrySize;sizeCalculation;noDeleteOnFetchRejection;noDeleteOnStaleGet;allowStaleOnFetchAbort;allowStaleOnFetchRejection;ignoreFetchAbort;#Q;#q;#Y;#X;#F;#V;#_;#G;#H;#O;#A;#M;#I;#z;#j;#N;#K;#C;static unsafeExposeInternals(D){return{starts:D.#I,ttls:D.#z,sizes:D.#M,keyMap:D.#Y,keyList:D.#X,valList:D.#F,next:D.#V,prev:D.#_,get head(){return D.#G},get tail(){return D.#H},free:D.#O,isBackgroundFetch:(u)=>D.#Z(u),backgroundFetch:(u,F,C,B)=>D.#d(u,F,C,B),moveToTail:(u)=>D.#b(u),indexes:(u)=>D.#w(u),rindexes:(u)=>D.#S(u),isStale:(u)=>D.#L(u)}}get max(){return this.#D}get maxSize(){return this.#u}get calculatedSize(){return this.#q}get size(){return this.#Q}get fetchMethod(){return this.#W}get memoMethod(){return this.#U}get dispose(){return this.#E}get onInsert(){return this.#B}get disposeAfter(){return this.#$}constructor(D){let{max:u=0,ttl:F,ttlResolution:C=1,ttlAutopurge:B,updateAgeOnGet:$,updateAgeOnHas:E,allowStale:Q,dispose:X,onInsert:Z,disposeAfter:J,noDisposeOnSet:V,noUpdateTTL:H,maxSize:z=0,maxEntrySize:U=0,sizeCalculation:G,fetchMethod:j,memoMethod:I,noDeleteOnFetchRejection:O,noDeleteOnStaleGet:R,allowStaleOnFetchRejection:L,allowStaleOnFetchAbort:S,ignoreFetchAbort:y,perf:ZD}=D;if(ZD!==void 0){if(typeof ZD?.now!=="function")throw new TypeError("perf option must have a now() method if specified")}if(this.#J=ZD??bB,u!==0&&!nD(u))throw new TypeError("max option must be a nonnegative integer");let SD=u?E6(u):Array;if(!SD)throw new Error("invalid max value: "+u);if(this.#D=u,this.#u=z,this.maxEntrySize=U||this.#u,this.sizeCalculation=G,this.sizeCalculation){if(!this.#u&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if(typeof this.sizeCalculation!=="function")throw new TypeError("sizeCalculation set to non-function")}if(I!==void 0&&typeof I!=="function")throw new TypeError("memoMethod must be a function if defined");if(this.#U=I,j!==void 0&&typeof j!=="function")throw new TypeError("fetchMethod must be a function if specified");if(this.#W=j,this.#N=!!j,this.#Y=new Map,this.#X=new Array(u).fill(void 0),this.#F=new Array(u).fill(void 0),this.#V=new SD(u),this.#_=new SD(u),this.#G=0,this.#H=0,this.#O=Ku.create(u),this.#Q=0,this.#q=0,typeof X==="function")this.#E=X;if(typeof Z==="function")this.#B=Z;if(typeof J==="function")this.#$=J,this.#A=[];else this.#$=void 0,this.#A=void 0;if(this.#j=!!this.#E,this.#C=!!this.#B,this.#K=!!this.#$,this.noDisposeOnSet=!!V,this.noUpdateTTL=!!H,this.noDeleteOnFetchRejection=!!O,this.allowStaleOnFetchRejection=!!L,this.allowStaleOnFetchAbort=!!S,this.ignoreFetchAbort=!!y,this.maxEntrySize!==0){if(this.#u!==0){if(!nD(this.#u))throw new TypeError("maxSize must be a positive integer if specified")}if(!nD(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");this.#y()}if(this.allowStale=!!Q,this.noDeleteOnStaleGet=!!R,this.updateAgeOnGet=!!$,this.updateAgeOnHas=!!E,this.ttlResolution=nD(C)||C===0?C:1,this.ttlAutopurge=!!B,this.ttl=F||0,this.ttl){if(!nD(this.ttl))throw new TypeError("ttl must be a positive integer if specified");this.#k()}if(this.#D===0&&this.ttl===0&&this.#u===0)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!this.#D&&!this.#u){if(yB("LRU_CACHE_UNBOUNDED"))C6.add("LRU_CACHE_UNBOUNDED"),B6("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning","LRU_CACHE_UNBOUNDED",yu)}}getRemainingTTL(D){return this.#Y.has(D)?1/0:0}#k(){let D=new bu(this.#D),u=new bu(this.#D);this.#z=D,this.#I=u,this.#m=(B,$,E=this.#J.now())=>{if(u[B]=$!==0?E:0,D[B]=$,$!==0&&this.ttlAutopurge){let Q=setTimeout(()=>{if(this.#L(B))this.#P(this.#X[B],"expire")},$+1);if(Q.unref)Q.unref()}},this.#T=(B)=>{u[B]=D[B]!==0?this.#J.now():0},this.#R=(B,$)=>{if(D[$]){let E=D[$],Q=u[$];if(!E||!Q)return;B.ttl=E,B.start=Q,B.now=F||C();let X=B.now-Q;B.remainingTTL=E-X}};let F=0,C=()=>{let B=this.#J.now();if(this.ttlResolution>0){F=B;let $=setTimeout(()=>F=0,this.ttlResolution);if($.unref)$.unref()}return B};this.getRemainingTTL=(B)=>{let $=this.#Y.get(B);if($===void 0)return 0;let E=D[$],Q=u[$];if(!E||!Q)return 1/0;let X=(F||C())-Q;return E-X},this.#L=(B)=>{let $=u[B],E=D[B];return!!E&&!!$&&(F||C())-$>E}}#T=()=>{};#R=()=>{};#m=()=>{};#L=()=>!1;#y(){let D=new bu(this.#D);this.#q=0,this.#M=D,this.#v=(u)=>{this.#q-=D[u],D[u]=0},this.#x=(u,F,C,B)=>{if(this.#Z(F))return 0;if(!nD(C))if(B){if(typeof B!=="function")throw new TypeError("sizeCalculation must be a function");if(C=B(F,u),!nD(C))throw new TypeError("sizeCalculation return invalid (expect positive integer)")}else throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");return C},this.#h=(u,F,C)=>{if(D[u]=F,this.#u){let B=this.#u-D[u];while(this.#q>B)this.#f(!0)}if(this.#q+=D[u],C)C.entrySize=F,C.totalCalculatedSize=this.#q}}#v=(D)=>{};#h=(D,u,F)=>{};#x=(D,u,F,C)=>{if(F||C)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");return 0};*#w({allowStale:D=this.allowStale}={}){if(this.#Q)for(let u=this.#H;;){if(!this.#c(u))break;if(D||!this.#L(u))yield u;if(u===this.#G)break;else u=this.#_[u]}}*#S({allowStale:D=this.allowStale}={}){if(this.#Q)for(let u=this.#G;;){if(!this.#c(u))break;if(D||!this.#L(u))yield u;if(u===this.#H)break;else u=this.#V[u]}}#c(D){return D!==void 0&&this.#Y.get(this.#X[D])===D}*entries(){for(let D of this.#w())if(this.#F[D]!==void 0&&this.#X[D]!==void 0&&!this.#Z(this.#F[D]))yield[this.#X[D],this.#F[D]]}*rentries(){for(let D of this.#S())if(this.#F[D]!==void 0&&this.#X[D]!==void 0&&!this.#Z(this.#F[D]))yield[this.#X[D],this.#F[D]]}*keys(){for(let D of this.#w()){let u=this.#X[D];if(u!==void 0&&!this.#Z(this.#F[D]))yield u}}*rkeys(){for(let D of this.#S()){let u=this.#X[D];if(u!==void 0&&!this.#Z(this.#F[D]))yield u}}*values(){for(let D of this.#w())if(this.#F[D]!==void 0&&!this.#Z(this.#F[D]))yield this.#F[D]}*rvalues(){for(let D of this.#S())if(this.#F[D]!==void 0&&!this.#Z(this.#F[D]))yield this.#F[D]}[Symbol.iterator](){return this.entries()}[Symbol.toStringTag]="LRUCache";find(D,u={}){for(let F of this.#w()){let C=this.#F[F],B=this.#Z(C)?C.__staleWhileFetching:C;if(B===void 0)continue;if(D(B,this.#X[F],this))return this.get(this.#X[F],u)}}forEach(D,u=this){for(let F of this.#w()){let C=this.#F[F],B=this.#Z(C)?C.__staleWhileFetching:C;if(B===void 0)continue;D.call(u,B,this.#X[F],this)}}rforEach(D,u=this){for(let F of this.#S()){let C=this.#F[F],B=this.#Z(C)?C.__staleWhileFetching:C;if(B===void 0)continue;D.call(u,B,this.#X[F],this)}}purgeStale(){let D=!1;for(let u of this.#S({allowStale:!0}))if(this.#L(u))this.#P(this.#X[u],"expire"),D=!0;return D}info(D){let u=this.#Y.get(D);if(u===void 0)return;let F=this.#F[u],C=this.#Z(F)?F.__staleWhileFetching:F;if(C===void 0)return;let B={value:C};if(this.#z&&this.#I){let $=this.#z[u],E=this.#I[u];if($&&E){let Q=$-(this.#J.now()-E);B.ttl=Q,B.start=Date.now()}}if(this.#M)B.size=this.#M[u];return B}dump(){let D=[];for(let u of this.#w({allowStale:!0})){let F=this.#X[u],C=this.#F[u],B=this.#Z(C)?C.__staleWhileFetching:C;if(B===void 0||F===void 0)continue;let $={value:B};if(this.#z&&this.#I){$.ttl=this.#z[u];let E=this.#J.now()-this.#I[u];$.start=Math.floor(Date.now()-E)}if(this.#M)$.size=this.#M[u];D.unshift([F,$])}return D}load(D){this.clear();for(let[u,F]of D){if(F.start){let C=Date.now()-F.start;F.start=this.#J.now()-C}this.set(u,F.value,F)}}set(D,u,F={}){if(u===void 0)return this.delete(D),this;let{ttl:C=this.ttl,start:B,noDisposeOnSet:$=this.noDisposeOnSet,sizeCalculation:E=this.sizeCalculation,status:Q}=F,{noUpdateTTL:X=this.noUpdateTTL}=F,Z=this.#x(D,u,F.size||0,E);if(this.maxEntrySize&&Z>this.maxEntrySize){if(Q)Q.set="miss",Q.maxEntrySizeExceeded=!0;return this.#P(D,"set"),this}let J=this.#Q===0?void 0:this.#Y.get(D);if(J===void 0){if(J=this.#Q===0?this.#H:this.#O.length!==0?this.#O.pop():this.#Q===this.#D?this.#f(!1):this.#Q,this.#X[J]=D,this.#F[J]=u,this.#Y.set(D,J),this.#V[this.#H]=J,this.#_[J]=this.#H,this.#H=J,this.#Q++,this.#h(J,Z,Q),Q)Q.set="add";if(X=!1,this.#C)this.#B?.(u,D,"add")}else{this.#b(J);let V=this.#F[J];if(u!==V){if(this.#N&&this.#Z(V)){V.__abortController.abort(new Error("replaced"));let{__staleWhileFetching:H}=V;if(H!==void 0&&!$){if(this.#j)this.#E?.(H,D,"set");if(this.#K)this.#A?.push([H,D,"set"])}}else if(!$){if(this.#j)this.#E?.(V,D,"set");if(this.#K)this.#A?.push([V,D,"set"])}if(this.#v(J),this.#h(J,Z,Q),this.#F[J]=u,Q){Q.set="replace";let H=V&&this.#Z(V)?V.__staleWhileFetching:V;if(H!==void 0)Q.oldValue=H}}else if(Q)Q.set="update";if(this.#C)this.onInsert?.(u,D,u===V?"update":"replace")}if(C!==0&&!this.#z)this.#k();if(this.#z){if(!X)this.#m(J,C,B);if(Q)this.#R(Q,J)}if(!$&&this.#K&&this.#A){let V=this.#A,H;while(H=V?.shift())this.#$?.(...H)}return this}pop(){try{while(this.#Q){let D=this.#F[this.#G];if(this.#f(!0),this.#Z(D)){if(D.__staleWhileFetching)return D.__staleWhileFetching}else if(D!==void 0)return D}}finally{if(this.#K&&this.#A){let D=this.#A,u;while(u=D?.shift())this.#$?.(...u)}}}#f(D){let u=this.#G,F=this.#X[u],C=this.#F[u];if(this.#N&&this.#Z(C))C.__abortController.abort(new Error("evicted"));else if(this.#j||this.#K){if(this.#j)this.#E?.(C,F,"evict");if(this.#K)this.#A?.push([C,F,"evict"])}if(this.#v(u),D)this.#X[u]=void 0,this.#F[u]=void 0,this.#O.push(u);if(this.#Q===1)this.#G=this.#H=0,this.#O.length=0;else this.#G=this.#V[u];return this.#Y.delete(F),this.#Q--,u}has(D,u={}){let{updateAgeOnHas:F=this.updateAgeOnHas,status:C}=u,B=this.#Y.get(D);if(B!==void 0){let $=this.#F[B];if(this.#Z($)&&$.__staleWhileFetching===void 0)return!1;if(!this.#L(B)){if(F)this.#T(B);if(C)C.has="hit",this.#R(C,B);return!0}else if(C)C.has="stale",this.#R(C,B)}else if(C)C.has="miss";return!1}peek(D,u={}){let{allowStale:F=this.allowStale}=u,C=this.#Y.get(D);if(C===void 0||!F&&this.#L(C))return;let B=this.#F[C];return this.#Z(B)?B.__staleWhileFetching:B}#d(D,u,F,C){let B=u===void 0?void 0:this.#F[u];if(this.#Z(B))return B;let $=new N0,{signal:E}=F;E?.addEventListener("abort",()=>$.abort(E.reason),{signal:$.signal});let Q={signal:$.signal,options:F,context:C},X=(U,G=!1)=>{let{aborted:j}=$.signal,I=F.ignoreFetchAbort&&U!==void 0;if(F.status)if(j&&!G){if(F.status.fetchAborted=!0,F.status.fetchError=$.signal.reason,I)F.status.fetchAbortIgnored=!0}else F.status.fetchResolved=!0;if(j&&!I&&!G)return J($.signal.reason);let O=H,R=this.#F[u];if(R===H||I&&G&&R===void 0)if(U===void 0)if(O.__staleWhileFetching!==void 0)this.#F[u]=O.__staleWhileFetching;else this.#P(D,"fetch");else{if(F.status)F.status.fetchUpdated=!0;this.set(D,U,Q.options)}return U},Z=(U)=>{if(F.status)F.status.fetchRejected=!0,F.status.fetchError=U;return J(U)},J=(U)=>{let{aborted:G}=$.signal,j=G&&F.allowStaleOnFetchAbort,I=j||F.allowStaleOnFetchRejection,O=I||F.noDeleteOnFetchRejection,R=H;if(this.#F[u]===H){if(!O||R.__staleWhileFetching===void 0)this.#P(D,"fetch");else if(!j)this.#F[u]=R.__staleWhileFetching}if(I){if(F.status&&R.__staleWhileFetching!==void 0)F.status.returnedStale=!0;return R.__staleWhileFetching}else if(R.__returned===R)throw U},V=(U,G)=>{let j=this.#W?.(D,B,Q);if(j&&j instanceof Promise)j.then((I)=>U(I===void 0?void 0:I),G);$.signal.addEventListener("abort",()=>{if(!F.ignoreFetchAbort||F.allowStaleOnFetchAbort){if(U(void 0),F.allowStaleOnFetchAbort)U=(I)=>X(I,!0)}})};if(F.status)F.status.fetchDispatched=!0;let H=new Promise(V).then(X,Z),z=Object.assign(H,{__abortController:$,__staleWhileFetching:B,__returned:void 0});if(u===void 0)this.set(D,z,{...Q.options,status:void 0}),u=this.#Y.get(D);else this.#F[u]=z;return z}#Z(D){if(!this.#N)return!1;let u=D;return!!u&&u instanceof Promise&&u.hasOwnProperty("__staleWhileFetching")&&u.__abortController instanceof N0}async fetch(D,u={}){let{allowStale:F=this.allowStale,updateAgeOnGet:C=this.updateAgeOnGet,noDeleteOnStaleGet:B=this.noDeleteOnStaleGet,ttl:$=this.ttl,noDisposeOnSet:E=this.noDisposeOnSet,size:Q=0,sizeCalculation:X=this.sizeCalculation,noUpdateTTL:Z=this.noUpdateTTL,noDeleteOnFetchRejection:J=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:V=this.allowStaleOnFetchRejection,ignoreFetchAbort:H=this.ignoreFetchAbort,allowStaleOnFetchAbort:z=this.allowStaleOnFetchAbort,context:U,forceRefresh:G=!1,status:j,signal:I}=u;if(!this.#N){if(j)j.fetch="get";return this.get(D,{allowStale:F,updateAgeOnGet:C,noDeleteOnStaleGet:B,status:j})}let O={allowStale:F,updateAgeOnGet:C,noDeleteOnStaleGet:B,ttl:$,noDisposeOnSet:E,size:Q,sizeCalculation:X,noUpdateTTL:Z,noDeleteOnFetchRejection:J,allowStaleOnFetchRejection:V,allowStaleOnFetchAbort:z,ignoreFetchAbort:H,status:j,signal:I},R=this.#Y.get(D);if(R===void 0){if(j)j.fetch="miss";let L=this.#d(D,R,O,U);return L.__returned=L}else{let L=this.#F[R];if(this.#Z(L)){let oD=F&&L.__staleWhileFetching!==void 0;if(j){if(j.fetch="inflight",oD)j.returnedStale=!0}return oD?L.__staleWhileFetching:L.__returned=L}let S=this.#L(R);if(!G&&!S){if(j)j.fetch="hit";if(this.#b(R),C)this.#T(R);if(j)this.#R(j,R);return L}let y=this.#d(D,R,O,U),SD=y.__staleWhileFetching!==void 0&&F;if(j){if(j.fetch=S?"stale":"refresh",SD&&S)j.returnedStale=!0}return SD?y.__staleWhileFetching:y.__returned=y}}async forceFetch(D,u={}){let F=await this.fetch(D,u);if(F===void 0)throw new Error("fetch() returned undefined");return F}memo(D,u={}){let F=this.#U;if(!F)throw new Error("no memoMethod provided to constructor");let{context:C,forceRefresh:B,...$}=u,E=this.get(D,$);if(!B&&E!==void 0)return E;let Q=F(D,E,{options:$,context:C});return this.set(D,Q,$),Q}get(D,u={}){let{allowStale:F=this.allowStale,updateAgeOnGet:C=this.updateAgeOnGet,noDeleteOnStaleGet:B=this.noDeleteOnStaleGet,status:$}=u,E=this.#Y.get(D);if(E!==void 0){let Q=this.#F[E],X=this.#Z(Q);if($)this.#R($,E);if(this.#L(E)){if($)$.get="stale";if(!X){if(!B)this.#P(D,"expire");if($&&F)$.returnedStale=!0;return F?Q:void 0}else{if($&&F&&Q.__staleWhileFetching!==void 0)$.returnedStale=!0;return F?Q.__staleWhileFetching:void 0}}else{if($)$.get="hit";if(X)return Q.__staleWhileFetching;if(this.#b(E),C)this.#T(E);return Q}}else if($)$.get="miss"}#l(D,u){this.#_[u]=D,this.#V[D]=u}#b(D){if(D!==this.#H){if(D===this.#G)this.#G=this.#V[D];else this.#l(this.#_[D],this.#V[D]);this.#l(this.#H,D),this.#H=D}}delete(D){return this.#P(D,"delete")}#P(D,u){let F=!1;if(this.#Q!==0){let C=this.#Y.get(D);if(C!==void 0)if(F=!0,this.#Q===1)this.#g(u);else{this.#v(C);let B=this.#F[C];if(this.#Z(B))B.__abortController.abort(new Error("deleted"));else if(this.#j||this.#K){if(this.#j)this.#E?.(B,D,u);if(this.#K)this.#A?.push([B,D,u])}if(this.#Y.delete(D),this.#X[C]=void 0,this.#F[C]=void 0,C===this.#H)this.#H=this.#_[C];else if(C===this.#G)this.#G=this.#V[C];else{let $=this.#_[C];this.#V[$]=this.#V[C];let E=this.#V[C];this.#_[E]=this.#_[C]}this.#Q--,this.#O.push(C)}}if(this.#K&&this.#A?.length){let C=this.#A,B;while(B=C?.shift())this.#$?.(...B)}return F}clear(){return this.#g("delete")}#g(D){for(let u of this.#S({allowStale:!0})){let F=this.#F[u];if(this.#Z(F))F.__abortController.abort(new Error("deleted"));else{let C=this.#X[u];if(this.#j)this.#E?.(F,C,D);if(this.#K)this.#A?.push([F,C,D])}}if(this.#Y.clear(),this.#F.fill(void 0),this.#X.fill(void 0),this.#z&&this.#I)this.#z.fill(0),this.#I.fill(0);if(this.#M)this.#M.fill(0);if(this.#G=0,this.#H=0,this.#O.length=0,this.#q=0,this.#Q=0,this.#K&&this.#A){let u=this.#A,F;while(F=u?.shift())this.#$?.(...F)}}}import{posix as rB,win32 as J2}from"path";import{fileURLToPath as oB}from"url";import{lstatSync as sB,readdir as tB,readdirSync as eB,readlinkSync as D4,realpathSync as u4}from"fs";import*as F4 from"fs";import{lstat as B4,readdir as E4,readlink as $4,realpath as Q4}from"fs/promises";import{EventEmitter as $2}from"events";import J6 from"stream";import{StringDecoder as hB}from"string_decoder";var $6=typeof process==="object"&&process?process:{stdout:null,stderr:null},gB=(D)=>!!D&&typeof D==="object"&&(D instanceof Du||D instanceof J6||mB(D)||cB(D)),mB=(D)=>!!D&&typeof D==="object"&&D instanceof $2&&typeof D.pipe==="function"&&D.pipe!==J6.Writable.prototype.pipe,cB=(D)=>!!D&&typeof D==="object"&&D instanceof $2&&typeof D.write==="function"&&typeof D.end==="function",hD=Symbol("EOF"),gD=Symbol("maybeEmitEnd"),aD=Symbol("emittedEnd"),O0=Symbol("emittingEnd"),hu=Symbol("emittedError"),T0=Symbol("closed"),Q6=Symbol("read"),w0=Symbol("flush"),X6=Symbol("flushChunk"),wD=Symbol("encoding"),Vu=Symbol("decoder"),p=Symbol("flowing"),gu=Symbol("paused"),Hu=Symbol("resume"),i=Symbol("buffer"),BD=Symbol("pipes"),n=Symbol("bufferLength"),u2=Symbol("bufferPush"),P0=Symbol("bufferShift"),e=Symbol("objectMode"),d=Symbol("destroyed"),F2=Symbol("error"),C2=Symbol("emitData"),Z6=Symbol("emitEnd"),B2=Symbol("emitEnd2"),kD=Symbol("async"),E2=Symbol("abort"),S0=Symbol("aborted"),mu=Symbol("signal"),eD=Symbol("dataListeners"),HD=Symbol("discarded"),cu=(D)=>Promise.resolve().then(D),dB=(D)=>D(),lB=(D)=>D==="end"||D==="finish"||D==="prefinish",pB=(D)=>D instanceof ArrayBuffer||!!D&&typeof D==="object"&&D.constructor&&D.constructor.name==="ArrayBuffer"&&D.byteLength>=0,iB=(D)=>!Buffer.isBuffer(D)&&ArrayBuffer.isView(D);class Q2{src;dest;opts;ondrain;constructor(D,u,F){this.src=D,this.dest=u,this.opts=F,this.ondrain=()=>D[Hu](),this.dest.on("drain",this.ondrain)}unpipe(){this.dest.removeListener("drain",this.ondrain)}proxyErrors(D){}end(){if(this.unpipe(),this.opts.end)this.dest.end()}}class Y6 extends Q2{unpipe(){this.src.removeListener("error",this.proxyErrors),super.unpipe()}constructor(D,u,F){super(D,u,F);this.proxyErrors=(C)=>u.emit("error",C),D.on("error",this.proxyErrors)}}var nB=(D)=>!!D.objectMode,aB=(D)=>!D.objectMode&&!!D.encoding&&D.encoding!=="buffer";class Du extends $2{[p]=!1;[gu]=!1;[BD]=[];[i]=[];[e];[wD];[kD];[Vu];[hD]=!1;[aD]=!1;[O0]=!1;[T0]=!1;[hu]=null;[n]=0;[d]=!1;[mu];[S0]=!1;[eD]=0;[HD]=!1;writable=!0;readable=!0;constructor(...D){let u=D[0]||{};super();if(u.objectMode&&typeof u.encoding==="string")throw new TypeError("Encoding and objectMode may not be used together");if(nB(u))this[e]=!0,this[wD]=null;else if(aB(u))this[wD]=u.encoding,this[e]=!1;else this[e]=!1,this[wD]=null;if(this[kD]=!!u.async,this[Vu]=this[wD]?new hB(this[wD]):null,u&&u.debugExposeBuffer===!0)Object.defineProperty(this,"buffer",{get:()=>this[i]});if(u&&u.debugExposePipes===!0)Object.defineProperty(this,"pipes",{get:()=>this[BD]});let{signal:F}=u;if(F)if(this[mu]=F,F.aborted)this[E2]();else F.addEventListener("abort",()=>this[E2]())}get bufferLength(){return this[n]}get encoding(){return this[wD]}set encoding(D){throw new Error("Encoding must be set at instantiation time")}setEncoding(D){throw new Error("Encoding must be set at instantiation time")}get objectMode(){return this[e]}set objectMode(D){throw new Error("objectMode must be set at instantiation time")}get["async"](){return this[kD]}set["async"](D){this[kD]=this[kD]||!!D}[E2](){this[S0]=!0,this.emit("abort",this[mu]?.reason),this.destroy(this[mu]?.reason)}get aborted(){return this[S0]}set aborted(D){}write(D,u,F){if(this[S0])return!1;if(this[hD])throw new Error("write after end");if(this[d])return this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"})),!0;if(typeof u==="function")F=u,u="utf8";if(!u)u="utf8";let C=this[kD]?cu:dB;if(!this[e]&&!Buffer.isBuffer(D)){if(iB(D))D=Buffer.from(D.buffer,D.byteOffset,D.byteLength);else if(pB(D))D=Buffer.from(D);else if(typeof D!=="string")throw new Error("Non-contiguous data written to non-objectMode stream")}if(this[e]){if(this[p]&&this[n]!==0)this[w0](!0);if(this[p])this.emit("data",D);else this[u2](D);if(this[n]!==0)this.emit("readable");if(F)C(F);return this[p]}if(!D.length){if(this[n]!==0)this.emit("readable");if(F)C(F);return this[p]}if(typeof D==="string"&&!(u===this[wD]&&!this[Vu]?.lastNeed))D=Buffer.from(D,u);if(Buffer.isBuffer(D)&&this[wD])D=this[Vu].write(D);if(this[p]&&this[n]!==0)this[w0](!0);if(this[p])this.emit("data",D);else this[u2](D);if(this[n]!==0)this.emit("readable");if(F)C(F);return this[p]}read(D){if(this[d])return null;if(this[HD]=!1,this[n]===0||D===0||D&&D>this[n])return this[gD](),null;if(this[e])D=null;if(this[i].length>1&&!this[e])this[i]=[this[wD]?this[i].join(""):Buffer.concat(this[i],this[n])];let u=this[Q6](D||null,this[i][0]);return this[gD](),u}[Q6](D,u){if(this[e])this[P0]();else{let F=u;if(D===F.length||D===null)this[P0]();else if(typeof F==="string")this[i][0]=F.slice(D),u=F.slice(0,D),this[n]-=D;else this[i][0]=F.subarray(D),u=F.subarray(0,D),this[n]-=D}if(this.emit("data",u),!this[i].length&&!this[hD])this.emit("drain");return u}end(D,u,F){if(typeof D==="function")F=D,D=void 0;if(typeof u==="function")F=u,u="utf8";if(D!==void 0)this.write(D,u);if(F)this.once("end",F);if(this[hD]=!0,this.writable=!1,this[p]||!this[gu])this[gD]();return this}[Hu](){if(this[d])return;if(!this[eD]&&!this[BD].length)this[HD]=!0;if(this[gu]=!1,this[p]=!0,this.emit("resume"),this[i].length)this[w0]();else if(this[hD])this[gD]();else this.emit("drain")}resume(){return this[Hu]()}pause(){this[p]=!1,this[gu]=!0,this[HD]=!1}get destroyed(){return this[d]}get flowing(){return this[p]}get paused(){return this[gu]}[u2](D){if(this[e])this[n]+=1;else this[n]+=D.length;this[i].push(D)}[P0](){if(this[e])this[n]-=1;else this[n]-=this[i][0].length;return this[i].shift()}[w0](D=!1){do;while(this[X6](this[P0]())&&this[i].length);if(!D&&!this[i].length&&!this[hD])this.emit("drain")}[X6](D){return this.emit("data",D),this[p]}pipe(D,u){if(this[d])return D;this[HD]=!1;let F=this[aD];if(u=u||{},D===$6.stdout||D===$6.stderr)u.end=!1;else u.end=u.end!==!1;if(u.proxyErrors=!!u.proxyErrors,F){if(u.end)D.end()}else if(this[BD].push(!u.proxyErrors?new Q2(this,D,u):new Y6(this,D,u)),this[kD])cu(()=>this[Hu]());else this[Hu]();return D}unpipe(D){let u=this[BD].find((F)=>F.dest===D);if(u){if(this[BD].length===1){if(this[p]&&this[eD]===0)this[p]=!1;this[BD]=[]}else this[BD].splice(this[BD].indexOf(u),1);u.unpipe()}}addListener(D,u){return this.on(D,u)}on(D,u){let F=super.on(D,u);if(D==="data"){if(this[HD]=!1,this[eD]++,!this[BD].length&&!this[p])this[Hu]()}else if(D==="readable"&&this[n]!==0)super.emit("readable");else if(lB(D)&&this[aD])super.emit(D),this.removeAllListeners(D);else if(D==="error"&&this[hu]){let C=u;if(this[kD])cu(()=>C.call(this,this[hu]));else C.call(this,this[hu])}return F}removeListener(D,u){return this.off(D,u)}off(D,u){let F=super.off(D,u);if(D==="data"){if(this[eD]=this.listeners("data").length,this[eD]===0&&!this[HD]&&!this[BD].length)this[p]=!1}return F}removeAllListeners(D){let u=super.removeAllListeners(D);if(D==="data"||D===void 0){if(this[eD]=0,!this[HD]&&!this[BD].length)this[p]=!1}return u}get emittedEnd(){return this[aD]}[gD](){if(!this[O0]&&!this[aD]&&!this[d]&&this[i].length===0&&this[hD]){if(this[O0]=!0,this.emit("end"),this.emit("prefinish"),this.emit("finish"),this[T0])this.emit("close");this[O0]=!1}}emit(D,...u){let F=u[0];if(D!=="error"&&D!=="close"&&D!==d&&this[d])return!1;else if(D==="data")return!this[e]&&!F?!1:this[kD]?(cu(()=>this[C2](F)),!0):this[C2](F);else if(D==="end")return this[Z6]();else if(D==="close"){if(this[T0]=!0,!this[aD]&&!this[d])return!1;let B=super.emit("close");return this.removeAllListeners("close"),B}else if(D==="error"){this[hu]=F,super.emit(F2,F);let B=!this[mu]||this.listeners("error").length?super.emit("error",F):!1;return this[gD](),B}else if(D==="resume"){let B=super.emit("resume");return this[gD](),B}else if(D==="finish"||D==="prefinish"){let B=super.emit(D);return this.removeAllListeners(D),B}let C=super.emit(D,...u);return this[gD](),C}[C2](D){for(let F of this[BD])if(F.dest.write(D)===!1)this.pause();let u=this[HD]?!1:super.emit("data",D);return this[gD](),u}[Z6](){if(this[aD])return!1;return this[aD]=!0,this.readable=!1,this[kD]?(cu(()=>this[B2]()),!0):this[B2]()}[B2](){if(this[Vu]){let u=this[Vu].end();if(u){for(let F of this[BD])F.dest.write(u);if(!this[HD])super.emit("data",u)}}for(let u of this[BD])u.end();let D=super.emit("end");return this.removeAllListeners("end"),D}async collect(){let D=Object.assign([],{dataLength:0});if(!this[e])D.dataLength=0;let u=this.promise();return this.on("data",(F)=>{if(D.push(F),!this[e])D.dataLength+=F.length}),await u,D}async concat(){if(this[e])throw new Error("cannot concat in objectMode");let D=await this.collect();return this[wD]?D.join(""):Buffer.concat(D,D.dataLength)}async promise(){return new Promise((D,u)=>{this.on(d,()=>u(new Error("stream destroyed"))),this.on("error",(F)=>u(F)),this.on("end",()=>D())})}[Symbol.asyncIterator](){this[HD]=!1;let D=!1,u=async()=>{return this.pause(),D=!0,{value:void 0,done:!0}};return{next:()=>{if(D)return u();let C=this.read();if(C!==null)return Promise.resolve({done:!1,value:C});if(this[hD])return u();let B,$,E=(J)=>{this.off("data",Q),this.off("end",X),this.off(d,Z),u(),$(J)},Q=(J)=>{this.off("error",E),this.off("end",X),this.off(d,Z),this.pause(),B({value:J,done:!!this[hD]})},X=()=>{this.off("error",E),this.off("data",Q),this.off(d,Z),u(),B({done:!0,value:void 0})},Z=()=>E(new Error("stream destroyed"));return new Promise((J,V)=>{$=V,B=J,this.once(d,Z),this.once("error",E),this.once("end",X),this.once("data",Q)})},throw:u,return:u,[Symbol.asyncIterator](){return this}}}[Symbol.iterator](){this[HD]=!1;let D=!1,u=()=>{return this.pause(),this.off(F2,u),this.off(d,u),this.off("end",u),D=!0,{done:!0,value:void 0}},F=()=>{if(D)return u();let C=this.read();return C===null?u():{done:!1,value:C}};return this.once("end",u),this.once(F2,u),this.once(d,u),{next:F,throw:u,return:u,[Symbol.iterator](){return this}}}destroy(D){if(this[d]){if(D)this.emit("error",D);else this.emit(d);return this}this[d]=!0,this[HD]=!0,this[i].length=0,this[n]=0;let u=this;if(typeof u.close==="function"&&!this[T0])u.close();if(D)this.emit("error",D);else this.emit(d);return this}static get isStream(){return gB}}var C4=u4.native,lu={lstatSync:sB,readdir:tB,readdirSync:eB,readlinkSync:D4,realpathSync:C4,promises:{lstat:B4,readdir:E4,readlink:$4,realpath:Q4}},A6=(D)=>!D||D===lu||D===F4?lu:{...lu,...D,promises:{...lu.promises,...D.promises||{}}},z6=/^\\\\\?\\([a-z]:)\\?$/i,X4=(D)=>D.replace(/\//g,"\\").replace(z6,"$1\\"),Z4=/[\\\/]/,MD=0,U6=1,G6=2,vD=4,W6=6,_6=8,uu=10,j6=12,jD=15,du=~jD,X2=16,q6=32,pu=64,PD=128,k0=256,x0=512,K6=pu|PD|x0,J4=1023,Z2=(D)=>D.isFile()?_6:D.isDirectory()?vD:D.isSymbolicLink()?uu:D.isCharacterDevice()?G6:D.isBlockDevice()?W6:D.isSocket()?j6:D.isFIFO()?U6:MD,V6=new Map,iu=(D)=>{let u=V6.get(D);if(u)return u;let F=D.normalize("NFKD");return V6.set(D,F),F},H6=new Map,v0=(D)=>{let u=H6.get(D);if(u)return u;let F=iu(D.toLowerCase());return H6.set(D,F),F};class Y2 extends yu{constructor(){super({max:256})}}class M6 extends yu{constructor(D=16384){super({maxSize:D,sizeCalculation:(u)=>u.length+1})}}var R6=Symbol("PathScurry setAsCwd");class ED{name;root;roots;parent;nocase;isCWD=!1;#D;#u;get dev(){return this.#u}#E;get mode(){return this.#E}#B;get nlink(){return this.#B}#$;get uid(){return this.#$}#W;get gid(){return this.#W}#U;get rdev(){return this.#U}#J;get blksize(){return this.#J}#Q;get ino(){return this.#Q}#q;get size(){return this.#q}#Y;get blocks(){return this.#Y}#X;get atimeMs(){return this.#X}#F;get mtimeMs(){return this.#F}#V;get ctimeMs(){return this.#V}#_;get birthtimeMs(){return this.#_}#G;get atime(){return this.#G}#H;get mtime(){return this.#H}#O;get ctime(){return this.#O}#A;get birthtime(){return this.#A}#M;#I;#z;#j;#N;#K;#C;#k;#T;#R;get parentPath(){return(this.parent||this).fullpath()}get path(){return this.parentPath}constructor(D,u=MD,F,C,B,$,E){if(this.name=D,this.#M=B?v0(D):iu(D),this.#C=u&J4,this.nocase=B,this.roots=C,this.root=F||this,this.#k=$,this.#z=E.fullpath,this.#N=E.relative,this.#K=E.relativePosix,this.parent=E.parent,this.parent)this.#D=this.parent.#D;else this.#D=A6(E.fs)}depth(){if(this.#I!==void 0)return this.#I;if(!this.parent)return this.#I=0;return this.#I=this.parent.depth()+1}childrenCache(){return this.#k}resolve(D){if(!D)return this;let u=this.getRootString(D),C=D.substring(u.length).split(this.splitSep);return u?this.getRoot(u).#m(C):this.#m(C)}#m(D){let u=this;for(let F of D)u=u.child(F);return u}children(){let D=this.#k.get(this);if(D)return D;let u=Object.assign([],{provisional:0});return this.#k.set(this,u),this.#C&=~X2,u}child(D,u){if(D===""||D===".")return this;if(D==="..")return this.parent||this;let F=this.children(),C=this.nocase?v0(D):iu(D);for(let Q of F)if(Q.#M===C)return Q;let B=this.parent?this.sep:"",$=this.#z?this.#z+B+D:void 0,E=this.newChild(D,MD,{...u,parent:this,fullpath:$});if(!this.canReaddir())E.#C|=PD;return F.push(E),E}relative(){if(this.isCWD)return"";if(this.#N!==void 0)return this.#N;let D=this.name,u=this.parent;if(!u)return this.#N=this.name;let F=u.relative();return F+(!F||!u.parent?"":this.sep)+D}relativePosix(){if(this.sep==="/")return this.relative();if(this.isCWD)return"";if(this.#K!==void 0)return this.#K;let D=this.name,u=this.parent;if(!u)return this.#K=this.fullpathPosix();let F=u.relativePosix();return F+(!F||!u.parent?"":"/")+D}fullpath(){if(this.#z!==void 0)return this.#z;let D=this.name,u=this.parent;if(!u)return this.#z=this.name;let C=u.fullpath()+(!u.parent?"":this.sep)+D;return this.#z=C}fullpathPosix(){if(this.#j!==void 0)return this.#j;if(this.sep==="/")return this.#j=this.fullpath();if(!this.parent){let C=this.fullpath().replace(/\\/g,"/");if(/^[a-z]:\//i.test(C))return this.#j=`//?/${C}`;else return this.#j=C}let D=this.parent,u=D.fullpathPosix(),F=u+(!u||!D.parent?"":"/")+this.name;return this.#j=F}isUnknown(){return(this.#C&jD)===MD}isType(D){return this[`is${D}`]()}getType(){return this.isUnknown()?"Unknown":this.isDirectory()?"Directory":this.isFile()?"File":this.isSymbolicLink()?"SymbolicLink":this.isFIFO()?"FIFO":this.isCharacterDevice()?"CharacterDevice":this.isBlockDevice()?"BlockDevice":this.isSocket()?"Socket":"Unknown"}isFile(){return(this.#C&jD)===_6}isDirectory(){return(this.#C&jD)===vD}isCharacterDevice(){return(this.#C&jD)===G6}isBlockDevice(){return(this.#C&jD)===W6}isFIFO(){return(this.#C&jD)===U6}isSocket(){return(this.#C&jD)===j6}isSymbolicLink(){return(this.#C&uu)===uu}lstatCached(){return this.#C&q6?this:void 0}readlinkCached(){return this.#T}realpathCached(){return this.#R}readdirCached(){let D=this.children();return D.slice(0,D.provisional)}canReadlink(){if(this.#T)return!0;if(!this.parent)return!1;let D=this.#C&jD;return!(D!==MD&&D!==uu||this.#C&k0||this.#C&PD)}calledReaddir(){return!!(this.#C&X2)}isENOENT(){return!!(this.#C&PD)}isNamed(D){return!this.nocase?this.#M===iu(D):this.#M===v0(D)}async readlink(){let D=this.#T;if(D)return D;if(!this.canReadlink())return;if(!this.parent)return;try{let u=await this.#D.promises.readlink(this.fullpath()),F=(await this.parent.realpath())?.resolve(u);if(F)return this.#T=F}catch(u){this.#c(u.code);return}}readlinkSync(){let D=this.#T;if(D)return D;if(!this.canReadlink())return;if(!this.parent)return;try{let u=this.#D.readlinkSync(this.fullpath()),F=this.parent.realpathSync()?.resolve(u);if(F)return this.#T=F}catch(u){this.#c(u.code);return}}#L(D){this.#C|=X2;for(let u=D.provisional;u<D.length;u++){let F=D[u];if(F)F.#y()}}#y(){if(this.#C&PD)return;this.#C=(this.#C|PD)&du,this.#v()}#v(){let D=this.children();D.provisional=0;for(let u of D)u.#y()}#h(){this.#C|=x0,this.#x()}#x(){if(this.#C&pu)return;let D=this.#C;if((D&jD)===vD)D&=du;this.#C=D|pu,this.#v()}#w(D=""){if(D==="ENOTDIR"||D==="EPERM")this.#x();else if(D==="ENOENT")this.#y();else this.children().provisional=0}#S(D=""){if(D==="ENOTDIR")this.parent.#x();else if(D==="ENOENT")this.#y()}#c(D=""){let u=this.#C;if(u|=k0,D==="ENOENT")u|=PD;if(D==="EINVAL"||D==="UNKNOWN")u&=du;if(this.#C=u,D==="ENOTDIR"&&this.parent)this.parent.#x()}#f(D,u){return this.#Z(D,u)||this.#d(D,u)}#d(D,u){let F=Z2(D),C=this.newChild(D.name,F,{parent:this}),B=C.#C&jD;if(B!==vD&&B!==uu&&B!==MD)C.#C|=pu;return u.unshift(C),u.provisional++,C}#Z(D,u){for(let F=u.provisional;F<u.length;F++){let C=u[F];if((this.nocase?v0(D.name):iu(D.name))!==C.#M)continue;return this.#l(D,C,F,u)}}#l(D,u,F,C){let B=u.name;if(u.#C=u.#C&du|Z2(D),B!==D.name)u.name=D.name;if(F!==C.provisional){if(F===C.length-1)C.pop();else C.splice(F,1);C.unshift(u)}return C.provisional++,u}async lstat(){if((this.#C&PD)===0)try{return this.#b(await this.#D.promises.lstat(this.fullpath())),this}catch(D){this.#S(D.code)}}lstatSync(){if((this.#C&PD)===0)try{return this.#b(this.#D.lstatSync(this.fullpath())),this}catch(D){this.#S(D.code)}}#b(D){let{atime:u,atimeMs:F,birthtime:C,birthtimeMs:B,blksize:$,blocks:E,ctime:Q,ctimeMs:X,dev:Z,gid:J,ino:V,mode:H,mtime:z,mtimeMs:U,nlink:G,rdev:j,size:I,uid:O}=D;this.#G=u,this.#X=F,this.#A=C,this.#_=B,this.#J=$,this.#Y=E,this.#O=Q,this.#V=X,this.#u=Z,this.#W=J,this.#Q=V,this.#E=H,this.#H=z,this.#F=U,this.#B=G,this.#U=j,this.#q=I,this.#$=O;let R=Z2(D);if(this.#C=this.#C&du|R|q6,R!==MD&&R!==vD&&R!==uu)this.#C|=pu}#P=[];#g=!1;#i(D){this.#g=!1;let u=this.#P.slice();this.#P.length=0,u.forEach((F)=>F(null,D))}readdirCB(D,u=!1){if(!this.canReaddir()){if(u)D(null,[]);else queueMicrotask(()=>D(null,[]));return}let F=this.children();if(this.calledReaddir()){let B=F.slice(0,F.provisional);if(u)D(null,B);else queueMicrotask(()=>D(null,B));return}if(this.#P.push(D),this.#g)return;this.#g=!0;let C=this.fullpath();this.#D.readdir(C,{withFileTypes:!0},(B,$)=>{if(B)this.#w(B.code),F.provisional=0;else{for(let E of $)this.#f(E,F);this.#L(F)}this.#i(F.slice(0,F.provisional));return})}#p;async readdir(){if(!this.canReaddir())return[];let D=this.children();if(this.calledReaddir())return D.slice(0,D.provisional);let u=this.fullpath();if(this.#p)await this.#p;else{let F=()=>{};this.#p=new Promise((C)=>F=C);try{for(let C of await this.#D.promises.readdir(u,{withFileTypes:!0}))this.#f(C,D);this.#L(D)}catch(C){this.#w(C.code),D.provisional=0}this.#p=void 0,F()}return D.slice(0,D.provisional)}readdirSync(){if(!this.canReaddir())return[];let D=this.children();if(this.calledReaddir())return D.slice(0,D.provisional);let u=this.fullpath();try{for(let F of this.#D.readdirSync(u,{withFileTypes:!0}))this.#f(F,D);this.#L(D)}catch(F){this.#w(F.code),D.provisional=0}return D.slice(0,D.provisional)}canReaddir(){if(this.#C&K6)return!1;let D=jD&this.#C;if(!(D===MD||D===vD||D===uu))return!1;return!0}shouldWalk(D,u){return(this.#C&vD)===vD&&!(this.#C&K6)&&!D.has(this)&&(!u||u(this))}async realpath(){if(this.#R)return this.#R;if((x0|k0|PD)&this.#C)return;try{let D=await this.#D.promises.realpath(this.fullpath());return this.#R=this.resolve(D)}catch(D){this.#h()}}realpathSync(){if(this.#R)return this.#R;if((x0|k0|PD)&this.#C)return;try{let D=this.#D.realpathSync(this.fullpath());return this.#R=this.resolve(D)}catch(D){this.#h()}}[R6](D){if(D===this)return;D.isCWD=!1,this.isCWD=!0;let u=new Set([]),F=[],C=this;while(C&&C.parent)u.add(C),C.#N=F.join(this.sep),C.#K=F.join("/"),C=C.parent,F.push("..");C=D;while(C&&C.parent&&!u.has(C))C.#N=void 0,C.#K=void 0,C=C.parent}}class f0 extends ED{sep="\\";splitSep=Z4;constructor(D,u=MD,F,C,B,$,E){super(D,u,F,C,B,$,E)}newChild(D,u=MD,F={}){return new f0(D,u,this.root,this.roots,this.nocase,this.childrenCache(),F)}getRootString(D){return J2.parse(D).root}getRoot(D){if(D=X4(D.toUpperCase()),D===this.root.name)return this.root;for(let[u,F]of Object.entries(this.roots))if(this.sameRoot(D,u))return this.roots[D]=F;return this.roots[D]=new nu(D,this).root}sameRoot(D,u=this.root.name){return D=D.toUpperCase().replace(/\//g,"\\").replace(z6,"$1\\"),D===u}}class b0 extends ED{splitSep="/";sep="/";constructor(D,u=MD,F,C,B,$,E){super(D,u,F,C,B,$,E)}getRootString(D){return D.startsWith("/")?"/":""}getRoot(D){return this.root}newChild(D,u=MD,F={}){return new b0(D,u,this.root,this.roots,this.nocase,this.childrenCache(),F)}}class q2{root;rootPath;roots;cwd;#D;#u;#E;nocase;#B;constructor(D=process.cwd(),u,F,{nocase:C,childrenCacheSize:B=16384,fs:$=lu}={}){if(this.#B=A6($),D instanceof URL||D.startsWith("file://"))D=oB(D);let E=u.resolve(D);this.roots=Object.create(null),this.rootPath=this.parseRootPath(E),this.#D=new Y2,this.#u=new Y2,this.#E=new M6(B);let Q=E.substring(this.rootPath.length).split(F);if(Q.length===1&&!Q[0])Q.pop();if(C===void 0)throw new TypeError("must provide nocase setting to PathScurryBase ctor");this.nocase=C,this.root=this.newRoot(this.#B),this.roots[this.rootPath]=this.root;let X=this.root,Z=Q.length-1,J=u.sep,V=this.rootPath,H=!1;for(let z of Q){let U=Z--;X=X.child(z,{relative:new Array(U).fill("..").join(J),relativePosix:new Array(U).fill("..").join("/"),fullpath:V+=(H?"":J)+z}),H=!0}this.cwd=X}depth(D=this.cwd){if(typeof D==="string")D=this.cwd.resolve(D);return D.depth()}childrenCache(){return this.#E}resolve(...D){let u="";for(let B=D.length-1;B>=0;B--){let $=D[B];if(!$||$===".")continue;if(u=u?`${$}/${u}`:$,this.isAbsolute($))break}let F=this.#D.get(u);if(F!==void 0)return F;let C=this.cwd.resolve(u).fullpath();return this.#D.set(u,C),C}resolvePosix(...D){let u="";for(let B=D.length-1;B>=0;B--){let $=D[B];if(!$||$===".")continue;if(u=u?`${$}/${u}`:$,this.isAbsolute($))break}let F=this.#u.get(u);if(F!==void 0)return F;let C=this.cwd.resolve(u).fullpathPosix();return this.#u.set(u,C),C}relative(D=this.cwd){if(typeof D==="string")D=this.cwd.resolve(D);return D.relative()}relativePosix(D=this.cwd){if(typeof D==="string")D=this.cwd.resolve(D);return D.relativePosix()}basename(D=this.cwd){if(typeof D==="string")D=this.cwd.resolve(D);return D.name}dirname(D=this.cwd){if(typeof D==="string")D=this.cwd.resolve(D);return(D.parent||D).fullpath()}async readdir(D=this.cwd,u={withFileTypes:!0}){if(typeof D==="string")D=this.cwd.resolve(D);else if(!(D instanceof ED))u=D,D=this.cwd;let{withFileTypes:F}=u;if(!D.canReaddir())return[];else{let C=await D.readdir();return F?C:C.map((B)=>B.name)}}readdirSync(D=this.cwd,u={withFileTypes:!0}){if(typeof D==="string")D=this.cwd.resolve(D);else if(!(D instanceof ED))u=D,D=this.cwd;let{withFileTypes:F=!0}=u;if(!D.canReaddir())return[];else if(F)return D.readdirSync();else return D.readdirSync().map((C)=>C.name)}async lstat(D=this.cwd){if(typeof D==="string")D=this.cwd.resolve(D);return D.lstat()}lstatSync(D=this.cwd){if(typeof D==="string")D=this.cwd.resolve(D);return D.lstatSync()}async readlink(D=this.cwd,{withFileTypes:u}={withFileTypes:!1}){if(typeof D==="string")D=this.cwd.resolve(D);else if(!(D instanceof ED))u=D.withFileTypes,D=this.cwd;let F=await D.readlink();return u?F:F?.fullpath()}readlinkSync(D=this.cwd,{withFileTypes:u}={withFileTypes:!1}){if(typeof D==="string")D=this.cwd.resolve(D);else if(!(D instanceof ED))u=D.withFileTypes,D=this.cwd;let F=D.readlinkSync();return u?F:F?.fullpath()}async realpath(D=this.cwd,{withFileTypes:u}={withFileTypes:!1}){if(typeof D==="string")D=this.cwd.resolve(D);else if(!(D instanceof ED))u=D.withFileTypes,D=this.cwd;let F=await D.realpath();return u?F:F?.fullpath()}realpathSync(D=this.cwd,{withFileTypes:u}={withFileTypes:!1}){if(typeof D==="string")D=this.cwd.resolve(D);else if(!(D instanceof ED))u=D.withFileTypes,D=this.cwd;let F=D.realpathSync();return u?F:F?.fullpath()}async walk(D=this.cwd,u={}){if(typeof D==="string")D=this.cwd.resolve(D);else if(!(D instanceof ED))u=D,D=this.cwd;let{withFileTypes:F=!0,follow:C=!1,filter:B,walkFilter:$}=u,E=[];if(!B||B(D))E.push(F?D:D.fullpath());let Q=new Set,X=(J,V)=>{Q.add(J),J.readdirCB((H,z)=>{if(H)return V(H);let U=z.length;if(!U)return V();let G=()=>{if(--U===0)V()};for(let j of z){if(!B||B(j))E.push(F?j:j.fullpath());if(C&&j.isSymbolicLink())j.realpath().then((I)=>I?.isUnknown()?I.lstat():I).then((I)=>I?.shouldWalk(Q,$)?X(I,G):G());else if(j.shouldWalk(Q,$))X(j,G);else G()}},!0)},Z=D;return new Promise((J,V)=>{X(Z,(H)=>{if(H)return V(H);J(E)})})}walkSync(D=this.cwd,u={}){if(typeof D==="string")D=this.cwd.resolve(D);else if(!(D instanceof ED))u=D,D=this.cwd;let{withFileTypes:F=!0,follow:C=!1,filter:B,walkFilter:$}=u,E=[];if(!B||B(D))E.push(F?D:D.fullpath());let Q=new Set([D]);for(let X of Q){let Z=X.readdirSync();for(let J of Z){if(!B||B(J))E.push(F?J:J.fullpath());let V=J;if(J.isSymbolicLink()){if(!(C&&(V=J.realpathSync())))continue;if(V.isUnknown())V.lstatSync()}if(V.shouldWalk(Q,$))Q.add(V)}}return E}[Symbol.asyncIterator](){return this.iterate()}iterate(D=this.cwd,u={}){if(typeof D==="string")D=this.cwd.resolve(D);else if(!(D instanceof ED))u=D,D=this.cwd;return this.stream(D,u)[Symbol.asyncIterator]()}[Symbol.iterator](){return this.iterateSync()}*iterateSync(D=this.cwd,u={}){if(typeof D==="string")D=this.cwd.resolve(D);else if(!(D instanceof ED))u=D,D=this.cwd;let{withFileTypes:F=!0,follow:C=!1,filter:B,walkFilter:$}=u;if(!B||B(D))yield F?D:D.fullpath();let E=new Set([D]);for(let Q of E){let X=Q.readdirSync();for(let Z of X){if(!B||B(Z))yield F?Z:Z.fullpath();let J=Z;if(Z.isSymbolicLink()){if(!(C&&(J=Z.realpathSync())))continue;if(J.isUnknown())J.lstatSync()}if(J.shouldWalk(E,$))E.add(J)}}}stream(D=this.cwd,u={}){if(typeof D==="string")D=this.cwd.resolve(D);else if(!(D instanceof ED))u=D,D=this.cwd;let{withFileTypes:F=!0,follow:C=!1,filter:B,walkFilter:$}=u,E=new Du({objectMode:!0});if(!B||B(D))E.write(F?D:D.fullpath());let Q=new Set,X=[D],Z=0,J=()=>{let V=!1;while(!V){let H=X.shift();if(!H){if(Z===0)E.end();return}Z++,Q.add(H);let z=(G,j,I=!1)=>{if(G)return E.emit("error",G);if(C&&!I){let O=[];for(let R of j)if(R.isSymbolicLink())O.push(R.realpath().then((L)=>L?.isUnknown()?L.lstat():L));if(O.length){Promise.all(O).then(()=>z(null,j,!0));return}}for(let O of j)if(O&&(!B||B(O))){if(!E.write(F?O:O.fullpath()))V=!0}Z--;for(let O of j){let R=O.realpathCached()||O;if(R.shouldWalk(Q,$))X.push(R)}if(V&&!E.flowing)E.once("drain",J);else if(!U)J()},U=!0;H.readdirCB(z,!0),U=!1}};return J(),E}streamSync(D=this.cwd,u={}){if(typeof D==="string")D=this.cwd.resolve(D);else if(!(D instanceof ED))u=D,D=this.cwd;let{withFileTypes:F=!0,follow:C=!1,filter:B,walkFilter:$}=u,E=new Du({objectMode:!0}),Q=new Set;if(!B||B(D))E.write(F?D:D.fullpath());let X=[D],Z=0,J=()=>{let V=!1;while(!V){let H=X.shift();if(!H){if(Z===0)E.end();return}Z++,Q.add(H);let z=H.readdirSync();for(let U of z)if(!B||B(U)){if(!E.write(F?U:U.fullpath()))V=!0}Z--;for(let U of z){let G=U;if(U.isSymbolicLink()){if(!(C&&(G=U.realpathSync())))continue;if(G.isUnknown())G.lstatSync()}if(G.shouldWalk(Q,$))X.push(G)}}if(V&&!E.flowing)E.once("drain",J)};return J(),E}chdir(D=this.cwd){let u=this.cwd;this.cwd=typeof D==="string"?this.cwd.resolve(D):D,this.cwd[R6](u)}}class nu extends q2{sep="\\";constructor(D=process.cwd(),u={}){let{nocase:F=!0}=u;super(D,J2,"\\",{...u,nocase:F});this.nocase=F;for(let C=this.cwd;C;C=C.parent)C.nocase=this.nocase}parseRootPath(D){return J2.parse(D).root.toUpperCase()}newRoot(D){return new f0(this.rootPath,vD,void 0,this.roots,this.nocase,this.childrenCache(),{fs:D})}isAbsolute(D){return D.startsWith("/")||D.startsWith("\\")||/^[a-z]:(\/|\\)/i.test(D)}}class au extends q2{sep="/";constructor(D=process.cwd(),u={}){let{nocase:F=!1}=u;super(D,rB,"/",{...u,nocase:F});this.nocase=F}parseRootPath(D){return"/"}newRoot(D){return new b0(this.rootPath,vD,void 0,this.roots,this.nocase,this.childrenCache(),{fs:D})}isAbsolute(D){return D.startsWith("/")}}class y0 extends au{constructor(D=process.cwd(),u={}){let{nocase:F=!0}=u;super(D,{...u,nocase:F})}}var EQ=process.platform==="win32"?f0:b0,L6=process.platform==="win32"?nu:process.platform==="darwin"?y0:au;var Y4=(D)=>D.length>=1,q4=(D)=>D.length>=1;class Au{#D;#u;#E;length;#B;#$;#W;#U;#J;#Q;#q=!0;constructor(D,u,F,C){if(!Y4(D))throw new TypeError("empty pattern list");if(!q4(u))throw new TypeError("empty glob list");if(u.length!==D.length)throw new TypeError("mismatched pattern list and glob list lengths");if(this.length=D.length,F<0||F>=this.length)throw new TypeError("index out of range");if(this.#D=D,this.#u=u,this.#E=F,this.#B=C,this.#E===0){if(this.isUNC()){let[B,$,E,Q,...X]=this.#D,[Z,J,V,H,...z]=this.#u;if(X[0]==="")X.shift(),z.shift();let U=[B,$,E,Q,""].join("/"),G=[Z,J,V,H,""].join("/");this.#D=[U,...X],this.#u=[G,...z],this.length=this.#D.length}else if(this.isDrive()||this.isAbsolute()){let[B,...$]=this.#D,[E,...Q]=this.#u;if($[0]==="")$.shift(),Q.shift();let X=B+"/",Z=E+"/";this.#D=[X,...$],this.#u=[Z,...Q],this.length=this.#D.length}}}pattern(){return this.#D[this.#E]}isString(){return typeof this.#D[this.#E]==="string"}isGlobstar(){return this.#D[this.#E]===r}isRegExp(){return this.#D[this.#E]instanceof RegExp}globString(){return this.#W=this.#W||(this.#E===0?this.isAbsolute()?this.#u[0]+this.#u.slice(1).join("/"):this.#u.join("/"):this.#u.slice(this.#E).join("/"))}hasMore(){return this.length>this.#E+1}rest(){if(this.#$!==void 0)return this.#$;if(!this.hasMore())return this.#$=null;return this.#$=new Au(this.#D,this.#u,this.#E+1,this.#B),this.#$.#Q=this.#Q,this.#$.#J=this.#J,this.#$.#U=this.#U,this.#$}isUNC(){let D=this.#D;return this.#J!==void 0?this.#J:this.#J=this.#B==="win32"&&this.#E===0&&D[0]===""&&D[1]===""&&typeof D[2]==="string"&&!!D[2]&&typeof D[3]==="string"&&!!D[3]}isDrive(){let D=this.#D;return this.#U!==void 0?this.#U:this.#U=this.#B==="win32"&&this.#E===0&&this.length>1&&typeof D[0]==="string"&&/^[a-z]:$/i.test(D[0])}isAbsolute(){let D=this.#D;return this.#Q!==void 0?this.#Q:this.#Q=D[0]===""&&D.length>1||this.isDrive()||this.isUNC()}root(){let D=this.#D[0];return typeof D==="string"&&this.isAbsolute()&&this.#E===0?D:""}checkFollowGlobstar(){return!(this.#E===0||!this.isGlobstar()||!this.#q)}markFollowGlobstar(){if(this.#E===0||!this.isGlobstar()||!this.#q)return!1;return this.#q=!1,!0}}var K4=typeof process==="object"&&process&&typeof process.platform==="string"?process.platform:"linux";class ru{relative;relativeChildren;absolute;absoluteChildren;platform;mmopts;constructor(D,{nobrace:u,nocase:F,noext:C,noglobstar:B,platform:$=K4}){this.relative=[],this.absolute=[],this.relativeChildren=[],this.absoluteChildren=[],this.platform=$,this.mmopts={dot:!0,nobrace:u,nocase:F,noext:C,noglobstar:B,optimizationLevel:2,platform:$,nocomment:!0,nonegate:!0};for(let E of D)this.add(E)}add(D){let u=new _D(D,this.mmopts);for(let F=0;F<u.set.length;F++){let C=u.set[F],B=u.globParts[F];if(!C||!B)throw new Error("invalid pattern object");while(C[0]==="."&&B[0]===".")C.shift(),B.shift();let $=new Au(C,B,0,this.platform),E=new _D($.globString(),this.mmopts),Q=B[B.length-1]==="**",X=$.isAbsolute();if(X)this.absolute.push(E);else this.relative.push(E);if(Q)if(X)this.absoluteChildren.push(E);else this.relativeChildren.push(E)}}ignored(D){let u=D.fullpath(),F=`${u}/`,C=D.relative()||".",B=`${C}/`;for(let $ of this.relative)if($.match(C)||$.match(B))return!0;for(let $ of this.absolute)if($.match(u)||$.match(F))return!0;return!1}childrenIgnored(D){let u=D.fullpath()+"/",F=(D.relative()||".")+"/";for(let C of this.relativeChildren)if(C.match(F))return!0;for(let C of this.absoluteChildren)if(C.match(u))return!0;return!1}}class K2{store;constructor(D=new Map){this.store=D}copy(){return new K2(new Map(this.store))}hasWalked(D,u){return this.store.get(D.fullpath())?.has(u.globString())}storeWalked(D,u){let F=D.fullpath(),C=this.store.get(F);if(C)C.add(u.globString());else this.store.set(F,new Set([u.globString()]))}}class I6{store=new Map;add(D,u,F){let C=(u?2:0)|(F?1:0),B=this.store.get(D);this.store.set(D,B===void 0?C:C&B)}entries(){return[...this.store.entries()].map(([D,u])=>[D,!!(u&2),!!(u&1)])}}class N6{store=new Map;add(D,u){if(!D.canReaddir())return;let F=this.store.get(D);if(F){if(!F.find((C)=>C.globString()===u.globString()))F.push(u)}else this.store.set(D,[u])}get(D){let u=this.store.get(D);if(!u)throw new Error("attempting to walk unknown path");return u}entries(){return this.keys().map((D)=>[D,this.store.get(D)])}keys(){return[...this.store.keys()].filter((D)=>D.canReaddir())}}class ou{hasWalkedCache;matches=new I6;subwalks=new N6;patterns;follow;dot;opts;constructor(D,u){this.opts=D,this.follow=!!D.follow,this.dot=!!D.dot,this.hasWalkedCache=u?u.copy():new K2}processPatterns(D,u){this.patterns=u;let F=u.map((C)=>[D,C]);for(let[C,B]of F){this.hasWalkedCache.storeWalked(C,B);let $=B.root(),E=B.isAbsolute()&&this.opts.absolute!==!1;if($){C=C.resolve($==="/"&&this.opts.root!==void 0?this.opts.root:$);let J=B.rest();if(!J){this.matches.add(C,!0,!1);continue}else B=J}if(C.isENOENT())continue;let Q,X,Z=!1;while(typeof(Q=B.pattern())==="string"&&(X=B.rest()))C=C.resolve(Q),B=X,Z=!0;if(Q=B.pattern(),X=B.rest(),Z){if(this.hasWalkedCache.hasWalked(C,B))continue;this.hasWalkedCache.storeWalked(C,B)}if(typeof Q==="string"){let J=Q===".."||Q===""||Q===".";this.matches.add(C.resolve(Q),E,J);continue}else if(Q===r){if(!C.isSymbolicLink()||this.follow||B.checkFollowGlobstar())this.subwalks.add(C,B);let J=X?.pattern(),V=X?.rest();if(!X||(J===""||J===".")&&!V)this.matches.add(C,E,J===""||J===".");else if(J===".."){let H=C.parent||C;if(!V)this.matches.add(H,E,!0);else if(!this.hasWalkedCache.hasWalked(H,V))this.subwalks.add(H,V)}}else if(Q instanceof RegExp)this.subwalks.add(C,B)}return this}subwalkTargets(){return this.subwalks.keys()}child(){return new ou(this.opts,this.hasWalkedCache)}filterEntries(D,u){let F=this.subwalks.get(D),C=this.child();for(let B of u)for(let $ of F){let E=$.isAbsolute(),Q=$.pattern(),X=$.rest();if(Q===r)C.testGlobstar(B,$,X,E);else if(Q instanceof RegExp)C.testRegExp(B,Q,X,E);else C.testString(B,Q,X,E)}return C}testGlobstar(D,u,F,C){if(this.dot||!D.name.startsWith(".")){if(!u.hasMore())this.matches.add(D,C,!1);if(D.canReaddir()){if(this.follow||!D.isSymbolicLink())this.subwalks.add(D,u);else if(D.isSymbolicLink()){if(F&&u.checkFollowGlobstar())this.subwalks.add(D,F);else if(u.markFollowGlobstar())this.subwalks.add(D,u)}}}if(F){let B=F.pattern();if(typeof B==="string"&&B!==".."&&B!==""&&B!==".")this.testString(D,B,F.rest(),C);else if(B===".."){let $=D.parent||D;this.subwalks.add($,F)}else if(B instanceof RegExp)this.testRegExp(D,B,F.rest(),C)}}testRegExp(D,u,F,C){if(!u.test(D.name))return;if(!F)this.matches.add(D,C,!1);else this.subwalks.add(D,F)}testString(D,u,F,C){if(!D.isNamed(u))return;if(!F)this.matches.add(D,C,!1);else this.subwalks.add(D,F)}}var V4=(D,u)=>typeof D==="string"?new ru([D],u):Array.isArray(D)?new ru(D,u):D;class V2{path;patterns;opts;seen=new Set;paused=!1;aborted=!1;#D=[];#u;#E;signal;maxDepth;includeChildMatches;constructor(D,u,F){if(this.patterns=D,this.path=u,this.opts=F,this.#E=!F.posix&&F.platform==="win32"?"\\":"/",this.includeChildMatches=F.includeChildMatches!==!1,F.ignore||!this.includeChildMatches){if(this.#u=V4(F.ignore??[],F),!this.includeChildMatches&&typeof this.#u.add!=="function")throw new Error("cannot ignore child matches, ignore lacks add() method.")}if(this.maxDepth=F.maxDepth||1/0,F.signal)this.signal=F.signal,this.signal.addEventListener("abort",()=>{this.#D.length=0})}#B(D){return this.seen.has(D)||!!this.#u?.ignored?.(D)}#$(D){return!!this.#u?.childrenIgnored?.(D)}pause(){this.paused=!0}resume(){if(this.signal?.aborted)return;this.paused=!1;let D=void 0;while(!this.paused&&(D=this.#D.shift()))D()}onResume(D){if(this.signal?.aborted)return;if(!this.paused)D();else this.#D.push(D)}async matchCheck(D,u){if(u&&this.opts.nodir)return;let F;if(this.opts.realpath){if(F=D.realpathCached()||await D.realpath(),!F)return;D=F}let B=D.isUnknown()||this.opts.stat?await D.lstat():D;if(this.opts.follow&&this.opts.nodir&&B?.isSymbolicLink()){let $=await B.realpath();if($&&($.isUnknown()||this.opts.stat))await $.lstat()}return this.matchCheckTest(B,u)}matchCheckTest(D,u){return D&&(this.maxDepth===1/0||D.depth()<=this.maxDepth)&&(!u||D.canReaddir())&&(!this.opts.nodir||!D.isDirectory())&&(!this.opts.nodir||!this.opts.follow||!D.isSymbolicLink()||!D.realpathCached()?.isDirectory())&&!this.#B(D)?D:void 0}matchCheckSync(D,u){if(u&&this.opts.nodir)return;let F;if(this.opts.realpath){if(F=D.realpathCached()||D.realpathSync(),!F)return;D=F}let B=D.isUnknown()||this.opts.stat?D.lstatSync():D;if(this.opts.follow&&this.opts.nodir&&B?.isSymbolicLink()){let $=B.realpathSync();if($&&($?.isUnknown()||this.opts.stat))$.lstatSync()}return this.matchCheckTest(B,u)}matchFinish(D,u){if(this.#B(D))return;if(!this.includeChildMatches&&this.#u?.add){let B=`${D.relativePosix()}/**`;this.#u.add(B)}let F=this.opts.absolute===void 0?u:this.opts.absolute;this.seen.add(D);let C=this.opts.mark&&D.isDirectory()?this.#E:"";if(this.opts.withFileTypes)this.matchEmit(D);else if(F){let B=this.opts.posix?D.fullpathPosix():D.fullpath();this.matchEmit(B+C)}else{let B=this.opts.posix?D.relativePosix():D.relative(),$=this.opts.dotRelative&&!B.startsWith(".."+this.#E)?"."+this.#E:"";this.matchEmit(!B?"."+C:$+B+C)}}async match(D,u,F){let C=await this.matchCheck(D,F);if(C)this.matchFinish(C,u)}matchSync(D,u,F){let C=this.matchCheckSync(D,F);if(C)this.matchFinish(C,u)}walkCB(D,u,F){if(this.signal?.aborted)F();this.walkCB2(D,u,new ou(this.opts),F)}walkCB2(D,u,F,C){if(this.#$(D))return C();if(this.signal?.aborted)C();if(this.paused){this.onResume(()=>this.walkCB2(D,u,F,C));return}F.processPatterns(D,u);let B=1,$=()=>{if(--B===0)C()};for(let[E,Q,X]of F.matches.entries()){if(this.#B(E))continue;B++,this.match(E,Q,X).then(()=>$())}for(let E of F.subwalkTargets()){if(this.maxDepth!==1/0&&E.depth()>=this.maxDepth)continue;B++;let Q=E.readdirCached();if(E.calledReaddir())this.walkCB3(E,Q,F,$);else E.readdirCB((X,Z)=>this.walkCB3(E,Z,F,$),!0)}$()}walkCB3(D,u,F,C){F=F.filterEntries(D,u);let B=1,$=()=>{if(--B===0)C()};for(let[E,Q,X]of F.matches.entries()){if(this.#B(E))continue;B++,this.match(E,Q,X).then(()=>$())}for(let[E,Q]of F.subwalks.entries())B++,this.walkCB2(E,Q,F.child(),$);$()}walkCBSync(D,u,F){if(this.signal?.aborted)F();this.walkCB2Sync(D,u,new ou(this.opts),F)}walkCB2Sync(D,u,F,C){if(this.#$(D))return C();if(this.signal?.aborted)C();if(this.paused){this.onResume(()=>this.walkCB2Sync(D,u,F,C));return}F.processPatterns(D,u);let B=1,$=()=>{if(--B===0)C()};for(let[E,Q,X]of F.matches.entries()){if(this.#B(E))continue;this.matchSync(E,Q,X)}for(let E of F.subwalkTargets()){if(this.maxDepth!==1/0&&E.depth()>=this.maxDepth)continue;B++;let Q=E.readdirSync();this.walkCB3Sync(E,Q,F,$)}$()}walkCB3Sync(D,u,F,C){F=F.filterEntries(D,u);let B=1,$=()=>{if(--B===0)C()};for(let[E,Q,X]of F.matches.entries()){if(this.#B(E))continue;this.matchSync(E,Q,X)}for(let[E,Q]of F.subwalks.entries())B++,this.walkCB2Sync(E,Q,F.child(),$);$()}}class h0 extends V2{matches=new Set;constructor(D,u,F){super(D,u,F)}matchEmit(D){this.matches.add(D)}async walk(){if(this.signal?.aborted)throw this.signal.reason;if(this.path.isUnknown())await this.path.lstat();return await new Promise((D,u)=>{this.walkCB(this.path,this.patterns,()=>{if(this.signal?.aborted)u(this.signal.reason);else D(this.matches)})}),this.matches}walkSync(){if(this.signal?.aborted)throw this.signal.reason;if(this.path.isUnknown())this.path.lstatSync();return this.walkCBSync(this.path,this.patterns,()=>{if(this.signal?.aborted)throw this.signal.reason}),this.matches}}class g0 extends V2{results;constructor(D,u,F){super(D,u,F);this.results=new Du({signal:this.signal,objectMode:!0}),this.results.on("drain",()=>this.resume()),this.results.on("resume",()=>this.resume())}matchEmit(D){if(this.results.write(D),!this.results.flowing)this.pause()}stream(){let D=this.path;if(D.isUnknown())D.lstat().then(()=>{this.walkCB(D,this.patterns,()=>this.results.end())});else this.walkCB(D,this.patterns,()=>this.results.end());return this.results}streamSync(){if(this.path.isUnknown())this.path.lstatSync();return this.walkCBSync(this.path,this.patterns,()=>this.results.end()),this.results}}var A4=typeof process==="object"&&process&&typeof process.platform==="string"?process.platform:"linux";class xD{absolute;cwd;root;dot;dotRelative;follow;ignore;magicalBraces;mark;matchBase;maxDepth;nobrace;nocase;nodir;noext;noglobstar;pattern;platform;realpath;scurry;stat;signal;windowsPathsNoEscape;withFileTypes;includeChildMatches;opts;patterns;constructor(D,u){if(!u)throw new TypeError("glob options required");if(this.withFileTypes=!!u.withFileTypes,this.signal=u.signal,this.follow=!!u.follow,this.dot=!!u.dot,this.dotRelative=!!u.dotRelative,this.nodir=!!u.nodir,this.mark=!!u.mark,!u.cwd)this.cwd="";else if(u.cwd instanceof URL||u.cwd.startsWith("file://"))u.cwd=H4(u.cwd);if(this.cwd=u.cwd||"",this.root=u.root,this.magicalBraces=!!u.magicalBraces,this.nobrace=!!u.nobrace,this.noext=!!u.noext,this.realpath=!!u.realpath,this.absolute=u.absolute,this.includeChildMatches=u.includeChildMatches!==!1,this.noglobstar=!!u.noglobstar,this.matchBase=!!u.matchBase,this.maxDepth=typeof u.maxDepth==="number"?u.maxDepth:1/0,this.stat=!!u.stat,this.ignore=u.ignore,this.withFileTypes&&this.absolute!==void 0)throw new Error("cannot set absolute and withFileTypes:true");if(typeof D==="string")D=[D];if(this.windowsPathsNoEscape=!!u.windowsPathsNoEscape||u.allowWindowsEscape===!1,this.windowsPathsNoEscape)D=D.map((Q)=>Q.replace(/\\/g,"/"));if(this.matchBase){if(u.noglobstar)throw new TypeError("base matching requires globstar");D=D.map((Q)=>Q.includes("/")?Q:`./**/${Q}`)}if(this.pattern=D,this.platform=u.platform||A4,this.opts={...u,platform:this.platform},u.scurry){if(this.scurry=u.scurry,u.nocase!==void 0&&u.nocase!==u.scurry.nocase)throw new Error("nocase option contradicts provided scurry option")}else{let Q=u.platform==="win32"?nu:u.platform==="darwin"?y0:u.platform?au:L6;this.scurry=new Q(this.cwd,{nocase:u.nocase,fs:u.fs})}this.nocase=this.scurry.nocase;let F=this.platform==="darwin"||this.platform==="win32",C={...u,dot:this.dot,matchBase:this.matchBase,nobrace:this.nobrace,nocase:this.nocase,nocaseMagicOnly:F,nocomment:!0,noext:this.noext,nonegate:!0,optimizationLevel:2,platform:this.platform,windowsPathsNoEscape:this.windowsPathsNoEscape,debug:!!this.opts.debug},B=this.pattern.map((Q)=>new _D(Q,C)),[$,E]=B.reduce((Q,X)=>{return Q[0].push(...X.set),Q[1].push(...X.globParts),Q},[[],[]]);this.patterns=$.map((Q,X)=>{let Z=E[X];if(!Z)throw new Error("invalid pattern object");return new Au(Q,Z,0,this.platform)})}async walk(){return[...await new h0(this.patterns,this.scurry.cwd,{...this.opts,maxDepth:this.maxDepth!==1/0?this.maxDepth+this.scurry.cwd.depth():1/0,platform:this.platform,nocase:this.nocase,includeChildMatches:this.includeChildMatches}).walk()]}walkSync(){return[...new h0(this.patterns,this.scurry.cwd,{...this.opts,maxDepth:this.maxDepth!==1/0?this.maxDepth+this.scurry.cwd.depth():1/0,platform:this.platform,nocase:this.nocase,includeChildMatches:this.includeChildMatches}).walkSync()]}stream(){return new g0(this.patterns,this.scurry.cwd,{...this.opts,maxDepth:this.maxDepth!==1/0?this.maxDepth+this.scurry.cwd.depth():1/0,platform:this.platform,nocase:this.nocase,includeChildMatches:this.includeChildMatches}).stream()}streamSync(){return new g0(this.patterns,this.scurry.cwd,{...this.opts,maxDepth:this.maxDepth!==1/0?this.maxDepth+this.scurry.cwd.depth():1/0,platform:this.platform,nocase:this.nocase,includeChildMatches:this.includeChildMatches}).streamSync()}iterateSync(){return this.streamSync()[Symbol.iterator]()}[Symbol.iterator](){return this.iterateSync()}iterate(){return this.stream()[Symbol.asyncIterator]()}[Symbol.asyncIterator](){return this.iterate()}}var H2=(D,u={})=>{if(!Array.isArray(D))D=[D];for(let F of D)if(new _D(F,u).hasMagic())return!0;return!1};function c0(D,u={}){return new xD(D,u).streamSync()}function T6(D,u={}){return new xD(D,u).stream()}function w6(D,u={}){return new xD(D,u).walkSync()}async function O6(D,u={}){return new xD(D,u).walk()}function d0(D,u={}){return new xD(D,u).iterateSync()}function P6(D,u={}){return new xD(D,u).iterate()}var z4=c0,U4=Object.assign(T6,{sync:c0}),G4=d0,W4=Object.assign(P6,{sync:d0}),_4=Object.assign(w6,{stream:c0,iterate:d0}),m0=Object.assign(O6,{glob:O6,globSync:w6,sync:_4,globStream:T6,stream:U4,globStreamSync:c0,streamSync:z4,globIterate:P6,iterate:W4,globIterateSync:d0,iterateSync:G4,Glob:xD,hasMagic:H2,escape:qu,unescape:TD});m0.glob=m0;async function k6(D,u={}){let F=C.TRASH_DIR;if(!S6(F))M4(F,{recursive:!0});let C=Array.isArray(D)?D:[D];for(let B of C){let $=await m0(B),E=$.length>0?$:[B];for(let Q of E)try{if(!S6(Q)){if(!u.force){console.error(`trash: ${Q}: No such file or directory`);continue}continue}if(R4(Q).isDirectory()&&!u.recursive){if(!u.force){console.error(`trash: ${Q}: is a directory`);continue}}let Z=I4(Q),J=Date.now(),V=L4(F,`${Z}.${J}`);j4(Q,V),console.log(`Moved ${Z} to trash`)}catch(X){if(!u.force){let Z=X instanceof Error?X.message:String(X);console.error(`trash: ${Q}: ${Z}`)}}}}import{readdirSync as x6,statSync as f6}from"fs";import{join as b6}from"path";$D();function N4(D){let u=D.lastIndexOf(".");if(u===-1)return{name:D,timestamp:0};let F=parseInt(D.substring(u+1));if(isNaN(F))return{name:D,timestamp:0};return{name:D.substring(0,u),timestamp:F}}function v6(D){if(D===0)return"0 B";let u=1024,F=["B","KB","MB","GB"],C=Math.floor(Math.log(D)/Math.log(u));return parseFloat((D/Math.pow(u,C)).toFixed(2))+" "+F[C]}function y6(D){let u=0,F=x6(D);for(let C of F){let B=b6(D,C),$=f6(B);if($.isDirectory())u+=y6(B);else u+=$.size}return u}async function h6(){let D=tD;try{let u=x6(D);if(u.length===0){DD.info("\uD83D\uDDD1\uFE0F Trash is empty");return}let F=u.map((E)=>{let Q=b6(D,E),X=f6(Q),{name:Z,timestamp:J}=N4(E),V=X.isDirectory()?y6(Q):X.size;return{originalName:Z,trashedName:E,size:V,trashedAt:new Date(J),isDirectory:X.isDirectory()}});F.sort((E,Q)=>Q.trashedAt.getTime()-E.trashedAt.getTime()),console.log(`
\uD83D\uDDD1\uFE0F Trash Contents
`),console.log("\u2500".repeat(80));let C=0,B=0,$=0;for(let E of F){if(C+=E.size,E.isDirectory)B++;else $++;let Q=E.isDirectory?"\uD83D\uDCC1":"\uD83D\uDCC4",X=E.trashedAt.toLocaleString(),Z=v6(E.size);console.log(`${Q} ${E.originalName}`),console.log(` Size: ${Z} | Trashed: ${X}`),console.log(` ID: ${E.trashedName}`),console.log()}console.log("\u2500".repeat(80)),console.log(`Total: ${B} folders, ${$} files (${v6(C)})`),console.log(`
To restore files: claude-mem restore`),console.log("To empty trash: claude-mem trash empty")}catch(u){if(u.code==="ENOENT")DD.info("\uD83D\uDDD1\uFE0F Trash is empty");else DD.error("Failed to read trash directory"),console.error(u)}}import{rmSync as O4,readdirSync as T4,existsSync as w4,statSync as P4}from"fs";import{join as g6}from"path";$D();async function m6(D={}){let u=tD;if(!w4(u)){DD.info("\uD83D\uDDD1\uFE0F Trash is already empty");return}try{let F=T4(u);if(F.length===0){DD.info("\uD83D\uDDD1\uFE0F Trash is already empty");return}let C=0,B=0;for(let E of F){let Q=g6(u,E);if(P4(Q).isDirectory())C++;else B++}if(!D.force){let E=await Cu({message:`Permanently delete ${C} folders and ${B} files from trash?`,initialValue:!1});if(zD(E)||!E){DD.info("Cancelled - trash not emptied");return}}let $=G3();$.start("Emptying trash...");for(let E of F){let Q=g6(u,E);O4(Q,{recursive:!0,force:!0})}$.stop(`\uD83D\uDDD1\uFE0F Trash emptied - permanently deleted ${C} folders and ${B} files`)}catch(F){DD.error("Failed to empty trash"),console.error(F),process.exit(1)}}import{readdirSync as S4,renameSync as k4}from"fs";import{join as c6}from"path";$D();async function d6(){let D=tD,u=S4(D);if(u.length===0){console.log("Trash is empty");return}let F=await Z0({message:"Select file to restore:",options:u.map((C)=>({value:C,label:C}))});if(zD(F))return;k4(c6(D,F),c6(process.cwd(),F)),console.log(`Restored ${F}`)}$D();import zu from"fs";import m4 from"path";$D();import{Database as v4}from"bun:sqlite";var l0=null;class rD{static instance;db=null;migrations=[];static getInstance(){if(!rD.instance)rD.instance=new rD;return rD.instance}registerMigration(D){this.migrations.push(D),this.migrations.sort((u,F)=>u.version-F.version)}async initialize(){if(this.db)return this.db;return GD(g),this.db=new v4(j0,{create:!0,readwrite:!0}),this.db.run("PRAGMA journal_mode = WAL"),this.db.run("PRAGMA synchronous = NORMAL"),this.db.run("PRAGMA foreign_keys = ON"),this.db.run("PRAGMA temp_store = memory"),this.db.run("PRAGMA mmap_size = 268435456"),this.db.run("PRAGMA cache_size = 10000"),this.initializeSchemaVersions(),await this.runMigrations(),l0=this.db,this.db}getConnection(){if(!this.db)throw new Error("Database not initialized. Call initialize() first.");return this.db}withTransaction(D){let u=this.getConnection();return u.transaction(D)(u)}close(){if(this.db)this.db.close(),this.db=null,l0=null}initializeSchemaVersions(){if(!this.db)return;this.db.run(`
CREATE TABLE IF NOT EXISTS schema_versions (
id INTEGER PRIMARY KEY,
version INTEGER UNIQUE NOT NULL,
applied_at TEXT NOT NULL
)
`)}async runMigrations(){if(!this.db)return;let u=this.db.query("SELECT version FROM schema_versions ORDER BY version").all().map((C)=>C.version),F=u.length>0?Math.max(...u):0;for(let C of this.migrations)if(C.version>F)console.log(`Applying migration ${C.version}...`),this.db.transaction(()=>{C.up(this.db),this.db.query("INSERT INTO schema_versions (version, applied_at) VALUES (?, ?)").run(C.version,new Date().toISOString())})(),console.log(`Migration ${C.version} applied successfully`)}getCurrentVersion(){if(!this.db)return 0;return this.db.query("SELECT MAX(version) as version FROM schema_versions").get()?.version||0}}function l6(){if(!l0)throw new Error("Database not initialized. Call DatabaseManager.getInstance().initialize() first.");return l0}async function p6(){return await rD.getInstance().initialize()}Fu();var f4={version:1,up:(D)=>{D.run(`
CREATE TABLE IF NOT EXISTS sessions (
id INTEGER PRIMARY KEY AUTOINCREMENT,
session_id TEXT UNIQUE NOT NULL,
project TEXT NOT NULL,
created_at TEXT NOT NULL,
created_at_epoch INTEGER NOT NULL,
source TEXT NOT NULL DEFAULT 'compress',
archive_path TEXT,
archive_bytes INTEGER,
archive_checksum TEXT,
archived_at TEXT,
metadata_json TEXT
);
CREATE INDEX IF NOT EXISTS idx_sessions_project ON sessions(project);
CREATE INDEX IF NOT EXISTS idx_sessions_created_at ON sessions(created_at_epoch DESC);
CREATE INDEX IF NOT EXISTS idx_sessions_project_created ON sessions(project, created_at_epoch DESC);
`),D.run(`
CREATE TABLE IF NOT EXISTS memories (
id INTEGER PRIMARY KEY AUTOINCREMENT,
session_id TEXT NOT NULL,
text TEXT NOT NULL,
document_id TEXT UNIQUE,
keywords TEXT,
created_at TEXT NOT NULL,
created_at_epoch INTEGER NOT NULL,
project TEXT NOT NULL,
archive_basename TEXT,
origin TEXT NOT NULL DEFAULT 'transcript',
FOREIGN KEY (session_id) REFERENCES sessions(session_id) ON DELETE CASCADE
);
CREATE INDEX IF NOT EXISTS idx_memories_session ON memories(session_id);
CREATE INDEX IF NOT EXISTS idx_memories_project ON memories(project);
CREATE INDEX IF NOT EXISTS idx_memories_created_at ON memories(created_at_epoch DESC);
CREATE INDEX IF NOT EXISTS idx_memories_project_created ON memories(project, created_at_epoch DESC);
CREATE INDEX IF NOT EXISTS idx_memories_document_id ON memories(document_id);
CREATE INDEX IF NOT EXISTS idx_memories_origin ON memories(origin);
`),D.run(`
CREATE TABLE IF NOT EXISTS overviews (
id INTEGER PRIMARY KEY AUTOINCREMENT,
session_id TEXT NOT NULL,
content TEXT NOT NULL,
created_at TEXT NOT NULL,
created_at_epoch INTEGER NOT NULL,
project TEXT NOT NULL,
origin TEXT NOT NULL DEFAULT 'claude',
FOREIGN KEY (session_id) REFERENCES sessions(session_id) ON DELETE CASCADE
);
CREATE INDEX IF NOT EXISTS idx_overviews_session ON overviews(session_id);
CREATE INDEX IF NOT EXISTS idx_overviews_project ON overviews(project);
CREATE INDEX IF NOT EXISTS idx_overviews_created_at ON overviews(created_at_epoch DESC);
CREATE INDEX IF NOT EXISTS idx_overviews_project_created ON overviews(project, created_at_epoch DESC);
CREATE UNIQUE INDEX IF NOT EXISTS idx_overviews_project_latest ON overviews(project, created_at_epoch DESC);
`),D.run(`
CREATE TABLE IF NOT EXISTS diagnostics (
id INTEGER PRIMARY KEY AUTOINCREMENT,
session_id TEXT,
message TEXT NOT NULL,
severity TEXT NOT NULL DEFAULT 'info',
created_at TEXT NOT NULL,
created_at_epoch INTEGER NOT NULL,
project TEXT NOT NULL,
origin TEXT NOT NULL DEFAULT 'system',
FOREIGN KEY (session_id) REFERENCES sessions(session_id) ON DELETE SET NULL
);
CREATE INDEX IF NOT EXISTS idx_diagnostics_session ON diagnostics(session_id);
CREATE INDEX IF NOT EXISTS idx_diagnostics_project ON diagnostics(project);
CREATE INDEX IF NOT EXISTS idx_diagnostics_severity ON diagnostics(severity);
CREATE INDEX IF NOT EXISTS idx_diagnostics_created ON diagnostics(created_at_epoch DESC);
`),D.run(`
CREATE TABLE IF NOT EXISTS transcript_events (
id INTEGER PRIMARY KEY AUTOINCREMENT,
session_id TEXT NOT NULL,
project TEXT,
event_index INTEGER NOT NULL,
event_type TEXT,
raw_json TEXT NOT NULL,
captured_at TEXT NOT NULL,
captured_at_epoch INTEGER NOT NULL,
FOREIGN KEY (session_id) REFERENCES sessions(session_id) ON DELETE CASCADE,
UNIQUE(session_id, event_index)
);
CREATE INDEX IF NOT EXISTS idx_transcript_events_session ON transcript_events(session_id, event_index);
CREATE INDEX IF NOT EXISTS idx_transcript_events_project ON transcript_events(project);
CREATE INDEX IF NOT EXISTS idx_transcript_events_type ON transcript_events(event_type);
CREATE INDEX IF NOT EXISTS idx_transcript_events_captured ON transcript_events(captured_at_epoch DESC);
`),console.log("\u2705 Created all database tables successfully")},down:(D)=>{D.run(`
DROP TABLE IF EXISTS transcript_events;
DROP TABLE IF EXISTS diagnostics;
DROP TABLE IF EXISTS overviews;
DROP TABLE IF EXISTS memories;
DROP TABLE IF EXISTS sessions;
`)}},b4={version:2,up:(D)=>{D.run(`
ALTER TABLE memories ADD COLUMN title TEXT;
ALTER TABLE memories ADD COLUMN subtitle TEXT;
ALTER TABLE memories ADD COLUMN facts TEXT;
ALTER TABLE memories ADD COLUMN concepts TEXT;
ALTER TABLE memories ADD COLUMN files_touched TEXT;
`),D.run(`
CREATE INDEX IF NOT EXISTS idx_memories_title ON memories(title);
CREATE INDEX IF NOT EXISTS idx_memories_concepts ON memories(concepts);
`),console.log("\u2705 Added hierarchical memory fields to memories table")},down:(D)=>{console.log("\u26A0\uFE0F Warning: SQLite ALTER TABLE DROP COLUMN not fully supported"),console.log("\u26A0\uFE0F To rollback, manually recreate the memories table")}},y4={version:3,up:(D)=>{D.run(`
CREATE TABLE IF NOT EXISTS streaming_sessions (
id INTEGER PRIMARY KEY AUTOINCREMENT,
claude_session_id TEXT UNIQUE NOT NULL,
sdk_session_id TEXT,
project TEXT NOT NULL,
title TEXT,
subtitle TEXT,
user_prompt TEXT,
started_at TEXT NOT NULL,
started_at_epoch INTEGER NOT NULL,
updated_at TEXT,
updated_at_epoch INTEGER,
completed_at TEXT,
completed_at_epoch INTEGER,
status TEXT NOT NULL DEFAULT 'active'
);
CREATE INDEX IF NOT EXISTS idx_streaming_sessions_claude_id ON streaming_sessions(claude_session_id);
CREATE INDEX IF NOT EXISTS idx_streaming_sessions_sdk_id ON streaming_sessions(sdk_session_id);
CREATE INDEX IF NOT EXISTS idx_streaming_sessions_project ON streaming_sessions(project);
CREATE INDEX IF NOT EXISTS idx_streaming_sessions_status ON streaming_sessions(status);
CREATE INDEX IF NOT EXISTS idx_streaming_sessions_started ON streaming_sessions(started_at_epoch DESC);
`),console.log("\u2705 Created streaming_sessions table for real-time session tracking")},down:(D)=>{D.run(`
DROP TABLE IF EXISTS streaming_sessions;
`)}},h4={version:4,up:(D)=>{D.run(`
CREATE TABLE IF NOT EXISTS sdk_sessions (
id INTEGER PRIMARY KEY AUTOINCREMENT,
claude_session_id TEXT UNIQUE NOT NULL,
sdk_session_id TEXT UNIQUE,
project TEXT NOT NULL,
user_prompt TEXT,
started_at TEXT NOT NULL,
started_at_epoch INTEGER NOT NULL,
completed_at TEXT,
completed_at_epoch INTEGER,
status TEXT CHECK(status IN ('active', 'completed', 'failed')) NOT NULL DEFAULT 'active'
);
CREATE INDEX IF NOT EXISTS idx_sdk_sessions_claude_id ON sdk_sessions(claude_session_id);
CREATE INDEX IF NOT EXISTS idx_sdk_sessions_sdk_id ON sdk_sessions(sdk_session_id);
CREATE INDEX IF NOT EXISTS idx_sdk_sessions_project ON sdk_sessions(project);
CREATE INDEX IF NOT EXISTS idx_sdk_sessions_status ON sdk_sessions(status);
CREATE INDEX IF NOT EXISTS idx_sdk_sessions_started ON sdk_sessions(started_at_epoch DESC);
`),D.run(`
CREATE TABLE IF NOT EXISTS observation_queue (
id INTEGER PRIMARY KEY AUTOINCREMENT,
sdk_session_id TEXT NOT NULL,
tool_name TEXT NOT NULL,
tool_input TEXT NOT NULL,
tool_output TEXT NOT NULL,
created_at_epoch INTEGER NOT NULL,
processed_at_epoch INTEGER,
FOREIGN KEY(sdk_session_id) REFERENCES sdk_sessions(sdk_session_id) ON DELETE CASCADE
);
CREATE INDEX IF NOT EXISTS idx_observation_queue_sdk_session ON observation_queue(sdk_session_id);
CREATE INDEX IF NOT EXISTS idx_observation_queue_processed ON observation_queue(processed_at_epoch);
CREATE INDEX IF NOT EXISTS idx_observation_queue_pending ON observation_queue(sdk_session_id, processed_at_epoch);
`),D.run(`
CREATE TABLE IF NOT EXISTS observations (
id INTEGER PRIMARY KEY AUTOINCREMENT,
sdk_session_id TEXT NOT NULL,
project TEXT NOT NULL,
text TEXT NOT NULL,
type TEXT NOT NULL CHECK(type IN ('decision', 'bugfix', 'feature', 'refactor', 'discovery')),
created_at TEXT NOT NULL,
created_at_epoch INTEGER NOT NULL,
FOREIGN KEY(sdk_session_id) REFERENCES sdk_sessions(sdk_session_id) ON DELETE CASCADE
);
CREATE INDEX IF NOT EXISTS idx_observations_sdk_session ON observations(sdk_session_id);
CREATE INDEX IF NOT EXISTS idx_observations_project ON observations(project);
CREATE INDEX IF NOT EXISTS idx_observations_type ON observations(type);
CREATE INDEX IF NOT EXISTS idx_observations_created ON observations(created_at_epoch DESC);
`),D.run(`
CREATE TABLE IF NOT EXISTS session_summaries (
id INTEGER PRIMARY KEY AUTOINCREMENT,
sdk_session_id TEXT UNIQUE NOT NULL,
project TEXT NOT NULL,
request TEXT,
investigated TEXT,
learned TEXT,
completed TEXT,
next_steps TEXT,
files_read TEXT,
files_edited TEXT,
notes TEXT,
created_at TEXT NOT NULL,
created_at_epoch INTEGER NOT NULL,
FOREIGN KEY(sdk_session_id) REFERENCES sdk_sessions(sdk_session_id) ON DELETE CASCADE
);
CREATE INDEX IF NOT EXISTS idx_session_summaries_sdk_session ON session_summaries(sdk_session_id);
CREATE INDEX IF NOT EXISTS idx_session_summaries_project ON session_summaries(project);
CREATE INDEX IF NOT EXISTS idx_session_summaries_created ON session_summaries(created_at_epoch DESC);
`),console.log("\u2705 Created SDK agent architecture tables")},down:(D)=>{D.run(`
DROP TABLE IF EXISTS session_summaries;
DROP TABLE IF EXISTS observations;
DROP TABLE IF EXISTS observation_queue;
DROP TABLE IF EXISTS sdk_sessions;
`)}},g4={version:5,up:(D)=>{D.run("DROP TABLE IF EXISTS streaming_sessions"),D.run("DROP TABLE IF EXISTS observation_queue"),console.log("\u2705 Dropped orphaned tables: streaming_sessions, observation_queue")},down:(D)=>{D.run(`
CREATE TABLE IF NOT EXISTS streaming_sessions (
id INTEGER PRIMARY KEY AUTOINCREMENT,
claude_session_id TEXT UNIQUE NOT NULL,
sdk_session_id TEXT,
project TEXT NOT NULL,
title TEXT,
subtitle TEXT,
user_prompt TEXT,
started_at TEXT NOT NULL,
started_at_epoch INTEGER NOT NULL,
updated_at TEXT,
updated_at_epoch INTEGER,
completed_at TEXT,
completed_at_epoch INTEGER,
status TEXT NOT NULL DEFAULT 'active'
)
`),D.run(`
CREATE TABLE IF NOT EXISTS observation_queue (
id INTEGER PRIMARY KEY AUTOINCREMENT,
sdk_session_id TEXT NOT NULL,
tool_name TEXT NOT NULL,
tool_input TEXT NOT NULL,
tool_output TEXT NOT NULL,
created_at_epoch INTEGER NOT NULL,
processed_at_epoch INTEGER,
FOREIGN KEY(sdk_session_id) REFERENCES sdk_sessions(sdk_session_id) ON DELETE CASCADE
)
`),console.log("\u26A0\uFE0F Recreated streaming_sessions and observation_queue (for rollback only)")}},i6=[f4,b4,y4,h4,g4];function c4(D){let u=D.status==="pass"?"\u2705":D.status==="warn"?"\u26A0\uFE0F ":"\u274C",F=D.details?`${D.name}: ${D.details}`:D.name;console.log(`${u} ${F}`)}async function n6(D={}){let u=[];try{if(!zu.existsSync(g))zu.mkdirSync(g,{recursive:!0}),u.push({name:`Data directory created at ${g}`,status:"warn"});else{let F=zu.statSync(g),C=!1;try{zu.accessSync(g,zu.constants.W_OK),C=!0}catch{}u.push({name:`Data directory ${g}`,status:F.isDirectory()&&C?"pass":"fail",details:F.isDirectory()&&C?"accessible":"not writable"})}}catch(F){u.push({name:"Data directory",status:"fail",details:F?.message||String(F)})}try{let F=new QD;u.push({name:"SQLite database",status:"pass",details:"connected"})}catch(F){u.push({name:"SQLite database",status:"fail",details:F?.message||String(F)})}try{let F=zu.existsSync(Qu);u.push({name:"Chroma vector store",status:F?"pass":"warn",details:F?`data dir ${m4.resolve(Qu)}`:"Not yet initialized"})}catch(F){u.push({name:"Chroma vector store",status:"warn",details:F?.message||"Unable to check Chroma directory"})}if(D.json)console.log(JSON.stringify({checks:u},null,2));else console.log("claude-mem doctor"),console.log("================="),u.forEach(c4)}$D();import{readFileSync as A2,existsSync as p0,readdirSync as d4,statSync as l4}from"fs";import{join as i0,dirname as p4}from"path";import{execSync as i4}from"child_process";import{fileURLToPath as n4}from"url";var AX=p4(n4(import.meta.url));async function a6(){console.log("\uD83D\uDD0D Claude Memory System Status Check"),console.log(`=====================================
`),console.log("\u2699\uFE0F Settings Configuration:");let D=(Q,X)=>{if(!p0(X)){console.log(` \u23ED\uFE0F ${Q}: No settings file`);return}console.log(` \uD83D\uDCCB ${Q}: ${X}`);try{let Z=JSON.parse(A2(X,"utf8")),J=Z.hooks?.SessionStart?.some((U)=>U.hooks?.some((G)=>G.command?.includes("claude-mem"))),V=Z.hooks?.Stop?.some((U)=>U.hooks?.some((G)=>G.command?.includes("claude-mem"))),H=Z.hooks?.UserPromptSubmit?.some((U)=>U.hooks?.some((G)=>G.command?.includes("claude-mem"))),z=Z.hooks?.PostToolUse?.some((U)=>U.hooks?.some((G)=>G.command?.includes("claude-mem")));console.log(` SessionStart (claude-mem context): ${J?"\u2705":"\u274C"}`),console.log(` Stop (claude-mem summary): ${V?"\u2705":"\u274C"}`),console.log(` UserPromptSubmit (claude-mem new): ${H?"\u2705":"\u274C"}`),console.log(` PostToolUse (claude-mem save): ${z?"\u2705":"\u274C"}`)}catch(Z){console.log(" \u26A0\uFE0F Could not parse settings")}};D("Global",(void 0)()),D("Project",i0(process.cwd(),".claude","settings.json")),console.log(""),console.log("\uD83D\uDCE6 Compressed Transcripts:");let u=i0((void 0)(),"projects");if(p0(u))try{let Q=0,X=0,Z=(J,V=0)=>{if(V>3)return;let H=d4(J);for(let z of H){let U=i0(J,z);if(l4(U).isDirectory()&&!z.startsWith("."))Z(U,V+1);else if(z.endsWith(".jsonl.compressed"))Q++;else if(z.endsWith(".jsonl.archive"))X++}};Z(u),console.log(` Compressed files: ${Q}`),console.log(` Archive files: ${X}`)}catch(Q){console.log(" \u26A0\uFE0F Could not scan projects directory")}else console.log(" \u2139\uFE0F No Claude projects directory found");console.log(""),console.log("\uD83D\uDD27 Runtime Environment:");let F=(Q,X)=>{try{let Z=i4(`${Q} --version`,{encoding:"utf8"}).trim();console.log(` \u2705 ${X}: ${Z}`)}catch{console.log(` \u274C ${X}: Not found`)}};F("node","Node.js"),F("bun","Bun"),console.log(""),console.log("\uD83E\uDDE0 Chroma Storage Status:"),console.log(" \u2705 Storage backend: Chroma MCP"),console.log(` \uD83D\uDCCD Data location: ${(void 0)()}`),console.log(" \uD83D\uDD0D Features: Vector search, semantic similarity, document storage"),console.log(""),console.log("\uD83D\uDCCA Summary:");let C=(void 0)(),B=i0(process.cwd(),".claude","settings.json"),$=!1,E="Not installed";try{if(p0(C)){let Q=JSON.parse(A2(C,"utf8"));if(Q.hooks?.SessionStart||Q.hooks?.Stop||Q.hooks?.PostToolUse)$=!0,E="Global"}if(p0(B)){let Q=JSON.parse(A2(B,"utf8"));if(Q.hooks?.SessionStart||Q.hooks?.Stop||Q.hooks?.PostToolUse)$=!0,E=E==="Global"?"Global + Project":"Project"}}catch{}if($)console.log(` \u2705 Claude Memory System is installed (${E})`),console.log(""),console.log("\uD83D\uDCA1 To test: Use /compact in Claude Code");else console.log(" \u274C Claude Memory System is not installed"),console.log(""),console.log("\uD83D\uDCA1 To install: claude-mem install")}var XD=new m2;XD.name(dD).description(r2).version(a2);XD.command("install").description("Install Claude Code hooks for automatic compression").option("--user","Install for current user (default)").option("--project","Install for current project only").option("--local","Install to custom local directory").option("--path <path>","Custom installation path (with --local)").option("--timeout <ms>","Hook execution timeout in milliseconds","180000").option("--skip-mcp","Skip Chroma MCP server installation").option("--force","Force installation even if already installed").action(S8);XD.command("uninstall").description("Remove Claude Code hooks").option("--user","Remove from user settings (default)").option("--project","Remove from project settings").option("--all","Remove from both user and project settings").action(x8);XD.command("logs").description("View claude-mem operation logs").option("--debug","Show debug logs only").option("--error","Show error logs only").option("--tail [n]","Show last n lines","50").option("--follow","Follow log output").action(b8);var U2=XD.command("trash").description("Manage trash bin for safe file deletion").argument("[files...]","Files to move to trash").option("-r, --recursive","Remove directories recursively").option("-R","Remove directories recursively (same as -r)").option("-f, --force","Suppress errors for nonexistent files").action(async(D,u)=>{if(!D||D.length===0){U2.outputHelp();return}if(u.R)u.recursive=!0;await k6(D,{force:u.force,recursive:u.recursive})});U2.command("view").description("View contents of trash bin").action(h6);U2.command("empty").description("Permanently delete all files in trash").option("-f, --force","Skip confirmation prompt").action(m6);XD.command("restore").description("Restore files from trash interactively").action(d6);XD.command("doctor").description("Run health checks on claude-mem installation").option("--json","Output results as JSON").action(n6);XD.command("status").description("Show claude-mem system status").action(a6);XD.command("context").description("SessionStart hook - show recent session context").action(async()=>{let{contextHook:D}=await Promise.resolve().then(() => (tu(),su)),u=await n0();D(JSON.parse(u))});XD.command("new").description("UserPromptSubmit hook - initialize SDK session").action(async()=>{let{newHook:D}=await Promise.resolve().then(() => (tu(),su)),u=await n0();D(JSON.parse(u))});XD.command("save").description("PostToolUse hook - queue observation").action(async()=>{let{saveHook:D}=await Promise.resolve().then(() => (tu(),su)),u=await n0();D(JSON.parse(u))});XD.command("summary").description("Stop hook - finalize session").action(async()=>{let{summaryHook:D}=await Promise.resolve().then(() => (tu(),su)),u=await n0();D(JSON.parse(u))});XD.command("worker <sessionId>").description("Run SDK worker process (internal use)").action(async(D)=>{try{let{main:u}=await Promise.resolve().then(() => (K1(),q1));process.argv[2]=D,await u()}catch(u){console.error(`[SDK Worker] Fatal error: ${u.message}`),process.exit(1)}});async function n0(){return new Promise((D)=>{let u="";process.stdin.on("data",(F)=>{u+=F}),process.stdin.on("end",()=>{D(u)})})}XD.parse();export{i6 as migrations,p6 as initializeDatabase,l6 as getDatabase,rD as DatabaseManager};