@visulima/vis 6.0.1 → 6.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -0
- package/dist/bin.js +1 -1
- package/dist/binx.js +1 -1
- package/dist/packem_chunks/catalog.js +1 -1
- package/dist/packem_chunks/cli-exec.js +1 -1
- package/dist/packem_chunks/cli-main.js +6 -6
- package/dist/packem_chunks/handler12.js +4 -4
- package/dist/packem_chunks/handler15.js +1 -1
- package/dist/packem_chunks/handler2.js +1 -1
- package/dist/packem_chunks/handler20.js +1 -1
- package/dist/packem_chunks/handler24.js +1 -1
- package/dist/packem_chunks/handler26.js +4 -4
- package/dist/packem_chunks/handler28.js +1 -1
- package/dist/packem_chunks/handler3.js +1 -1
- package/dist/packem_chunks/handler5.js +1 -1
- package/dist/packem_chunks/handler59.js +1 -1
- package/dist/packem_chunks/handler6.js +1 -1
- package/dist/packem_chunks/handler61.js +3 -3
- package/dist/packem_chunks/handler65.js +4 -4
- package/dist/packem_chunks/handler7.js +1 -1
- package/dist/packem_chunks/handler70.js +6 -6
- package/dist/packem_chunks/handler71.js +26 -46
- package/dist/packem_chunks/handler72.js +1 -1
- package/dist/packem_chunks/handler73.js +1 -1
- package/dist/packem_chunks/handler78.js +1 -1
- package/dist/packem_chunks/help-command.js +1 -1
- package/dist/packem_chunks/verify-lockfile.js +1 -1
- package/dist/packem_shared/{affected-selection-CrW7fWEd.js → affected-selection-DGb6Xu5K.js} +1 -1
- package/dist/packem_shared/{bin-D3TtXgz6.js → bin-AZQv95jh.js} +1 -1
- package/dist/packem_shared/dependency-scan-CawAKoU_.js +1 -0
- package/dist/packem_shared/detect-CbMRSXkM.js +1 -0
- package/dist/packem_shared/{ecosystem-gate-ByxWtzPE.js → ecosystem-gate-DiqQj0LJ.js} +1 -1
- package/dist/packem_shared/env-consistency-B4rU4MQb.js +1 -0
- package/dist/packem_shared/{index-DGdD4w-b.js → index-CDHP1kby.js} +1 -1
- package/dist/packem_shared/{index-BKbMnn8K.js → index-JRb5wabN.js} +1 -1
- package/dist/packem_shared/{package-version-QFmE9anh.js → package-version-KLwH0Ivy.js} +1 -1
- package/dist/packem_shared/{project-name-filter-DIqpdsvP.js → project-name-filter-B1ZCsbOW.js} +1 -1
- package/dist/packem_shared/runtime-check-D3cRDuoi.js +1 -0
- package/dist/packem_shared/scaffold-files-DVyfB0yz.js +28 -0
- package/dist/packem_shared/toolchain-CP79HNVy.js +5 -0
- package/dist/packem_shared/{vis-user-error-S0Fesz5y.js → vis-user-error-CRmrBaD1.js} +1 -1
- package/dist/packem_shared/watch-loop-D1_e-qIl.js +11 -0
- package/index.js +26 -26
- package/package.json +9 -9
- package/dist/packem_shared/dependency-scan-B8jroa1D.js +0 -1
- package/dist/packem_shared/env-consistency-Dt_uDbSP.js +0 -1
- package/dist/packem_shared/runtime-check-1U8HrQd9.js +0 -1
- package/dist/packem_shared/toolchain-Bz70UIcp.js +0 -5
- package/dist/packem_shared/watch-loop-BEnGuMBn.js +0 -11
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{createRequire as Fw}from"node:module";import{n as Qw,b as D,d as zw,a as Kw,x as Vw,r as Uw,i as qw}from"../packem_shared/vis-user-error-S0Fesz5y.js";import{k as lf,e as w,g as lu,m as pn,z as V,v as bc,a as oa,l as ek,U as Wt}from"../packem_shared/index-BzhrR_iC.js";import{N as df,p as Oe}from"../packem_shared/readJsonSync-CbryXYxN-EWl7_7KX.js";import{x as C,F as k,X as _,o as E,a5 as ik,a6 as nk,a7 as md,a8 as ni,a9 as tk,aa as ok,ab as Wi,ac as ak,ad as sk,ae as rk,af as uk,ag as ck,ah as lk,ai as dk,aj as gk,ak as hk,y as gf,P as nn,d as pk,al as fk,l as bd,k as vk,E as yk,p as du,N as wd,R as mk,i as bk,j as wk,am as gu,an as hu,ao as kk,ap as jk}from"./catalog.js";import{parseStacktrace as Sk}from"@visulima/error/stacktrace";import{i as Sn}from"../packem_shared/index-BjdW45xX.js";import{y as L}from"../packem_shared/isAccessibleSync-DYKTrrvc-C-_5cgwu.js";import{U as Ie,h as En}from"../packem_shared/writeFileSync-DJoHk3Ks-BPRoepNw.js";import{findVisConfigFile as lt,loadVisConfig as jd}from"./CONFIG_FILES.js";import{l as Un,f as $k}from"./ts-loader.js";import{S as Ek}from"../packem_shared/index-BisalDCf.js";import{T as Bk}from"../packem_shared/target-merge-DVJl-7Qz.js";import{s as Rk}from"../packem_shared/bin-D3TtXgz6.js";import{X as cr,j as Ei,b as To,q as dn,F as Pt,T as Ok,t as ws,J as Jk}from"../packem_shared/index.server-Ca_EEVfw.js";import{s as fu}from"../packem_shared/index-B4AjSxHU.js";import{g as ns,r as Pk}from"../packem_shared/package-version-QFmE9anh.js";import{l as Bn,k as Sd,a8 as Mk,a9 as mf,g as Hk,d as Rn,aa as vu,ab as Ik,z as Xo,c as Po,ac as bf}from"../packem_shared/formatBytes-_HvjOy8a-B_qQr4Hw.js";import{d as Cd}from"../packem_shared/pm-runner-RM72mDZg.js";import{getMainWorktreeRoot as Xk,Cache as _o,readLastRunSummary as wf,getLastRunSummaryPath as yu,parseCacheSize as _k,describeCacheMissReason as Fk,digestFile as kf}from"@visulima/task-runner";import{e as ej}from"../packem_shared/index-BKbMnn8K.js";let Ww;const Gw=e=>(Ww??=Fw(import.meta.url))(e),fo=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,ri=e=>{if(typeof fo<"u"&&fo.versions&&fo.versions.node){const[i,n]=fo.versions.node.split(".").map(Number);if(i>22||i===22&&n>=3||i===20&&n>=16)return fo.getBuiltinModule(e)}return Gw(e)},{createRequire:xi}=ri("node:module"),{spawnSync:vn,execSync:hf,execFileSync:Ck,execFile:Lk}=ri("node:child_process"),{writeFileSync:xe,existsSync:pu,renameSync:pf,readFileSync:ff,readdirSync:Fe,statSync:Vn,rmSync:Gt,copyFileSync:xk,unlinkSync:$n,mkdirSync:Tk,cpSync:Yk,watch:Dk}=ri("node:fs"),{dirname:vf,delimiter:kd,resolve:is}=ri("node:path"),{createInterface:yf}=ri("node:readline"),{homedir:Nk,platform:Zk,tmpdir:Ak}=ri("node:os"),{readFile:jf,readdir:aa,stat:qt,realpath:Ld,rm:wc,mkdtemp:Wk,mkdir:Gk}=ri("node:fs/promises"),{isIP:Qk}=ri("node:net"),{createServer:zk,STATUS_CODES:Kk}=ri("node:http"),{Http2ServerRequest:yn,constants:Vk}=ri("node:http2"),{Readable:xd}=ri("node:stream"),{randomUUID:Uk}=ri("node:crypto"),{fileURLToPath:qk}=ri("node:url"),ij=["pnpm-lock.yaml","package-lock.json","npm-shrinkwrap.json","yarn.lock","bun.lock","bun.lockb"];let nj;const tj=e=>(nj??=xi(import.meta.url))(e),vo=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,Sf=e=>{if(typeof vo<"u"&&vo.versions&&vo.versions.node){const[i,n]=vo.versions.node.split(".").map(Number);if(i>22||i===22&&n>=3||i===20&&n>=16)return vo.getBuiltinModule(e)}return tj(e)},{execFileSync:oj}=Sf("node:child_process"),{existsSync:Td,readFileSync:aj}=Sf("node:fs"),sj=[...ij],Yd=new Set(["bun","npm","pnpm","yarn"]),Cf=e=>{const i=df(aj(e,"utf8"));return typeof i?.packageManager=="string"?i.packageManager:void 0},rj=e=>{let i;if(sj.forEach(t=>{!i&&Td(w(e,t))&&(i=w(e,t))}),i)return i;const n=w(e,"package.json");if(Td(n)&&Cf(n)!==void 0)return n},uj=e=>{if(!e)throw new lu("Could not find a package manager");if(e.endsWith("package.json")){const i=Cf(e);if(i){const n=["npm","yarn","pnpm","bun"].find(t=>i.startsWith(t));if(n)return{packageManager:n,path:pn(e)}}}if(e.endsWith("yarn.lock"))return{packageManager:"yarn",path:pn(e)};if(e.endsWith("package-lock.json")||e.endsWith("npm-shrinkwrap.json"))return{packageManager:"npm",path:pn(e)};if(e.endsWith("pnpm-lock.yaml"))return{packageManager:"pnpm",path:pn(e)};if(e.endsWith("bun.lock")||e.endsWith("bun.lockb"))return{packageManager:"bun",path:pn(e)};throw new lu("Could not find a package manager")},cj=e=>{const i=lf(rj,{...e&&{cwd:e}});return uj(i)},Tee=e=>{if(!Yd.has(e))throw new Error(`Unsupported package manager "${e}". Expected one of: ${[...Yd].join(", ")}.`);return oj(e,["--version"]).toString("utf8").trim()};let lj;const dj=e=>(lj??=xi(import.meta.url))(e),yo=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,gj=e=>{if(typeof yo<"u"&&yo.versions&&yo.versions.node){const[i,n]=yo.versions.node.split(".").map(Number);if(i>22||i===22&&n>=3||i===20&&n>=16)return yo.getBuiltinModule(e)}return dj(e)},{existsSync:Dd,readFileSync:hj}=gj("node:fs"),pj=e=>{let i;try{i=df(e)}catch{return!1}if(!i||typeof i!="object"||Array.isArray(i))return!1;const{workspaces:n}=i;return typeof n=="object"&&n!==null},Lf=e=>{const i=lf(["lerna.json","turbo.json"],{type:"file",...e&&{cwd:e}});if(i?.endsWith("lerna.json")){const t=Oe(i);if(t&&typeof t=="object"&&!Array.isArray(t)){const o=t;if(o.useWorkspaces||o.packages)return{path:pn(i),strategy:"lerna"}}}const n=i?.endsWith("turbo.json");try{const{packageManager:t,path:o}=cj(e);if(["npm","yarn"].includes(t)){const a=w(o,"package.json");if(Dd(a)){const s=hj(w(o,"package.json"),"utf8");if(pj(s))return{path:o,strategy:n?"turbo":t}}}else if(t==="pnpm"){const a=w(o,"pnpm-workspace.yaml");if(Dd(a))return{path:o,strategy:n?"turbo":"pnpm"}}}catch(t){if(!(t instanceof lu))throw t}throw new Error(`No monorepo root could be found upwards from the directory ${String(e??process.cwd())} using lerna, yarn, pnpm, or npm as indicators.`)},W=(e,i)=>async()=>({default:(await e())[i]});function xf(e,i,n,t){let o,a,s;a=n,s=t;const r=Ek(i,a,s??o);Ie(e,r,o)}const fj=new Set(["--cwd"]),vj=new Set(["--help","--version","-h","-V"]),yj=e=>{const i=[];for(let n=0;n<e.length;n+=1){const t=e[n];if(t!==void 0){if(vj.has(t))return!1;if(t.startsWith("-")){const o=t.indexOf("="),a=o===-1?t:t.slice(0,o);if(fj.has(a)&&o===-1){const s=e[n+1];s!==void 0&&!s.startsWith("-")&&(n+=1)}continue}i.push(t)}}return i.length===1&&i[0]==="migrate"},mj=e=>{if(e.length===0)return!1;for(const i of e){const n=i.codePointAt(0)??0;return!(n<=127||n<=255)}return!1};let bj=class{buffer="";timer;onFlush;timeout;constructor({onFlush:i,timeout:n}){this.onFlush=i,this.timeout=n}add(i){this.buffer+=i,this.timer!==void 0&&clearTimeout(this.timer),this.timer=setTimeout(()=>{this.flush()},this.timeout)}flush(){if(this.timer!==void 0&&(clearTimeout(this.timer),this.timer=void 0),this.buffer.length>0){const i=this.buffer;this.buffer="",this.onFlush(i)}}destroy(){this.timer!==void 0&&(clearTimeout(this.timer),this.timer=void 0),this.buffer=""}};const $d={disambiguateEscapeCodes:1,reportAllKeysAsEscapeCodes:8,reportAlternateKeys:4,reportAssociatedText:16,reportEventTypes:2};function Ed(e){let i=0;for(const n of e)i|=$d[n];return e.includes("reportAssociatedText")&&(i|=$d.reportAllKeysAsEscapeCodes),i}const cn={alt:2,capsLock:64,ctrl:4,hyper:16,meta:32,numLock:128,shift:1,super:8},wj="\x1B",Be="\x1B[",kj=";",Bd=`${Be}?1049h`,Rd=`${Be}?1049l`,Tf=typeof globalThis<"u"&&typeof globalThis.window=="object"&&globalThis.window.document!==void 0,jj=/^(?:msys|cygwin)$/,Yf=process,mu=Yf?.env??{};!Tf&&mu.TERM_PROGRAM;const Sj=!Tf&&(Yf?.platform==="win32"||mu.OSTYPE!==void 0&&jj.test(mu.OSTYPE)),Df=(e=1)=>`${Be}${String(e)}B`,mn=`${Be}?25l`,Cj=`${Be}G`,Lj=(e=1)=>`${Be}${String(e)}G`,xj=(e=1)=>`${Be}${String(e)}E`,qn=`${Be}?25h`,Ui=(e,i)=>i===void 0?Lj(e+1):`${Be}${String(i+1)}${kj}${String(e+1)}H`,sa=(e=1)=>`${Be}${String(e)}A`;var Tj=(e=>(e[e.Default=0]="Default",e[e.BlinkingBlock=1]="BlinkingBlock",e[e.SteadyBlock=2]="SteadyBlock",e[e.BlinkingUnderline=3]="BlinkingUnderline",e[e.SteadyUnderline=4]="SteadyUnderline",e[e.BlinkingBar=5]="BlinkingBar",e[e.SteadyBar=6]="SteadyBar",e))(Tj||{});const Yj=e=>`${Be}${String(e)} q`;var Nt=(e=>(e[e.ToEnd=0]="ToEnd",e[e.ToBeginning=1]="ToBeginning",e[e.EntireScreen=2]="EntireScreen",e[e.EntireScreenAndScrollback=3]="EntireScreenAndScrollback",e))(Nt||{});const Zt=e=>{const i=e>=0&&e<=3?e:0;return`${Be}${i===0?"":String(i)}J`};var $f=(e=>(e[e.ToEnd=0]="ToEnd",e[e.ToBeginning=1]="ToBeginning",e[e.EntireLine=2]="EntireLine",e))($f||{});const kc=e=>{const i=e>=0&&e<=2?e:0;return`${Be}${i===0?"":String(i)}K`},Ef=Zt(0),Dj=kc(2),$j=kc(0),Fo=e=>{if(e<=0)return"";let i="";for(let n=0;n<e;n+=1)i+=Dj,n<e-1&&(i+=sa());return i+=Cj,i};Ui(0,0)+Zt(Nt.ToEnd);`${kc($f.EntireLine)}${Be}`;const Od=`${Be}H${Zt(Nt.EntireScreen)}`;Sj?`${Zt(Nt.EntireScreen)}${Be}`:`${Zt(Nt.EntireScreen)}${Zt(Nt.EntireScreenAndScrollback)}${Be}${wj}`;let Ej=class{code;isDecMode=!0;constructor(i){this.code=i}};const Bf=(e,...i)=>{if(i.length===0)return"";const n=e?"l":"h";if(i.length===1){const s=i[0];let r=Be;return s.isDecMode&&(r+="?"),r+String(s.code)+n}const t=i.filter(s=>!s.isDecMode).map(s=>s.code),o=i.filter(s=>s.isDecMode).map(s=>s.code);let a="";return t.length>0&&(a+=`${Be}${t.join(";")}${n}`),o.length>0&&(a+=`${Be}?${o.join(";")}${n}`),a};var Bj=(e=>(e[e.NotRecognized=0]="NotRecognized",e[e.Set=1]="Set",e[e.Reset=2]="Reset",e[e.PermanentlySet=3]="PermanentlySet",e[e.PermanentlyReset=4]="PermanentlyReset",e))(Bj||{});const Rf=e=>new Ej(e),Of=(...e)=>Bf(!1,...e),Jf=(...e)=>Bf(!0,...e),Pf=Rf(2004),Rj={aliceblue:"f0f8ff",antiquewhite:"faebd7",antiquewhite1:"ffefdb",antiquewhite2:"eedfcc",antiquewhite3:"cdc0b0",antiquewhite4:"8b8378",aqua:"00ffff",aquamarine:"7fffd4",aquamarine1:"7fffd4",aquamarine2:"76eec6",aquamarine3:"66cdaa",aquamarine4:"458b74",azure:"f0ffff",azure1:"f0ffff",azure2:"e0eeee",azure3:"c1cdcd",azure4:"838b8b",beige:"f5f5dc",bisque:"ffe4c4",bisque1:"ffe4c4",bisque2:"eed5b7",bisque3:"cdb79e",bisque4:"8b7d6b",black:"000000",blanchedalmond:"ffebcd",blue:"0000ff",blue1:"0000ff",blue2:"0000ee",blue3:"0000cd",blue4:"00008b",blueviolet:"8a2be2",brown:"a52a2a",brown1:"ff4040",brown2:"ee3b3b",brown3:"cd3333",brown4:"8b2323",burlywood:"deb887",burlywood1:"ffd39b",burlywood2:"eec591",burlywood3:"cdaa7d",burlywood4:"8b7355",cadetblue:"5f9ea0",cadetblue1:"98f5ff",cadetblue2:"8ee5ee",cadetblue3:"7ac5cd",cadetblue4:"53868b",chartreuse:"7fff00",chartreuse1:"7fff00",chartreuse2:"76ee00",chartreuse3:"66cd00",chartreuse4:"458b00",chocolate:"d2691e",chocolate1:"ff7f24",chocolate2:"ee7621",chocolate3:"cd661d",chocolate4:"8b4513",coral:"ff7f50",coral1:"ff7256",coral2:"ee6a50",coral3:"cd5b45",coral4:"8b3e2f",cornflowerblue:"6495ed",cornsilk:"fff8dc",cornsilk1:"fff8dc",cornsilk2:"eee8cd",cornsilk3:"cdc8b1",cornsilk4:"8b8878",crimson:"dc143c",cyan:"00ffff",cyan1:"00ffff",cyan2:"00eeee",cyan3:"00cdcd",cyan4:"008b8b",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgoldenrod1:"ffb90f",darkgoldenrod2:"eead0e",darkgoldenrod3:"cd950c",darkgoldenrod4:"8b6508",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkolivegreen1:"caff70",darkolivegreen2:"bcee68",darkolivegreen3:"a2cd5a",darkolivegreen4:"6e8b3d",darkorange:"ff8c00",darkorange1:"ff7f00",darkorange2:"ee7600",darkorange3:"cd6600",darkorange4:"8b4500",darkorchid:"9932cc",darkorchid1:"bf3eff",darkorchid2:"b23aee",darkorchid3:"9a32cd",darkorchid4:"68228b",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkseagreen1:"c1ffc1",darkseagreen2:"b4eeb4",darkseagreen3:"9bcd9b",darkseagreen4:"698b69",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategray1:"97ffff",darkslategray2:"8deeee",darkslategray3:"79cdcd",darkslategray4:"528b8b",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deeppink1:"ff1493",deeppink2:"ee1289",deeppink3:"cd1076",deeppink4:"8b0a50",deepskyblue:"00bfff",deepskyblue1:"00bfff",deepskyblue2:"00b2ee",deepskyblue3:"009acd",deepskyblue4:"00688b",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",dodgerblue1:"1e90ff",dodgerblue2:"1c86ee",dodgerblue3:"1874cd",dodgerblue4:"104e8b",firebrick:"b22222",firebrick1:"ff3030",firebrick2:"ee2c2c",firebrick3:"cd2626",firebrick4:"8b1a1a",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",gold1:"ffd700",gold2:"eec900",gold3:"cdad00",gold4:"8b7500",goldenrod:"daa520",goldenrod1:"ffc125",goldenrod2:"eeb422",goldenrod3:"cd9b1d",goldenrod4:"8b6914",gray:"bebebe",gray0:"000000",gray1:"030303",gray2:"050505",gray3:"080808",gray4:"0a0a0a",gray5:"0d0d0d",gray6:"0f0f0f",gray7:"121212",gray8:"141414",gray9:"171717",gray10:"1a1a1a",gray11:"1c1c1c",gray12:"1f1f1f",gray13:"212121",gray14:"242424",gray15:"262626",gray16:"292929",gray17:"2b2b2b",gray18:"2e2e2e",gray19:"303030",gray20:"333333",gray21:"363636",gray22:"383838",gray23:"3b3b3b",gray24:"3d3d3d",gray25:"404040",gray26:"424242",gray27:"454545",gray28:"474747",gray29:"4a4a4a",gray30:"4d4d4d",gray31:"4f4f4f",gray32:"525252",gray33:"545454",gray34:"575757",gray35:"595959",gray36:"5c5c5c",gray37:"5e5e5e",gray38:"616161",gray39:"636363",gray40:"666666",gray41:"696969",gray42:"6b6b6b",gray43:"6e6e6e",gray44:"707070",gray45:"737373",gray46:"757575",gray47:"787878",gray48:"7a7a7a",gray49:"7d7d7d",gray50:"7f7f7f",gray51:"828282",gray52:"858585",gray53:"878787",gray54:"8a8a8a",gray55:"8c8c8c",gray56:"8f8f8f",gray57:"919191",gray58:"949494",gray59:"969696",gray60:"999999",gray61:"9c9c9c",gray62:"9e9e9e",gray63:"a1a1a1",gray64:"a3a3a3",gray65:"a6a6a6",gray66:"a8a8a8",gray67:"ababab",gray68:"adadad",gray69:"b0b0b0",gray70:"b3b3b3",gray71:"b5b5b5",gray72:"b8b8b8",gray73:"bababa",gray74:"bdbdbd",gray75:"bfbfbf",gray76:"c2c2c2",gray77:"c4c4c4",gray78:"c7c7c7",gray79:"c9c9c9",gray80:"cccccc",gray81:"cfcfcf",gray82:"d1d1d1",gray83:"d4d4d4",gray84:"d6d6d6",gray85:"d9d9d9",gray86:"dbdbdb",gray87:"dedede",gray88:"e0e0e0",gray89:"e3e3e3",gray90:"e5e5e5",gray91:"e8e8e8",gray92:"ebebeb",gray93:"ededed",gray94:"f0f0f0",gray95:"f2f2f2",gray96:"f5f5f5",gray97:"f7f7f7",gray98:"fafafa",gray99:"fcfcfc",gray100:"ffffff",green:"00ff00",green1:"00ff00",green2:"00ee00",green3:"00cd00",green4:"008b00",greenyellow:"adff2f",grey:"bebebe",grey0:"000000",grey1:"030303",grey2:"050505",grey3:"080808",grey4:"0a0a0a",grey5:"0d0d0d",grey6:"0f0f0f",grey7:"121212",grey8:"141414",grey9:"171717",grey10:"1a1a1a",grey11:"1c1c1c",grey12:"1f1f1f",grey13:"212121",grey14:"242424",grey15:"262626",grey16:"292929",grey17:"2b2b2b",grey18:"2e2e2e",grey19:"303030",grey20:"333333",grey21:"363636",grey22:"383838",grey23:"3b3b3b",grey24:"3d3d3d",grey25:"404040",grey26:"424242",grey27:"454545",grey28:"474747",grey29:"4a4a4a",grey30:"4d4d4d",grey31:"4f4f4f",grey32:"525252",grey33:"545454",grey34:"575757",grey35:"595959",grey36:"5c5c5c",grey37:"5e5e5e",grey38:"616161",grey39:"636363",grey40:"666666",grey41:"696969",grey42:"6b6b6b",grey43:"6e6e6e",grey44:"707070",grey45:"737373",grey46:"757575",grey47:"787878",grey48:"7a7a7a",grey49:"7d7d7d",grey50:"7f7f7f",grey51:"828282",grey52:"858585",grey53:"878787",grey54:"8a8a8a",grey55:"8c8c8c",grey56:"8f8f8f",grey57:"919191",grey58:"949494",grey59:"969696",grey60:"999999",grey61:"9c9c9c",grey62:"9e9e9e",grey63:"a1a1a1",grey64:"a3a3a3",grey65:"a6a6a6",grey66:"a8a8a8",grey67:"ababab",grey68:"adadad",grey69:"b0b0b0",grey70:"b3b3b3",grey71:"b5b5b5",grey72:"b8b8b8",grey73:"bababa",grey74:"bdbdbd",grey75:"bfbfbf",grey76:"c2c2c2",grey77:"c4c4c4",grey78:"c7c7c7",grey79:"c9c9c9",grey80:"cccccc",grey81:"cfcfcf",grey82:"d1d1d1",grey83:"d4d4d4",grey84:"d6d6d6",grey85:"d9d9d9",grey86:"dbdbdb",grey87:"dedede",grey88:"e0e0e0",grey89:"e3e3e3",grey90:"e5e5e5",grey91:"e8e8e8",grey92:"ebebeb",grey93:"ededed",grey94:"f0f0f0",grey95:"f2f2f2",grey96:"f5f5f5",grey97:"f7f7f7",grey98:"fafafa",grey99:"fcfcfc",grey100:"ffffff",honeydew:"f0fff0",honeydew1:"f0fff0",honeydew2:"e0eee0",honeydew3:"c1cdc1",honeydew4:"838b83",hotpink:"ff69b4",hotpink1:"ff6eb4",hotpink2:"ee6aa7",hotpink3:"cd6090",hotpink4:"8b3a62",indianred:"cd5c5c",indianred1:"ff6a6a",indianred2:"ee6363",indianred3:"cd5555",indianred4:"8b3a3a",indigo:"4b0082",ivory:"fffff0",ivory1:"fffff0",ivory2:"eeeee0",ivory3:"cdcdc1",ivory4:"8b8b83",khaki:"f0e68c",khaki1:"fff68f",khaki2:"eee685",khaki3:"cdc673",khaki4:"8b864e",lavender:"e6e6fa",lavenderblush:"fff0f5",lavenderblush1:"fff0f5",lavenderblush2:"eee0e5",lavenderblush3:"cdc1c5",lavenderblush4:"8b8386",lawngreen:"7cfc00",lemonchiffon:"fffacd",lemonchiffon1:"fffacd",lemonchiffon2:"eee9bf",lemonchiffon3:"cdc9a5",lemonchiffon4:"8b8970",lightblue:"add8e6",lightblue1:"bfefff",lightblue2:"b2dfee",lightblue3:"9ac0cd",lightblue4:"68838b",lightcoral:"f08080",lightcyan:"e0ffff",lightcyan1:"e0ffff",lightcyan2:"d1eeee",lightcyan3:"b4cdcd",lightcyan4:"7a8b8b",lightgoldenrod:"eedd82",lightgoldenrod1:"ffec8b",lightgoldenrod2:"eedc82",lightgoldenrod3:"cdbe70",lightgoldenrod4:"8b814c",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightpink1:"ffaeb9",lightpink2:"eea2ad",lightpink3:"cd8c95",lightpink4:"8b5f65",lightsalmon:"ffa07a",lightsalmon1:"ffa07a",lightsalmon2:"ee9572",lightsalmon3:"cd8162",lightsalmon4:"8b5742",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightskyblue1:"b0e2ff",lightskyblue2:"a4d3ee",lightskyblue3:"8db6cd",lightskyblue4:"607b8b",lightslateblue:"8470ff",lightslategray:"778899",lightslategrey:"778899",lightsteelblue:"b0c4de",lightsteelblue1:"cae1ff",lightsteelblue2:"bcd2ee",lightsteelblue3:"a2b5cd",lightsteelblue4:"6e7b8b",lightyellow:"ffffe0",lightyellow1:"ffffe0",lightyellow2:"eeeed1",lightyellow3:"cdcdb4",lightyellow4:"8b8b7a",lime:"00ff00",limegreen:"32cd32",linen:"faf0e6",magenta:"ff00ff",magenta1:"ff00ff",magenta2:"ee00ee",magenta3:"cd00cd",magenta4:"8b008b",maroon:"b03060",maroon1:"ff34b3",maroon2:"ee30a7",maroon3:"cd2990",maroon4:"8b1c62",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumorchid1:"e066ff",mediumorchid2:"d15fee",mediumorchid3:"b452cd",mediumorchid4:"7a378b",mediumpurple:"9370db",mediumpurple1:"ab82ff",mediumpurple2:"9f79ee",mediumpurple3:"8968cd",mediumpurple4:"5d478b",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",mistyrose1:"ffe4e1",mistyrose2:"eed5d2",mistyrose3:"cdb7b5",mistyrose4:"8b7d7b",moccasin:"ffe4b5",navajowhite:"ffdead",navajowhite1:"ffdead",navajowhite2:"eecfa1",navajowhite3:"cdb38b",navajowhite4:"8b795e",navy:"000080",navyblue:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",olivedrab1:"c0ff3e",olivedrab2:"b3ee3a",olivedrab3:"9acd32",olivedrab4:"698b22",orange:"ffa500",orange1:"ffa500",orange2:"ee9a00",orange3:"cd8500",orange4:"8b5a00",orangered:"ff4500",orangered1:"ff4500",orangered2:"ee4000",orangered3:"cd3700",orangered4:"8b2500",orchid:"da70d6",orchid1:"ff83fa",orchid2:"ee7ae9",orchid3:"cd69c9",orchid4:"8b4789",palegoldenrod:"eee8aa",palegreen:"98fb98",palegreen1:"9aff9a",palegreen2:"90ee90",palegreen3:"7ccd7c",palegreen4:"548b54",paleturquoise:"afeeee",paleturquoise1:"bbffff",paleturquoise2:"aeeeee",paleturquoise3:"96cdcd",paleturquoise4:"668b8b",palevioletred:"db7093",palevioletred1:"ff82ab",palevioletred2:"ee799f",palevioletred3:"cd6889",palevioletred4:"8b475d",papayawhip:"ffefd5",peachpuff:"ffdab9",peachpuff1:"ffdab9",peachpuff2:"eecbad",peachpuff3:"cdaf95",peachpuff4:"8b7765",peru:"cd853f",pink:"ffc0cb",pink1:"ffb5c5",pink2:"eea9b8",pink3:"cd919e",pink4:"8b636c",plum:"dda0dd",plum1:"ffbbff",plum2:"eeaeee",plum3:"cd96cd",plum4:"8b668b",powderblue:"b0e0e6",purple:"a020f0",purple1:"9b30ff",purple2:"912cee",purple3:"7d26cd",purple4:"551a8b",rebeccapurple:"663399",red:"ff0000",red1:"ff0000",red2:"ee0000",red3:"cd0000",red4:"8b0000",rosybrown:"bc8f8f",rosybrown1:"ffc1c1",rosybrown2:"eeb4b4",rosybrown3:"cd9b9b",rosybrown4:"8b6969",royalblue:"4169e1",royalblue1:"4876ff",royalblue2:"436eee",royalblue3:"3a5fcd",royalblue4:"27408b",saddlebrown:"8b4513",salmon:"fa8072",salmon1:"ff8c69",salmon2:"ee8262",salmon3:"cd7054",salmon4:"8b4c39",sandybrown:"f4a460",seagreen:"2e8b57",seagreen1:"54ff9f",seagreen2:"4eee94",seagreen3:"43cd80",seagreen4:"2e8b57",seashell:"fff5ee",seashell1:"fff5ee",seashell2:"eee5de",seashell3:"cdc5bf",seashell4:"8b8682",sienna:"a0522d",sienna1:"ff8247",sienna2:"ee7942",sienna3:"cd6839",sienna4:"8b4726",silver:"c0c0c0",skyblue:"87ceeb",skyblue1:"87ceff",skyblue2:"7ec0ee",skyblue3:"6ca6cd",skyblue4:"4a708b",slateblue:"6a5acd",slateblue1:"836fff",slateblue2:"7a67ee",slateblue3:"6959cd",slateblue4:"473c8b",slategray:"708090",slategray1:"c6e2ff",slategray2:"b9d3ee",slategray3:"9fb6cd",slategray4:"6c7b8b",slategrey:"708090",snow:"fffafa",snow1:"fffafa",snow2:"eee9e9",snow3:"cdc9c9",snow4:"8b8989",springgreen:"00ff7f",springgreen1:"00ff7f",springgreen2:"00ee76",springgreen3:"00cd66",springgreen4:"008b45",steelblue:"4682b4",steelblue1:"63b8ff",steelblue2:"5cacee",steelblue3:"4f94cd",steelblue4:"36648b",tan:"d2b48c",tan1:"ffa54f",tan2:"ee9a49",tan3:"cd853f",tan4:"8b5a2b",teal:"008080",thistle:"d8bfd8",thistle1:"ffe1ff",thistle2:"eed2ee",thistle3:"cdb5cd",thistle4:"8b7b8b",tomato:"ff6347",tomato1:"ff6347",tomato2:"ee5c42",tomato3:"cd4f39",tomato4:"8b3626",turquoise:"40e0d0",turquoise1:"00f5ff",turquoise2:"00e5ee",turquoise3:"00c5cd",turquoise4:"00868b",violet:"ee82ee",violetred:"d02090",violetred1:"ff3e96",violetred2:"ee3a8c",violetred3:"cd3278",violetred4:"8b2252",webgray:"808080",webgreen:"008000",webgrey:"808080",webmaroon:"800000",webpurple:"800080",wheat:"f5deb3",wheat1:"ffe7ba",wheat2:"eed8ae",wheat3:"cdba96",wheat4:"8b7e66",white:"ffffff",whitesmoke:"f5f5f5",x11gray:"bebebe",x11green:"00ff00",x11grey:"bebebe",x11maroon:"b03060",x11purple:"a020f0",yellow:"ffff00",yellow1:"ffff00",yellow2:"eeee00",yellow3:"cdcd00",yellow4:"8b8b00",yellowgreen:"9acd32"},Oj=e=>{const i=Rj[e.toLowerCase().replaceAll(" ","")];return i===void 0?void 0:`#${i}`},Jj=/^rgba?:([\da-f]{1,4})\/([\da-f]{1,4})\/([\da-f]{1,4})(?:\/[\da-f]{1,4})?$/i,Pj=/^#((?:[\da-f]{3}){1,4})$/i,wt=e=>{const i=16**e.length-1;return Math.round(Number.parseInt(e,16)/i*255)},Nj=e=>{const i=e.trim(),n=Jj.exec(i);if(n)return{b:wt(n[3]),g:wt(n[2]),r:wt(n[1])};const t=i.startsWith("#")?i:Oj(i);if(t===void 0)return;const o=Pj.exec(t);if(!o)return;const a=o[1],s=a.length/3;return{b:wt(a.slice(s*2)),g:wt(a.slice(s,s*2)),r:wt(a.slice(0,s))}},Zj=(e=1)=>e===0?"":`${Be}${e<=1?"":String(e)}S`;let Aj;const Mj=e=>(Aj??=xi(import.meta.url))(e),mo=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,Hj=e=>{if(typeof mo<"u"&&mo.versions&&mo.versions.node){const[i,n]=mo.versions.node.split(".").map(Number);if(i>22||i===22&&n>=3||i===20&&n>=16)return mo.getBuiltinModule(e)}return Mj(e)},{Buffer:Ij}=Hj("node:buffer"),Xj=/^\u001B([a-z0-9])$/i,_j=/^\u001B+([ON[]|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/,Nf={"[1~":"home","[2$":"insert","[2^":"insert","[2~":"insert","[3$":"delete","[3^":"delete","[3~":"delete","[4~":"end","[5$":"pageup","[5^":"pageup","[5~":"pageup","[6$":"pagedown","[6^":"pagedown","[6~":"pagedown","[7$":"home","[7^":"home","[7~":"home","[8$":"end","[8^":"end","[8~":"end","[11~":"f1","[12~":"f2","[13~":"f3","[14~":"f4","[15~":"f5","[17~":"f6","[18~":"f7","[19~":"f8","[20~":"f9","[21~":"f10","[23~":"f11","[24~":"f12","[[5~":"pageup","[[6~":"pagedown","[[A":"f1","[[B":"f2","[[C":"f3","[[D":"f4","[[E":"f5","[A":"up","[a":"up","[B":"down","[b":"down","[C":"right","[c":"right","[D":"left","[d":"left","[E":"clear","[e":"clear","[F":"end","[H":"home","[P":"f1","[Q":"f2","[R":"f3","[S":"f4","[Z":"tab",OA:"up",Oa:"up",OB:"down",Ob:"down",OC:"right",Oc:"right",OD:"left",Od:"left",OE:"clear",Oe:"clear",OF:"end",OH:"home",OP:"f1",OQ:"f2",OR:"f3",OS:"f4"},Fj=[...Object.values(Nf),"backspace"],Wj=e=>["[2$","[3$","[5$","[6$","[7$","[8$","[a","[b","[c","[d","[e","[Z"].includes(e),Gj=e=>["[2^","[3^","[5^","[6^","[7^","[8^","Oa","Ob","Oc","Od","Oe"].includes(e),Zf=/^\u001B\[(\d+)(?::[\d:]*)?(?:;(\d*)(?::(\d+))?(?:;([\d:]+))?)?u$/,Qj=/^\u001B\[(\d+)(?:;(\d+)(?::(\d+))?)?([A-Z~])$/i,zj={A:"up",B:"down",C:"right",D:"left",E:"clear",F:"end",H:"home",P:"f1",Q:"f2",S:"f4"},Kj={2:"insert",3:"delete",5:"pageup",6:"pagedown",7:"home",8:"end",11:"f1",12:"f2",13:"f3",14:"f4",15:"f5",17:"f6",18:"f7",19:"f8",20:"f9",21:"f10",23:"f11",24:"f12",57427:"clear"},Jd={9:"tab",27:"escape",127:"backspace",57358:"capslock",57359:"scrolllock",57360:"numlock",57361:"printscreen",57362:"pause",57363:"menu",57376:"f13",57377:"f14",57378:"f15",57379:"f16",57380:"f17",57381:"f18",57382:"f19",57383:"f20",57384:"f21",57385:"f22",57386:"f23",57387:"f24",57388:"f25",57389:"f26",57390:"f27",57391:"f28",57392:"f29",57393:"f30",57394:"f31",57395:"f32",57396:"f33",57397:"f34",57398:"f35",57399:"kp0",57400:"kp1",57401:"kp2",57402:"kp3",57403:"kp4",57404:"kp5",57405:"kp6",57406:"kp7",57407:"kp8",57408:"kp9",57409:"kpdecimal",57410:"kpdivide",57411:"kpmultiply",57412:"kpsubtract",57413:"kpadd",57414:"kpenter",57415:"kpequal",57416:"kpseparator",57417:"left",57418:"right",57419:"up",57420:"down",57421:"pageup",57422:"pagedown",57423:"home",57424:"end",57425:"insert",57426:"delete",57427:"kpbegin",57428:"mediaplay",57429:"mediapause",57430:"mediaplaypause",57431:"mediareverse",57432:"mediastop",57433:"mediafastforward",57434:"mediarewind",57435:"mediatracknext",57436:"mediatrackprevious",57437:"mediarecord",57438:"lowervolume",57439:"raisevolume",57440:"mutevolume",57441:"leftshift",57442:"leftcontrol",57443:"leftalt",57444:"leftsuper",57445:"lefthyper",57446:"leftmeta",57447:"rightshift",57448:"rightcontrol",57449:"rightalt",57450:"rightsuper",57451:"righthyper",57452:"rightmeta",57453:"isoLevel3Shift",57454:"isoLevel5Shift"},Af=e=>e>=0&&e<=1114111&&!(e>=55296&&e<=57343),lr=e=>Af(e)?String.fromCodePoint(e):"?";function Mf(e){return e===3?"release":e===2?"repeat":"press"}function Hf(e){return{capsLock:!!(e&cn.capsLock),ctrl:!!(e&cn.ctrl),hyper:!!(e&cn.hyper),meta:!!(e&cn.meta),numLock:!!(e&cn.numLock),option:!!(e&cn.alt),shift:!!(e&cn.shift),super:!!(e&cn.super)}}const Vj=e=>{const i=Zf.exec(e);if(!i)return null;let n=Number.parseInt(i[1],10);n===57414&&(n=13);const t=i[2]?Math.max(0,Number.parseInt(i[2],10)-1):0,o=i[3]?Number.parseInt(i[3],10):1,a=i[4];if(!Af(n))return null;let s;a&&(s=a.split(":").map(c=>lr(Number.parseInt(c,10))).join(""));let r,u;return n===32?(r="space",u=!0):n===13?(r="return",u=!0):Jd[n]?(r=Jd[n],u=!1):n<32||n>=127&&n<=159||n>=57344&&n<=63743?(r="",u=!1):(r=lr(n).toLowerCase(),u=!0),u&&!s&&(s=lr(n)),{name:r,...Hf(t),eventType:Mf(o),isKittyProtocol:!0,isPrintable:u||s!==void 0,raw:e,sequence:e,text:s}},Uj=e=>{const i=Qj.exec(e);if(!i)return null;const n=Number.parseInt(i[1],10),t=i[2]?Math.max(0,Number.parseInt(i[2],10)-1):0,o=i[3]?Number.parseInt(i[3],10):1,a=i[4];if(a!=="~"&&n!==1)return null;const s=a==="~"?Kj[n]:zj[a];return s?{name:s,...Hf(t),eventType:Mf(o),isKittyProtocol:!0,isPrintable:!1,raw:e,sequence:e}:null},ts=(e="")=>{let i;Ij.isBuffer(e)?e=e[0]>127&&e[1]===void 0?`\x1B${String.fromCharCode(e[0]-128)}`:String(e):e!==void 0&&typeof e!="string"?e=String(e):e||(e="");const n=Vj(e);if(n)return n;const t=Uj(e);if(t)return t;if(Zf.test(e))return{ctrl:!1,isKittyProtocol:!0,isPrintable:!1,meta:!1,name:"",option:!1,raw:e,sequence:e,shift:!1};const o={ctrl:!1,meta:!1,name:"",option:!1,raw:e,sequence:e,shift:!1};switch(o.sequence=o.sequence||e||o.name,e){case"\r":case"\x1B\r":{o.raw=void 0,o.name="return",o.option=e.length===2;break}case`
|
|
1
|
+
import{createRequire as Fw}from"node:module";import{n as Qw,b as D,d as zw,a as Kw,x as Vw,r as Uw,i as qw}from"../packem_shared/vis-user-error-CRmrBaD1.js";import{k as lf,e as w,g as lu,m as pn,z as V,v as bc,a as oa,l as ek,U as Wt}from"../packem_shared/index-BzhrR_iC.js";import{N as df,p as Oe}from"../packem_shared/readJsonSync-CbryXYxN-EWl7_7KX.js";import{x as C,F as k,X as _,o as E,a5 as ik,a6 as nk,a7 as md,a8 as ni,a9 as tk,aa as ok,ab as Wi,ac as ak,ad as sk,ae as rk,af as uk,ag as ck,ah as lk,ai as dk,aj as gk,ak as hk,y as gf,P as nn,d as pk,al as fk,l as bd,k as vk,E as yk,p as du,N as wd,R as mk,i as bk,j as wk,am as gu,an as hu,ao as kk,ap as jk}from"./catalog.js";import{parseStacktrace as Sk}from"@visulima/error/stacktrace";import{i as Sn}from"../packem_shared/index-BjdW45xX.js";import{y as L}from"../packem_shared/isAccessibleSync-DYKTrrvc-C-_5cgwu.js";import{U as Ie,h as En}from"../packem_shared/writeFileSync-DJoHk3Ks-BPRoepNw.js";import{findVisConfigFile as lt,loadVisConfig as jd}from"./CONFIG_FILES.js";import{l as Un,f as $k}from"./ts-loader.js";import{S as Ek}from"../packem_shared/index-BisalDCf.js";import{T as Bk}from"../packem_shared/target-merge-DVJl-7Qz.js";import{s as Rk}from"../packem_shared/bin-AZQv95jh.js";import{X as cr,j as Ei,b as To,q as dn,F as Pt,T as Ok,t as ws,J as Jk}from"../packem_shared/index.server-Ca_EEVfw.js";import{s as fu}from"../packem_shared/index-B4AjSxHU.js";import{g as ns,r as Pk}from"../packem_shared/package-version-KLwH0Ivy.js";import{l as Bn,k as Sd,a8 as Mk,a9 as mf,g as Hk,d as Rn,aa as vu,ab as Ik,z as Xo,c as Po,ac as bf}from"../packem_shared/formatBytes-_HvjOy8a-B_qQr4Hw.js";import{d as Cd}from"../packem_shared/pm-runner-RM72mDZg.js";import{getMainWorktreeRoot as Xk,Cache as _o,readLastRunSummary as wf,getLastRunSummaryPath as yu,parseCacheSize as _k,describeCacheMissReason as Fk,digestFile as kf}from"@visulima/task-runner";import{e as ej}from"../packem_shared/index-JRb5wabN.js";let Ww;const Gw=e=>(Ww??=Fw(import.meta.url))(e),fo=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,ri=e=>{if(typeof fo<"u"&&fo.versions&&fo.versions.node){const[i,n]=fo.versions.node.split(".").map(Number);if(i>22||i===22&&n>=3||i===20&&n>=16)return fo.getBuiltinModule(e)}return Gw(e)},{createRequire:xi}=ri("node:module"),{spawnSync:vn,execSync:hf,execFileSync:Ck,execFile:Lk}=ri("node:child_process"),{writeFileSync:xe,existsSync:pu,renameSync:pf,readFileSync:ff,readdirSync:Fe,statSync:Vn,rmSync:Gt,copyFileSync:xk,unlinkSync:$n,mkdirSync:Tk,cpSync:Yk,watch:Dk}=ri("node:fs"),{dirname:vf,delimiter:kd,resolve:is}=ri("node:path"),{createInterface:yf}=ri("node:readline"),{homedir:Nk,platform:Zk,tmpdir:Ak}=ri("node:os"),{readFile:jf,readdir:aa,stat:qt,realpath:Ld,rm:wc,mkdtemp:Wk,mkdir:Gk}=ri("node:fs/promises"),{isIP:Qk}=ri("node:net"),{createServer:zk,STATUS_CODES:Kk}=ri("node:http"),{Http2ServerRequest:yn,constants:Vk}=ri("node:http2"),{Readable:xd}=ri("node:stream"),{randomUUID:Uk}=ri("node:crypto"),{fileURLToPath:qk}=ri("node:url"),ij=["pnpm-lock.yaml","package-lock.json","npm-shrinkwrap.json","yarn.lock","bun.lock","bun.lockb"];let nj;const tj=e=>(nj??=xi(import.meta.url))(e),vo=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,Sf=e=>{if(typeof vo<"u"&&vo.versions&&vo.versions.node){const[i,n]=vo.versions.node.split(".").map(Number);if(i>22||i===22&&n>=3||i===20&&n>=16)return vo.getBuiltinModule(e)}return tj(e)},{execFileSync:oj}=Sf("node:child_process"),{existsSync:Td,readFileSync:aj}=Sf("node:fs"),sj=[...ij],Yd=new Set(["bun","npm","pnpm","yarn"]),Cf=e=>{const i=df(aj(e,"utf8"));return typeof i?.packageManager=="string"?i.packageManager:void 0},rj=e=>{let i;if(sj.forEach(t=>{!i&&Td(w(e,t))&&(i=w(e,t))}),i)return i;const n=w(e,"package.json");if(Td(n)&&Cf(n)!==void 0)return n},uj=e=>{if(!e)throw new lu("Could not find a package manager");if(e.endsWith("package.json")){const i=Cf(e);if(i){const n=["npm","yarn","pnpm","bun"].find(t=>i.startsWith(t));if(n)return{packageManager:n,path:pn(e)}}}if(e.endsWith("yarn.lock"))return{packageManager:"yarn",path:pn(e)};if(e.endsWith("package-lock.json")||e.endsWith("npm-shrinkwrap.json"))return{packageManager:"npm",path:pn(e)};if(e.endsWith("pnpm-lock.yaml"))return{packageManager:"pnpm",path:pn(e)};if(e.endsWith("bun.lock")||e.endsWith("bun.lockb"))return{packageManager:"bun",path:pn(e)};throw new lu("Could not find a package manager")},cj=e=>{const i=lf(rj,{...e&&{cwd:e}});return uj(i)},Tee=e=>{if(!Yd.has(e))throw new Error(`Unsupported package manager "${e}". Expected one of: ${[...Yd].join(", ")}.`);return oj(e,["--version"]).toString("utf8").trim()};let lj;const dj=e=>(lj??=xi(import.meta.url))(e),yo=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,gj=e=>{if(typeof yo<"u"&&yo.versions&&yo.versions.node){const[i,n]=yo.versions.node.split(".").map(Number);if(i>22||i===22&&n>=3||i===20&&n>=16)return yo.getBuiltinModule(e)}return dj(e)},{existsSync:Dd,readFileSync:hj}=gj("node:fs"),pj=e=>{let i;try{i=df(e)}catch{return!1}if(!i||typeof i!="object"||Array.isArray(i))return!1;const{workspaces:n}=i;return typeof n=="object"&&n!==null},Lf=e=>{const i=lf(["lerna.json","turbo.json"],{type:"file",...e&&{cwd:e}});if(i?.endsWith("lerna.json")){const t=Oe(i);if(t&&typeof t=="object"&&!Array.isArray(t)){const o=t;if(o.useWorkspaces||o.packages)return{path:pn(i),strategy:"lerna"}}}const n=i?.endsWith("turbo.json");try{const{packageManager:t,path:o}=cj(e);if(["npm","yarn"].includes(t)){const a=w(o,"package.json");if(Dd(a)){const s=hj(w(o,"package.json"),"utf8");if(pj(s))return{path:o,strategy:n?"turbo":t}}}else if(t==="pnpm"){const a=w(o,"pnpm-workspace.yaml");if(Dd(a))return{path:o,strategy:n?"turbo":"pnpm"}}}catch(t){if(!(t instanceof lu))throw t}throw new Error(`No monorepo root could be found upwards from the directory ${String(e??process.cwd())} using lerna, yarn, pnpm, or npm as indicators.`)},W=(e,i)=>async()=>({default:(await e())[i]});function xf(e,i,n,t){let o,a,s;a=n,s=t;const r=Ek(i,a,s??o);Ie(e,r,o)}const fj=new Set(["--cwd"]),vj=new Set(["--help","--version","-h","-V"]),yj=e=>{const i=[];for(let n=0;n<e.length;n+=1){const t=e[n];if(t!==void 0){if(vj.has(t))return!1;if(t.startsWith("-")){const o=t.indexOf("="),a=o===-1?t:t.slice(0,o);if(fj.has(a)&&o===-1){const s=e[n+1];s!==void 0&&!s.startsWith("-")&&(n+=1)}continue}i.push(t)}}return i.length===1&&i[0]==="migrate"},mj=e=>{if(e.length===0)return!1;for(const i of e){const n=i.codePointAt(0)??0;return!(n<=127||n<=255)}return!1};let bj=class{buffer="";timer;onFlush;timeout;constructor({onFlush:i,timeout:n}){this.onFlush=i,this.timeout=n}add(i){this.buffer+=i,this.timer!==void 0&&clearTimeout(this.timer),this.timer=setTimeout(()=>{this.flush()},this.timeout)}flush(){if(this.timer!==void 0&&(clearTimeout(this.timer),this.timer=void 0),this.buffer.length>0){const i=this.buffer;this.buffer="",this.onFlush(i)}}destroy(){this.timer!==void 0&&(clearTimeout(this.timer),this.timer=void 0),this.buffer=""}};const $d={disambiguateEscapeCodes:1,reportAllKeysAsEscapeCodes:8,reportAlternateKeys:4,reportAssociatedText:16,reportEventTypes:2};function Ed(e){let i=0;for(const n of e)i|=$d[n];return e.includes("reportAssociatedText")&&(i|=$d.reportAllKeysAsEscapeCodes),i}const cn={alt:2,capsLock:64,ctrl:4,hyper:16,meta:32,numLock:128,shift:1,super:8},wj="\x1B",Be="\x1B[",kj=";",Bd=`${Be}?1049h`,Rd=`${Be}?1049l`,Tf=typeof globalThis<"u"&&typeof globalThis.window=="object"&&globalThis.window.document!==void 0,jj=/^(?:msys|cygwin)$/,Yf=process,mu=Yf?.env??{};!Tf&&mu.TERM_PROGRAM;const Sj=!Tf&&(Yf?.platform==="win32"||mu.OSTYPE!==void 0&&jj.test(mu.OSTYPE)),Df=(e=1)=>`${Be}${String(e)}B`,mn=`${Be}?25l`,Cj=`${Be}G`,Lj=(e=1)=>`${Be}${String(e)}G`,xj=(e=1)=>`${Be}${String(e)}E`,qn=`${Be}?25h`,Ui=(e,i)=>i===void 0?Lj(e+1):`${Be}${String(i+1)}${kj}${String(e+1)}H`,sa=(e=1)=>`${Be}${String(e)}A`;var Tj=(e=>(e[e.Default=0]="Default",e[e.BlinkingBlock=1]="BlinkingBlock",e[e.SteadyBlock=2]="SteadyBlock",e[e.BlinkingUnderline=3]="BlinkingUnderline",e[e.SteadyUnderline=4]="SteadyUnderline",e[e.BlinkingBar=5]="BlinkingBar",e[e.SteadyBar=6]="SteadyBar",e))(Tj||{});const Yj=e=>`${Be}${String(e)} q`;var Nt=(e=>(e[e.ToEnd=0]="ToEnd",e[e.ToBeginning=1]="ToBeginning",e[e.EntireScreen=2]="EntireScreen",e[e.EntireScreenAndScrollback=3]="EntireScreenAndScrollback",e))(Nt||{});const Zt=e=>{const i=e>=0&&e<=3?e:0;return`${Be}${i===0?"":String(i)}J`};var $f=(e=>(e[e.ToEnd=0]="ToEnd",e[e.ToBeginning=1]="ToBeginning",e[e.EntireLine=2]="EntireLine",e))($f||{});const kc=e=>{const i=e>=0&&e<=2?e:0;return`${Be}${i===0?"":String(i)}K`},Ef=Zt(0),Dj=kc(2),$j=kc(0),Fo=e=>{if(e<=0)return"";let i="";for(let n=0;n<e;n+=1)i+=Dj,n<e-1&&(i+=sa());return i+=Cj,i};Ui(0,0)+Zt(Nt.ToEnd);`${kc($f.EntireLine)}${Be}`;const Od=`${Be}H${Zt(Nt.EntireScreen)}`;Sj?`${Zt(Nt.EntireScreen)}${Be}`:`${Zt(Nt.EntireScreen)}${Zt(Nt.EntireScreenAndScrollback)}${Be}${wj}`;let Ej=class{code;isDecMode=!0;constructor(i){this.code=i}};const Bf=(e,...i)=>{if(i.length===0)return"";const n=e?"l":"h";if(i.length===1){const s=i[0];let r=Be;return s.isDecMode&&(r+="?"),r+String(s.code)+n}const t=i.filter(s=>!s.isDecMode).map(s=>s.code),o=i.filter(s=>s.isDecMode).map(s=>s.code);let a="";return t.length>0&&(a+=`${Be}${t.join(";")}${n}`),o.length>0&&(a+=`${Be}?${o.join(";")}${n}`),a};var Bj=(e=>(e[e.NotRecognized=0]="NotRecognized",e[e.Set=1]="Set",e[e.Reset=2]="Reset",e[e.PermanentlySet=3]="PermanentlySet",e[e.PermanentlyReset=4]="PermanentlyReset",e))(Bj||{});const Rf=e=>new Ej(e),Of=(...e)=>Bf(!1,...e),Jf=(...e)=>Bf(!0,...e),Pf=Rf(2004),Rj={aliceblue:"f0f8ff",antiquewhite:"faebd7",antiquewhite1:"ffefdb",antiquewhite2:"eedfcc",antiquewhite3:"cdc0b0",antiquewhite4:"8b8378",aqua:"00ffff",aquamarine:"7fffd4",aquamarine1:"7fffd4",aquamarine2:"76eec6",aquamarine3:"66cdaa",aquamarine4:"458b74",azure:"f0ffff",azure1:"f0ffff",azure2:"e0eeee",azure3:"c1cdcd",azure4:"838b8b",beige:"f5f5dc",bisque:"ffe4c4",bisque1:"ffe4c4",bisque2:"eed5b7",bisque3:"cdb79e",bisque4:"8b7d6b",black:"000000",blanchedalmond:"ffebcd",blue:"0000ff",blue1:"0000ff",blue2:"0000ee",blue3:"0000cd",blue4:"00008b",blueviolet:"8a2be2",brown:"a52a2a",brown1:"ff4040",brown2:"ee3b3b",brown3:"cd3333",brown4:"8b2323",burlywood:"deb887",burlywood1:"ffd39b",burlywood2:"eec591",burlywood3:"cdaa7d",burlywood4:"8b7355",cadetblue:"5f9ea0",cadetblue1:"98f5ff",cadetblue2:"8ee5ee",cadetblue3:"7ac5cd",cadetblue4:"53868b",chartreuse:"7fff00",chartreuse1:"7fff00",chartreuse2:"76ee00",chartreuse3:"66cd00",chartreuse4:"458b00",chocolate:"d2691e",chocolate1:"ff7f24",chocolate2:"ee7621",chocolate3:"cd661d",chocolate4:"8b4513",coral:"ff7f50",coral1:"ff7256",coral2:"ee6a50",coral3:"cd5b45",coral4:"8b3e2f",cornflowerblue:"6495ed",cornsilk:"fff8dc",cornsilk1:"fff8dc",cornsilk2:"eee8cd",cornsilk3:"cdc8b1",cornsilk4:"8b8878",crimson:"dc143c",cyan:"00ffff",cyan1:"00ffff",cyan2:"00eeee",cyan3:"00cdcd",cyan4:"008b8b",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgoldenrod1:"ffb90f",darkgoldenrod2:"eead0e",darkgoldenrod3:"cd950c",darkgoldenrod4:"8b6508",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkolivegreen1:"caff70",darkolivegreen2:"bcee68",darkolivegreen3:"a2cd5a",darkolivegreen4:"6e8b3d",darkorange:"ff8c00",darkorange1:"ff7f00",darkorange2:"ee7600",darkorange3:"cd6600",darkorange4:"8b4500",darkorchid:"9932cc",darkorchid1:"bf3eff",darkorchid2:"b23aee",darkorchid3:"9a32cd",darkorchid4:"68228b",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkseagreen1:"c1ffc1",darkseagreen2:"b4eeb4",darkseagreen3:"9bcd9b",darkseagreen4:"698b69",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategray1:"97ffff",darkslategray2:"8deeee",darkslategray3:"79cdcd",darkslategray4:"528b8b",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deeppink1:"ff1493",deeppink2:"ee1289",deeppink3:"cd1076",deeppink4:"8b0a50",deepskyblue:"00bfff",deepskyblue1:"00bfff",deepskyblue2:"00b2ee",deepskyblue3:"009acd",deepskyblue4:"00688b",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",dodgerblue1:"1e90ff",dodgerblue2:"1c86ee",dodgerblue3:"1874cd",dodgerblue4:"104e8b",firebrick:"b22222",firebrick1:"ff3030",firebrick2:"ee2c2c",firebrick3:"cd2626",firebrick4:"8b1a1a",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",gold1:"ffd700",gold2:"eec900",gold3:"cdad00",gold4:"8b7500",goldenrod:"daa520",goldenrod1:"ffc125",goldenrod2:"eeb422",goldenrod3:"cd9b1d",goldenrod4:"8b6914",gray:"bebebe",gray0:"000000",gray1:"030303",gray2:"050505",gray3:"080808",gray4:"0a0a0a",gray5:"0d0d0d",gray6:"0f0f0f",gray7:"121212",gray8:"141414",gray9:"171717",gray10:"1a1a1a",gray11:"1c1c1c",gray12:"1f1f1f",gray13:"212121",gray14:"242424",gray15:"262626",gray16:"292929",gray17:"2b2b2b",gray18:"2e2e2e",gray19:"303030",gray20:"333333",gray21:"363636",gray22:"383838",gray23:"3b3b3b",gray24:"3d3d3d",gray25:"404040",gray26:"424242",gray27:"454545",gray28:"474747",gray29:"4a4a4a",gray30:"4d4d4d",gray31:"4f4f4f",gray32:"525252",gray33:"545454",gray34:"575757",gray35:"595959",gray36:"5c5c5c",gray37:"5e5e5e",gray38:"616161",gray39:"636363",gray40:"666666",gray41:"696969",gray42:"6b6b6b",gray43:"6e6e6e",gray44:"707070",gray45:"737373",gray46:"757575",gray47:"787878",gray48:"7a7a7a",gray49:"7d7d7d",gray50:"7f7f7f",gray51:"828282",gray52:"858585",gray53:"878787",gray54:"8a8a8a",gray55:"8c8c8c",gray56:"8f8f8f",gray57:"919191",gray58:"949494",gray59:"969696",gray60:"999999",gray61:"9c9c9c",gray62:"9e9e9e",gray63:"a1a1a1",gray64:"a3a3a3",gray65:"a6a6a6",gray66:"a8a8a8",gray67:"ababab",gray68:"adadad",gray69:"b0b0b0",gray70:"b3b3b3",gray71:"b5b5b5",gray72:"b8b8b8",gray73:"bababa",gray74:"bdbdbd",gray75:"bfbfbf",gray76:"c2c2c2",gray77:"c4c4c4",gray78:"c7c7c7",gray79:"c9c9c9",gray80:"cccccc",gray81:"cfcfcf",gray82:"d1d1d1",gray83:"d4d4d4",gray84:"d6d6d6",gray85:"d9d9d9",gray86:"dbdbdb",gray87:"dedede",gray88:"e0e0e0",gray89:"e3e3e3",gray90:"e5e5e5",gray91:"e8e8e8",gray92:"ebebeb",gray93:"ededed",gray94:"f0f0f0",gray95:"f2f2f2",gray96:"f5f5f5",gray97:"f7f7f7",gray98:"fafafa",gray99:"fcfcfc",gray100:"ffffff",green:"00ff00",green1:"00ff00",green2:"00ee00",green3:"00cd00",green4:"008b00",greenyellow:"adff2f",grey:"bebebe",grey0:"000000",grey1:"030303",grey2:"050505",grey3:"080808",grey4:"0a0a0a",grey5:"0d0d0d",grey6:"0f0f0f",grey7:"121212",grey8:"141414",grey9:"171717",grey10:"1a1a1a",grey11:"1c1c1c",grey12:"1f1f1f",grey13:"212121",grey14:"242424",grey15:"262626",grey16:"292929",grey17:"2b2b2b",grey18:"2e2e2e",grey19:"303030",grey20:"333333",grey21:"363636",grey22:"383838",grey23:"3b3b3b",grey24:"3d3d3d",grey25:"404040",grey26:"424242",grey27:"454545",grey28:"474747",grey29:"4a4a4a",grey30:"4d4d4d",grey31:"4f4f4f",grey32:"525252",grey33:"545454",grey34:"575757",grey35:"595959",grey36:"5c5c5c",grey37:"5e5e5e",grey38:"616161",grey39:"636363",grey40:"666666",grey41:"696969",grey42:"6b6b6b",grey43:"6e6e6e",grey44:"707070",grey45:"737373",grey46:"757575",grey47:"787878",grey48:"7a7a7a",grey49:"7d7d7d",grey50:"7f7f7f",grey51:"828282",grey52:"858585",grey53:"878787",grey54:"8a8a8a",grey55:"8c8c8c",grey56:"8f8f8f",grey57:"919191",grey58:"949494",grey59:"969696",grey60:"999999",grey61:"9c9c9c",grey62:"9e9e9e",grey63:"a1a1a1",grey64:"a3a3a3",grey65:"a6a6a6",grey66:"a8a8a8",grey67:"ababab",grey68:"adadad",grey69:"b0b0b0",grey70:"b3b3b3",grey71:"b5b5b5",grey72:"b8b8b8",grey73:"bababa",grey74:"bdbdbd",grey75:"bfbfbf",grey76:"c2c2c2",grey77:"c4c4c4",grey78:"c7c7c7",grey79:"c9c9c9",grey80:"cccccc",grey81:"cfcfcf",grey82:"d1d1d1",grey83:"d4d4d4",grey84:"d6d6d6",grey85:"d9d9d9",grey86:"dbdbdb",grey87:"dedede",grey88:"e0e0e0",grey89:"e3e3e3",grey90:"e5e5e5",grey91:"e8e8e8",grey92:"ebebeb",grey93:"ededed",grey94:"f0f0f0",grey95:"f2f2f2",grey96:"f5f5f5",grey97:"f7f7f7",grey98:"fafafa",grey99:"fcfcfc",grey100:"ffffff",honeydew:"f0fff0",honeydew1:"f0fff0",honeydew2:"e0eee0",honeydew3:"c1cdc1",honeydew4:"838b83",hotpink:"ff69b4",hotpink1:"ff6eb4",hotpink2:"ee6aa7",hotpink3:"cd6090",hotpink4:"8b3a62",indianred:"cd5c5c",indianred1:"ff6a6a",indianred2:"ee6363",indianred3:"cd5555",indianred4:"8b3a3a",indigo:"4b0082",ivory:"fffff0",ivory1:"fffff0",ivory2:"eeeee0",ivory3:"cdcdc1",ivory4:"8b8b83",khaki:"f0e68c",khaki1:"fff68f",khaki2:"eee685",khaki3:"cdc673",khaki4:"8b864e",lavender:"e6e6fa",lavenderblush:"fff0f5",lavenderblush1:"fff0f5",lavenderblush2:"eee0e5",lavenderblush3:"cdc1c5",lavenderblush4:"8b8386",lawngreen:"7cfc00",lemonchiffon:"fffacd",lemonchiffon1:"fffacd",lemonchiffon2:"eee9bf",lemonchiffon3:"cdc9a5",lemonchiffon4:"8b8970",lightblue:"add8e6",lightblue1:"bfefff",lightblue2:"b2dfee",lightblue3:"9ac0cd",lightblue4:"68838b",lightcoral:"f08080",lightcyan:"e0ffff",lightcyan1:"e0ffff",lightcyan2:"d1eeee",lightcyan3:"b4cdcd",lightcyan4:"7a8b8b",lightgoldenrod:"eedd82",lightgoldenrod1:"ffec8b",lightgoldenrod2:"eedc82",lightgoldenrod3:"cdbe70",lightgoldenrod4:"8b814c",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightpink1:"ffaeb9",lightpink2:"eea2ad",lightpink3:"cd8c95",lightpink4:"8b5f65",lightsalmon:"ffa07a",lightsalmon1:"ffa07a",lightsalmon2:"ee9572",lightsalmon3:"cd8162",lightsalmon4:"8b5742",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightskyblue1:"b0e2ff",lightskyblue2:"a4d3ee",lightskyblue3:"8db6cd",lightskyblue4:"607b8b",lightslateblue:"8470ff",lightslategray:"778899",lightslategrey:"778899",lightsteelblue:"b0c4de",lightsteelblue1:"cae1ff",lightsteelblue2:"bcd2ee",lightsteelblue3:"a2b5cd",lightsteelblue4:"6e7b8b",lightyellow:"ffffe0",lightyellow1:"ffffe0",lightyellow2:"eeeed1",lightyellow3:"cdcdb4",lightyellow4:"8b8b7a",lime:"00ff00",limegreen:"32cd32",linen:"faf0e6",magenta:"ff00ff",magenta1:"ff00ff",magenta2:"ee00ee",magenta3:"cd00cd",magenta4:"8b008b",maroon:"b03060",maroon1:"ff34b3",maroon2:"ee30a7",maroon3:"cd2990",maroon4:"8b1c62",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumorchid1:"e066ff",mediumorchid2:"d15fee",mediumorchid3:"b452cd",mediumorchid4:"7a378b",mediumpurple:"9370db",mediumpurple1:"ab82ff",mediumpurple2:"9f79ee",mediumpurple3:"8968cd",mediumpurple4:"5d478b",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",mistyrose1:"ffe4e1",mistyrose2:"eed5d2",mistyrose3:"cdb7b5",mistyrose4:"8b7d7b",moccasin:"ffe4b5",navajowhite:"ffdead",navajowhite1:"ffdead",navajowhite2:"eecfa1",navajowhite3:"cdb38b",navajowhite4:"8b795e",navy:"000080",navyblue:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",olivedrab1:"c0ff3e",olivedrab2:"b3ee3a",olivedrab3:"9acd32",olivedrab4:"698b22",orange:"ffa500",orange1:"ffa500",orange2:"ee9a00",orange3:"cd8500",orange4:"8b5a00",orangered:"ff4500",orangered1:"ff4500",orangered2:"ee4000",orangered3:"cd3700",orangered4:"8b2500",orchid:"da70d6",orchid1:"ff83fa",orchid2:"ee7ae9",orchid3:"cd69c9",orchid4:"8b4789",palegoldenrod:"eee8aa",palegreen:"98fb98",palegreen1:"9aff9a",palegreen2:"90ee90",palegreen3:"7ccd7c",palegreen4:"548b54",paleturquoise:"afeeee",paleturquoise1:"bbffff",paleturquoise2:"aeeeee",paleturquoise3:"96cdcd",paleturquoise4:"668b8b",palevioletred:"db7093",palevioletred1:"ff82ab",palevioletred2:"ee799f",palevioletred3:"cd6889",palevioletred4:"8b475d",papayawhip:"ffefd5",peachpuff:"ffdab9",peachpuff1:"ffdab9",peachpuff2:"eecbad",peachpuff3:"cdaf95",peachpuff4:"8b7765",peru:"cd853f",pink:"ffc0cb",pink1:"ffb5c5",pink2:"eea9b8",pink3:"cd919e",pink4:"8b636c",plum:"dda0dd",plum1:"ffbbff",plum2:"eeaeee",plum3:"cd96cd",plum4:"8b668b",powderblue:"b0e0e6",purple:"a020f0",purple1:"9b30ff",purple2:"912cee",purple3:"7d26cd",purple4:"551a8b",rebeccapurple:"663399",red:"ff0000",red1:"ff0000",red2:"ee0000",red3:"cd0000",red4:"8b0000",rosybrown:"bc8f8f",rosybrown1:"ffc1c1",rosybrown2:"eeb4b4",rosybrown3:"cd9b9b",rosybrown4:"8b6969",royalblue:"4169e1",royalblue1:"4876ff",royalblue2:"436eee",royalblue3:"3a5fcd",royalblue4:"27408b",saddlebrown:"8b4513",salmon:"fa8072",salmon1:"ff8c69",salmon2:"ee8262",salmon3:"cd7054",salmon4:"8b4c39",sandybrown:"f4a460",seagreen:"2e8b57",seagreen1:"54ff9f",seagreen2:"4eee94",seagreen3:"43cd80",seagreen4:"2e8b57",seashell:"fff5ee",seashell1:"fff5ee",seashell2:"eee5de",seashell3:"cdc5bf",seashell4:"8b8682",sienna:"a0522d",sienna1:"ff8247",sienna2:"ee7942",sienna3:"cd6839",sienna4:"8b4726",silver:"c0c0c0",skyblue:"87ceeb",skyblue1:"87ceff",skyblue2:"7ec0ee",skyblue3:"6ca6cd",skyblue4:"4a708b",slateblue:"6a5acd",slateblue1:"836fff",slateblue2:"7a67ee",slateblue3:"6959cd",slateblue4:"473c8b",slategray:"708090",slategray1:"c6e2ff",slategray2:"b9d3ee",slategray3:"9fb6cd",slategray4:"6c7b8b",slategrey:"708090",snow:"fffafa",snow1:"fffafa",snow2:"eee9e9",snow3:"cdc9c9",snow4:"8b8989",springgreen:"00ff7f",springgreen1:"00ff7f",springgreen2:"00ee76",springgreen3:"00cd66",springgreen4:"008b45",steelblue:"4682b4",steelblue1:"63b8ff",steelblue2:"5cacee",steelblue3:"4f94cd",steelblue4:"36648b",tan:"d2b48c",tan1:"ffa54f",tan2:"ee9a49",tan3:"cd853f",tan4:"8b5a2b",teal:"008080",thistle:"d8bfd8",thistle1:"ffe1ff",thistle2:"eed2ee",thistle3:"cdb5cd",thistle4:"8b7b8b",tomato:"ff6347",tomato1:"ff6347",tomato2:"ee5c42",tomato3:"cd4f39",tomato4:"8b3626",turquoise:"40e0d0",turquoise1:"00f5ff",turquoise2:"00e5ee",turquoise3:"00c5cd",turquoise4:"00868b",violet:"ee82ee",violetred:"d02090",violetred1:"ff3e96",violetred2:"ee3a8c",violetred3:"cd3278",violetred4:"8b2252",webgray:"808080",webgreen:"008000",webgrey:"808080",webmaroon:"800000",webpurple:"800080",wheat:"f5deb3",wheat1:"ffe7ba",wheat2:"eed8ae",wheat3:"cdba96",wheat4:"8b7e66",white:"ffffff",whitesmoke:"f5f5f5",x11gray:"bebebe",x11green:"00ff00",x11grey:"bebebe",x11maroon:"b03060",x11purple:"a020f0",yellow:"ffff00",yellow1:"ffff00",yellow2:"eeee00",yellow3:"cdcd00",yellow4:"8b8b00",yellowgreen:"9acd32"},Oj=e=>{const i=Rj[e.toLowerCase().replaceAll(" ","")];return i===void 0?void 0:`#${i}`},Jj=/^rgba?:([\da-f]{1,4})\/([\da-f]{1,4})\/([\da-f]{1,4})(?:\/[\da-f]{1,4})?$/i,Pj=/^#((?:[\da-f]{3}){1,4})$/i,wt=e=>{const i=16**e.length-1;return Math.round(Number.parseInt(e,16)/i*255)},Nj=e=>{const i=e.trim(),n=Jj.exec(i);if(n)return{b:wt(n[3]),g:wt(n[2]),r:wt(n[1])};const t=i.startsWith("#")?i:Oj(i);if(t===void 0)return;const o=Pj.exec(t);if(!o)return;const a=o[1],s=a.length/3;return{b:wt(a.slice(s*2)),g:wt(a.slice(s,s*2)),r:wt(a.slice(0,s))}},Zj=(e=1)=>e===0?"":`${Be}${e<=1?"":String(e)}S`;let Aj;const Mj=e=>(Aj??=xi(import.meta.url))(e),mo=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,Hj=e=>{if(typeof mo<"u"&&mo.versions&&mo.versions.node){const[i,n]=mo.versions.node.split(".").map(Number);if(i>22||i===22&&n>=3||i===20&&n>=16)return mo.getBuiltinModule(e)}return Mj(e)},{Buffer:Ij}=Hj("node:buffer"),Xj=/^\u001B([a-z0-9])$/i,_j=/^\u001B+([ON[]|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/,Nf={"[1~":"home","[2$":"insert","[2^":"insert","[2~":"insert","[3$":"delete","[3^":"delete","[3~":"delete","[4~":"end","[5$":"pageup","[5^":"pageup","[5~":"pageup","[6$":"pagedown","[6^":"pagedown","[6~":"pagedown","[7$":"home","[7^":"home","[7~":"home","[8$":"end","[8^":"end","[8~":"end","[11~":"f1","[12~":"f2","[13~":"f3","[14~":"f4","[15~":"f5","[17~":"f6","[18~":"f7","[19~":"f8","[20~":"f9","[21~":"f10","[23~":"f11","[24~":"f12","[[5~":"pageup","[[6~":"pagedown","[[A":"f1","[[B":"f2","[[C":"f3","[[D":"f4","[[E":"f5","[A":"up","[a":"up","[B":"down","[b":"down","[C":"right","[c":"right","[D":"left","[d":"left","[E":"clear","[e":"clear","[F":"end","[H":"home","[P":"f1","[Q":"f2","[R":"f3","[S":"f4","[Z":"tab",OA:"up",Oa:"up",OB:"down",Ob:"down",OC:"right",Oc:"right",OD:"left",Od:"left",OE:"clear",Oe:"clear",OF:"end",OH:"home",OP:"f1",OQ:"f2",OR:"f3",OS:"f4"},Fj=[...Object.values(Nf),"backspace"],Wj=e=>["[2$","[3$","[5$","[6$","[7$","[8$","[a","[b","[c","[d","[e","[Z"].includes(e),Gj=e=>["[2^","[3^","[5^","[6^","[7^","[8^","Oa","Ob","Oc","Od","Oe"].includes(e),Zf=/^\u001B\[(\d+)(?::[\d:]*)?(?:;(\d*)(?::(\d+))?(?:;([\d:]+))?)?u$/,Qj=/^\u001B\[(\d+)(?:;(\d+)(?::(\d+))?)?([A-Z~])$/i,zj={A:"up",B:"down",C:"right",D:"left",E:"clear",F:"end",H:"home",P:"f1",Q:"f2",S:"f4"},Kj={2:"insert",3:"delete",5:"pageup",6:"pagedown",7:"home",8:"end",11:"f1",12:"f2",13:"f3",14:"f4",15:"f5",17:"f6",18:"f7",19:"f8",20:"f9",21:"f10",23:"f11",24:"f12",57427:"clear"},Jd={9:"tab",27:"escape",127:"backspace",57358:"capslock",57359:"scrolllock",57360:"numlock",57361:"printscreen",57362:"pause",57363:"menu",57376:"f13",57377:"f14",57378:"f15",57379:"f16",57380:"f17",57381:"f18",57382:"f19",57383:"f20",57384:"f21",57385:"f22",57386:"f23",57387:"f24",57388:"f25",57389:"f26",57390:"f27",57391:"f28",57392:"f29",57393:"f30",57394:"f31",57395:"f32",57396:"f33",57397:"f34",57398:"f35",57399:"kp0",57400:"kp1",57401:"kp2",57402:"kp3",57403:"kp4",57404:"kp5",57405:"kp6",57406:"kp7",57407:"kp8",57408:"kp9",57409:"kpdecimal",57410:"kpdivide",57411:"kpmultiply",57412:"kpsubtract",57413:"kpadd",57414:"kpenter",57415:"kpequal",57416:"kpseparator",57417:"left",57418:"right",57419:"up",57420:"down",57421:"pageup",57422:"pagedown",57423:"home",57424:"end",57425:"insert",57426:"delete",57427:"kpbegin",57428:"mediaplay",57429:"mediapause",57430:"mediaplaypause",57431:"mediareverse",57432:"mediastop",57433:"mediafastforward",57434:"mediarewind",57435:"mediatracknext",57436:"mediatrackprevious",57437:"mediarecord",57438:"lowervolume",57439:"raisevolume",57440:"mutevolume",57441:"leftshift",57442:"leftcontrol",57443:"leftalt",57444:"leftsuper",57445:"lefthyper",57446:"leftmeta",57447:"rightshift",57448:"rightcontrol",57449:"rightalt",57450:"rightsuper",57451:"righthyper",57452:"rightmeta",57453:"isoLevel3Shift",57454:"isoLevel5Shift"},Af=e=>e>=0&&e<=1114111&&!(e>=55296&&e<=57343),lr=e=>Af(e)?String.fromCodePoint(e):"?";function Mf(e){return e===3?"release":e===2?"repeat":"press"}function Hf(e){return{capsLock:!!(e&cn.capsLock),ctrl:!!(e&cn.ctrl),hyper:!!(e&cn.hyper),meta:!!(e&cn.meta),numLock:!!(e&cn.numLock),option:!!(e&cn.alt),shift:!!(e&cn.shift),super:!!(e&cn.super)}}const Vj=e=>{const i=Zf.exec(e);if(!i)return null;let n=Number.parseInt(i[1],10);n===57414&&(n=13);const t=i[2]?Math.max(0,Number.parseInt(i[2],10)-1):0,o=i[3]?Number.parseInt(i[3],10):1,a=i[4];if(!Af(n))return null;let s;a&&(s=a.split(":").map(c=>lr(Number.parseInt(c,10))).join(""));let r,u;return n===32?(r="space",u=!0):n===13?(r="return",u=!0):Jd[n]?(r=Jd[n],u=!1):n<32||n>=127&&n<=159||n>=57344&&n<=63743?(r="",u=!1):(r=lr(n).toLowerCase(),u=!0),u&&!s&&(s=lr(n)),{name:r,...Hf(t),eventType:Mf(o),isKittyProtocol:!0,isPrintable:u||s!==void 0,raw:e,sequence:e,text:s}},Uj=e=>{const i=Qj.exec(e);if(!i)return null;const n=Number.parseInt(i[1],10),t=i[2]?Math.max(0,Number.parseInt(i[2],10)-1):0,o=i[3]?Number.parseInt(i[3],10):1,a=i[4];if(a!=="~"&&n!==1)return null;const s=a==="~"?Kj[n]:zj[a];return s?{name:s,...Hf(t),eventType:Mf(o),isKittyProtocol:!0,isPrintable:!1,raw:e,sequence:e}:null},ts=(e="")=>{let i;Ij.isBuffer(e)?e=e[0]>127&&e[1]===void 0?`\x1B${String.fromCharCode(e[0]-128)}`:String(e):e!==void 0&&typeof e!="string"?e=String(e):e||(e="");const n=Vj(e);if(n)return n;const t=Uj(e);if(t)return t;if(Zf.test(e))return{ctrl:!1,isKittyProtocol:!0,isPrintable:!1,meta:!1,name:"",option:!1,raw:e,sequence:e,shift:!1};const o={ctrl:!1,meta:!1,name:"",option:!1,raw:e,sequence:e,shift:!1};switch(o.sequence=o.sequence||e||o.name,e){case"\r":case"\x1B\r":{o.raw=void 0,o.name="return",o.option=e.length===2;break}case`
|
|
2
2
|
`:{o.name="enter";break}case" ":case"\x1B ":{o.name="tab",o.meta=e.length===2;break}case" ":case"\x1B ":{o.name="space",o.meta=e.length===2;break}case"\b":case"\x1B\b":{o.name="backspace",o.meta=e.charAt(0)==="\x1B";break}case"\x1B":case"\x1B\x1B":{o.name="escape",o.meta=e.length===2;break}case"\x1BOM":{o.raw=void 0,o.name="return",o.sequence="\r";break}case"\x1B":case"":{o.name="backspace",o.meta=e.charAt(0)==="\x1B";break}default:if(/^\u001B?[\u0000-\u001F]$/.test(e)){const a=e.codePointAt(e.length-1),s=a<=26?a+96:a+64;o.name=a===0?"space":String.fromCharCode(s),o.ctrl=!0,o.meta=e.length===2}else if(e.length===1&&e>="0"&&e<="9")o.name="number";else if(e.length===1&&e>="a"&&e<="z")o.name=e;else if(e.length===1&&e>="A"&&e<="Z")o.name=e.toLowerCase(),o.shift=!0;else if(i=Xj.exec(e))o.meta=!0,o.shift=/^[A-Z]$/.test(i[1]);else if(i=_j.exec(e)){const a=[...e];a[0]==="\x1B"&&a[1]==="\x1B"&&(o.option=!0);const s=[i[1],i[2],i[4],i[6]].filter(Boolean).join(""),r=(i[3]||i[5]||1)-1;o.ctrl=!!(r&4),o.meta=!!(r&10),o.shift=!!(r&1),o.code=s,o.name=Nf[s]??"",o.shift=Wj(s)||o.shift,o.ctrl=Gj(s)||o.ctrl}}return o},If=C.createContext({renderThrottleMs:0,subscribe(){return{startTime:0,unsubscribe(){}}}});If.displayName="InternalAnimationContext";const jc=C.createContext({exit(){},suspendTerminal:(()=>Promise.resolve(void 0)),async waitUntilRenderFlush(){}});jc.displayName="InternalAppContext";const Xf=C.createContext({setCursorPosition(){}});Xf.displayName="InternalCursorContext";let qj;const eS=e=>(qj??=xi(import.meta.url))(e),Lt=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,_f=e=>{if(typeof Lt<"u"&&Lt.versions&&Lt.versions.node){const[i,n]=Lt.versions.node.split(".").map(Number);if(i>22||i===22&&n>=3||i===20&&n>=16)return Lt.getBuiltinModule(e)}return eS(e)},{existsSync:iS,readFileSync:nS}=_f("node:fs"),{cwd:tS}=Lt,{fileURLToPath:oS}=_f("node:url"),aS=(e,i=2)=>e.replace(/^\t+/gm,n=>" ".repeat(n.length*i)),sS=(e,i)=>{const n=[],t=e-i,o=e+i;for(let a=t;a<=o;a++)n.push(a);return n},rS=(e,i,n={})=>{var t;if(typeof e!="string")throw new TypeError("Source code is missing.");if(!i||i<1)throw new TypeError("Line number must start from `1`.");const o=aS(e).split(/\r?\n/);if(!(i>o.length))return sS(i,(t=n.around)!==null&&t!==void 0?t:3).filter(a=>o[a-1]!==void 0).map(a=>({line:a,value:o[a-1]}))},dr=e=>{if(!e)return e;const i=tS();let n=e;if(e.startsWith("file://"))try{n=oS(e)}catch{}return n.replace(`${i}/`,"")},gr=e=>!!(e?.file&&e.line&&e.column);function uS({error:e}){const i=Sk(e),n=new Map,t=i.map(u=>{const c=gr(u)?`${dr(u.file)??""}:${u.line}:${u.column}:${u.methodName??""}`:`raw:${u.raw}`,l=n.get(c)??0;return n.set(c,l+1),{key:`${c}#${l}`,trace:u}}),o=gr(i[0])?i[0]:void 0,a=dr(o?.file);let s,r=0;if(a&&o?.line&&iS(a)){try{s=rS(nS(a,"utf8"),o.line)}catch{}if(s)for(const{line:u}of s)r=Math.max(r,String(u).length)}return k.jsxs(_,{flexDirection:"column",padding:1,children:[k.jsxs(_,{children:[k.jsxs(E,{backgroundColor:"red",color:"white",children:[" ","ERROR"," "]}),k.jsxs(E,{children:[" ",e.message]})]}),o&&a?k.jsx(_,{marginTop:1,children:k.jsxs(E,{dimColor:!0,children:[a,":",o.line,":",o.column]})}):null,o&&s?k.jsx(_,{flexDirection:"column",marginTop:1,children:s.map(({line:u,value:c})=>k.jsxs(_,{children:[k.jsx(_,{width:r+1,children:k.jsxs(E,{"aria-label":u===o.line?`Line ${u}, error`:`Line ${u}`,backgroundColor:u===o.line?"red":void 0,color:u===o.line?"white":void 0,dimColor:u!==o.line,children:[String(u).padStart(r," "),":"]})}),k.jsx(E,{backgroundColor:u===o.line?"red":void 0,color:u===o.line?"white":void 0,children:` ${c}`})]},`excerpt-${u}`))}):null,i.length>0?k.jsx(_,{flexDirection:"column",marginTop:1,children:t.map(({key:u,trace:c})=>{const l=dr(c.file)??"";return gr(c)?k.jsxs(_,{children:[k.jsx(E,{dimColor:!0,children:"- "}),k.jsx(E,{bold:!0,dimColor:!0,children:c.methodName??"<anonymous>"}),k.jsxs(E,{"aria-label":`at ${l} line ${c.line} column ${c.column}`,color:"gray",dimColor:!0,children:[" ","(",l,":",c.line,":",c.column,")"]})]},u):k.jsxs(_,{children:[k.jsx(E,{dimColor:!0,children:"- "}),k.jsx(E,{bold:!0,dimColor:!0,children:c.raw})]},u)})}):null]})}let cS=class extends C.PureComponent{static displayName="InternalErrorBoundary";static getDerivedStateFromError(i){return{error:ik(i)}}state={error:void 0};componentDidCatch(){this.props.onError(this.state.error)}render(){return this.state.error?k.jsx(uS,{error:this.state.error}):this.props.children}};const Sc=C.createContext({activate(){},activeId:void 0,add(){},deactivate(){},disableFocus(){},enableFocus(){},focus(){},focusNext(){},focusPrevious(){},remove(){}});Sc.displayName="InternalFocusContext";const lS=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:Ff,Ff=lS,Wf=C.createContext({stderr:Ff.stderr,write(){}});Wf.displayName="InternalStderrContext";let dS;const gS=e=>(dS??=xi(import.meta.url))(e),xt=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:Gf,hS=e=>{if(typeof xt<"u"&&xt.versions&&xt.versions.node){const[i,n]=xt.versions.node.split(".").map(Number);if(i>22||i===22&&n>=3||i===20&&n>=16)return xt.getBuiltinModule(e)}return gS(e)},{EventEmitter:pS}=hS("node:events"),Gf=xt,ks=C.createContext({internal_eventEmitter:new pS,internal_exitOnCtrlC:!0,isRawModeSupported:!1,setBracketedPasteMode(){},setRawMode(){},stdin:Gf.stdin});ks.displayName="InternalStdinContext";const fS=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:Qf,Qf=fS,Cc=C.createContext({stdout:Qf.stdout,write(){}});Cc.displayName="InternalStdoutContext";const vS={bar:6,"blinking-bar":5,"blinking-block":1,"blinking-underline":3,block:2,default:0,underline:4},Pd=e=>Yj(vS[e]),Nd=(e,i)=>e?.x!==i?.x||e?.y!==i?.y,js=(e,i)=>{if(!i)return"";const n=e-i.y;return(n>0?sa(n):"")+Ui(i.x)+qn},Lc=(e,i)=>{if(!i)return"";const n=e-1-i.y;return(n>0?Df(n):"")+Ui(0)},yS=e=>{const i=e.cursorWasShown?mn:"",n=Lc(e.previousLineCount,e.previousCursorPosition),t=js(e.visibleLineCount,e.cursorPosition);return i+n+t},mS=(e,i,n)=>e?mn+Lc(i,n):"";let bS;const wS=e=>(bS??=xi(import.meta.url))(e),bo=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,Ss=e=>{if(typeof bo<"u"&&bo.versions&&bo.versions.node){const[i,n]=bo.versions.node.split(".").map(Number);if(i>22||i===22&&n>=3||i===20&&n>=16)return bo.getBuiltinModule(e)}return wS(e)},{existsSync:Zd}=Ss("node:fs"),{createRequire:kS}=Ss("node:module"),{dirname:Ad,join:Ca}=Ss("node:path"),{fileURLToPath:jS}=Ss("node:url"),SS=12,CS=e=>{const i=kS(e),n=Ad(jS(e));let t=n;for(let o=0;o<SS;o+=1){if(Zd(Ca(t,"package.json"))&&Zd(Ca(t,"index.js")))return i(Ca(t,"index.js"));const a=Ad(t);if(a===t)break;t=a}return i(Ca(n,"..","index.js"))},La=new WeakMap,LS=async(e,i)=>(await e,i()),zf=(e,i)=>{const n=La.get(e),t=n===void 0?i():LS(n,i);let o;return o=(async()=>{try{await t}catch{}La.get(e)===o&&La.delete(e)})(),La.set(e,o),t};let xS=class{constructor(i,n){this.target=i,this.contentRect=n}target;contentRect};function TS(e,i,n=!1){const t=e.resizeObservers&&e.resizeObservers.size>0;if((t||n)&&e.yogaNode){const o=Math.round(e.yogaNode.getComputedWidth()),a=Math.round(e.yogaNode.getComputedHeight());if(!Number.isNaN(o)&&!Number.isNaN(a)){const s=e.internal_lastMeasuredSize;if((s?.width!==o||s.height!==a)&&(e.internal_lastMeasuredSize={height:a,width:o},t)){const r=new xS(e,{height:a,width:o});for(const u of e.resizeObservers)i.has(u)||i.set(u,[]),i.get(u).push(r)}}}}let YS;const DS=e=>(YS??=xi(import.meta.url))(e),Tt=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:bn,xc=e=>{if(typeof Tt<"u"&&Tt.versions&&Tt.versions.node){const[i,n]=Tt.versions.node.split(".").map(Number);if(i>22||i===22&&n>=3||i===20&&n>=16)return Tt.getBuiltinModule(e)}return DS(e)},bn=Tt,{execFileSync:$S}=xc("node:child_process"),Yo=xc("node:fs"),ES=xc("node:tty"),Kf=80,Vf=24,bu=(e,i,{shell:n,env:t}={})=>$S(e,i,{encoding:"utf8",stdio:["ignore","pipe","ignore"],timeout:500,shell:n,env:t}).trim(),Ia=(e,i)=>({columns:Number.parseInt(e,10),rows:Number.parseInt(i,10)}),Uf=(e,i)=>{const{columns:n,rows:t}=Ia(e,i);if(!(Number.isNaN(n)||Number.isNaN(t))&&!(n===Kf&&t===Vf))return{columns:n,rows:t}},BS=()=>{if(bn.platform!=="linux")return!0;try{const e=Yo.readFileSync("/proc/self/stat","utf8"),i=e.lastIndexOf(") ");if(i===-1)return!1;const n=e.slice(i+2).trim().split(/\s+/),t=Number.parseInt(n[2],10),o=Number.parseInt(n[5],10);return Number.isNaN(t)||Number.isNaN(o)||o<=0?!1:t===o}catch{return!1}};function RS(){const{env:e,stdout:i,stderr:n}=bn;if(i?.columns&&i?.rows)return Ia(i.columns,i.rows);if(n?.columns&&n?.rows)return Ia(n.columns,n.rows);if(e.COLUMNS&&e.LINES)return Ia(e.COLUMNS,e.LINES);const t={columns:Kf,rows:Vf};return bn.platform==="win32"?hr()??t:bn.platform==="darwin"?Md()??hr()??t:Md()??hr()??OS()??t}const Md=()=>{try{const e=bn.platform==="darwin"?Yo.constants.O_EVTONLY|Yo.constants.O_NONBLOCK:Yo.constants.O_NONBLOCK,{columns:i,rows:n}=ES.WriteStream(Yo.openSync("/dev/tty",e));return{columns:i,rows:n}}catch{}},hr=()=>{try{const e=bu("tput",["cols"],{env:{TERM:"dumb",...bn.env}}),i=bu("tput",["lines"],{env:{TERM:"dumb",...bn.env}});if(e&&i)return Uf(e,i)}catch{}},OS=()=>{try{if(!BS())return;const e=bu("resize",["-u"]).match(/\d+/g);if(e.length===2)return Uf(e[0],e[1])}catch{}},Di=e=>{const{columns:i,rows:n}=e;if(i&&n)return{columns:i,rows:n};const t=RS();return{columns:i||t.columns||80,rows:n||t.rows||24}};let JS;const PS=e=>(JS??=xi(import.meta.url))(e),Yt=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,Tc=e=>{if(typeof Yt<"u"&&Yt.versions&&Yt.versions.node){const[i,n]=Yt.versions.node.split(".").map(Number);if(i>22||i===22&&n>=3||i===20&&n>=16)return Yt.getBuiltinModule(e)}return PS(e)},gi=Yt,{env:pr}=gi,{PassThrough:Hd,Stream:NS}=Tc("node:stream"),{Console:ZS}=Tc("node:console"),{EventEmitter:AS}=Tc("node:events"),Id=e=>e in pr&&pr[e]!=="0"&&pr[e]!=="false",qf=Id("CI")||Id("CONTINUOUS_INTEGRATION"),Xd=["assert","count","countReset","debug","dir","dirxml","error","group","groupCollapsed","groupEnd","info","log","table","time","timeEnd","timeLog","trace","warn"];let fr={};const MS=e=>{const i=new Hd,n=new Hd;i.write=o=>{e("stdout",o)},n.write=o=>{e("stderr",o)};const t=new console.Console(i,n);for(const o of Xd)fr[o]=console[o],console[o]=t[o];return()=>{for(const o of Xd)console[o]=fr[o];fr={}}},At=[];At.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&At.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&At.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");const Xa=e=>!!e&&!0&&typeof e.removeListener=="function"&&typeof e.emit=="function"&&typeof e.reallyExit=="function"&&typeof e.listeners=="function"&&typeof e.kill=="function"&&typeof e.pid=="number"&&typeof e.on=="function",vr=Symbol.for("signal-exit emitter"),yr=globalThis,HS=Object.defineProperty.bind(Object);class IS{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(yr[vr])return yr[vr];HS(yr,vr,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(i,n){this.listeners[i].push(n)}removeListener(i,n){const t=this.listeners[i],o=t.indexOf(n);o!==-1&&(o===0&&t.length===1?t.length=0:t.splice(o,1))}emit(i,n,t){if(this.emitted[i])return!1;this.emitted[i]=!0;let o=!1;for(const a of this.listeners[i])o=a(n,t)===!0||o;return i==="exit"&&(o=this.emit("afterExit",n,t)||o),o}}let ev=class{};const XS=e=>({onExit(i,n){return e.onExit(i,n)},load(){return e.load()},unload(){return e.unload()}});let _S=class extends ev{onExit(){return()=>{}}load(){}unload(){}},FS=class extends ev{#n=wu.platform==="win32"?"SIGINT":"SIGHUP";#e=new IS;#i;#a;#t;#o={};#s=!1;constructor(i){super(),this.#i=i,this.#o={};for(const n of At)this.#o[n]=()=>{const t=this.#i.listeners(n);let{count:o}=this.#e;const a=i;if(typeof a.__signal_exit_emitter__=="object"&&typeof a.__signal_exit_emitter__.count=="number"&&(o+=a.__signal_exit_emitter__.count),t.length===o){this.unload();const s=this.#e.emit("exit",null,n),r=n==="SIGHUP"?this.#n:n;s||i.kill(i.pid,r)}};this.#t=i.reallyExit,this.#a=i.emit}onExit(i,n){if(!Xa(this.#i))return()=>{};this.#s===!1&&this.load();const t=n?.alwaysLast?"afterExit":"exit";return this.#e.on(t,i),()=>{this.#e.removeListener(t,i),this.#e.listeners.exit.length===0&&this.#e.listeners.afterExit.length===0&&this.unload()}}load(){if(!this.#s){this.#s=!0,this.#e.count+=1;for(const i of At)try{const n=this.#o[i];n&&this.#i.on(i,n)}catch{}this.#i.emit=(i,...n)=>this.#u(i,...n),this.#i.reallyExit=i=>this.#r(i)}}unload(){this.#s&&(this.#s=!1,At.forEach(i=>{const n=this.#o[i];if(!n)throw new Error("Listener not defined for signal: "+i);try{this.#i.removeListener(i,n)}catch{}}),this.#i.emit=this.#a,this.#i.reallyExit=this.#t,this.#e.count-=1)}#r(i){return Xa(this.#i)?(this.#i.exitCode=i||0,this.#e.emit("exit",this.#i.exitCode,null),this.#t.call(this.#i,this.#i.exitCode)):0}#u(i,...n){const t=this.#a;if(i==="exit"&&Xa(this.#i)){typeof n[0]=="number"&&(this.#i.exitCode=n[0]);const o=t.call(this.#i,i,...n);return this.#e.emit("exit",this.#i.exitCode,null),o}else return t.call(this.#i,i,...n)}};const wu=globalThis.process,{onExit:WS}=XS(Xa(wu)?new FS(wu):new _S),os="\x1B",iv="\x1B[200~",_d="\x1B[201~",GS=e=>e>=48&&e<=63,QS=e=>e>=32&&e<=47,nv=e=>e>=64&&e<=126,zS=(e,i,n)=>{const t=i+n+1;let o=t;for(;o<e.length;o++){const a=e.codePointAt(o);if(a===void 0)return"pending";if(a===91&&o===t)continue;const s=a===36&&o===t+1&&"235678".includes(e[t]);if(nv(a)||s)return{nextIndex:o+1,sequence:e.slice(i,o+1)};if(!(GS(a)||QS(a)))return}return"pending"},KS=(e,i,n)=>{for(let t=i+n+1;t<e.length;t++){const o=e.codePointAt(t);if(nv(o))return{nextIndex:t+1,sequence:e.slice(i,t+1)};if((o<48||o>57)&&o!==59)return}return"pending"},Fd=(e,i,n)=>{const t=e[i+n];if(t===void 0)return"pending";if(t==="[")return zS(e,i,n);if(t==="O")return KS(e,i,n)},VS=(e,i)=>{const n=e.codePointAt(i+1),t=n!==void 0&&n>65535?2:1,o=i+1+t;return{nextIndex:o,sequence:e.slice(i,o)}},US=(e,i)=>{if(i===e.length-1)return"pending";if(e[i+1]===os){if(i+2>=e.length)return"pending";const t=Fd(e,i,2);return t==="pending"?"pending":t||{nextIndex:i+2,sequence:e.slice(i,i+2)}}const n=Fd(e,i,1);return n==="pending"?"pending":n||VS(e,i)},Wd=(e,i)=>{let n=0;for(let t=0;t<e.length;t++){const o=e[t];(o===""||o==="\b"||o==="")&&(t>n&&i.push(e.slice(n,t)),i.push(o),n=t+1)}n<e.length&&i.push(e.slice(n))},qS=e=>{const i=[];let n=0;const t=o=>({events:i,pending:e.slice(o)});for(;n<e.length;){const o=e.indexOf(os,n);if(o===-1)return Wd(e.slice(n),i),{events:i,pending:""};o>n&&Wd(e.slice(n,o),i);const a=US(e,o);if(a==="pending")return t(o);if(a.sequence===iv){const s=a.nextIndex,r=e.indexOf(_d,s);if(r===-1)return t(o);i.push({paste:e.slice(s,r)}),n=r+_d.length;continue}i.push(a.sequence),n=a.nextIndex}return{events:i,pending:""}},e1=()=>{let e="";return{flushPendingEscape(){if(!e.startsWith(os))return;const i=e;return e="",i},hasPendingEscape(){return e.startsWith(os)&&!e.startsWith(iv)&&e!=="\x1B[200"},push(i){const n=qS(e+i);return e=n.pending,n.events},reset(){e=""}}},i1=/^\u001B\[\?\d+u$/,Gd=e=>{const i=ts(e);return i.name==="c"&&i.ctrl&&i.eventType!=="release"},Qd=Of(Pf),mr=Jf(Pf),br=(e,i)=>{const n=i.count??e.count,t=i.inactive??e.inactive;return{...e,count:n,inactive:t,isActive:t.size<n}},zd=(e,i,n)=>e.id!==i?e:n(e),Kd=(e,i,n)=>{const t=new Set(e);return n?t.add(i):t.delete(i),t},tv=({children:e,exitOnCtrlC:i,interactive:n,onExit:t,onKittyQueryResponse:o,onRegisterInputControl:a,onSuspendTerminal:s,onWaitUntilRenderFlush:r,renderThrottleMs:u,setCursorPosition:c,stderr:l,stdin:d,stdout:g,writeToStderr:h,writeToStdout:p})=>{const[v,y]=C.useState(!0),b=C.useRef(!0),[m,j]=C.useState(void 0),[,x]=C.useState([]),$=C.useRef(0),T=C.useRef([]),B=C.useRef(new Map),J=C.useRef(void 0),I=C.useRef(0),se=C.useRef(!1),be=C.useRef(!1),de=C.useRef(0),[ge]=C.useState(()=>{const A=new AS;return A.setMaxListeners(1/0),A}),me=C.useRef(void 0),H=C.useRef(void 0);H.current??=e1();const S=C.useRef(void 0),P=C.useRef(!1),Q=20,R=C.useCallback(()=>{S.current&&(clearTimeout(S.current),S.current=void 0)},[]),N=C.useCallback(()=>{J.current&&(clearTimeout(J.current),J.current=void 0)},[]),O=C.useCallback(()=>{if(N(),B.current.size===0)return;let A=Number.POSITIVE_INFINITY;for(const oe of B.current.values())A=Math.min(A,oe.nextDueTime);const te=Math.max(0,A-performance.now());J.current=setTimeout(()=>{J.current=void 0;const oe=performance.now(),re=[...B.current.values()];for(const ke of re){if(oe<ke.nextDueTime)continue;ke.callback(oe);const Ii=oe-ke.startTime,bt=Math.floor(Ii/ke.interval)+1;ke.nextDueTime=ke.startTime+bt*ke.interval}O()},te)},[N]),F=C.useCallback((A,te)=>{const oe=performance.now();return B.current.set(A,{callback:A,interval:te,nextDueTime:oe+te,startTime:oe}),O(),{startTime:oe,unsubscribe(){if(B.current.delete(A),B.current.size===0){N();return}O()}}},[N,O]);C.useEffect(()=>()=>{N()},[N]);const M=d.isTTY?typeof d.setRawMode=="function":!1,U=C.useCallback(()=>{me.current&&(d.removeListener("readable",me.current),me.current=void 0)},[d]),z=C.useCallback(()=>{H.current?.reset(),R(),U()},[R,U]),Z=C.useCallback(()=>{se.current=!1,M&&d.setRawMode(!1),d.unref?.(),I.current=0,z()},[d,M,z]),K=C.useCallback(A=>{M&&(I.current>0||se.current)&&Z(),t(A)},[M,Z,t]),Ce=C.useCallback(A=>{if(i&&Gd(A)){K();return}const te=ts(A);v&&te.name==="escape"&&te.eventType!=="release"&&!te.shift&&!te.ctrl&&!te.meta&&!te.option&&te.super!==!0&&te.hyper!==!0&&j(void 0)},[i,K,v]),Ye=C.useCallback(A=>{Ce(A),ge.emit("input",A)},[Ce,ge]),Ze=C.useCallback(()=>{R(),S.current=setTimeout(()=>{S.current=void 0;const A=H.current.flushPendingEscape();A&&Ye(A)},Q)},[R,Ye]),ze=C.useCallback(()=>{R();let A;for(;(A=d.read())!==null;){const te=H.current.push(A);for(const oe of te)if(typeof oe=="string"){if(i1.test(oe)){o?.();continue}if(Ye(oe),i&&Gd(oe))return}else{if(ge.listenerCount("paste")===0){P.current||(P.current=!0,h(`Warning: useInput() received bracketed paste because no usePaste() handler is active. This fallback is deprecated and will be removed in the next major version. Migrate paste handling to usePaste().
|
|
3
3
|
`)),Ye(oe.paste);continue}ge.emit("paste",oe.paste)}}H.current.hasPendingEscape()&&Ze()},[d,Ye,i,R,Ze,h,ge,o]),Xe=C.useCallback(()=>{me.current||(me.current=ze,d.addListener("readable",ze))},[d,ze]),Hn=C.useCallback(A=>{if(!M)throw d===gi.stdin?new Error(`Raw mode is not supported on the current process.stdin, which Ink uses as input stream by default.
|
|
4
4
|
Read about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`):new Error(`Raw mode is not supported on the stdin provided to Ink.
|
|
@@ -116,9 +116,9 @@ ${Ok("♥")} ${Ei("Enjoying visulima?")} ${Pt(`Consider sponsoring at ${yT}`)}
|
|
|
116
116
|
${Pt(" Hide this with VIS_NO_SPONSOR=1 or sponsor.enabled = false in vis.config.ts")}
|
|
117
117
|
`),bT({lastShown:i}))},Og=300*1e3,Ou=w(Bn(),"tips.json"),kT=()=>{try{if(L(Ou))return Oe(Ou)}catch{}return{lastGlobal:0,perTip:{}}},jT=e=>{try{En(Bn()),Ie(Ou,JSON.stringify(e))}catch{}},ST=[{cooldownMs:1800*1e3,id:"short-aliases",matches:e=>["install","link","remove","uninstall","update"].includes(e.command),message:e=>{const n={install:"i",link:"ln",remove:"rm",uninstall:"rm",update:"up"}[e.command];return n?`You can use 'vis ${n}' as a shorthand for 'vis ${e.command}'`:""},probability:.5},{id:"use-exec",matches:e=>e.command==="dlx"&&e.success,message:()=>"Use 'vis exec' to run locally installed binaries without downloading."},{id:"security-check",matches:e=>(e.command==="check"||e.command==="update")&&e.success&&!e.args.includes("--security"),message:()=>"Add --security to check for known vulnerabilities via OSV.dev",probability:.3},{cooldownMs:3600*1e3,id:"ai-analysis",matches:e=>(e.command==="check"||e.command==="update")&&e.success&&!e.args.includes("--ai"),message:()=>"Add --ai to run AI analysis on outdated packages before updating.",probability:.2},{cooldownMs:1440*60*1e3,id:"socket-security",matches:e=>(e.command==="install"||e.command==="update"||e.command==="check")&&e.success,message:()=>"Enable Socket.dev in vis.config.ts for security scores and supply chain alerts: security.socket.enabled = true",probability:.15},{id:"dedupe-after-install",matches:e=>e.command==="install"&&e.success,message:()=>"Run 'vis dedupe' periodically to remove duplicate dependencies.",probability:.15},{cooldownMs:720*60*1e3,id:"doctor-checkup",matches:e=>(e.command==="install"||e.command==="add"||e.command==="update")&&e.success,message:()=>"Run 'vis doctor' for a full project health check — outdated, security, duplicates, and optimizations in one view.",probability:.25},{cooldownMs:10080*60*1e3,id:"init-config",matches:e=>(e.command==="install"||e.command==="run")&&e.success&&!e.hasVisConfig,message:()=>"Run 'vis init' to create a vis.config.ts with secure defaults — supply chain protection enabled automatically.",probability:.4},{id:"why-command",matches:e=>e.command==="outdated"&&e.success,message:()=>"Use 'vis why <package>' to understand why a dependency is installed.",probability:.3},{id:"graph-command",matches:e=>e.command==="run"&&e.success,message:()=>"Use 'vis graph' to visualize your project dependency graph.",probability:.1},{id:"affected-command",matches:e=>e.command==="run"&&e.success&&!e.args.includes("--projects"),message:()=>"Use 'vis affected <target>' to run tasks only on changed projects.",probability:.2},{id:"pm-cache",matches:e=>e.command==="install"&&e.success,message:()=>"Use 'vis pm cache dir' to find your package manager's cache location.",probability:.1},{id:"create-editor",matches:e=>e.command==="create"&&e.success,message:()=>"Add --editor vscode to generate VS Code configuration during project creation.",probability:.5},{id:"env-pin",matches:e=>e.command==="env"&&e.args.includes("install")&&e.success,message:()=>"Use 'vis env pin <version>' to pin the Node.js version for your project.",probability:.5},{cooldownMs:720*60*1e3,id:"docker-lint",matches:e=>!!e.hasDockerfile&&e.success&&e.command!=="docker",message:()=>"Found a Dockerfile — run 'vis docker lint' to check it against hadolint best practices.",probability:.3},{cooldownMs:1440*60*1e3,id:"docker-ignore",matches:e=>!!e.hasDockerfile&&!e.hasDockerignore&&e.success&&e.command!=="ignore",message:()=>"No .dockerignore next to your Dockerfile — run 'vis ignore --write' to shrink the build context.",probability:.4},{cooldownMs:1440*60*1e3,id:"vercel-ignore",matches:e=>!!e.hasVercelConfig&&e.success&&e.command!=="ignore",message:()=>"Deploying to Vercel? Run 'vis ignore --target=vercel --write' to generate a deduped .vercelignore.",probability:.25},{id:"upgrade-check",matches:e=>e.command!=="self-update"&&e.success,message:()=>"Run 'vis self-update --check' to see if a newer version of vis is available.",probability:.05}],CT=e=>{if(process.env.VIS_CLI_TEST||Sn)return;const i=Date.now(),n=kT();if(i-n.lastGlobal<Og)return;const t=ST.filter(s=>{if(!s.matches(e))return!1;const r=n.perTip[s.id]??0,u=s.cooldownMs??Og;return i-r>=u});if(t.length===0)return;const o=t.find(s=>{const r=s.probability??1;return Math.random()<r});if(!o)return;const a=o.message(e);a&&(process.stderr.write(`
|
|
118
118
|
\x1B[2mtip: ${a}\x1B[0m
|
|
119
|
-
`),n.lastGlobal=i,n.perTip[o.id]=i,jT(n))},LT=e=>({afterCommand:async i=>{const n=process.argv.slice(2),t=n[0]??"",o=process.exitCode===void 0||process.exitCode===0;e&&e();const a=i.workspaceRoot??process.cwd();CT({args:n,command:t,hasDockerfile:L(w(a,"Dockerfile")),hasDockerignore:L(w(a,".dockerignore")),hasVercelConfig:L(w(a,"vercel.json"))||L(w(a,".vercel")),hasVisConfig:i.visConfig!==void 0&&Object.keys(i.visConfig).length>0,success:o}),wT({success:o,visConfig:i.visConfig}),fT({command:t,success:o,visConfig:i.visConfig})},name:"post-command"});let xT;const TT=e=>(xT??=xi(import.meta.url))(e),Dt=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,Ic=e=>{if(typeof Dt<"u"&&Dt.versions&&Dt.versions.node){const[i,n]=Dt.versions.node.split(".").map(Number);if(i>22||i===22&&n>=3||i===20&&n>=16)return Dt.getBuiltinModule(e)}return TT(e)},Qn=Dt,{execFileSync:YT}=Ic("node:child_process"),$o=Ic("node:fs"),DT=Ic("node:tty"),$T=[161,161,164,164,167,168,170,170,173,174,176,180,182,186,188,191,198,198,208,208,215,216,222,225,230,230,232,234,236,237,240,240,242,243,247,250,252,252,254,254,257,257,273,273,275,275,283,283,294,295,299,299,305,307,312,312,319,322,324,324,328,331,333,333,338,339,358,359,363,363,462,462,464,464,466,466,468,468,470,470,472,472,474,474,476,476,593,593,609,609,708,708,711,711,713,715,717,717,720,720,728,731,733,733,735,735,768,879,913,929,931,937,945,961,963,969,1025,1025,1040,1103,1105,1105,8208,8208,8211,8214,8216,8217,8220,8221,8224,8226,8228,8231,8240,8240,8242,8243,8245,8245,8251,8251,8254,8254,8308,8308,8319,8319,8321,8324,8364,8364,8451,8451,8453,8453,8457,8457,8467,8467,8470,8470,8481,8482,8486,8486,8491,8491,8531,8532,8539,8542,8544,8555,8560,8569,8585,8585,8592,8601,8632,8633,8658,8658,8660,8660,8679,8679,8704,8704,8706,8707,8711,8712,8715,8715,8719,8719,8721,8721,8725,8725,8730,8730,8733,8736,8739,8739,8741,8741,8743,8748,8750,8750,8756,8759,8764,8765,8776,8776,8780,8780,8786,8786,8800,8801,8804,8807,8810,8811,8814,8815,8834,8835,8838,8839,8853,8853,8857,8857,8869,8869,8895,8895,8978,8978,9312,9449,9451,9547,9552,9587,9600,9615,9618,9621,9632,9633,9635,9641,9650,9651,9654,9655,9660,9661,9664,9665,9670,9672,9675,9675,9678,9681,9698,9701,9711,9711,9733,9734,9737,9737,9742,9743,9756,9756,9758,9758,9792,9792,9794,9794,9824,9825,9827,9829,9831,9834,9836,9837,9839,9839,9886,9887,9919,9919,9926,9933,9935,9939,9941,9953,9955,9955,9960,9961,9963,9969,9972,9972,9974,9977,9979,9980,9982,9983,10045,10045,10102,10111,11094,11097,12872,12879,57344,63743,65024,65039,65533,65533,127232,127242,127248,127277,127280,127337,127344,127373,127375,127376,127387,127404,917760,917999,983040,1048573,1048576,1114109],ET=12288,BT=65510,RT=[12288,12288,65281,65376,65504,65510],OT=8361,JT=65518,PT=[8361,8361,65377,65470,65474,65479,65482,65487,65490,65495,65498,65500,65512,65518],NT=32,ZT=10630,AT=[32,126,162,163,165,166,172,172,175,175,10214,10221,10629,10630],MT=4352,HT=262141,oy=[4352,4447,8986,8987,9001,9002,9193,9196,9200,9200,9203,9203,9725,9726,9748,9749,9776,9783,9800,9811,9855,9855,9866,9871,9875,9875,9889,9889,9898,9899,9917,9918,9924,9925,9934,9934,9940,9940,9962,9962,9970,9971,9973,9973,9978,9978,9981,9981,9989,9989,9994,9995,10024,10024,10060,10060,10062,10062,10067,10069,10071,10071,10133,10135,10160,10160,10175,10175,11035,11036,11088,11088,11093,11093,11904,11929,11931,12019,12032,12245,12272,12287,12289,12350,12353,12438,12441,12543,12549,12591,12593,12686,12688,12773,12783,12830,12832,12871,12880,42124,42128,42182,43360,43388,44032,55203,63744,64255,65040,65049,65072,65106,65108,65126,65128,65131,94176,94180,94192,94198,94208,101589,101631,101662,101760,101874,110576,110579,110581,110587,110589,110590,110592,110882,110898,110898,110928,110930,110933,110933,110948,110951,110960,111355,119552,119638,119648,119670,126980,126980,127183,127183,127374,127374,127377,127386,127488,127490,127504,127547,127552,127560,127568,127569,127584,127589,127744,127776,127789,127797,127799,127868,127870,127891,127904,127946,127951,127955,127968,127984,127988,127988,127992,128062,128064,128064,128066,128252,128255,128317,128331,128334,128336,128359,128378,128378,128405,128406,128420,128420,128507,128591,128640,128709,128716,128716,128720,128722,128725,128728,128732,128735,128747,128748,128756,128764,128992,129003,129008,129008,129292,129338,129340,129349,129351,129535,129648,129660,129664,129674,129678,129734,129736,129736,129741,129756,129759,129770,129775,129784,131072,196605,196608,262141],ua=(e,i)=>{let n=0,t=Math.floor(e.length/2)-1;for(;n<=t;){const o=Math.floor((n+t)/2),a=o*2;if(i<e[a])t=o-1;else if(i>e[a+1])n=o+1;else return!0}return!1},Jg=19968,[IT,XT]=_T(oy);function _T(e){let i=e[0],n=e[1];for(let t=0;t<e.length;t+=2){const o=e[t],a=e[t+1];if(Jg>=o&&Jg<=a)return[o,a];a-o>n-i&&(i=o,n=a)}return[i,n]}const FT=e=>e<161||e>1114109?!1:ua($T,e),WT=e=>e<ET||e>BT?!1:ua(RT,e),GT=e=>e<OT||e>JT?!1:ua(PT,e),QT=e=>e<NT||e>ZT?!1:ua(AT,e),zT=e=>e>=IT&&e<=XT?!0:e<MT||e>HT?!1:ua(oy,e);function KT(e){return FT(e)?"ambiguous":WT(e)?"fullwidth":GT(e)?"halfwidth":QT(e)?"narrow":zT(e)?"wide":"neutral"}function VT(e){if(!Number.isSafeInteger(e))throw new TypeError(`Expected a code point, got \`${typeof e}\`.`)}function ay(e){return VT(e),KT(e)}const sy=String.raw,Pg=sy`\p{Emoji}(?:\p{EMod}|[\u{E0020}-\u{E007E}]+\u{E007F}|\uFE0F?\u20E3?)`,UT=()=>new RegExp(sy`\p{RI}{2}|(?)${Pg}(?:\u200D${Pg})*`,"gu"),to=new Set(["\x1B",""]),$s="\x07",ry="[",Xc="m",Qo="]8;;",qT=39,e2=/[\u200B\uFEFF\u2060-\u2064]/g,i2=new RegExp(`(?:\\${ry}(?<code>\\d+)m|\\${Qo}(?<uri>.*)${$s})`),n2=Object.freeze(new Map([[0,0],[1,22],[2,22],[3,23],[4,24],[7,27],[8,28],[9,29],[30,39],[31,39],[32,39],[33,39],[34,39],[35,39],[36,39],[37,39],[40,49],[41,49],[42,49],[43,49],[44,49],[45,49],[46,49],[47,49],[90,39]])),t2=/^[ \t]*(?:\r\n|\r|\n)/,o2=/(?:\r\n|\r|\n)[ \t]*$/,a2=/^(?:[\r\n]|$)/,s2=/(?:\r\n|\r|\n)([ \t]*)(?:[^ \t\r\n]|$)/,r2=/^[ \t]*[\r\n][ \t\r\n]*$/,u2=/\r\n|\n|\r/g,uy=/[\u001B\u009B](?:[[()#;?]{0,10}(?:\d{1,4}(?:;\d{0,4})*)?[0-9A-ORZcf-nqry=><]|\]8;;[^\u0007\u001B]{0,100}(?:\u0007|\u001B\\))/g,Ya=/[\u0000-\u0008\n-\u001F\u007F-\u009F]{1,1000}/y,c2=UT(),Ng=new Map,l2=e=>[e.ambiguousIsNarrow?1:0,e.control,e.fullWidth,e.regular,e.wide].join("|"),d2=e=>{const i=l2(e.width);let n=Ng.get(i);return n||(n=new Map,Ng.set(i,n)),n},Da=new RegExp(uy.source,"y"),Tr=new RegExp(c2.source,"uy"),$a=/(?:[\u0020-\u007E\u00A0-\u00FF](?!\uFE0F)){1,1000}/y,cy=e=>e>=32&&e<=126?"latin":e===8203||e===8204||e===8205||e===8288?"zero":e<=31||e>=127&&e<=159?"control":e>=160&&e<=255||e>=9472&&e<=9599?"latin":e>=4352&&e<=4607||e>=11904&&e<=40959||e>=44032&&e<=55215||e>=63744&&e<=64255||e>=65280&&e<=65519&&!(e>=65377&&e<=65439)||e>=12352&&e<=12543?"wide":e===8230?"latin":"other",g2=(e,i)=>{const n=d2(i),t=Math.floor(e/65536),o=e%65536;let a=n.get(t);if(a||(a=new Map,n.set(t,a)),a.has(o))return a.get(o);let s;switch(cy(e)){case"control":{s=i.width.control;break}case"latin":{s=i.width.regular;break}case"wide":{s=i.width.wide;break}case"zero":{s=0;break}default:switch(ay(e)){case"ambiguous":{s=i.width.ambiguousIsNarrow?i.width.regular:i.width.wide;break}case"fullwidth":{s=i.width.fullWidth;break}case"wide":{s=i.width.wide;break}default:s=i.width.regular}}return a.set(o,s),s},h2=e=>e>=768&&e<=879||e>=6832&&e<=6911||e>=7616&&e<=7679||e>=8400&&e<=8447||e>=65056&&e<=65071||e>=917760&&e<=917999||e>=65024&&e<=65039||e>=3633&&e<=3642||e>=3655&&e<=3662||e>=3761&&e<=3769||e>=3771&&e<=3772||e>=3784&&e<=3789||e>=2304&&e<=2307||e>=2362&&e<=2383||e>=2385&&e<=2391||e>=2402&&e<=2403||e>=2433&&e<=2435||e>=2492&&e<=2500||e>=2509&&e<=2509||e>=2561&&e<=2563||e>=2620&&e<=2637||e>=1611&&e<=1631||e>=1648&&e<=1648||e>=1750&&e<=1773||e>=2276&&e<=2302||e>=1425&&e<=1469||e>=1471&&e<=1471||e>=1473&&e<=1474||e>=1476&&e<=1477||e>=1479&&e<=1479||e>=3893&&e<=3893||e>=3895&&e<=3895||e>=3897&&e<=3897||e>=3953&&e<=3966||e>=3968&&e<=3972||e>=3974&&e<=3975?!0:e>=768&&e<=777||e>=803&&e<=803,Ju=(e,i={})=>{if(!e||e.length===0)return{ellipsed:!1,index:0,truncated:!1,width:0};const n={truncation:{countAnsiEscapeCodes:i.countAnsiEscapeCodes??!1,ellipsis:i.ellipsis??"",ellipsisWidth:i.ellipsisWidth??(i.ellipsis?Ju(i.ellipsis,{...i,ellipsis:"",ellipsisWidth:0,limit:Number.POSITIVE_INFINITY}).width:0),limit:i.limit??Number.POSITIVE_INFINITY},width:{ambiguousIsNarrow:i.ambiguousIsNarrow??!1,ansi:i.ansiWidth??0,control:i.controlWidth??0,emoji:i.emojiWidth??2,fullWidth:i.fullWidth??2,halfWidth:i.halfWidth??1,regular:i.regularWidth??1,tab:i.tabWidth??8,wide:i.wideWidth??2}},t=Math.max(0,n.truncation.limit-n.truncation.ellipsisWidth),{length:o}=e,a=o>1e4;let s=0,r=0,u=o,c=!1;const l=e.includes("\x1B")||e.includes("");for(;s<o;){if(l&&(e[s]==="\x1B"||e[s]==="")){if(e.startsWith("\x1B]8;;",s)){const y="\x1B]8;;\x07",b=y.length,m=e.indexOf("\x07",s+5);if(m!==-1){const j=e.indexOf(y,m+1);if(j!==-1){const x=j+b,$=e.slice(m+1,j).replace(uy,""),T=Ju($,{ambiguousIsNarrow:n.width.ambiguousIsNarrow,ansiWidth:n.width.ansi,controlWidth:n.width.control,countAnsiEscapeCodes:!1,ellipsis:n.truncation.ellipsis,ellipsisWidth:n.truncation.ellipsisWidth,emojiWidth:n.width.emoji,fullWidth:n.width.fullWidth,halfWidth:n.width.halfWidth,limit:Math.max(0,t-r),regularWidth:n.width.regular,tabWidth:n.width.tab,wideWidth:n.width.wide}),B=T.width;if(T.truncated)c=!0,u=Math.min(u,s);else if(r+B>t&&(u=Math.min(u,s),c=!0,r+B>n.truncation.limit))break;if(r+=B,s=x,c&&r>=n.truncation.limit)break;continue}}}if(Da.lastIndex=s,Da.test(e)){const y=Da.lastIndex-s,b=n.truncation.countAnsiEscapeCodes?y:n.width.ansi;if(r+b>t&&(u=Math.min(u,s),r+b>n.truncation.limit)){c=!0;break}r+=b,s=Da.lastIndex;continue}}const h=e.codePointAt(s);if(h===8203||h===65279||h>=8288&&h<=8292){s+=1;continue}if(h===9){if(r+n.width.tab>t&&(u=Math.min(u,s),r+n.width.tab>n.truncation.limit)){c=!0;break}r+=n.width.tab,s+=1;continue}if($a.lastIndex=s,$a.test(e)){const y=($a.lastIndex-s)*n.width.regular;if(r+y>t){const b=n.width.regular>0?Math.floor((t-r)/n.width.regular):0;if(u=Math.min(u,s+b),r+y>n.truncation.limit){c=!0;break}}r+=y,s=$a.lastIndex;continue}if((h<=31||h>=127&&h<=159)&&(Ya.lastIndex=s,Ya.test(e))){const y=(Ya.lastIndex-s)*n.width.control;if(r+y>t){const b=n.width.control>0?Math.floor((t-r)/n.width.control):0;if(u=Math.min(u,s+b),r+y>n.truncation.limit){c=!0;break}}r+=y,s=Ya.lastIndex;continue}if(Tr.lastIndex=s,Tr.test(e)){if(r+n.width.emoji>t&&(u=Math.min(u,s),r+n.width.emoji>n.truncation.limit)){c=!0;break}r+=n.width.emoji,s=Tr.lastIndex;continue}const p=e.codePointAt(s)??0;if(h2(p)){s+=p>65535?2:1;continue}let v;if(a)v=g2(p,n);else switch(cy(p)){case"control":{v=n.width.control;break}case"latin":{v=n.width.regular;break}case"wide":{v=n.width.wide;break}case"zero":{v=0;break}default:switch(ay(p)){case"ambiguous":{v=n.width.ambiguousIsNarrow?n.width.regular:n.width.wide;break}case"fullwidth":{v=n.width.fullWidth;break}case"wide":{v=n.width.wide;break}default:v=n.width.regular}}if(r+v>t&&(u=Math.min(u,s),r+v>n.truncation.limit)){c=!0;break}r+=v,s+=p>65535?2:1}let d=r,g=!1;return c&&n.truncation.limit>=n.truncation.ellipsisWidth&&(d=n.truncation.limit,g=!0),{ellipsed:g,index:c?u:o,truncated:c,width:d}},Cn=(e,i={})=>Ju(e,{...i,ellipsis:"",ellipsisWidth:0,limit:Number.POSITIVE_INFINITY}).width,p2=new Uint8Array(128),f2=new Uint8Array(128),v2=new Uint8Array(128);for(let e=0;e<128;e++)p2[e]=e>=65&&e<=90?1:0,f2[e]=e>=97&&e<=122?1:0,v2[e]=e>=48&&e<=57?1:0;function y2(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Yr,Zg;function m2(){if(Zg)return Yr;Zg=1,Yr=i;function e(t){return t instanceof Buffer?Buffer.from(t):new t.constructor(t.buffer.slice(),t.byteOffset,t.length)}function i(t){if(t=t||{},t.circles)return n(t);const o=new Map;if(o.set(Date,c=>new Date(c)),o.set(Map,(c,l)=>new Map(s(Array.from(c),l))),o.set(Set,(c,l)=>new Set(s(Array.from(c),l))),t.constructorHandlers)for(const c of t.constructorHandlers)o.set(c[0],c[1]);let a=null;return t.proto?u:r;function s(c,l){const d=Object.keys(c),g=new Array(d.length);for(let h=0;h<d.length;h++){const p=d[h],v=c[p];typeof v!="object"||v===null?g[p]=v:v.constructor!==Object&&(a=o.get(v.constructor))?g[p]=a(v,l):ArrayBuffer.isView(v)?g[p]=e(v):g[p]=l(v)}return g}function r(c){if(typeof c!="object"||c===null)return c;if(Array.isArray(c))return s(c,r);if(c.constructor!==Object&&(a=o.get(c.constructor)))return a(c,r);const l={};for(const d in c){if(Object.hasOwnProperty.call(c,d)===!1)continue;const g=c[d];typeof g!="object"||g===null?l[d]=g:g.constructor!==Object&&(a=o.get(g.constructor))?l[d]=a(g,r):ArrayBuffer.isView(g)?l[d]=e(g):l[d]=r(g)}return l}function u(c){if(typeof c!="object"||c===null)return c;if(Array.isArray(c))return s(c,u);if(c.constructor!==Object&&(a=o.get(c.constructor)))return a(c,u);const l={};for(const d in c){const g=c[d];typeof g!="object"||g===null?l[d]=g:g.constructor!==Object&&(a=o.get(g.constructor))?l[d]=a(g,u):ArrayBuffer.isView(g)?l[d]=e(g):l[d]=u(g)}return l}}function n(t){const o=[],a=[],s=new Map;if(s.set(Date,d=>new Date(d)),s.set(Map,(d,g)=>new Map(u(Array.from(d),g))),s.set(Set,(d,g)=>new Set(u(Array.from(d),g))),t.constructorHandlers)for(const d of t.constructorHandlers)s.set(d[0],d[1]);let r=null;return t.proto?l:c;function u(d,g){const h=Object.keys(d),p=new Array(h.length);for(let v=0;v<h.length;v++){const y=h[v],b=d[y];if(typeof b!="object"||b===null)p[y]=b;else if(b.constructor!==Object&&(r=s.get(b.constructor)))p[y]=r(b,g);else if(ArrayBuffer.isView(b))p[y]=e(b);else{const m=o.indexOf(b);m!==-1?p[y]=a[m]:p[y]=g(b)}}return p}function c(d){if(typeof d!="object"||d===null)return d;if(Array.isArray(d))return u(d,c);if(d.constructor!==Object&&(r=s.get(d.constructor)))return r(d,c);const g={};o.push(d),a.push(g);for(const h in d){if(Object.hasOwnProperty.call(d,h)===!1)continue;const p=d[h];if(typeof p!="object"||p===null)g[h]=p;else if(p.constructor!==Object&&(r=s.get(p.constructor)))g[h]=r(p,c);else if(ArrayBuffer.isView(p))g[h]=e(p);else{const v=o.indexOf(p);v!==-1?g[h]=a[v]:g[h]=c(p)}}return o.pop(),a.pop(),g}function l(d){if(typeof d!="object"||d===null)return d;if(Array.isArray(d))return u(d,l);if(d.constructor!==Object&&(r=s.get(d.constructor)))return r(d,l);const g={};o.push(d),a.push(g);for(const h in d){const p=d[h];if(typeof p!="object"||p===null)g[h]=p;else if(p.constructor!==Object&&(r=s.get(p.constructor)))g[h]=r(p,l);else if(ArrayBuffer.isView(p))g[h]=e(p);else{const v=o.indexOf(p);v!==-1?g[h]=a[v]:g[h]=l(p)}}return o.pop(),a.pop(),g}}return Yr}var b2=m2();const ly=y2(b2);ly();var dy=typeof global=="object"&&global&&global.Object===Object&&global,w2=typeof self=="object"&&self&&self.Object===Object&&self,Pe=dy||w2||Function("return this")(),He=Pe.Symbol,gy=Object.prototype,k2=gy.hasOwnProperty,j2=gy.toString,ko=He?He.toStringTag:void 0;function S2(e){var i=k2.call(e,ko),n=e[ko];try{e[ko]=void 0;var t=!0}catch{}var o=j2.call(e);return t&&(i?e[ko]=n:delete e[ko]),o}var C2=Object.prototype,L2=C2.toString;function x2(e){return L2.call(e)}var T2="[object Null]",Y2="[object Undefined]",Ag=He?He.toStringTag:void 0;function Ge(e){return e==null?e===void 0?Y2:T2:Ag&&Ag in Object(e)?S2(e):x2(e)}function De(e){return e!=null&&typeof e=="object"}var D2="[object Symbol]";function ti(e){return typeof e=="symbol"||De(e)&&Ge(e)==D2}var $2=NaN;function Mg(e){return typeof e=="number"?e:ti(e)?$2:+e}function Le(e,i){for(var n=-1,t=e==null?0:e.length,o=Array(t);++n<t;)o[n]=i(e[n],n,e);return o}var ne=Array.isArray,Hg=He?He.prototype:void 0,Ig=Hg?Hg.toString:void 0;function oi(e){if(typeof e=="string")return e;if(ne(e))return Le(e,oi)+"";if(ti(e))return Ig?Ig.call(e):"";var i=e+"";return i=="0"&&1/e==-1/0?"-0":i}function Es(e,i){return function(n,t){var o;if(n===void 0&&t===void 0)return i;if(n!==void 0&&(o=n),t!==void 0){if(o===void 0)return t;typeof n=="string"||typeof t=="string"?(n=oi(n),t=oi(t)):(n=Mg(n),t=Mg(t)),o=e(n,t)}return o}}var E2=Es(function(e,i){return e+i},0),B2=/\s/;function hy(e){for(var i=e.length;i--&&B2.test(e.charAt(i)););return i}var R2=/^\s+/;function py(e){return e&&e.slice(0,hy(e)+1).replace(R2,"")}function Te(e){var i=typeof e;return e!=null&&(i=="object"||i=="function")}var Xg=NaN,O2=/^[-+]0x[0-9a-f]+$/i,J2=/^0b[01]+$/i,P2=/^0o[0-7]+$/i,N2=parseInt;function hi(e){if(typeof e=="number")return e;if(ti(e))return Xg;if(Te(e)){var i=typeof e.valueOf=="function"?e.valueOf():e;e=Te(i)?i+"":i}if(typeof e!="string")return e===0?e:+e;e=py(e);var n=J2.test(e);return n||P2.test(e)?N2(e.slice(2),n?2:8):O2.test(e)?Xg:+e}var _g=1/0,Z2=17976931348623157e292;function Ki(e){if(!e)return e===0?e:0;if(e=hi(e),e===_g||e===-_g){var i=e<0?-1:1;return i*Z2}return e===e?e:0}function ae(e){var i=Ki(e),n=i%1;return i===i?n?i-n:i:0}var A2="Expected a function";function M2(e,i){if(typeof i!="function")throw new TypeError(A2);return e=ae(e),function(){if(--e<1)return i.apply(this,arguments)}}function qe(e){return e}var H2="[object AsyncFunction]",I2="[object Function]",X2="[object GeneratorFunction]",_2="[object Proxy]";function tn(e){if(!Te(e))return!1;var i=Ge(e);return i==I2||i==X2||i==H2||i==_2}var _a=Pe["__core-js_shared__"],Fg=(function(){var e=/[^.]+$/.exec(_a&&_a.keys&&_a.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""})();function F2(e){return!!Fg&&Fg in e}var W2=Function.prototype,G2=W2.toString;function dt(e){if(e!=null){try{return G2.call(e)}catch{}try{return e+""}catch{}}return""}var Q2=/[\\^$.*+?()[\]{}|]/g,z2=/^\[object .+?Constructor\]$/,K2=Function.prototype,V2=Object.prototype,U2=K2.toString,q2=V2.hasOwnProperty,eY=RegExp("^"+U2.call(q2).replace(Q2,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function fy(e){if(!Te(e)||F2(e))return!1;var i=tn(e)?eY:z2;return i.test(dt(e))}function iY(e,i){return e?.[i]}function gt(e,i){var n=iY(e,i);return fy(n)?n:void 0}var zo=gt(Pe,"WeakMap"),rs=zo&&new zo,vy=rs?function(e,i){return rs.set(e,i),e}:qe,Wg=Object.create,oo=(function(){function e(){}return function(i){if(!Te(i))return{};if(Wg)return Wg(i);e.prototype=i;var n=new e;return e.prototype=void 0,n}})();function Ko(e){return function(){var i=arguments;switch(i.length){case 0:return new e;case 1:return new e(i[0]);case 2:return new e(i[0],i[1]);case 3:return new e(i[0],i[1],i[2]);case 4:return new e(i[0],i[1],i[2],i[3]);case 5:return new e(i[0],i[1],i[2],i[3],i[4]);case 6:return new e(i[0],i[1],i[2],i[3],i[4],i[5]);case 7:return new e(i[0],i[1],i[2],i[3],i[4],i[5],i[6])}var n=oo(e.prototype),t=e.apply(n,i);return Te(t)?t:n}}var nY=1;function tY(e,i,n){var t=i&nY,o=Ko(e);function a(){var s=this&&this!==Pe&&this instanceof a?o:e;return s.apply(t?n:this,arguments)}return a}function ai(e,i,n){switch(n.length){case 0:return e.call(i);case 1:return e.call(i,n[0]);case 2:return e.call(i,n[0],n[1]);case 3:return e.call(i,n[0],n[1],n[2])}return e.apply(i,n)}var oY=Math.max;function yy(e,i,n,t){for(var o=-1,a=e.length,s=n.length,r=-1,u=i.length,c=oY(a-s,0),l=Array(u+c),d=!t;++r<u;)l[r]=i[r];for(;++o<s;)(d||o<a)&&(l[n[o]]=e[o]);for(;c--;)l[r++]=e[o++];return l}var aY=Math.max;function my(e,i,n,t){for(var o=-1,a=e.length,s=-1,r=n.length,u=-1,c=i.length,l=aY(a-r,0),d=Array(l+c),g=!t;++o<l;)d[o]=e[o];for(var h=o;++u<c;)d[h+u]=i[u];for(;++s<r;)(g||o<a)&&(d[h+n[s]]=e[o++]);return d}function sY(e,i){for(var n=e.length,t=0;n--;)e[n]===i&&++t;return t}function Bs(){}var rY=4294967295;function le(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=rY,this.__views__=[]}le.prototype=oo(Bs.prototype);le.prototype.constructor=le;function _c(){}var Fc=rs?function(e){return rs.get(e)}:_c,Mt={},uY=Object.prototype,cY=uY.hasOwnProperty;function Fa(e){for(var i=e.name+"",n=Mt[i],t=cY.call(Mt,i)?n.length:0;t--;){var o=n[t],a=o.func;if(a==null||a==e)return o.name}return i}function fi(e,i){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!i,this.__index__=0,this.__values__=void 0}fi.prototype=oo(Bs.prototype);fi.prototype.constructor=fi;function Ue(e,i){var n=-1,t=e.length;for(i||(i=Array(t));++n<t;)i[n]=e[n];return i}function by(e){if(e instanceof le)return e.clone();var i=new fi(e.__wrapped__,e.__chain__);return i.__actions__=Ue(e.__actions__),i.__index__=e.__index__,i.__values__=e.__values__,i}var lY=Object.prototype,dY=lY.hasOwnProperty;function f(e){if(De(e)&&!ne(e)&&!(e instanceof le)){if(e instanceof fi)return e;if(dY.call(e,"__wrapped__"))return by(e)}return new fi(e)}f.prototype=Bs.prototype;f.prototype.constructor=f;function Pu(e){var i=Fa(e),n=f[i];if(typeof n!="function"||!(i in le.prototype))return!1;if(e===n)return!0;var t=Fc(n);return!!t&&e===t[0]}var gY=800,hY=16,pY=Date.now;function wy(e){var i=0,n=0;return function(){var t=pY(),o=hY-(t-n);if(n=t,o>0){if(++i>=gY)return arguments[0]}else i=0;return e.apply(void 0,arguments)}}var ky=wy(vy),fY=/\{\n\/\* \[wrapped with (.+)\] \*/,vY=/,? & /;function yY(e){var i=e.match(fY);return i?i[1].split(vY):[]}var mY=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/;function bY(e,i){var n=i.length;if(!n)return e;var t=n-1;return i[t]=(n>1?"& ":"")+i[t],i=i.join(n>2?", ":" "),e.replace(mY,`{
|
|
119
|
+
`),n.lastGlobal=i,n.perTip[o.id]=i,jT(n))},LT=e=>({afterCommand:async i=>{const n=process.argv.slice(2),t=n[0]??"",o=process.exitCode===void 0||process.exitCode===0;e&&e();const a=i.workspaceRoot??process.cwd();CT({args:n,command:t,hasDockerfile:L(w(a,"Dockerfile")),hasDockerignore:L(w(a,".dockerignore")),hasVercelConfig:L(w(a,"vercel.json"))||L(w(a,".vercel")),hasVisConfig:i.visConfig!==void 0&&Object.keys(i.visConfig).length>0,success:o}),wT({success:o,visConfig:i.visConfig}),fT({command:t,success:o,visConfig:i.visConfig})},name:"post-command"});let xT;const TT=e=>(xT??=xi(import.meta.url))(e),Dt=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,Ic=e=>{if(typeof Dt<"u"&&Dt.versions&&Dt.versions.node){const[i,n]=Dt.versions.node.split(".").map(Number);if(i>22||i===22&&n>=3||i===20&&n>=16)return Dt.getBuiltinModule(e)}return TT(e)},Qn=Dt,{execFileSync:YT}=Ic("node:child_process"),$o=Ic("node:fs"),DT=Ic("node:tty"),$T=[161,161,164,164,167,168,170,170,173,174,176,180,182,186,188,191,198,198,208,208,215,216,222,225,230,230,232,234,236,237,240,240,242,243,247,250,252,252,254,254,257,257,273,273,275,275,283,283,294,295,299,299,305,307,312,312,319,322,324,324,328,331,333,333,338,339,358,359,363,363,462,462,464,464,466,466,468,468,470,470,472,472,474,474,476,476,593,593,609,609,708,708,711,711,713,715,717,717,720,720,728,731,733,733,735,735,768,879,913,929,931,937,945,961,963,969,1025,1025,1040,1103,1105,1105,8208,8208,8211,8214,8216,8217,8220,8221,8224,8226,8228,8231,8240,8240,8242,8243,8245,8245,8251,8251,8254,8254,8308,8308,8319,8319,8321,8324,8364,8364,8451,8451,8453,8453,8457,8457,8467,8467,8470,8470,8481,8482,8486,8486,8491,8491,8531,8532,8539,8542,8544,8555,8560,8569,8585,8585,8592,8601,8632,8633,8658,8658,8660,8660,8679,8679,8704,8704,8706,8707,8711,8712,8715,8715,8719,8719,8721,8721,8725,8725,8730,8730,8733,8736,8739,8739,8741,8741,8743,8748,8750,8750,8756,8759,8764,8765,8776,8776,8780,8780,8786,8786,8800,8801,8804,8807,8810,8811,8814,8815,8834,8835,8838,8839,8853,8853,8857,8857,8869,8869,8895,8895,8978,8978,9312,9449,9451,9547,9552,9587,9600,9615,9618,9621,9632,9633,9635,9641,9650,9651,9654,9655,9660,9661,9664,9665,9670,9672,9675,9675,9678,9681,9698,9701,9711,9711,9733,9734,9737,9737,9742,9743,9756,9756,9758,9758,9792,9792,9794,9794,9824,9825,9827,9829,9831,9834,9836,9837,9839,9839,9886,9887,9919,9919,9926,9933,9935,9939,9941,9953,9955,9955,9960,9961,9963,9969,9972,9972,9974,9977,9979,9980,9982,9983,10045,10045,10102,10111,11094,11097,12872,12879,57344,63743,65024,65039,65533,65533,127232,127242,127248,127277,127280,127337,127344,127373,127375,127376,127387,127404,917760,917999,983040,1048573,1048576,1114109],ET=12288,BT=65510,RT=[12288,12288,65281,65376,65504,65510],OT=8361,JT=65518,PT=[8361,8361,65377,65470,65474,65479,65482,65487,65490,65495,65498,65500,65512,65518],NT=32,ZT=10630,AT=[32,126,162,163,165,166,172,172,175,175,10214,10221,10629,10630],MT=4352,HT=262141,oy=[4352,4447,8986,8987,9001,9002,9193,9196,9200,9200,9203,9203,9725,9726,9748,9749,9776,9783,9800,9811,9855,9855,9866,9871,9875,9875,9889,9889,9898,9899,9917,9918,9924,9925,9934,9934,9940,9940,9962,9962,9970,9971,9973,9973,9978,9978,9981,9981,9989,9989,9994,9995,10024,10024,10060,10060,10062,10062,10067,10069,10071,10071,10133,10135,10160,10160,10175,10175,11035,11036,11088,11088,11093,11093,11904,11929,11931,12019,12032,12245,12272,12287,12289,12350,12353,12438,12441,12543,12549,12591,12593,12686,12688,12773,12783,12830,12832,12871,12880,42124,42128,42182,43360,43388,44032,55203,63744,64255,65040,65049,65072,65106,65108,65126,65128,65131,94176,94180,94192,94198,94208,101589,101631,101662,101760,101874,110576,110579,110581,110587,110589,110590,110592,110882,110898,110898,110928,110930,110933,110933,110948,110951,110960,111355,119552,119638,119648,119670,126980,126980,127183,127183,127374,127374,127377,127386,127488,127490,127504,127547,127552,127560,127568,127569,127584,127589,127744,127776,127789,127797,127799,127868,127870,127891,127904,127946,127951,127955,127968,127984,127988,127988,127992,128062,128064,128064,128066,128252,128255,128317,128331,128334,128336,128359,128378,128378,128405,128406,128420,128420,128507,128591,128640,128709,128716,128716,128720,128722,128725,128728,128732,128735,128747,128748,128756,128764,128992,129003,129008,129008,129292,129338,129340,129349,129351,129535,129648,129660,129664,129674,129678,129734,129736,129736,129741,129756,129759,129770,129775,129784,131072,196605,196608,262141],ua=(e,i)=>{let n=0,t=Math.floor(e.length/2)-1;for(;n<=t;){const o=Math.floor((n+t)/2),a=o*2;if(i<e[a])t=o-1;else if(i>e[a+1])n=o+1;else return!0}return!1},Jg=19968,[IT,XT]=_T(oy);function _T(e){let i=e[0],n=e[1];for(let t=0;t<e.length;t+=2){const o=e[t],a=e[t+1];if(Jg>=o&&Jg<=a)return[o,a];a-o>n-i&&(i=o,n=a)}return[i,n]}const FT=e=>e<161||e>1114109?!1:ua($T,e),WT=e=>e<ET||e>BT?!1:ua(RT,e),GT=e=>e<OT||e>JT?!1:ua(PT,e),QT=e=>e<NT||e>ZT?!1:ua(AT,e),zT=e=>e>=IT&&e<=XT?!0:e<MT||e>HT?!1:ua(oy,e);function KT(e){return FT(e)?"ambiguous":WT(e)?"fullwidth":GT(e)?"halfwidth":QT(e)?"narrow":zT(e)?"wide":"neutral"}function VT(e){if(!Number.isSafeInteger(e))throw new TypeError(`Expected a code point, got \`${typeof e}\`.`)}function ay(e){return VT(e),KT(e)}const sy=String.raw,Pg=sy`\p{Emoji}(?:\p{EMod}|[\u{E0020}-\u{E007E}]+\u{E007F}|\uFE0F?\u20E3?)`,UT=()=>new RegExp(sy`\p{RI}{2}|(?)${Pg}(?:\u200D${Pg})*`,"gu"),to=new Set(["\x1B",""]),$s="\x07",ry="[",Xc="m",Qo="]8;;",qT=39,e2=/[\u200B\uFEFF\u2060-\u2064]/g,i2=new RegExp(`(?:\\${ry}(?<code>\\d+)m|\\${Qo}(?<uri>.*)${$s})`),n2=Object.freeze(new Map([[0,0],[1,22],[2,22],[3,23],[4,24],[7,27],[8,28],[9,29],[30,39],[31,39],[32,39],[33,39],[34,39],[35,39],[36,39],[37,39],[40,49],[41,49],[42,49],[43,49],[44,49],[45,49],[46,49],[47,49],[90,39]])),t2=/^[ \t]*(?:\r\n|\r|\n)/,o2=/(?:\r\n|\r|\n)[ \t]*$/,a2=/^(?:[\r\n]|$)/,s2=/(?:\r\n|\r|\n)([ \t]*)(?:[^ \t\r\n]|$)/,r2=/^[ \t]*[\r\n][ \t\r\n]*$/,u2=/\r\n|\n|\r/g,uy=/[\u001B\u009B](?:[[()#;?]{0,10}(?:\d{1,4}(?:;\d{0,4})*)?[0-9A-ORZcf-nqry=><]|\]8;;[^\u0007\u001B]{0,100}(?:\u0007|\u001B\\))/g,Ya=/[\u0000-\u0008\n-\u001F\u007F-\u009F]{1,1000}/y,c2=UT(),Ng=new Map,l2=e=>[e.ambiguousIsNarrow?1:0,e.control,e.fullWidth,e.regular,e.wide].join("|"),d2=e=>{const i=l2(e.width);let n=Ng.get(i);return n||(n=new Map,Ng.set(i,n)),n},Da=new RegExp(uy.source,"y"),Tr=new RegExp(c2.source,"uy"),$a=/(?:[\u0020-\u007E\u00A0-\u00FF](?!\uFE0F)){1,1000}/y,cy=e=>e>=32&&e<=126?"latin":e===8203||e===8204||e===8205||e===8288?"zero":e<=31||e>=127&&e<=159?"control":e>=160&&e<=255||e>=9472&&e<=9599?"latin":e>=4352&&e<=4607||e>=11904&&e<=40959||e>=44032&&e<=55215||e>=63744&&e<=64255||e>=65280&&e<=65519&&!(e>=65377&&e<=65439)||e>=12352&&e<=12543?"wide":e===8230?"latin":"other",g2=(e,i)=>{const n=d2(i),t=Math.floor(e/65536),o=e%65536;let a=n.get(t);if(a||(a=new Map,n.set(t,a)),a.has(o))return a.get(o);let s;switch(cy(e)){case"control":{s=i.width.control;break}case"latin":{s=i.width.regular;break}case"wide":{s=i.width.wide;break}case"zero":{s=0;break}default:switch(ay(e)){case"ambiguous":{s=i.width.ambiguousIsNarrow?i.width.regular:i.width.wide;break}case"fullwidth":{s=i.width.fullWidth;break}case"wide":{s=i.width.wide;break}default:s=i.width.regular}}return a.set(o,s),s},h2=e=>e>=768&&e<=879||e>=6832&&e<=6911||e>=7616&&e<=7679||e>=8400&&e<=8447||e>=65056&&e<=65071||e>=917760&&e<=917999||e>=65024&&e<=65039||e>=3633&&e<=3642||e>=3655&&e<=3662||e>=3761&&e<=3769||e>=3771&&e<=3772||e>=3784&&e<=3789||e>=2304&&e<=2307||e>=2362&&e<=2383||e>=2385&&e<=2391||e>=2402&&e<=2403||e>=2433&&e<=2435||e>=2492&&e<=2500||e>=2509&&e<=2509||e>=2561&&e<=2563||e>=2620&&e<=2637||e>=1611&&e<=1631||e>=1648&&e<=1648||e>=1750&&e<=1773||e>=2276&&e<=2302||e>=1425&&e<=1469||e>=1471&&e<=1471||e>=1473&&e<=1474||e>=1476&&e<=1477||e>=1479&&e<=1479||e>=3893&&e<=3893||e>=3895&&e<=3895||e>=3897&&e<=3897||e>=3953&&e<=3966||e>=3968&&e<=3972||e>=3974&&e<=3975?!0:e>=768&&e<=777||e>=803&&e<=803,Ju=(e,i={})=>{if(!e||e.length===0)return{ellipsed:!1,index:0,truncated:!1,width:0};const n={truncation:{countAnsiEscapeCodes:i.countAnsiEscapeCodes??!1,ellipsis:i.ellipsis??"",ellipsisWidth:i.ellipsisWidth??(i.ellipsis?Ju(i.ellipsis,{...i,ellipsis:"",ellipsisWidth:0,limit:Number.POSITIVE_INFINITY}).width:0),limit:i.limit??Number.POSITIVE_INFINITY},width:{ambiguousIsNarrow:i.ambiguousIsNarrow??!1,ansi:i.ansiWidth??0,control:i.controlWidth??0,emoji:i.emojiWidth??2,fullWidth:i.fullWidth??2,halfWidth:i.halfWidth??1,regular:i.regularWidth??1,tab:i.tabWidth??8,wide:i.wideWidth??2}},t=Math.max(0,n.truncation.limit-n.truncation.ellipsisWidth),{length:o}=e,a=o>1e4;let s=0,r=0,u=o,c=!1;const l=e.includes("\x1B")||e.includes("");for(;s<o;){if(l&&(e[s]==="\x1B"||e[s]==="")){if(e.startsWith("\x1B]8;;",s)){const y="\x1B]8;;\x07",b=y.length,m=e.indexOf("\x07",s+5);if(m!==-1){const j=e.indexOf(y,m+1);if(j!==-1){const x=j+b,$=e.slice(m+1,j).replace(uy,""),T=Ju($,{ambiguousIsNarrow:n.width.ambiguousIsNarrow,ansiWidth:n.width.ansi,controlWidth:n.width.control,countAnsiEscapeCodes:!1,ellipsis:n.truncation.ellipsis,ellipsisWidth:n.truncation.ellipsisWidth,emojiWidth:n.width.emoji,fullWidth:n.width.fullWidth,halfWidth:n.width.halfWidth,limit:Math.max(0,t-r),regularWidth:n.width.regular,tabWidth:n.width.tab,wideWidth:n.width.wide}),B=T.width;if(T.truncated)c=!0,u=Math.min(u,s);else if(r+B>t&&(u=Math.min(u,s),c=!0,r+B>n.truncation.limit))break;if(r+=B,s=x,c&&r>=n.truncation.limit)break;continue}}}if(Da.lastIndex=s,Da.test(e)){const y=Da.lastIndex-s,b=n.truncation.countAnsiEscapeCodes?y:n.width.ansi;if(r+b>t&&(u=Math.min(u,s),r+b>n.truncation.limit)){c=!0;break}r+=b,s=Da.lastIndex;continue}}const h=e.codePointAt(s);if(h===8203||h===65279||h>=8288&&h<=8292){s+=1;continue}if(h===9){if(r+n.width.tab>t&&(u=Math.min(u,s),r+n.width.tab>n.truncation.limit)){c=!0;break}r+=n.width.tab,s+=1;continue}if($a.lastIndex=s,$a.test(e)){const y=($a.lastIndex-s)*n.width.regular;if(r+y>t){const b=n.width.regular>0?Math.floor((t-r)/n.width.regular):0;if(u=Math.min(u,s+b),r+y>n.truncation.limit){c=!0;break}}r+=y,s=$a.lastIndex;continue}if((h<=31||h>=127&&h<=159)&&(Ya.lastIndex=s,Ya.test(e))){const y=(Ya.lastIndex-s)*n.width.control;if(r+y>t){const b=n.width.control>0?Math.floor((t-r)/n.width.control):0;if(u=Math.min(u,s+b),r+y>n.truncation.limit){c=!0;break}}r+=y,s=Ya.lastIndex;continue}if(Tr.lastIndex=s,Tr.test(e)){if(r+n.width.emoji>t&&(u=Math.min(u,s),r+n.width.emoji>n.truncation.limit)){c=!0;break}r+=n.width.emoji,s=Tr.lastIndex;continue}const p=e.codePointAt(s)??0;if(h2(p)){s+=p>65535?2:1;continue}let v;if(a)v=g2(p,n);else switch(cy(p)){case"control":{v=n.width.control;break}case"latin":{v=n.width.regular;break}case"wide":{v=n.width.wide;break}case"zero":{v=0;break}default:switch(ay(p)){case"ambiguous":{v=n.width.ambiguousIsNarrow?n.width.regular:n.width.wide;break}case"fullwidth":{v=n.width.fullWidth;break}case"wide":{v=n.width.wide;break}default:v=n.width.regular}}if(r+v>t&&(u=Math.min(u,s),r+v>n.truncation.limit)){c=!0;break}r+=v,s+=p>65535?2:1}let d=r,g=!1;return c&&n.truncation.limit>=n.truncation.ellipsisWidth&&(d=n.truncation.limit,g=!0),{ellipsed:g,index:c?u:o,truncated:c,width:d}},Cn=(e,i={})=>Ju(e,{...i,ellipsis:"",ellipsisWidth:0,limit:Number.POSITIVE_INFINITY}).width,p2=new Uint8Array(128),f2=new Uint8Array(128),v2=new Uint8Array(128);for(let e=0;e<128;e++)p2[e]=e>=65&&e<=90?1:0,f2[e]=e>=97&&e<=122?1:0,v2[e]=e>=48&&e<=57?1:0;function y2(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Yr,Zg;function m2(){if(Zg)return Yr;Zg=1,Yr=i;function e(t){return t instanceof Buffer?Buffer.from(t):new t.constructor(t.buffer.slice(),t.byteOffset,t.length)}function i(t){if(t=t||{},t.circles)return n(t);const o=new Map;if(o.set(Date,c=>new Date(c)),o.set(Map,(c,l)=>new Map(s(Array.from(c),l))),o.set(Set,(c,l)=>new Set(s(Array.from(c),l))),t.constructorHandlers)for(const c of t.constructorHandlers)o.set(c[0],c[1]);let a=null;return t.proto?u:r;function s(c,l){const d=Object.keys(c),g=new Array(d.length);for(let h=0;h<d.length;h++){const p=d[h],v=c[p];typeof v!="object"||v===null?g[p]=v:v.constructor!==Object&&(a=o.get(v.constructor))?g[p]=a(v,l):ArrayBuffer.isView(v)?g[p]=e(v):g[p]=l(v)}return g}function r(c){if(typeof c!="object"||c===null)return c;if(Array.isArray(c))return s(c,r);if(c.constructor!==Object&&(a=o.get(c.constructor)))return a(c,r);const l={};for(const d in c){if(Object.hasOwnProperty.call(c,d)===!1)continue;const g=c[d];typeof g!="object"||g===null?l[d]=g:g.constructor!==Object&&(a=o.get(g.constructor))?l[d]=a(g,r):ArrayBuffer.isView(g)?l[d]=e(g):l[d]=r(g)}return l}function u(c){if(typeof c!="object"||c===null)return c;if(Array.isArray(c))return s(c,u);if(c.constructor!==Object&&(a=o.get(c.constructor)))return a(c,u);const l={};for(const d in c){const g=c[d];typeof g!="object"||g===null?l[d]=g:g.constructor!==Object&&(a=o.get(g.constructor))?l[d]=a(g,u):ArrayBuffer.isView(g)?l[d]=e(g):l[d]=u(g)}return l}}function n(t){const o=[],a=[],s=new Map;if(s.set(Date,d=>new Date(d)),s.set(Map,(d,g)=>new Map(u(Array.from(d),g))),s.set(Set,(d,g)=>new Set(u(Array.from(d),g))),t.constructorHandlers)for(const d of t.constructorHandlers)s.set(d[0],d[1]);let r=null;return t.proto?l:c;function u(d,g){const h=Object.keys(d),p=new Array(h.length);for(let v=0;v<h.length;v++){const y=h[v],b=d[y];if(typeof b!="object"||b===null)p[y]=b;else if(b.constructor!==Object&&(r=s.get(b.constructor)))p[y]=r(b,g);else if(ArrayBuffer.isView(b))p[y]=e(b);else{const m=o.indexOf(b);m!==-1?p[y]=a[m]:p[y]=g(b)}}return p}function c(d){if(typeof d!="object"||d===null)return d;if(Array.isArray(d))return u(d,c);if(d.constructor!==Object&&(r=s.get(d.constructor)))return r(d,c);const g={};o.push(d),a.push(g);for(const h in d){if(Object.hasOwnProperty.call(d,h)===!1)continue;const p=d[h];if(typeof p!="object"||p===null)g[h]=p;else if(p.constructor!==Object&&(r=s.get(p.constructor)))g[h]=r(p,c);else if(ArrayBuffer.isView(p))g[h]=e(p);else{const v=o.indexOf(p);v!==-1?g[h]=a[v]:g[h]=c(p)}}return o.pop(),a.pop(),g}function l(d){if(typeof d!="object"||d===null)return d;if(Array.isArray(d))return u(d,l);if(d.constructor!==Object&&(r=s.get(d.constructor)))return r(d,l);const g={};o.push(d),a.push(g);for(const h in d){const p=d[h];if(typeof p!="object"||p===null)g[h]=p;else if(p.constructor!==Object&&(r=s.get(p.constructor)))g[h]=r(p,l);else if(ArrayBuffer.isView(p))g[h]=e(p);else{const v=o.indexOf(p);v!==-1?g[h]=a[v]:g[h]=l(p)}}return o.pop(),a.pop(),g}}return Yr}var b2=m2();const ly=y2(b2);ly();var dy=typeof global=="object"&&global&&global.Object===Object&&global,w2=typeof self=="object"&&self&&self.Object===Object&&self,Pe=dy||w2||Function("return this")(),He=Pe.Symbol,gy=Object.prototype,k2=gy.hasOwnProperty,j2=gy.toString,ko=He?He.toStringTag:void 0;function S2(e){var i=k2.call(e,ko),n=e[ko];try{e[ko]=void 0;var t=!0}catch{}var o=j2.call(e);return t&&(i?e[ko]=n:delete e[ko]),o}var C2=Object.prototype,L2=C2.toString;function x2(e){return L2.call(e)}var T2="[object Null]",Y2="[object Undefined]",Ag=He?He.toStringTag:void 0;function Ge(e){return e==null?e===void 0?Y2:T2:Ag&&Ag in Object(e)?S2(e):x2(e)}function $e(e){return e!=null&&typeof e=="object"}var D2="[object Symbol]";function ti(e){return typeof e=="symbol"||$e(e)&&Ge(e)==D2}var $2=NaN;function Mg(e){return typeof e=="number"?e:ti(e)?$2:+e}function Le(e,i){for(var n=-1,t=e==null?0:e.length,o=Array(t);++n<t;)o[n]=i(e[n],n,e);return o}var ne=Array.isArray,Hg=He?He.prototype:void 0,Ig=Hg?Hg.toString:void 0;function oi(e){if(typeof e=="string")return e;if(ne(e))return Le(e,oi)+"";if(ti(e))return Ig?Ig.call(e):"";var i=e+"";return i=="0"&&1/e==-1/0?"-0":i}function Es(e,i){return function(n,t){var o;if(n===void 0&&t===void 0)return i;if(n!==void 0&&(o=n),t!==void 0){if(o===void 0)return t;typeof n=="string"||typeof t=="string"?(n=oi(n),t=oi(t)):(n=Mg(n),t=Mg(t)),o=e(n,t)}return o}}var E2=Es(function(e,i){return e+i},0),B2=/\s/;function hy(e){for(var i=e.length;i--&&B2.test(e.charAt(i)););return i}var R2=/^\s+/;function py(e){return e&&e.slice(0,hy(e)+1).replace(R2,"")}function Te(e){var i=typeof e;return e!=null&&(i=="object"||i=="function")}var Xg=NaN,O2=/^[-+]0x[0-9a-f]+$/i,J2=/^0b[01]+$/i,P2=/^0o[0-7]+$/i,N2=parseInt;function hi(e){if(typeof e=="number")return e;if(ti(e))return Xg;if(Te(e)){var i=typeof e.valueOf=="function"?e.valueOf():e;e=Te(i)?i+"":i}if(typeof e!="string")return e===0?e:+e;e=py(e);var n=J2.test(e);return n||P2.test(e)?N2(e.slice(2),n?2:8):O2.test(e)?Xg:+e}var _g=1/0,Z2=17976931348623157e292;function Ki(e){if(!e)return e===0?e:0;if(e=hi(e),e===_g||e===-_g){var i=e<0?-1:1;return i*Z2}return e===e?e:0}function ae(e){var i=Ki(e),n=i%1;return i===i?n?i-n:i:0}var A2="Expected a function";function M2(e,i){if(typeof i!="function")throw new TypeError(A2);return e=ae(e),function(){if(--e<1)return i.apply(this,arguments)}}function qe(e){return e}var H2="[object AsyncFunction]",I2="[object Function]",X2="[object GeneratorFunction]",_2="[object Proxy]";function tn(e){if(!Te(e))return!1;var i=Ge(e);return i==I2||i==X2||i==H2||i==_2}var _a=Pe["__core-js_shared__"],Fg=(function(){var e=/[^.]+$/.exec(_a&&_a.keys&&_a.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""})();function F2(e){return!!Fg&&Fg in e}var W2=Function.prototype,G2=W2.toString;function dt(e){if(e!=null){try{return G2.call(e)}catch{}try{return e+""}catch{}}return""}var Q2=/[\\^$.*+?()[\]{}|]/g,z2=/^\[object .+?Constructor\]$/,K2=Function.prototype,V2=Object.prototype,U2=K2.toString,q2=V2.hasOwnProperty,eY=RegExp("^"+U2.call(q2).replace(Q2,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function fy(e){if(!Te(e)||F2(e))return!1;var i=tn(e)?eY:z2;return i.test(dt(e))}function iY(e,i){return e?.[i]}function gt(e,i){var n=iY(e,i);return fy(n)?n:void 0}var zo=gt(Pe,"WeakMap"),rs=zo&&new zo,vy=rs?function(e,i){return rs.set(e,i),e}:qe,Wg=Object.create,oo=(function(){function e(){}return function(i){if(!Te(i))return{};if(Wg)return Wg(i);e.prototype=i;var n=new e;return e.prototype=void 0,n}})();function Ko(e){return function(){var i=arguments;switch(i.length){case 0:return new e;case 1:return new e(i[0]);case 2:return new e(i[0],i[1]);case 3:return new e(i[0],i[1],i[2]);case 4:return new e(i[0],i[1],i[2],i[3]);case 5:return new e(i[0],i[1],i[2],i[3],i[4]);case 6:return new e(i[0],i[1],i[2],i[3],i[4],i[5]);case 7:return new e(i[0],i[1],i[2],i[3],i[4],i[5],i[6])}var n=oo(e.prototype),t=e.apply(n,i);return Te(t)?t:n}}var nY=1;function tY(e,i,n){var t=i&nY,o=Ko(e);function a(){var s=this&&this!==Pe&&this instanceof a?o:e;return s.apply(t?n:this,arguments)}return a}function ai(e,i,n){switch(n.length){case 0:return e.call(i);case 1:return e.call(i,n[0]);case 2:return e.call(i,n[0],n[1]);case 3:return e.call(i,n[0],n[1],n[2])}return e.apply(i,n)}var oY=Math.max;function yy(e,i,n,t){for(var o=-1,a=e.length,s=n.length,r=-1,u=i.length,c=oY(a-s,0),l=Array(u+c),d=!t;++r<u;)l[r]=i[r];for(;++o<s;)(d||o<a)&&(l[n[o]]=e[o]);for(;c--;)l[r++]=e[o++];return l}var aY=Math.max;function my(e,i,n,t){for(var o=-1,a=e.length,s=-1,r=n.length,u=-1,c=i.length,l=aY(a-r,0),d=Array(l+c),g=!t;++o<l;)d[o]=e[o];for(var h=o;++u<c;)d[h+u]=i[u];for(;++s<r;)(g||o<a)&&(d[h+n[s]]=e[o++]);return d}function sY(e,i){for(var n=e.length,t=0;n--;)e[n]===i&&++t;return t}function Bs(){}var rY=4294967295;function le(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=rY,this.__views__=[]}le.prototype=oo(Bs.prototype);le.prototype.constructor=le;function _c(){}var Fc=rs?function(e){return rs.get(e)}:_c,Mt={},uY=Object.prototype,cY=uY.hasOwnProperty;function Fa(e){for(var i=e.name+"",n=Mt[i],t=cY.call(Mt,i)?n.length:0;t--;){var o=n[t],a=o.func;if(a==null||a==e)return o.name}return i}function fi(e,i){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!i,this.__index__=0,this.__values__=void 0}fi.prototype=oo(Bs.prototype);fi.prototype.constructor=fi;function Ue(e,i){var n=-1,t=e.length;for(i||(i=Array(t));++n<t;)i[n]=e[n];return i}function by(e){if(e instanceof le)return e.clone();var i=new fi(e.__wrapped__,e.__chain__);return i.__actions__=Ue(e.__actions__),i.__index__=e.__index__,i.__values__=e.__values__,i}var lY=Object.prototype,dY=lY.hasOwnProperty;function f(e){if($e(e)&&!ne(e)&&!(e instanceof le)){if(e instanceof fi)return e;if(dY.call(e,"__wrapped__"))return by(e)}return new fi(e)}f.prototype=Bs.prototype;f.prototype.constructor=f;function Pu(e){var i=Fa(e),n=f[i];if(typeof n!="function"||!(i in le.prototype))return!1;if(e===n)return!0;var t=Fc(n);return!!t&&e===t[0]}var gY=800,hY=16,pY=Date.now;function wy(e){var i=0,n=0;return function(){var t=pY(),o=hY-(t-n);if(n=t,o>0){if(++i>=gY)return arguments[0]}else i=0;return e.apply(void 0,arguments)}}var ky=wy(vy),fY=/\{\n\/\* \[wrapped with (.+)\] \*/,vY=/,? & /;function yY(e){var i=e.match(fY);return i?i[1].split(vY):[]}var mY=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/;function bY(e,i){var n=i.length;if(!n)return e;var t=n-1;return i[t]=(n>1?"& ":"")+i[t],i=i.join(n>2?", ":" "),e.replace(mY,`{
|
|
120
120
|
/* [wrapped with `+i+`] */
|
|
121
|
-
`)}function Wc(e){return function(){return e}}var us=(function(){try{var e=gt(Object,"defineProperty");return e({},"",{}),e}catch{}})(),wY=us?function(e,i){return us(e,"toString",{configurable:!0,enumerable:!1,value:Wc(i),writable:!0})}:qe,Gc=wy(wY);function ui(e,i){for(var n=-1,t=e==null?0:e.length;++n<t&&i(e[n],n,e)!==!1;);return e}function Rs(e,i,n,t){for(var o=e.length,a=n+(t?1:-1);t?a--:++a<o;)if(i(e[a],a,e))return a;return-1}function jy(e){return e!==e}function kY(e,i,n){for(var t=n-1,o=e.length;++t<o;)if(e[t]===i)return t;return-1}function ao(e,i,n){return i===i?kY(e,i,n):Rs(e,jy,n)}function Os(e,i){var n=e==null?0:e.length;return!!n&&ao(e,i,0)>-1}var jY=1,SY=2,CY=8,LY=16,xY=32,TY=64,YY=128,DY=256,$Y=512,EY=[["ary",YY],["bind",jY],["bindKey",SY],["curry",CY],["curryRight",LY],["flip",$Y],["partial",xY],["partialRight",TY],["rearg",DY]];function BY(e,i){return ui(EY,function(n){var t="_."+n[0];i&n[1]&&!Os(e,t)&&e.push(t)}),e.sort()}function Sy(e,i,n){var t=i+"";return Gc(e,bY(t,BY(yY(t),n)))}var RY=4,OY=8,Gg=32,Qg=64;function Cy(e,i,n,t,o,a,s,r,u,c){var l=i&OY,d=l?s:void 0,g=l?void 0:s,h=l?a:void 0,p=l?void 0:a;i|=l?Gg:Qg,i&=~(l?Qg:Gg),i&RY||(i&=-4);var v=[e,i,o,h,d,p,g,r,u,c],y=n.apply(void 0,v);return Pu(e)&&ky(y,v),y.placeholder=t,Sy(y,e,i)}function so(e){var i=e;return i.placeholder}var JY=9007199254740991,PY=/^(?:0|[1-9]\d*)$/;function on(e,i){var n=typeof e;return i=i??JY,!!i&&(n=="number"||n!="symbol"&&PY.test(e))&&e>-1&&e%1==0&&e<i}var NY=Math.min;function ZY(e,i){for(var n=e.length,t=NY(i.length,n),o=Ue(e);t--;){var a=i[t];e[t]=on(a,n)?o[a]:void 0}return e}var zg="__lodash_placeholder__";function Ln(e,i){for(var n=-1,t=e.length,o=0,a=[];++n<t;){var s=e[n];(s===i||s===zg)&&(e[n]=zg,a[o++]=n)}return a}var AY=1,MY=2,HY=8,IY=16,XY=128,_Y=512;function Js(e,i,n,t,o,a,s,r,u,c){var l=i&XY,d=i&AY,g=i&MY,h=i&(HY|IY),p=i&_Y,v=g?void 0:Ko(e);function y(){for(var b=arguments.length,m=Array(b),j=b;j--;)m[j]=arguments[j];if(h)var x=so(y),$=sY(m,x);if(t&&(m=yy(m,t,o,h)),a&&(m=my(m,a,s,h)),b-=$,h&&b<c){var T=Ln(m,x);return Cy(e,i,Js,y.placeholder,n,m,T,r,u,c-b)}var B=d?n:this,J=g?B[e]:e;return b=m.length,r?m=ZY(m,r):p&&b>1&&m.reverse(),l&&u<b&&(m.length=u),this&&this!==Pe&&this instanceof y&&(J=v||Ko(J)),J.apply(B,m)}return y}function FY(e,i,n){var t=Ko(e);function o(){for(var a=arguments.length,s=Array(a),r=a,u=so(o);r--;)s[r]=arguments[r];var c=a<3&&s[0]!==u&&s[a-1]!==u?[]:Ln(s,u);if(a-=c.length,a<n)return Cy(e,i,Js,o.placeholder,void 0,s,c,void 0,void 0,n-a);var l=this&&this!==Pe&&this instanceof o?t:e;return ai(l,this,s)}return o}var WY=1;function GY(e,i,n,t){var o=i&WY,a=Ko(e);function s(){for(var r=-1,u=arguments.length,c=-1,l=t.length,d=Array(l+u),g=this&&this!==Pe&&this instanceof s?a:e;++c<l;)d[c]=t[c];for(;u--;)d[c++]=arguments[++r];return ai(g,o?n:this,d)}return s}var Kg="__lodash_placeholder__",Dr=1,QY=2,zY=4,Vg=8,jo=128,Ug=256,KY=Math.min;function VY(e,i){var n=e[1],t=i[1],o=n|t,a=o<(Dr|QY|jo),s=t==jo&&n==Vg||t==jo&&n==Ug&&e[7].length<=i[8]||t==(jo|Ug)&&i[7].length<=i[8]&&n==Vg;if(!(a||s))return e;t&Dr&&(e[2]=i[2],o|=n&Dr?0:zY);var r=i[3];if(r){var u=e[3];e[3]=u?yy(u,r,i[4]):r,e[4]=u?Ln(e[3],Kg):i[4]}return r=i[5],r&&(u=e[5],e[5]=u?my(u,r,i[6]):r,e[6]=u?Ln(e[5],Kg):i[6]),r=i[7],r&&(e[7]=r),t&jo&&(e[8]=e[8]==null?i[8]:KY(e[8],i[8])),e[9]==null&&(e[9]=i[9]),e[0]=i[0],e[1]=o,e}var UY="Expected a function",qg=1,qY=2,eh=8,ih=16,nh=32,eD=64,th=Math.max;function an(e,i,n,t,o,a,s,r){var u=i&qY;if(!u&&typeof e!="function")throw new TypeError(UY);var c=t?t.length:0;if(c||(i&=-97,t=o=void 0),s=s===void 0?s:th(ae(s),0),r=r===void 0?r:ae(r),c-=o?o.length:0,i&eD){var l=t,d=o;t=o=void 0}var g=u?void 0:Fc(e),h=[e,i,n,t,o,l,d,a,s,r];if(g&&VY(h,g),e=h[0],i=h[1],n=h[2],t=h[3],o=h[4],r=h[9]=h[9]===void 0?u?0:e.length:th(h[9]-c,0),!r&&i&(eh|ih)&&(i&=-25),!i||i==qg)var p=tY(e,i,n);else i==eh||i==ih?p=FY(e,i,r):(i==nh||i==(qg|nh))&&!o.length?p=GY(e,i,n,t):p=Js.apply(void 0,h);var v=g?vy:ky;return Sy(v(p,h),e,i)}var iD=128;function Ly(e,i,n){return i=n?void 0:i,i=e&&i==null?e.length:i,an(e,iD,void 0,void 0,void 0,void 0,i)}function Pi(e,i,n){i=="__proto__"&&us?us(e,i,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[i]=n}function Ti(e,i){return e===i||e!==e&&i!==i}var nD=Object.prototype,tD=nD.hasOwnProperty;function ca(e,i,n){var t=e[i];(!(tD.call(e,i)&&Ti(t,n))||n===void 0&&!(i in e))&&Pi(e,i,n)}function Ni(e,i,n,t){var o=!n;n||(n={});for(var a=-1,s=i.length;++a<s;){var r=i[a],u=t?t(n[r],e[r],r,n,e):void 0;u===void 0&&(u=e[r]),o?Pi(n,r,u):ca(n,r,u)}return n}var oh=Math.max;function xy(e,i,n){return i=oh(i===void 0?e.length-1:i,0),function(){for(var t=arguments,o=-1,a=oh(t.length-i,0),s=Array(a);++o<a;)s[o]=t[i+o];o=-1;for(var r=Array(i+1);++o<i;)r[o]=t[o];return r[i]=n(s),ai(e,this,r)}}function ue(e,i){return Gc(xy(e,i,qe),e+"")}var oD=9007199254740991;function Ps(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=oD}function ei(e){return e!=null&&Ps(e.length)&&!tn(e)}function We(e,i,n){if(!Te(n))return!1;var t=typeof i;return(t=="number"?ei(n)&&on(i,n.length):t=="string"&&i in n)?Ti(n[i],e):!1}function ro(e){return ue(function(i,n){var t=-1,o=n.length,a=o>1?n[o-1]:void 0,s=o>2?n[2]:void 0;for(a=e.length>3&&typeof a=="function"?(o--,a):void 0,s&&We(n[0],n[1],s)&&(a=o<3?void 0:a,o=1),i=Object(i);++t<o;){var r=n[t];r&&e(i,r,t,a)}return i})}var aD=Object.prototype;function la(e){var i=e&&e.constructor,n=typeof i=="function"&&i.prototype||aD;return e===n}function Qc(e,i){for(var n=-1,t=Array(e);++n<e;)t[n]=i(n);return t}var sD="[object Arguments]";function ah(e){return De(e)&&Ge(e)==sD}var Ty=Object.prototype,rD=Ty.hasOwnProperty,uD=Ty.propertyIsEnumerable,it=ah((function(){return arguments})())?ah:function(e){return De(e)&&rD.call(e,"callee")&&!uD.call(e,"callee")};function zc(){return!1}var Yy=typeof exports=="object"&&exports&&!exports.nodeType&&exports,sh=Yy&&typeof module=="object"&&module&&!module.nodeType&&module,cD=sh&&sh.exports===Yy,rh=cD?Pe.Buffer:void 0,lD=rh?rh.isBuffer:void 0,xn=lD||zc,dD="[object Arguments]",gD="[object Array]",hD="[object Boolean]",pD="[object Date]",fD="[object Error]",vD="[object Function]",yD="[object Map]",mD="[object Number]",bD="[object Object]",wD="[object RegExp]",kD="[object Set]",jD="[object String]",SD="[object WeakMap]",CD="[object ArrayBuffer]",LD="[object DataView]",xD="[object Float32Array]",TD="[object Float64Array]",YD="[object Int8Array]",DD="[object Int16Array]",$D="[object Int32Array]",ED="[object Uint8Array]",BD="[object Uint8ClampedArray]",RD="[object Uint16Array]",OD="[object Uint32Array]",Se={};Se[xD]=Se[TD]=Se[YD]=Se[DD]=Se[$D]=Se[ED]=Se[BD]=Se[RD]=Se[OD]=!0;Se[dD]=Se[gD]=Se[CD]=Se[hD]=Se[LD]=Se[pD]=Se[fD]=Se[vD]=Se[yD]=Se[mD]=Se[bD]=Se[wD]=Se[kD]=Se[jD]=Se[SD]=!1;function JD(e){return De(e)&&Ps(e.length)&&!!Se[Ge(e)]}function si(e){return function(i){return e(i)}}var Dy=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Zo=Dy&&typeof module=="object"&&module&&!module.nodeType&&module,PD=Zo&&Zo.exports===Dy,$r=PD&&dy.process,vi=(function(){try{var e=Zo&&Zo.require&&Zo.require("util").types;return e||$r&&$r.binding&&$r.binding("util")}catch{}})(),uh=vi&&vi.isTypedArray,uo=uh?si(uh):JD,ND=Object.prototype,ZD=ND.hasOwnProperty;function $y(e,i){var n=ne(e),t=!n&&it(e),o=!n&&!t&&xn(e),a=!n&&!t&&!o&&uo(e),s=n||t||o||a,r=s?Qc(e.length,String):[],u=r.length;for(var c in e)(i||ZD.call(e,c))&&!(s&&(c=="length"||o&&(c=="offset"||c=="parent")||a&&(c=="buffer"||c=="byteLength"||c=="byteOffset")||on(c,u)))&&r.push(c);return r}function Ey(e,i){return function(n){return e(i(n))}}var AD=Ey(Object.keys,Object),MD=Object.prototype,HD=MD.hasOwnProperty;function Kc(e){if(!la(e))return AD(e);var i=[];for(var n in Object(e))HD.call(e,n)&&n!="constructor"&&i.push(n);return i}function Ne(e){return ei(e)?$y(e):Kc(e)}var ID=Object.prototype,XD=ID.hasOwnProperty,_D=ro(function(e,i){if(la(i)||ei(i)){Ni(i,Ne(i),e);return}for(var n in i)XD.call(i,n)&&ca(e,n,i[n])});function FD(e){var i=[];if(e!=null)for(var n in Object(e))i.push(n);return i}var WD=Object.prototype,GD=WD.hasOwnProperty;function QD(e){if(!Te(e))return FD(e);var i=la(e),n=[];for(var t in e)t=="constructor"&&(i||!GD.call(e,t))||n.push(t);return n}function ii(e){return ei(e)?$y(e,!0):QD(e)}var zD=ro(function(e,i){Ni(i,ii(i),e)}),KD=ro(function(e,i,n,t){Ni(i,ii(i),e,t)}),Nu=ro(function(e,i,n,t){Ni(i,Ne(i),e,t)}),VD=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,UD=/^\w*$/;function Vc(e,i){if(ne(e))return!1;var n=typeof e;return n=="number"||n=="symbol"||n=="boolean"||e==null||ti(e)?!0:UD.test(e)||!VD.test(e)||i!=null&&e in Object(i)}var Vo=gt(Object,"create");function qD(){this.__data__=Vo?Vo(null):{},this.size=0}function e$(e){var i=this.has(e)&&delete this.__data__[e];return this.size-=i?1:0,i}var i$="__lodash_hash_undefined__",n$=Object.prototype,t$=n$.hasOwnProperty;function o$(e){var i=this.__data__;if(Vo){var n=i[e];return n===i$?void 0:n}return t$.call(i,e)?i[e]:void 0}var a$=Object.prototype,s$=a$.hasOwnProperty;function r$(e){var i=this.__data__;return Vo?i[e]!==void 0:s$.call(i,e)}var u$="__lodash_hash_undefined__";function c$(e,i){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=Vo&&i===void 0?u$:i,this}function nt(e){var i=-1,n=e==null?0:e.length;for(this.clear();++i<n;){var t=e[i];this.set(t[0],t[1])}}nt.prototype.clear=qD;nt.prototype.delete=e$;nt.prototype.get=o$;nt.prototype.has=r$;nt.prototype.set=c$;function l$(){this.__data__=[],this.size=0}function Ns(e,i){for(var n=e.length;n--;)if(Ti(e[n][0],i))return n;return-1}var d$=Array.prototype,g$=d$.splice;function h$(e){var i=this.__data__,n=Ns(i,e);if(n<0)return!1;var t=i.length-1;return n==t?i.pop():g$.call(i,n,1),--this.size,!0}function p$(e){var i=this.__data__,n=Ns(i,e);return n<0?void 0:i[n][1]}function f$(e){return Ns(this.__data__,e)>-1}function v$(e,i){var n=this.__data__,t=Ns(n,e);return t<0?(++this.size,n.push([e,i])):n[t][1]=i,this}function sn(e){var i=-1,n=e==null?0:e.length;for(this.clear();++i<n;){var t=e[i];this.set(t[0],t[1])}}sn.prototype.clear=l$;sn.prototype.delete=h$;sn.prototype.get=p$;sn.prototype.has=f$;sn.prototype.set=v$;var Uo=gt(Pe,"Map");function y$(){this.size=0,this.__data__={hash:new nt,map:new(Uo||sn),string:new nt}}function m$(e){var i=typeof e;return i=="string"||i=="number"||i=="symbol"||i=="boolean"?e!=="__proto__":e===null}function Zs(e,i){var n=e.__data__;return m$(i)?n[typeof i=="string"?"string":"hash"]:n.map}function b$(e){var i=Zs(this,e).delete(e);return this.size-=i?1:0,i}function w$(e){return Zs(this,e).get(e)}function k$(e){return Zs(this,e).has(e)}function j$(e,i){var n=Zs(this,e),t=n.size;return n.set(e,i),this.size+=n.size==t?0:1,this}function rn(e){var i=-1,n=e==null?0:e.length;for(this.clear();++i<n;){var t=e[i];this.set(t[0],t[1])}}rn.prototype.clear=y$;rn.prototype.delete=b$;rn.prototype.get=w$;rn.prototype.has=k$;rn.prototype.set=j$;var S$="Expected a function";function As(e,i){if(typeof e!="function"||i!=null&&typeof i!="function")throw new TypeError(S$);var n=function(){var t=arguments,o=i?i.apply(this,t):t[0],a=n.cache;if(a.has(o))return a.get(o);var s=e.apply(this,t);return n.cache=a.set(o,s)||a,s};return n.cache=new(As.Cache||rn),n}As.Cache=rn;var C$=500;function L$(e){var i=As(e,function(t){return n.size===C$&&n.clear(),t}),n=i.cache;return i}var x$=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,T$=/\\(\\)?/g,By=L$(function(e){var i=[];return e.charCodeAt(0)===46&&i.push(""),e.replace(x$,function(n,t,o,a){i.push(o?a.replace(T$,"$1"):t||n)}),i});function ve(e){return e==null?"":oi(e)}function Jn(e,i){return ne(e)?e:Vc(e,i)?[e]:By(ve(e))}function Si(e){if(typeof e=="string"||ti(e))return e;var i=e+"";return i=="0"&&1/e==-1/0?"-0":i}function ht(e,i){i=Jn(i,e);for(var n=0,t=i.length;e!=null&&n<t;)e=e[Si(i[n++])];return n&&n==t?e:void 0}function Uc(e,i,n){var t=e==null?void 0:ht(e,i);return t===void 0?n:t}function qc(e,i){for(var n=-1,t=i.length,o=Array(t),a=e==null;++n<t;)o[n]=a?void 0:Uc(e,i[n]);return o}function Pn(e,i){for(var n=-1,t=i.length,o=e.length;++n<t;)e[o+n]=i[n];return e}var ch=He?He.isConcatSpreadable:void 0;function Y$(e){return ne(e)||it(e)||!!(ch&&e&&e[ch])}function Ae(e,i,n,t,o){var a=-1,s=e.length;for(n||(n=Y$),o||(o=[]);++a<s;){var r=e[a];i>0&&n(r)?i>1?Ae(r,i-1,n,t,o):Pn(o,r):t||(o[o.length]=r)}return o}function Ry(e){var i=e==null?0:e.length;return i?Ae(e,1):[]}function un(e){return Gc(xy(e,void 0,Ry),e+"")}var D$=un(qc),Ms=Ey(Object.getPrototypeOf,Object),$$="[object Object]",E$=Function.prototype,B$=Object.prototype,Oy=E$.toString,R$=B$.hasOwnProperty,O$=Oy.call(Object);function da(e){if(!De(e)||Ge(e)!=$$)return!1;var i=Ms(e);if(i===null)return!0;var n=R$.call(i,"constructor")&&i.constructor;return typeof n=="function"&&n instanceof n&&Oy.call(n)==O$}var J$="[object DOMException]",P$="[object Error]";function el(e){if(!De(e))return!1;var i=Ge(e);return i==P$||i==J$||typeof e.message=="string"&&typeof e.name=="string"&&!da(e)}var Jy=ue(function(e,i){try{return ai(e,void 0,i)}catch(n){return el(n)?n:new Error(n)}}),N$="Expected a function";function Py(e,i){var n;if(typeof i!="function")throw new TypeError(N$);return e=ae(e),function(){return--e>0&&(n=i.apply(this,arguments)),e<=1&&(i=void 0),n}}var Z$=1,A$=32,Hs=ue(function(e,i,n){var t=Z$;if(n.length){var o=Ln(n,so(Hs));t|=A$}return an(e,t,i,n,o)});Hs.placeholder={};var M$=un(function(e,i){return ui(i,function(n){n=Si(n),Pi(e,n,Hs(e[n],e))}),e}),H$=1,I$=2,X$=32,il=ue(function(e,i,n){var t=H$|I$;if(n.length){var o=Ln(n,so(il));t|=X$}return an(i,t,e,n,o)});il.placeholder={};function yi(e,i,n){var t=-1,o=e.length;i<0&&(i=-i>o?0:o+i),n=n>o?o:n,n<0&&(n+=o),o=i>n?0:n-i>>>0,i>>>=0;for(var a=Array(o);++t<o;)a[t]=e[t+i];return a}function Nn(e,i,n){var t=e.length;return n=n===void 0?t:n,!i&&n>=t?e:yi(e,i,n)}var _$="\\ud800-\\udfff",F$="\\u0300-\\u036f",W$="\\ufe20-\\ufe2f",G$="\\u20d0-\\u20ff",Q$=F$+W$+G$,z$="\\ufe0e\\ufe0f",K$="\\u200d",V$=RegExp("["+K$+_$+Q$+z$+"]");function co(e){return V$.test(e)}function U$(e){return e.split("")}var Ny="\\ud800-\\udfff",q$="\\u0300-\\u036f",eE="\\ufe20-\\ufe2f",iE="\\u20d0-\\u20ff",nE=q$+eE+iE,tE="\\ufe0e\\ufe0f",oE="["+Ny+"]",Zu="["+nE+"]",Au="\\ud83c[\\udffb-\\udfff]",aE="(?:"+Zu+"|"+Au+")",Zy="[^"+Ny+"]",Ay="(?:\\ud83c[\\udde6-\\uddff]){2}",My="[\\ud800-\\udbff][\\udc00-\\udfff]",sE="\\u200d",Hy=aE+"?",Iy="["+tE+"]?",rE="(?:"+sE+"(?:"+[Zy,Ay,My].join("|")+")"+Iy+Hy+")*",uE=Iy+Hy+rE,cE="(?:"+[Zy+Zu+"?",Zu,Ay,My,oE].join("|")+")",lE=RegExp(Au+"(?="+Au+")|"+cE+uE,"g");function dE(e){return e.match(lE)||[]}function Ci(e){return co(e)?dE(e):U$(e)}function Xy(e){return function(i){i=ve(i);var n=co(i)?Ci(i):void 0,t=n?n[0]:i.charAt(0),o=n?Nn(n,1).join(""):i.slice(1);return t[e]()+o}}var nl=Xy("toUpperCase");function _y(e){return nl(ve(e).toLowerCase())}function tl(e,i,n,t){var o=-1,a=e==null?0:e.length;for(t&&a&&(n=e[++o]);++o<a;)n=i(n,e[o],o,e);return n}function ol(e){return function(i){return e?.[i]}}var gE={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},hE=ol(gE),pE=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,fE="\\u0300-\\u036f",vE="\\ufe20-\\ufe2f",yE="\\u20d0-\\u20ff",mE=fE+vE+yE,bE="["+mE+"]",wE=RegExp(bE,"g");function Fy(e){return e=ve(e),e&&e.replace(pE,hE).replace(wE,"")}var kE=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function jE(e){return e.match(kE)||[]}var SE=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;function CE(e){return SE.test(e)}var Wy="\\ud800-\\udfff",LE="\\u0300-\\u036f",xE="\\ufe20-\\ufe2f",TE="\\u20d0-\\u20ff",YE=LE+xE+TE,Gy="\\u2700-\\u27bf",Qy="a-z\\xdf-\\xf6\\xf8-\\xff",DE="\\xac\\xb1\\xd7\\xf7",$E="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",EE="\\u2000-\\u206f",BE=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",zy="A-Z\\xc0-\\xd6\\xd8-\\xde",RE="\\ufe0e\\ufe0f",Ky=DE+$E+EE+BE,Vy="['’]",lh="["+Ky+"]",OE="["+YE+"]",Uy="\\d+",JE="["+Gy+"]",qy="["+Qy+"]",em="[^"+Wy+Ky+Uy+Gy+Qy+zy+"]",PE="\\ud83c[\\udffb-\\udfff]",NE="(?:"+OE+"|"+PE+")",ZE="[^"+Wy+"]",im="(?:\\ud83c[\\udde6-\\uddff]){2}",nm="[\\ud800-\\udbff][\\udc00-\\udfff]",$t="["+zy+"]",AE="\\u200d",dh="(?:"+qy+"|"+em+")",ME="(?:"+$t+"|"+em+")",gh="(?:"+Vy+"(?:d|ll|m|re|s|t|ve))?",hh="(?:"+Vy+"(?:D|LL|M|RE|S|T|VE))?",tm=NE+"?",om="["+RE+"]?",HE="(?:"+AE+"(?:"+[ZE,im,nm].join("|")+")"+om+tm+")*",IE="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",XE="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",_E=om+tm+HE,FE="(?:"+[JE,im,nm].join("|")+")"+_E,WE=RegExp([$t+"?"+qy+"+"+gh+"(?="+[lh,$t,"$"].join("|")+")",ME+"+"+hh+"(?="+[lh,$t+dh,"$"].join("|")+")",$t+"?"+dh+"+"+gh,$t+"+"+hh,XE,IE,Uy,FE].join("|"),"g");function GE(e){return e.match(WE)||[]}function am(e,i,n){return e=ve(e),i=n?void 0:i,i===void 0?CE(e)?GE(e):jE(e):e.match(i)||[]}var QE="['’]",zE=RegExp(QE,"g");function lo(e){return function(i){return tl(am(Fy(i).replace(zE,"")),e,"")}}var KE=lo(function(e,i,n){return i=i.toLowerCase(),e+(n?_y(i):i)});function VE(){if(!arguments.length)return[];var e=arguments[0];return ne(e)?e:[e]}var UE=Pe.isFinite,qE=Math.min;function al(e){var i=Math[e];return function(n,t){if(n=hi(n),t=t==null?0:qE(ae(t),292),t&&UE(n)){var o=(ve(n)+"e").split("e"),a=i(o[0]+"e"+(+o[1]+t));return o=(ve(a)+"e").split("e"),+(o[0]+"e"+(+o[1]-t))}return i(n)}}var eB=al("ceil");function sm(e){var i=f(e);return i.__chain__=!0,i}var iB=Math.ceil,nB=Math.max;function tB(e,i,n){(n?We(e,i,n):i===void 0)?i=1:i=nB(ae(i),0);var t=e==null?0:e.length;if(!t||i<1)return[];for(var o=0,a=0,s=Array(iB(t/i));o<t;)s[a++]=yi(e,o,o+=i);return s}function pt(e,i,n){return e===e&&(n!==void 0&&(e=e<=n?e:n),i!==void 0&&(e=e>=i?e:i)),e}function oB(e,i,n){return n===void 0&&(n=i,i=void 0),n!==void 0&&(n=hi(n),n=n===n?n:0),i!==void 0&&(i=hi(i),i=i===i?i:0),pt(hi(e),i,n)}function aB(){this.__data__=new sn,this.size=0}function sB(e){var i=this.__data__,n=i.delete(e);return this.size=i.size,n}function rB(e){return this.__data__.get(e)}function uB(e){return this.__data__.has(e)}var cB=200;function lB(e,i){var n=this.__data__;if(n instanceof sn){var t=n.__data__;if(!Uo||t.length<cB-1)return t.push([e,i]),this.size=++n.size,this;n=this.__data__=new rn(t)}return n.set(e,i),this.size=n.size,this}function ji(e){var i=this.__data__=new sn(e);this.size=i.size}ji.prototype.clear=aB;ji.prototype.delete=sB;ji.prototype.get=rB;ji.prototype.has=uB;ji.prototype.set=lB;function rm(e,i){return e&&Ni(i,Ne(i),e)}function dB(e,i){return e&&Ni(i,ii(i),e)}var um=typeof exports=="object"&&exports&&!exports.nodeType&&exports,ph=um&&typeof module=="object"&&module&&!module.nodeType&&module,gB=ph&&ph.exports===um,fh=gB?Pe.Buffer:void 0,vh=fh?fh.allocUnsafe:void 0;function cm(e,i){if(i)return e.slice();var n=e.length,t=vh?vh(n):new e.constructor(n);return e.copy(t),t}function Zn(e,i){for(var n=-1,t=e==null?0:e.length,o=0,a=[];++n<t;){var s=e[n];i(s,n,e)&&(a[o++]=s)}return a}function sl(){return[]}var hB=Object.prototype,pB=hB.propertyIsEnumerable,yh=Object.getOwnPropertySymbols,rl=yh?function(e){return e==null?[]:(e=Object(e),Zn(yh(e),function(i){return pB.call(e,i)}))}:sl;function fB(e,i){return Ni(e,rl(e),i)}var vB=Object.getOwnPropertySymbols,lm=vB?function(e){for(var i=[];e;)Pn(i,rl(e)),e=Ms(e);return i}:sl;function yB(e,i){return Ni(e,lm(e),i)}function dm(e,i,n){var t=i(e);return ne(e)?t:Pn(t,n(e))}function Mu(e){return dm(e,Ne,rl)}function ul(e){return dm(e,ii,lm)}var Hu=gt(Pe,"DataView"),Iu=gt(Pe,"Promise"),Ht=gt(Pe,"Set"),mh="[object Map]",mB="[object Object]",bh="[object Promise]",wh="[object Set]",kh="[object WeakMap]",jh="[object DataView]",bB=dt(Hu),wB=dt(Uo),kB=dt(Iu),jB=dt(Ht),SB=dt(zo),Xn=Ge;(Hu&&Xn(new Hu(new ArrayBuffer(1)))!=jh||Uo&&Xn(new Uo)!=mh||Iu&&Xn(Iu.resolve())!=bh||Ht&&Xn(new Ht)!=wh||zo&&Xn(new zo)!=kh)&&(Xn=function(e){var i=Ge(e),n=i==mB?e.constructor:void 0,t=n?dt(n):"";if(t)switch(t){case bB:return jh;case wB:return mh;case kB:return bh;case jB:return wh;case SB:return kh}return i});const Oi=Xn;var CB=Object.prototype,LB=CB.hasOwnProperty;function xB(e){var i=e.length,n=new e.constructor(i);return i&&typeof e[0]=="string"&&LB.call(e,"index")&&(n.index=e.index,n.input=e.input),n}var cs=Pe.Uint8Array;function cl(e){var i=new e.constructor(e.byteLength);return new cs(i).set(new cs(e)),i}function TB(e,i){var n=i?cl(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}var YB=/\w*$/;function DB(e){var i=new e.constructor(e.source,YB.exec(e));return i.lastIndex=e.lastIndex,i}var Sh=He?He.prototype:void 0,Ch=Sh?Sh.valueOf:void 0;function $B(e){return Ch?Object(Ch.call(e)):{}}function gm(e,i){var n=i?cl(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}var EB="[object Boolean]",BB="[object Date]",RB="[object Map]",OB="[object Number]",JB="[object RegExp]",PB="[object Set]",NB="[object String]",ZB="[object Symbol]",AB="[object ArrayBuffer]",MB="[object DataView]",HB="[object Float32Array]",IB="[object Float64Array]",XB="[object Int8Array]",_B="[object Int16Array]",FB="[object Int32Array]",WB="[object Uint8Array]",GB="[object Uint8ClampedArray]",QB="[object Uint16Array]",zB="[object Uint32Array]";function KB(e,i,n){var t=e.constructor;switch(i){case AB:return cl(e);case EB:case BB:return new t(+e);case MB:return TB(e,n);case HB:case IB:case XB:case _B:case FB:case WB:case GB:case QB:case zB:return gm(e,n);case RB:return new t;case OB:case NB:return new t(e);case JB:return DB(e);case PB:return new t;case ZB:return $B(e)}}function hm(e){return typeof e.constructor=="function"&&!la(e)?oo(Ms(e)):{}}var VB="[object Map]";function UB(e){return De(e)&&Oi(e)==VB}var Lh=vi&&vi.isMap,pm=Lh?si(Lh):UB,qB="[object Set]";function eR(e){return De(e)&&Oi(e)==qB}var xh=vi&&vi.isSet,fm=xh?si(xh):eR,iR=1,nR=2,tR=4,vm="[object Arguments]",oR="[object Array]",aR="[object Boolean]",sR="[object Date]",rR="[object Error]",ym="[object Function]",uR="[object GeneratorFunction]",cR="[object Map]",lR="[object Number]",mm="[object Object]",dR="[object RegExp]",gR="[object Set]",hR="[object String]",pR="[object Symbol]",fR="[object WeakMap]",vR="[object ArrayBuffer]",yR="[object DataView]",mR="[object Float32Array]",bR="[object Float64Array]",wR="[object Int8Array]",kR="[object Int16Array]",jR="[object Int32Array]",SR="[object Uint8Array]",CR="[object Uint8ClampedArray]",LR="[object Uint16Array]",xR="[object Uint32Array]",je={};je[vm]=je[oR]=je[vR]=je[yR]=je[aR]=je[sR]=je[mR]=je[bR]=je[wR]=je[kR]=je[jR]=je[cR]=je[lR]=je[mm]=je[dR]=je[gR]=je[hR]=je[pR]=je[SR]=je[CR]=je[LR]=je[xR]=!0;je[rR]=je[ym]=je[fR]=!1;function pi(e,i,n,t,o,a){var s,r=i&iR,u=i&nR,c=i&tR;if(n&&(s=o?n(e,t,o,a):n(e)),s!==void 0)return s;if(!Te(e))return e;var l=ne(e);if(l){if(s=xB(e),!r)return Ue(e,s)}else{var d=Oi(e),g=d==ym||d==uR;if(xn(e))return cm(e,r);if(d==mm||d==vm||g&&!o){if(s=u||g?{}:hm(e),!r)return u?yB(e,dB(s,e)):fB(e,rm(s,e))}else{if(!je[d])return o?e:{};s=KB(e,d,r)}}a||(a=new ji);var h=a.get(e);if(h)return h;a.set(e,s),fm(e)?e.forEach(function(y){s.add(pi(y,i,n,y,e,a))}):pm(e)&&e.forEach(function(y,b){s.set(b,pi(y,i,n,b,e,a))});var p=c?u?ul:Mu:u?ii:Ne,v=l?void 0:p(e);return ui(v||e,function(y,b){v&&(b=y,y=e[b]),ca(s,b,pi(y,i,n,b,e,a))}),s}var TR=4;function YR(e){return pi(e,TR)}var DR=1,$R=4;function ER(e){return pi(e,DR|$R)}var BR=1,RR=4;function OR(e,i){return i=typeof i=="function"?i:void 0,pi(e,BR|RR,i)}var JR=4;function PR(e,i){return i=typeof i=="function"?i:void 0,pi(e,JR,i)}function NR(){return new fi(this.value(),this.__chain__)}function ZR(e){for(var i=-1,n=e==null?0:e.length,t=0,o=[];++i<n;){var a=e[i];a&&(o[t++]=a)}return o}function AR(){var e=arguments.length;if(!e)return[];for(var i=Array(e-1),n=arguments[0],t=e;t--;)i[t-1]=arguments[t];return Pn(ne(n)?Ue(n):[n],Ae(i,1))}var MR="__lodash_hash_undefined__";function HR(e){return this.__data__.set(e,MR),this}function IR(e){return this.__data__.has(e)}function tt(e){var i=-1,n=e==null?0:e.length;for(this.__data__=new rn;++i<n;)this.add(e[i])}tt.prototype.add=tt.prototype.push=HR;tt.prototype.has=IR;function ll(e,i){for(var n=-1,t=e==null?0:e.length;++n<t;)if(i(e[n],n,e))return!0;return!1}function qo(e,i){return e.has(i)}var XR=1,_R=2;function bm(e,i,n,t,o,a){var s=n&XR,r=e.length,u=i.length;if(r!=u&&!(s&&u>r))return!1;var c=a.get(e),l=a.get(i);if(c&&l)return c==i&&l==e;var d=-1,g=!0,h=n&_R?new tt:void 0;for(a.set(e,i),a.set(i,e);++d<r;){var p=e[d],v=i[d];if(t)var y=s?t(v,p,d,i,e,a):t(p,v,d,e,i,a);if(y!==void 0){if(y)continue;g=!1;break}if(h){if(!ll(i,function(b,m){if(!qo(h,m)&&(p===b||o(p,b,n,t,a)))return h.push(m)})){g=!1;break}}else if(!(p===v||o(p,v,n,t,a))){g=!1;break}}return a.delete(e),a.delete(i),g}function dl(e){var i=-1,n=Array(e.size);return e.forEach(function(t,o){n[++i]=[o,t]}),n}function Is(e){var i=-1,n=Array(e.size);return e.forEach(function(t){n[++i]=t}),n}var FR=1,WR=2,GR="[object Boolean]",QR="[object Date]",zR="[object Error]",KR="[object Map]",VR="[object Number]",UR="[object RegExp]",qR="[object Set]",eO="[object String]",iO="[object Symbol]",nO="[object ArrayBuffer]",tO="[object DataView]",Th=He?He.prototype:void 0,Er=Th?Th.valueOf:void 0;function oO(e,i,n,t,o,a,s){switch(n){case tO:if(e.byteLength!=i.byteLength||e.byteOffset!=i.byteOffset)return!1;e=e.buffer,i=i.buffer;case nO:return!(e.byteLength!=i.byteLength||!a(new cs(e),new cs(i)));case GR:case QR:case VR:return Ti(+e,+i);case zR:return e.name==i.name&&e.message==i.message;case UR:case eO:return e==i+"";case KR:var r=dl;case qR:var u=t&FR;if(r||(r=Is),e.size!=i.size&&!u)return!1;var c=s.get(e);if(c)return c==i;t|=WR,s.set(e,i);var l=bm(r(e),r(i),t,o,a,s);return s.delete(e),l;case iO:if(Er)return Er.call(e)==Er.call(i)}return!1}var aO=1,sO=Object.prototype,rO=sO.hasOwnProperty;function uO(e,i,n,t,o,a){var s=n&aO,r=Mu(e),u=r.length,c=Mu(i),l=c.length;if(u!=l&&!s)return!1;for(var d=u;d--;){var g=r[d];if(!(s?g in i:rO.call(i,g)))return!1}var h=a.get(e),p=a.get(i);if(h&&p)return h==i&&p==e;var v=!0;a.set(e,i),a.set(i,e);for(var y=s;++d<u;){g=r[d];var b=e[g],m=i[g];if(t)var j=s?t(m,b,g,i,e,a):t(b,m,g,e,i,a);if(!(j===void 0?b===m||o(b,m,n,t,a):j)){v=!1;break}y||(y=g=="constructor")}if(v&&!y){var x=e.constructor,$=i.constructor;x!=$&&"constructor"in e&&"constructor"in i&&!(typeof x=="function"&&x instanceof x&&typeof $=="function"&&$ instanceof $)&&(v=!1)}return a.delete(e),a.delete(i),v}var cO=1,Yh="[object Arguments]",Dh="[object Array]",Ea="[object Object]",lO=Object.prototype,$h=lO.hasOwnProperty;function dO(e,i,n,t,o,a){var s=ne(e),r=ne(i),u=s?Dh:Oi(e),c=r?Dh:Oi(i);u=u==Yh?Ea:u,c=c==Yh?Ea:c;var l=u==Ea,d=c==Ea,g=u==c;if(g&&xn(e)){if(!xn(i))return!1;s=!0,l=!1}if(g&&!l)return a||(a=new ji),s||uo(e)?bm(e,i,n,t,o,a):oO(e,i,u,n,t,o,a);if(!(n&cO)){var h=l&&$h.call(e,"__wrapped__"),p=d&&$h.call(i,"__wrapped__");if(h||p){var v=h?e.value():e,y=p?i.value():i;return a||(a=new ji),o(v,y,n,t,a)}}return g?(a||(a=new ji),uO(e,i,n,t,o,a)):!1}function ga(e,i,n,t,o){return e===i?!0:e==null||i==null||!De(e)&&!De(i)?e!==e&&i!==i:dO(e,i,n,t,ga,o)}var gO=1,hO=2;function gl(e,i,n,t){var o=n.length,a=o,s=!t;if(e==null)return!a;for(e=Object(e);o--;){var r=n[o];if(s&&r[2]?r[1]!==e[r[0]]:!(r[0]in e))return!1}for(;++o<a;){r=n[o];var u=r[0],c=e[u],l=r[1];if(s&&r[2]){if(c===void 0&&!(u in e))return!1}else{var d=new ji;if(t)var g=t(c,l,u,e,i,d);if(!(g===void 0?ga(l,c,gO|hO,t,d):g))return!1}}return!0}function wm(e){return e===e&&!Te(e)}function hl(e){for(var i=Ne(e),n=i.length;n--;){var t=i[n],o=e[t];i[n]=[t,o,wm(o)]}return i}function km(e,i){return function(n){return n==null?!1:n[e]===i&&(i!==void 0||e in Object(n))}}function jm(e){var i=hl(e);return i.length==1&&i[0][2]?km(i[0][0],i[0][1]):function(n){return n===e||gl(n,e,i)}}function pO(e,i){return e!=null&&i in Object(e)}function Sm(e,i,n){i=Jn(i,e);for(var t=-1,o=i.length,a=!1;++t<o;){var s=Si(i[t]);if(!(a=e!=null&&n(e,s)))break;e=e[s]}return a||++t!=o?a:(o=e==null?0:e.length,!!o&&Ps(o)&&on(s,o)&&(ne(e)||it(e)))}function pl(e,i){return e!=null&&Sm(e,i,pO)}var fO=1,vO=2;function Cm(e,i){return Vc(e)&&wm(i)?km(Si(e),i):function(n){var t=Uc(n,e);return t===void 0&&t===i?pl(n,e):ga(i,t,fO|vO)}}function fl(e){return function(i){return i?.[e]}}function yO(e){return function(i){return ht(i,e)}}function Lm(e){return Vc(e)?fl(Si(e)):yO(e)}function ie(e){return typeof e=="function"?e:e==null?qe:typeof e=="object"?ne(e)?Cm(e[0],e[1]):jm(e):Lm(e)}var mO="Expected a function";function bO(e){var i=e==null?0:e.length,n=ie;return e=i?Le(e,function(t){if(typeof t[1]!="function")throw new TypeError(mO);return[n(t[0]),t[1]]}):[],ue(function(t){for(var o=-1;++o<i;){var a=e[o];if(ai(a[0],this,t))return ai(a[1],this,t)}})}function xm(e,i,n){var t=n.length;if(e==null)return!t;for(e=Object(e);t--;){var o=n[t],a=i[o],s=e[o];if(s===void 0&&!(o in e)||!a(s))return!1}return!0}function wO(e){var i=Ne(e);return function(n){return xm(n,e,i)}}var kO=1;function jO(e){return wO(pi(e,kO))}function SO(e,i){return i==null||xm(e,i,Ne(i))}function CO(e,i,n,t){for(var o=-1,a=e==null?0:e.length;++o<a;){var s=e[o];i(t,s,n(s),e)}return t}function Tm(e){return function(i,n,t){for(var o=-1,a=Object(i),s=t(i),r=s.length;r--;){var u=s[e?r:++o];if(n(a[u],u,a)===!1)break}return i}}var vl=Tm();function Zi(e,i){return e&&vl(e,i,Ne)}function Ym(e,i){return function(n,t){if(n==null)return n;if(!ei(n))return e(n,t);for(var o=n.length,a=i?o:-1,s=Object(n);(i?a--:++a<o)&&t(s[a],a,s)!==!1;);return n}}var An=Ym(Zi);function LO(e,i,n,t){return An(e,function(o,a,s){i(t,o,n(o),s)}),t}function Xs(e,i){return function(n,t){var o=ne(n)?CO:LO,a=i?i():{};return o(n,e,ie(t),a)}}var xO=Object.prototype,TO=xO.hasOwnProperty,YO=Xs(function(e,i,n){TO.call(e,n)?++e[n]:Pi(e,n,1)});function DO(e,i){var n=oo(e);return i==null?n:rm(n,i)}var $O=8;function yl(e,i,n){i=n?void 0:i;var t=an(e,$O,void 0,void 0,void 0,void 0,void 0,i);return t.placeholder=yl.placeholder,t}yl.placeholder={};var EO=16;function ml(e,i,n){i=n?void 0:i;var t=an(e,EO,void 0,void 0,void 0,void 0,void 0,i);return t.placeholder=ml.placeholder,t}ml.placeholder={};var Wa=function(){return Pe.Date.now()},BO="Expected a function",RO=Math.max,OO=Math.min;function Dm(e,i,n){var t,o,a,s,r,u,c=0,l=!1,d=!1,g=!0;if(typeof e!="function")throw new TypeError(BO);i=hi(i)||0,Te(n)&&(l=!!n.leading,d="maxWait"in n,a=d?RO(hi(n.maxWait)||0,i):a,g="trailing"in n?!!n.trailing:g);function h(T){var B=t,J=o;return t=o=void 0,c=T,s=e.apply(J,B),s}function p(T){return c=T,r=setTimeout(b,i),l?h(T):s}function v(T){var B=T-u,J=T-c,I=i-B;return d?OO(I,a-J):I}function y(T){var B=T-u,J=T-c;return u===void 0||B>=i||B<0||d&&J>=a}function b(){var T=Wa();if(y(T))return m(T);r=setTimeout(b,v(T))}function m(T){return r=void 0,g&&t?h(T):(t=o=void 0,s)}function j(){r!==void 0&&clearTimeout(r),c=0,t=u=o=r=void 0}function x(){return r===void 0?s:m(Wa())}function $(){var T=Wa(),B=y(T);if(t=arguments,o=this,u=T,B){if(r===void 0)return p(u);if(d)return clearTimeout(r),r=setTimeout(b,i),h(u)}return r===void 0&&(r=setTimeout(b,i)),s}return $.cancel=j,$.flush=x,$}function JO(e,i){return e==null||e!==e?i:e}var $m=Object.prototype,PO=$m.hasOwnProperty,NO=ue(function(e,i){e=Object(e);var n=-1,t=i.length,o=t>2?i[2]:void 0;for(o&&We(i[0],i[1],o)&&(t=1);++n<t;)for(var a=i[n],s=ii(a),r=-1,u=s.length;++r<u;){var c=s[r],l=e[c];(l===void 0||Ti(l,$m[c])&&!PO.call(e,c))&&(e[c]=a[c])}return e});function Xu(e,i,n){(n!==void 0&&!Ti(e[i],n)||n===void 0&&!(i in e))&&Pi(e,i,n)}function Re(e){return De(e)&&ei(e)}function _u(e,i){if(!(i==="constructor"&&typeof e[i]=="function")&&i!="__proto__")return e[i]}function Em(e){return Ni(e,ii(e))}function ZO(e,i,n,t,o,a,s){var r=_u(e,n),u=_u(i,n),c=s.get(u);if(c){Xu(e,n,c);return}var l=a?a(r,u,n+"",e,i,s):void 0,d=l===void 0;if(d){var g=ne(u),h=!g&&xn(u),p=!g&&!h&&uo(u);l=u,g||h||p?ne(r)?l=r:Re(r)?l=Ue(r):h?(d=!1,l=cm(u,!0)):p?(d=!1,l=gm(u,!0)):l=[]:da(u)||it(u)?(l=r,it(r)?l=Em(r):(!Te(r)||tn(r))&&(l=hm(u))):d=!1}d&&(s.set(u,l),o(l,u,t,a,s),s.delete(u)),Xu(e,n,l)}function _s(e,i,n,t,o){e!==i&&vl(i,function(a,s){if(o||(o=new ji),Te(a))ZO(e,i,s,n,_s,t,o);else{var r=t?t(_u(e,s),a,s+"",e,i,o):void 0;r===void 0&&(r=a),Xu(e,s,r)}},ii)}function Bm(e,i,n,t,o,a){return Te(e)&&Te(i)&&(a.set(i,e),_s(e,i,void 0,Bm,a),a.delete(i)),e}var Rm=ro(function(e,i,n,t){_s(e,i,n,t)}),AO=ue(function(e){return e.push(void 0,Bm),ai(Rm,void 0,e)}),MO="Expected a function";function Om(e,i,n){if(typeof e!="function")throw new TypeError(MO);return setTimeout(function(){e.apply(void 0,n)},i)}var HO=ue(function(e,i){return Om(e,1,i)}),IO=ue(function(e,i,n){return Om(e,hi(i)||0,n)});function bl(e,i,n){for(var t=-1,o=e==null?0:e.length;++t<o;)if(n(i,e[t]))return!0;return!1}var XO=200;function ha(e,i,n,t){var o=-1,a=Os,s=!0,r=e.length,u=[],c=i.length;if(!r)return u;n&&(i=Le(i,si(n))),t?(a=bl,s=!1):i.length>=XO&&(a=qo,s=!1,i=new tt(i));e:for(;++o<r;){var l=e[o],d=n==null?l:n(l);if(l=t||l!==0?l:0,s&&d===d){for(var g=c;g--;)if(i[g]===d)continue e;u.push(l)}else a(i,d,t)||u.push(l)}return u}var _O=ue(function(e,i){return Re(e)?ha(e,Ae(i,1,Re,!0)):[]});function mi(e){var i=e==null?0:e.length;return i?e[i-1]:void 0}var FO=ue(function(e,i){var n=mi(i);return Re(n)&&(n=void 0),Re(e)?ha(e,Ae(i,1,Re,!0),ie(n)):[]}),WO=ue(function(e,i){var n=mi(i);return Re(n)&&(n=void 0),Re(e)?ha(e,Ae(i,1,Re,!0),void 0,n):[]}),GO=Es(function(e,i){return e/i},1);function QO(e,i,n){var t=e==null?0:e.length;return t?(i=n||i===void 0?1:ae(i),yi(e,i<0?0:i,t)):[]}function zO(e,i,n){var t=e==null?0:e.length;return t?(i=n||i===void 0?1:ae(i),i=t-i,yi(e,0,i<0?0:i)):[]}function Fs(e,i,n,t){for(var o=e.length,a=t?o:-1;(t?a--:++a<o)&&i(e[a],a,e););return n?yi(e,t?0:a,t?a+1:o):yi(e,t?a+1:0,t?o:a)}function KO(e,i){return e&&e.length?Fs(e,ie(i),!0,!0):[]}function VO(e,i){return e&&e.length?Fs(e,ie(i),!0):[]}function Ai(e){return typeof e=="function"?e:qe}function UO(e,i){var n=ne(e)?ui:An;return n(e,Ai(i))}function qO(e,i){for(var n=e==null?0:e.length;n--&&i(e[n],n,e)!==!1;);return e}var Jm=Tm(!0);function wl(e,i){return e&&Jm(e,i,Ne)}var Pm=Ym(wl,!0);function eJ(e,i){var n=ne(e)?qO:Pm;return n(e,Ai(i))}function iJ(e,i,n){e=ve(e),i=oi(i);var t=e.length;n=n===void 0?t:pt(ae(n),0,t);var o=n;return n-=i.length,n>=0&&e.slice(n,o)==i}function nJ(e,i){return Le(i,function(n){return[n,e[n]]})}function tJ(e){var i=-1,n=Array(e.size);return e.forEach(function(t){n[++i]=[t,t]}),n}var oJ="[object Map]",aJ="[object Set]";function Nm(e){return function(i){var n=Oi(i);return n==oJ?dl(i):n==aJ?tJ(i):nJ(i,e(i))}}var sJ=Nm(Ne),rJ=Nm(ii),uJ={"&":"&","<":"<",">":">",'"':""","'":"'"},cJ=ol(uJ),Zm=/[&<>"']/g,lJ=RegExp(Zm.source);function Am(e){return e=ve(e),e&&lJ.test(e)?e.replace(Zm,cJ):e}var Mm=/[\\^$.*+?()[\]{}|]/g,dJ=RegExp(Mm.source);function gJ(e){return e=ve(e),e&&dJ.test(e)?e.replace(Mm,"\\$&"):e}function Hm(e,i){for(var n=-1,t=e==null?0:e.length;++n<t;)if(!i(e[n],n,e))return!1;return!0}function hJ(e,i){var n=!0;return An(e,function(t,o,a){return n=!!i(t,o,a),n}),n}function pJ(e,i,n){var t=ne(e)?Hm:hJ;return n&&We(e,i,n)&&(i=void 0),t(e,ie(i))}var fJ=4294967295;function Im(e){return e?pt(ae(e),0,fJ):0}function vJ(e,i,n,t){var o=e.length;for(n=ae(n),n<0&&(n=-n>o?0:o+n),t=t===void 0||t>o?o:ae(t),t<0&&(t+=o),t=n>t?0:Im(t);n<t;)e[n++]=i;return e}function yJ(e,i,n,t){var o=e==null?0:e.length;return o?(n&&typeof n!="number"&&We(e,i,n)&&(n=0,t=o),vJ(e,i,n,t)):[]}function Xm(e,i){var n=[];return An(e,function(t,o,a){i(t,o,a)&&n.push(t)}),n}function mJ(e,i){var n=ne(e)?Zn:Xm;return n(e,ie(i))}function _m(e){return function(i,n,t){var o=Object(i);if(!ei(i)){var a=ie(n);i=Ne(i),n=function(r){return a(o[r],r,o)}}var s=e(i,n,t);return s>-1?o[a?i[s]:s]:void 0}}var bJ=Math.max;function Fm(e,i,n){var t=e==null?0:e.length;if(!t)return-1;var o=n==null?0:ae(n);return o<0&&(o=bJ(t+o,0)),Rs(e,ie(i),o)}var wJ=_m(Fm);function Wm(e,i,n){var t;return n(e,function(o,a,s){if(i(o,a,s))return t=a,!1}),t}function kJ(e,i){return Wm(e,ie(i),Zi)}var jJ=Math.max,SJ=Math.min;function Gm(e,i,n){var t=e==null?0:e.length;if(!t)return-1;var o=t-1;return n!==void 0&&(o=ae(n),o=n<0?jJ(t+o,0):SJ(o,t-1)),Rs(e,ie(i),o,!0)}var CJ=_m(Gm);function LJ(e,i){return Wm(e,ie(i),wl)}function xJ(e){return e&&e.length?e[0]:void 0}function Qm(e,i){var n=-1,t=ei(e)?Array(e.length):[];return An(e,function(o,a,s){t[++n]=i(o,a,s)}),t}function Ws(e,i){var n=ne(e)?Le:Qm;return n(e,ie(i))}function TJ(e,i){return Ae(Ws(e,i),1)}var YJ=1/0;function DJ(e,i){return Ae(Ws(e,i),YJ)}function $J(e,i,n){return n=n===void 0?1:ae(n),Ae(Ws(e,i),n)}var EJ=1/0;function BJ(e){var i=e==null?0:e.length;return i?Ae(e,EJ):[]}function RJ(e,i){var n=e==null?0:e.length;return n?(i=i===void 0?1:ae(i),Ae(e,i)):[]}var OJ=512;function JJ(e){return an(e,OJ)}var PJ=al("floor"),NJ="Expected a function",ZJ=8,AJ=32,MJ=128,HJ=256;function zm(e){return un(function(i){var n=i.length,t=n,o=fi.prototype.thru;for(e&&i.reverse();t--;){var a=i[t];if(typeof a!="function")throw new TypeError(NJ);if(o&&!s&&Fa(a)=="wrapper")var s=new fi([],!0)}for(t=s?t:n;++t<n;){a=i[t];var r=Fa(a),u=r=="wrapper"?Fc(a):void 0;u&&Pu(u[0])&&u[1]==(MJ|ZJ|AJ|HJ)&&!u[4].length&&u[9]==1?s=s[Fa(u[0])].apply(s,u[3]):s=a.length==1&&Pu(a)?s[r]():s.thru(a)}return function(){var c=arguments,l=c[0];if(s&&c.length==1&&ne(l))return s.plant(l).value();for(var d=0,g=n?i[d].apply(this,c):l;++d<n;)g=i[d].call(this,g);return g}})}var IJ=zm(),XJ=zm(!0);function _J(e,i){return e==null?e:vl(e,Ai(i),ii)}function FJ(e,i){return e==null?e:Jm(e,Ai(i),ii)}function WJ(e,i){return e&&Zi(e,Ai(i))}function GJ(e,i){return e&&wl(e,Ai(i))}function QJ(e){for(var i=-1,n=e==null?0:e.length,t={};++i<n;){var o=e[i];Pi(t,o[0],o[1])}return t}function Gs(e,i){return Zn(i,function(n){return tn(e[n])})}function zJ(e){return e==null?[]:Gs(e,Ne(e))}function KJ(e){return e==null?[]:Gs(e,ii(e))}var VJ=Object.prototype,UJ=VJ.hasOwnProperty,qJ=Xs(function(e,i,n){UJ.call(e,n)?e[n].push(i):Pi(e,n,[i])});function kl(e,i){return e>i}function Qs(e){return function(i,n){return typeof i=="string"&&typeof n=="string"||(i=hi(i),n=hi(n)),e(i,n)}}var eP=Qs(kl),iP=Qs(function(e,i){return e>=i}),nP=Object.prototype,tP=nP.hasOwnProperty;function oP(e,i){return e!=null&&tP.call(e,i)}function aP(e,i){return e!=null&&Sm(e,i,oP)}var sP=Math.max,rP=Math.min;function uP(e,i,n){return e>=rP(i,n)&&e<sP(i,n)}function cP(e,i,n){return i=Ki(i),n===void 0?(n=i,i=0):n=Ki(n),e=hi(e),uP(e,i,n)}var lP="[object String]";function zs(e){return typeof e=="string"||!ne(e)&&De(e)&&Ge(e)==lP}function jl(e,i){return Le(i,function(n){return e[n]})}function go(e){return e==null?[]:jl(e,Ne(e))}var dP=Math.max;function gP(e,i,n,t){e=ei(e)?e:go(e),n=n&&!t?ae(n):0;var o=e.length;return n<0&&(n=dP(o+n,0)),zs(e)?n<=o&&e.indexOf(i,n)>-1:!!o&&ao(e,i,n)>-1}var hP=Math.max;function pP(e,i,n){var t=e==null?0:e.length;if(!t)return-1;var o=n==null?0:ae(n);return o<0&&(o=hP(t+o,0)),ao(e,i,o)}function fP(e){var i=e==null?0:e.length;return i?yi(e,0,-1):[]}var vP=Math.min;function Sl(e,i,n){for(var t=n?bl:Os,o=e[0].length,a=e.length,s=a,r=Array(a),u=1/0,c=[];s--;){var l=e[s];s&&i&&(l=Le(l,si(i))),u=vP(l.length,u),r[s]=!n&&(i||o>=120&&l.length>=120)?new tt(s&&l):void 0}l=e[0];var d=-1,g=r[0];e:for(;++d<o&&c.length<u;){var h=l[d],p=i?i(h):h;if(h=n||h!==0?h:0,!(g?qo(g,p):t(c,p,n))){for(s=a;--s;){var v=r[s];if(!(v?qo(v,p):t(e[s],p,n)))continue e}g&&g.push(p),c.push(h)}}return c}function Cl(e){return Re(e)?e:[]}var yP=ue(function(e){var i=Le(e,Cl);return i.length&&i[0]===e[0]?Sl(i):[]}),mP=ue(function(e){var i=mi(e),n=Le(e,Cl);return i===mi(n)?i=void 0:n.pop(),n.length&&n[0]===e[0]?Sl(n,ie(i)):[]}),bP=ue(function(e){var i=mi(e),n=Le(e,Cl);return i=typeof i=="function"?i:void 0,i&&n.pop(),n.length&&n[0]===e[0]?Sl(n,void 0,i):[]});function wP(e,i,n,t){return Zi(e,function(o,a,s){i(t,n(o),a,s)}),t}function Km(e,i){return function(n,t){return wP(n,e,i(t),{})}}var kP=Object.prototype,jP=kP.toString,SP=Km(function(e,i,n){i!=null&&typeof i.toString!="function"&&(i=jP.call(i)),e[i]=n},Wc(qe)),Vm=Object.prototype,CP=Vm.hasOwnProperty,LP=Vm.toString,xP=Km(function(e,i,n){i!=null&&typeof i.toString!="function"&&(i=LP.call(i)),CP.call(e,i)?e[i].push(n):e[i]=[n]},ie);function Um(e,i){return i.length<2?e:ht(e,yi(i,0,-1))}function pa(e,i,n){i=Jn(i,e),e=Um(e,i);var t=e==null?e:e[Si(mi(i))];return t==null?void 0:ai(t,e,n)}var TP=ue(pa),YP=ue(function(e,i,n){var t=-1,o=typeof i=="function",a=ei(e)?Array(e.length):[];return An(e,function(s){a[++t]=o?ai(i,s,n):pa(s,i,n)}),a}),DP="[object ArrayBuffer]";function $P(e){return De(e)&&Ge(e)==DP}var Eh=vi&&vi.isArrayBuffer,EP=Eh?si(Eh):$P,BP="[object Boolean]";function RP(e){return e===!0||e===!1||De(e)&&Ge(e)==BP}var OP="[object Date]";function JP(e){return De(e)&&Ge(e)==OP}var Bh=vi&&vi.isDate,PP=Bh?si(Bh):JP;function NP(e){return De(e)&&e.nodeType===1&&!da(e)}var ZP="[object Map]",AP="[object Set]",MP=Object.prototype,HP=MP.hasOwnProperty;function IP(e){if(e==null)return!0;if(ei(e)&&(ne(e)||typeof e=="string"||typeof e.splice=="function"||xn(e)||uo(e)||it(e)))return!e.length;var i=Oi(e);if(i==ZP||i==AP)return!e.size;if(la(e))return!Kc(e).length;for(var n in e)if(HP.call(e,n))return!1;return!0}function XP(e,i){return ga(e,i)}function _P(e,i,n){n=typeof n=="function"?n:void 0;var t=n?n(e,i):void 0;return t===void 0?ga(e,i,void 0,n):!!t}var FP=Pe.isFinite;function WP(e){return typeof e=="number"&&FP(e)}function qm(e){return typeof e=="number"&&e==ae(e)}function GP(e,i){return e===i||gl(e,i,hl(i))}function QP(e,i,n){return n=typeof n=="function"?n:void 0,gl(e,i,hl(i),n)}var zP="[object Number]";function e0(e){return typeof e=="number"||De(e)&&Ge(e)==zP}function KP(e){return e0(e)&&e!=+e}var VP=_a?tn:zc,UP="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.";function qP(e){if(VP(e))throw new Error(UP);return fy(e)}function eN(e){return e==null}function iN(e){return e===null}var nN="[object RegExp]";function tN(e){return De(e)&&Ge(e)==nN}var Rh=vi&&vi.isRegExp,Ll=Rh?si(Rh):tN,Oh=9007199254740991;function oN(e){return qm(e)&&e>=-Oh&&e<=Oh}function aN(e){return e===void 0}var sN="[object WeakMap]";function rN(e){return De(e)&&Oi(e)==sN}var uN="[object WeakSet]";function cN(e){return De(e)&&Ge(e)==uN}var lN=1;function dN(e){return ie(typeof e=="function"?e:pi(e,lN))}var gN=Array.prototype,hN=gN.join;function pN(e,i){return e==null?"":hN.call(e,i)}var fN=lo(function(e,i,n){return e+(n?"-":"")+i.toLowerCase()}),vN=Xs(function(e,i,n){Pi(e,n,i)});function yN(e,i,n){for(var t=n+1;t--;)if(e[t]===i)return t;return t}var mN=Math.max,bN=Math.min;function wN(e,i,n){var t=e==null?0:e.length;if(!t)return-1;var o=t;return n!==void 0&&(o=ae(n),o=o<0?mN(t+o,0):bN(o,t-1)),i===i?yN(e,i,o):Rs(e,jy,o,!0)}var kN=lo(function(e,i,n){return e+(n?" ":"")+i.toLowerCase()}),jN=Xy("toLowerCase");function xl(e,i){return e<i}var SN=Qs(xl),CN=Qs(function(e,i){return e<=i});function LN(e,i){var n={};return i=ie(i),Zi(e,function(t,o,a){Pi(n,i(t,o,a),t)}),n}function xN(e,i){var n={};return i=ie(i),Zi(e,function(t,o,a){Pi(n,o,i(t,o,a))}),n}var TN=1;function YN(e){return jm(pi(e,TN))}var DN=1;function $N(e,i){return Cm(e,pi(i,DN))}function Ks(e,i,n){for(var t=-1,o=e.length;++t<o;){var a=e[t],s=i(a);if(s!=null&&(r===void 0?s===s&&!ti(s):n(s,r)))var r=s,u=a}return u}function EN(e){return e&&e.length?Ks(e,qe,kl):void 0}function BN(e,i){return e&&e.length?Ks(e,ie(i),kl):void 0}function Tl(e,i){for(var n,t=-1,o=e.length;++t<o;){var a=i(e[t]);a!==void 0&&(n=n===void 0?a:n+a)}return n}var RN=NaN;function i0(e,i){var n=e==null?0:e.length;return n?Tl(e,i)/n:RN}function ON(e){return i0(e,qe)}function JN(e,i){return i0(e,ie(i))}var PN=ro(function(e,i,n){_s(e,i,n)}),NN=ue(function(e,i){return function(n){return pa(n,e,i)}}),ZN=ue(function(e,i){return function(n){return pa(e,n,i)}});function AN(e){return e&&e.length?Ks(e,qe,xl):void 0}function MN(e,i){return e&&e.length?Ks(e,ie(i),xl):void 0}function HN(e,i,n){var t=Ne(i),o=Gs(i,t),a=!(Te(n)&&"chain"in n)||!!n.chain,s=tn(e);return ui(o,function(r){var u=i[r];e[r]=u,s&&(e.prototype[r]=function(){var c=this.__chain__;if(a||c){var l=e(this.__wrapped__),d=l.__actions__=Ue(this.__actions__);return d.push({func:u,args:arguments,thisArg:e}),l.__chain__=c,l}return u.apply(e,Pn([this.value()],arguments))})}),e}var IN=Es(function(e,i){return e*i},1),XN="Expected a function";function Vs(e){if(typeof e!="function")throw new TypeError(XN);return function(){var i=arguments;switch(i.length){case 0:return!e.call(this);case 1:return!e.call(this,i[0]);case 2:return!e.call(this,i[0],i[1]);case 3:return!e.call(this,i[0],i[1],i[2])}return!e.apply(this,i)}}function _N(e){for(var i,n=[];!(i=e.next()).done;)n.push(i.value);return n}var FN="[object Map]",WN="[object Set]",Br=He?He.iterator:void 0;function n0(e){if(!e)return[];if(ei(e))return zs(e)?Ci(e):Ue(e);if(Br&&e[Br])return _N(e[Br]());var i=Oi(e),n=i==FN?dl:i==WN?Is:go;return n(e)}function GN(){this.__values__===void 0&&(this.__values__=n0(this.value()));var e=this.__index__>=this.__values__.length,i=e?void 0:this.__values__[this.__index__++];return{done:e,value:i}}function t0(e,i){var n=e.length;if(n)return i+=i<0?n:0,on(i,n)?e[i]:void 0}function QN(e,i){return e&&e.length?t0(e,ae(i)):void 0}function zN(e){return e=ae(e),ue(function(i){return t0(i,e)})}var KN=Object.prototype,VN=KN.hasOwnProperty;function Yl(e,i){i=Jn(i,e);var n=-1,t=i.length;if(!t)return!0;for(;++n<t;){var o=Si(i[n]);if(o==="__proto__"&&!VN.call(e,"__proto__")||(o==="constructor"||o==="prototype")&&n<t-1)return!1}var a=Um(e,i);return a==null||delete a[Si(mi(i))]}function UN(e){return da(e)?void 0:e}var qN=1,eZ=2,iZ=4,nZ=un(function(e,i){var n={};if(e==null)return n;var t=!1;i=Le(i,function(a){return a=Jn(a,e),t||(t=a.length>1),a}),Ni(e,ul(e),n),t&&(n=pi(n,qN|eZ|iZ,UN));for(var o=i.length;o--;)Yl(n,i[o]);return n});function fa(e,i,n,t){if(!Te(e))return e;i=Jn(i,e);for(var o=-1,a=i.length,s=a-1,r=e;r!=null&&++o<a;){var u=Si(i[o]),c=n;if(u==="__proto__"||u==="constructor"||u==="prototype")return e;if(o!=s){var l=r[u];c=t?t(l,u,r):void 0,c===void 0&&(c=Te(l)?l:on(i[o+1])?[]:{})}ca(r,u,c),r=r[u]}return e}function o0(e,i,n){for(var t=-1,o=i.length,a={};++t<o;){var s=i[t],r=ht(e,s);n(r,s)&&fa(a,Jn(s,e),r)}return a}function a0(e,i){if(e==null)return{};var n=Le(ul(e),function(t){return[t]});return i=ie(i),o0(e,n,function(t,o){return i(t,o[0])})}function tZ(e,i){return a0(e,Vs(ie(i)))}function oZ(e){return Py(2,e)}function aZ(e,i){var n=e.length;for(e.sort(i);n--;)e[n]=e[n].value;return e}function s0(e,i){if(e!==i){var n=e!==void 0,t=e===null,o=e===e,a=ti(e),s=i!==void 0,r=i===null,u=i===i,c=ti(i);if(!r&&!c&&!a&&e>i||a&&s&&u&&!r&&!c||t&&s&&u||!n&&u||!o)return 1;if(!t&&!a&&!c&&e<i||c&&n&&o&&!t&&!a||r&&n&&o||!s&&o||!u)return-1}return 0}function sZ(e,i,n){for(var t=-1,o=e.criteria,a=i.criteria,s=o.length,r=n.length;++t<s;){var u=s0(o[t],a[t]);if(u){if(t>=r)return u;var c=n[t];return u*(c=="desc"?-1:1)}}return e.index-i.index}function r0(e,i,n){i.length?i=Le(i,function(a){return ne(a)?function(s){return ht(s,a.length===1?a[0]:a)}:a}):i=[qe];var t=-1;i=Le(i,si(ie));var o=Qm(e,function(a,s,r){var u=Le(i,function(c){return c(a)});return{criteria:u,index:++t,value:a}});return aZ(o,function(a,s){return sZ(a,s,n)})}function rZ(e,i,n,t){return e==null?[]:(ne(i)||(i=i==null?[]:[i]),n=t?void 0:n,ne(n)||(n=n==null?[]:[n]),r0(e,i,n))}function Dl(e){return un(function(i){return i=Le(i,si(ie)),ue(function(n){var t=this;return e(i,function(o){return ai(o,t,n)})})})}var uZ=Dl(Le),cZ=ue,lZ=Math.min,dZ=cZ(function(e,i){i=i.length==1&&ne(i[0])?Le(i[0],si(ie)):Le(Ae(i,1),si(ie));var n=i.length;return ue(function(t){for(var o=-1,a=lZ(t.length,n);++o<a;)t[o]=i[o].call(this,t[o]);return ai(e,this,t)})}),gZ=Dl(Hm),hZ=Dl(ll),pZ=9007199254740991,fZ=Math.floor;function Fu(e,i){var n="";if(!e||i<1||i>pZ)return n;do i%2&&(n+=e),i=fZ(i/2),i&&(e+=e);while(i);return n}var vZ=fl("length"),u0="\\ud800-\\udfff",yZ="\\u0300-\\u036f",mZ="\\ufe20-\\ufe2f",bZ="\\u20d0-\\u20ff",wZ=yZ+mZ+bZ,kZ="\\ufe0e\\ufe0f",jZ="["+u0+"]",Wu="["+wZ+"]",Gu="\\ud83c[\\udffb-\\udfff]",SZ="(?:"+Wu+"|"+Gu+")",c0="[^"+u0+"]",l0="(?:\\ud83c[\\udde6-\\uddff]){2}",d0="[\\ud800-\\udbff][\\udc00-\\udfff]",CZ="\\u200d",g0=SZ+"?",h0="["+kZ+"]?",LZ="(?:"+CZ+"(?:"+[c0,l0,d0].join("|")+")"+h0+g0+")*",xZ=h0+g0+LZ,TZ="(?:"+[c0+Wu+"?",Wu,l0,d0,jZ].join("|")+")",Jh=RegExp(Gu+"(?="+Gu+")|"+TZ+xZ,"g");function YZ(e){for(var i=Jh.lastIndex=0;Jh.test(e);)++i;return i}function ho(e){return co(e)?YZ(e):vZ(e)}var DZ=Math.ceil;function ls(e,i){i=i===void 0?" ":oi(i);var n=i.length;if(n<2)return n?Fu(i,e):i;var t=Fu(i,DZ(e/ho(i)));return co(i)?Nn(Ci(t),0,e).join(""):t.slice(0,e)}var $Z=Math.ceil,EZ=Math.floor;function BZ(e,i,n){e=ve(e),i=ae(i);var t=i?ho(e):0;if(!i||t>=i)return e;var o=(i-t)/2;return ls(EZ(o),n)+e+ls($Z(o),n)}function RZ(e,i,n){e=ve(e),i=ae(i);var t=i?ho(e):0;return i&&t<i?e+ls(i-t,n):e}function OZ(e,i,n){e=ve(e),i=ae(i);var t=i?ho(e):0;return i&&t<i?ls(i-t,n)+e:e}var JZ=/^\s+/,PZ=Pe.parseInt;function NZ(e,i,n){return n||i==null?i=0:i&&(i=+i),PZ(ve(e).replace(JZ,""),i||0)}var ZZ=32,Us=ue(function(e,i){var n=Ln(i,so(Us));return an(e,ZZ,void 0,i,n)});Us.placeholder={};var AZ=64,$l=ue(function(e,i){var n=Ln(i,so($l));return an(e,AZ,void 0,i,n)});$l.placeholder={};var MZ=Xs(function(e,i,n){e[n?0:1].push(i)},function(){return[[],[]]});function HZ(e,i){return o0(e,i,function(n,t){return pl(e,t)})}var IZ=un(function(e,i){return e==null?{}:HZ(e,i)});function XZ(e){for(var i,n=this;n instanceof Bs;){var t=by(n);t.__index__=0,t.__values__=void 0,i?o.__wrapped__=t:i=t;var o=t;n=n.__wrapped__}return o.__wrapped__=e,i}function _Z(e){return function(i){return e==null?void 0:ht(e,i)}}function FZ(e,i,n,t){for(var o=n-1,a=e.length;++o<a;)if(t(e[o],i))return o;return-1}var WZ=Array.prototype,Ph=WZ.splice;function El(e,i,n,t){var o=t?FZ:ao,a=-1,s=i.length,r=e;for(e===i&&(i=Ue(i)),n&&(r=Le(e,si(n)));++a<s;)for(var u=0,c=i[a],l=n?n(c):c;(u=o(r,l,u,t))>-1;)r!==e&&Ph.call(r,u,1),Ph.call(e,u,1);return e}function p0(e,i){return e&&e.length&&i&&i.length?El(e,i):e}var GZ=ue(p0);function QZ(e,i,n){return e&&e.length&&i&&i.length?El(e,i,ie(n)):e}function zZ(e,i,n){return e&&e.length&&i&&i.length?El(e,i,void 0,n):e}var KZ=Array.prototype,VZ=KZ.splice;function f0(e,i){for(var n=e?i.length:0,t=n-1;n--;){var o=i[n];if(n==t||o!==a){var a=o;on(o)?VZ.call(e,o,1):Yl(e,o)}}return e}var UZ=un(function(e,i){var n=e==null?0:e.length,t=qc(e,i);return f0(e,Le(i,function(o){return on(o,n)?+o:o}).sort(s0)),t}),qZ=Math.floor,eA=Math.random;function Bl(e,i){return e+qZ(eA()*(i-e+1))}var iA=parseFloat,nA=Math.min,tA=Math.random;function oA(e,i,n){if(n&&typeof n!="boolean"&&We(e,i,n)&&(i=n=void 0),n===void 0&&(typeof i=="boolean"?(n=i,i=void 0):typeof e=="boolean"&&(n=e,e=void 0)),e===void 0&&i===void 0?(e=0,i=1):(e=Ki(e),i===void 0?(i=e,e=0):i=Ki(i)),e>i){var t=e;e=i,i=t}if(n||e%1||i%1){var o=tA();return nA(e+o*(i-e+iA("1e-"+((o+"").length-1))),i)}return Bl(e,i)}var aA=Math.ceil,sA=Math.max;function rA(e,i,n,t){for(var o=-1,a=sA(aA((i-e)/(n||1)),0),s=Array(a);a--;)s[t?a:++o]=e,e+=n;return s}function v0(e){return function(i,n,t){return t&&typeof t!="number"&&We(i,n,t)&&(n=t=void 0),i=Ki(i),n===void 0?(n=i,i=0):n=Ki(n),t=t===void 0?i<n?1:-1:Ki(t),rA(i,n,t,e)}}var uA=v0(),cA=v0(!0),lA=256,dA=un(function(e,i){return an(e,lA,void 0,void 0,void 0,i)});function y0(e,i,n,t,o){return o(e,function(a,s,r){n=t?(t=!1,a):i(n,a,s,r)}),n}function gA(e,i,n){var t=ne(e)?tl:y0,o=arguments.length<3;return t(e,ie(i),n,o,An)}function hA(e,i,n,t){var o=e==null?0:e.length;for(t&&o&&(n=e[--o]);o--;)n=i(n,e[o],o,e);return n}function pA(e,i,n){var t=ne(e)?hA:y0,o=arguments.length<3;return t(e,ie(i),n,o,Pm)}function fA(e,i){var n=ne(e)?Zn:Xm;return n(e,Vs(ie(i)))}function vA(e,i){var n=[];if(!(e&&e.length))return n;var t=-1,o=[],a=e.length;for(i=ie(i);++t<a;){var s=e[t];i(s,t,e)&&(n.push(s),o.push(t))}return f0(e,o),n}function yA(e,i,n){return(n?We(e,i,n):i===void 0)?i=1:i=ae(i),Fu(ve(e),i)}function mA(){var e=arguments,i=ve(e[0]);return e.length<3?i:i.replace(e[1],e[2])}var bA="Expected a function";function wA(e,i){if(typeof e!="function")throw new TypeError(bA);return i=i===void 0?i:ae(i),ue(e,i)}function kA(e,i,n){i=Jn(i,e);var t=-1,o=i.length;for(o||(o=1,e=void 0);++t<o;){var a=e?.[Si(i[t])];a===void 0&&(t=o,a=n),e=tn(a)?a.call(e):a}return e}var jA=Array.prototype,SA=jA.reverse;function Qu(e){return e==null?e:SA.call(e)}var CA=al("round");function m0(e){var i=e.length;return i?e[Bl(0,i-1)]:void 0}function LA(e){return m0(go(e))}function xA(e){var i=ne(e)?m0:LA;return i(e)}function qs(e,i){var n=-1,t=e.length,o=t-1;for(i=i===void 0?t:i;++n<i;){var a=Bl(n,o),s=e[a];e[a]=e[n],e[n]=s}return e.length=i,e}function TA(e,i){return qs(Ue(e),pt(i,0,e.length))}function YA(e,i){var n=go(e);return qs(n,pt(i,0,n.length))}function DA(e,i,n){(n?We(e,i,n):i===void 0)?i=1:i=ae(i);var t=ne(e)?TA:YA;return t(e,i)}function $A(e,i,n){return e==null?e:fa(e,i,n)}function EA(e,i,n,t){return t=typeof t=="function"?t:void 0,e==null?e:fa(e,i,n,t)}function BA(e){return qs(Ue(e))}function RA(e){return qs(go(e))}function OA(e){var i=ne(e)?BA:RA;return i(e)}var JA="[object Map]",PA="[object Set]";function NA(e){if(e==null)return 0;if(ei(e))return zs(e)?ho(e):e.length;var i=Oi(e);return i==JA||i==PA?e.size:Kc(e).length}function ZA(e,i,n){var t=e==null?0:e.length;return t?(n&&typeof n!="number"&&We(e,i,n)?(i=0,n=t):(i=i==null?0:ae(i),n=n===void 0?t:ae(n)),yi(e,i,n)):[]}var AA=lo(function(e,i,n){return e+(n?"_":"")+i.toLowerCase()});function MA(e,i){var n;return An(e,function(t,o,a){return n=i(t,o,a),!n}),!!n}function HA(e,i,n){var t=ne(e)?ll:MA;return n&&We(e,i,n)&&(i=void 0),t(e,ie(i))}var IA=ue(function(e,i){if(e==null)return[];var n=i.length;return n>1&&We(e,i[0],i[1])?i=[]:n>2&&We(i[0],i[1],i[2])&&(i=[i[0]]),r0(e,Ae(i,1),[])}),XA=4294967295,_A=XA-1,FA=Math.floor,WA=Math.min;function Rl(e,i,n,t){var o=0,a=e==null?0:e.length;if(a===0)return 0;i=n(i);for(var s=i!==i,r=i===null,u=ti(i),c=i===void 0;o<a;){var l=FA((o+a)/2),d=n(e[l]),g=d!==void 0,h=d===null,p=d===d,v=ti(d);if(s)var y=t||p;else c?y=p&&(t||g):r?y=p&&g&&(t||!h):u?y=p&&g&&!h&&(t||!v):h||v?y=!1:y=t?d<=i:d<i;y?o=l+1:a=l}return WA(a,_A)}var GA=4294967295,QA=GA>>>1;function er(e,i,n){var t=0,o=e==null?t:e.length;if(typeof i=="number"&&i===i&&o<=QA){for(;t<o;){var a=t+o>>>1,s=e[a];s!==null&&!ti(s)&&(n?s<=i:s<i)?t=a+1:o=a}return o}return Rl(e,i,qe,n)}function zA(e,i){return er(e,i)}function KA(e,i,n){return Rl(e,i,ie(n))}function VA(e,i){var n=e==null?0:e.length;if(n){var t=er(e,i);if(t<n&&Ti(e[t],i))return t}return-1}function UA(e,i){return er(e,i,!0)}function qA(e,i,n){return Rl(e,i,ie(n),!0)}function eM(e,i){var n=e==null?0:e.length;if(n){var t=er(e,i,!0)-1;if(Ti(e[t],i))return t}return-1}function b0(e,i){for(var n=-1,t=e.length,o=0,a=[];++n<t;){var s=e[n],r=i?i(s):s;if(!n||!Ti(r,u)){var u=r;a[o++]=s===0?0:s}}return a}function iM(e){return e&&e.length?b0(e):[]}function nM(e,i){return e&&e.length?b0(e,ie(i)):[]}var tM=4294967295;function oM(e,i,n){return n&&typeof n!="number"&&We(e,i,n)&&(i=n=void 0),n=n===void 0?tM:n>>>0,n?(e=ve(e),e&&(typeof i=="string"||i!=null&&!Ll(i))&&(i=oi(i),!i&&co(e))?Nn(Ci(e),0,n):e.split(i,n)):[]}var aM="Expected a function",sM=Math.max;function rM(e,i){if(typeof e!="function")throw new TypeError(aM);return i=i==null?0:sM(ae(i),0),ue(function(n){var t=n[i],o=Nn(n,0,i);return t&&Pn(o,t),ai(e,this,o)})}var uM=lo(function(e,i,n){return e+(n?" ":"")+nl(i)});function cM(e,i,n){return e=ve(e),n=n==null?0:pt(ae(n),0,e.length),i=oi(i),e.slice(n,n+i.length)==i}function lM(){return{}}function dM(){return""}function gM(){return!0}var hM=Es(function(e,i){return e-i},0);function pM(e){return e&&e.length?Tl(e,qe):0}function fM(e,i){return e&&e.length?Tl(e,ie(i)):0}function vM(e){var i=e==null?0:e.length;return i?yi(e,1,i):[]}function yM(e,i,n){return e&&e.length?(i=n||i===void 0?1:ae(i),yi(e,0,i<0?0:i)):[]}function mM(e,i,n){var t=e==null?0:e.length;return t?(i=n||i===void 0?1:ae(i),i=t-i,yi(e,i<0?0:i,t)):[]}function bM(e,i){return e&&e.length?Fs(e,ie(i),!1,!0):[]}function wM(e,i){return e&&e.length?Fs(e,ie(i)):[]}function kM(e,i){return i(e),e}var w0=Object.prototype,jM=w0.hasOwnProperty;function Nh(e,i,n,t){return e===void 0||Ti(e,w0[n])&&!jM.call(t,n)?i:e}var SM={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"};function CM(e){return"\\"+SM[e]}var k0=/<%=([\s\S]+?)%>/g,LM=/<%-([\s\S]+?)%>/g,xM=/<%([\s\S]+?)%>/g,zu={escape:LM,evaluate:xM,interpolate:k0,variable:"",imports:{_:{escape:Am}}},TM="Invalid `variable` option passed into `_.template`",YM="Invalid `imports` option passed into `_.template`",DM=/\b__p \+= '';/g,$M=/\b(__p \+=) '' \+/g,EM=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Zh=/[()=,{}\[\]\/\s]/,BM=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Ba=/($^)/,RM=/['\n\r\u2028\u2029\\]/g,OM=Object.prototype,Ah=OM.hasOwnProperty;function JM(e,i,n){var t=zu.imports._.templateSettings||zu;n&&We(e,i,n)&&(i=void 0),e=ve(e),i=Nu({},i,t,Nh);var o=Nu({},i.imports,t.imports,Nh),a=Ne(o),s=jl(o,a);ui(a,function(y){if(Zh.test(y))throw new Error(YM)});var r,u,c=0,l=i.interpolate||Ba,d="__p += '",g=RegExp((i.escape||Ba).source+"|"+l.source+"|"+(l===k0?BM:Ba).source+"|"+(i.evaluate||Ba).source+"|$","g"),h=Ah.call(i,"sourceURL")?"//# sourceURL="+(i.sourceURL+"").replace(/\s/g," ")+`
|
|
121
|
+
`)}function Wc(e){return function(){return e}}var us=(function(){try{var e=gt(Object,"defineProperty");return e({},"",{}),e}catch{}})(),wY=us?function(e,i){return us(e,"toString",{configurable:!0,enumerable:!1,value:Wc(i),writable:!0})}:qe,Gc=wy(wY);function ui(e,i){for(var n=-1,t=e==null?0:e.length;++n<t&&i(e[n],n,e)!==!1;);return e}function Rs(e,i,n,t){for(var o=e.length,a=n+(t?1:-1);t?a--:++a<o;)if(i(e[a],a,e))return a;return-1}function jy(e){return e!==e}function kY(e,i,n){for(var t=n-1,o=e.length;++t<o;)if(e[t]===i)return t;return-1}function ao(e,i,n){return i===i?kY(e,i,n):Rs(e,jy,n)}function Os(e,i){var n=e==null?0:e.length;return!!n&&ao(e,i,0)>-1}var jY=1,SY=2,CY=8,LY=16,xY=32,TY=64,YY=128,DY=256,$Y=512,EY=[["ary",YY],["bind",jY],["bindKey",SY],["curry",CY],["curryRight",LY],["flip",$Y],["partial",xY],["partialRight",TY],["rearg",DY]];function BY(e,i){return ui(EY,function(n){var t="_."+n[0];i&n[1]&&!Os(e,t)&&e.push(t)}),e.sort()}function Sy(e,i,n){var t=i+"";return Gc(e,bY(t,BY(yY(t),n)))}var RY=4,OY=8,Gg=32,Qg=64;function Cy(e,i,n,t,o,a,s,r,u,c){var l=i&OY,d=l?s:void 0,g=l?void 0:s,h=l?a:void 0,p=l?void 0:a;i|=l?Gg:Qg,i&=~(l?Qg:Gg),i&RY||(i&=-4);var v=[e,i,o,h,d,p,g,r,u,c],y=n.apply(void 0,v);return Pu(e)&&ky(y,v),y.placeholder=t,Sy(y,e,i)}function so(e){var i=e;return i.placeholder}var JY=9007199254740991,PY=/^(?:0|[1-9]\d*)$/;function on(e,i){var n=typeof e;return i=i??JY,!!i&&(n=="number"||n!="symbol"&&PY.test(e))&&e>-1&&e%1==0&&e<i}var NY=Math.min;function ZY(e,i){for(var n=e.length,t=NY(i.length,n),o=Ue(e);t--;){var a=i[t];e[t]=on(a,n)?o[a]:void 0}return e}var zg="__lodash_placeholder__";function Ln(e,i){for(var n=-1,t=e.length,o=0,a=[];++n<t;){var s=e[n];(s===i||s===zg)&&(e[n]=zg,a[o++]=n)}return a}var AY=1,MY=2,HY=8,IY=16,XY=128,_Y=512;function Js(e,i,n,t,o,a,s,r,u,c){var l=i&XY,d=i&AY,g=i&MY,h=i&(HY|IY),p=i&_Y,v=g?void 0:Ko(e);function y(){for(var b=arguments.length,m=Array(b),j=b;j--;)m[j]=arguments[j];if(h)var x=so(y),$=sY(m,x);if(t&&(m=yy(m,t,o,h)),a&&(m=my(m,a,s,h)),b-=$,h&&b<c){var T=Ln(m,x);return Cy(e,i,Js,y.placeholder,n,m,T,r,u,c-b)}var B=d?n:this,J=g?B[e]:e;return b=m.length,r?m=ZY(m,r):p&&b>1&&m.reverse(),l&&u<b&&(m.length=u),this&&this!==Pe&&this instanceof y&&(J=v||Ko(J)),J.apply(B,m)}return y}function FY(e,i,n){var t=Ko(e);function o(){for(var a=arguments.length,s=Array(a),r=a,u=so(o);r--;)s[r]=arguments[r];var c=a<3&&s[0]!==u&&s[a-1]!==u?[]:Ln(s,u);if(a-=c.length,a<n)return Cy(e,i,Js,o.placeholder,void 0,s,c,void 0,void 0,n-a);var l=this&&this!==Pe&&this instanceof o?t:e;return ai(l,this,s)}return o}var WY=1;function GY(e,i,n,t){var o=i&WY,a=Ko(e);function s(){for(var r=-1,u=arguments.length,c=-1,l=t.length,d=Array(l+u),g=this&&this!==Pe&&this instanceof s?a:e;++c<l;)d[c]=t[c];for(;u--;)d[c++]=arguments[++r];return ai(g,o?n:this,d)}return s}var Kg="__lodash_placeholder__",Dr=1,QY=2,zY=4,Vg=8,jo=128,Ug=256,KY=Math.min;function VY(e,i){var n=e[1],t=i[1],o=n|t,a=o<(Dr|QY|jo),s=t==jo&&n==Vg||t==jo&&n==Ug&&e[7].length<=i[8]||t==(jo|Ug)&&i[7].length<=i[8]&&n==Vg;if(!(a||s))return e;t&Dr&&(e[2]=i[2],o|=n&Dr?0:zY);var r=i[3];if(r){var u=e[3];e[3]=u?yy(u,r,i[4]):r,e[4]=u?Ln(e[3],Kg):i[4]}return r=i[5],r&&(u=e[5],e[5]=u?my(u,r,i[6]):r,e[6]=u?Ln(e[5],Kg):i[6]),r=i[7],r&&(e[7]=r),t&jo&&(e[8]=e[8]==null?i[8]:KY(e[8],i[8])),e[9]==null&&(e[9]=i[9]),e[0]=i[0],e[1]=o,e}var UY="Expected a function",qg=1,qY=2,eh=8,ih=16,nh=32,eD=64,th=Math.max;function an(e,i,n,t,o,a,s,r){var u=i&qY;if(!u&&typeof e!="function")throw new TypeError(UY);var c=t?t.length:0;if(c||(i&=-97,t=o=void 0),s=s===void 0?s:th(ae(s),0),r=r===void 0?r:ae(r),c-=o?o.length:0,i&eD){var l=t,d=o;t=o=void 0}var g=u?void 0:Fc(e),h=[e,i,n,t,o,l,d,a,s,r];if(g&&VY(h,g),e=h[0],i=h[1],n=h[2],t=h[3],o=h[4],r=h[9]=h[9]===void 0?u?0:e.length:th(h[9]-c,0),!r&&i&(eh|ih)&&(i&=-25),!i||i==qg)var p=tY(e,i,n);else i==eh||i==ih?p=FY(e,i,r):(i==nh||i==(qg|nh))&&!o.length?p=GY(e,i,n,t):p=Js.apply(void 0,h);var v=g?vy:ky;return Sy(v(p,h),e,i)}var iD=128;function Ly(e,i,n){return i=n?void 0:i,i=e&&i==null?e.length:i,an(e,iD,void 0,void 0,void 0,void 0,i)}function Pi(e,i,n){i=="__proto__"&&us?us(e,i,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[i]=n}function Ti(e,i){return e===i||e!==e&&i!==i}var nD=Object.prototype,tD=nD.hasOwnProperty;function ca(e,i,n){var t=e[i];(!(tD.call(e,i)&&Ti(t,n))||n===void 0&&!(i in e))&&Pi(e,i,n)}function Ni(e,i,n,t){var o=!n;n||(n={});for(var a=-1,s=i.length;++a<s;){var r=i[a],u=t?t(n[r],e[r],r,n,e):void 0;u===void 0&&(u=e[r]),o?Pi(n,r,u):ca(n,r,u)}return n}var oh=Math.max;function xy(e,i,n){return i=oh(i===void 0?e.length-1:i,0),function(){for(var t=arguments,o=-1,a=oh(t.length-i,0),s=Array(a);++o<a;)s[o]=t[i+o];o=-1;for(var r=Array(i+1);++o<i;)r[o]=t[o];return r[i]=n(s),ai(e,this,r)}}function ue(e,i){return Gc(xy(e,i,qe),e+"")}var oD=9007199254740991;function Ps(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=oD}function ei(e){return e!=null&&Ps(e.length)&&!tn(e)}function We(e,i,n){if(!Te(n))return!1;var t=typeof i;return(t=="number"?ei(n)&&on(i,n.length):t=="string"&&i in n)?Ti(n[i],e):!1}function ro(e){return ue(function(i,n){var t=-1,o=n.length,a=o>1?n[o-1]:void 0,s=o>2?n[2]:void 0;for(a=e.length>3&&typeof a=="function"?(o--,a):void 0,s&&We(n[0],n[1],s)&&(a=o<3?void 0:a,o=1),i=Object(i);++t<o;){var r=n[t];r&&e(i,r,t,a)}return i})}var aD=Object.prototype;function la(e){var i=e&&e.constructor,n=typeof i=="function"&&i.prototype||aD;return e===n}function Qc(e,i){for(var n=-1,t=Array(e);++n<e;)t[n]=i(n);return t}var sD="[object Arguments]";function ah(e){return $e(e)&&Ge(e)==sD}var Ty=Object.prototype,rD=Ty.hasOwnProperty,uD=Ty.propertyIsEnumerable,it=ah((function(){return arguments})())?ah:function(e){return $e(e)&&rD.call(e,"callee")&&!uD.call(e,"callee")};function zc(){return!1}var Yy=typeof exports=="object"&&exports&&!exports.nodeType&&exports,sh=Yy&&typeof module=="object"&&module&&!module.nodeType&&module,cD=sh&&sh.exports===Yy,rh=cD?Pe.Buffer:void 0,lD=rh?rh.isBuffer:void 0,xn=lD||zc,dD="[object Arguments]",gD="[object Array]",hD="[object Boolean]",pD="[object Date]",fD="[object Error]",vD="[object Function]",yD="[object Map]",mD="[object Number]",bD="[object Object]",wD="[object RegExp]",kD="[object Set]",jD="[object String]",SD="[object WeakMap]",CD="[object ArrayBuffer]",LD="[object DataView]",xD="[object Float32Array]",TD="[object Float64Array]",YD="[object Int8Array]",DD="[object Int16Array]",$D="[object Int32Array]",ED="[object Uint8Array]",BD="[object Uint8ClampedArray]",RD="[object Uint16Array]",OD="[object Uint32Array]",Se={};Se[xD]=Se[TD]=Se[YD]=Se[DD]=Se[$D]=Se[ED]=Se[BD]=Se[RD]=Se[OD]=!0;Se[dD]=Se[gD]=Se[CD]=Se[hD]=Se[LD]=Se[pD]=Se[fD]=Se[vD]=Se[yD]=Se[mD]=Se[bD]=Se[wD]=Se[kD]=Se[jD]=Se[SD]=!1;function JD(e){return $e(e)&&Ps(e.length)&&!!Se[Ge(e)]}function si(e){return function(i){return e(i)}}var Dy=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Zo=Dy&&typeof module=="object"&&module&&!module.nodeType&&module,PD=Zo&&Zo.exports===Dy,$r=PD&&dy.process,vi=(function(){try{var e=Zo&&Zo.require&&Zo.require("util").types;return e||$r&&$r.binding&&$r.binding("util")}catch{}})(),uh=vi&&vi.isTypedArray,uo=uh?si(uh):JD,ND=Object.prototype,ZD=ND.hasOwnProperty;function $y(e,i){var n=ne(e),t=!n&&it(e),o=!n&&!t&&xn(e),a=!n&&!t&&!o&&uo(e),s=n||t||o||a,r=s?Qc(e.length,String):[],u=r.length;for(var c in e)(i||ZD.call(e,c))&&!(s&&(c=="length"||o&&(c=="offset"||c=="parent")||a&&(c=="buffer"||c=="byteLength"||c=="byteOffset")||on(c,u)))&&r.push(c);return r}function Ey(e,i){return function(n){return e(i(n))}}var AD=Ey(Object.keys,Object),MD=Object.prototype,HD=MD.hasOwnProperty;function Kc(e){if(!la(e))return AD(e);var i=[];for(var n in Object(e))HD.call(e,n)&&n!="constructor"&&i.push(n);return i}function Ne(e){return ei(e)?$y(e):Kc(e)}var ID=Object.prototype,XD=ID.hasOwnProperty,_D=ro(function(e,i){if(la(i)||ei(i)){Ni(i,Ne(i),e);return}for(var n in i)XD.call(i,n)&&ca(e,n,i[n])});function FD(e){var i=[];if(e!=null)for(var n in Object(e))i.push(n);return i}var WD=Object.prototype,GD=WD.hasOwnProperty;function QD(e){if(!Te(e))return FD(e);var i=la(e),n=[];for(var t in e)t=="constructor"&&(i||!GD.call(e,t))||n.push(t);return n}function ii(e){return ei(e)?$y(e,!0):QD(e)}var zD=ro(function(e,i){Ni(i,ii(i),e)}),KD=ro(function(e,i,n,t){Ni(i,ii(i),e,t)}),Nu=ro(function(e,i,n,t){Ni(i,Ne(i),e,t)}),VD=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,UD=/^\w*$/;function Vc(e,i){if(ne(e))return!1;var n=typeof e;return n=="number"||n=="symbol"||n=="boolean"||e==null||ti(e)?!0:UD.test(e)||!VD.test(e)||i!=null&&e in Object(i)}var Vo=gt(Object,"create");function qD(){this.__data__=Vo?Vo(null):{},this.size=0}function e$(e){var i=this.has(e)&&delete this.__data__[e];return this.size-=i?1:0,i}var i$="__lodash_hash_undefined__",n$=Object.prototype,t$=n$.hasOwnProperty;function o$(e){var i=this.__data__;if(Vo){var n=i[e];return n===i$?void 0:n}return t$.call(i,e)?i[e]:void 0}var a$=Object.prototype,s$=a$.hasOwnProperty;function r$(e){var i=this.__data__;return Vo?i[e]!==void 0:s$.call(i,e)}var u$="__lodash_hash_undefined__";function c$(e,i){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=Vo&&i===void 0?u$:i,this}function nt(e){var i=-1,n=e==null?0:e.length;for(this.clear();++i<n;){var t=e[i];this.set(t[0],t[1])}}nt.prototype.clear=qD;nt.prototype.delete=e$;nt.prototype.get=o$;nt.prototype.has=r$;nt.prototype.set=c$;function l$(){this.__data__=[],this.size=0}function Ns(e,i){for(var n=e.length;n--;)if(Ti(e[n][0],i))return n;return-1}var d$=Array.prototype,g$=d$.splice;function h$(e){var i=this.__data__,n=Ns(i,e);if(n<0)return!1;var t=i.length-1;return n==t?i.pop():g$.call(i,n,1),--this.size,!0}function p$(e){var i=this.__data__,n=Ns(i,e);return n<0?void 0:i[n][1]}function f$(e){return Ns(this.__data__,e)>-1}function v$(e,i){var n=this.__data__,t=Ns(n,e);return t<0?(++this.size,n.push([e,i])):n[t][1]=i,this}function sn(e){var i=-1,n=e==null?0:e.length;for(this.clear();++i<n;){var t=e[i];this.set(t[0],t[1])}}sn.prototype.clear=l$;sn.prototype.delete=h$;sn.prototype.get=p$;sn.prototype.has=f$;sn.prototype.set=v$;var Uo=gt(Pe,"Map");function y$(){this.size=0,this.__data__={hash:new nt,map:new(Uo||sn),string:new nt}}function m$(e){var i=typeof e;return i=="string"||i=="number"||i=="symbol"||i=="boolean"?e!=="__proto__":e===null}function Zs(e,i){var n=e.__data__;return m$(i)?n[typeof i=="string"?"string":"hash"]:n.map}function b$(e){var i=Zs(this,e).delete(e);return this.size-=i?1:0,i}function w$(e){return Zs(this,e).get(e)}function k$(e){return Zs(this,e).has(e)}function j$(e,i){var n=Zs(this,e),t=n.size;return n.set(e,i),this.size+=n.size==t?0:1,this}function rn(e){var i=-1,n=e==null?0:e.length;for(this.clear();++i<n;){var t=e[i];this.set(t[0],t[1])}}rn.prototype.clear=y$;rn.prototype.delete=b$;rn.prototype.get=w$;rn.prototype.has=k$;rn.prototype.set=j$;var S$="Expected a function";function As(e,i){if(typeof e!="function"||i!=null&&typeof i!="function")throw new TypeError(S$);var n=function(){var t=arguments,o=i?i.apply(this,t):t[0],a=n.cache;if(a.has(o))return a.get(o);var s=e.apply(this,t);return n.cache=a.set(o,s)||a,s};return n.cache=new(As.Cache||rn),n}As.Cache=rn;var C$=500;function L$(e){var i=As(e,function(t){return n.size===C$&&n.clear(),t}),n=i.cache;return i}var x$=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,T$=/\\(\\)?/g,By=L$(function(e){var i=[];return e.charCodeAt(0)===46&&i.push(""),e.replace(x$,function(n,t,o,a){i.push(o?a.replace(T$,"$1"):t||n)}),i});function ve(e){return e==null?"":oi(e)}function Jn(e,i){return ne(e)?e:Vc(e,i)?[e]:By(ve(e))}function Si(e){if(typeof e=="string"||ti(e))return e;var i=e+"";return i=="0"&&1/e==-1/0?"-0":i}function ht(e,i){i=Jn(i,e);for(var n=0,t=i.length;e!=null&&n<t;)e=e[Si(i[n++])];return n&&n==t?e:void 0}function Uc(e,i,n){var t=e==null?void 0:ht(e,i);return t===void 0?n:t}function qc(e,i){for(var n=-1,t=i.length,o=Array(t),a=e==null;++n<t;)o[n]=a?void 0:Uc(e,i[n]);return o}function Pn(e,i){for(var n=-1,t=i.length,o=e.length;++n<t;)e[o+n]=i[n];return e}var ch=He?He.isConcatSpreadable:void 0;function Y$(e){return ne(e)||it(e)||!!(ch&&e&&e[ch])}function Ae(e,i,n,t,o){var a=-1,s=e.length;for(n||(n=Y$),o||(o=[]);++a<s;){var r=e[a];i>0&&n(r)?i>1?Ae(r,i-1,n,t,o):Pn(o,r):t||(o[o.length]=r)}return o}function Ry(e){var i=e==null?0:e.length;return i?Ae(e,1):[]}function un(e){return Gc(xy(e,void 0,Ry),e+"")}var D$=un(qc),Ms=Ey(Object.getPrototypeOf,Object),$$="[object Object]",E$=Function.prototype,B$=Object.prototype,Oy=E$.toString,R$=B$.hasOwnProperty,O$=Oy.call(Object);function da(e){if(!$e(e)||Ge(e)!=$$)return!1;var i=Ms(e);if(i===null)return!0;var n=R$.call(i,"constructor")&&i.constructor;return typeof n=="function"&&n instanceof n&&Oy.call(n)==O$}var J$="[object DOMException]",P$="[object Error]";function el(e){if(!$e(e))return!1;var i=Ge(e);return i==P$||i==J$||typeof e.message=="string"&&typeof e.name=="string"&&!da(e)}var Jy=ue(function(e,i){try{return ai(e,void 0,i)}catch(n){return el(n)?n:new Error(n)}}),N$="Expected a function";function Py(e,i){var n;if(typeof i!="function")throw new TypeError(N$);return e=ae(e),function(){return--e>0&&(n=i.apply(this,arguments)),e<=1&&(i=void 0),n}}var Z$=1,A$=32,Hs=ue(function(e,i,n){var t=Z$;if(n.length){var o=Ln(n,so(Hs));t|=A$}return an(e,t,i,n,o)});Hs.placeholder={};var M$=un(function(e,i){return ui(i,function(n){n=Si(n),Pi(e,n,Hs(e[n],e))}),e}),H$=1,I$=2,X$=32,il=ue(function(e,i,n){var t=H$|I$;if(n.length){var o=Ln(n,so(il));t|=X$}return an(i,t,e,n,o)});il.placeholder={};function yi(e,i,n){var t=-1,o=e.length;i<0&&(i=-i>o?0:o+i),n=n>o?o:n,n<0&&(n+=o),o=i>n?0:n-i>>>0,i>>>=0;for(var a=Array(o);++t<o;)a[t]=e[t+i];return a}function Nn(e,i,n){var t=e.length;return n=n===void 0?t:n,!i&&n>=t?e:yi(e,i,n)}var _$="\\ud800-\\udfff",F$="\\u0300-\\u036f",W$="\\ufe20-\\ufe2f",G$="\\u20d0-\\u20ff",Q$=F$+W$+G$,z$="\\ufe0e\\ufe0f",K$="\\u200d",V$=RegExp("["+K$+_$+Q$+z$+"]");function co(e){return V$.test(e)}function U$(e){return e.split("")}var Ny="\\ud800-\\udfff",q$="\\u0300-\\u036f",eE="\\ufe20-\\ufe2f",iE="\\u20d0-\\u20ff",nE=q$+eE+iE,tE="\\ufe0e\\ufe0f",oE="["+Ny+"]",Zu="["+nE+"]",Au="\\ud83c[\\udffb-\\udfff]",aE="(?:"+Zu+"|"+Au+")",Zy="[^"+Ny+"]",Ay="(?:\\ud83c[\\udde6-\\uddff]){2}",My="[\\ud800-\\udbff][\\udc00-\\udfff]",sE="\\u200d",Hy=aE+"?",Iy="["+tE+"]?",rE="(?:"+sE+"(?:"+[Zy,Ay,My].join("|")+")"+Iy+Hy+")*",uE=Iy+Hy+rE,cE="(?:"+[Zy+Zu+"?",Zu,Ay,My,oE].join("|")+")",lE=RegExp(Au+"(?="+Au+")|"+cE+uE,"g");function dE(e){return e.match(lE)||[]}function Ci(e){return co(e)?dE(e):U$(e)}function Xy(e){return function(i){i=ve(i);var n=co(i)?Ci(i):void 0,t=n?n[0]:i.charAt(0),o=n?Nn(n,1).join(""):i.slice(1);return t[e]()+o}}var nl=Xy("toUpperCase");function _y(e){return nl(ve(e).toLowerCase())}function tl(e,i,n,t){var o=-1,a=e==null?0:e.length;for(t&&a&&(n=e[++o]);++o<a;)n=i(n,e[o],o,e);return n}function ol(e){return function(i){return e?.[i]}}var gE={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},hE=ol(gE),pE=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,fE="\\u0300-\\u036f",vE="\\ufe20-\\ufe2f",yE="\\u20d0-\\u20ff",mE=fE+vE+yE,bE="["+mE+"]",wE=RegExp(bE,"g");function Fy(e){return e=ve(e),e&&e.replace(pE,hE).replace(wE,"")}var kE=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function jE(e){return e.match(kE)||[]}var SE=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;function CE(e){return SE.test(e)}var Wy="\\ud800-\\udfff",LE="\\u0300-\\u036f",xE="\\ufe20-\\ufe2f",TE="\\u20d0-\\u20ff",YE=LE+xE+TE,Gy="\\u2700-\\u27bf",Qy="a-z\\xdf-\\xf6\\xf8-\\xff",DE="\\xac\\xb1\\xd7\\xf7",$E="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",EE="\\u2000-\\u206f",BE=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",zy="A-Z\\xc0-\\xd6\\xd8-\\xde",RE="\\ufe0e\\ufe0f",Ky=DE+$E+EE+BE,Vy="['’]",lh="["+Ky+"]",OE="["+YE+"]",Uy="\\d+",JE="["+Gy+"]",qy="["+Qy+"]",em="[^"+Wy+Ky+Uy+Gy+Qy+zy+"]",PE="\\ud83c[\\udffb-\\udfff]",NE="(?:"+OE+"|"+PE+")",ZE="[^"+Wy+"]",im="(?:\\ud83c[\\udde6-\\uddff]){2}",nm="[\\ud800-\\udbff][\\udc00-\\udfff]",$t="["+zy+"]",AE="\\u200d",dh="(?:"+qy+"|"+em+")",ME="(?:"+$t+"|"+em+")",gh="(?:"+Vy+"(?:d|ll|m|re|s|t|ve))?",hh="(?:"+Vy+"(?:D|LL|M|RE|S|T|VE))?",tm=NE+"?",om="["+RE+"]?",HE="(?:"+AE+"(?:"+[ZE,im,nm].join("|")+")"+om+tm+")*",IE="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",XE="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",_E=om+tm+HE,FE="(?:"+[JE,im,nm].join("|")+")"+_E,WE=RegExp([$t+"?"+qy+"+"+gh+"(?="+[lh,$t,"$"].join("|")+")",ME+"+"+hh+"(?="+[lh,$t+dh,"$"].join("|")+")",$t+"?"+dh+"+"+gh,$t+"+"+hh,XE,IE,Uy,FE].join("|"),"g");function GE(e){return e.match(WE)||[]}function am(e,i,n){return e=ve(e),i=n?void 0:i,i===void 0?CE(e)?GE(e):jE(e):e.match(i)||[]}var QE="['’]",zE=RegExp(QE,"g");function lo(e){return function(i){return tl(am(Fy(i).replace(zE,"")),e,"")}}var KE=lo(function(e,i,n){return i=i.toLowerCase(),e+(n?_y(i):i)});function VE(){if(!arguments.length)return[];var e=arguments[0];return ne(e)?e:[e]}var UE=Pe.isFinite,qE=Math.min;function al(e){var i=Math[e];return function(n,t){if(n=hi(n),t=t==null?0:qE(ae(t),292),t&&UE(n)){var o=(ve(n)+"e").split("e"),a=i(o[0]+"e"+(+o[1]+t));return o=(ve(a)+"e").split("e"),+(o[0]+"e"+(+o[1]-t))}return i(n)}}var eB=al("ceil");function sm(e){var i=f(e);return i.__chain__=!0,i}var iB=Math.ceil,nB=Math.max;function tB(e,i,n){(n?We(e,i,n):i===void 0)?i=1:i=nB(ae(i),0);var t=e==null?0:e.length;if(!t||i<1)return[];for(var o=0,a=0,s=Array(iB(t/i));o<t;)s[a++]=yi(e,o,o+=i);return s}function pt(e,i,n){return e===e&&(n!==void 0&&(e=e<=n?e:n),i!==void 0&&(e=e>=i?e:i)),e}function oB(e,i,n){return n===void 0&&(n=i,i=void 0),n!==void 0&&(n=hi(n),n=n===n?n:0),i!==void 0&&(i=hi(i),i=i===i?i:0),pt(hi(e),i,n)}function aB(){this.__data__=new sn,this.size=0}function sB(e){var i=this.__data__,n=i.delete(e);return this.size=i.size,n}function rB(e){return this.__data__.get(e)}function uB(e){return this.__data__.has(e)}var cB=200;function lB(e,i){var n=this.__data__;if(n instanceof sn){var t=n.__data__;if(!Uo||t.length<cB-1)return t.push([e,i]),this.size=++n.size,this;n=this.__data__=new rn(t)}return n.set(e,i),this.size=n.size,this}function ji(e){var i=this.__data__=new sn(e);this.size=i.size}ji.prototype.clear=aB;ji.prototype.delete=sB;ji.prototype.get=rB;ji.prototype.has=uB;ji.prototype.set=lB;function rm(e,i){return e&&Ni(i,Ne(i),e)}function dB(e,i){return e&&Ni(i,ii(i),e)}var um=typeof exports=="object"&&exports&&!exports.nodeType&&exports,ph=um&&typeof module=="object"&&module&&!module.nodeType&&module,gB=ph&&ph.exports===um,fh=gB?Pe.Buffer:void 0,vh=fh?fh.allocUnsafe:void 0;function cm(e,i){if(i)return e.slice();var n=e.length,t=vh?vh(n):new e.constructor(n);return e.copy(t),t}function Zn(e,i){for(var n=-1,t=e==null?0:e.length,o=0,a=[];++n<t;){var s=e[n];i(s,n,e)&&(a[o++]=s)}return a}function sl(){return[]}var hB=Object.prototype,pB=hB.propertyIsEnumerable,yh=Object.getOwnPropertySymbols,rl=yh?function(e){return e==null?[]:(e=Object(e),Zn(yh(e),function(i){return pB.call(e,i)}))}:sl;function fB(e,i){return Ni(e,rl(e),i)}var vB=Object.getOwnPropertySymbols,lm=vB?function(e){for(var i=[];e;)Pn(i,rl(e)),e=Ms(e);return i}:sl;function yB(e,i){return Ni(e,lm(e),i)}function dm(e,i,n){var t=i(e);return ne(e)?t:Pn(t,n(e))}function Mu(e){return dm(e,Ne,rl)}function ul(e){return dm(e,ii,lm)}var Hu=gt(Pe,"DataView"),Iu=gt(Pe,"Promise"),Ht=gt(Pe,"Set"),mh="[object Map]",mB="[object Object]",bh="[object Promise]",wh="[object Set]",kh="[object WeakMap]",jh="[object DataView]",bB=dt(Hu),wB=dt(Uo),kB=dt(Iu),jB=dt(Ht),SB=dt(zo),Xn=Ge;(Hu&&Xn(new Hu(new ArrayBuffer(1)))!=jh||Uo&&Xn(new Uo)!=mh||Iu&&Xn(Iu.resolve())!=bh||Ht&&Xn(new Ht)!=wh||zo&&Xn(new zo)!=kh)&&(Xn=function(e){var i=Ge(e),n=i==mB?e.constructor:void 0,t=n?dt(n):"";if(t)switch(t){case bB:return jh;case wB:return mh;case kB:return bh;case jB:return wh;case SB:return kh}return i});const Oi=Xn;var CB=Object.prototype,LB=CB.hasOwnProperty;function xB(e){var i=e.length,n=new e.constructor(i);return i&&typeof e[0]=="string"&&LB.call(e,"index")&&(n.index=e.index,n.input=e.input),n}var cs=Pe.Uint8Array;function cl(e){var i=new e.constructor(e.byteLength);return new cs(i).set(new cs(e)),i}function TB(e,i){var n=i?cl(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}var YB=/\w*$/;function DB(e){var i=new e.constructor(e.source,YB.exec(e));return i.lastIndex=e.lastIndex,i}var Sh=He?He.prototype:void 0,Ch=Sh?Sh.valueOf:void 0;function $B(e){return Ch?Object(Ch.call(e)):{}}function gm(e,i){var n=i?cl(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}var EB="[object Boolean]",BB="[object Date]",RB="[object Map]",OB="[object Number]",JB="[object RegExp]",PB="[object Set]",NB="[object String]",ZB="[object Symbol]",AB="[object ArrayBuffer]",MB="[object DataView]",HB="[object Float32Array]",IB="[object Float64Array]",XB="[object Int8Array]",_B="[object Int16Array]",FB="[object Int32Array]",WB="[object Uint8Array]",GB="[object Uint8ClampedArray]",QB="[object Uint16Array]",zB="[object Uint32Array]";function KB(e,i,n){var t=e.constructor;switch(i){case AB:return cl(e);case EB:case BB:return new t(+e);case MB:return TB(e,n);case HB:case IB:case XB:case _B:case FB:case WB:case GB:case QB:case zB:return gm(e,n);case RB:return new t;case OB:case NB:return new t(e);case JB:return DB(e);case PB:return new t;case ZB:return $B(e)}}function hm(e){return typeof e.constructor=="function"&&!la(e)?oo(Ms(e)):{}}var VB="[object Map]";function UB(e){return $e(e)&&Oi(e)==VB}var Lh=vi&&vi.isMap,pm=Lh?si(Lh):UB,qB="[object Set]";function eR(e){return $e(e)&&Oi(e)==qB}var xh=vi&&vi.isSet,fm=xh?si(xh):eR,iR=1,nR=2,tR=4,vm="[object Arguments]",oR="[object Array]",aR="[object Boolean]",sR="[object Date]",rR="[object Error]",ym="[object Function]",uR="[object GeneratorFunction]",cR="[object Map]",lR="[object Number]",mm="[object Object]",dR="[object RegExp]",gR="[object Set]",hR="[object String]",pR="[object Symbol]",fR="[object WeakMap]",vR="[object ArrayBuffer]",yR="[object DataView]",mR="[object Float32Array]",bR="[object Float64Array]",wR="[object Int8Array]",kR="[object Int16Array]",jR="[object Int32Array]",SR="[object Uint8Array]",CR="[object Uint8ClampedArray]",LR="[object Uint16Array]",xR="[object Uint32Array]",je={};je[vm]=je[oR]=je[vR]=je[yR]=je[aR]=je[sR]=je[mR]=je[bR]=je[wR]=je[kR]=je[jR]=je[cR]=je[lR]=je[mm]=je[dR]=je[gR]=je[hR]=je[pR]=je[SR]=je[CR]=je[LR]=je[xR]=!0;je[rR]=je[ym]=je[fR]=!1;function pi(e,i,n,t,o,a){var s,r=i&iR,u=i&nR,c=i&tR;if(n&&(s=o?n(e,t,o,a):n(e)),s!==void 0)return s;if(!Te(e))return e;var l=ne(e);if(l){if(s=xB(e),!r)return Ue(e,s)}else{var d=Oi(e),g=d==ym||d==uR;if(xn(e))return cm(e,r);if(d==mm||d==vm||g&&!o){if(s=u||g?{}:hm(e),!r)return u?yB(e,dB(s,e)):fB(e,rm(s,e))}else{if(!je[d])return o?e:{};s=KB(e,d,r)}}a||(a=new ji);var h=a.get(e);if(h)return h;a.set(e,s),fm(e)?e.forEach(function(y){s.add(pi(y,i,n,y,e,a))}):pm(e)&&e.forEach(function(y,b){s.set(b,pi(y,i,n,b,e,a))});var p=c?u?ul:Mu:u?ii:Ne,v=l?void 0:p(e);return ui(v||e,function(y,b){v&&(b=y,y=e[b]),ca(s,b,pi(y,i,n,b,e,a))}),s}var TR=4;function YR(e){return pi(e,TR)}var DR=1,$R=4;function ER(e){return pi(e,DR|$R)}var BR=1,RR=4;function OR(e,i){return i=typeof i=="function"?i:void 0,pi(e,BR|RR,i)}var JR=4;function PR(e,i){return i=typeof i=="function"?i:void 0,pi(e,JR,i)}function NR(){return new fi(this.value(),this.__chain__)}function ZR(e){for(var i=-1,n=e==null?0:e.length,t=0,o=[];++i<n;){var a=e[i];a&&(o[t++]=a)}return o}function AR(){var e=arguments.length;if(!e)return[];for(var i=Array(e-1),n=arguments[0],t=e;t--;)i[t-1]=arguments[t];return Pn(ne(n)?Ue(n):[n],Ae(i,1))}var MR="__lodash_hash_undefined__";function HR(e){return this.__data__.set(e,MR),this}function IR(e){return this.__data__.has(e)}function tt(e){var i=-1,n=e==null?0:e.length;for(this.__data__=new rn;++i<n;)this.add(e[i])}tt.prototype.add=tt.prototype.push=HR;tt.prototype.has=IR;function ll(e,i){for(var n=-1,t=e==null?0:e.length;++n<t;)if(i(e[n],n,e))return!0;return!1}function qo(e,i){return e.has(i)}var XR=1,_R=2;function bm(e,i,n,t,o,a){var s=n&XR,r=e.length,u=i.length;if(r!=u&&!(s&&u>r))return!1;var c=a.get(e),l=a.get(i);if(c&&l)return c==i&&l==e;var d=-1,g=!0,h=n&_R?new tt:void 0;for(a.set(e,i),a.set(i,e);++d<r;){var p=e[d],v=i[d];if(t)var y=s?t(v,p,d,i,e,a):t(p,v,d,e,i,a);if(y!==void 0){if(y)continue;g=!1;break}if(h){if(!ll(i,function(b,m){if(!qo(h,m)&&(p===b||o(p,b,n,t,a)))return h.push(m)})){g=!1;break}}else if(!(p===v||o(p,v,n,t,a))){g=!1;break}}return a.delete(e),a.delete(i),g}function dl(e){var i=-1,n=Array(e.size);return e.forEach(function(t,o){n[++i]=[o,t]}),n}function Is(e){var i=-1,n=Array(e.size);return e.forEach(function(t){n[++i]=t}),n}var FR=1,WR=2,GR="[object Boolean]",QR="[object Date]",zR="[object Error]",KR="[object Map]",VR="[object Number]",UR="[object RegExp]",qR="[object Set]",eO="[object String]",iO="[object Symbol]",nO="[object ArrayBuffer]",tO="[object DataView]",Th=He?He.prototype:void 0,Er=Th?Th.valueOf:void 0;function oO(e,i,n,t,o,a,s){switch(n){case tO:if(e.byteLength!=i.byteLength||e.byteOffset!=i.byteOffset)return!1;e=e.buffer,i=i.buffer;case nO:return!(e.byteLength!=i.byteLength||!a(new cs(e),new cs(i)));case GR:case QR:case VR:return Ti(+e,+i);case zR:return e.name==i.name&&e.message==i.message;case UR:case eO:return e==i+"";case KR:var r=dl;case qR:var u=t&FR;if(r||(r=Is),e.size!=i.size&&!u)return!1;var c=s.get(e);if(c)return c==i;t|=WR,s.set(e,i);var l=bm(r(e),r(i),t,o,a,s);return s.delete(e),l;case iO:if(Er)return Er.call(e)==Er.call(i)}return!1}var aO=1,sO=Object.prototype,rO=sO.hasOwnProperty;function uO(e,i,n,t,o,a){var s=n&aO,r=Mu(e),u=r.length,c=Mu(i),l=c.length;if(u!=l&&!s)return!1;for(var d=u;d--;){var g=r[d];if(!(s?g in i:rO.call(i,g)))return!1}var h=a.get(e),p=a.get(i);if(h&&p)return h==i&&p==e;var v=!0;a.set(e,i),a.set(i,e);for(var y=s;++d<u;){g=r[d];var b=e[g],m=i[g];if(t)var j=s?t(m,b,g,i,e,a):t(b,m,g,e,i,a);if(!(j===void 0?b===m||o(b,m,n,t,a):j)){v=!1;break}y||(y=g=="constructor")}if(v&&!y){var x=e.constructor,$=i.constructor;x!=$&&"constructor"in e&&"constructor"in i&&!(typeof x=="function"&&x instanceof x&&typeof $=="function"&&$ instanceof $)&&(v=!1)}return a.delete(e),a.delete(i),v}var cO=1,Yh="[object Arguments]",Dh="[object Array]",Ea="[object Object]",lO=Object.prototype,$h=lO.hasOwnProperty;function dO(e,i,n,t,o,a){var s=ne(e),r=ne(i),u=s?Dh:Oi(e),c=r?Dh:Oi(i);u=u==Yh?Ea:u,c=c==Yh?Ea:c;var l=u==Ea,d=c==Ea,g=u==c;if(g&&xn(e)){if(!xn(i))return!1;s=!0,l=!1}if(g&&!l)return a||(a=new ji),s||uo(e)?bm(e,i,n,t,o,a):oO(e,i,u,n,t,o,a);if(!(n&cO)){var h=l&&$h.call(e,"__wrapped__"),p=d&&$h.call(i,"__wrapped__");if(h||p){var v=h?e.value():e,y=p?i.value():i;return a||(a=new ji),o(v,y,n,t,a)}}return g?(a||(a=new ji),uO(e,i,n,t,o,a)):!1}function ga(e,i,n,t,o){return e===i?!0:e==null||i==null||!$e(e)&&!$e(i)?e!==e&&i!==i:dO(e,i,n,t,ga,o)}var gO=1,hO=2;function gl(e,i,n,t){var o=n.length,a=o,s=!t;if(e==null)return!a;for(e=Object(e);o--;){var r=n[o];if(s&&r[2]?r[1]!==e[r[0]]:!(r[0]in e))return!1}for(;++o<a;){r=n[o];var u=r[0],c=e[u],l=r[1];if(s&&r[2]){if(c===void 0&&!(u in e))return!1}else{var d=new ji;if(t)var g=t(c,l,u,e,i,d);if(!(g===void 0?ga(l,c,gO|hO,t,d):g))return!1}}return!0}function wm(e){return e===e&&!Te(e)}function hl(e){for(var i=Ne(e),n=i.length;n--;){var t=i[n],o=e[t];i[n]=[t,o,wm(o)]}return i}function km(e,i){return function(n){return n==null?!1:n[e]===i&&(i!==void 0||e in Object(n))}}function jm(e){var i=hl(e);return i.length==1&&i[0][2]?km(i[0][0],i[0][1]):function(n){return n===e||gl(n,e,i)}}function pO(e,i){return e!=null&&i in Object(e)}function Sm(e,i,n){i=Jn(i,e);for(var t=-1,o=i.length,a=!1;++t<o;){var s=Si(i[t]);if(!(a=e!=null&&n(e,s)))break;e=e[s]}return a||++t!=o?a:(o=e==null?0:e.length,!!o&&Ps(o)&&on(s,o)&&(ne(e)||it(e)))}function pl(e,i){return e!=null&&Sm(e,i,pO)}var fO=1,vO=2;function Cm(e,i){return Vc(e)&&wm(i)?km(Si(e),i):function(n){var t=Uc(n,e);return t===void 0&&t===i?pl(n,e):ga(i,t,fO|vO)}}function fl(e){return function(i){return i?.[e]}}function yO(e){return function(i){return ht(i,e)}}function Lm(e){return Vc(e)?fl(Si(e)):yO(e)}function ie(e){return typeof e=="function"?e:e==null?qe:typeof e=="object"?ne(e)?Cm(e[0],e[1]):jm(e):Lm(e)}var mO="Expected a function";function bO(e){var i=e==null?0:e.length,n=ie;return e=i?Le(e,function(t){if(typeof t[1]!="function")throw new TypeError(mO);return[n(t[0]),t[1]]}):[],ue(function(t){for(var o=-1;++o<i;){var a=e[o];if(ai(a[0],this,t))return ai(a[1],this,t)}})}function xm(e,i,n){var t=n.length;if(e==null)return!t;for(e=Object(e);t--;){var o=n[t],a=i[o],s=e[o];if(s===void 0&&!(o in e)||!a(s))return!1}return!0}function wO(e){var i=Ne(e);return function(n){return xm(n,e,i)}}var kO=1;function jO(e){return wO(pi(e,kO))}function SO(e,i){return i==null||xm(e,i,Ne(i))}function CO(e,i,n,t){for(var o=-1,a=e==null?0:e.length;++o<a;){var s=e[o];i(t,s,n(s),e)}return t}function Tm(e){return function(i,n,t){for(var o=-1,a=Object(i),s=t(i),r=s.length;r--;){var u=s[e?r:++o];if(n(a[u],u,a)===!1)break}return i}}var vl=Tm();function Zi(e,i){return e&&vl(e,i,Ne)}function Ym(e,i){return function(n,t){if(n==null)return n;if(!ei(n))return e(n,t);for(var o=n.length,a=i?o:-1,s=Object(n);(i?a--:++a<o)&&t(s[a],a,s)!==!1;);return n}}var An=Ym(Zi);function LO(e,i,n,t){return An(e,function(o,a,s){i(t,o,n(o),s)}),t}function Xs(e,i){return function(n,t){var o=ne(n)?CO:LO,a=i?i():{};return o(n,e,ie(t),a)}}var xO=Object.prototype,TO=xO.hasOwnProperty,YO=Xs(function(e,i,n){TO.call(e,n)?++e[n]:Pi(e,n,1)});function DO(e,i){var n=oo(e);return i==null?n:rm(n,i)}var $O=8;function yl(e,i,n){i=n?void 0:i;var t=an(e,$O,void 0,void 0,void 0,void 0,void 0,i);return t.placeholder=yl.placeholder,t}yl.placeholder={};var EO=16;function ml(e,i,n){i=n?void 0:i;var t=an(e,EO,void 0,void 0,void 0,void 0,void 0,i);return t.placeholder=ml.placeholder,t}ml.placeholder={};var Wa=function(){return Pe.Date.now()},BO="Expected a function",RO=Math.max,OO=Math.min;function Dm(e,i,n){var t,o,a,s,r,u,c=0,l=!1,d=!1,g=!0;if(typeof e!="function")throw new TypeError(BO);i=hi(i)||0,Te(n)&&(l=!!n.leading,d="maxWait"in n,a=d?RO(hi(n.maxWait)||0,i):a,g="trailing"in n?!!n.trailing:g);function h(T){var B=t,J=o;return t=o=void 0,c=T,s=e.apply(J,B),s}function p(T){return c=T,r=setTimeout(b,i),l?h(T):s}function v(T){var B=T-u,J=T-c,I=i-B;return d?OO(I,a-J):I}function y(T){var B=T-u,J=T-c;return u===void 0||B>=i||B<0||d&&J>=a}function b(){var T=Wa();if(y(T))return m(T);r=setTimeout(b,v(T))}function m(T){return r=void 0,g&&t?h(T):(t=o=void 0,s)}function j(){r!==void 0&&clearTimeout(r),c=0,t=u=o=r=void 0}function x(){return r===void 0?s:m(Wa())}function $(){var T=Wa(),B=y(T);if(t=arguments,o=this,u=T,B){if(r===void 0)return p(u);if(d)return clearTimeout(r),r=setTimeout(b,i),h(u)}return r===void 0&&(r=setTimeout(b,i)),s}return $.cancel=j,$.flush=x,$}function JO(e,i){return e==null||e!==e?i:e}var $m=Object.prototype,PO=$m.hasOwnProperty,NO=ue(function(e,i){e=Object(e);var n=-1,t=i.length,o=t>2?i[2]:void 0;for(o&&We(i[0],i[1],o)&&(t=1);++n<t;)for(var a=i[n],s=ii(a),r=-1,u=s.length;++r<u;){var c=s[r],l=e[c];(l===void 0||Ti(l,$m[c])&&!PO.call(e,c))&&(e[c]=a[c])}return e});function Xu(e,i,n){(n!==void 0&&!Ti(e[i],n)||n===void 0&&!(i in e))&&Pi(e,i,n)}function Re(e){return $e(e)&&ei(e)}function _u(e,i){if(!(i==="constructor"&&typeof e[i]=="function")&&i!="__proto__")return e[i]}function Em(e){return Ni(e,ii(e))}function ZO(e,i,n,t,o,a,s){var r=_u(e,n),u=_u(i,n),c=s.get(u);if(c){Xu(e,n,c);return}var l=a?a(r,u,n+"",e,i,s):void 0,d=l===void 0;if(d){var g=ne(u),h=!g&&xn(u),p=!g&&!h&&uo(u);l=u,g||h||p?ne(r)?l=r:Re(r)?l=Ue(r):h?(d=!1,l=cm(u,!0)):p?(d=!1,l=gm(u,!0)):l=[]:da(u)||it(u)?(l=r,it(r)?l=Em(r):(!Te(r)||tn(r))&&(l=hm(u))):d=!1}d&&(s.set(u,l),o(l,u,t,a,s),s.delete(u)),Xu(e,n,l)}function _s(e,i,n,t,o){e!==i&&vl(i,function(a,s){if(o||(o=new ji),Te(a))ZO(e,i,s,n,_s,t,o);else{var r=t?t(_u(e,s),a,s+"",e,i,o):void 0;r===void 0&&(r=a),Xu(e,s,r)}},ii)}function Bm(e,i,n,t,o,a){return Te(e)&&Te(i)&&(a.set(i,e),_s(e,i,void 0,Bm,a),a.delete(i)),e}var Rm=ro(function(e,i,n,t){_s(e,i,n,t)}),AO=ue(function(e){return e.push(void 0,Bm),ai(Rm,void 0,e)}),MO="Expected a function";function Om(e,i,n){if(typeof e!="function")throw new TypeError(MO);return setTimeout(function(){e.apply(void 0,n)},i)}var HO=ue(function(e,i){return Om(e,1,i)}),IO=ue(function(e,i,n){return Om(e,hi(i)||0,n)});function bl(e,i,n){for(var t=-1,o=e==null?0:e.length;++t<o;)if(n(i,e[t]))return!0;return!1}var XO=200;function ha(e,i,n,t){var o=-1,a=Os,s=!0,r=e.length,u=[],c=i.length;if(!r)return u;n&&(i=Le(i,si(n))),t?(a=bl,s=!1):i.length>=XO&&(a=qo,s=!1,i=new tt(i));e:for(;++o<r;){var l=e[o],d=n==null?l:n(l);if(l=t||l!==0?l:0,s&&d===d){for(var g=c;g--;)if(i[g]===d)continue e;u.push(l)}else a(i,d,t)||u.push(l)}return u}var _O=ue(function(e,i){return Re(e)?ha(e,Ae(i,1,Re,!0)):[]});function mi(e){var i=e==null?0:e.length;return i?e[i-1]:void 0}var FO=ue(function(e,i){var n=mi(i);return Re(n)&&(n=void 0),Re(e)?ha(e,Ae(i,1,Re,!0),ie(n)):[]}),WO=ue(function(e,i){var n=mi(i);return Re(n)&&(n=void 0),Re(e)?ha(e,Ae(i,1,Re,!0),void 0,n):[]}),GO=Es(function(e,i){return e/i},1);function QO(e,i,n){var t=e==null?0:e.length;return t?(i=n||i===void 0?1:ae(i),yi(e,i<0?0:i,t)):[]}function zO(e,i,n){var t=e==null?0:e.length;return t?(i=n||i===void 0?1:ae(i),i=t-i,yi(e,0,i<0?0:i)):[]}function Fs(e,i,n,t){for(var o=e.length,a=t?o:-1;(t?a--:++a<o)&&i(e[a],a,e););return n?yi(e,t?0:a,t?a+1:o):yi(e,t?a+1:0,t?o:a)}function KO(e,i){return e&&e.length?Fs(e,ie(i),!0,!0):[]}function VO(e,i){return e&&e.length?Fs(e,ie(i),!0):[]}function Ai(e){return typeof e=="function"?e:qe}function UO(e,i){var n=ne(e)?ui:An;return n(e,Ai(i))}function qO(e,i){for(var n=e==null?0:e.length;n--&&i(e[n],n,e)!==!1;);return e}var Jm=Tm(!0);function wl(e,i){return e&&Jm(e,i,Ne)}var Pm=Ym(wl,!0);function eJ(e,i){var n=ne(e)?qO:Pm;return n(e,Ai(i))}function iJ(e,i,n){e=ve(e),i=oi(i);var t=e.length;n=n===void 0?t:pt(ae(n),0,t);var o=n;return n-=i.length,n>=0&&e.slice(n,o)==i}function nJ(e,i){return Le(i,function(n){return[n,e[n]]})}function tJ(e){var i=-1,n=Array(e.size);return e.forEach(function(t){n[++i]=[t,t]}),n}var oJ="[object Map]",aJ="[object Set]";function Nm(e){return function(i){var n=Oi(i);return n==oJ?dl(i):n==aJ?tJ(i):nJ(i,e(i))}}var sJ=Nm(Ne),rJ=Nm(ii),uJ={"&":"&","<":"<",">":">",'"':""","'":"'"},cJ=ol(uJ),Zm=/[&<>"']/g,lJ=RegExp(Zm.source);function Am(e){return e=ve(e),e&&lJ.test(e)?e.replace(Zm,cJ):e}var Mm=/[\\^$.*+?()[\]{}|]/g,dJ=RegExp(Mm.source);function gJ(e){return e=ve(e),e&&dJ.test(e)?e.replace(Mm,"\\$&"):e}function Hm(e,i){for(var n=-1,t=e==null?0:e.length;++n<t;)if(!i(e[n],n,e))return!1;return!0}function hJ(e,i){var n=!0;return An(e,function(t,o,a){return n=!!i(t,o,a),n}),n}function pJ(e,i,n){var t=ne(e)?Hm:hJ;return n&&We(e,i,n)&&(i=void 0),t(e,ie(i))}var fJ=4294967295;function Im(e){return e?pt(ae(e),0,fJ):0}function vJ(e,i,n,t){var o=e.length;for(n=ae(n),n<0&&(n=-n>o?0:o+n),t=t===void 0||t>o?o:ae(t),t<0&&(t+=o),t=n>t?0:Im(t);n<t;)e[n++]=i;return e}function yJ(e,i,n,t){var o=e==null?0:e.length;return o?(n&&typeof n!="number"&&We(e,i,n)&&(n=0,t=o),vJ(e,i,n,t)):[]}function Xm(e,i){var n=[];return An(e,function(t,o,a){i(t,o,a)&&n.push(t)}),n}function mJ(e,i){var n=ne(e)?Zn:Xm;return n(e,ie(i))}function _m(e){return function(i,n,t){var o=Object(i);if(!ei(i)){var a=ie(n);i=Ne(i),n=function(r){return a(o[r],r,o)}}var s=e(i,n,t);return s>-1?o[a?i[s]:s]:void 0}}var bJ=Math.max;function Fm(e,i,n){var t=e==null?0:e.length;if(!t)return-1;var o=n==null?0:ae(n);return o<0&&(o=bJ(t+o,0)),Rs(e,ie(i),o)}var wJ=_m(Fm);function Wm(e,i,n){var t;return n(e,function(o,a,s){if(i(o,a,s))return t=a,!1}),t}function kJ(e,i){return Wm(e,ie(i),Zi)}var jJ=Math.max,SJ=Math.min;function Gm(e,i,n){var t=e==null?0:e.length;if(!t)return-1;var o=t-1;return n!==void 0&&(o=ae(n),o=n<0?jJ(t+o,0):SJ(o,t-1)),Rs(e,ie(i),o,!0)}var CJ=_m(Gm);function LJ(e,i){return Wm(e,ie(i),wl)}function xJ(e){return e&&e.length?e[0]:void 0}function Qm(e,i){var n=-1,t=ei(e)?Array(e.length):[];return An(e,function(o,a,s){t[++n]=i(o,a,s)}),t}function Ws(e,i){var n=ne(e)?Le:Qm;return n(e,ie(i))}function TJ(e,i){return Ae(Ws(e,i),1)}var YJ=1/0;function DJ(e,i){return Ae(Ws(e,i),YJ)}function $J(e,i,n){return n=n===void 0?1:ae(n),Ae(Ws(e,i),n)}var EJ=1/0;function BJ(e){var i=e==null?0:e.length;return i?Ae(e,EJ):[]}function RJ(e,i){var n=e==null?0:e.length;return n?(i=i===void 0?1:ae(i),Ae(e,i)):[]}var OJ=512;function JJ(e){return an(e,OJ)}var PJ=al("floor"),NJ="Expected a function",ZJ=8,AJ=32,MJ=128,HJ=256;function zm(e){return un(function(i){var n=i.length,t=n,o=fi.prototype.thru;for(e&&i.reverse();t--;){var a=i[t];if(typeof a!="function")throw new TypeError(NJ);if(o&&!s&&Fa(a)=="wrapper")var s=new fi([],!0)}for(t=s?t:n;++t<n;){a=i[t];var r=Fa(a),u=r=="wrapper"?Fc(a):void 0;u&&Pu(u[0])&&u[1]==(MJ|ZJ|AJ|HJ)&&!u[4].length&&u[9]==1?s=s[Fa(u[0])].apply(s,u[3]):s=a.length==1&&Pu(a)?s[r]():s.thru(a)}return function(){var c=arguments,l=c[0];if(s&&c.length==1&&ne(l))return s.plant(l).value();for(var d=0,g=n?i[d].apply(this,c):l;++d<n;)g=i[d].call(this,g);return g}})}var IJ=zm(),XJ=zm(!0);function _J(e,i){return e==null?e:vl(e,Ai(i),ii)}function FJ(e,i){return e==null?e:Jm(e,Ai(i),ii)}function WJ(e,i){return e&&Zi(e,Ai(i))}function GJ(e,i){return e&&wl(e,Ai(i))}function QJ(e){for(var i=-1,n=e==null?0:e.length,t={};++i<n;){var o=e[i];Pi(t,o[0],o[1])}return t}function Gs(e,i){return Zn(i,function(n){return tn(e[n])})}function zJ(e){return e==null?[]:Gs(e,Ne(e))}function KJ(e){return e==null?[]:Gs(e,ii(e))}var VJ=Object.prototype,UJ=VJ.hasOwnProperty,qJ=Xs(function(e,i,n){UJ.call(e,n)?e[n].push(i):Pi(e,n,[i])});function kl(e,i){return e>i}function Qs(e){return function(i,n){return typeof i=="string"&&typeof n=="string"||(i=hi(i),n=hi(n)),e(i,n)}}var eP=Qs(kl),iP=Qs(function(e,i){return e>=i}),nP=Object.prototype,tP=nP.hasOwnProperty;function oP(e,i){return e!=null&&tP.call(e,i)}function aP(e,i){return e!=null&&Sm(e,i,oP)}var sP=Math.max,rP=Math.min;function uP(e,i,n){return e>=rP(i,n)&&e<sP(i,n)}function cP(e,i,n){return i=Ki(i),n===void 0?(n=i,i=0):n=Ki(n),e=hi(e),uP(e,i,n)}var lP="[object String]";function zs(e){return typeof e=="string"||!ne(e)&&$e(e)&&Ge(e)==lP}function jl(e,i){return Le(i,function(n){return e[n]})}function go(e){return e==null?[]:jl(e,Ne(e))}var dP=Math.max;function gP(e,i,n,t){e=ei(e)?e:go(e),n=n&&!t?ae(n):0;var o=e.length;return n<0&&(n=dP(o+n,0)),zs(e)?n<=o&&e.indexOf(i,n)>-1:!!o&&ao(e,i,n)>-1}var hP=Math.max;function pP(e,i,n){var t=e==null?0:e.length;if(!t)return-1;var o=n==null?0:ae(n);return o<0&&(o=hP(t+o,0)),ao(e,i,o)}function fP(e){var i=e==null?0:e.length;return i?yi(e,0,-1):[]}var vP=Math.min;function Sl(e,i,n){for(var t=n?bl:Os,o=e[0].length,a=e.length,s=a,r=Array(a),u=1/0,c=[];s--;){var l=e[s];s&&i&&(l=Le(l,si(i))),u=vP(l.length,u),r[s]=!n&&(i||o>=120&&l.length>=120)?new tt(s&&l):void 0}l=e[0];var d=-1,g=r[0];e:for(;++d<o&&c.length<u;){var h=l[d],p=i?i(h):h;if(h=n||h!==0?h:0,!(g?qo(g,p):t(c,p,n))){for(s=a;--s;){var v=r[s];if(!(v?qo(v,p):t(e[s],p,n)))continue e}g&&g.push(p),c.push(h)}}return c}function Cl(e){return Re(e)?e:[]}var yP=ue(function(e){var i=Le(e,Cl);return i.length&&i[0]===e[0]?Sl(i):[]}),mP=ue(function(e){var i=mi(e),n=Le(e,Cl);return i===mi(n)?i=void 0:n.pop(),n.length&&n[0]===e[0]?Sl(n,ie(i)):[]}),bP=ue(function(e){var i=mi(e),n=Le(e,Cl);return i=typeof i=="function"?i:void 0,i&&n.pop(),n.length&&n[0]===e[0]?Sl(n,void 0,i):[]});function wP(e,i,n,t){return Zi(e,function(o,a,s){i(t,n(o),a,s)}),t}function Km(e,i){return function(n,t){return wP(n,e,i(t),{})}}var kP=Object.prototype,jP=kP.toString,SP=Km(function(e,i,n){i!=null&&typeof i.toString!="function"&&(i=jP.call(i)),e[i]=n},Wc(qe)),Vm=Object.prototype,CP=Vm.hasOwnProperty,LP=Vm.toString,xP=Km(function(e,i,n){i!=null&&typeof i.toString!="function"&&(i=LP.call(i)),CP.call(e,i)?e[i].push(n):e[i]=[n]},ie);function Um(e,i){return i.length<2?e:ht(e,yi(i,0,-1))}function pa(e,i,n){i=Jn(i,e),e=Um(e,i);var t=e==null?e:e[Si(mi(i))];return t==null?void 0:ai(t,e,n)}var TP=ue(pa),YP=ue(function(e,i,n){var t=-1,o=typeof i=="function",a=ei(e)?Array(e.length):[];return An(e,function(s){a[++t]=o?ai(i,s,n):pa(s,i,n)}),a}),DP="[object ArrayBuffer]";function $P(e){return $e(e)&&Ge(e)==DP}var Eh=vi&&vi.isArrayBuffer,EP=Eh?si(Eh):$P,BP="[object Boolean]";function RP(e){return e===!0||e===!1||$e(e)&&Ge(e)==BP}var OP="[object Date]";function JP(e){return $e(e)&&Ge(e)==OP}var Bh=vi&&vi.isDate,PP=Bh?si(Bh):JP;function NP(e){return $e(e)&&e.nodeType===1&&!da(e)}var ZP="[object Map]",AP="[object Set]",MP=Object.prototype,HP=MP.hasOwnProperty;function IP(e){if(e==null)return!0;if(ei(e)&&(ne(e)||typeof e=="string"||typeof e.splice=="function"||xn(e)||uo(e)||it(e)))return!e.length;var i=Oi(e);if(i==ZP||i==AP)return!e.size;if(la(e))return!Kc(e).length;for(var n in e)if(HP.call(e,n))return!1;return!0}function XP(e,i){return ga(e,i)}function _P(e,i,n){n=typeof n=="function"?n:void 0;var t=n?n(e,i):void 0;return t===void 0?ga(e,i,void 0,n):!!t}var FP=Pe.isFinite;function WP(e){return typeof e=="number"&&FP(e)}function qm(e){return typeof e=="number"&&e==ae(e)}function GP(e,i){return e===i||gl(e,i,hl(i))}function QP(e,i,n){return n=typeof n=="function"?n:void 0,gl(e,i,hl(i),n)}var zP="[object Number]";function e0(e){return typeof e=="number"||$e(e)&&Ge(e)==zP}function KP(e){return e0(e)&&e!=+e}var VP=_a?tn:zc,UP="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.";function qP(e){if(VP(e))throw new Error(UP);return fy(e)}function eN(e){return e==null}function iN(e){return e===null}var nN="[object RegExp]";function tN(e){return $e(e)&&Ge(e)==nN}var Rh=vi&&vi.isRegExp,Ll=Rh?si(Rh):tN,Oh=9007199254740991;function oN(e){return qm(e)&&e>=-Oh&&e<=Oh}function aN(e){return e===void 0}var sN="[object WeakMap]";function rN(e){return $e(e)&&Oi(e)==sN}var uN="[object WeakSet]";function cN(e){return $e(e)&&Ge(e)==uN}var lN=1;function dN(e){return ie(typeof e=="function"?e:pi(e,lN))}var gN=Array.prototype,hN=gN.join;function pN(e,i){return e==null?"":hN.call(e,i)}var fN=lo(function(e,i,n){return e+(n?"-":"")+i.toLowerCase()}),vN=Xs(function(e,i,n){Pi(e,n,i)});function yN(e,i,n){for(var t=n+1;t--;)if(e[t]===i)return t;return t}var mN=Math.max,bN=Math.min;function wN(e,i,n){var t=e==null?0:e.length;if(!t)return-1;var o=t;return n!==void 0&&(o=ae(n),o=o<0?mN(t+o,0):bN(o,t-1)),i===i?yN(e,i,o):Rs(e,jy,o,!0)}var kN=lo(function(e,i,n){return e+(n?" ":"")+i.toLowerCase()}),jN=Xy("toLowerCase");function xl(e,i){return e<i}var SN=Qs(xl),CN=Qs(function(e,i){return e<=i});function LN(e,i){var n={};return i=ie(i),Zi(e,function(t,o,a){Pi(n,i(t,o,a),t)}),n}function xN(e,i){var n={};return i=ie(i),Zi(e,function(t,o,a){Pi(n,o,i(t,o,a))}),n}var TN=1;function YN(e){return jm(pi(e,TN))}var DN=1;function $N(e,i){return Cm(e,pi(i,DN))}function Ks(e,i,n){for(var t=-1,o=e.length;++t<o;){var a=e[t],s=i(a);if(s!=null&&(r===void 0?s===s&&!ti(s):n(s,r)))var r=s,u=a}return u}function EN(e){return e&&e.length?Ks(e,qe,kl):void 0}function BN(e,i){return e&&e.length?Ks(e,ie(i),kl):void 0}function Tl(e,i){for(var n,t=-1,o=e.length;++t<o;){var a=i(e[t]);a!==void 0&&(n=n===void 0?a:n+a)}return n}var RN=NaN;function i0(e,i){var n=e==null?0:e.length;return n?Tl(e,i)/n:RN}function ON(e){return i0(e,qe)}function JN(e,i){return i0(e,ie(i))}var PN=ro(function(e,i,n){_s(e,i,n)}),NN=ue(function(e,i){return function(n){return pa(n,e,i)}}),ZN=ue(function(e,i){return function(n){return pa(e,n,i)}});function AN(e){return e&&e.length?Ks(e,qe,xl):void 0}function MN(e,i){return e&&e.length?Ks(e,ie(i),xl):void 0}function HN(e,i,n){var t=Ne(i),o=Gs(i,t),a=!(Te(n)&&"chain"in n)||!!n.chain,s=tn(e);return ui(o,function(r){var u=i[r];e[r]=u,s&&(e.prototype[r]=function(){var c=this.__chain__;if(a||c){var l=e(this.__wrapped__),d=l.__actions__=Ue(this.__actions__);return d.push({func:u,args:arguments,thisArg:e}),l.__chain__=c,l}return u.apply(e,Pn([this.value()],arguments))})}),e}var IN=Es(function(e,i){return e*i},1),XN="Expected a function";function Vs(e){if(typeof e!="function")throw new TypeError(XN);return function(){var i=arguments;switch(i.length){case 0:return!e.call(this);case 1:return!e.call(this,i[0]);case 2:return!e.call(this,i[0],i[1]);case 3:return!e.call(this,i[0],i[1],i[2])}return!e.apply(this,i)}}function _N(e){for(var i,n=[];!(i=e.next()).done;)n.push(i.value);return n}var FN="[object Map]",WN="[object Set]",Br=He?He.iterator:void 0;function n0(e){if(!e)return[];if(ei(e))return zs(e)?Ci(e):Ue(e);if(Br&&e[Br])return _N(e[Br]());var i=Oi(e),n=i==FN?dl:i==WN?Is:go;return n(e)}function GN(){this.__values__===void 0&&(this.__values__=n0(this.value()));var e=this.__index__>=this.__values__.length,i=e?void 0:this.__values__[this.__index__++];return{done:e,value:i}}function t0(e,i){var n=e.length;if(n)return i+=i<0?n:0,on(i,n)?e[i]:void 0}function QN(e,i){return e&&e.length?t0(e,ae(i)):void 0}function zN(e){return e=ae(e),ue(function(i){return t0(i,e)})}var KN=Object.prototype,VN=KN.hasOwnProperty;function Yl(e,i){i=Jn(i,e);var n=-1,t=i.length;if(!t)return!0;for(;++n<t;){var o=Si(i[n]);if(o==="__proto__"&&!VN.call(e,"__proto__")||(o==="constructor"||o==="prototype")&&n<t-1)return!1}var a=Um(e,i);return a==null||delete a[Si(mi(i))]}function UN(e){return da(e)?void 0:e}var qN=1,eZ=2,iZ=4,nZ=un(function(e,i){var n={};if(e==null)return n;var t=!1;i=Le(i,function(a){return a=Jn(a,e),t||(t=a.length>1),a}),Ni(e,ul(e),n),t&&(n=pi(n,qN|eZ|iZ,UN));for(var o=i.length;o--;)Yl(n,i[o]);return n});function fa(e,i,n,t){if(!Te(e))return e;i=Jn(i,e);for(var o=-1,a=i.length,s=a-1,r=e;r!=null&&++o<a;){var u=Si(i[o]),c=n;if(u==="__proto__"||u==="constructor"||u==="prototype")return e;if(o!=s){var l=r[u];c=t?t(l,u,r):void 0,c===void 0&&(c=Te(l)?l:on(i[o+1])?[]:{})}ca(r,u,c),r=r[u]}return e}function o0(e,i,n){for(var t=-1,o=i.length,a={};++t<o;){var s=i[t],r=ht(e,s);n(r,s)&&fa(a,Jn(s,e),r)}return a}function a0(e,i){if(e==null)return{};var n=Le(ul(e),function(t){return[t]});return i=ie(i),o0(e,n,function(t,o){return i(t,o[0])})}function tZ(e,i){return a0(e,Vs(ie(i)))}function oZ(e){return Py(2,e)}function aZ(e,i){var n=e.length;for(e.sort(i);n--;)e[n]=e[n].value;return e}function s0(e,i){if(e!==i){var n=e!==void 0,t=e===null,o=e===e,a=ti(e),s=i!==void 0,r=i===null,u=i===i,c=ti(i);if(!r&&!c&&!a&&e>i||a&&s&&u&&!r&&!c||t&&s&&u||!n&&u||!o)return 1;if(!t&&!a&&!c&&e<i||c&&n&&o&&!t&&!a||r&&n&&o||!s&&o||!u)return-1}return 0}function sZ(e,i,n){for(var t=-1,o=e.criteria,a=i.criteria,s=o.length,r=n.length;++t<s;){var u=s0(o[t],a[t]);if(u){if(t>=r)return u;var c=n[t];return u*(c=="desc"?-1:1)}}return e.index-i.index}function r0(e,i,n){i.length?i=Le(i,function(a){return ne(a)?function(s){return ht(s,a.length===1?a[0]:a)}:a}):i=[qe];var t=-1;i=Le(i,si(ie));var o=Qm(e,function(a,s,r){var u=Le(i,function(c){return c(a)});return{criteria:u,index:++t,value:a}});return aZ(o,function(a,s){return sZ(a,s,n)})}function rZ(e,i,n,t){return e==null?[]:(ne(i)||(i=i==null?[]:[i]),n=t?void 0:n,ne(n)||(n=n==null?[]:[n]),r0(e,i,n))}function Dl(e){return un(function(i){return i=Le(i,si(ie)),ue(function(n){var t=this;return e(i,function(o){return ai(o,t,n)})})})}var uZ=Dl(Le),cZ=ue,lZ=Math.min,dZ=cZ(function(e,i){i=i.length==1&&ne(i[0])?Le(i[0],si(ie)):Le(Ae(i,1),si(ie));var n=i.length;return ue(function(t){for(var o=-1,a=lZ(t.length,n);++o<a;)t[o]=i[o].call(this,t[o]);return ai(e,this,t)})}),gZ=Dl(Hm),hZ=Dl(ll),pZ=9007199254740991,fZ=Math.floor;function Fu(e,i){var n="";if(!e||i<1||i>pZ)return n;do i%2&&(n+=e),i=fZ(i/2),i&&(e+=e);while(i);return n}var vZ=fl("length"),u0="\\ud800-\\udfff",yZ="\\u0300-\\u036f",mZ="\\ufe20-\\ufe2f",bZ="\\u20d0-\\u20ff",wZ=yZ+mZ+bZ,kZ="\\ufe0e\\ufe0f",jZ="["+u0+"]",Wu="["+wZ+"]",Gu="\\ud83c[\\udffb-\\udfff]",SZ="(?:"+Wu+"|"+Gu+")",c0="[^"+u0+"]",l0="(?:\\ud83c[\\udde6-\\uddff]){2}",d0="[\\ud800-\\udbff][\\udc00-\\udfff]",CZ="\\u200d",g0=SZ+"?",h0="["+kZ+"]?",LZ="(?:"+CZ+"(?:"+[c0,l0,d0].join("|")+")"+h0+g0+")*",xZ=h0+g0+LZ,TZ="(?:"+[c0+Wu+"?",Wu,l0,d0,jZ].join("|")+")",Jh=RegExp(Gu+"(?="+Gu+")|"+TZ+xZ,"g");function YZ(e){for(var i=Jh.lastIndex=0;Jh.test(e);)++i;return i}function ho(e){return co(e)?YZ(e):vZ(e)}var DZ=Math.ceil;function ls(e,i){i=i===void 0?" ":oi(i);var n=i.length;if(n<2)return n?Fu(i,e):i;var t=Fu(i,DZ(e/ho(i)));return co(i)?Nn(Ci(t),0,e).join(""):t.slice(0,e)}var $Z=Math.ceil,EZ=Math.floor;function BZ(e,i,n){e=ve(e),i=ae(i);var t=i?ho(e):0;if(!i||t>=i)return e;var o=(i-t)/2;return ls(EZ(o),n)+e+ls($Z(o),n)}function RZ(e,i,n){e=ve(e),i=ae(i);var t=i?ho(e):0;return i&&t<i?e+ls(i-t,n):e}function OZ(e,i,n){e=ve(e),i=ae(i);var t=i?ho(e):0;return i&&t<i?ls(i-t,n)+e:e}var JZ=/^\s+/,PZ=Pe.parseInt;function NZ(e,i,n){return n||i==null?i=0:i&&(i=+i),PZ(ve(e).replace(JZ,""),i||0)}var ZZ=32,Us=ue(function(e,i){var n=Ln(i,so(Us));return an(e,ZZ,void 0,i,n)});Us.placeholder={};var AZ=64,$l=ue(function(e,i){var n=Ln(i,so($l));return an(e,AZ,void 0,i,n)});$l.placeholder={};var MZ=Xs(function(e,i,n){e[n?0:1].push(i)},function(){return[[],[]]});function HZ(e,i){return o0(e,i,function(n,t){return pl(e,t)})}var IZ=un(function(e,i){return e==null?{}:HZ(e,i)});function XZ(e){for(var i,n=this;n instanceof Bs;){var t=by(n);t.__index__=0,t.__values__=void 0,i?o.__wrapped__=t:i=t;var o=t;n=n.__wrapped__}return o.__wrapped__=e,i}function _Z(e){return function(i){return e==null?void 0:ht(e,i)}}function FZ(e,i,n,t){for(var o=n-1,a=e.length;++o<a;)if(t(e[o],i))return o;return-1}var WZ=Array.prototype,Ph=WZ.splice;function El(e,i,n,t){var o=t?FZ:ao,a=-1,s=i.length,r=e;for(e===i&&(i=Ue(i)),n&&(r=Le(e,si(n)));++a<s;)for(var u=0,c=i[a],l=n?n(c):c;(u=o(r,l,u,t))>-1;)r!==e&&Ph.call(r,u,1),Ph.call(e,u,1);return e}function p0(e,i){return e&&e.length&&i&&i.length?El(e,i):e}var GZ=ue(p0);function QZ(e,i,n){return e&&e.length&&i&&i.length?El(e,i,ie(n)):e}function zZ(e,i,n){return e&&e.length&&i&&i.length?El(e,i,void 0,n):e}var KZ=Array.prototype,VZ=KZ.splice;function f0(e,i){for(var n=e?i.length:0,t=n-1;n--;){var o=i[n];if(n==t||o!==a){var a=o;on(o)?VZ.call(e,o,1):Yl(e,o)}}return e}var UZ=un(function(e,i){var n=e==null?0:e.length,t=qc(e,i);return f0(e,Le(i,function(o){return on(o,n)?+o:o}).sort(s0)),t}),qZ=Math.floor,eA=Math.random;function Bl(e,i){return e+qZ(eA()*(i-e+1))}var iA=parseFloat,nA=Math.min,tA=Math.random;function oA(e,i,n){if(n&&typeof n!="boolean"&&We(e,i,n)&&(i=n=void 0),n===void 0&&(typeof i=="boolean"?(n=i,i=void 0):typeof e=="boolean"&&(n=e,e=void 0)),e===void 0&&i===void 0?(e=0,i=1):(e=Ki(e),i===void 0?(i=e,e=0):i=Ki(i)),e>i){var t=e;e=i,i=t}if(n||e%1||i%1){var o=tA();return nA(e+o*(i-e+iA("1e-"+((o+"").length-1))),i)}return Bl(e,i)}var aA=Math.ceil,sA=Math.max;function rA(e,i,n,t){for(var o=-1,a=sA(aA((i-e)/(n||1)),0),s=Array(a);a--;)s[t?a:++o]=e,e+=n;return s}function v0(e){return function(i,n,t){return t&&typeof t!="number"&&We(i,n,t)&&(n=t=void 0),i=Ki(i),n===void 0?(n=i,i=0):n=Ki(n),t=t===void 0?i<n?1:-1:Ki(t),rA(i,n,t,e)}}var uA=v0(),cA=v0(!0),lA=256,dA=un(function(e,i){return an(e,lA,void 0,void 0,void 0,i)});function y0(e,i,n,t,o){return o(e,function(a,s,r){n=t?(t=!1,a):i(n,a,s,r)}),n}function gA(e,i,n){var t=ne(e)?tl:y0,o=arguments.length<3;return t(e,ie(i),n,o,An)}function hA(e,i,n,t){var o=e==null?0:e.length;for(t&&o&&(n=e[--o]);o--;)n=i(n,e[o],o,e);return n}function pA(e,i,n){var t=ne(e)?hA:y0,o=arguments.length<3;return t(e,ie(i),n,o,Pm)}function fA(e,i){var n=ne(e)?Zn:Xm;return n(e,Vs(ie(i)))}function vA(e,i){var n=[];if(!(e&&e.length))return n;var t=-1,o=[],a=e.length;for(i=ie(i);++t<a;){var s=e[t];i(s,t,e)&&(n.push(s),o.push(t))}return f0(e,o),n}function yA(e,i,n){return(n?We(e,i,n):i===void 0)?i=1:i=ae(i),Fu(ve(e),i)}function mA(){var e=arguments,i=ve(e[0]);return e.length<3?i:i.replace(e[1],e[2])}var bA="Expected a function";function wA(e,i){if(typeof e!="function")throw new TypeError(bA);return i=i===void 0?i:ae(i),ue(e,i)}function kA(e,i,n){i=Jn(i,e);var t=-1,o=i.length;for(o||(o=1,e=void 0);++t<o;){var a=e?.[Si(i[t])];a===void 0&&(t=o,a=n),e=tn(a)?a.call(e):a}return e}var jA=Array.prototype,SA=jA.reverse;function Qu(e){return e==null?e:SA.call(e)}var CA=al("round");function m0(e){var i=e.length;return i?e[Bl(0,i-1)]:void 0}function LA(e){return m0(go(e))}function xA(e){var i=ne(e)?m0:LA;return i(e)}function qs(e,i){var n=-1,t=e.length,o=t-1;for(i=i===void 0?t:i;++n<i;){var a=Bl(n,o),s=e[a];e[a]=e[n],e[n]=s}return e.length=i,e}function TA(e,i){return qs(Ue(e),pt(i,0,e.length))}function YA(e,i){var n=go(e);return qs(n,pt(i,0,n.length))}function DA(e,i,n){(n?We(e,i,n):i===void 0)?i=1:i=ae(i);var t=ne(e)?TA:YA;return t(e,i)}function $A(e,i,n){return e==null?e:fa(e,i,n)}function EA(e,i,n,t){return t=typeof t=="function"?t:void 0,e==null?e:fa(e,i,n,t)}function BA(e){return qs(Ue(e))}function RA(e){return qs(go(e))}function OA(e){var i=ne(e)?BA:RA;return i(e)}var JA="[object Map]",PA="[object Set]";function NA(e){if(e==null)return 0;if(ei(e))return zs(e)?ho(e):e.length;var i=Oi(e);return i==JA||i==PA?e.size:Kc(e).length}function ZA(e,i,n){var t=e==null?0:e.length;return t?(n&&typeof n!="number"&&We(e,i,n)?(i=0,n=t):(i=i==null?0:ae(i),n=n===void 0?t:ae(n)),yi(e,i,n)):[]}var AA=lo(function(e,i,n){return e+(n?"_":"")+i.toLowerCase()});function MA(e,i){var n;return An(e,function(t,o,a){return n=i(t,o,a),!n}),!!n}function HA(e,i,n){var t=ne(e)?ll:MA;return n&&We(e,i,n)&&(i=void 0),t(e,ie(i))}var IA=ue(function(e,i){if(e==null)return[];var n=i.length;return n>1&&We(e,i[0],i[1])?i=[]:n>2&&We(i[0],i[1],i[2])&&(i=[i[0]]),r0(e,Ae(i,1),[])}),XA=4294967295,_A=XA-1,FA=Math.floor,WA=Math.min;function Rl(e,i,n,t){var o=0,a=e==null?0:e.length;if(a===0)return 0;i=n(i);for(var s=i!==i,r=i===null,u=ti(i),c=i===void 0;o<a;){var l=FA((o+a)/2),d=n(e[l]),g=d!==void 0,h=d===null,p=d===d,v=ti(d);if(s)var y=t||p;else c?y=p&&(t||g):r?y=p&&g&&(t||!h):u?y=p&&g&&!h&&(t||!v):h||v?y=!1:y=t?d<=i:d<i;y?o=l+1:a=l}return WA(a,_A)}var GA=4294967295,QA=GA>>>1;function er(e,i,n){var t=0,o=e==null?t:e.length;if(typeof i=="number"&&i===i&&o<=QA){for(;t<o;){var a=t+o>>>1,s=e[a];s!==null&&!ti(s)&&(n?s<=i:s<i)?t=a+1:o=a}return o}return Rl(e,i,qe,n)}function zA(e,i){return er(e,i)}function KA(e,i,n){return Rl(e,i,ie(n))}function VA(e,i){var n=e==null?0:e.length;if(n){var t=er(e,i);if(t<n&&Ti(e[t],i))return t}return-1}function UA(e,i){return er(e,i,!0)}function qA(e,i,n){return Rl(e,i,ie(n),!0)}function eM(e,i){var n=e==null?0:e.length;if(n){var t=er(e,i,!0)-1;if(Ti(e[t],i))return t}return-1}function b0(e,i){for(var n=-1,t=e.length,o=0,a=[];++n<t;){var s=e[n],r=i?i(s):s;if(!n||!Ti(r,u)){var u=r;a[o++]=s===0?0:s}}return a}function iM(e){return e&&e.length?b0(e):[]}function nM(e,i){return e&&e.length?b0(e,ie(i)):[]}var tM=4294967295;function oM(e,i,n){return n&&typeof n!="number"&&We(e,i,n)&&(i=n=void 0),n=n===void 0?tM:n>>>0,n?(e=ve(e),e&&(typeof i=="string"||i!=null&&!Ll(i))&&(i=oi(i),!i&&co(e))?Nn(Ci(e),0,n):e.split(i,n)):[]}var aM="Expected a function",sM=Math.max;function rM(e,i){if(typeof e!="function")throw new TypeError(aM);return i=i==null?0:sM(ae(i),0),ue(function(n){var t=n[i],o=Nn(n,0,i);return t&&Pn(o,t),ai(e,this,o)})}var uM=lo(function(e,i,n){return e+(n?" ":"")+nl(i)});function cM(e,i,n){return e=ve(e),n=n==null?0:pt(ae(n),0,e.length),i=oi(i),e.slice(n,n+i.length)==i}function lM(){return{}}function dM(){return""}function gM(){return!0}var hM=Es(function(e,i){return e-i},0);function pM(e){return e&&e.length?Tl(e,qe):0}function fM(e,i){return e&&e.length?Tl(e,ie(i)):0}function vM(e){var i=e==null?0:e.length;return i?yi(e,1,i):[]}function yM(e,i,n){return e&&e.length?(i=n||i===void 0?1:ae(i),yi(e,0,i<0?0:i)):[]}function mM(e,i,n){var t=e==null?0:e.length;return t?(i=n||i===void 0?1:ae(i),i=t-i,yi(e,i<0?0:i,t)):[]}function bM(e,i){return e&&e.length?Fs(e,ie(i),!1,!0):[]}function wM(e,i){return e&&e.length?Fs(e,ie(i)):[]}function kM(e,i){return i(e),e}var w0=Object.prototype,jM=w0.hasOwnProperty;function Nh(e,i,n,t){return e===void 0||Ti(e,w0[n])&&!jM.call(t,n)?i:e}var SM={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"};function CM(e){return"\\"+SM[e]}var k0=/<%=([\s\S]+?)%>/g,LM=/<%-([\s\S]+?)%>/g,xM=/<%([\s\S]+?)%>/g,zu={escape:LM,evaluate:xM,interpolate:k0,variable:"",imports:{_:{escape:Am}}},TM="Invalid `variable` option passed into `_.template`",YM="Invalid `imports` option passed into `_.template`",DM=/\b__p \+= '';/g,$M=/\b(__p \+=) '' \+/g,EM=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Zh=/[()=,{}\[\]\/\s]/,BM=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Ba=/($^)/,RM=/['\n\r\u2028\u2029\\]/g,OM=Object.prototype,Ah=OM.hasOwnProperty;function JM(e,i,n){var t=zu.imports._.templateSettings||zu;n&&We(e,i,n)&&(i=void 0),e=ve(e),i=Nu({},i,t,Nh);var o=Nu({},i.imports,t.imports,Nh),a=Ne(o),s=jl(o,a);ui(a,function(y){if(Zh.test(y))throw new Error(YM)});var r,u,c=0,l=i.interpolate||Ba,d="__p += '",g=RegExp((i.escape||Ba).source+"|"+l.source+"|"+(l===k0?BM:Ba).source+"|"+(i.evaluate||Ba).source+"|$","g"),h=Ah.call(i,"sourceURL")?"//# sourceURL="+(i.sourceURL+"").replace(/\s/g," ")+`
|
|
122
122
|
`:"";e.replace(g,function(y,b,m,j,x,$){return m||(m=j),d+=e.slice(c,$).replace(RM,CM),b&&(r=!0,d+=`' +
|
|
123
123
|
__e(`+b+`) +
|
|
124
124
|
'`),x&&(u=!0,d+=`';
|
|
@@ -135,7 +135,7 @@ __p += '`),m&&(d+=`' +
|
|
|
135
135
|
function print() { __p += __j.call(arguments, '') }
|
|
136
136
|
`:`;
|
|
137
137
|
`)+d+`return __p
|
|
138
|
-
}`;var v=Jy(function(){return Function(a,h+"return "+d).apply(void 0,s)});if(v.source=d,el(v))throw v;return v}var PM="Expected a function";function NM(e,i,n){var t=!0,o=!0;if(typeof e!="function")throw new TypeError(PM);return Te(n)&&(t="leading"in n?!!n.leading:t,o="trailing"in n?!!n.trailing:o),Dm(e,i,{leading:t,maxWait:i,trailing:o})}function ir(e,i){return i(e)}var ZM=9007199254740991,Rr=4294967295,AM=Math.min;function MM(e,i){if(e=ae(e),e<1||e>ZM)return[];var n=Rr,t=AM(e,Rr);i=Ai(i),e-=Rr;for(var o=Qc(t,i);++n<e;)i(n);return o}function HM(){return this}function j0(e,i){var n=e;return n instanceof le&&(n=n.value()),tl(i,function(t,o){return o.func.apply(o.thisArg,Pn([t],o.args))},n)}function IM(){return j0(this.__wrapped__,this.__actions__)}function XM(e){return ve(e).toLowerCase()}function _M(e){return ne(e)?Le(e,Si):ti(e)?[e]:Ue(By(ve(e)))}var Mh=9007199254740991;function FM(e){return e?pt(ae(e),-Mh,Mh):e===0?e:0}function WM(e){return ve(e).toUpperCase()}function GM(e,i,n){var t=ne(e),o=t||xn(e)||uo(e);if(i=ie(i),n==null){var a=e&&e.constructor;o?n=t?new a:[]:Te(e)?n=tn(a)?oo(Ms(e)):{}:n={}}return(o?ui:Zi)(e,function(s,r,u){return i(n,s,r,u)}),n}function S0(e,i){for(var n=e.length;n--&&ao(i,e[n],0)>-1;);return n}function C0(e,i){for(var n=-1,t=e.length;++n<t&&ao(i,e[n],0)>-1;);return n}function QM(e,i,n){if(e=ve(e),e&&(n||i===void 0))return py(e);if(!e||!(i=oi(i)))return e;var t=Ci(e),o=Ci(i),a=C0(t,o),s=S0(t,o)+1;return Nn(t,a,s).join("")}function zM(e,i,n){if(e=ve(e),e&&(n||i===void 0))return e.slice(0,hy(e)+1);if(!e||!(i=oi(i)))return e;var t=Ci(e),o=S0(t,Ci(i))+1;return Nn(t,0,o).join("")}var KM=/^\s+/;function VM(e,i,n){if(e=ve(e),e&&(n||i===void 0))return e.replace(KM,"");if(!e||!(i=oi(i)))return e;var t=Ci(e),o=C0(t,Ci(i));return Nn(t,o).join("")}var UM=30,qM="...",e8=/\w*$/;function i8(e,i){var n=UM,t=qM;if(Te(i)){var o="separator"in i?i.separator:o;n="length"in i?ae(i.length):n,t="omission"in i?oi(i.omission):t}e=ve(e);var a=e.length;if(co(e)){var s=Ci(e);a=s.length}if(n>=a)return e;var r=n-ho(t);if(r<1)return t;var u=s?Nn(s,0,r).join(""):e.slice(0,r);if(o===void 0)return u+t;if(s&&(r+=u.length-r),Ll(o)){if(e.slice(r).search(o)){var c,l=u;for(o.global||(o=RegExp(o.source,ve(e8.exec(o))+"g")),o.lastIndex=0;c=o.exec(l);)var d=c.index;u=u.slice(0,d===void 0?r:d)}}else if(e.indexOf(oi(o),r)!=r){var g=u.lastIndexOf(o);g>-1&&(u=u.slice(0,g))}return u+t}function n8(e){return Ly(e,1)}var t8={"&":"&","<":"<",">":">",""":'"',"'":"'"},o8=ol(t8),L0=/&(?:amp|lt|gt|quot|#39);/g,a8=RegExp(L0.source);function s8(e){return e=ve(e),e&&a8.test(e)?e.replace(L0,o8):e}var r8=1/0,u8=Ht&&1/Is(new Ht([,-0]))[1]==r8?function(e){return new Ht(e)}:_c,c8=200;function Tn(e,i,n){var t=-1,o=Os,a=e.length,s=!0,r=[],u=r;if(n)s=!1,o=bl;else if(a>=c8){var c=i?null:u8(e);if(c)return Is(c);s=!1,o=qo,u=new tt}else u=i?[]:r;e:for(;++t<a;){var l=e[t],d=i?i(l):l;if(l=n||l!==0?l:0,s&&d===d){for(var g=u.length;g--;)if(u[g]===d)continue e;i&&u.push(d),r.push(l)}else o(u,d,n)||(u!==r&&u.push(d),r.push(l))}return r}var l8=ue(function(e){return Tn(Ae(e,1,Re,!0))}),d8=ue(function(e){var i=mi(e);return Re(i)&&(i=void 0),Tn(Ae(e,1,Re,!0),ie(i))}),g8=ue(function(e){var i=mi(e);return i=typeof i=="function"?i:void 0,Tn(Ae(e,1,Re,!0),void 0,i)});function h8(e){return e&&e.length?Tn(e):[]}function p8(e,i){return e&&e.length?Tn(e,ie(i)):[]}function f8(e,i){return i=typeof i=="function"?i:void 0,e&&e.length?Tn(e,void 0,i):[]}var v8=0;function y8(e){var i=++v8;return ve(e)+i}function m8(e,i){return e==null?!0:Yl(e,i)}var b8=Math.max;function Ol(e){if(!(e&&e.length))return[];var i=0;return e=Zn(e,function(n){if(Re(n))return i=b8(n.length,i),!0}),Qc(i,function(n){return Le(e,fl(n))})}function x0(e,i){if(!(e&&e.length))return[];var n=Ol(e);return i==null?n:Le(n,function(t){return ai(i,void 0,t)})}function T0(e,i,n,t){return fa(e,i,n(ht(e,i)),t)}function w8(e,i,n){return e==null?e:T0(e,i,Ai(n))}function k8(e,i,n,t){return t=typeof t=="function"?t:void 0,e==null?e:T0(e,i,Ai(n),t)}var j8=lo(function(e,i,n){return e+(n?" ":"")+i.toUpperCase()});function S8(e){return e==null?[]:jl(e,ii(e))}var C8=ue(function(e,i){return Re(e)?ha(e,i):[]});function L8(e,i){return Us(Ai(i),e)}var x8=un(function(e){var i=e.length,n=i?e[0]:0,t=this.__wrapped__,o=function(a){return qc(a,e)};return i>1||this.__actions__.length||!(t instanceof le)||!on(n)?this.thru(o):(t=t.slice(n,+n+(i?1:0)),t.__actions__.push({func:ir,args:[o],thisArg:void 0}),new fi(t,this.__chain__).thru(function(a){return i&&!a.length&&a.push(void 0),a}))});function T8(){return sm(this)}function Y8(){var e=this.__wrapped__;if(e instanceof le){var i=e;return this.__actions__.length&&(i=new le(this)),i=i.reverse(),i.__actions__.push({func:ir,args:[Qu],thisArg:void 0}),new fi(i,this.__chain__)}return this.thru(Qu)}function Jl(e,i,n){var t=e.length;if(t<2)return t?Tn(e[0]):[];for(var o=-1,a=Array(t);++o<t;)for(var s=e[o],r=-1;++r<t;)r!=o&&(a[o]=ha(a[o]||s,e[r],i,n));return Tn(Ae(a,1),i,n)}var D8=ue(function(e){return Jl(Zn(e,Re))}),$8=ue(function(e){var i=mi(e);return Re(i)&&(i=void 0),Jl(Zn(e,Re),ie(i))}),E8=ue(function(e){var i=mi(e);return i=typeof i=="function"?i:void 0,Jl(Zn(e,Re),void 0,i)}),B8=ue(Ol);function Y0(e,i,n){for(var t=-1,o=e.length,a=i.length,s={};++t<o;){var r=t<a?i[t]:void 0;n(s,e[t],r)}return s}function R8(e,i){return Y0(e||[],i||[],ca)}function O8(e,i){return Y0(e||[],i||[],fa)}var J8=ue(function(e){var i=e.length,n=i>1?e[i-1]:void 0;return n=typeof n=="function"?(e.pop(),n):void 0,x0(e,n)});const X={chunk:tB,compact:ZR,concat:AR,difference:_O,differenceBy:FO,differenceWith:WO,drop:QO,dropRight:zO,dropRightWhile:KO,dropWhile:VO,fill:yJ,findIndex:Fm,findLastIndex:Gm,flatten:Ry,flattenDeep:BJ,flattenDepth:RJ,fromPairs:QJ,head:xJ,indexOf:pP,initial:fP,intersection:yP,intersectionBy:mP,intersectionWith:bP,join:pN,lastIndexOf:wN,nth:QN,pull:GZ,pullAll:p0,pullAllBy:QZ,pullAllWith:zZ,pullAt:UZ,remove:vA,reverse:Qu,slice:ZA,sortedIndex:zA,sortedIndexBy:KA,sortedIndexOf:VA,sortedLastIndex:UA,sortedLastIndexBy:qA,sortedLastIndexOf:eM,sortedUniq:iM,sortedUniqBy:nM,tail:vM,take:yM,takeRight:mM,takeRightWhile:bM,takeWhile:wM,union:l8,unionBy:d8,unionWith:g8,uniq:h8,uniqBy:p8,uniqWith:f8,unzip:Ol,unzipWith:x0,without:C8,xor:D8,xorBy:$8,xorWith:E8,zip:B8,zipObject:R8,zipObjectDeep:O8,zipWith:J8},we={countBy:YO,every:pJ,filter:mJ,find:wJ,findLast:CJ,flatMap:TJ,flatMapDeep:DJ,flatMapDepth:$J,forEach:UO,forEachRight:eJ,groupBy:qJ,includes:gP,invokeMap:YP,keyBy:vN,map:Ws,orderBy:rZ,partition:MZ,reduce:gA,reduceRight:pA,reject:fA,sample:xA,sampleSize:DA,shuffle:OA,size:NA,some:HA,sortBy:IA},P8={now:Wa},$e={after:M2,ary:Ly,before:Py,bind:Hs,bindKey:il,curry:yl,curryRight:ml,debounce:Dm,defer:HO,delay:IO,flip:JJ,memoize:As,once:oZ,overArgs:dZ,partial:Us,partialRight:$l,rearg:dA,rest:wA,spread:rM,throttle:NM,unary:n8,wrap:L8},G={castArray:VE,clone:YR,cloneDeep:ER,cloneDeepWith:OR,cloneWith:PR,conformsTo:SO,eq:Ti,gt:eP,gte:iP,isArguments:it,isArrayBuffer:EP,isArrayLike:ei,isArrayLikeObject:Re,isBoolean:RP,isBuffer:xn,isDate:PP,isElement:NP,isEmpty:IP,isEqual:XP,isEqualWith:_P,isError:el,isFinite:WP,isFunction:tn,isInteger:qm,isLength:Ps,isMap:pm,isMatch:GP,isMatchWith:QP,isNaN:KP,isNative:qP,isNil:eN,isNull:iN,isNumber:e0,isObjectLike:De,isPlainObject:da,isRegExp:Ll,isSafeInteger:oN,isSet:fm,isString:zs,isSymbol:ti,isTypedArray:uo,isUndefined:aN,isWeakMap:rN,isWeakSet:cN,lt:SN,lte:CN,toArray:n0,toFinite:Ki,toLength:Im,toNumber:hi,toPlainObject:Em,toSafeInteger:FM,toString:ve},Qe={add:E2,ceil:eB,divide:GO,floor:PJ,max:EN,maxBy:BN,mean:ON,meanBy:JN,min:AN,minBy:MN,multiply:IN,round:CA,subtract:hM,sum:pM,sumBy:fM},Pl={clamp:oB,inRange:cP,random:oA},ee={assign:_D,assignIn:zD,assignInWith:KD,assignWith:Nu,at:D$,create:DO,defaults:NO,defaultsDeep:AO,findKey:kJ,findLastKey:LJ,forIn:_J,forInRight:FJ,forOwn:WJ,forOwnRight:GJ,functions:zJ,functionsIn:KJ,get:Uc,has:aP,hasIn:pl,invert:SP,invertBy:xP,invoke:TP,keysIn:ii,mapKeys:LN,mapValues:xN,merge:PN,mergeWith:Rm,omit:nZ,omitBy:tZ,pick:IZ,pickBy:a0,result:kA,set:$A,setWith:EA,toPairs:sJ,toPairsIn:rJ,transform:GM,unset:m8,update:w8,updateWith:k8,values:go,valuesIn:S8},Mi={at:x8,chain:sm,commit:NR,next:GN,plant:XZ,reverse:Y8,tap:kM,toIterator:HM,value:IM,wrapperChain:T8},pe={camelCase:KE,capitalize:_y,deburr:Fy,endsWith:iJ,escape:Am,escapeRegExp:gJ,kebabCase:fN,lowerCase:kN,lowerFirst:jN,pad:BZ,padEnd:RZ,padStart:OZ,parseInt:NZ,repeat:yA,replace:mA,snakeCase:AA,split:oM,startCase:uM,startsWith:cM,template:JM,templateSettings:zu,toLower:XM,toUpper:WM,trim:QM,trimEnd:zM,trimStart:VM,truncate:i8,unescape:s8,upperCase:j8,upperFirst:nl,words:am},ye={attempt:Jy,bindAll:M$,cond:bO,conforms:jO,constant:Wc,defaultTo:JO,flow:IJ,flowRight:XJ,iteratee:dN,matches:YN,matchesProperty:$N,method:NN,methodOf:ZN,noop:_c,nthArg:zN,over:uZ,overEvery:gZ,overSome:hZ,property:Lm,propertyOf:_Z,range:uA,rangeRight:cA,stubArray:sl,stubFalse:zc,stubObject:lM,stubString:dM,stubTrue:gM,times:MM,toPath:_M,uniqueId:y8};function N8(){var e=new le(this.__wrapped__);return e.__actions__=Ue(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=Ue(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=Ue(this.__views__),e}function Z8(){if(this.__filtered__){var e=new le(this);e.__dir__=-1,e.__filtered__=!0}else e=this.clone(),e.__dir__*=-1;return e}var A8=Math.max,M8=Math.min;function H8(e,i,n){for(var t=-1,o=n.length;++t<o;){var a=n[t],s=a.size;switch(a.type){case"drop":e+=s;break;case"dropRight":i-=s;break;case"take":i=M8(i,e+s);break;case"takeRight":e=A8(e,i-s);break}}return{start:e,end:i}}var I8=1,X8=2,_8=Math.min;function F8(){var e=this.__wrapped__.value(),i=this.__dir__,n=ne(e),t=i<0,o=n?e.length:0,a=H8(0,o,this.__views__),s=a.start,r=a.end,u=r-s,c=t?r:s-1,l=this.__iteratees__,d=l.length,g=0,h=_8(u,this.__takeCount__);if(!n||!t&&o==u&&h==u)return j0(e,this.__actions__);var p=[];e:for(;u--&&g<h;){c+=i;for(var v=-1,y=e[c];++v<d;){var b=l[v],m=b.iteratee,j=b.type,x=m(y);if(j==X8)y=x;else if(!x){if(j==I8)continue e;break e}}p[g++]=y}return p}var W8="4.18.1",G8=2,Q8=1,z8=3,D0=4294967295,K8=Array.prototype,V8=Object.prototype,$0=V8.hasOwnProperty,Hh=He?He.iterator:void 0,U8=Math.max,Ih=Math.min,Nl=(function(e){return function(i,n,t){if(t==null){var o=Te(n),a=o&&Ne(n),s=a&&a.length&&Gs(n,a);(s?s.length:o)||(t=n,n=i,i=this)}return e(i,n,t)}})(HN);f.after=$e.after;f.ary=$e.ary;f.assign=ee.assign;f.assignIn=ee.assignIn;f.assignInWith=ee.assignInWith;f.assignWith=ee.assignWith;f.at=ee.at;f.before=$e.before;f.bind=$e.bind;f.bindAll=ye.bindAll;f.bindKey=$e.bindKey;f.castArray=G.castArray;f.chain=Mi.chain;f.chunk=X.chunk;f.compact=X.compact;f.concat=X.concat;f.cond=ye.cond;f.conforms=ye.conforms;f.constant=ye.constant;f.countBy=we.countBy;f.create=ee.create;f.curry=$e.curry;f.curryRight=$e.curryRight;f.debounce=$e.debounce;f.defaults=ee.defaults;f.defaultsDeep=ee.defaultsDeep;f.defer=$e.defer;f.delay=$e.delay;f.difference=X.difference;f.differenceBy=X.differenceBy;f.differenceWith=X.differenceWith;f.drop=X.drop;f.dropRight=X.dropRight;f.dropRightWhile=X.dropRightWhile;f.dropWhile=X.dropWhile;f.fill=X.fill;f.filter=we.filter;f.flatMap=we.flatMap;f.flatMapDeep=we.flatMapDeep;f.flatMapDepth=we.flatMapDepth;f.flatten=X.flatten;f.flattenDeep=X.flattenDeep;f.flattenDepth=X.flattenDepth;f.flip=$e.flip;f.flow=ye.flow;f.flowRight=ye.flowRight;f.fromPairs=X.fromPairs;f.functions=ee.functions;f.functionsIn=ee.functionsIn;f.groupBy=we.groupBy;f.initial=X.initial;f.intersection=X.intersection;f.intersectionBy=X.intersectionBy;f.intersectionWith=X.intersectionWith;f.invert=ee.invert;f.invertBy=ee.invertBy;f.invokeMap=we.invokeMap;f.iteratee=ye.iteratee;f.keyBy=we.keyBy;f.keys=Ne;f.keysIn=ee.keysIn;f.map=we.map;f.mapKeys=ee.mapKeys;f.mapValues=ee.mapValues;f.matches=ye.matches;f.matchesProperty=ye.matchesProperty;f.memoize=$e.memoize;f.merge=ee.merge;f.mergeWith=ee.mergeWith;f.method=ye.method;f.methodOf=ye.methodOf;f.mixin=Nl;f.negate=Vs;f.nthArg=ye.nthArg;f.omit=ee.omit;f.omitBy=ee.omitBy;f.once=$e.once;f.orderBy=we.orderBy;f.over=ye.over;f.overArgs=$e.overArgs;f.overEvery=ye.overEvery;f.overSome=ye.overSome;f.partial=$e.partial;f.partialRight=$e.partialRight;f.partition=we.partition;f.pick=ee.pick;f.pickBy=ee.pickBy;f.property=ye.property;f.propertyOf=ye.propertyOf;f.pull=X.pull;f.pullAll=X.pullAll;f.pullAllBy=X.pullAllBy;f.pullAllWith=X.pullAllWith;f.pullAt=X.pullAt;f.range=ye.range;f.rangeRight=ye.rangeRight;f.rearg=$e.rearg;f.reject=we.reject;f.remove=X.remove;f.rest=$e.rest;f.reverse=X.reverse;f.sampleSize=we.sampleSize;f.set=ee.set;f.setWith=ee.setWith;f.shuffle=we.shuffle;f.slice=X.slice;f.sortBy=we.sortBy;f.sortedUniq=X.sortedUniq;f.sortedUniqBy=X.sortedUniqBy;f.split=pe.split;f.spread=$e.spread;f.tail=X.tail;f.take=X.take;f.takeRight=X.takeRight;f.takeRightWhile=X.takeRightWhile;f.takeWhile=X.takeWhile;f.tap=Mi.tap;f.throttle=$e.throttle;f.thru=ir;f.toArray=G.toArray;f.toPairs=ee.toPairs;f.toPairsIn=ee.toPairsIn;f.toPath=ye.toPath;f.toPlainObject=G.toPlainObject;f.transform=ee.transform;f.unary=$e.unary;f.union=X.union;f.unionBy=X.unionBy;f.unionWith=X.unionWith;f.uniq=X.uniq;f.uniqBy=X.uniqBy;f.uniqWith=X.uniqWith;f.unset=ee.unset;f.unzip=X.unzip;f.unzipWith=X.unzipWith;f.update=ee.update;f.updateWith=ee.updateWith;f.values=ee.values;f.valuesIn=ee.valuesIn;f.without=X.without;f.words=pe.words;f.wrap=$e.wrap;f.xor=X.xor;f.xorBy=X.xorBy;f.xorWith=X.xorWith;f.zip=X.zip;f.zipObject=X.zipObject;f.zipObjectDeep=X.zipObjectDeep;f.zipWith=X.zipWith;f.entries=ee.toPairs;f.entriesIn=ee.toPairsIn;f.extend=ee.assignIn;f.extendWith=ee.assignInWith;Nl(f,f);f.add=Qe.add;f.attempt=ye.attempt;f.camelCase=pe.camelCase;f.capitalize=pe.capitalize;f.ceil=Qe.ceil;f.clamp=Pl.clamp;f.clone=G.clone;f.cloneDeep=G.cloneDeep;f.cloneDeepWith=G.cloneDeepWith;f.cloneWith=G.cloneWith;f.conformsTo=G.conformsTo;f.deburr=pe.deburr;f.defaultTo=ye.defaultTo;f.divide=Qe.divide;f.endsWith=pe.endsWith;f.eq=G.eq;f.escape=pe.escape;f.escapeRegExp=pe.escapeRegExp;f.every=we.every;f.find=we.find;f.findIndex=X.findIndex;f.findKey=ee.findKey;f.findLast=we.findLast;f.findLastIndex=X.findLastIndex;f.findLastKey=ee.findLastKey;f.floor=Qe.floor;f.forEach=we.forEach;f.forEachRight=we.forEachRight;f.forIn=ee.forIn;f.forInRight=ee.forInRight;f.forOwn=ee.forOwn;f.forOwnRight=ee.forOwnRight;f.get=ee.get;f.gt=G.gt;f.gte=G.gte;f.has=ee.has;f.hasIn=ee.hasIn;f.head=X.head;f.identity=qe;f.includes=we.includes;f.indexOf=X.indexOf;f.inRange=Pl.inRange;f.invoke=ee.invoke;f.isArguments=G.isArguments;f.isArray=ne;f.isArrayBuffer=G.isArrayBuffer;f.isArrayLike=G.isArrayLike;f.isArrayLikeObject=G.isArrayLikeObject;f.isBoolean=G.isBoolean;f.isBuffer=G.isBuffer;f.isDate=G.isDate;f.isElement=G.isElement;f.isEmpty=G.isEmpty;f.isEqual=G.isEqual;f.isEqualWith=G.isEqualWith;f.isError=G.isError;f.isFinite=G.isFinite;f.isFunction=G.isFunction;f.isInteger=G.isInteger;f.isLength=G.isLength;f.isMap=G.isMap;f.isMatch=G.isMatch;f.isMatchWith=G.isMatchWith;f.isNaN=G.isNaN;f.isNative=G.isNative;f.isNil=G.isNil;f.isNull=G.isNull;f.isNumber=G.isNumber;f.isObject=Te;f.isObjectLike=G.isObjectLike;f.isPlainObject=G.isPlainObject;f.isRegExp=G.isRegExp;f.isSafeInteger=G.isSafeInteger;f.isSet=G.isSet;f.isString=G.isString;f.isSymbol=G.isSymbol;f.isTypedArray=G.isTypedArray;f.isUndefined=G.isUndefined;f.isWeakMap=G.isWeakMap;f.isWeakSet=G.isWeakSet;f.join=X.join;f.kebabCase=pe.kebabCase;f.last=mi;f.lastIndexOf=X.lastIndexOf;f.lowerCase=pe.lowerCase;f.lowerFirst=pe.lowerFirst;f.lt=G.lt;f.lte=G.lte;f.max=Qe.max;f.maxBy=Qe.maxBy;f.mean=Qe.mean;f.meanBy=Qe.meanBy;f.min=Qe.min;f.minBy=Qe.minBy;f.stubArray=ye.stubArray;f.stubFalse=ye.stubFalse;f.stubObject=ye.stubObject;f.stubString=ye.stubString;f.stubTrue=ye.stubTrue;f.multiply=Qe.multiply;f.nth=X.nth;f.noop=ye.noop;f.now=P8.now;f.pad=pe.pad;f.padEnd=pe.padEnd;f.padStart=pe.padStart;f.parseInt=pe.parseInt;f.random=Pl.random;f.reduce=we.reduce;f.reduceRight=we.reduceRight;f.repeat=pe.repeat;f.replace=pe.replace;f.result=ee.result;f.round=Qe.round;f.sample=we.sample;f.size=we.size;f.snakeCase=pe.snakeCase;f.some=we.some;f.sortedIndex=X.sortedIndex;f.sortedIndexBy=X.sortedIndexBy;f.sortedIndexOf=X.sortedIndexOf;f.sortedLastIndex=X.sortedLastIndex;f.sortedLastIndexBy=X.sortedLastIndexBy;f.sortedLastIndexOf=X.sortedLastIndexOf;f.startCase=pe.startCase;f.startsWith=pe.startsWith;f.subtract=Qe.subtract;f.sum=Qe.sum;f.sumBy=Qe.sumBy;f.template=pe.template;f.times=ye.times;f.toFinite=G.toFinite;f.toInteger=ae;f.toLength=G.toLength;f.toLower=pe.toLower;f.toNumber=G.toNumber;f.toSafeInteger=G.toSafeInteger;f.toString=G.toString;f.toUpper=pe.toUpper;f.trim=pe.trim;f.trimEnd=pe.trimEnd;f.trimStart=pe.trimStart;f.truncate=pe.truncate;f.unescape=pe.unescape;f.uniqueId=ye.uniqueId;f.upperCase=pe.upperCase;f.upperFirst=pe.upperFirst;f.each=we.forEach;f.eachRight=we.forEachRight;f.first=X.head;Nl(f,(function(){var e={};return Zi(f,function(i,n){$0.call(f.prototype,n)||(e[n]=i)}),e})(),{chain:!1});f.VERSION=W8;(f.templateSettings=pe.templateSettings).imports._=f;ui(["bind","bindKey","curry","curryRight","partial","partialRight"],function(e){f[e].placeholder=f});ui(["drop","take"],function(e,i){le.prototype[e]=function(n){n=n===void 0?1:U8(ae(n),0);var t=this.__filtered__&&!i?new le(this):this.clone();return t.__filtered__?t.__takeCount__=Ih(n,t.__takeCount__):t.__views__.push({size:Ih(n,D0),type:e+(t.__dir__<0?"Right":"")}),t},le.prototype[e+"Right"]=function(n){return this.reverse()[e](n).reverse()}});ui(["filter","map","takeWhile"],function(e,i){var n=i+1,t=n==Q8||n==z8;le.prototype[e]=function(o){var a=this.clone();return a.__iteratees__.push({iteratee:ie(o),type:n}),a.__filtered__=a.__filtered__||t,a}});ui(["head","last"],function(e,i){var n="take"+(i?"Right":"");le.prototype[e]=function(){return this[n](1).value()[0]}});ui(["initial","tail"],function(e,i){var n="drop"+(i?"":"Right");le.prototype[e]=function(){return this.__filtered__?new le(this):this[n](1)}});le.prototype.compact=function(){return this.filter(qe)};le.prototype.find=function(e){return this.filter(e).head()};le.prototype.findLast=function(e){return this.reverse().find(e)};le.prototype.invokeMap=ue(function(e,i){return typeof e=="function"?new le(this):this.map(function(n){return pa(n,e,i)})});le.prototype.reject=function(e){return this.filter(Vs(ie(e)))};le.prototype.slice=function(e,i){e=ae(e);var n=this;return n.__filtered__&&(e>0||i<0)?new le(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),i!==void 0&&(i=ae(i),n=i<0?n.dropRight(-i):n.take(i-e)),n)};le.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()};le.prototype.toArray=function(){return this.take(D0)};Zi(le.prototype,function(e,i){var n=/^(?:filter|find|map|reject)|While$/.test(i),t=/^(?:head|last)$/.test(i),o=f[t?"take"+(i=="last"?"Right":""):i],a=t||/^find/.test(i);o&&(f.prototype[i]=function(){var s=this.__wrapped__,r=t?[1]:arguments,u=s instanceof le,c=r[0],l=u||ne(s),d=function(b){var m=o.apply(f,Pn([b],r));return t&&g?m[0]:m};l&&n&&typeof c=="function"&&c.length!=1&&(u=l=!1);var g=this.__chain__,h=!!this.__actions__.length,p=a&&!g,v=u&&!h;if(!a&&l){s=v?s:new le(this);var y=e.apply(s,r);return y.__actions__.push({func:ir,args:[d],thisArg:void 0}),new fi(y,g)}return p&&v?e.apply(this,r):(y=this.thru(d),p?t?y.value()[0]:y.value():y)})});ui(["pop","push","shift","sort","splice","unshift"],function(e){var i=K8[e],n=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",t=/^(?:pop|shift)$/.test(e);f.prototype[e]=function(){var o=arguments;if(t&&!this.__chain__){var a=this.value();return i.apply(ne(a)?a:[],o)}return this[n](function(s){return i.apply(ne(s)?s:[],o)})}});Zi(le.prototype,function(e,i){var n=f[i];if(n){var t=n.name+"";$0.call(Mt,t)||(Mt[t]=[]),Mt[t].push({name:i,func:n})}});Mt[Js(void 0,G8).name]=[{name:"wrapper",func:void 0}];le.prototype.clone=N8;le.prototype.reverse=Z8;le.prototype.value=F8;f.prototype.at=Mi.at;f.prototype.chain=Mi.wrapperChain;f.prototype.commit=Mi.commit;f.prototype.next=Mi.next;f.prototype.plant=Mi.plant;f.prototype.reverse=Mi.reverse;f.prototype.toJSON=f.prototype.valueOf=f.prototype.value=Mi.value;f.prototype.first=f.prototype.head;Hh&&(f.prototype[Hh]=Mi.toIterator);var Ot=function(){return Ot=Object.assign||function(e){for(var i,n=1,t=arguments.length;n<t;n++){i=arguments[n];for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(e[o]=i[o])}return e},Ot.apply(this,arguments)},q8="~",eH="~~";function Zl(e,i){for(var n={},t={},o=e.split(eH),a=!1,s=0;o.length>s;s++){for(var r=o[s].split(q8),u=0;u<r.length;u+=2){var c=r[u],l=r[u+1],d="&"+c+";";n[d]=l,a&&(n["&"+c]=l),t[l]=d}a=!0}return i?{entities:Ot(Ot({},n),i.entities),characters:Ot(Ot({},t),i.characters)}:{entities:n,characters:t}}var Or={xml:/&(?:#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);?/g,html4:/∉|&(?:nbsp|iexcl|cent|pound|curren|yen|brvbar|sect|uml|copy|ordf|laquo|not|shy|reg|macr|deg|plusmn|sup2|sup3|acute|micro|para|middot|cedil|sup1|ordm|raquo|frac14|frac12|frac34|iquest|Agrave|Aacute|Acirc|Atilde|Auml|Aring|AElig|Ccedil|Egrave|Eacute|Ecirc|Euml|Igrave|Iacute|Icirc|Iuml|ETH|Ntilde|Ograve|Oacute|Ocirc|Otilde|Ouml|times|Oslash|Ugrave|Uacute|Ucirc|Uuml|Yacute|THORN|szlig|agrave|aacute|acirc|atilde|auml|aring|aelig|ccedil|egrave|eacute|ecirc|euml|igrave|iacute|icirc|iuml|eth|ntilde|ograve|oacute|ocirc|otilde|ouml|divide|oslash|ugrave|uacute|ucirc|uuml|yacute|thorn|yuml|quot|amp|lt|gt|#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);?/g,html5:/·|℗|⋇|⪧|⩺|⋗|⦕|⩼|⪆|⥸|⋗|⋛|⪌|≷|≳|⪦|⩹|⋖|⋋|⋉|⥶|⩻|⦖|◃|⊴|◂|∉|⋹̸|⋵̸|∉|⋷|⋶|∌|∌|⋾|⋽|∥|⊠|⨱|⨰|&(?:AElig|AMP|Aacute|Acirc|Agrave|Aring|Atilde|Auml|COPY|Ccedil|ETH|Eacute|Ecirc|Egrave|Euml|GT|Iacute|Icirc|Igrave|Iuml|LT|Ntilde|Oacute|Ocirc|Ograve|Oslash|Otilde|Ouml|QUOT|REG|THORN|Uacute|Ucirc|Ugrave|Uuml|Yacute|aacute|acirc|acute|aelig|agrave|amp|aring|atilde|auml|brvbar|ccedil|cedil|cent|copy|curren|deg|divide|eacute|ecirc|egrave|eth|euml|frac12|frac14|frac34|gt|iacute|icirc|iexcl|igrave|iquest|iuml|laquo|lt|macr|micro|middot|nbsp|not|ntilde|oacute|ocirc|ograve|ordf|ordm|oslash|otilde|ouml|para|plusmn|pound|quot|raquo|reg|sect|shy|sup1|sup2|sup3|szlig|thorn|times|uacute|ucirc|ugrave|uml|uuml|yacute|yen|yuml|#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);?/g},Qt={};Qt.xml=Zl(`lt~<~gt~>~quot~"~apos~'~amp~&`);Qt.html4=Zl(`apos~'~OElig~Œ~oelig~œ~Scaron~Š~scaron~š~Yuml~Ÿ~circ~ˆ~tilde~˜~ensp~ ~emsp~ ~thinsp~ ~zwnj~~zwj~~lrm~~rlm~~ndash~–~mdash~—~lsquo~‘~rsquo~’~sbquo~‚~ldquo~“~rdquo~”~bdquo~„~dagger~†~Dagger~‡~permil~‰~lsaquo~‹~rsaquo~›~euro~€~fnof~ƒ~Alpha~Α~Beta~Β~Gamma~Γ~Delta~Δ~Epsilon~Ε~Zeta~Ζ~Eta~Η~Theta~Θ~Iota~Ι~Kappa~Κ~Lambda~Λ~Mu~Μ~Nu~Ν~Xi~Ξ~Omicron~Ο~Pi~Π~Rho~Ρ~Sigma~Σ~Tau~Τ~Upsilon~Υ~Phi~Φ~Chi~Χ~Psi~Ψ~Omega~Ω~alpha~α~beta~β~gamma~γ~delta~δ~epsilon~ε~zeta~ζ~eta~η~theta~θ~iota~ι~kappa~κ~lambda~λ~mu~μ~nu~ν~xi~ξ~omicron~ο~pi~π~rho~ρ~sigmaf~ς~sigma~σ~tau~τ~upsilon~υ~phi~φ~chi~χ~psi~ψ~omega~ω~thetasym~ϑ~upsih~ϒ~piv~ϖ~bull~•~hellip~…~prime~′~Prime~″~oline~‾~frasl~⁄~weierp~℘~image~ℑ~real~ℜ~trade~™~alefsym~ℵ~larr~←~uarr~↑~rarr~→~darr~↓~harr~↔~crarr~↵~lArr~⇐~uArr~⇑~rArr~⇒~dArr~⇓~hArr~⇔~forall~∀~part~∂~exist~∃~empty~∅~nabla~∇~isin~∈~notin~∉~ni~∋~prod~∏~sum~∑~minus~−~lowast~∗~radic~√~prop~∝~infin~∞~ang~∠~and~∧~or~∨~cap~∩~cup~∪~int~∫~there4~∴~sim~∼~cong~≅~asymp~≈~ne~≠~equiv~≡~le~≤~ge~≥~sub~⊂~sup~⊃~nsub~⊄~sube~⊆~supe~⊇~oplus~⊕~otimes~⊗~perp~⊥~sdot~⋅~lceil~⌈~rceil~⌉~lfloor~⌊~rfloor~⌋~lang~〈~rang~〉~loz~◊~spades~♠~clubs~♣~hearts~♥~diams~♦~~nbsp~ ~iexcl~¡~cent~¢~pound~£~curren~¤~yen~¥~brvbar~¦~sect~§~uml~¨~copy~©~ordf~ª~laquo~«~not~¬~shy~~reg~®~macr~¯~deg~°~plusmn~±~sup2~²~sup3~³~acute~´~micro~µ~para~¶~middot~·~cedil~¸~sup1~¹~ordm~º~raquo~»~frac14~¼~frac12~½~frac34~¾~iquest~¿~Agrave~À~Aacute~Á~Acirc~Â~Atilde~Ã~Auml~Ä~Aring~Å~AElig~Æ~Ccedil~Ç~Egrave~È~Eacute~É~Ecirc~Ê~Euml~Ë~Igrave~Ì~Iacute~Í~Icirc~Î~Iuml~Ï~ETH~Ð~Ntilde~Ñ~Ograve~Ò~Oacute~Ó~Ocirc~Ô~Otilde~Õ~Ouml~Ö~times~×~Oslash~Ø~Ugrave~Ù~Uacute~Ú~Ucirc~Û~Uuml~Ü~Yacute~Ý~THORN~Þ~szlig~ß~agrave~à~aacute~á~acirc~â~atilde~ã~auml~ä~aring~å~aelig~æ~ccedil~ç~egrave~è~eacute~é~ecirc~ê~euml~ë~igrave~ì~iacute~í~icirc~î~iuml~ï~eth~ð~ntilde~ñ~ograve~ò~oacute~ó~ocirc~ô~otilde~õ~ouml~ö~divide~÷~oslash~ø~ugrave~ù~uacute~ú~ucirc~û~uuml~ü~yacute~ý~thorn~þ~yuml~ÿ~quot~"~amp~&~lt~<~gt~>`);Qt.html5=Zl('Abreve~Ă~Acy~А~Afr~𝔄~Amacr~Ā~And~⩓~Aogon~Ą~Aopf~𝔸~ApplyFunction~~Ascr~𝒜~Assign~≔~Backslash~∖~Barv~⫧~Barwed~⌆~Bcy~Б~Because~∵~Bernoullis~ℬ~Bfr~𝔅~Bopf~𝔹~Breve~˘~Bscr~ℬ~Bumpeq~≎~CHcy~Ч~Cacute~Ć~Cap~⋒~CapitalDifferentialD~ⅅ~Cayleys~ℭ~Ccaron~Č~Ccirc~Ĉ~Cconint~∰~Cdot~Ċ~Cedilla~¸~CenterDot~·~Cfr~ℭ~CircleDot~⊙~CircleMinus~⊖~CirclePlus~⊕~CircleTimes~⊗~ClockwiseContourIntegral~∲~CloseCurlyDoubleQuote~”~CloseCurlyQuote~’~Colon~∷~Colone~⩴~Congruent~≡~Conint~∯~ContourIntegral~∮~Copf~ℂ~Coproduct~∐~CounterClockwiseContourIntegral~∳~Cross~⨯~Cscr~𝒞~Cup~⋓~CupCap~≍~DD~ⅅ~DDotrahd~⤑~DJcy~Ђ~DScy~Ѕ~DZcy~Џ~Darr~↡~Dashv~⫤~Dcaron~Ď~Dcy~Д~Del~∇~Dfr~𝔇~DiacriticalAcute~´~DiacriticalDot~˙~DiacriticalDoubleAcute~˝~DiacriticalGrave~`~DiacriticalTilde~˜~Diamond~⋄~DifferentialD~ⅆ~Dopf~𝔻~Dot~¨~DotDot~⃜~DotEqual~≐~DoubleContourIntegral~∯~DoubleDot~¨~DoubleDownArrow~⇓~DoubleLeftArrow~⇐~DoubleLeftRightArrow~⇔~DoubleLeftTee~⫤~DoubleLongLeftArrow~⟸~DoubleLongLeftRightArrow~⟺~DoubleLongRightArrow~⟹~DoubleRightArrow~⇒~DoubleRightTee~⊨~DoubleUpArrow~⇑~DoubleUpDownArrow~⇕~DoubleVerticalBar~∥~DownArrow~↓~DownArrowBar~⤓~DownArrowUpArrow~⇵~DownBreve~̑~DownLeftRightVector~⥐~DownLeftTeeVector~⥞~DownLeftVector~↽~DownLeftVectorBar~⥖~DownRightTeeVector~⥟~DownRightVector~⇁~DownRightVectorBar~⥗~DownTee~⊤~DownTeeArrow~↧~Downarrow~⇓~Dscr~𝒟~Dstrok~Đ~ENG~Ŋ~Ecaron~Ě~Ecy~Э~Edot~Ė~Efr~𝔈~Element~∈~Emacr~Ē~EmptySmallSquare~◻~EmptyVerySmallSquare~▫~Eogon~Ę~Eopf~𝔼~Equal~⩵~EqualTilde~≂~Equilibrium~⇌~Escr~ℰ~Esim~⩳~Exists~∃~ExponentialE~ⅇ~Fcy~Ф~Ffr~𝔉~FilledSmallSquare~◼~FilledVerySmallSquare~▪~Fopf~𝔽~ForAll~∀~Fouriertrf~ℱ~Fscr~ℱ~GJcy~Ѓ~Gammad~Ϝ~Gbreve~Ğ~Gcedil~Ģ~Gcirc~Ĝ~Gcy~Г~Gdot~Ġ~Gfr~𝔊~Gg~⋙~Gopf~𝔾~GreaterEqual~≥~GreaterEqualLess~⋛~GreaterFullEqual~≧~GreaterGreater~⪢~GreaterLess~≷~GreaterSlantEqual~⩾~GreaterTilde~≳~Gscr~𝒢~Gt~≫~HARDcy~Ъ~Hacek~ˇ~Hat~^~Hcirc~Ĥ~Hfr~ℌ~HilbertSpace~ℋ~Hopf~ℍ~HorizontalLine~─~Hscr~ℋ~Hstrok~Ħ~HumpDownHump~≎~HumpEqual~≏~IEcy~Е~IJlig~IJ~IOcy~Ё~Icy~И~Idot~İ~Ifr~ℑ~Im~ℑ~Imacr~Ī~ImaginaryI~ⅈ~Implies~⇒~Int~∬~Integral~∫~Intersection~⋂~InvisibleComma~~InvisibleTimes~~Iogon~Į~Iopf~𝕀~Iscr~ℐ~Itilde~Ĩ~Iukcy~І~Jcirc~Ĵ~Jcy~Й~Jfr~𝔍~Jopf~𝕁~Jscr~𝒥~Jsercy~Ј~Jukcy~Є~KHcy~Х~KJcy~Ќ~Kcedil~Ķ~Kcy~К~Kfr~𝔎~Kopf~𝕂~Kscr~𝒦~LJcy~Љ~Lacute~Ĺ~Lang~⟪~Laplacetrf~ℒ~Larr~↞~Lcaron~Ľ~Lcedil~Ļ~Lcy~Л~LeftAngleBracket~⟨~LeftArrow~←~LeftArrowBar~⇤~LeftArrowRightArrow~⇆~LeftCeiling~⌈~LeftDoubleBracket~⟦~LeftDownTeeVector~⥡~LeftDownVector~⇃~LeftDownVectorBar~⥙~LeftFloor~⌊~LeftRightArrow~↔~LeftRightVector~⥎~LeftTee~⊣~LeftTeeArrow~↤~LeftTeeVector~⥚~LeftTriangle~⊲~LeftTriangleBar~⧏~LeftTriangleEqual~⊴~LeftUpDownVector~⥑~LeftUpTeeVector~⥠~LeftUpVector~↿~LeftUpVectorBar~⥘~LeftVector~↼~LeftVectorBar~⥒~Leftarrow~⇐~Leftrightarrow~⇔~LessEqualGreater~⋚~LessFullEqual~≦~LessGreater~≶~LessLess~⪡~LessSlantEqual~⩽~LessTilde~≲~Lfr~𝔏~Ll~⋘~Lleftarrow~⇚~Lmidot~Ŀ~LongLeftArrow~⟵~LongLeftRightArrow~⟷~LongRightArrow~⟶~Longleftarrow~⟸~Longleftrightarrow~⟺~Longrightarrow~⟹~Lopf~𝕃~LowerLeftArrow~↙~LowerRightArrow~↘~Lscr~ℒ~Lsh~↰~Lstrok~Ł~Lt~≪~Map~⤅~Mcy~М~MediumSpace~ ~Mellintrf~ℳ~Mfr~𝔐~MinusPlus~∓~Mopf~𝕄~Mscr~ℳ~NJcy~Њ~Nacute~Ń~Ncaron~Ň~Ncedil~Ņ~Ncy~Н~NegativeMediumSpace~~NegativeThickSpace~~NegativeThinSpace~~NegativeVeryThinSpace~~NestedGreaterGreater~≫~NestedLessLess~≪~NewLine~\n~Nfr~𝔑~NoBreak~~NonBreakingSpace~ ~Nopf~ℕ~Not~⫬~NotCongruent~≢~NotCupCap~≭~NotDoubleVerticalBar~∦~NotElement~∉~NotEqual~≠~NotEqualTilde~≂̸~NotExists~∄~NotGreater~≯~NotGreaterEqual~≱~NotGreaterFullEqual~≧̸~NotGreaterGreater~≫̸~NotGreaterLess~≹~NotGreaterSlantEqual~⩾̸~NotGreaterTilde~≵~NotHumpDownHump~≎̸~NotHumpEqual~≏̸~NotLeftTriangle~⋪~NotLeftTriangleBar~⧏̸~NotLeftTriangleEqual~⋬~NotLess~≮~NotLessEqual~≰~NotLessGreater~≸~NotLessLess~≪̸~NotLessSlantEqual~⩽̸~NotLessTilde~≴~NotNestedGreaterGreater~⪢̸~NotNestedLessLess~⪡̸~NotPrecedes~⊀~NotPrecedesEqual~⪯̸~NotPrecedesSlantEqual~⋠~NotReverseElement~∌~NotRightTriangle~⋫~NotRightTriangleBar~⧐̸~NotRightTriangleEqual~⋭~NotSquareSubset~⊏̸~NotSquareSubsetEqual~⋢~NotSquareSuperset~⊐̸~NotSquareSupersetEqual~⋣~NotSubset~⊂⃒~NotSubsetEqual~⊈~NotSucceeds~⊁~NotSucceedsEqual~⪰̸~NotSucceedsSlantEqual~⋡~NotSucceedsTilde~≿̸~NotSuperset~⊃⃒~NotSupersetEqual~⊉~NotTilde~≁~NotTildeEqual~≄~NotTildeFullEqual~≇~NotTildeTilde~≉~NotVerticalBar~∤~Nscr~𝒩~Ocy~О~Odblac~Ő~Ofr~𝔒~Omacr~Ō~Oopf~𝕆~OpenCurlyDoubleQuote~“~OpenCurlyQuote~‘~Or~⩔~Oscr~𝒪~Otimes~⨷~OverBar~‾~OverBrace~⏞~OverBracket~⎴~OverParenthesis~⏜~PartialD~∂~Pcy~П~Pfr~𝔓~PlusMinus~±~Poincareplane~ℌ~Popf~ℙ~Pr~⪻~Precedes~≺~PrecedesEqual~⪯~PrecedesSlantEqual~≼~PrecedesTilde~≾~Product~∏~Proportion~∷~Proportional~∝~Pscr~𝒫~Qfr~𝔔~Qopf~ℚ~Qscr~𝒬~RBarr~⤐~Racute~Ŕ~Rang~⟫~Rarr~↠~Rarrtl~⤖~Rcaron~Ř~Rcedil~Ŗ~Rcy~Р~Re~ℜ~ReverseElement~∋~ReverseEquilibrium~⇋~ReverseUpEquilibrium~⥯~Rfr~ℜ~RightAngleBracket~⟩~RightArrow~→~RightArrowBar~⇥~RightArrowLeftArrow~⇄~RightCeiling~⌉~RightDoubleBracket~⟧~RightDownTeeVector~⥝~RightDownVector~⇂~RightDownVectorBar~⥕~RightFloor~⌋~RightTee~⊢~RightTeeArrow~↦~RightTeeVector~⥛~RightTriangle~⊳~RightTriangleBar~⧐~RightTriangleEqual~⊵~RightUpDownVector~⥏~RightUpTeeVector~⥜~RightUpVector~↾~RightUpVectorBar~⥔~RightVector~⇀~RightVectorBar~⥓~Rightarrow~⇒~Ropf~ℝ~RoundImplies~⥰~Rrightarrow~⇛~Rscr~ℛ~Rsh~↱~RuleDelayed~⧴~SHCHcy~Щ~SHcy~Ш~SOFTcy~Ь~Sacute~Ś~Sc~⪼~Scedil~Ş~Scirc~Ŝ~Scy~С~Sfr~𝔖~ShortDownArrow~↓~ShortLeftArrow~←~ShortRightArrow~→~ShortUpArrow~↑~SmallCircle~∘~Sopf~𝕊~Sqrt~√~Square~□~SquareIntersection~⊓~SquareSubset~⊏~SquareSubsetEqual~⊑~SquareSuperset~⊐~SquareSupersetEqual~⊒~SquareUnion~⊔~Sscr~𝒮~Star~⋆~Sub~⋐~Subset~⋐~SubsetEqual~⊆~Succeeds~≻~SucceedsEqual~⪰~SucceedsSlantEqual~≽~SucceedsTilde~≿~SuchThat~∋~Sum~∑~Sup~⋑~Superset~⊃~SupersetEqual~⊇~Supset~⋑~TRADE~™~TSHcy~Ћ~TScy~Ц~Tab~ ~Tcaron~Ť~Tcedil~Ţ~Tcy~Т~Tfr~𝔗~Therefore~∴~ThickSpace~ ~ThinSpace~ ~Tilde~∼~TildeEqual~≃~TildeFullEqual~≅~TildeTilde~≈~Topf~𝕋~TripleDot~⃛~Tscr~𝒯~Tstrok~Ŧ~Uarr~↟~Uarrocir~⥉~Ubrcy~Ў~Ubreve~Ŭ~Ucy~У~Udblac~Ű~Ufr~𝔘~Umacr~Ū~UnderBar~_~UnderBrace~⏟~UnderBracket~⎵~UnderParenthesis~⏝~Union~⋃~UnionPlus~⊎~Uogon~Ų~Uopf~𝕌~UpArrow~↑~UpArrowBar~⤒~UpArrowDownArrow~⇅~UpDownArrow~↕~UpEquilibrium~⥮~UpTee~⊥~UpTeeArrow~↥~Uparrow~⇑~Updownarrow~⇕~UpperLeftArrow~↖~UpperRightArrow~↗~Upsi~ϒ~Uring~Ů~Uscr~𝒰~Utilde~Ũ~VDash~⊫~Vbar~⫫~Vcy~В~Vdash~⊩~Vdashl~⫦~Vee~⋁~Verbar~‖~Vert~‖~VerticalBar~∣~VerticalLine~|~VerticalSeparator~❘~VerticalTilde~≀~VeryThinSpace~ ~Vfr~𝔙~Vopf~𝕍~Vscr~𝒱~Vvdash~⊪~Wcirc~Ŵ~Wedge~⋀~Wfr~𝔚~Wopf~𝕎~Wscr~𝒲~Xfr~𝔛~Xopf~𝕏~Xscr~𝒳~YAcy~Я~YIcy~Ї~YUcy~Ю~Ycirc~Ŷ~Ycy~Ы~Yfr~𝔜~Yopf~𝕐~Yscr~𝒴~ZHcy~Ж~Zacute~Ź~Zcaron~Ž~Zcy~З~Zdot~Ż~ZeroWidthSpace~~Zfr~ℨ~Zopf~ℤ~Zscr~𝒵~abreve~ă~ac~∾~acE~∾̳~acd~∿~acy~а~af~~afr~𝔞~aleph~ℵ~amacr~ā~amalg~⨿~andand~⩕~andd~⩜~andslope~⩘~andv~⩚~ange~⦤~angle~∠~angmsd~∡~angmsdaa~⦨~angmsdab~⦩~angmsdac~⦪~angmsdad~⦫~angmsdae~⦬~angmsdaf~⦭~angmsdag~⦮~angmsdah~⦯~angrt~∟~angrtvb~⊾~angrtvbd~⦝~angsph~∢~angst~Å~angzarr~⍼~aogon~ą~aopf~𝕒~ap~≈~apE~⩰~apacir~⩯~ape~≊~apid~≋~approx~≈~approxeq~≊~ascr~𝒶~ast~*~asympeq~≍~awconint~∳~awint~⨑~bNot~⫭~backcong~≌~backepsilon~϶~backprime~‵~backsim~∽~backsimeq~⋍~barvee~⊽~barwed~⌅~barwedge~⌅~bbrk~⎵~bbrktbrk~⎶~bcong~≌~bcy~б~becaus~∵~because~∵~bemptyv~⦰~bepsi~϶~bernou~ℬ~beth~ℶ~between~≬~bfr~𝔟~bigcap~⋂~bigcirc~◯~bigcup~⋃~bigodot~⨀~bigoplus~⨁~bigotimes~⨂~bigsqcup~⨆~bigstar~★~bigtriangledown~▽~bigtriangleup~△~biguplus~⨄~bigvee~⋁~bigwedge~⋀~bkarow~⤍~blacklozenge~⧫~blacksquare~▪~blacktriangle~▴~blacktriangledown~▾~blacktriangleleft~◂~blacktriangleright~▸~blank~␣~blk12~▒~blk14~░~blk34~▓~block~█~bne~=⃥~bnequiv~≡⃥~bnot~⌐~bopf~𝕓~bot~⊥~bottom~⊥~bowtie~⋈~boxDL~╗~boxDR~╔~boxDl~╖~boxDr~╓~boxH~═~boxHD~╦~boxHU~╩~boxHd~╤~boxHu~╧~boxUL~╝~boxUR~╚~boxUl~╜~boxUr~╙~boxV~║~boxVH~╬~boxVL~╣~boxVR~╠~boxVh~╫~boxVl~╢~boxVr~╟~boxbox~⧉~boxdL~╕~boxdR~╒~boxdl~┐~boxdr~┌~boxh~─~boxhD~╥~boxhU~╨~boxhd~┬~boxhu~┴~boxminus~⊟~boxplus~⊞~boxtimes~⊠~boxuL~╛~boxuR~╘~boxul~┘~boxur~└~boxv~│~boxvH~╪~boxvL~╡~boxvR~╞~boxvh~┼~boxvl~┤~boxvr~├~bprime~‵~breve~˘~bscr~𝒷~bsemi~⁏~bsim~∽~bsime~⋍~bsol~\\~bsolb~⧅~bsolhsub~⟈~bullet~•~bump~≎~bumpE~⪮~bumpe~≏~bumpeq~≏~cacute~ć~capand~⩄~capbrcup~⩉~capcap~⩋~capcup~⩇~capdot~⩀~caps~∩︀~caret~⁁~caron~ˇ~ccaps~⩍~ccaron~č~ccirc~ĉ~ccups~⩌~ccupssm~⩐~cdot~ċ~cemptyv~⦲~centerdot~·~cfr~𝔠~chcy~ч~check~✓~checkmark~✓~cir~○~cirE~⧃~circeq~≗~circlearrowleft~↺~circlearrowright~↻~circledR~®~circledS~Ⓢ~circledast~⊛~circledcirc~⊚~circleddash~⊝~cire~≗~cirfnint~⨐~cirmid~⫯~cirscir~⧂~clubsuit~♣~colon~:~colone~≔~coloneq~≔~comma~,~commat~@~comp~∁~compfn~∘~complement~∁~complexes~ℂ~congdot~⩭~conint~∮~copf~𝕔~coprod~∐~copysr~℗~cross~✗~cscr~𝒸~csub~⫏~csube~⫑~csup~⫐~csupe~⫒~ctdot~⋯~cudarrl~⤸~cudarrr~⤵~cuepr~⋞~cuesc~⋟~cularr~↶~cularrp~⤽~cupbrcap~⩈~cupcap~⩆~cupcup~⩊~cupdot~⊍~cupor~⩅~cups~∪︀~curarr~↷~curarrm~⤼~curlyeqprec~⋞~curlyeqsucc~⋟~curlyvee~⋎~curlywedge~⋏~curvearrowleft~↶~curvearrowright~↷~cuvee~⋎~cuwed~⋏~cwconint~∲~cwint~∱~cylcty~⌭~dHar~⥥~daleth~ℸ~dash~‐~dashv~⊣~dbkarow~⤏~dblac~˝~dcaron~ď~dcy~д~dd~ⅆ~ddagger~‡~ddarr~⇊~ddotseq~⩷~demptyv~⦱~dfisht~⥿~dfr~𝔡~dharl~⇃~dharr~⇂~diam~⋄~diamond~⋄~diamondsuit~♦~die~¨~digamma~ϝ~disin~⋲~div~÷~divideontimes~⋇~divonx~⋇~djcy~ђ~dlcorn~⌞~dlcrop~⌍~dollar~$~dopf~𝕕~dot~˙~doteq~≐~doteqdot~≑~dotminus~∸~dotplus~∔~dotsquare~⊡~doublebarwedge~⌆~downarrow~↓~downdownarrows~⇊~downharpoonleft~⇃~downharpoonright~⇂~drbkarow~⤐~drcorn~⌟~drcrop~⌌~dscr~𝒹~dscy~ѕ~dsol~⧶~dstrok~đ~dtdot~⋱~dtri~▿~dtrif~▾~duarr~⇵~duhar~⥯~dwangle~⦦~dzcy~џ~dzigrarr~⟿~eDDot~⩷~eDot~≑~easter~⩮~ecaron~ě~ecir~≖~ecolon~≕~ecy~э~edot~ė~ee~ⅇ~efDot~≒~efr~𝔢~eg~⪚~egs~⪖~egsdot~⪘~el~⪙~elinters~⏧~ell~ℓ~els~⪕~elsdot~⪗~emacr~ē~emptyset~∅~emptyv~∅~emsp13~ ~emsp14~ ~eng~ŋ~eogon~ę~eopf~𝕖~epar~⋕~eparsl~⧣~eplus~⩱~epsi~ε~epsiv~ϵ~eqcirc~≖~eqcolon~≕~eqsim~≂~eqslantgtr~⪖~eqslantless~⪕~equals~=~equest~≟~equivDD~⩸~eqvparsl~⧥~erDot~≓~erarr~⥱~escr~ℯ~esdot~≐~esim~≂~excl~!~expectation~ℰ~exponentiale~ⅇ~fallingdotseq~≒~fcy~ф~female~♀~ffilig~ffi~fflig~ff~ffllig~ffl~ffr~𝔣~filig~fi~fjlig~fj~flat~♭~fllig~fl~fltns~▱~fopf~𝕗~fork~⋔~forkv~⫙~fpartint~⨍~frac13~⅓~frac15~⅕~frac16~⅙~frac18~⅛~frac23~⅔~frac25~⅖~frac35~⅗~frac38~⅜~frac45~⅘~frac56~⅚~frac58~⅝~frac78~⅞~frown~⌢~fscr~𝒻~gE~≧~gEl~⪌~gacute~ǵ~gammad~ϝ~gap~⪆~gbreve~ğ~gcirc~ĝ~gcy~г~gdot~ġ~gel~⋛~geq~≥~geqq~≧~geqslant~⩾~ges~⩾~gescc~⪩~gesdot~⪀~gesdoto~⪂~gesdotol~⪄~gesl~⋛︀~gesles~⪔~gfr~𝔤~gg~≫~ggg~⋙~gimel~ℷ~gjcy~ѓ~gl~≷~glE~⪒~gla~⪥~glj~⪤~gnE~≩~gnap~⪊~gnapprox~⪊~gne~⪈~gneq~⪈~gneqq~≩~gnsim~⋧~gopf~𝕘~grave~`~gscr~ℊ~gsim~≳~gsime~⪎~gsiml~⪐~gtcc~⪧~gtcir~⩺~gtdot~⋗~gtlPar~⦕~gtquest~⩼~gtrapprox~⪆~gtrarr~⥸~gtrdot~⋗~gtreqless~⋛~gtreqqless~⪌~gtrless~≷~gtrsim~≳~gvertneqq~≩︀~gvnE~≩︀~hairsp~ ~half~½~hamilt~ℋ~hardcy~ъ~harrcir~⥈~harrw~↭~hbar~ℏ~hcirc~ĥ~heartsuit~♥~hercon~⊹~hfr~𝔥~hksearow~⤥~hkswarow~⤦~hoarr~⇿~homtht~∻~hookleftarrow~↩~hookrightarrow~↪~hopf~𝕙~horbar~―~hscr~𝒽~hslash~ℏ~hstrok~ħ~hybull~⁃~hyphen~‐~ic~~icy~и~iecy~е~iff~⇔~ifr~𝔦~ii~ⅈ~iiiint~⨌~iiint~∭~iinfin~⧜~iiota~℩~ijlig~ij~imacr~ī~imagline~ℐ~imagpart~ℑ~imath~ı~imof~⊷~imped~Ƶ~in~∈~incare~℅~infintie~⧝~inodot~ı~intcal~⊺~integers~ℤ~intercal~⊺~intlarhk~⨗~intprod~⨼~iocy~ё~iogon~į~iopf~𝕚~iprod~⨼~iscr~𝒾~isinE~⋹~isindot~⋵~isins~⋴~isinsv~⋳~isinv~∈~it~~itilde~ĩ~iukcy~і~jcirc~ĵ~jcy~й~jfr~𝔧~jmath~ȷ~jopf~𝕛~jscr~𝒿~jsercy~ј~jukcy~є~kappav~ϰ~kcedil~ķ~kcy~к~kfr~𝔨~kgreen~ĸ~khcy~х~kjcy~ќ~kopf~𝕜~kscr~𝓀~lAarr~⇚~lAtail~⤛~lBarr~⤎~lE~≦~lEg~⪋~lHar~⥢~lacute~ĺ~laemptyv~⦴~lagran~ℒ~langd~⦑~langle~⟨~lap~⪅~larrb~⇤~larrbfs~⤟~larrfs~⤝~larrhk~↩~larrlp~↫~larrpl~⤹~larrsim~⥳~larrtl~↢~lat~⪫~latail~⤙~late~⪭~lates~⪭︀~lbarr~⤌~lbbrk~❲~lbrace~{~lbrack~[~lbrke~⦋~lbrksld~⦏~lbrkslu~⦍~lcaron~ľ~lcedil~ļ~lcub~{~lcy~л~ldca~⤶~ldquor~„~ldrdhar~⥧~ldrushar~⥋~ldsh~↲~leftarrow~←~leftarrowtail~↢~leftharpoondown~↽~leftharpoonup~↼~leftleftarrows~⇇~leftrightarrow~↔~leftrightarrows~⇆~leftrightharpoons~⇋~leftrightsquigarrow~↭~leftthreetimes~⋋~leg~⋚~leq~≤~leqq~≦~leqslant~⩽~les~⩽~lescc~⪨~lesdot~⩿~lesdoto~⪁~lesdotor~⪃~lesg~⋚︀~lesges~⪓~lessapprox~⪅~lessdot~⋖~lesseqgtr~⋚~lesseqqgtr~⪋~lessgtr~≶~lesssim~≲~lfisht~⥼~lfr~𝔩~lg~≶~lgE~⪑~lhard~↽~lharu~↼~lharul~⥪~lhblk~▄~ljcy~љ~ll~≪~llarr~⇇~llcorner~⌞~llhard~⥫~lltri~◺~lmidot~ŀ~lmoust~⎰~lmoustache~⎰~lnE~≨~lnap~⪉~lnapprox~⪉~lne~⪇~lneq~⪇~lneqq~≨~lnsim~⋦~loang~⟬~loarr~⇽~lobrk~⟦~longleftarrow~⟵~longleftrightarrow~⟷~longmapsto~⟼~longrightarrow~⟶~looparrowleft~↫~looparrowright~↬~lopar~⦅~lopf~𝕝~loplus~⨭~lotimes~⨴~lowbar~_~lozenge~◊~lozf~⧫~lpar~(~lparlt~⦓~lrarr~⇆~lrcorner~⌟~lrhar~⇋~lrhard~⥭~lrtri~⊿~lscr~𝓁~lsh~↰~lsim~≲~lsime~⪍~lsimg~⪏~lsqb~[~lsquor~‚~lstrok~ł~ltcc~⪦~ltcir~⩹~ltdot~⋖~lthree~⋋~ltimes~⋉~ltlarr~⥶~ltquest~⩻~ltrPar~⦖~ltri~◃~ltrie~⊴~ltrif~◂~lurdshar~⥊~luruhar~⥦~lvertneqq~≨︀~lvnE~≨︀~mDDot~∺~male~♂~malt~✠~maltese~✠~map~↦~mapsto~↦~mapstodown~↧~mapstoleft~↤~mapstoup~↥~marker~▮~mcomma~⨩~mcy~м~measuredangle~∡~mfr~𝔪~mho~℧~mid~∣~midast~*~midcir~⫰~minusb~⊟~minusd~∸~minusdu~⨪~mlcp~⫛~mldr~…~mnplus~∓~models~⊧~mopf~𝕞~mp~∓~mscr~𝓂~mstpos~∾~multimap~⊸~mumap~⊸~nGg~⋙̸~nGt~≫⃒~nGtv~≫̸~nLeftarrow~⇍~nLeftrightarrow~⇎~nLl~⋘̸~nLt~≪⃒~nLtv~≪̸~nRightarrow~⇏~nVDash~⊯~nVdash~⊮~nacute~ń~nang~∠⃒~nap~≉~napE~⩰̸~napid~≋̸~napos~ʼn~napprox~≉~natur~♮~natural~♮~naturals~ℕ~nbump~≎̸~nbumpe~≏̸~ncap~⩃~ncaron~ň~ncedil~ņ~ncong~≇~ncongdot~⩭̸~ncup~⩂~ncy~н~neArr~⇗~nearhk~⤤~nearr~↗~nearrow~↗~nedot~≐̸~nequiv~≢~nesear~⤨~nesim~≂̸~nexist~∄~nexists~∄~nfr~𝔫~ngE~≧̸~nge~≱~ngeq~≱~ngeqq~≧̸~ngeqslant~⩾̸~nges~⩾̸~ngsim~≵~ngt~≯~ngtr~≯~nhArr~⇎~nharr~↮~nhpar~⫲~nis~⋼~nisd~⋺~niv~∋~njcy~њ~nlArr~⇍~nlE~≦̸~nlarr~↚~nldr~‥~nle~≰~nleftarrow~↚~nleftrightarrow~↮~nleq~≰~nleqq~≦̸~nleqslant~⩽̸~nles~⩽̸~nless~≮~nlsim~≴~nlt~≮~nltri~⋪~nltrie~⋬~nmid~∤~nopf~𝕟~notinE~⋹̸~notindot~⋵̸~notinva~∉~notinvb~⋷~notinvc~⋶~notni~∌~notniva~∌~notnivb~⋾~notnivc~⋽~npar~∦~nparallel~∦~nparsl~⫽⃥~npart~∂̸~npolint~⨔~npr~⊀~nprcue~⋠~npre~⪯̸~nprec~⊀~npreceq~⪯̸~nrArr~⇏~nrarr~↛~nrarrc~⤳̸~nrarrw~↝̸~nrightarrow~↛~nrtri~⋫~nrtrie~⋭~nsc~⊁~nsccue~⋡~nsce~⪰̸~nscr~𝓃~nshortmid~∤~nshortparallel~∦~nsim~≁~nsime~≄~nsimeq~≄~nsmid~∤~nspar~∦~nsqsube~⋢~nsqsupe~⋣~nsubE~⫅̸~nsube~⊈~nsubset~⊂⃒~nsubseteq~⊈~nsubseteqq~⫅̸~nsucc~⊁~nsucceq~⪰̸~nsup~⊅~nsupE~⫆̸~nsupe~⊉~nsupset~⊃⃒~nsupseteq~⊉~nsupseteqq~⫆̸~ntgl~≹~ntlg~≸~ntriangleleft~⋪~ntrianglelefteq~⋬~ntriangleright~⋫~ntrianglerighteq~⋭~num~#~numero~№~numsp~ ~nvDash~⊭~nvHarr~⤄~nvap~≍⃒~nvdash~⊬~nvge~≥⃒~nvgt~>⃒~nvinfin~⧞~nvlArr~⤂~nvle~≤⃒~nvlt~<⃒~nvltrie~⊴⃒~nvrArr~⤃~nvrtrie~⊵⃒~nvsim~∼⃒~nwArr~⇖~nwarhk~⤣~nwarr~↖~nwarrow~↖~nwnear~⤧~oS~Ⓢ~oast~⊛~ocir~⊚~ocy~о~odash~⊝~odblac~ő~odiv~⨸~odot~⊙~odsold~⦼~ofcir~⦿~ofr~𝔬~ogon~˛~ogt~⧁~ohbar~⦵~ohm~Ω~oint~∮~olarr~↺~olcir~⦾~olcross~⦻~olt~⧀~omacr~ō~omid~⦶~ominus~⊖~oopf~𝕠~opar~⦷~operp~⦹~orarr~↻~ord~⩝~order~ℴ~orderof~ℴ~origof~⊶~oror~⩖~orslope~⩗~orv~⩛~oscr~ℴ~osol~⊘~otimesas~⨶~ovbar~⌽~par~∥~parallel~∥~parsim~⫳~parsl~⫽~pcy~п~percnt~%~period~.~pertenk~‱~pfr~𝔭~phiv~ϕ~phmmat~ℳ~phone~☎~pitchfork~⋔~planck~ℏ~planckh~ℎ~plankv~ℏ~plus~+~plusacir~⨣~plusb~⊞~pluscir~⨢~plusdo~∔~plusdu~⨥~pluse~⩲~plussim~⨦~plustwo~⨧~pm~±~pointint~⨕~popf~𝕡~pr~≺~prE~⪳~prap~⪷~prcue~≼~pre~⪯~prec~≺~precapprox~⪷~preccurlyeq~≼~preceq~⪯~precnapprox~⪹~precneqq~⪵~precnsim~⋨~precsim~≾~primes~ℙ~prnE~⪵~prnap~⪹~prnsim~⋨~profalar~⌮~profline~⌒~profsurf~⌓~propto~∝~prsim~≾~prurel~⊰~pscr~𝓅~puncsp~ ~qfr~𝔮~qint~⨌~qopf~𝕢~qprime~⁗~qscr~𝓆~quaternions~ℍ~quatint~⨖~quest~?~questeq~≟~rAarr~⇛~rAtail~⤜~rBarr~⤏~rHar~⥤~race~∽̱~racute~ŕ~raemptyv~⦳~rangd~⦒~range~⦥~rangle~⟩~rarrap~⥵~rarrb~⇥~rarrbfs~⤠~rarrc~⤳~rarrfs~⤞~rarrhk~↪~rarrlp~↬~rarrpl~⥅~rarrsim~⥴~rarrtl~↣~rarrw~↝~ratail~⤚~ratio~∶~rationals~ℚ~rbarr~⤍~rbbrk~❳~rbrace~}~rbrack~]~rbrke~⦌~rbrksld~⦎~rbrkslu~⦐~rcaron~ř~rcedil~ŗ~rcub~}~rcy~р~rdca~⤷~rdldhar~⥩~rdquor~”~rdsh~↳~realine~ℛ~realpart~ℜ~reals~ℝ~rect~▭~rfisht~⥽~rfr~𝔯~rhard~⇁~rharu~⇀~rharul~⥬~rhov~ϱ~rightarrow~→~rightarrowtail~↣~rightharpoondown~⇁~rightharpoonup~⇀~rightleftarrows~⇄~rightleftharpoons~⇌~rightrightarrows~⇉~rightsquigarrow~↝~rightthreetimes~⋌~ring~˚~risingdotseq~≓~rlarr~⇄~rlhar~⇌~rmoust~⎱~rmoustache~⎱~rnmid~⫮~roang~⟭~roarr~⇾~robrk~⟧~ropar~⦆~ropf~𝕣~roplus~⨮~rotimes~⨵~rpar~)~rpargt~⦔~rppolint~⨒~rrarr~⇉~rscr~𝓇~rsh~↱~rsqb~]~rsquor~’~rthree~⋌~rtimes~⋊~rtri~▹~rtrie~⊵~rtrif~▸~rtriltri~⧎~ruluhar~⥨~rx~℞~sacute~ś~sc~≻~scE~⪴~scap~⪸~sccue~≽~sce~⪰~scedil~ş~scirc~ŝ~scnE~⪶~scnap~⪺~scnsim~⋩~scpolint~⨓~scsim~≿~scy~с~sdotb~⊡~sdote~⩦~seArr~⇘~searhk~⤥~searr~↘~searrow~↘~semi~;~seswar~⤩~setminus~∖~setmn~∖~sext~✶~sfr~𝔰~sfrown~⌢~sharp~♯~shchcy~щ~shcy~ш~shortmid~∣~shortparallel~∥~sigmav~ς~simdot~⩪~sime~≃~simeq~≃~simg~⪞~simgE~⪠~siml~⪝~simlE~⪟~simne~≆~simplus~⨤~simrarr~⥲~slarr~←~smallsetminus~∖~smashp~⨳~smeparsl~⧤~smid~∣~smile~⌣~smt~⪪~smte~⪬~smtes~⪬︀~softcy~ь~sol~/~solb~⧄~solbar~⌿~sopf~𝕤~spadesuit~♠~spar~∥~sqcap~⊓~sqcaps~⊓︀~sqcup~⊔~sqcups~⊔︀~sqsub~⊏~sqsube~⊑~sqsubset~⊏~sqsubseteq~⊑~sqsup~⊐~sqsupe~⊒~sqsupset~⊐~sqsupseteq~⊒~squ~□~square~□~squarf~▪~squf~▪~srarr~→~sscr~𝓈~ssetmn~∖~ssmile~⌣~sstarf~⋆~star~☆~starf~★~straightepsilon~ϵ~straightphi~ϕ~strns~¯~subE~⫅~subdot~⪽~subedot~⫃~submult~⫁~subnE~⫋~subne~⊊~subplus~⪿~subrarr~⥹~subset~⊂~subseteq~⊆~subseteqq~⫅~subsetneq~⊊~subsetneqq~⫋~subsim~⫇~subsub~⫕~subsup~⫓~succ~≻~succapprox~⪸~succcurlyeq~≽~succeq~⪰~succnapprox~⪺~succneqq~⪶~succnsim~⋩~succsim~≿~sung~♪~supE~⫆~supdot~⪾~supdsub~⫘~supedot~⫄~suphsol~⟉~suphsub~⫗~suplarr~⥻~supmult~⫂~supnE~⫌~supne~⊋~supplus~⫀~supset~⊃~supseteq~⊇~supseteqq~⫆~supsetneq~⊋~supsetneqq~⫌~supsim~⫈~supsub~⫔~supsup~⫖~swArr~⇙~swarhk~⤦~swarr~↙~swarrow~↙~swnwar~⤪~target~⌖~tbrk~⎴~tcaron~ť~tcedil~ţ~tcy~т~tdot~⃛~telrec~⌕~tfr~𝔱~therefore~∴~thetav~ϑ~thickapprox~≈~thicksim~∼~thkap~≈~thksim~∼~timesb~⊠~timesbar~⨱~timesd~⨰~tint~∭~toea~⤨~top~⊤~topbot~⌶~topcir~⫱~topf~𝕥~topfork~⫚~tosa~⤩~tprime~‴~triangle~▵~triangledown~▿~triangleleft~◃~trianglelefteq~⊴~triangleq~≜~triangleright~▹~trianglerighteq~⊵~tridot~◬~trie~≜~triminus~⨺~triplus~⨹~trisb~⧍~tritime~⨻~trpezium~⏢~tscr~𝓉~tscy~ц~tshcy~ћ~tstrok~ŧ~twixt~≬~twoheadleftarrow~↞~twoheadrightarrow~↠~uHar~⥣~ubrcy~ў~ubreve~ŭ~ucy~у~udarr~⇅~udblac~ű~udhar~⥮~ufisht~⥾~ufr~𝔲~uharl~↿~uharr~↾~uhblk~▀~ulcorn~⌜~ulcorner~⌜~ulcrop~⌏~ultri~◸~umacr~ū~uogon~ų~uopf~𝕦~uparrow~↑~updownarrow~↕~upharpoonleft~↿~upharpoonright~↾~uplus~⊎~upsi~υ~upuparrows~⇈~urcorn~⌝~urcorner~⌝~urcrop~⌎~uring~ů~urtri~◹~uscr~𝓊~utdot~⋰~utilde~ũ~utri~▵~utrif~▴~uuarr~⇈~uwangle~⦧~vArr~⇕~vBar~⫨~vBarv~⫩~vDash~⊨~vangrt~⦜~varepsilon~ϵ~varkappa~ϰ~varnothing~∅~varphi~ϕ~varpi~ϖ~varpropto~∝~varr~↕~varrho~ϱ~varsigma~ς~varsubsetneq~⊊︀~varsubsetneqq~⫋︀~varsupsetneq~⊋︀~varsupsetneqq~⫌︀~vartheta~ϑ~vartriangleleft~⊲~vartriangleright~⊳~vcy~в~vdash~⊢~vee~∨~veebar~⊻~veeeq~≚~vellip~⋮~verbar~|~vert~|~vfr~𝔳~vltri~⊲~vnsub~⊂⃒~vnsup~⊃⃒~vopf~𝕧~vprop~∝~vrtri~⊳~vscr~𝓋~vsubnE~⫋︀~vsubne~⊊︀~vsupnE~⫌︀~vsupne~⊋︀~vzigzag~⦚~wcirc~ŵ~wedbar~⩟~wedge~∧~wedgeq~≙~wfr~𝔴~wopf~𝕨~wp~℘~wr~≀~wreath~≀~wscr~𝓌~xcap~⋂~xcirc~◯~xcup~⋃~xdtri~▽~xfr~𝔵~xhArr~⟺~xharr~⟷~xlArr~⟸~xlarr~⟵~xmap~⟼~xnis~⋻~xodot~⨀~xopf~𝕩~xoplus~⨁~xotime~⨂~xrArr~⟹~xrarr~⟶~xscr~𝓍~xsqcup~⨆~xuplus~⨄~xutri~△~xvee~⋁~xwedge~⋀~yacy~я~ycirc~ŷ~ycy~ы~yfr~𝔶~yicy~ї~yopf~𝕪~yscr~𝓎~yucy~ю~zacute~ź~zcaron~ž~zcy~з~zdot~ż~zeetrf~ℨ~zfr~𝔷~zhcy~ж~zigrarr~⇝~zopf~𝕫~zscr~𝓏~~AMP~&~COPY~©~GT~>~LT~<~QUOT~"~REG~®',Qt.html4);var zt=function(){return zt=Object.assign||function(e){for(var i,n=1,t=arguments.length;n<t;n++){i=arguments[n];for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(e[o]=i[o])}return e},zt.apply(this,arguments)};zt(zt({},Qt),{all:Qt.html5});var Jr=/&(?:#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);/g,Pr=/&(?:#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+)[;=]?/g,Xh={xml:{strict:Jr,attribute:Pr,body:Or.xml},html4:{strict:Jr,attribute:Pr,body:Or.html4},html5:{strict:Jr,attribute:Pr,body:Or.html5}};zt(zt({},Xh),{all:Xh.html5});ly();const _h=(e,i)=>Object.hasOwn(e,i),Nr=(e,i)=>Object.assign(e,i),Zr=(e,i,n)=>{if(e.length===0)return[];let t=0;const o=s2.exec(e[0]);o&&(t=o[1].length);const a=String.raw`(\r\n|\r|\n).{0,${t}}`,s=new RegExp(a,"g"),r=i?e.slice(1):e,{newline:u,trimLeadingNewline:c,trimTrailingNewline:l}=n,d=typeof u=="string",g=r.length,h=Array.from({length:g});for(let p=0;p<g;p++){let v=r[p];v=v.replace(s,"$1"),p===0&&c&&(v=v.replace(t2,"")),p===g-1&&l&&(v=v.replace(o2,"")),d&&(v=v.replaceAll(u2,u)),h[p]=v}return h},iH=(e,i)=>{const n=Array.from({length:e.length+i.length});let t=0;const o=e.length;for(;t<o-1;t++)n[t*2]=e[t],n[t*2+1]=String(i[t]);return n[t*2]=e[t],n.join("")},nH=e=>_h(e,"raw")&&_h(e,"length"),tH=new WeakMap,E0=e=>{const i=e.cache!==!1,n=i?e.cacheStore??tH:void 0,t=e.newline!==void 0;function o(a,...s){if(nH(a)){const r=a,u=s.length;if(r.length===1&&r[0]==="")return"";if(u===0){if(i&&n&&!t){const g=n.get(r);if(g)return g[0]}const d=Zr(r,!1,e);return i&&n&&n.set(r,d),d[0]}const c=(s[0]===o||s[0]===oH)&&r2.test(r[0])&&a2.test(r[1]);let l;return i&&n&&!t&&(l=n.get(r)),l||(l=Zr(r,c,e),i&&n&&n.set(r,l)),iH(l,c?s.slice(1):s)}return E0(Nr(Nr({},e),a))}return Nr(o,{string(a){return a===""||!a?"":Zr([a],!1,e)[0]}})},oH=E0({cache:!0,newline:null,trimLeadingNewline:!0,trimTrailingNewline:!0}),aH=["\0","","","","","","","\x07","\b"," ",`
|
|
138
|
+
}`;var v=Jy(function(){return Function(a,h+"return "+d).apply(void 0,s)});if(v.source=d,el(v))throw v;return v}var PM="Expected a function";function NM(e,i,n){var t=!0,o=!0;if(typeof e!="function")throw new TypeError(PM);return Te(n)&&(t="leading"in n?!!n.leading:t,o="trailing"in n?!!n.trailing:o),Dm(e,i,{leading:t,maxWait:i,trailing:o})}function ir(e,i){return i(e)}var ZM=9007199254740991,Rr=4294967295,AM=Math.min;function MM(e,i){if(e=ae(e),e<1||e>ZM)return[];var n=Rr,t=AM(e,Rr);i=Ai(i),e-=Rr;for(var o=Qc(t,i);++n<e;)i(n);return o}function HM(){return this}function j0(e,i){var n=e;return n instanceof le&&(n=n.value()),tl(i,function(t,o){return o.func.apply(o.thisArg,Pn([t],o.args))},n)}function IM(){return j0(this.__wrapped__,this.__actions__)}function XM(e){return ve(e).toLowerCase()}function _M(e){return ne(e)?Le(e,Si):ti(e)?[e]:Ue(By(ve(e)))}var Mh=9007199254740991;function FM(e){return e?pt(ae(e),-Mh,Mh):e===0?e:0}function WM(e){return ve(e).toUpperCase()}function GM(e,i,n){var t=ne(e),o=t||xn(e)||uo(e);if(i=ie(i),n==null){var a=e&&e.constructor;o?n=t?new a:[]:Te(e)?n=tn(a)?oo(Ms(e)):{}:n={}}return(o?ui:Zi)(e,function(s,r,u){return i(n,s,r,u)}),n}function S0(e,i){for(var n=e.length;n--&&ao(i,e[n],0)>-1;);return n}function C0(e,i){for(var n=-1,t=e.length;++n<t&&ao(i,e[n],0)>-1;);return n}function QM(e,i,n){if(e=ve(e),e&&(n||i===void 0))return py(e);if(!e||!(i=oi(i)))return e;var t=Ci(e),o=Ci(i),a=C0(t,o),s=S0(t,o)+1;return Nn(t,a,s).join("")}function zM(e,i,n){if(e=ve(e),e&&(n||i===void 0))return e.slice(0,hy(e)+1);if(!e||!(i=oi(i)))return e;var t=Ci(e),o=S0(t,Ci(i))+1;return Nn(t,0,o).join("")}var KM=/^\s+/;function VM(e,i,n){if(e=ve(e),e&&(n||i===void 0))return e.replace(KM,"");if(!e||!(i=oi(i)))return e;var t=Ci(e),o=C0(t,Ci(i));return Nn(t,o).join("")}var UM=30,qM="...",e8=/\w*$/;function i8(e,i){var n=UM,t=qM;if(Te(i)){var o="separator"in i?i.separator:o;n="length"in i?ae(i.length):n,t="omission"in i?oi(i.omission):t}e=ve(e);var a=e.length;if(co(e)){var s=Ci(e);a=s.length}if(n>=a)return e;var r=n-ho(t);if(r<1)return t;var u=s?Nn(s,0,r).join(""):e.slice(0,r);if(o===void 0)return u+t;if(s&&(r+=u.length-r),Ll(o)){if(e.slice(r).search(o)){var c,l=u;for(o.global||(o=RegExp(o.source,ve(e8.exec(o))+"g")),o.lastIndex=0;c=o.exec(l);)var d=c.index;u=u.slice(0,d===void 0?r:d)}}else if(e.indexOf(oi(o),r)!=r){var g=u.lastIndexOf(o);g>-1&&(u=u.slice(0,g))}return u+t}function n8(e){return Ly(e,1)}var t8={"&":"&","<":"<",">":">",""":'"',"'":"'"},o8=ol(t8),L0=/&(?:amp|lt|gt|quot|#39);/g,a8=RegExp(L0.source);function s8(e){return e=ve(e),e&&a8.test(e)?e.replace(L0,o8):e}var r8=1/0,u8=Ht&&1/Is(new Ht([,-0]))[1]==r8?function(e){return new Ht(e)}:_c,c8=200;function Tn(e,i,n){var t=-1,o=Os,a=e.length,s=!0,r=[],u=r;if(n)s=!1,o=bl;else if(a>=c8){var c=i?null:u8(e);if(c)return Is(c);s=!1,o=qo,u=new tt}else u=i?[]:r;e:for(;++t<a;){var l=e[t],d=i?i(l):l;if(l=n||l!==0?l:0,s&&d===d){for(var g=u.length;g--;)if(u[g]===d)continue e;i&&u.push(d),r.push(l)}else o(u,d,n)||(u!==r&&u.push(d),r.push(l))}return r}var l8=ue(function(e){return Tn(Ae(e,1,Re,!0))}),d8=ue(function(e){var i=mi(e);return Re(i)&&(i=void 0),Tn(Ae(e,1,Re,!0),ie(i))}),g8=ue(function(e){var i=mi(e);return i=typeof i=="function"?i:void 0,Tn(Ae(e,1,Re,!0),void 0,i)});function h8(e){return e&&e.length?Tn(e):[]}function p8(e,i){return e&&e.length?Tn(e,ie(i)):[]}function f8(e,i){return i=typeof i=="function"?i:void 0,e&&e.length?Tn(e,void 0,i):[]}var v8=0;function y8(e){var i=++v8;return ve(e)+i}function m8(e,i){return e==null?!0:Yl(e,i)}var b8=Math.max;function Ol(e){if(!(e&&e.length))return[];var i=0;return e=Zn(e,function(n){if(Re(n))return i=b8(n.length,i),!0}),Qc(i,function(n){return Le(e,fl(n))})}function x0(e,i){if(!(e&&e.length))return[];var n=Ol(e);return i==null?n:Le(n,function(t){return ai(i,void 0,t)})}function T0(e,i,n,t){return fa(e,i,n(ht(e,i)),t)}function w8(e,i,n){return e==null?e:T0(e,i,Ai(n))}function k8(e,i,n,t){return t=typeof t=="function"?t:void 0,e==null?e:T0(e,i,Ai(n),t)}var j8=lo(function(e,i,n){return e+(n?" ":"")+i.toUpperCase()});function S8(e){return e==null?[]:jl(e,ii(e))}var C8=ue(function(e,i){return Re(e)?ha(e,i):[]});function L8(e,i){return Us(Ai(i),e)}var x8=un(function(e){var i=e.length,n=i?e[0]:0,t=this.__wrapped__,o=function(a){return qc(a,e)};return i>1||this.__actions__.length||!(t instanceof le)||!on(n)?this.thru(o):(t=t.slice(n,+n+(i?1:0)),t.__actions__.push({func:ir,args:[o],thisArg:void 0}),new fi(t,this.__chain__).thru(function(a){return i&&!a.length&&a.push(void 0),a}))});function T8(){return sm(this)}function Y8(){var e=this.__wrapped__;if(e instanceof le){var i=e;return this.__actions__.length&&(i=new le(this)),i=i.reverse(),i.__actions__.push({func:ir,args:[Qu],thisArg:void 0}),new fi(i,this.__chain__)}return this.thru(Qu)}function Jl(e,i,n){var t=e.length;if(t<2)return t?Tn(e[0]):[];for(var o=-1,a=Array(t);++o<t;)for(var s=e[o],r=-1;++r<t;)r!=o&&(a[o]=ha(a[o]||s,e[r],i,n));return Tn(Ae(a,1),i,n)}var D8=ue(function(e){return Jl(Zn(e,Re))}),$8=ue(function(e){var i=mi(e);return Re(i)&&(i=void 0),Jl(Zn(e,Re),ie(i))}),E8=ue(function(e){var i=mi(e);return i=typeof i=="function"?i:void 0,Jl(Zn(e,Re),void 0,i)}),B8=ue(Ol);function Y0(e,i,n){for(var t=-1,o=e.length,a=i.length,s={};++t<o;){var r=t<a?i[t]:void 0;n(s,e[t],r)}return s}function R8(e,i){return Y0(e||[],i||[],ca)}function O8(e,i){return Y0(e||[],i||[],fa)}var J8=ue(function(e){var i=e.length,n=i>1?e[i-1]:void 0;return n=typeof n=="function"?(e.pop(),n):void 0,x0(e,n)});const X={chunk:tB,compact:ZR,concat:AR,difference:_O,differenceBy:FO,differenceWith:WO,drop:QO,dropRight:zO,dropRightWhile:KO,dropWhile:VO,fill:yJ,findIndex:Fm,findLastIndex:Gm,flatten:Ry,flattenDeep:BJ,flattenDepth:RJ,fromPairs:QJ,head:xJ,indexOf:pP,initial:fP,intersection:yP,intersectionBy:mP,intersectionWith:bP,join:pN,lastIndexOf:wN,nth:QN,pull:GZ,pullAll:p0,pullAllBy:QZ,pullAllWith:zZ,pullAt:UZ,remove:vA,reverse:Qu,slice:ZA,sortedIndex:zA,sortedIndexBy:KA,sortedIndexOf:VA,sortedLastIndex:UA,sortedLastIndexBy:qA,sortedLastIndexOf:eM,sortedUniq:iM,sortedUniqBy:nM,tail:vM,take:yM,takeRight:mM,takeRightWhile:bM,takeWhile:wM,union:l8,unionBy:d8,unionWith:g8,uniq:h8,uniqBy:p8,uniqWith:f8,unzip:Ol,unzipWith:x0,without:C8,xor:D8,xorBy:$8,xorWith:E8,zip:B8,zipObject:R8,zipObjectDeep:O8,zipWith:J8},we={countBy:YO,every:pJ,filter:mJ,find:wJ,findLast:CJ,flatMap:TJ,flatMapDeep:DJ,flatMapDepth:$J,forEach:UO,forEachRight:eJ,groupBy:qJ,includes:gP,invokeMap:YP,keyBy:vN,map:Ws,orderBy:rZ,partition:MZ,reduce:gA,reduceRight:pA,reject:fA,sample:xA,sampleSize:DA,shuffle:OA,size:NA,some:HA,sortBy:IA},P8={now:Wa},Ee={after:M2,ary:Ly,before:Py,bind:Hs,bindKey:il,curry:yl,curryRight:ml,debounce:Dm,defer:HO,delay:IO,flip:JJ,memoize:As,once:oZ,overArgs:dZ,partial:Us,partialRight:$l,rearg:dA,rest:wA,spread:rM,throttle:NM,unary:n8,wrap:L8},G={castArray:VE,clone:YR,cloneDeep:ER,cloneDeepWith:OR,cloneWith:PR,conformsTo:SO,eq:Ti,gt:eP,gte:iP,isArguments:it,isArrayBuffer:EP,isArrayLike:ei,isArrayLikeObject:Re,isBoolean:RP,isBuffer:xn,isDate:PP,isElement:NP,isEmpty:IP,isEqual:XP,isEqualWith:_P,isError:el,isFinite:WP,isFunction:tn,isInteger:qm,isLength:Ps,isMap:pm,isMatch:GP,isMatchWith:QP,isNaN:KP,isNative:qP,isNil:eN,isNull:iN,isNumber:e0,isObjectLike:$e,isPlainObject:da,isRegExp:Ll,isSafeInteger:oN,isSet:fm,isString:zs,isSymbol:ti,isTypedArray:uo,isUndefined:aN,isWeakMap:rN,isWeakSet:cN,lt:SN,lte:CN,toArray:n0,toFinite:Ki,toLength:Im,toNumber:hi,toPlainObject:Em,toSafeInteger:FM,toString:ve},Qe={add:E2,ceil:eB,divide:GO,floor:PJ,max:EN,maxBy:BN,mean:ON,meanBy:JN,min:AN,minBy:MN,multiply:IN,round:CA,subtract:hM,sum:pM,sumBy:fM},Pl={clamp:oB,inRange:cP,random:oA},ee={assign:_D,assignIn:zD,assignInWith:KD,assignWith:Nu,at:D$,create:DO,defaults:NO,defaultsDeep:AO,findKey:kJ,findLastKey:LJ,forIn:_J,forInRight:FJ,forOwn:WJ,forOwnRight:GJ,functions:zJ,functionsIn:KJ,get:Uc,has:aP,hasIn:pl,invert:SP,invertBy:xP,invoke:TP,keysIn:ii,mapKeys:LN,mapValues:xN,merge:PN,mergeWith:Rm,omit:nZ,omitBy:tZ,pick:IZ,pickBy:a0,result:kA,set:$A,setWith:EA,toPairs:sJ,toPairsIn:rJ,transform:GM,unset:m8,update:w8,updateWith:k8,values:go,valuesIn:S8},Mi={at:x8,chain:sm,commit:NR,next:GN,plant:XZ,reverse:Y8,tap:kM,toIterator:HM,value:IM,wrapperChain:T8},pe={camelCase:KE,capitalize:_y,deburr:Fy,endsWith:iJ,escape:Am,escapeRegExp:gJ,kebabCase:fN,lowerCase:kN,lowerFirst:jN,pad:BZ,padEnd:RZ,padStart:OZ,parseInt:NZ,repeat:yA,replace:mA,snakeCase:AA,split:oM,startCase:uM,startsWith:cM,template:JM,templateSettings:zu,toLower:XM,toUpper:WM,trim:QM,trimEnd:zM,trimStart:VM,truncate:i8,unescape:s8,upperCase:j8,upperFirst:nl,words:am},ye={attempt:Jy,bindAll:M$,cond:bO,conforms:jO,constant:Wc,defaultTo:JO,flow:IJ,flowRight:XJ,iteratee:dN,matches:YN,matchesProperty:$N,method:NN,methodOf:ZN,noop:_c,nthArg:zN,over:uZ,overEvery:gZ,overSome:hZ,property:Lm,propertyOf:_Z,range:uA,rangeRight:cA,stubArray:sl,stubFalse:zc,stubObject:lM,stubString:dM,stubTrue:gM,times:MM,toPath:_M,uniqueId:y8};function N8(){var e=new le(this.__wrapped__);return e.__actions__=Ue(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=Ue(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=Ue(this.__views__),e}function Z8(){if(this.__filtered__){var e=new le(this);e.__dir__=-1,e.__filtered__=!0}else e=this.clone(),e.__dir__*=-1;return e}var A8=Math.max,M8=Math.min;function H8(e,i,n){for(var t=-1,o=n.length;++t<o;){var a=n[t],s=a.size;switch(a.type){case"drop":e+=s;break;case"dropRight":i-=s;break;case"take":i=M8(i,e+s);break;case"takeRight":e=A8(e,i-s);break}}return{start:e,end:i}}var I8=1,X8=2,_8=Math.min;function F8(){var e=this.__wrapped__.value(),i=this.__dir__,n=ne(e),t=i<0,o=n?e.length:0,a=H8(0,o,this.__views__),s=a.start,r=a.end,u=r-s,c=t?r:s-1,l=this.__iteratees__,d=l.length,g=0,h=_8(u,this.__takeCount__);if(!n||!t&&o==u&&h==u)return j0(e,this.__actions__);var p=[];e:for(;u--&&g<h;){c+=i;for(var v=-1,y=e[c];++v<d;){var b=l[v],m=b.iteratee,j=b.type,x=m(y);if(j==X8)y=x;else if(!x){if(j==I8)continue e;break e}}p[g++]=y}return p}var W8="4.18.1",G8=2,Q8=1,z8=3,D0=4294967295,K8=Array.prototype,V8=Object.prototype,$0=V8.hasOwnProperty,Hh=He?He.iterator:void 0,U8=Math.max,Ih=Math.min,Nl=(function(e){return function(i,n,t){if(t==null){var o=Te(n),a=o&&Ne(n),s=a&&a.length&&Gs(n,a);(s?s.length:o)||(t=n,n=i,i=this)}return e(i,n,t)}})(HN);f.after=Ee.after;f.ary=Ee.ary;f.assign=ee.assign;f.assignIn=ee.assignIn;f.assignInWith=ee.assignInWith;f.assignWith=ee.assignWith;f.at=ee.at;f.before=Ee.before;f.bind=Ee.bind;f.bindAll=ye.bindAll;f.bindKey=Ee.bindKey;f.castArray=G.castArray;f.chain=Mi.chain;f.chunk=X.chunk;f.compact=X.compact;f.concat=X.concat;f.cond=ye.cond;f.conforms=ye.conforms;f.constant=ye.constant;f.countBy=we.countBy;f.create=ee.create;f.curry=Ee.curry;f.curryRight=Ee.curryRight;f.debounce=Ee.debounce;f.defaults=ee.defaults;f.defaultsDeep=ee.defaultsDeep;f.defer=Ee.defer;f.delay=Ee.delay;f.difference=X.difference;f.differenceBy=X.differenceBy;f.differenceWith=X.differenceWith;f.drop=X.drop;f.dropRight=X.dropRight;f.dropRightWhile=X.dropRightWhile;f.dropWhile=X.dropWhile;f.fill=X.fill;f.filter=we.filter;f.flatMap=we.flatMap;f.flatMapDeep=we.flatMapDeep;f.flatMapDepth=we.flatMapDepth;f.flatten=X.flatten;f.flattenDeep=X.flattenDeep;f.flattenDepth=X.flattenDepth;f.flip=Ee.flip;f.flow=ye.flow;f.flowRight=ye.flowRight;f.fromPairs=X.fromPairs;f.functions=ee.functions;f.functionsIn=ee.functionsIn;f.groupBy=we.groupBy;f.initial=X.initial;f.intersection=X.intersection;f.intersectionBy=X.intersectionBy;f.intersectionWith=X.intersectionWith;f.invert=ee.invert;f.invertBy=ee.invertBy;f.invokeMap=we.invokeMap;f.iteratee=ye.iteratee;f.keyBy=we.keyBy;f.keys=Ne;f.keysIn=ee.keysIn;f.map=we.map;f.mapKeys=ee.mapKeys;f.mapValues=ee.mapValues;f.matches=ye.matches;f.matchesProperty=ye.matchesProperty;f.memoize=Ee.memoize;f.merge=ee.merge;f.mergeWith=ee.mergeWith;f.method=ye.method;f.methodOf=ye.methodOf;f.mixin=Nl;f.negate=Vs;f.nthArg=ye.nthArg;f.omit=ee.omit;f.omitBy=ee.omitBy;f.once=Ee.once;f.orderBy=we.orderBy;f.over=ye.over;f.overArgs=Ee.overArgs;f.overEvery=ye.overEvery;f.overSome=ye.overSome;f.partial=Ee.partial;f.partialRight=Ee.partialRight;f.partition=we.partition;f.pick=ee.pick;f.pickBy=ee.pickBy;f.property=ye.property;f.propertyOf=ye.propertyOf;f.pull=X.pull;f.pullAll=X.pullAll;f.pullAllBy=X.pullAllBy;f.pullAllWith=X.pullAllWith;f.pullAt=X.pullAt;f.range=ye.range;f.rangeRight=ye.rangeRight;f.rearg=Ee.rearg;f.reject=we.reject;f.remove=X.remove;f.rest=Ee.rest;f.reverse=X.reverse;f.sampleSize=we.sampleSize;f.set=ee.set;f.setWith=ee.setWith;f.shuffle=we.shuffle;f.slice=X.slice;f.sortBy=we.sortBy;f.sortedUniq=X.sortedUniq;f.sortedUniqBy=X.sortedUniqBy;f.split=pe.split;f.spread=Ee.spread;f.tail=X.tail;f.take=X.take;f.takeRight=X.takeRight;f.takeRightWhile=X.takeRightWhile;f.takeWhile=X.takeWhile;f.tap=Mi.tap;f.throttle=Ee.throttle;f.thru=ir;f.toArray=G.toArray;f.toPairs=ee.toPairs;f.toPairsIn=ee.toPairsIn;f.toPath=ye.toPath;f.toPlainObject=G.toPlainObject;f.transform=ee.transform;f.unary=Ee.unary;f.union=X.union;f.unionBy=X.unionBy;f.unionWith=X.unionWith;f.uniq=X.uniq;f.uniqBy=X.uniqBy;f.uniqWith=X.uniqWith;f.unset=ee.unset;f.unzip=X.unzip;f.unzipWith=X.unzipWith;f.update=ee.update;f.updateWith=ee.updateWith;f.values=ee.values;f.valuesIn=ee.valuesIn;f.without=X.without;f.words=pe.words;f.wrap=Ee.wrap;f.xor=X.xor;f.xorBy=X.xorBy;f.xorWith=X.xorWith;f.zip=X.zip;f.zipObject=X.zipObject;f.zipObjectDeep=X.zipObjectDeep;f.zipWith=X.zipWith;f.entries=ee.toPairs;f.entriesIn=ee.toPairsIn;f.extend=ee.assignIn;f.extendWith=ee.assignInWith;Nl(f,f);f.add=Qe.add;f.attempt=ye.attempt;f.camelCase=pe.camelCase;f.capitalize=pe.capitalize;f.ceil=Qe.ceil;f.clamp=Pl.clamp;f.clone=G.clone;f.cloneDeep=G.cloneDeep;f.cloneDeepWith=G.cloneDeepWith;f.cloneWith=G.cloneWith;f.conformsTo=G.conformsTo;f.deburr=pe.deburr;f.defaultTo=ye.defaultTo;f.divide=Qe.divide;f.endsWith=pe.endsWith;f.eq=G.eq;f.escape=pe.escape;f.escapeRegExp=pe.escapeRegExp;f.every=we.every;f.find=we.find;f.findIndex=X.findIndex;f.findKey=ee.findKey;f.findLast=we.findLast;f.findLastIndex=X.findLastIndex;f.findLastKey=ee.findLastKey;f.floor=Qe.floor;f.forEach=we.forEach;f.forEachRight=we.forEachRight;f.forIn=ee.forIn;f.forInRight=ee.forInRight;f.forOwn=ee.forOwn;f.forOwnRight=ee.forOwnRight;f.get=ee.get;f.gt=G.gt;f.gte=G.gte;f.has=ee.has;f.hasIn=ee.hasIn;f.head=X.head;f.identity=qe;f.includes=we.includes;f.indexOf=X.indexOf;f.inRange=Pl.inRange;f.invoke=ee.invoke;f.isArguments=G.isArguments;f.isArray=ne;f.isArrayBuffer=G.isArrayBuffer;f.isArrayLike=G.isArrayLike;f.isArrayLikeObject=G.isArrayLikeObject;f.isBoolean=G.isBoolean;f.isBuffer=G.isBuffer;f.isDate=G.isDate;f.isElement=G.isElement;f.isEmpty=G.isEmpty;f.isEqual=G.isEqual;f.isEqualWith=G.isEqualWith;f.isError=G.isError;f.isFinite=G.isFinite;f.isFunction=G.isFunction;f.isInteger=G.isInteger;f.isLength=G.isLength;f.isMap=G.isMap;f.isMatch=G.isMatch;f.isMatchWith=G.isMatchWith;f.isNaN=G.isNaN;f.isNative=G.isNative;f.isNil=G.isNil;f.isNull=G.isNull;f.isNumber=G.isNumber;f.isObject=Te;f.isObjectLike=G.isObjectLike;f.isPlainObject=G.isPlainObject;f.isRegExp=G.isRegExp;f.isSafeInteger=G.isSafeInteger;f.isSet=G.isSet;f.isString=G.isString;f.isSymbol=G.isSymbol;f.isTypedArray=G.isTypedArray;f.isUndefined=G.isUndefined;f.isWeakMap=G.isWeakMap;f.isWeakSet=G.isWeakSet;f.join=X.join;f.kebabCase=pe.kebabCase;f.last=mi;f.lastIndexOf=X.lastIndexOf;f.lowerCase=pe.lowerCase;f.lowerFirst=pe.lowerFirst;f.lt=G.lt;f.lte=G.lte;f.max=Qe.max;f.maxBy=Qe.maxBy;f.mean=Qe.mean;f.meanBy=Qe.meanBy;f.min=Qe.min;f.minBy=Qe.minBy;f.stubArray=ye.stubArray;f.stubFalse=ye.stubFalse;f.stubObject=ye.stubObject;f.stubString=ye.stubString;f.stubTrue=ye.stubTrue;f.multiply=Qe.multiply;f.nth=X.nth;f.noop=ye.noop;f.now=P8.now;f.pad=pe.pad;f.padEnd=pe.padEnd;f.padStart=pe.padStart;f.parseInt=pe.parseInt;f.random=Pl.random;f.reduce=we.reduce;f.reduceRight=we.reduceRight;f.repeat=pe.repeat;f.replace=pe.replace;f.result=ee.result;f.round=Qe.round;f.sample=we.sample;f.size=we.size;f.snakeCase=pe.snakeCase;f.some=we.some;f.sortedIndex=X.sortedIndex;f.sortedIndexBy=X.sortedIndexBy;f.sortedIndexOf=X.sortedIndexOf;f.sortedLastIndex=X.sortedLastIndex;f.sortedLastIndexBy=X.sortedLastIndexBy;f.sortedLastIndexOf=X.sortedLastIndexOf;f.startCase=pe.startCase;f.startsWith=pe.startsWith;f.subtract=Qe.subtract;f.sum=Qe.sum;f.sumBy=Qe.sumBy;f.template=pe.template;f.times=ye.times;f.toFinite=G.toFinite;f.toInteger=ae;f.toLength=G.toLength;f.toLower=pe.toLower;f.toNumber=G.toNumber;f.toSafeInteger=G.toSafeInteger;f.toString=G.toString;f.toUpper=pe.toUpper;f.trim=pe.trim;f.trimEnd=pe.trimEnd;f.trimStart=pe.trimStart;f.truncate=pe.truncate;f.unescape=pe.unescape;f.uniqueId=ye.uniqueId;f.upperCase=pe.upperCase;f.upperFirst=pe.upperFirst;f.each=we.forEach;f.eachRight=we.forEachRight;f.first=X.head;Nl(f,(function(){var e={};return Zi(f,function(i,n){$0.call(f.prototype,n)||(e[n]=i)}),e})(),{chain:!1});f.VERSION=W8;(f.templateSettings=pe.templateSettings).imports._=f;ui(["bind","bindKey","curry","curryRight","partial","partialRight"],function(e){f[e].placeholder=f});ui(["drop","take"],function(e,i){le.prototype[e]=function(n){n=n===void 0?1:U8(ae(n),0);var t=this.__filtered__&&!i?new le(this):this.clone();return t.__filtered__?t.__takeCount__=Ih(n,t.__takeCount__):t.__views__.push({size:Ih(n,D0),type:e+(t.__dir__<0?"Right":"")}),t},le.prototype[e+"Right"]=function(n){return this.reverse()[e](n).reverse()}});ui(["filter","map","takeWhile"],function(e,i){var n=i+1,t=n==Q8||n==z8;le.prototype[e]=function(o){var a=this.clone();return a.__iteratees__.push({iteratee:ie(o),type:n}),a.__filtered__=a.__filtered__||t,a}});ui(["head","last"],function(e,i){var n="take"+(i?"Right":"");le.prototype[e]=function(){return this[n](1).value()[0]}});ui(["initial","tail"],function(e,i){var n="drop"+(i?"":"Right");le.prototype[e]=function(){return this.__filtered__?new le(this):this[n](1)}});le.prototype.compact=function(){return this.filter(qe)};le.prototype.find=function(e){return this.filter(e).head()};le.prototype.findLast=function(e){return this.reverse().find(e)};le.prototype.invokeMap=ue(function(e,i){return typeof e=="function"?new le(this):this.map(function(n){return pa(n,e,i)})});le.prototype.reject=function(e){return this.filter(Vs(ie(e)))};le.prototype.slice=function(e,i){e=ae(e);var n=this;return n.__filtered__&&(e>0||i<0)?new le(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),i!==void 0&&(i=ae(i),n=i<0?n.dropRight(-i):n.take(i-e)),n)};le.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()};le.prototype.toArray=function(){return this.take(D0)};Zi(le.prototype,function(e,i){var n=/^(?:filter|find|map|reject)|While$/.test(i),t=/^(?:head|last)$/.test(i),o=f[t?"take"+(i=="last"?"Right":""):i],a=t||/^find/.test(i);o&&(f.prototype[i]=function(){var s=this.__wrapped__,r=t?[1]:arguments,u=s instanceof le,c=r[0],l=u||ne(s),d=function(b){var m=o.apply(f,Pn([b],r));return t&&g?m[0]:m};l&&n&&typeof c=="function"&&c.length!=1&&(u=l=!1);var g=this.__chain__,h=!!this.__actions__.length,p=a&&!g,v=u&&!h;if(!a&&l){s=v?s:new le(this);var y=e.apply(s,r);return y.__actions__.push({func:ir,args:[d],thisArg:void 0}),new fi(y,g)}return p&&v?e.apply(this,r):(y=this.thru(d),p?t?y.value()[0]:y.value():y)})});ui(["pop","push","shift","sort","splice","unshift"],function(e){var i=K8[e],n=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",t=/^(?:pop|shift)$/.test(e);f.prototype[e]=function(){var o=arguments;if(t&&!this.__chain__){var a=this.value();return i.apply(ne(a)?a:[],o)}return this[n](function(s){return i.apply(ne(s)?s:[],o)})}});Zi(le.prototype,function(e,i){var n=f[i];if(n){var t=n.name+"";$0.call(Mt,t)||(Mt[t]=[]),Mt[t].push({name:i,func:n})}});Mt[Js(void 0,G8).name]=[{name:"wrapper",func:void 0}];le.prototype.clone=N8;le.prototype.reverse=Z8;le.prototype.value=F8;f.prototype.at=Mi.at;f.prototype.chain=Mi.wrapperChain;f.prototype.commit=Mi.commit;f.prototype.next=Mi.next;f.prototype.plant=Mi.plant;f.prototype.reverse=Mi.reverse;f.prototype.toJSON=f.prototype.valueOf=f.prototype.value=Mi.value;f.prototype.first=f.prototype.head;Hh&&(f.prototype[Hh]=Mi.toIterator);var Ot=function(){return Ot=Object.assign||function(e){for(var i,n=1,t=arguments.length;n<t;n++){i=arguments[n];for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(e[o]=i[o])}return e},Ot.apply(this,arguments)},q8="~",eH="~~";function Zl(e,i){for(var n={},t={},o=e.split(eH),a=!1,s=0;o.length>s;s++){for(var r=o[s].split(q8),u=0;u<r.length;u+=2){var c=r[u],l=r[u+1],d="&"+c+";";n[d]=l,a&&(n["&"+c]=l),t[l]=d}a=!0}return i?{entities:Ot(Ot({},n),i.entities),characters:Ot(Ot({},t),i.characters)}:{entities:n,characters:t}}var Or={xml:/&(?:#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);?/g,html4:/∉|&(?:nbsp|iexcl|cent|pound|curren|yen|brvbar|sect|uml|copy|ordf|laquo|not|shy|reg|macr|deg|plusmn|sup2|sup3|acute|micro|para|middot|cedil|sup1|ordm|raquo|frac14|frac12|frac34|iquest|Agrave|Aacute|Acirc|Atilde|Auml|Aring|AElig|Ccedil|Egrave|Eacute|Ecirc|Euml|Igrave|Iacute|Icirc|Iuml|ETH|Ntilde|Ograve|Oacute|Ocirc|Otilde|Ouml|times|Oslash|Ugrave|Uacute|Ucirc|Uuml|Yacute|THORN|szlig|agrave|aacute|acirc|atilde|auml|aring|aelig|ccedil|egrave|eacute|ecirc|euml|igrave|iacute|icirc|iuml|eth|ntilde|ograve|oacute|ocirc|otilde|ouml|divide|oslash|ugrave|uacute|ucirc|uuml|yacute|thorn|yuml|quot|amp|lt|gt|#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);?/g,html5:/·|℗|⋇|⪧|⩺|⋗|⦕|⩼|⪆|⥸|⋗|⋛|⪌|≷|≳|⪦|⩹|⋖|⋋|⋉|⥶|⩻|⦖|◃|⊴|◂|∉|⋹̸|⋵̸|∉|⋷|⋶|∌|∌|⋾|⋽|∥|⊠|⨱|⨰|&(?:AElig|AMP|Aacute|Acirc|Agrave|Aring|Atilde|Auml|COPY|Ccedil|ETH|Eacute|Ecirc|Egrave|Euml|GT|Iacute|Icirc|Igrave|Iuml|LT|Ntilde|Oacute|Ocirc|Ograve|Oslash|Otilde|Ouml|QUOT|REG|THORN|Uacute|Ucirc|Ugrave|Uuml|Yacute|aacute|acirc|acute|aelig|agrave|amp|aring|atilde|auml|brvbar|ccedil|cedil|cent|copy|curren|deg|divide|eacute|ecirc|egrave|eth|euml|frac12|frac14|frac34|gt|iacute|icirc|iexcl|igrave|iquest|iuml|laquo|lt|macr|micro|middot|nbsp|not|ntilde|oacute|ocirc|ograve|ordf|ordm|oslash|otilde|ouml|para|plusmn|pound|quot|raquo|reg|sect|shy|sup1|sup2|sup3|szlig|thorn|times|uacute|ucirc|ugrave|uml|uuml|yacute|yen|yuml|#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);?/g},Qt={};Qt.xml=Zl(`lt~<~gt~>~quot~"~apos~'~amp~&`);Qt.html4=Zl(`apos~'~OElig~Œ~oelig~œ~Scaron~Š~scaron~š~Yuml~Ÿ~circ~ˆ~tilde~˜~ensp~ ~emsp~ ~thinsp~ ~zwnj~~zwj~~lrm~~rlm~~ndash~–~mdash~—~lsquo~‘~rsquo~’~sbquo~‚~ldquo~“~rdquo~”~bdquo~„~dagger~†~Dagger~‡~permil~‰~lsaquo~‹~rsaquo~›~euro~€~fnof~ƒ~Alpha~Α~Beta~Β~Gamma~Γ~Delta~Δ~Epsilon~Ε~Zeta~Ζ~Eta~Η~Theta~Θ~Iota~Ι~Kappa~Κ~Lambda~Λ~Mu~Μ~Nu~Ν~Xi~Ξ~Omicron~Ο~Pi~Π~Rho~Ρ~Sigma~Σ~Tau~Τ~Upsilon~Υ~Phi~Φ~Chi~Χ~Psi~Ψ~Omega~Ω~alpha~α~beta~β~gamma~γ~delta~δ~epsilon~ε~zeta~ζ~eta~η~theta~θ~iota~ι~kappa~κ~lambda~λ~mu~μ~nu~ν~xi~ξ~omicron~ο~pi~π~rho~ρ~sigmaf~ς~sigma~σ~tau~τ~upsilon~υ~phi~φ~chi~χ~psi~ψ~omega~ω~thetasym~ϑ~upsih~ϒ~piv~ϖ~bull~•~hellip~…~prime~′~Prime~″~oline~‾~frasl~⁄~weierp~℘~image~ℑ~real~ℜ~trade~™~alefsym~ℵ~larr~←~uarr~↑~rarr~→~darr~↓~harr~↔~crarr~↵~lArr~⇐~uArr~⇑~rArr~⇒~dArr~⇓~hArr~⇔~forall~∀~part~∂~exist~∃~empty~∅~nabla~∇~isin~∈~notin~∉~ni~∋~prod~∏~sum~∑~minus~−~lowast~∗~radic~√~prop~∝~infin~∞~ang~∠~and~∧~or~∨~cap~∩~cup~∪~int~∫~there4~∴~sim~∼~cong~≅~asymp~≈~ne~≠~equiv~≡~le~≤~ge~≥~sub~⊂~sup~⊃~nsub~⊄~sube~⊆~supe~⊇~oplus~⊕~otimes~⊗~perp~⊥~sdot~⋅~lceil~⌈~rceil~⌉~lfloor~⌊~rfloor~⌋~lang~〈~rang~〉~loz~◊~spades~♠~clubs~♣~hearts~♥~diams~♦~~nbsp~ ~iexcl~¡~cent~¢~pound~£~curren~¤~yen~¥~brvbar~¦~sect~§~uml~¨~copy~©~ordf~ª~laquo~«~not~¬~shy~~reg~®~macr~¯~deg~°~plusmn~±~sup2~²~sup3~³~acute~´~micro~µ~para~¶~middot~·~cedil~¸~sup1~¹~ordm~º~raquo~»~frac14~¼~frac12~½~frac34~¾~iquest~¿~Agrave~À~Aacute~Á~Acirc~Â~Atilde~Ã~Auml~Ä~Aring~Å~AElig~Æ~Ccedil~Ç~Egrave~È~Eacute~É~Ecirc~Ê~Euml~Ë~Igrave~Ì~Iacute~Í~Icirc~Î~Iuml~Ï~ETH~Ð~Ntilde~Ñ~Ograve~Ò~Oacute~Ó~Ocirc~Ô~Otilde~Õ~Ouml~Ö~times~×~Oslash~Ø~Ugrave~Ù~Uacute~Ú~Ucirc~Û~Uuml~Ü~Yacute~Ý~THORN~Þ~szlig~ß~agrave~à~aacute~á~acirc~â~atilde~ã~auml~ä~aring~å~aelig~æ~ccedil~ç~egrave~è~eacute~é~ecirc~ê~euml~ë~igrave~ì~iacute~í~icirc~î~iuml~ï~eth~ð~ntilde~ñ~ograve~ò~oacute~ó~ocirc~ô~otilde~õ~ouml~ö~divide~÷~oslash~ø~ugrave~ù~uacute~ú~ucirc~û~uuml~ü~yacute~ý~thorn~þ~yuml~ÿ~quot~"~amp~&~lt~<~gt~>`);Qt.html5=Zl('Abreve~Ă~Acy~А~Afr~𝔄~Amacr~Ā~And~⩓~Aogon~Ą~Aopf~𝔸~ApplyFunction~~Ascr~𝒜~Assign~≔~Backslash~∖~Barv~⫧~Barwed~⌆~Bcy~Б~Because~∵~Bernoullis~ℬ~Bfr~𝔅~Bopf~𝔹~Breve~˘~Bscr~ℬ~Bumpeq~≎~CHcy~Ч~Cacute~Ć~Cap~⋒~CapitalDifferentialD~ⅅ~Cayleys~ℭ~Ccaron~Č~Ccirc~Ĉ~Cconint~∰~Cdot~Ċ~Cedilla~¸~CenterDot~·~Cfr~ℭ~CircleDot~⊙~CircleMinus~⊖~CirclePlus~⊕~CircleTimes~⊗~ClockwiseContourIntegral~∲~CloseCurlyDoubleQuote~”~CloseCurlyQuote~’~Colon~∷~Colone~⩴~Congruent~≡~Conint~∯~ContourIntegral~∮~Copf~ℂ~Coproduct~∐~CounterClockwiseContourIntegral~∳~Cross~⨯~Cscr~𝒞~Cup~⋓~CupCap~≍~DD~ⅅ~DDotrahd~⤑~DJcy~Ђ~DScy~Ѕ~DZcy~Џ~Darr~↡~Dashv~⫤~Dcaron~Ď~Dcy~Д~Del~∇~Dfr~𝔇~DiacriticalAcute~´~DiacriticalDot~˙~DiacriticalDoubleAcute~˝~DiacriticalGrave~`~DiacriticalTilde~˜~Diamond~⋄~DifferentialD~ⅆ~Dopf~𝔻~Dot~¨~DotDot~⃜~DotEqual~≐~DoubleContourIntegral~∯~DoubleDot~¨~DoubleDownArrow~⇓~DoubleLeftArrow~⇐~DoubleLeftRightArrow~⇔~DoubleLeftTee~⫤~DoubleLongLeftArrow~⟸~DoubleLongLeftRightArrow~⟺~DoubleLongRightArrow~⟹~DoubleRightArrow~⇒~DoubleRightTee~⊨~DoubleUpArrow~⇑~DoubleUpDownArrow~⇕~DoubleVerticalBar~∥~DownArrow~↓~DownArrowBar~⤓~DownArrowUpArrow~⇵~DownBreve~̑~DownLeftRightVector~⥐~DownLeftTeeVector~⥞~DownLeftVector~↽~DownLeftVectorBar~⥖~DownRightTeeVector~⥟~DownRightVector~⇁~DownRightVectorBar~⥗~DownTee~⊤~DownTeeArrow~↧~Downarrow~⇓~Dscr~𝒟~Dstrok~Đ~ENG~Ŋ~Ecaron~Ě~Ecy~Э~Edot~Ė~Efr~𝔈~Element~∈~Emacr~Ē~EmptySmallSquare~◻~EmptyVerySmallSquare~▫~Eogon~Ę~Eopf~𝔼~Equal~⩵~EqualTilde~≂~Equilibrium~⇌~Escr~ℰ~Esim~⩳~Exists~∃~ExponentialE~ⅇ~Fcy~Ф~Ffr~𝔉~FilledSmallSquare~◼~FilledVerySmallSquare~▪~Fopf~𝔽~ForAll~∀~Fouriertrf~ℱ~Fscr~ℱ~GJcy~Ѓ~Gammad~Ϝ~Gbreve~Ğ~Gcedil~Ģ~Gcirc~Ĝ~Gcy~Г~Gdot~Ġ~Gfr~𝔊~Gg~⋙~Gopf~𝔾~GreaterEqual~≥~GreaterEqualLess~⋛~GreaterFullEqual~≧~GreaterGreater~⪢~GreaterLess~≷~GreaterSlantEqual~⩾~GreaterTilde~≳~Gscr~𝒢~Gt~≫~HARDcy~Ъ~Hacek~ˇ~Hat~^~Hcirc~Ĥ~Hfr~ℌ~HilbertSpace~ℋ~Hopf~ℍ~HorizontalLine~─~Hscr~ℋ~Hstrok~Ħ~HumpDownHump~≎~HumpEqual~≏~IEcy~Е~IJlig~IJ~IOcy~Ё~Icy~И~Idot~İ~Ifr~ℑ~Im~ℑ~Imacr~Ī~ImaginaryI~ⅈ~Implies~⇒~Int~∬~Integral~∫~Intersection~⋂~InvisibleComma~~InvisibleTimes~~Iogon~Į~Iopf~𝕀~Iscr~ℐ~Itilde~Ĩ~Iukcy~І~Jcirc~Ĵ~Jcy~Й~Jfr~𝔍~Jopf~𝕁~Jscr~𝒥~Jsercy~Ј~Jukcy~Є~KHcy~Х~KJcy~Ќ~Kcedil~Ķ~Kcy~К~Kfr~𝔎~Kopf~𝕂~Kscr~𝒦~LJcy~Љ~Lacute~Ĺ~Lang~⟪~Laplacetrf~ℒ~Larr~↞~Lcaron~Ľ~Lcedil~Ļ~Lcy~Л~LeftAngleBracket~⟨~LeftArrow~←~LeftArrowBar~⇤~LeftArrowRightArrow~⇆~LeftCeiling~⌈~LeftDoubleBracket~⟦~LeftDownTeeVector~⥡~LeftDownVector~⇃~LeftDownVectorBar~⥙~LeftFloor~⌊~LeftRightArrow~↔~LeftRightVector~⥎~LeftTee~⊣~LeftTeeArrow~↤~LeftTeeVector~⥚~LeftTriangle~⊲~LeftTriangleBar~⧏~LeftTriangleEqual~⊴~LeftUpDownVector~⥑~LeftUpTeeVector~⥠~LeftUpVector~↿~LeftUpVectorBar~⥘~LeftVector~↼~LeftVectorBar~⥒~Leftarrow~⇐~Leftrightarrow~⇔~LessEqualGreater~⋚~LessFullEqual~≦~LessGreater~≶~LessLess~⪡~LessSlantEqual~⩽~LessTilde~≲~Lfr~𝔏~Ll~⋘~Lleftarrow~⇚~Lmidot~Ŀ~LongLeftArrow~⟵~LongLeftRightArrow~⟷~LongRightArrow~⟶~Longleftarrow~⟸~Longleftrightarrow~⟺~Longrightarrow~⟹~Lopf~𝕃~LowerLeftArrow~↙~LowerRightArrow~↘~Lscr~ℒ~Lsh~↰~Lstrok~Ł~Lt~≪~Map~⤅~Mcy~М~MediumSpace~ ~Mellintrf~ℳ~Mfr~𝔐~MinusPlus~∓~Mopf~𝕄~Mscr~ℳ~NJcy~Њ~Nacute~Ń~Ncaron~Ň~Ncedil~Ņ~Ncy~Н~NegativeMediumSpace~~NegativeThickSpace~~NegativeThinSpace~~NegativeVeryThinSpace~~NestedGreaterGreater~≫~NestedLessLess~≪~NewLine~\n~Nfr~𝔑~NoBreak~~NonBreakingSpace~ ~Nopf~ℕ~Not~⫬~NotCongruent~≢~NotCupCap~≭~NotDoubleVerticalBar~∦~NotElement~∉~NotEqual~≠~NotEqualTilde~≂̸~NotExists~∄~NotGreater~≯~NotGreaterEqual~≱~NotGreaterFullEqual~≧̸~NotGreaterGreater~≫̸~NotGreaterLess~≹~NotGreaterSlantEqual~⩾̸~NotGreaterTilde~≵~NotHumpDownHump~≎̸~NotHumpEqual~≏̸~NotLeftTriangle~⋪~NotLeftTriangleBar~⧏̸~NotLeftTriangleEqual~⋬~NotLess~≮~NotLessEqual~≰~NotLessGreater~≸~NotLessLess~≪̸~NotLessSlantEqual~⩽̸~NotLessTilde~≴~NotNestedGreaterGreater~⪢̸~NotNestedLessLess~⪡̸~NotPrecedes~⊀~NotPrecedesEqual~⪯̸~NotPrecedesSlantEqual~⋠~NotReverseElement~∌~NotRightTriangle~⋫~NotRightTriangleBar~⧐̸~NotRightTriangleEqual~⋭~NotSquareSubset~⊏̸~NotSquareSubsetEqual~⋢~NotSquareSuperset~⊐̸~NotSquareSupersetEqual~⋣~NotSubset~⊂⃒~NotSubsetEqual~⊈~NotSucceeds~⊁~NotSucceedsEqual~⪰̸~NotSucceedsSlantEqual~⋡~NotSucceedsTilde~≿̸~NotSuperset~⊃⃒~NotSupersetEqual~⊉~NotTilde~≁~NotTildeEqual~≄~NotTildeFullEqual~≇~NotTildeTilde~≉~NotVerticalBar~∤~Nscr~𝒩~Ocy~О~Odblac~Ő~Ofr~𝔒~Omacr~Ō~Oopf~𝕆~OpenCurlyDoubleQuote~“~OpenCurlyQuote~‘~Or~⩔~Oscr~𝒪~Otimes~⨷~OverBar~‾~OverBrace~⏞~OverBracket~⎴~OverParenthesis~⏜~PartialD~∂~Pcy~П~Pfr~𝔓~PlusMinus~±~Poincareplane~ℌ~Popf~ℙ~Pr~⪻~Precedes~≺~PrecedesEqual~⪯~PrecedesSlantEqual~≼~PrecedesTilde~≾~Product~∏~Proportion~∷~Proportional~∝~Pscr~𝒫~Qfr~𝔔~Qopf~ℚ~Qscr~𝒬~RBarr~⤐~Racute~Ŕ~Rang~⟫~Rarr~↠~Rarrtl~⤖~Rcaron~Ř~Rcedil~Ŗ~Rcy~Р~Re~ℜ~ReverseElement~∋~ReverseEquilibrium~⇋~ReverseUpEquilibrium~⥯~Rfr~ℜ~RightAngleBracket~⟩~RightArrow~→~RightArrowBar~⇥~RightArrowLeftArrow~⇄~RightCeiling~⌉~RightDoubleBracket~⟧~RightDownTeeVector~⥝~RightDownVector~⇂~RightDownVectorBar~⥕~RightFloor~⌋~RightTee~⊢~RightTeeArrow~↦~RightTeeVector~⥛~RightTriangle~⊳~RightTriangleBar~⧐~RightTriangleEqual~⊵~RightUpDownVector~⥏~RightUpTeeVector~⥜~RightUpVector~↾~RightUpVectorBar~⥔~RightVector~⇀~RightVectorBar~⥓~Rightarrow~⇒~Ropf~ℝ~RoundImplies~⥰~Rrightarrow~⇛~Rscr~ℛ~Rsh~↱~RuleDelayed~⧴~SHCHcy~Щ~SHcy~Ш~SOFTcy~Ь~Sacute~Ś~Sc~⪼~Scedil~Ş~Scirc~Ŝ~Scy~С~Sfr~𝔖~ShortDownArrow~↓~ShortLeftArrow~←~ShortRightArrow~→~ShortUpArrow~↑~SmallCircle~∘~Sopf~𝕊~Sqrt~√~Square~□~SquareIntersection~⊓~SquareSubset~⊏~SquareSubsetEqual~⊑~SquareSuperset~⊐~SquareSupersetEqual~⊒~SquareUnion~⊔~Sscr~𝒮~Star~⋆~Sub~⋐~Subset~⋐~SubsetEqual~⊆~Succeeds~≻~SucceedsEqual~⪰~SucceedsSlantEqual~≽~SucceedsTilde~≿~SuchThat~∋~Sum~∑~Sup~⋑~Superset~⊃~SupersetEqual~⊇~Supset~⋑~TRADE~™~TSHcy~Ћ~TScy~Ц~Tab~ ~Tcaron~Ť~Tcedil~Ţ~Tcy~Т~Tfr~𝔗~Therefore~∴~ThickSpace~ ~ThinSpace~ ~Tilde~∼~TildeEqual~≃~TildeFullEqual~≅~TildeTilde~≈~Topf~𝕋~TripleDot~⃛~Tscr~𝒯~Tstrok~Ŧ~Uarr~↟~Uarrocir~⥉~Ubrcy~Ў~Ubreve~Ŭ~Ucy~У~Udblac~Ű~Ufr~𝔘~Umacr~Ū~UnderBar~_~UnderBrace~⏟~UnderBracket~⎵~UnderParenthesis~⏝~Union~⋃~UnionPlus~⊎~Uogon~Ų~Uopf~𝕌~UpArrow~↑~UpArrowBar~⤒~UpArrowDownArrow~⇅~UpDownArrow~↕~UpEquilibrium~⥮~UpTee~⊥~UpTeeArrow~↥~Uparrow~⇑~Updownarrow~⇕~UpperLeftArrow~↖~UpperRightArrow~↗~Upsi~ϒ~Uring~Ů~Uscr~𝒰~Utilde~Ũ~VDash~⊫~Vbar~⫫~Vcy~В~Vdash~⊩~Vdashl~⫦~Vee~⋁~Verbar~‖~Vert~‖~VerticalBar~∣~VerticalLine~|~VerticalSeparator~❘~VerticalTilde~≀~VeryThinSpace~ ~Vfr~𝔙~Vopf~𝕍~Vscr~𝒱~Vvdash~⊪~Wcirc~Ŵ~Wedge~⋀~Wfr~𝔚~Wopf~𝕎~Wscr~𝒲~Xfr~𝔛~Xopf~𝕏~Xscr~𝒳~YAcy~Я~YIcy~Ї~YUcy~Ю~Ycirc~Ŷ~Ycy~Ы~Yfr~𝔜~Yopf~𝕐~Yscr~𝒴~ZHcy~Ж~Zacute~Ź~Zcaron~Ž~Zcy~З~Zdot~Ż~ZeroWidthSpace~~Zfr~ℨ~Zopf~ℤ~Zscr~𝒵~abreve~ă~ac~∾~acE~∾̳~acd~∿~acy~а~af~~afr~𝔞~aleph~ℵ~amacr~ā~amalg~⨿~andand~⩕~andd~⩜~andslope~⩘~andv~⩚~ange~⦤~angle~∠~angmsd~∡~angmsdaa~⦨~angmsdab~⦩~angmsdac~⦪~angmsdad~⦫~angmsdae~⦬~angmsdaf~⦭~angmsdag~⦮~angmsdah~⦯~angrt~∟~angrtvb~⊾~angrtvbd~⦝~angsph~∢~angst~Å~angzarr~⍼~aogon~ą~aopf~𝕒~ap~≈~apE~⩰~apacir~⩯~ape~≊~apid~≋~approx~≈~approxeq~≊~ascr~𝒶~ast~*~asympeq~≍~awconint~∳~awint~⨑~bNot~⫭~backcong~≌~backepsilon~϶~backprime~‵~backsim~∽~backsimeq~⋍~barvee~⊽~barwed~⌅~barwedge~⌅~bbrk~⎵~bbrktbrk~⎶~bcong~≌~bcy~б~becaus~∵~because~∵~bemptyv~⦰~bepsi~϶~bernou~ℬ~beth~ℶ~between~≬~bfr~𝔟~bigcap~⋂~bigcirc~◯~bigcup~⋃~bigodot~⨀~bigoplus~⨁~bigotimes~⨂~bigsqcup~⨆~bigstar~★~bigtriangledown~▽~bigtriangleup~△~biguplus~⨄~bigvee~⋁~bigwedge~⋀~bkarow~⤍~blacklozenge~⧫~blacksquare~▪~blacktriangle~▴~blacktriangledown~▾~blacktriangleleft~◂~blacktriangleright~▸~blank~␣~blk12~▒~blk14~░~blk34~▓~block~█~bne~=⃥~bnequiv~≡⃥~bnot~⌐~bopf~𝕓~bot~⊥~bottom~⊥~bowtie~⋈~boxDL~╗~boxDR~╔~boxDl~╖~boxDr~╓~boxH~═~boxHD~╦~boxHU~╩~boxHd~╤~boxHu~╧~boxUL~╝~boxUR~╚~boxUl~╜~boxUr~╙~boxV~║~boxVH~╬~boxVL~╣~boxVR~╠~boxVh~╫~boxVl~╢~boxVr~╟~boxbox~⧉~boxdL~╕~boxdR~╒~boxdl~┐~boxdr~┌~boxh~─~boxhD~╥~boxhU~╨~boxhd~┬~boxhu~┴~boxminus~⊟~boxplus~⊞~boxtimes~⊠~boxuL~╛~boxuR~╘~boxul~┘~boxur~└~boxv~│~boxvH~╪~boxvL~╡~boxvR~╞~boxvh~┼~boxvl~┤~boxvr~├~bprime~‵~breve~˘~bscr~𝒷~bsemi~⁏~bsim~∽~bsime~⋍~bsol~\\~bsolb~⧅~bsolhsub~⟈~bullet~•~bump~≎~bumpE~⪮~bumpe~≏~bumpeq~≏~cacute~ć~capand~⩄~capbrcup~⩉~capcap~⩋~capcup~⩇~capdot~⩀~caps~∩︀~caret~⁁~caron~ˇ~ccaps~⩍~ccaron~č~ccirc~ĉ~ccups~⩌~ccupssm~⩐~cdot~ċ~cemptyv~⦲~centerdot~·~cfr~𝔠~chcy~ч~check~✓~checkmark~✓~cir~○~cirE~⧃~circeq~≗~circlearrowleft~↺~circlearrowright~↻~circledR~®~circledS~Ⓢ~circledast~⊛~circledcirc~⊚~circleddash~⊝~cire~≗~cirfnint~⨐~cirmid~⫯~cirscir~⧂~clubsuit~♣~colon~:~colone~≔~coloneq~≔~comma~,~commat~@~comp~∁~compfn~∘~complement~∁~complexes~ℂ~congdot~⩭~conint~∮~copf~𝕔~coprod~∐~copysr~℗~cross~✗~cscr~𝒸~csub~⫏~csube~⫑~csup~⫐~csupe~⫒~ctdot~⋯~cudarrl~⤸~cudarrr~⤵~cuepr~⋞~cuesc~⋟~cularr~↶~cularrp~⤽~cupbrcap~⩈~cupcap~⩆~cupcup~⩊~cupdot~⊍~cupor~⩅~cups~∪︀~curarr~↷~curarrm~⤼~curlyeqprec~⋞~curlyeqsucc~⋟~curlyvee~⋎~curlywedge~⋏~curvearrowleft~↶~curvearrowright~↷~cuvee~⋎~cuwed~⋏~cwconint~∲~cwint~∱~cylcty~⌭~dHar~⥥~daleth~ℸ~dash~‐~dashv~⊣~dbkarow~⤏~dblac~˝~dcaron~ď~dcy~д~dd~ⅆ~ddagger~‡~ddarr~⇊~ddotseq~⩷~demptyv~⦱~dfisht~⥿~dfr~𝔡~dharl~⇃~dharr~⇂~diam~⋄~diamond~⋄~diamondsuit~♦~die~¨~digamma~ϝ~disin~⋲~div~÷~divideontimes~⋇~divonx~⋇~djcy~ђ~dlcorn~⌞~dlcrop~⌍~dollar~$~dopf~𝕕~dot~˙~doteq~≐~doteqdot~≑~dotminus~∸~dotplus~∔~dotsquare~⊡~doublebarwedge~⌆~downarrow~↓~downdownarrows~⇊~downharpoonleft~⇃~downharpoonright~⇂~drbkarow~⤐~drcorn~⌟~drcrop~⌌~dscr~𝒹~dscy~ѕ~dsol~⧶~dstrok~đ~dtdot~⋱~dtri~▿~dtrif~▾~duarr~⇵~duhar~⥯~dwangle~⦦~dzcy~џ~dzigrarr~⟿~eDDot~⩷~eDot~≑~easter~⩮~ecaron~ě~ecir~≖~ecolon~≕~ecy~э~edot~ė~ee~ⅇ~efDot~≒~efr~𝔢~eg~⪚~egs~⪖~egsdot~⪘~el~⪙~elinters~⏧~ell~ℓ~els~⪕~elsdot~⪗~emacr~ē~emptyset~∅~emptyv~∅~emsp13~ ~emsp14~ ~eng~ŋ~eogon~ę~eopf~𝕖~epar~⋕~eparsl~⧣~eplus~⩱~epsi~ε~epsiv~ϵ~eqcirc~≖~eqcolon~≕~eqsim~≂~eqslantgtr~⪖~eqslantless~⪕~equals~=~equest~≟~equivDD~⩸~eqvparsl~⧥~erDot~≓~erarr~⥱~escr~ℯ~esdot~≐~esim~≂~excl~!~expectation~ℰ~exponentiale~ⅇ~fallingdotseq~≒~fcy~ф~female~♀~ffilig~ffi~fflig~ff~ffllig~ffl~ffr~𝔣~filig~fi~fjlig~fj~flat~♭~fllig~fl~fltns~▱~fopf~𝕗~fork~⋔~forkv~⫙~fpartint~⨍~frac13~⅓~frac15~⅕~frac16~⅙~frac18~⅛~frac23~⅔~frac25~⅖~frac35~⅗~frac38~⅜~frac45~⅘~frac56~⅚~frac58~⅝~frac78~⅞~frown~⌢~fscr~𝒻~gE~≧~gEl~⪌~gacute~ǵ~gammad~ϝ~gap~⪆~gbreve~ğ~gcirc~ĝ~gcy~г~gdot~ġ~gel~⋛~geq~≥~geqq~≧~geqslant~⩾~ges~⩾~gescc~⪩~gesdot~⪀~gesdoto~⪂~gesdotol~⪄~gesl~⋛︀~gesles~⪔~gfr~𝔤~gg~≫~ggg~⋙~gimel~ℷ~gjcy~ѓ~gl~≷~glE~⪒~gla~⪥~glj~⪤~gnE~≩~gnap~⪊~gnapprox~⪊~gne~⪈~gneq~⪈~gneqq~≩~gnsim~⋧~gopf~𝕘~grave~`~gscr~ℊ~gsim~≳~gsime~⪎~gsiml~⪐~gtcc~⪧~gtcir~⩺~gtdot~⋗~gtlPar~⦕~gtquest~⩼~gtrapprox~⪆~gtrarr~⥸~gtrdot~⋗~gtreqless~⋛~gtreqqless~⪌~gtrless~≷~gtrsim~≳~gvertneqq~≩︀~gvnE~≩︀~hairsp~ ~half~½~hamilt~ℋ~hardcy~ъ~harrcir~⥈~harrw~↭~hbar~ℏ~hcirc~ĥ~heartsuit~♥~hercon~⊹~hfr~𝔥~hksearow~⤥~hkswarow~⤦~hoarr~⇿~homtht~∻~hookleftarrow~↩~hookrightarrow~↪~hopf~𝕙~horbar~―~hscr~𝒽~hslash~ℏ~hstrok~ħ~hybull~⁃~hyphen~‐~ic~~icy~и~iecy~е~iff~⇔~ifr~𝔦~ii~ⅈ~iiiint~⨌~iiint~∭~iinfin~⧜~iiota~℩~ijlig~ij~imacr~ī~imagline~ℐ~imagpart~ℑ~imath~ı~imof~⊷~imped~Ƶ~in~∈~incare~℅~infintie~⧝~inodot~ı~intcal~⊺~integers~ℤ~intercal~⊺~intlarhk~⨗~intprod~⨼~iocy~ё~iogon~į~iopf~𝕚~iprod~⨼~iscr~𝒾~isinE~⋹~isindot~⋵~isins~⋴~isinsv~⋳~isinv~∈~it~~itilde~ĩ~iukcy~і~jcirc~ĵ~jcy~й~jfr~𝔧~jmath~ȷ~jopf~𝕛~jscr~𝒿~jsercy~ј~jukcy~є~kappav~ϰ~kcedil~ķ~kcy~к~kfr~𝔨~kgreen~ĸ~khcy~х~kjcy~ќ~kopf~𝕜~kscr~𝓀~lAarr~⇚~lAtail~⤛~lBarr~⤎~lE~≦~lEg~⪋~lHar~⥢~lacute~ĺ~laemptyv~⦴~lagran~ℒ~langd~⦑~langle~⟨~lap~⪅~larrb~⇤~larrbfs~⤟~larrfs~⤝~larrhk~↩~larrlp~↫~larrpl~⤹~larrsim~⥳~larrtl~↢~lat~⪫~latail~⤙~late~⪭~lates~⪭︀~lbarr~⤌~lbbrk~❲~lbrace~{~lbrack~[~lbrke~⦋~lbrksld~⦏~lbrkslu~⦍~lcaron~ľ~lcedil~ļ~lcub~{~lcy~л~ldca~⤶~ldquor~„~ldrdhar~⥧~ldrushar~⥋~ldsh~↲~leftarrow~←~leftarrowtail~↢~leftharpoondown~↽~leftharpoonup~↼~leftleftarrows~⇇~leftrightarrow~↔~leftrightarrows~⇆~leftrightharpoons~⇋~leftrightsquigarrow~↭~leftthreetimes~⋋~leg~⋚~leq~≤~leqq~≦~leqslant~⩽~les~⩽~lescc~⪨~lesdot~⩿~lesdoto~⪁~lesdotor~⪃~lesg~⋚︀~lesges~⪓~lessapprox~⪅~lessdot~⋖~lesseqgtr~⋚~lesseqqgtr~⪋~lessgtr~≶~lesssim~≲~lfisht~⥼~lfr~𝔩~lg~≶~lgE~⪑~lhard~↽~lharu~↼~lharul~⥪~lhblk~▄~ljcy~љ~ll~≪~llarr~⇇~llcorner~⌞~llhard~⥫~lltri~◺~lmidot~ŀ~lmoust~⎰~lmoustache~⎰~lnE~≨~lnap~⪉~lnapprox~⪉~lne~⪇~lneq~⪇~lneqq~≨~lnsim~⋦~loang~⟬~loarr~⇽~lobrk~⟦~longleftarrow~⟵~longleftrightarrow~⟷~longmapsto~⟼~longrightarrow~⟶~looparrowleft~↫~looparrowright~↬~lopar~⦅~lopf~𝕝~loplus~⨭~lotimes~⨴~lowbar~_~lozenge~◊~lozf~⧫~lpar~(~lparlt~⦓~lrarr~⇆~lrcorner~⌟~lrhar~⇋~lrhard~⥭~lrtri~⊿~lscr~𝓁~lsh~↰~lsim~≲~lsime~⪍~lsimg~⪏~lsqb~[~lsquor~‚~lstrok~ł~ltcc~⪦~ltcir~⩹~ltdot~⋖~lthree~⋋~ltimes~⋉~ltlarr~⥶~ltquest~⩻~ltrPar~⦖~ltri~◃~ltrie~⊴~ltrif~◂~lurdshar~⥊~luruhar~⥦~lvertneqq~≨︀~lvnE~≨︀~mDDot~∺~male~♂~malt~✠~maltese~✠~map~↦~mapsto~↦~mapstodown~↧~mapstoleft~↤~mapstoup~↥~marker~▮~mcomma~⨩~mcy~м~measuredangle~∡~mfr~𝔪~mho~℧~mid~∣~midast~*~midcir~⫰~minusb~⊟~minusd~∸~minusdu~⨪~mlcp~⫛~mldr~…~mnplus~∓~models~⊧~mopf~𝕞~mp~∓~mscr~𝓂~mstpos~∾~multimap~⊸~mumap~⊸~nGg~⋙̸~nGt~≫⃒~nGtv~≫̸~nLeftarrow~⇍~nLeftrightarrow~⇎~nLl~⋘̸~nLt~≪⃒~nLtv~≪̸~nRightarrow~⇏~nVDash~⊯~nVdash~⊮~nacute~ń~nang~∠⃒~nap~≉~napE~⩰̸~napid~≋̸~napos~ʼn~napprox~≉~natur~♮~natural~♮~naturals~ℕ~nbump~≎̸~nbumpe~≏̸~ncap~⩃~ncaron~ň~ncedil~ņ~ncong~≇~ncongdot~⩭̸~ncup~⩂~ncy~н~neArr~⇗~nearhk~⤤~nearr~↗~nearrow~↗~nedot~≐̸~nequiv~≢~nesear~⤨~nesim~≂̸~nexist~∄~nexists~∄~nfr~𝔫~ngE~≧̸~nge~≱~ngeq~≱~ngeqq~≧̸~ngeqslant~⩾̸~nges~⩾̸~ngsim~≵~ngt~≯~ngtr~≯~nhArr~⇎~nharr~↮~nhpar~⫲~nis~⋼~nisd~⋺~niv~∋~njcy~њ~nlArr~⇍~nlE~≦̸~nlarr~↚~nldr~‥~nle~≰~nleftarrow~↚~nleftrightarrow~↮~nleq~≰~nleqq~≦̸~nleqslant~⩽̸~nles~⩽̸~nless~≮~nlsim~≴~nlt~≮~nltri~⋪~nltrie~⋬~nmid~∤~nopf~𝕟~notinE~⋹̸~notindot~⋵̸~notinva~∉~notinvb~⋷~notinvc~⋶~notni~∌~notniva~∌~notnivb~⋾~notnivc~⋽~npar~∦~nparallel~∦~nparsl~⫽⃥~npart~∂̸~npolint~⨔~npr~⊀~nprcue~⋠~npre~⪯̸~nprec~⊀~npreceq~⪯̸~nrArr~⇏~nrarr~↛~nrarrc~⤳̸~nrarrw~↝̸~nrightarrow~↛~nrtri~⋫~nrtrie~⋭~nsc~⊁~nsccue~⋡~nsce~⪰̸~nscr~𝓃~nshortmid~∤~nshortparallel~∦~nsim~≁~nsime~≄~nsimeq~≄~nsmid~∤~nspar~∦~nsqsube~⋢~nsqsupe~⋣~nsubE~⫅̸~nsube~⊈~nsubset~⊂⃒~nsubseteq~⊈~nsubseteqq~⫅̸~nsucc~⊁~nsucceq~⪰̸~nsup~⊅~nsupE~⫆̸~nsupe~⊉~nsupset~⊃⃒~nsupseteq~⊉~nsupseteqq~⫆̸~ntgl~≹~ntlg~≸~ntriangleleft~⋪~ntrianglelefteq~⋬~ntriangleright~⋫~ntrianglerighteq~⋭~num~#~numero~№~numsp~ ~nvDash~⊭~nvHarr~⤄~nvap~≍⃒~nvdash~⊬~nvge~≥⃒~nvgt~>⃒~nvinfin~⧞~nvlArr~⤂~nvle~≤⃒~nvlt~<⃒~nvltrie~⊴⃒~nvrArr~⤃~nvrtrie~⊵⃒~nvsim~∼⃒~nwArr~⇖~nwarhk~⤣~nwarr~↖~nwarrow~↖~nwnear~⤧~oS~Ⓢ~oast~⊛~ocir~⊚~ocy~о~odash~⊝~odblac~ő~odiv~⨸~odot~⊙~odsold~⦼~ofcir~⦿~ofr~𝔬~ogon~˛~ogt~⧁~ohbar~⦵~ohm~Ω~oint~∮~olarr~↺~olcir~⦾~olcross~⦻~olt~⧀~omacr~ō~omid~⦶~ominus~⊖~oopf~𝕠~opar~⦷~operp~⦹~orarr~↻~ord~⩝~order~ℴ~orderof~ℴ~origof~⊶~oror~⩖~orslope~⩗~orv~⩛~oscr~ℴ~osol~⊘~otimesas~⨶~ovbar~⌽~par~∥~parallel~∥~parsim~⫳~parsl~⫽~pcy~п~percnt~%~period~.~pertenk~‱~pfr~𝔭~phiv~ϕ~phmmat~ℳ~phone~☎~pitchfork~⋔~planck~ℏ~planckh~ℎ~plankv~ℏ~plus~+~plusacir~⨣~plusb~⊞~pluscir~⨢~plusdo~∔~plusdu~⨥~pluse~⩲~plussim~⨦~plustwo~⨧~pm~±~pointint~⨕~popf~𝕡~pr~≺~prE~⪳~prap~⪷~prcue~≼~pre~⪯~prec~≺~precapprox~⪷~preccurlyeq~≼~preceq~⪯~precnapprox~⪹~precneqq~⪵~precnsim~⋨~precsim~≾~primes~ℙ~prnE~⪵~prnap~⪹~prnsim~⋨~profalar~⌮~profline~⌒~profsurf~⌓~propto~∝~prsim~≾~prurel~⊰~pscr~𝓅~puncsp~ ~qfr~𝔮~qint~⨌~qopf~𝕢~qprime~⁗~qscr~𝓆~quaternions~ℍ~quatint~⨖~quest~?~questeq~≟~rAarr~⇛~rAtail~⤜~rBarr~⤏~rHar~⥤~race~∽̱~racute~ŕ~raemptyv~⦳~rangd~⦒~range~⦥~rangle~⟩~rarrap~⥵~rarrb~⇥~rarrbfs~⤠~rarrc~⤳~rarrfs~⤞~rarrhk~↪~rarrlp~↬~rarrpl~⥅~rarrsim~⥴~rarrtl~↣~rarrw~↝~ratail~⤚~ratio~∶~rationals~ℚ~rbarr~⤍~rbbrk~❳~rbrace~}~rbrack~]~rbrke~⦌~rbrksld~⦎~rbrkslu~⦐~rcaron~ř~rcedil~ŗ~rcub~}~rcy~р~rdca~⤷~rdldhar~⥩~rdquor~”~rdsh~↳~realine~ℛ~realpart~ℜ~reals~ℝ~rect~▭~rfisht~⥽~rfr~𝔯~rhard~⇁~rharu~⇀~rharul~⥬~rhov~ϱ~rightarrow~→~rightarrowtail~↣~rightharpoondown~⇁~rightharpoonup~⇀~rightleftarrows~⇄~rightleftharpoons~⇌~rightrightarrows~⇉~rightsquigarrow~↝~rightthreetimes~⋌~ring~˚~risingdotseq~≓~rlarr~⇄~rlhar~⇌~rmoust~⎱~rmoustache~⎱~rnmid~⫮~roang~⟭~roarr~⇾~robrk~⟧~ropar~⦆~ropf~𝕣~roplus~⨮~rotimes~⨵~rpar~)~rpargt~⦔~rppolint~⨒~rrarr~⇉~rscr~𝓇~rsh~↱~rsqb~]~rsquor~’~rthree~⋌~rtimes~⋊~rtri~▹~rtrie~⊵~rtrif~▸~rtriltri~⧎~ruluhar~⥨~rx~℞~sacute~ś~sc~≻~scE~⪴~scap~⪸~sccue~≽~sce~⪰~scedil~ş~scirc~ŝ~scnE~⪶~scnap~⪺~scnsim~⋩~scpolint~⨓~scsim~≿~scy~с~sdotb~⊡~sdote~⩦~seArr~⇘~searhk~⤥~searr~↘~searrow~↘~semi~;~seswar~⤩~setminus~∖~setmn~∖~sext~✶~sfr~𝔰~sfrown~⌢~sharp~♯~shchcy~щ~shcy~ш~shortmid~∣~shortparallel~∥~sigmav~ς~simdot~⩪~sime~≃~simeq~≃~simg~⪞~simgE~⪠~siml~⪝~simlE~⪟~simne~≆~simplus~⨤~simrarr~⥲~slarr~←~smallsetminus~∖~smashp~⨳~smeparsl~⧤~smid~∣~smile~⌣~smt~⪪~smte~⪬~smtes~⪬︀~softcy~ь~sol~/~solb~⧄~solbar~⌿~sopf~𝕤~spadesuit~♠~spar~∥~sqcap~⊓~sqcaps~⊓︀~sqcup~⊔~sqcups~⊔︀~sqsub~⊏~sqsube~⊑~sqsubset~⊏~sqsubseteq~⊑~sqsup~⊐~sqsupe~⊒~sqsupset~⊐~sqsupseteq~⊒~squ~□~square~□~squarf~▪~squf~▪~srarr~→~sscr~𝓈~ssetmn~∖~ssmile~⌣~sstarf~⋆~star~☆~starf~★~straightepsilon~ϵ~straightphi~ϕ~strns~¯~subE~⫅~subdot~⪽~subedot~⫃~submult~⫁~subnE~⫋~subne~⊊~subplus~⪿~subrarr~⥹~subset~⊂~subseteq~⊆~subseteqq~⫅~subsetneq~⊊~subsetneqq~⫋~subsim~⫇~subsub~⫕~subsup~⫓~succ~≻~succapprox~⪸~succcurlyeq~≽~succeq~⪰~succnapprox~⪺~succneqq~⪶~succnsim~⋩~succsim~≿~sung~♪~supE~⫆~supdot~⪾~supdsub~⫘~supedot~⫄~suphsol~⟉~suphsub~⫗~suplarr~⥻~supmult~⫂~supnE~⫌~supne~⊋~supplus~⫀~supset~⊃~supseteq~⊇~supseteqq~⫆~supsetneq~⊋~supsetneqq~⫌~supsim~⫈~supsub~⫔~supsup~⫖~swArr~⇙~swarhk~⤦~swarr~↙~swarrow~↙~swnwar~⤪~target~⌖~tbrk~⎴~tcaron~ť~tcedil~ţ~tcy~т~tdot~⃛~telrec~⌕~tfr~𝔱~therefore~∴~thetav~ϑ~thickapprox~≈~thicksim~∼~thkap~≈~thksim~∼~timesb~⊠~timesbar~⨱~timesd~⨰~tint~∭~toea~⤨~top~⊤~topbot~⌶~topcir~⫱~topf~𝕥~topfork~⫚~tosa~⤩~tprime~‴~triangle~▵~triangledown~▿~triangleleft~◃~trianglelefteq~⊴~triangleq~≜~triangleright~▹~trianglerighteq~⊵~tridot~◬~trie~≜~triminus~⨺~triplus~⨹~trisb~⧍~tritime~⨻~trpezium~⏢~tscr~𝓉~tscy~ц~tshcy~ћ~tstrok~ŧ~twixt~≬~twoheadleftarrow~↞~twoheadrightarrow~↠~uHar~⥣~ubrcy~ў~ubreve~ŭ~ucy~у~udarr~⇅~udblac~ű~udhar~⥮~ufisht~⥾~ufr~𝔲~uharl~↿~uharr~↾~uhblk~▀~ulcorn~⌜~ulcorner~⌜~ulcrop~⌏~ultri~◸~umacr~ū~uogon~ų~uopf~𝕦~uparrow~↑~updownarrow~↕~upharpoonleft~↿~upharpoonright~↾~uplus~⊎~upsi~υ~upuparrows~⇈~urcorn~⌝~urcorner~⌝~urcrop~⌎~uring~ů~urtri~◹~uscr~𝓊~utdot~⋰~utilde~ũ~utri~▵~utrif~▴~uuarr~⇈~uwangle~⦧~vArr~⇕~vBar~⫨~vBarv~⫩~vDash~⊨~vangrt~⦜~varepsilon~ϵ~varkappa~ϰ~varnothing~∅~varphi~ϕ~varpi~ϖ~varpropto~∝~varr~↕~varrho~ϱ~varsigma~ς~varsubsetneq~⊊︀~varsubsetneqq~⫋︀~varsupsetneq~⊋︀~varsupsetneqq~⫌︀~vartheta~ϑ~vartriangleleft~⊲~vartriangleright~⊳~vcy~в~vdash~⊢~vee~∨~veebar~⊻~veeeq~≚~vellip~⋮~verbar~|~vert~|~vfr~𝔳~vltri~⊲~vnsub~⊂⃒~vnsup~⊃⃒~vopf~𝕧~vprop~∝~vrtri~⊳~vscr~𝓋~vsubnE~⫋︀~vsubne~⊊︀~vsupnE~⫌︀~vsupne~⊋︀~vzigzag~⦚~wcirc~ŵ~wedbar~⩟~wedge~∧~wedgeq~≙~wfr~𝔴~wopf~𝕨~wp~℘~wr~≀~wreath~≀~wscr~𝓌~xcap~⋂~xcirc~◯~xcup~⋃~xdtri~▽~xfr~𝔵~xhArr~⟺~xharr~⟷~xlArr~⟸~xlarr~⟵~xmap~⟼~xnis~⋻~xodot~⨀~xopf~𝕩~xoplus~⨁~xotime~⨂~xrArr~⟹~xrarr~⟶~xscr~𝓍~xsqcup~⨆~xuplus~⨄~xutri~△~xvee~⋁~xwedge~⋀~yacy~я~ycirc~ŷ~ycy~ы~yfr~𝔶~yicy~ї~yopf~𝕪~yscr~𝓎~yucy~ю~zacute~ź~zcaron~ž~zcy~з~zdot~ż~zeetrf~ℨ~zfr~𝔷~zhcy~ж~zigrarr~⇝~zopf~𝕫~zscr~𝓏~~AMP~&~COPY~©~GT~>~LT~<~QUOT~"~REG~®',Qt.html4);var zt=function(){return zt=Object.assign||function(e){for(var i,n=1,t=arguments.length;n<t;n++){i=arguments[n];for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(e[o]=i[o])}return e},zt.apply(this,arguments)};zt(zt({},Qt),{all:Qt.html5});var Jr=/&(?:#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);/g,Pr=/&(?:#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+)[;=]?/g,Xh={xml:{strict:Jr,attribute:Pr,body:Or.xml},html4:{strict:Jr,attribute:Pr,body:Or.html4},html5:{strict:Jr,attribute:Pr,body:Or.html5}};zt(zt({},Xh),{all:Xh.html5});ly();const _h=(e,i)=>Object.hasOwn(e,i),Nr=(e,i)=>Object.assign(e,i),Zr=(e,i,n)=>{if(e.length===0)return[];let t=0;const o=s2.exec(e[0]);o&&(t=o[1].length);const a=String.raw`(\r\n|\r|\n).{0,${t}}`,s=new RegExp(a,"g"),r=i?e.slice(1):e,{newline:u,trimLeadingNewline:c,trimTrailingNewline:l}=n,d=typeof u=="string",g=r.length,h=Array.from({length:g});for(let p=0;p<g;p++){let v=r[p];v=v.replace(s,"$1"),p===0&&c&&(v=v.replace(t2,"")),p===g-1&&l&&(v=v.replace(o2,"")),d&&(v=v.replaceAll(u2,u)),h[p]=v}return h},iH=(e,i)=>{const n=Array.from({length:e.length+i.length});let t=0;const o=e.length;for(;t<o-1;t++)n[t*2]=e[t],n[t*2+1]=String(i[t]);return n[t*2]=e[t],n.join("")},nH=e=>_h(e,"raw")&&_h(e,"length"),tH=new WeakMap,E0=e=>{const i=e.cache!==!1,n=i?e.cacheStore??tH:void 0,t=e.newline!==void 0;function o(a,...s){if(nH(a)){const r=a,u=s.length;if(r.length===1&&r[0]==="")return"";if(u===0){if(i&&n&&!t){const g=n.get(r);if(g)return g[0]}const d=Zr(r,!1,e);return i&&n&&n.set(r,d),d[0]}const c=(s[0]===o||s[0]===oH)&&r2.test(r[0])&&a2.test(r[1]);let l;return i&&n&&!t&&(l=n.get(r)),l||(l=Zr(r,c,e),i&&n&&n.set(r,l)),iH(l,c?s.slice(1):s)}return E0(Nr(Nr({},e),a))}return Nr(o,{string(a){return a===""||!a?"":Zr([a],!1,e)[0]}})},oH=E0({cache:!0,newline:null,trimLeadingNewline:!0,trimTrailingNewline:!0}),aH=["\0","","","","","","","\x07","\b"," ",`
|
|
139
139
|
`,"\v","\f","\r","","","","","","","","","","","","","","\x1B","","","",""," ","!",'"',"#","$","%","&","'","(",")","*","+",",","-",".","/","0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","?","@","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","[","\\","]","^","_","`","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","{","|","}","~",void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0," ","!","C/","PS","$?","Y=","|","SS",'"',"(c)","a","<<","!",void 0,"(r)","-","deg","+-","2","3","'","u","P","*",",","1","o",">>","1/4","1/2","3/4","?","A","A","A","A","Ae","Aa","AE","C","E","E","E","E","I","I","I","I","D","N","O","O","O","O","Oe","x","Oe","U","U","U","Ue","U","Th","ss","a","a","a","a","ae","aa","ae","c","e","e","e","e","i","i","i","i","d","n","o","o","o","o","oe","/","oe","u","u","u","ue","y","th","y"],sH=Object.freeze(aH),rH=["A","a","A","a","A","a","C","c","C","c","C","c","C","c","D","d","D","d","E","e","E","e","E","e","E","e","E","e","G","g","G","g","G","g","G","g","H","h","H","h","I","i","I","i","I","i","I","i","I","i","IJ","ij","J","j","K","k","k","L","l","L","l","L","l","L","l","L","l","N","n","N","n","N","n","'n","NG","ng","O","o","O","o","O","o","OE","oe","R","r","R","r","R","r","S","s","S","s","S","s","S","s","T","t","T","t","T","t","U","u","U","u","U","u","U","u","U","u","U","u","W","w","Y","y","Y","Z","z","Z","z","Z","z","s","b","B","B","b","6","6","O","C","c","D","D","D","d","d","3","@","E","F","f","G","G","hv","I","I","K","k","l","l","W","N","n","O","O","o","OI","oi","P","p","YR","2","2","SH","sh","t","T","t","T","U","u","Y","V","Y","y","Z","z","ZH","ZH","zh","zh","2","5","5","ts","w","|","||","|=","!","DZ","Dz","dz","LJ","Lj","lj","NJ","Nj","nj","A","a","I","i","O","o","U","u","U","u","U","u","U","u","U","u","@","A","a","A","a","AE","ae","G","g","G","g","K","k","O","o","O","o","ZH","zh","j","DZ","D","dz","G","g","HV","W","N","n","A","a","AE","ae","O","o"],uH=Object.freeze(rH),cH=["A","a","A","a","E","e","E","e","I","i","I","i","O","o","O","o","R","r","R","r","U","u","U","u","S","s","T","t","Y","y","H","h","N","d","OU","ou","Z","z","A","a","E","e","O","o","O","o","O","o","O","o","Y","y","l","n","t","j","db","qp","A","C","c","L","T","s","z","?","?","B","U","V","E","e","J","j","Q","q","R","r","Y","y","a","a","a","b","o","c","d","d","e","@","@","e","e","e","e","j","g","g","g","g","u","Y","h","h","i","i","I","l","l","l","lZ","W","W","m","n","n","n","o","OE","O","F","R","R","R","R","r","r","R","R","R","s","S","j","S","S","t","t","U","U","v","^","W","Y","Y","z","z","Z","Z","?","?","?","C","@","B","E","G","H","j","k","L","q","?","?","dz","dZ","dz","ts","tS","tC","fN","ls","lz","WW","]]","h","h","k","h","j","r","r","r","r","w","y","'",'"',"`","'","`","`","'","?","?","<",">","^","V","^","V","'","-","/","\\",",","_","\\","/",":",".","`","'","^","V","+","-","V",".","@",",","~",'"',"R","X","G","l","s","x","?",void 0,void 0,void 0,void 0,void 0,void 0,void 0,"V","=",'"',void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0],lH=Object.freeze(cH),dH=[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,"'",",",void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,"?",void 0,void 0,void 0,void 0,void 0,void 0,void 0,"A",";","E","I","I",void 0,"O",void 0,"U","O","I","A","V","G","D","E","Z","I","Th","I","K","L","M","N","KS","O","P","R",void 0,"S","T","Y","F","H","Ps","O","I","Y","a","e","i","i","y","a","v","g","d","e","z","i","th","i","k","l","m","n","x","o","p","r","s","s","t","y","f","h","ps","o","i","y","o","y","o",void 0,"b","th","U","U","U","ph","p","&",void 0,void 0,"St","st","W","w","Q","q","Sp","sp","Sh","sh","F","f","Kh","kh","H","h","G","g","CH","ch","Ti","ti","k","r","c","j",void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0],gH=Object.freeze(dH),hH=["Jo","Yo","Dj","Gj","Ye","Dz","I","Yi","J","Lj","Nj","Tsh","Kj","I","U","Dzh","A","B","V","G","D","E","Zh","Z","I","Y","K","L","M","N","O","P","R","S","T","U","F","H","C","Ch","Sh","Shch",void 0,"Y",void 0,"E","Yu","Ya","a","b","v","g","d","e","zh","z","i","y","k","l","m","n","o","p","r","s","t","u","f","h","c","ch","sh","shch",void 0,"y",void 0,"e","yu","ya","je","yo","dj","gj","ie","dz","i","yi","j","lj","nj","tsh","kj","i","u","dz","O","o","E","e","Ie","ie","E","e","Ie","ie","O","o","Io","io","Ks","ks","Ps","ps","F","f","Y","y","Y","y","u","u","O","o","O","o","Ot","ot","Q","q","*1000*",void 0,void 0,void 0,void 0,void 0,"*100.000*","*1.000.000*",void 0,void 0,'"','"',"R'","r'","G","g'","G'","g'","G'","g'","Zh'","zh'","Z'","z'","K'","k'","K'","k'","K'","k'","K'","k'","N'","n'","Ng","ng","P'","p'","Kh","kh","S'","s'","T'","t'","U","u","U'","u'","Kh'","kh'","Tts","tts","Ch'","ch'","Ch'","ch'","H","h","Ch","ch","Ch'","ch'","`","Zh","zh","K'","k'",void 0,void 0,"N'","n'",void 0,void 0,"Ch","ch",void 0,void 0,void 0,"a","a","A","a","Ae","ae","Ie","ie","@","@","@","@","Zh","zh","Z","z","Dz","dz","I","i","I","i","O","o","O","o","O","o","E","e","U","u","U","u","U","u","Ch","ch",void 0,void 0,"Y","y",void 0,void 0,void 0,void 0,void 0,void 0],pH=Object.freeze(hH),fH=[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,"A","B","G","D","Ye","Z","E","E","T`","Zh","I","L","Kh","Ts","K","H","Dz","Gh","Ch","M","Y","N","Sh","O","Ch`","P","J","Rh","S","V","T","R","Ts`","W","P`","K`","O","F",void 0,void 0,"<","'","/","!",",","?",".",void 0,"a","b","g","d","e","z","e","e","t`","zh","i","l","kh","ts","k","h","dz","gh","ch","m","y","n","sh","o","ch`","p","j","rh","s","v","t","r","ts`","w","p`","k`","o","f","yev",void 0,".","-",void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,"@","e","a","o","i","e","e","a","a","o",void 0,"u","'",void 0,void 0,void 0,void 0,void 0,void 0,":",void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,"b","g","d","h","v","z","kh","t","y","k","k","l","m","m","n","n","s","`","p","p","ts","ts","q","r","sh","t",void 0,void 0,void 0,void 0,void 0,"V","oy","i","'",'"',void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0],vH=Object.freeze(fH),yH=[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,",",void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,";",void 0,void 0,void 0,"?",void 0,void 0,"a","'","w'",void 0,"y'",void 0,"b","@","t","th","j","H","kh","d","dh","r","z","s","sh","S","D","T","Z","aa","G",void 0,void 0,void 0,void 0,void 0,void 0,"f","q","k","l","m","n","h","w","~","y","an","un","in","a","u","i","W",void 0,void 0,"'","'",void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,"0","1","2","3","4","5","6","7","8","9","%",".",",","*",void 0,void 0,void 0,"'","'","'",void 0,"'","'w","'u","'y","t","tth","b","t","T","p","th","bh","'h","H","ny","dy","c","ch","cch","d","D","D","Dt","dh","ddh","d","D","D","rr","R","r","R","R","R","R","j","R","S","S","S","S","S","T","GH","F","F","F","v","f","ph","Q","Q","kh","k","g","K","ng","K","g","G","N","G","G","G","L","L","L","L","N","N","N","N","N","h","Ch","hy","h","H","@","W","oe","oe","u","yu","yu","W","v","y","Y","Y","W",void 0,void 0,"y","y'",".","ae",void 0,void 0,void 0,void 0,void 0,void 0,void 0,"@","#",void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,"^",void 0,void 0,void 0,void 0,void 0,void 0,"0","1","2","3","4","5","6","7","8","9","Sh","D","Gh","&","+m",void 0],mH=Object.freeze(yH),bH=["//","/",",","!","!","-",",",",",";","?","~","{","}","*",void 0,void 0,"'",void 0,"b","g","g","d","d","h","w","z","H","t","t","y","yh","k","l","m","n","s","s","`","p","p","S","q","r","sh","t",void 0,void 0,void 0,"a","a","a","A","A","A","e","e","e","E","i","i","u","u","u","o",void 0,"`","'",void 0,void 0,"X","Q","@","@","|","+",void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,"h","sh","n","r","b","L","k","'","v","m","f","dh","th","l","g","ny","s","d","z","t","y","p","j","ch","tt","hh","kh","th","z","sh","s","d","t","z","`","gh","q","w","a","aa","i","ee","u","oo","e","ey","o","oa",void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0],wH=Object.freeze(bH),kH=[void 0,"N","N","H",void 0,"a","aa","i","ii","u","uu","R","L","eN","e","e","ai","oN","o","o","au","k","kh","g","gh","ng","c","ch","j","jh","ny","tt","tth","dd","ddh","nn","t","th","d","dh","n","nnn","p","ph","b","bh","m","y","r","rr","l","l","lll","v","sh","ss","s","h",void 0,void 0,"'","'","aa","i","ii","u","uu","R","RR","eN","e","e","ai","oN","o","o","au",void 0,void 0,void 0,"AUM","'","'","`","'",void 0,void 0,void 0,"q","khh","ghh","z","dddh","rh","f","yy","RR","LL","L","LL"," / "," // ","0","1","2","3","4","5","6","7","8","9",".",void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,"N","N","H",void 0,"a","aa","i","ii","u","uu","R","RR",void 0,void 0,"e","ai",void 0,void 0,"o","au","k","kh","g","gh","ng","c","ch","j","jh","ny","tt","tth","dd","ddh","nn","t","th","d","dh","n",void 0,"p","ph","b","bh","m","y","r",void 0,"l",void 0,void 0,void 0,"sh","ss","s","h",void 0,void 0,"'",void 0,"aa","i","ii","u","uu","R","RR",void 0,void 0,"e","ai",void 0,void 0,"o","au",void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,"+",void 0,void 0,void 0,void 0,"rr","rh",void 0,"yy","RR","LL","L","LL",void 0,void 0,"0","1","2","3","4","5","6","7","8","9","r'","r`","Rs","Rs","1/","2/","3/","4/"," 1 - 1/","/16",void 0,void 0,void 0,void 0,void 0,void 0],jH=Object.freeze(kH),SH=[void 0,void 0,"N",void 0,void 0,"a","aa","i","ii","u","uu",void 0,void 0,void 0,void 0,"ee","ai",void 0,void 0,"oo","au","k","kh","g","gh","ng","c","ch","j","jh","ny","tt","tth","dd","ddh","nn","t","th","d","dh","n",void 0,"p","ph","b","bb","m","y","r",void 0,"l","ll",void 0,"v","sh",void 0,"s","h",void 0,void 0,"'",void 0,"aa","i","ii","u","uu",void 0,void 0,void 0,void 0,"ee","ai",void 0,void 0,"oo","au",void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,"khh","ghh","z","rr",void 0,"f",void 0,void 0,void 0,void 0,void 0,void 0,void 0,"0","1","2","3","4","5","6","7","8","9","N","H",void 0,void 0,"G.E.O.",void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,"N","N","H",void 0,"a","aa","i","ii","u","uu","R",void 0,"eN",void 0,"e","ai","oN",void 0,"o","au","k","kh","g","gh","ng","c","ch","j","jh","ny","tt","tth","dd","ddh","nn","t","th","d","dh","n",void 0,"p","ph","b","bh","m","ya","r",void 0,"l","ll",void 0,"v","sh","ss","s","h",void 0,void 0,"'","'","aa","i","ii","u","uu","R","RR","eN",void 0,"e","ai","oN",void 0,"o","au",void 0,void 0,void 0,"AUM",void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,"RR",void 0,void 0,void 0,void 0,void 0,"0","1","2","3","4","5","6","7","8","9",void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0],CH=Object.freeze(SH),LH=[void 0,"N","N","H",void 0,"a","aa","i","ii","u","uu","R","L",void 0,void 0,"e","ai",void 0,void 0,"o","au","k","kh","g","gh","ng","c","ch","j","jh","ny","tt","tth","dd","ddh","nn","t","th","d","dh","n",void 0,"p","ph","b","bh","m","y","r",void 0,"l","ll",void 0,void 0,"sh","ss","s","h",void 0,void 0,"'","'","aa","i","ii","u","uu","R",void 0,void 0,void 0,"e","ai",void 0,void 0,"o","au",void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,"+","+",void 0,void 0,void 0,void 0,"rr","rh",void 0,"yy","RR","LL",void 0,void 0,void 0,void 0,"0","1","2","3","4","5","6","7","8","9",void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,"N","H",void 0,"a","aa","i","ii","u","uu",void 0,void 0,void 0,"e","ee","ai",void 0,"o","oo","au","ka",void 0,void 0,void 0,"ng","c",void 0,"j",void 0,"ny","tt",void 0,void 0,void 0,"nn","t",void 0,void 0,void 0,"n","nn","p",void 0,void 0,void 0,"m","y","r","rr","l","ll","lll","v",void 0,"ss","s","h",void 0,void 0,void 0,void 0,"aa","i","ii","u","uu",void 0,void 0,void 0,"e","ee","ai",void 0,"o","oo","au",void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,"+",void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,"0","1","2","3","4","5","6","7","8","9","+10+","+100+","+1000+",void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0],xH=Object.freeze(LH),TH=[void 0,"N","N","H",void 0,"a","aa","i","ii","u","uu","R","L",void 0,"e","ee","ai",void 0,"o","oo","au","k","kh","g","gh","ng","c","ch","j","jh","ny","tt","tth","dd","ddh","nn","t","th","d","dh","n",void 0,"p","ph","b","bh","m","y","r","rr","l","ll",void 0,"v","sh","ss","s","h",void 0,void 0,void 0,void 0,"aa","i","ii","u","uu","R","RR",void 0,"e","ee","ai",void 0,"o","oo","au",void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,"+","+",void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,"RR","LL",void 0,void 0,void 0,void 0,"0","1","2","3","4","5","6","7","8","9",void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,"N","H",void 0,"a","aa","i","ii","u","uu","R","L",void 0,"e","ee","ai",void 0,"o","oo","au","k","kh","g","gh","ng","c","ch","j","jh","ny","tt","tth","dd","ddh","nn","t","th","d","dh","n",void 0,"p","ph","b","bh","m","y","r","rr","l","ll",void 0,"v","sh","ss","s","h",void 0,void 0,void 0,void 0,"aa","i","ii","u","uu","R","RR",void 0,"e","ee","ai",void 0,"o","oo","au",void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,"+","+",void 0,void 0,void 0,void 0,void 0,void 0,void 0,"lll",void 0,"RR","LL",void 0,void 0,void 0,void 0,"0","1","2","3","4","5","6","7","8","9",void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0],YH=Object.freeze(TH),DH=[void 0,void 0,"N","H",void 0,"a","aa","i","ii","u","uu","R","L",void 0,"e","ee","ai",void 0,"o","oo","au","k","kh","g","gh","ng","c","ch","j","jh","ny","tt","tth","dd","ddh","nn","t","th","d","dh","n",void 0,"p","ph","b","bh","m","y","r","rr","l","ll","lll","v","sh","ss","s","h",void 0,void 0,void 0,void 0,"aa","i","ii","u","uu","R",void 0,void 0,"e","ee","ai",void 0,"o","oo","au",void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,"+",void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,"RR","LL",void 0,void 0,void 0,void 0,"0","1","2","3","4","5","6","7","8","9",void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,"N","H",void 0,"a","aa","ae","aae","i","ii","u","uu","R","RR","L","LL","e","ee","ai","o","oo","au",void 0,void 0,void 0,"k","kh","g","gh","ng","nng","c","ch","j","jh","ny","jny","nyj","tt","tth","dd","ddh","nn","nndd","t","th","d","dh","n",void 0,"nd","p","ph","b","bh","m","mb","y","r",void 0,"l",void 0,void 0,"v","sh","ss","s","h","ll","f",void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,"aa","ae","aae","i","ii","u",void 0,"uu",void 0,"R","e","ee","ai","o","oo","au","L",void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,"RR","LL"," . ",void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0],$H=Object.freeze(DH),EH=[void 0,"k","kh","kh","kh","kh","kh","ng","cch","ch","ch","ch","ch","y","d","t","th","th","th","n","d","t","th","th","th","n","b","p","ph","f","ph","f","ph",void 0,void 0,"r","R","l","L","w","s","s","s",void 0,"l","`","h","~","a","a","aa","am","i","ia","ue","uue","u","uu","'",void 0,void 0,void 0,void 0,"Bh.",void 0,"ae","o","mai","ai","ao","+",void 0,void 0,void 0,void 0,void 0,void 0,"M",void 0," * ","0","1","2","3","4","5","6","7","8","9"," // "," /// ",void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,"k","kh",void 0,"kh",void 0,void 0,"ng","ch",void 0,"s",void 0,void 0,"ny",void 0,void 0,void 0,void 0,void 0,void 0,"d","h","th","th",void 0,"n","b","p","ph","f","ph","f",void 0,"m","y","r",void 0,"l",void 0,"w",void 0,void 0,"s","h",void 0,"`",void 0,"~","a",void 0,"aa","am","i","ii","y","yy","u","uu",void 0,"o","l","ny",void 0,void 0,"e","ei","o","ay","ai",void 0,"+",void 0,void 0,void 0,void 0,void 0,void 0,"M",void 0,void 0,"0","1","2","3","4","5","6","7","8","9",void 0,void 0,"hn","hm",void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0],BH=Object.freeze(EH),RH=["AUM",void 0,void 0,void 0,void 0,void 0,void 0,void 0," // "," * ",void 0,"-"," / "," / "," // "," -/ "," +/ "," X/ "," /XX/ "," /X/ ",",",void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,"0","1","2","3","4","5","6","7","8","9",".5","1.5","2.5","3.5","4.5","5.5","6.5","7.5","8.5","-.5","+","*","^","_",void 0,"~",void 0,"]","[[","]]",void 0,void 0,"k","kh","g","gh","ng","c","ch","j",void 0,"ny","tt","tth","dd","ddh","nn","t","th","d","dh","n","p","ph","b","bh","m","ts","tsh","dz","dzh","w","zh","z","'","y","r","l","sh","ssh","s","h","a","kss","r",void 0,void 0,void 0,void 0,void 0,void 0,"aa","i","ii","u","uu","R","RR","L","LL","e","ee","o","oo","M","H","i","ii",void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,"k","kh","g","gh","ng","c","ch","j",void 0,"ny","tt","tth","dd","ddh","nn","t","th","d","dh","n","p","ph","b","bh","m","ts","tsh","dz","dzh","w","zh","z","'","y","r","l","sh","ss","s","h","a","kss","w","y","r",void 0,"X"," :X: "," /O/ "," /o/ "," \\o\\ "," (O) ",void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0],OH=Object.freeze(RH),JH=["k","kh","g","gh","ng","c","ch","j","jh","ny","nny","tt","tth","dd","ddh","nn","tt","th","d","dh","n","p","ph","b","bh","m","y","r","l","w","s","h","ll","a",void 0,"i","ii","u","uu","e",void 0,"o","au",void 0,"aa","i","ii","u","uu","e","ai",void 0,void 0,void 0,"N","'",":",void 0,void 0,void 0,void 0,void 0,void 0,void 0,"0","1","2","3","4","5","6","7","8","9"," / "," // ","n*","r*","l*","e*","sh","ss","R","RR","L","LL","R","RR","L","LL",void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,"A","B","G","D","E","V","Z","T`","I","K","L","M","N","O","P","Zh","R","S","T","U","P`","K`","G'","Q","Sh","Ch`","C`","Z'","C","Ch","X","J","H","E","Y","W","Xh","OE",void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,"a","b","g","d","e","v","z","t","i","k","l","m","n","o","p","zh","r","s","t","u","p`","k`","gh","q","sh","ch`","c`","z'","c","ch","x","j","h","e","y","w","xh","oe","f",void 0,void 0,void 0,void 0," // ",void 0,void 0,void 0,void 0],PH=Object.freeze(JH),NH=["g","gg","n","d","dd","r","m","b","bb","s","ss",void 0,"j","jj","c","k","t","p","h","ng","nn","nd","nb","dg","rn","rr","rh","rN","mb","mN","bg","bn",void 0,"bs","bsg","bst","bsb","bss","bsj","bj","bc","bt","bp","bN","bbN","sg","sn","sd","sr","sm","sb","sbg","sss","s","sj","sc","sk","st","sp","sh",void 0,void 0,void 0,void 0,"Z","g","d","m","b","s","Z",void 0,"j","c","t","p","N","j",void 0,void 0,void 0,void 0,"ck","ch",void 0,void 0,"pb","pN","hh","Q",void 0,void 0,void 0,void 0,void 0,void 0,void 0,"a","ae","ya","yae","eo","e","yeo","ye","o","wa","wae","oe","yo","u","weo","we","wi","yu","eu","yi","i","a-o","a-u","ya-o","ya-yo","eo-o","eo-u","eo-eu","yeo-o","yeo-u","o-eo","o-e","o-ye","o-o","o-u","yo-ya","yo-yae","yo-yeo","yo-o","yo-i","u-a","u-ae","u-eo-eu","u-ye","u-u","yu-a","yu-eo","yu-e","yu-yeo","yu-ye","yu-u","yu-i","eu-u","eu-eu","yi-u","i-a","i-ya","i-o","i-u","i-eu","i-U","U","U-eo","U-u","U-i","UU",void 0,void 0,void 0,void 0,void 0,"g","gg","gs","n","nj","nh","d","l","lg","lm","lb","ls","lt","lp","lh","m","b","bs","s","ss","ng","j","c","k","t","p","h","gl","gsg","ng","nd","ns","nZ","nt","dg","tl","lgs","ln","ld","lth","ll","lmg","lms","lbs","lbh","rNp","lss","lZ","lk","lQ","mg","ml","mb","ms","mss","mZ","mc","mh","mN","bl","bp","ph","pN","sg","sd","sl","sb","Z","g","ss",void 0,"kh","N","Ns","NZ","pb","pN","hn","hl","hm","hb","Q",void 0,void 0,void 0,void 0,void 0,void 0],ZH=Object.freeze(NH),AH=["ha","hu","hi","haa","hee","he","ho",void 0,"la","lu","li","laa","lee","le","lo","lwa","hha","hhu","hhi","hhaa","hhee","hhe","hho","hhwa","ma","mu","mi","maa","mee","me","mo","mwa","sza","szu","szi","szaa","szee","sze","szo","szwa","ra","ru","ri","raa","ree","re","ro","rwa","sa","su","si","saa","see","se","so","swa","sha","shu","shi","shaa","shee","she","sho","shwa","qa","qu","qi","qaa","qee","qe","qo",void 0,"qwa",void 0,"qwi","qwaa","qwee","qwe",void 0,void 0,"qha","qhu","qhi","qhaa","qhee","qhe","qho",void 0,"qhwa",void 0,"qhwi","qhwaa","qhwee","qhwe",void 0,void 0,"ba","bu","bi","baa","bee","be","bo","bwa","va","vu","vi","vaa","vee","ve","vo","vwa","ta","tu","ti","taa","tee","te","to","twa","ca","cu","ci","caa","cee","ce","co","cwa","xa","xu","xi","xaa","xee","xe","xo",void 0,"xwa",void 0,"xwi","xwaa","xwee","xwe",void 0,void 0,"na","nu","ni","naa","nee","ne","no","nwa","nya","nyu","nyi","nyaa","nyee","nye","nyo","nywa","'a","'u",void 0,"'aa","'ee","'e","'o","'wa","ka","ku","ki","kaa","kee","ke","ko",void 0,"kwa",void 0,"kwi","kwaa","kwee","kwe",void 0,void 0,"kxa","kxu","kxi","kxaa","kxee","kxe","kxo",void 0,"kxwa",void 0,"kxwi","kxwaa","kxwee","kxwe",void 0,void 0,"wa","wu","wi","waa","wee","we","wo",void 0,"`a","`u","`i","`aa","`ee","`e","`o",void 0,"za","zu","zi","zaa","zee","ze","zo","zwa","zha","zhu","zhi","zhaa","zhee","zhe","zho","zhwa","ya","yu","yi","yaa","yee","ye","yo",void 0,"da","du","di","daa","dee","de","do","dwa","dda","ddu","ddi","ddaa","ddee","dde","ddo","ddwa"],MH=Object.freeze(AH),HH=["ja","ju","ji","jaa","jee","je","jo","jwa","ga","gu","gi","gaa","gee","ge","go",void 0,"gwa",void 0,"gwi","gwaa","gwee","gwe",void 0,void 0,"gga","ggu","ggi","ggaa","ggee","gge","ggo",void 0,"tha","thu","thi","thaa","thee","the","tho","thwa","cha","chu","chi","chaa","chee","che","cho","chwa","pha","phu","phi","phaa","phee","phe","pho","phwa","tsa","tsu","tsi","tsaa","tsee","tse","tso","tswa","tza","tzu","tzi","tzaa","tzee","tze","tzo",void 0,"fa","fu","fi","faa","fee","fe","fo","fwa","pa","pu","pi","paa","pee","pe","po","pwa","rya","mya","fya",void 0,void 0,void 0,void 0,void 0,void 0," ",".",",",";",":",":: ","?","//","1","2","3","4","5","6","7","8","9","10+","20+","30+","40+","50+","60+","70+","80+","90+","100+","10,000+",void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,"a","e","i","o","u","v","ga","ka","ge","gi","go","gu","gv","ha","he","hi","ho","hu","hv","la","le","li","lo","lu","lv","ma","me","mi","mo","mu","na","hna","nah","ne","ni","no","nu","nv","qua","que","qui","quo","quu","quv","sa","s","se","si","so","su","sv","da","ta","de","te","di","ti","do","du","dv","dla","tla","tle","tli","tlo","tlu","tlv","tsa","tse","tsi","tso","tsu","tsv","wa","we","wi","wo","wu","wv","ya","ye","yi","yo","yu","yv",void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0],IH=Object.freeze(HH),XH=[void 0,"ai","aai","i","ii","u","uu","oo","ee","i","a","aa","we","we","wi","wi","wii","wii","wo","wo","woo","woo","woo","wa","wa","waa","waa","waa","ai","w","'","t","k","sh","s","n","w","n",void 0,"w","c","?","l","en","in","on","an","pai","paai","pi","pii","pu","puu","poo","hee","hi","pa","paa","pwe","pwe","pwi","pwi","pwii","pwii","pwo","pwo","pwoo","pwoo","pwa","pwa","pwaa","pwaa","pwaa","p","p","h","tai","taai","ti","tii","tu","tuu","too","dee","di","ta","taa","twe","twe","twi","twi","twii","twii","two","two","twoo","twoo","twa","twa","twaa","twaa","twaa","t","tte","tti","tto","tta","kai","kaai","ki","kii","ku","kuu","koo","ka","kaa","kwe","kwe","kwi","kwi","kwii","kwii","kwo","kwo","kwoo","kwoo","kwa","kwa","kwaa","kwaa","kwaa","k","kw","keh","kih","koh","kah","gai","caai","gi","gii","gu","guu","coo","ga","gaa","cwe","cwe","cwi","cwi","cwii","cwii","cwo","cwo","cwoo","cwoo","cwa","cwa","cwaa","cwaa","cwaa","g","th","mai","maai","mi","mii","mu","muu","moo","ma","maa","mwe","mwe","mwi","mwi","mwii","mwii","mwo","mwo","mwoo","mwoo","mwa","mwa","mwaa","mwaa","mwaa","m","m","mh","m","m","nai","naai","ni","nii","nu","nuu","noo","na","naa","nwe","nwe","nwa","nwa","nwaa","nwaa","nwaa","n","ng","nh","lai","laai","li","lii","lu","luu","loo","la","laa","lwe","lwe","lwi","lwi","lwii","lwii","lwo","lwo","lwoo","lwoo","lwa","lwa","lwaa","lwaa","l","l","l","sai","saai","si","sii","su","suu","soo","sa","saa","swe","swe","swi","swi","swii","swii","swo","swo","swoo","swoo"],_H=Object.freeze(XH),FH=["swa","swa","swaa","swaa","swaa","s","s","sw","s","sk","skw","sW","spwa","stwa","skwa","scwa","she","shi","shii","sho","shoo","sha","shaa","shwe","shwe","shwi","shwi","shwii","shwii","shwo","shwo","shwoo","shwoo","shwa","shwa","shwaa","shwaa","sh","jai","yaai","ji","jii","ju","juu","yoo","ja","jaa","ywe","ywe","ywi","ywi","ywii","ywii","ywo","ywo","ywoo","ywoo","ywa","ywa","ywaa","ywaa","ywaa","j","y","y","yi","re","rai","le","raai","ri","rii","ru","ruu","lo","ra","raa","la","rwaa","rwaa","r","r","r","vai","faai","vi","vii","vu","vuu","va","vaa","fwaa","fwaa","v","the","the","thi","thi","thii","thii","tho","thoo","tha","thaa","thwaa","thwaa","th","tthe","tthi","ttho","ttha","tth","tye","tyi","tyo","tya","he","hi","hii","ho","hoo","ha","haa","h","h","hk","qaai","qi","qii","qu","quu","qa","qaa","q","tlhe","tlhi","tlho","tlha","re","ri","ro","ra","ngaai","ngi","ngii","ngu","nguu","nga","ngaa","ng","nng","she","shi","sho","sha","the","thi","tho","tha","th","lhi","lhii","lho","lhoo","lha","lhaa","lh","the","thi","thii","tho","thoo","tha","thaa","th","b","e","i","o","a","we","wi","wo","wa","ne","ni","no","na","ke","ki","ko","ka","he","hi","ho","ha","ghu","gho","ghe","ghee","ghi","gha","ru","ro","re","ree","ri","ra","wu","wo","we","wee","wi","wa","hwu","hwo","hwe","hwee","hwi","hwa","thu","tho","the","thee","thi","tha","ttu","tto","tte","ttee","tti","tta","pu","po","pe","pee","pi","pa","p","gu","go","ge","gee","gi","ga","khu","kho","khe","khee","khi","kha","kku","kko","kke","kkee","kki"],WH=Object.freeze(FH),GH=["kka","kk","nu","no","ne","nee","ni","na","mu","mo","me","mee","mi","ma","yu","yo","ye","yee","yi","ya","ju","ju","jo","je","jee","ji","ji","ja","jju","jjo","jje","jjee","jji","jja","lu","lo","le","lee","li","la","dlu","dlo","dle","dlee","dli","dla","lhu","lho","lhe","lhee","lhi","lha","tlhu","tlho","tlhe","tlhee","tlhi","tlha","tlu","tlo","tle","tlee","tli","tla","zu","zo","ze","zee","zi","za","z","z","dzu","dzo","dze","dzee","dzi","dza","su","so","se","see","si","sa","shu","sho","she","shee","shi","sha","sh","tsu","tso","tse","tsee","tsi","tsa","chu","cho","che","chee","chi","cha","ttsu","ttso","ttse","ttsee","ttsi","ttsa","X",".","qai","ngai","nngi","nngii","nngo","nngoo","nnga","nngaa",void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0," ","b","l","f","s","n","h","d","t","c","q","m","g","ng","z","r","a","o","u","e","i","ch","th","ph","p","x","p","<",">",void 0,void 0,void 0,"f","v","u","yr","y","w","th","th","a","o","ac","ae","o","o","o","oe","on","r","k","c","k","g","ng","g","g","w","h","h","h","h","n","n","n","i","e","j","g","ae","a","eo","p","z","s","s","s","c","z","t","t","d","b","b","p","p","e","m","m","m","l","l","ng","ng","d","o","ear","ior","qu","qu","qu","s","yr","yr","yr","q","x",".",":","+","17","18","19",void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0],QH=Object.freeze(GH),zH=[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,"k","kh","g","gh","ng","c","ch","j","jh","ny","t","tth","d","ddh","nn","t","th","d","dh","n","p","ph","b","bh","m","y","r","l","v","sh","ss","s","h","l","q","a","aa","i","ii","u","uk","uu","uuv","ry","ryy","ly","lyy","e","ai","oo","oo","au","a","aa","aa","i","ii","y","yy","u","uu","ua","oe","ya","ie","e","ae","ai","oo","au","M","H","a`",void 0,void 0,void 0,"r",void 0,"!",void 0,void 0,void 0,void 0,void 0,"."," // ",":","+","++"," * "," /// ","KR","'",void 0,void 0,void 0,"0","1","2","3","4","5","6","7","8","9",void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0],KH=Object.freeze(zH),VH=[" @ "," ... ",",",". ",": "," // ",void 0,"-",",",". ",void 0,void 0,void 0,void 0,void 0,void 0,"0","1","2","3","4","5","6","7","8","9",void 0,void 0,void 0,void 0,void 0,void 0,"a","e","i","o","u","O","U","ee","n","ng","b","p","q","g","m","l","s","sh","t","d","ch","j","y","r","w","f","k","kha","ts","z","h","zr","lh","zh","ch","-","e","i","o","u","O","U","ng","b","p","q","g","m","t","d","ch","j","ts","y","w","k","g","h","jy","ny","dz","e","i","iy","U","u","ng","k","g","h","p","sh","t","d","j","f","g","h","ts","z","r","ch","zh","i","k","r","f","zh",void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,"H","X","W","M"," 3 "," 333 ","a","i","k","ng","c","tt","tth","dd","nn","t","d","p","ph","ss","zh","z","a","t","zh","gh","ng","c","jh","tta","ddh","t","dh","ss","cy","zh","z","u","y","bh","'",void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0],UH=Object.freeze(VH),qH=["A","a","B","b","B","b","B","b","C","c","D","d","D","d","D","d","D","d","D","d","E","e","E","e","E","e","E","e","E","e","F","f","G","g","H","h","H","h","H","h","H","h","H","h","I","i","I","i","K","k","K","k","K","k","L","l","L","l","L","l","L","l","M","m","M","m","M","m","N","n","N","n","N","n","N","n","O","o","O","o","O","o","O","o","P","p","P","p","R","r","R","r","R","r","R","r","S","s","S","s","S","s","S","s","S","s","T","t","T","t","T","t","T","t","U","u","U","u","U","u","U","u","U","u","V","v","V","v","W","w","W","w","W","w","W","w","W","w","X","x","X","x","Y","y","Z","z","Z","z","Z","z","h","t","w","y","a","S",void 0,void 0,void 0,void 0,"A","a","A","a","A","a","A","a","A","a","A","a","A","a","A","a","A","a","A","a","A","a","A","a","E","e","E","e","E","e","E","e","E","e","E","e","E","e","E","e","I","i","I","i","O","o","O","o","O","o","O","o","O","o","O","o","O","o","O","o","O","o","O","o","O","o","O","o","U","u","U","u","U","u","U","u","U","u","U","u","U","u","Y","y","Y","y","Y","y","Y","y",void 0,void 0,void 0,void 0,void 0,void 0],e3=Object.freeze(qH),i3=["a","a","a","a","a","a","a","a","A","A","A","A","A","A","A","A","e","e","e","e","e","e",void 0,void 0,"E","E","E","E","E","E",void 0,void 0,"e","e","e","e","e","e","e","e","E","E","E","E","E","E","E","E","i","i","i","i","i","i","i","i","I","I","I","I","I","I","I","I","o","o","o","o","o","o",void 0,void 0,"O","O","O","O","O","O",void 0,void 0,"u","u","u","u","u","u","u","u",void 0,"U",void 0,"U",void 0,"U",void 0,"U","o","o","o","o","o","o","o","o","O","O","O","O","O","O","O","O","a","a","e","e","e","e","i","i","o","o","u","u","o","o",void 0,void 0,"a","a","a","a","a","a","a","a","A","A","A","A","A","A","A","A","e","e","e","e","e","e","e","e","E","E","E","E","E","E","E","E","o","o","o","o","o","o","o","o","O","O","O","O","O","O","O","O","a","a","a","a","a",void 0,"a","a","A","A","A","A","A","'","i","'","~",'"~',"e","e","e",void 0,"e","e","E","E","E","E","E","'`","''","'~","i","i","i","i",void 0,void 0,"i","i","I","I","I","I",void 0,"`'","`'","`~","u","u","u","u","R","R","u","u","U","U","U","U","R",'"`',`"'`,"`",void 0,void 0,"o","o","o",void 0,"o","o","O","O","O","O","O","'","`",void 0],n3=Object.freeze(i3),t3=[" "," "," "," "," "," "," "," "," "," "," "," ",void 0,void 0,void 0,void 0,"-","-","-","-","--","--","||","_","'","'",",","'",'"','"',",,",'"',"+","++","*","*>",".","..","...",".",`
|
|
140
140
|
`,`
|
|
141
141
|
|
|
@@ -218,7 +218,7 @@ ${Gr(v,{...this.#o,filterStacktrace:iu,hideErrorCauseCodeView:!0,hideErrorCodeVi
|
|
|
218
218
|
`))}}const oc=["bash","zsh","fish","powershell"],ac=["node","bun"],Jp=()=>Pk(globalThis)?"bun":"node",Pp=e=>{const i=e?.starshipShell??e?.shell;if(i){const o=i.toLowerCase();if(o.includes("zsh"))return"zsh";if(o.includes("bash"))return"bash";if(o.includes("fish"))return"fish"}const n=e?.psModulePath,t=e?.prompt;if(n||t?.includes("PS"))return"powershell";if(e?.comSpec?.toLowerCase().includes("cmd.exe"))return"bash"},L5=async()=>(await import("./index5.js")).default,x5=(e,i)=>{for(const n of i)n.hidden||(n.name&&e.option(n.name,n.description??""),n.alias&&e.option(n.alias,n.description??""))},T5=(e,i)=>{for(const[n,t]of i){if(t.name!==n||t.hidden)continue;const o=e.command(t.name,t.description??"");t.options&&x5(o,t.options)}},Y5=e=>{if(!oc.includes(e))throw new Kl(`Invalid shell type: ${e}`,"INVALID_SHELL",[`Valid shells are: ${oc.join(", ")}`,"Shell will be auto-detected if not specified"])},D5=e=>{if(e&&!ac.includes(e))throw new Kl(`Invalid runtime: ${e}`,"INVALID_RUNTIME",[`Valid runtimes are: ${ac.join(", ")}`,"Runtime will be auto-detected if not specified"])},$5=(e,i)=>{e.error("Could not detect current shell");const n=[`Usage: ${i} completion --shell=<bash|zsh|fish|powershell> [--runtime=<node|bun>]`,"","Examples:"," # Install completions for zsh:",` ${i} completion --shell=zsh > ~/.${i}-completion.zsh`,` echo 'source ~/.${i}-completion.zsh' >> ~/.zshrc`,""," # Install completions for bash with custom runtime:",` ${i} completion --shell=bash --runtime=bun > ~/.${i}-completion.bash`,` echo 'source ~/.${i}-completion.bash' >> ~/.bashrc`,""," # Install completions for fish:",` ${i} completion --shell=fish > ~/.config/fish/completions/${i}.fish`].join(`
|
|
219
219
|
`);e.info(n)},E5={description:"Generate shell completion scripts",env:[{description:"Shell path (Unix-like systems). Used for shell detection.",name:"SHELL",type:String},{description:"Starship shell configuration. Takes precedence over SHELL for detection.",name:"STARSHIP_SHELL",type:String},{description:"PowerShell module path (Windows). Used for PowerShell detection.",name:"PSModulePath",type:String},{description:"Command prompt variable (Windows). Used for PowerShell detection.",name:"PROMPT",type:String},{description:"Command processor (Windows). Used for Windows Command Prompt detection.",name:"ComSpec",type:String}],execute:async({env:e,logger:i,options:n,runtime:t})=>{const o=t.getCliName(),a=n.shell??Pp(e);if(!a){$5(i,o);return}try{Y5(a),D5(n.runtime);const s=await L5();T5(s,t.getCommands());const r=`${n.runtime??Jp()} ${o}`;s.setup(o,r,a)}catch(s){if(s instanceof Kl){const r=[`Failed to generate completion script: ${s.message}`,`Error code: ${s.code}`];throw s.troubleshooting.length>0&&r.push("","Troubleshooting:",...s.troubleshooting.map(u=>` • ${u}`)),i.error(r.join(`
|
|
220
220
|
`)),s}else{const r=["Failed to generate completion script",`Error: ${s instanceof Error?s.message:String(s)}`,"","Troubleshooting:"," • Ensure @bomb.sh/tab is installed: pnpm add @bomb.sh/tab",` • Verify shell is supported: ${oc.join(", ")}`,` • Verify runtime is supported: ${ac.join(", ")}`," • Check that your CLI name is correct"];i.error(r.join(`
|
|
221
|
-
`))}}},name:"completion",options:[{defaultOption:!0,defaultValue:Pp(),description:"Shell type (bash, zsh, fish, powershell). Defaults to current shell if detected.",name:"shell",type:String,typeLabel:"{underline shell}"},{defaultValue:Jp(),description:"JavaScript runtime (node, bun). Defaults to current runtime if detected.",name:"runtime",type:String,typeLabel:"{underline runtime}"}]},B5={alias:["v","V"],description:"Output the version number",execute:({logger:e,runtime:i})=>{const n=i.getPackageVersion();n===void 0?(e.warn("Unknown version"),e.debug("The version number was not provided by the cli constructor.")):e.info(n)},name:"version",options:[],usage:[]},R5={json:{defaultValue:!1,description:"Emit JSON instead of ASCII",type:Boolean},projects:{alias:"p",description:"Comma-separated list of projects to plan (same semantics as `vis run --projects`)",type:String},query:{description:"Filter matched projects by a query",type:String},tag:{description:'Only plan projects carrying one of these tags (repeatable, or comma-separated). Shorthand for --query="tag=…".',multiple:!0,type:String}},O5=D({argument:{description:"Target selector (same syntax as `vis run`): `build`, `:build`, `~:test`, `#tag:lint`, …",name:"selector",type:String},description:"Show the execution plan for a target without running it",examples:[["vis action-graph build","Print the task plan for `build` on every project"],["vis action-graph :test","Moon-style selector"],["vis action-graph build --json","Emit a JSON description of the plan"],['vis action-graph lint --query "tag=frontend"',"Filter projects by query"],["vis action-graph build --projects=@org/web","Plan only the named projects (same flag as `vis run`)"]],group:"Workspace",loader:()=>import("./handler2.js"),name:"action-graph",options:R5}),J5={"auto-install-peers":{defaultValue:!1,description:"After adding, recursively install non-optional peer dependencies that aren't already in the workspace (matches nypm's installPeerDependencies)",type:Boolean},exact:{alias:"E",defaultValue:!1,description:"Save exact version",type:Boolean},filter:{alias:"F",description:"Filter by workspace package name",multiple:!0,type:String},global:{alias:"g",defaultValue:!1,description:"Install globally (uses npm)",type:Boolean},"no-marshall-check":{defaultValue:!1,description:"Skip the offline marshall pipeline (author, provenance, metadata, downloads, expired-domains, new-bin, signatures, archived-repo)",type:Boolean},"no-socket-check":{defaultValue:!1,description:"Skip Socket.dev security check before adding",type:Boolean},"no-typosquat-check":{defaultValue:!1,description:"Skip typosquat name check before adding",type:Boolean},"run-scripts":{defaultValue:!1,description:"Run lifecycle scripts during add (opts out of vis's default block-by-default policy; allowlisted packages run via security.policies.installScripts.allow)",type:Boolean},"save-dev":{alias:"D",defaultValue:!1,description:"Add as dev dependency",type:Boolean},"save-optional":{alias:"O",defaultValue:!1,description:"Add as optional dependency",type:Boolean},"save-peer":{alias:"P",defaultValue:!1,description:"Add as peer dependency",type:Boolean},to:{description:"Target a single workspace package and auto-conform the version to existing catalogs / sibling deps (syncpack#285)",type:String},workspace:{defaultValue:!1,description:"Use workspace protocol (pnpm)",type:Boolean},"workspace-root":{alias:"w",defaultValue:!1,description:"Add to workspace root",type:Boolean}},P5=D({argument:{description:"Packages to add (e.g., react react-dom)",name:"packages",type:String},description:"Add packages using the detected package manager",examples:[["vis add react react-dom","Add packages"],["vis add -D typescript @types/react","Add as dev dependencies"],["vis add react --filter app","Add to specific workspace package"],["vis add react --to web","Add to one package, auto-conforming the version to existing catalogs / sibling deps"],["vis add -g typescript","Add globally (uses npm)"],["vis add lodash -w","Add to workspace root"],["vis add lodash --no-socket-check","Add without Socket.dev check"],["vis add lodash --no-typosquat-check","Skip typosquat name check"],["vis add lodash --no-marshall-check","Skip the offline marshall pipeline (author, downloads, etc.)"],["vis add lodash --run-scripts","Run lifecycle scripts (opts out of vis's default block-by-default policy)"]],group:"Dependencies",loader:()=>import("./handler15.js"),name:"add",options:J5}),Vl={description:"Override the cache DB path (defaults to <cache>/vis/advisories/db.sqlite via @visulima/find-cache-dir).",name:"db",type:String},ya={description:"Output format: table (default) or json.",name:"format",type:String},N5={commandPath:["advisories"],description:"Download and ingest one or more OSV ecosystem dumps into the local cache",examples:[["vis advisories sync","Sync the npm ecosystem (default)"],["vis advisories sync --ecosystem npm","Sync a single explicit ecosystem"],["vis advisories sync --ecosystem npm,PyPI","Sync several ecosystems in one pass"],["vis advisories sync --force","Re-download even when the ETag matches"],["vis advisories sync --source https://mirror.example.com","Use a corporate OSV mirror (must be in allowedHosts)"]],group:"Security & Health",loader:W(()=>import("./sync.js"),"advisoriesSyncExecute"),name:"sync",options:[{description:"Comma-separated list of ecosystems to sync (default: npm).",name:"ecosystem",type:String},{defaultValue:!1,description:"Re-download and re-ingest even if the upstream ETag is unchanged.",name:"force",type:Boolean},{description:"Override the advisory source URL. Must be https and resolve to an allowed host.",name:"source",type:String},Vl,ya]},Z5={commandPath:["advisories"],description:"Print the local advisory DB summary: path, schema version, ecosystems, row counts, last sync, ETag",examples:[["vis advisories status","Human-readable summary"],["vis advisories status --format json","Machine-readable for CI freshness checks"]],group:"Security & Health",loader:W(()=>import("./status.js"),"advisoriesStatusExecute"),name:"status",options:[Vl,ya]},A5={commandPath:["advisories"],description:"Delete the local advisory DB. The next `vis audit --offline` will fail until you re-sync",examples:[["vis advisories prune","Confirm and delete the local DB"],["vis advisories prune --force","Delete without confirmation"]],group:"Security & Health",loader:W(()=>import("./prune.js"),"advisoriesPruneExecute"),name:"prune",options:[Vl,{defaultValue:!1,description:"Skip the confirmation prompt.",name:"force",type:Boolean},ya]},Tb={description:"Override the bloom cache directory (defaults to <cache>/vis/osv-bloom/).",name:"cache-dir",type:String},M5={commandPath:["advisories","bloom"],description:"Fetch and verify the endevco/osv-bloom MAL-* prefilter into the local cache",examples:[["vis advisories bloom sync","Fetch the bloom filter from the default upstream"],["vis advisories bloom sync --force","Re-download even when the set digest matches"],["vis advisories bloom sync --source https://bloom.example.com","Use an internal mirror (must be in allowedHosts)"]],group:"Security & Health",loader:W(()=>import("./bloom-sync.js"),"advisoriesBloomSyncExecute"),name:"sync",options:[{defaultValue:!1,description:"Re-download and re-verify even when the upstream set digest is unchanged.",name:"force",type:Boolean},{description:"Override the bloom source URL. Must be https and resolve to an allowed host.",name:"source",type:String},Tb,ya]},H5={commandPath:["advisories","bloom"],description:"Print the local osv-bloom cache freshness: built-at, filter size, m/k parameters, set digest",examples:[["vis advisories bloom status","Human-readable summary"],["vis advisories bloom status --format json","Machine-readable for CI freshness checks"]],group:"Security & Health",loader:W(()=>import("./bloom-status.js"),"advisoriesBloomStatusExecute"),name:"status",options:[Tb,ya]},I5=[N5,Z5,A5,M5,H5],Ee=e=>{const{name:i,...n}=e;return{[`no-${i}`]:{description:`Disable --${i}.`,hidden:!0,type:Boolean},[i]:n}},X5={base:{description:"Git base ref for comparison. When omitted, vis auto-resolves it from the active CI provider (GitHub/GitLab/Buildkite/CircleCI) or falls back to `git merge-base HEAD origin/<defaultBase>` locally. Default base branch comes from `vis.config.ts#defaultBase` (or `main`).",type:String},head:{description:"Git head ref for comparison. When omitted, auto-resolves from CI env (e.g. `$GITHUB_SHA`) or defaults to `HEAD`.",type:String},...Ee({description:"Include uncommitted working-tree changes (tracked edits and untracked files) in the changed-file set. Defaults to on for local runs and off in CI; use --no-uncommitted to force off.",name:"uncommitted",type:Boolean}),downstream:{defaultValue:"deep",description:'Downstream scope: "none", "direct", or "deep" — controls how far to include dependents of changed projects',type:String},parallel:{defaultValue:3,description:"Maximum number of parallel tasks",type:Number},upstream:{defaultValue:"none",description:'Upstream scope: "none", "direct", or "deep" — controls how far to include dependencies of changed projects',type:String},...Ee({defaultValue:!0,description:"Enable caching (use --no-cache to disable)",name:"cache",type:Boolean}),"dry-run":{defaultValue:!1,description:"Show what would run without executing",type:Boolean},...Ee({defaultValue:!1,description:"Succeed quietly when the target, --query or tag selects no projects. Forwarded to `vis run`.",name:"if-present",type:Boolean}),partition:{description:'Partition tasks for distributed CI (e.g., "1/4" for first of four runners). Falls back to VIS_PARTITION env var.',type:String},query:{description:"Filter affected projects by a query (e.g. 'language=typescript && tag=lib')",type:String},reverse:{defaultValue:!1,description:"Run the dependency graph in reverse (leaves first, then their dependents). Useful for teardown targets like `destroy`/`undeploy` where dependents must run before the things they depend on.",type:Boolean},"runner-tags":{description:"Comma-separated tags this runner advertises (e.g. 'gpu,slow'). Forwarded verbatim to the downstream `vis run` so capability-gated tasks resolve identically. Falls back to VIS_RUNNER_TAGS env var.",type:String},"sparse-checkout":{defaultValue:!1,description:"Instead of running, print the affected project roots as a git sparse-checkout cone set (one path per line) and exit. Pipe into `git sparse-checkout set --stdin` to shrink huge-monorepo CI checkouts.",type:Boolean},tag:{description:'Only run affected projects carrying one of these tags (repeatable, or comma-separated). Shorthand for --query="tag=…"; combines with --query as AND.',multiple:!0,type:String}},_5=D({argument:{description:"The target to run (e.g., build, test, lint)",name:"target",type:String},description:"Run a target only on projects affected by recent changes",examples:[["vis affected build","Run build on affected projects"],["vis affected test --base=main","Run tests on projects changed since main"],["vis affected destroy --reverse","Tear down affected projects leaves-first"],["vis affected build --sparse-checkout","Print a git sparse-checkout cone set for the affected projects and exit"]],group:"Run & Execute",loader:()=>import("./handler3.js"),name:"affected",options:X5}),Yb={description:"Output format: table or json (default: table)",name:"format",type:String},F5={commandPath:["ai"],description:"List detected AI providers and show which one is selected",examples:[["vis ai providers","List all AI providers and their status"],["vis ai providers --format json","Output as JSON"]],group:"System",loader:W(()=>import("./handler50.js"),"aiProvidersExecute"),name:"providers",options:[Yb]},W5={},G5=D({commandPath:["ai"],description:"Test the best available AI provider with a quick prompt",examples:[["vis ai test","Test the selected provider"]],group:"System",loader:W(()=>import("./handler50.js"),"aiTestExecute"),name:"test",options:W5}),Q5={argument:{description:"Task ID to propose a fix for (e.g. @my/app:build)",name:"taskId",type:String},commandPath:["ai"],description:"Read a failed task's logs and propose a structured patch (Phase 1: local-only, no git)",examples:[["vis ai fix @myorg/app:build","Print proposed patch for the failed task"],["vis ai fix @myorg/app:build --apply","Apply the patch to disk after confirming"],["vis ai fix @myorg/app:build --format json","Machine-readable patch output"],["vis ai fix @myorg/app:build --run 2026-04-28T...","Inspect a specific historical run"]],group:"System",loader:W(()=>import("./handler50.js"),"aiFixExecute"),name:"fix",options:[Yb,{description:"Use a specific run ID from .vis/runs/ instead of the latest run",name:"run",type:String},{defaultValue:!1,description:"Apply the proposed patch to disk after printing it",name:"apply",type:Boolean},{defaultValue:!1,description:"Bypass the AI response cache",name:"no-cache",type:Boolean},{defaultValue:!1,description:"Skip the confirmation prompt before applying",name:"yes",type:Boolean}]},z5={},K5=D({description:"AI-assisted commands: provider detection and failure-fix proposals (cache management lives under `vis cache`)",examples:[["vis ai","List all AI subcommands"],["vis ai discover-help","Machine-readable subcommand catalogue (for AI agents)"]],group:"System",loader:W(()=>import("./handler50.js"),"aiRootExecute"),name:"ai",options:z5}),V5={},U5=D({commandPath:["ai"],description:"Print the machine-readable AI subcommand catalogue (JSON to stdout, designed for AI agents)",examples:[["vis ai discover-help","Emit the discovery payload as JSON"],["vis ai discover-help | jq '.subcommands[].path'","List all available paths"]],group:"System",loader:W(()=>import("./handler50.js"),"aiDiscoverHelpExecute"),name:"discover-help",options:V5}),q5={"dry-run":{defaultValue:!1,description:"Show the proposal and exit without applying or posting it",type:Boolean},"no-cache":{defaultValue:!1,description:"Bypass the AI response cache",type:Boolean},run:{description:"Use a specific run ID from .vis/runs/ instead of the latest run",type:String},"validation-timeout":{description:"Per-task validation timeout in seconds (default: 1800)",type:Number}},eG=D({commandPath:["ai"],description:"Diagnose the most recent failed task and post a structured patch as a PR/MR comment (or Buildkite annotation)",examples:[["vis ai heal","Heal the most recent failure"],["vis ai heal --dry-run","Propose a patch but skip apply / validate / post"],["vis ai heal --run 2026-04-28T...","Heal a specific historical run"]],group:"System",loader:W(()=>import("./heal.js").then(e=>e.h),"aiHeal"),name:"heal",options:q5}),iG={run:{description:"Use a specific run ID from .vis/runs/ instead of the latest run",type:String},"validation-timeout":{description:"Per-task validation timeout in seconds (default: 1800)",type:Number}},nG=D({commandPath:["ai","heal"],description:"Re-run the proposed fix and commit it to the PR/MR branch when validation passes",examples:[["vis ai heal accept","Triggered automatically by a `/vis heal accept` PR comment (GitHub/GitLab) or a Buildkite block-step unblock"]],group:"System",loader:W(()=>import("./heal-accept.js"),"aiHealAccept"),name:"accept",options:iG}),Db=[K5,U5,F5,G5,Q5,eG,nG],oie=Object.defineProperty({__proto__:null,default:Db},Symbol.toStringTag,{value:"Module"}),tG={"ai-type":{description:"AI analysis type: impact, security, compatibility, or recommend (default: impact)",type:String},format:{description:"Output format: table or json (default: table)",type:String},security:{defaultValue:!1,description:"Check for known security vulnerabilities",type:Boolean}},oG=D({argument:{description:"Package name to analyze (e.g., react)",name:"package",required:!0,type:String},description:"Analyze a single package update with AI",examples:[["vis analyze react","Analyze updating react to latest"],["vis analyze react 19.0.0","Analyze updating react to specific version"],["vis analyze react --ai-type security","Run security-focused analysis"],["vis analyze react --format json","Output as JSON"]],group:"System",loader:()=>import("./handler4.js"),name:"analyze",options:tG}),aG={all:{defaultValue:!1,description:"Approve all pending builds without prompting (pnpm only)",type:Boolean},scan:{defaultValue:!1,description:"Force vis scanning even for pnpm (instead of delegating)",type:Boolean},"sync-native":{defaultValue:!1,description:"Sync allowBuilds to native PM config (bun: trustedDependencies, npm: .npmrc, yarn: .yarnrc.yml)",type:Boolean},write:{defaultValue:!1,description:"Write unapproved entries directly into vis.config.ts security.policies.installScripts.allow (LavaMoat 'auto' parity)",type:Boolean}},sG=D({description:"Review and approve dependencies with build scripts",examples:[["vis approve-builds","Scan and list unapproved build scripts"],["vis approve-builds --all","Approve all pending builds (pnpm)"],["vis approve-builds --write","Write unapproved entries into vis.config.ts security.policies.installScripts.allow"],["vis approve-builds --sync-native","Sync allowBuilds to native PM config"]],group:"Security & Health",loader:()=>import("./handler51.js"),name:"approve-builds",options:aG}),$b={description:"Output format: table, json, or ndjson (default: table). json/ndjson go to stdout, logs to stderr.",name:"format",type:String},rG={commandPath:["attest"],description:"Verify inbound provenance + registry signatures across the locked dependency graph and gate on regressions",examples:[["vis attest verify","Check every locked dep for provenance regressions and signature problems"],["vis attest verify --prod-only","Skip devDependencies"],["vis attest verify --format json","Machine-readable findings for CI (Axis A)"],["vis attest verify --fail-on error","Exit non-zero only on error-severity findings (default: any finding)"]],group:"Security & Health",loader:W(()=>import("./handler5.js"),"attestVerifyExecute"),name:"verify",options:[$b,{defaultValue:!1,description:"Skip devDependencies — verify the production graph only.",name:"prod-only",type:Boolean},{description:"Severity that triggers a non-zero exit: 'warning' (any finding, default) or 'error'.",name:"fail-on",type:String},{description:"Comma-separated package names to exclude from both marshalls.",name:"allowlist",type:String}]},uG={argument:{description:"Path to the built artifact to attest (e.g. dist/app.tgz). Its sha256 becomes the in-toto subject digest.",name:"subject",type:String},description:"Build an in-toto SLSA v1 provenance statement for an artifact and keyless-sign it via Sigstore",examples:[["vis attest dist/app.tgz","Emit dist/app.tgz.sigstore (keyless-signed in CI)"],["vis attest dist/app.tgz --output attest.sigstore","Write the bundle to a specific path"],["vis attest dist/app.tgz --predicate slsaProvenance","Predicate type (default: slsaProvenance)"],["vis attest dist/app.tgz --require-signing","Fail instead of skip-with-warn when no ambient OIDC (outside CI)"],["vis attest dist/app.tgz --format json","Print the signed bundle summary as JSON (Axis A)"]],group:"Security & Health",loader:W(()=>import("./handler5.js"),"attestEmitExecute"),name:"attest",options:[$b,{description:"Write the serialized Sigstore bundle here (default: <subject>.sigstore).",name:"output",type:String},{description:"Predicate type: 'slsaProvenance' (default, https://slsa.dev/provenance/v1).",name:"predicate",type:String},{defaultValue:!1,description:"Error instead of skip-with-warn when no ambient OIDC token is available (i.e. outside CI).",name:"require-signing",type:Boolean}]},cG=[uG,rG],lG={"allow-major":{defaultValue:!1,description:"Allow --fix to bump a direct dep across a major version when the lowest fix is outside the existing range",type:Boolean},backend:{description:"Audit backend: 'auto' (default, delegates to 'aube audit' when aube is the installer), 'aube' (force delegate), or 'vis' (always use vis's OSV/Socket scanner).",type:String},db:{description:"Override the offline advisory DB path (default: <cache>/vis/advisories/db.sqlite).",type:String},ecosystem:{description:"Comma-separated list of OSV ecosystems to scan (default: npm). Supported: npm, pypi, crates.io (or 'cargo'), maven, go, hex, rubygems. Non-npm ecosystems require --offline (online OSV path is npm-only).",type:String},"exit-code":{defaultValue:!1,description:"Exit with code 1 if any issues found (for CI)",type:Boolean},explain:{description:"Add a plain-English AI explanation to findings. Bare flag explains all findings at/above --severity; pass a finding index (e.g. 2) or a CVE/GHSA id to explain just one. Auto-detects an installed AI CLI; mutually exclusive with --offline.",type:String},"fail-on":{description:"Exit non-zero when any finding is at this severity or higher. One of: low, medium, high, critical.",type:String},fix:{defaultValue:!1,description:"Apply direct-dep fixes for vulnerable packages by running the active PM update command, then rescan",type:Boolean},"fix-transitive":{defaultValue:!1,description:"Apply transitive fixes by writing PM-specific overrides (pnpm-workspace.yaml / package.json overrides / resolutions)",type:Boolean},format:{description:"Output format: table, json, sarif, csaf, cyclonedx-vex, gitlab, or junit (default: table)",type:String},offline:{defaultValue:!1,description:"Query the local OSV advisory cache only — no network calls. Errors if the cache is missing.",type:Boolean},policies:{description:"Comma-separated list of supply-chain policies to evaluate (default: every configured policy). Use 'none' to skip the engine entirely, 'all' to force the full set. Known: malware, firstSeen, unexpectedDeps, publisherChange, installScripts, score, vulnerability, license.",type:String},"prod-only":{defaultValue:!1,description:"Skip devDependencies — scan production graph only.",type:Boolean},report:{description:"Write a self-contained HTML report to this path. Auto-opens in a TTY when not in CI.",type:String},severity:{description:"Minimum severity to report: low, medium, high, critical (default: low)",type:String},"show-accepted":{defaultValue:!1,description:"Include acknowledged (accepted risk) issues in output",type:Boolean},"show-fixes":{defaultValue:!1,description:"Print fix-suggestion lines for each finding (no apply, no rescan)",type:Boolean},sync:{defaultValue:!1,description:"Sync vis accepted risks to native PM config (pnpm-workspace.yaml / .yarnrc.yml)",type:Boolean},...Ee({description:"Only report vulnerabilities in statically-imported packages (reachability filter).",name:"usage",type:Boolean}),yes:{defaultValue:!1,description:"Skip confirmation prompt for --fix / --fix-transitive (required in CI)",type:Boolean}},dG=D({description:"Audit installed packages for vulnerabilities and supply chain risks",examples:[["vis audit","Full audit of all installed packages"],["vis audit --severity high","Show only high/critical issues"],["vis audit --format json","Output as JSON for CI integration"],["vis audit --format sarif","Output SARIF 2.1.0 for code-scanning uploads"],["vis audit --format csaf","Output CSAF 2.0 csaf_vex for enterprise vuln pipelines"],["vis audit --format cyclonedx-vex","Output a CycloneDX 1.7 BOM with vulnerabilities[] (SBOM + VEX)"],["vis audit --format gitlab","Output a GitLab dependency-scanning report (gl-dependency-scanning.json)"],["vis audit --format junit","Output a Surefire-compatible JUnit XML report"],["vis audit --report report.html","Write a self-contained HTML report to ./report.html"],["vis audit --usage","Only report vulnerabilities in statically-imported packages"],["vis audit --offline","Query the local OSV cache only (no network)"],["vis audit --offline --db ./vendor.sqlite","Use a specific advisory DB"],["vis audit --ecosystem npm,pypi","Scan multiple OSV ecosystems (npm, pypi, crates.io, maven, go, rubygems)"],["vis audit --prod-only","Skip devDependencies"],["vis audit --fail-on high","Exit non-zero on any high or critical finding"],["vis audit --show-fixes","Print fix-suggestion lines (no apply, no rescan)"],["vis audit --fix","Apply direct-dep upgrades for vulnerable packages, then rescan (dry-run preview by default)"],["vis audit --fix --yes","Skip the confirmation prompt and run the upgrades immediately"],["vis audit --fix --allow-major","Permit major-version bumps when the lowest fix is outside the existing range"],["vis audit --fix-transitive","Write PM-specific overrides for vulnerable transitives (dry-run preview by default)"],["vis audit --exit-code","Exit with code 1 if issues found (for CI)"],["vis audit --show-accepted","Include acknowledged risks in output"],["vis audit --sync","Sync accepted risks to native PM config (pnpm-workspace.yaml / .yarnrc.yml)"],["vis audit --policies license,vulnerability","Run only the named policies (default: every configured policy)"],["vis audit --policies none","Skip the policy engine entirely"],["vis audit --explain","Add a plain-English AI explanation under every finding (auto-detects an installed AI CLI)"],["vis audit --explain CVE-2021-23337","Explain only the finding with this CVE/GHSA id"],["vis audit --explain 2","Explain only the 2nd finding"]],group:"Security & Health",loader:()=>import("./handler73.js"),name:"audit",options:lG}),ma={description:"Cache directory (overrides config and default). Relative paths are resolved against the workspace root.",name:"cache-dir",type:String},sr={description:"Cache scope: 'shared' (default — main worktree's cache), 'worktree' (this checkout's local cache), or 'all' (both)",name:"scope",type:String},Eb={description:"Cache type: 'task' (workspace task cache), 'ai' (AI response cache), 'socket' (Socket.dev reports), 'deps-dev' (Google deps.dev reports), or 'all' (default)",name:"type",type:String},gG={commandPath:["cache"],description:"List all cache entries",examples:[["vis cache list","List all cache entries"]],group:"Workspace",loader:W(()=>Promise.resolve().then(()=>vt),"cacheListExecute"),name:"list",options:[ma,sr,{description:"Output format: table or json (default: table)",name:"format",type:String}]},hG={commandPath:["cache"],description:"Remove cache entries (defaults to all stores: workspace task cache, AI responses, Socket.dev reports)",examples:[["vis cache clean","Remove all cache entries from every store"],["vis cache clean --type=ai","Clear only the AI response cache"],["vis cache clean --type=task","Clear only the workspace task cache"],["vis cache clean --dry-run","Preview what clean would remove"]],group:"Workspace",loader:W(()=>Promise.resolve().then(()=>vt),"cacheCleanExecute"),name:"clean",options:[ma,Eb,{defaultValue:!1,description:"Preview without deleting",name:"dry-run",type:Boolean},{defaultValue:!1,description:"Skip the confirmation prompt for out-of-workspace cache directories",name:"force",type:Boolean}]},pG={commandPath:["cache"],description:"Remove old and oversized cache entries",examples:[["vis cache prune","Remove old and oversized entries"],["vis cache prune --max-age-days=3 --max-size=500MB","Prune with custom limits"],["vis cache prune --keep-last=30","Keep only the 30 most recent entries"]],group:"Workspace",loader:W(()=>Promise.resolve().then(()=>vt),"cachePruneExecute"),name:"prune",options:[ma,sr,{description:"Remove entries older than N days",name:"max-age-days",type:Number},{description:"Evict oldest entries until cache is under this size (e.g. 500MB)",name:"max-size",type:String},{description:"Keep only the N most recent entries (sorted newest-first by mtime)",name:"keep-last",type:Number}]},fG={commandPath:["cache"],description:"Print on-disk footprint and stats for one or more cache stores (task / ai / socket)",examples:[["vis cache size","Show stats for every cache store"],["vis cache size --type=ai","Show only the AI response cache (entries, size, oldest, newest)"],["vis cache size --type=task --format=json","Machine-readable task cache size"]],group:"Workspace",loader:W(()=>Promise.resolve().then(()=>vt),"cacheSizeExecute"),name:"size",options:[ma,sr,Eb,{description:"Output format: table or json (default: table)",name:"format",type:String}]},Ul={description:"Output format: table or json (default: table)",name:"format",type:String},Bb={description:"Use a specific run ID from .vis/runs/ instead of the latest run",name:"run",type:String},vG={argument:{description:"Task ID to explain (e.g. @my/app:build)",name:"taskId",type:String},commandPath:["cache"],description:"Explain why a task missed the cache by diffing hash inputs against the previous run",examples:[["vis cache why @myorg/app:build","Show which inputs changed since the last run"],["vis cache why @myorg/app:build --json","Machine-readable output for CI"],["vis cache why @myorg/app:build --run 2026-04-28T...","Inspect a specific historical run"]],group:"Workspace",loader:W(()=>Promise.resolve().then(()=>vt),"cacheWhyExecute"),name:"why",options:[Ul,Bb]},yG={argument:{description:"Task ID to print the hash for (e.g. @my/app:build)",name:"taskId",type:String},commandPath:["cache"],description:"Print the recorded hash and per-input hash details for a task",examples:[["vis cache hash @myorg/app:build","Show the resolved hash + contributing inputs"],["vis cache hash @myorg/app:build --json","Machine-readable output"]],group:"Workspace",loader:W(()=>Promise.resolve().then(()=>vt),"cacheHashExecute"),name:"hash",options:[Ul,Bb]},mG={argument:{description:"Task ID to verify (e.g. @my/app:build)",name:"taskId",type:String},commandPath:["cache"],description:"Verify cache restore fidelity: extract the cached entry into a tmp directory and diff each file's content, mode, and mtime against the live workspace. Exits 1 on any drift (changed content, mode, mtime) or if a cached output is missing from the workspace. With --scope=all, the first cache directory containing the task is used.",examples:[["vis cache verify @myorg/app:build","Diff cached outputs vs live workspace files"],["vis cache verify @myorg/app:build --format=json","Machine-readable diff (status: ok | drift)"],["vis cache verify @myorg/app:build --cache-dir=.alt-cache","Verify against a non-default cache directory"],["vis cache verify @myorg/app:build --scope=all","Search shared and worktree caches for the task"]],group:"Workspace",loader:W(()=>Promise.resolve().then(()=>vt),"cacheVerifyExecute"),name:"verify",options:[ma,sr,Ul]},bG={backend:{description:"Override backend selector: 'http' or 'reapi'",type:String},format:{description:"Output format: table or json (default: table)",type:String},timeout:{defaultValue:5e3,description:"Probe timeout in milliseconds (default: 5000)",type:Number},url:{description:"Override remote cache URL (otherwise read from vis.config.ts remoteCache.url, or TURBO_API env var)",type:String}},wG=D({commandPath:["cache"],description:"Probe the configured remote cache (HTTP HEAD or REAPI Capabilities) and report reachability, latency, and negotiated capabilities",examples:[["vis cache doctor","Probe the remoteCache configured in vis.config.ts"],["vis cache doctor --url=grpcs://cache.example.com:443 --backend=reapi","Override URL/backend ad-hoc"],["vis cache doctor --json","Machine-readable output"]],group:"Workspace",loader:W(()=>import("./doctor-probe.js"),"cacheDoctorExecute"),name:"doctor",options:bG}),kG=[gG,hG,pG,fG,vG,yG,mG,wG],jG={ai:{defaultValue:!1,description:"Run AI analysis on outdated packages",type:Boolean},"ai-type":{description:"AI analysis type: impact, security, compatibility, or recommend",type:String},dev:{alias:"D",conflicts:"prod",description:"Check only devDependencies (npm/yarn mode)",type:Boolean},exclude:{description:"Glob pattern to exclude packages (repeatable)",lazyMultiple:!0,type:String},"exit-code":{defaultValue:!1,description:"Exit with code 1 if outdated dependencies found (for CI)",type:Boolean},format:{description:"Output format: table, json, or minimal (default: table)",type:String},include:{description:"Glob pattern to include packages (repeatable)",lazyMultiple:!0,type:String},"include-internal":{defaultValue:!1,description:"Also check workspace-owned package names against the registry",type:Boolean},"no-security":{defaultValue:!1,description:"Skip security vulnerability scanning",type:Boolean},peer:{defaultValue:!1,description:"Include peerDependencies in outdated checks",type:Boolean},prerelease:{defaultValue:!1,description:"Include prerelease versions",type:Boolean},prod:{alias:"P",conflicts:"dev",description:"Check only dependencies (npm/yarn mode)",type:Boolean},"security-config":{defaultValue:!1,description:"Audit supply chain security settings",type:Boolean},sync:{defaultValue:!1,description:"Sync security settings to pnpm-workspace.yaml (pnpm only, requires --security-config)",type:Boolean},target:{alias:"t",description:"Update target: latest, minor, or patch (default: latest)",type:String}},SG=D({alias:["c","outdated"],argument:{description:"Specific packages to check (checks all if omitted)",name:"packages",type:String},description:"Check for outdated dependencies, security vulnerabilities, and supply chain settings",examples:[["vis check","Check all catalog dependencies"],["vis check react","Check specific packages"],["vis check --target minor","Only show minor/patch updates"],["vis check --exclude '@types/*'","Exclude packages by pattern"],["vis check --no-security","Skip vulnerability scanning"],["vis check --security-config","Audit supply chain security settings"],["vis check --security-config --sync","Sync security config to pnpm-workspace.yaml"]],group:"Security & Health",loader:()=>import("./handler6.js"),name:"check",options:jG}),CG={...Ee({defaultValue:!0,description:"Install dependencies before running targets (use --no-install to skip)",name:"install",type:Boolean}),base:{description:"Git base ref for affected detection (default: auto-detected from CI env)",type:String},downstream:{defaultValue:"deep",description:"Downstream scope: none | direct | deep",type:String},head:{description:"Git head ref for affected detection (default: HEAD)",type:String},...Ee({defaultValue:!1,description:"Succeed quietly when a target or --query selects no projects (forwarded to `vis run`)",name:"if-present",type:Boolean}),parallel:{defaultValue:4,description:"Maximum number of parallel tasks per target",type:Number},partition:{description:'Partition tasks for distributed CI (e.g., "1/4")',type:String},query:{description:"Filter affected projects by a query (e.g. 'language=typescript && tag=lib')",type:String},"skip-toolchain":{defaultValue:!1,description:"Skip the toolchain pre-flight (no auto-install for any pinned tool: node / pnpm / yarn / npm / bun / go / python / ruby / rust)",type:Boolean},upstream:{defaultValue:"none",description:"Upstream scope: none | direct | deep",type:String}},LG=D({argument:{description:"Comma-separated list of targets to run (e.g., lint,test,build)",name:"targets",type:String},description:"Run affected targets in a CI-optimized pipeline",examples:[["vis ci lint,test,build","Run lint, test, and build on affected projects"],["vis ci test --base=origin/main","Override the base ref"],["vis ci build --no-install","Skip the install step (assume deps already present)"],["vis ci build --parallel=6","Increase concurrency"]],group:"Run & Execute",loader:()=>import("./handler7.js"),name:"ci",options:CG}),xG={base:{description:"Git base ref for comparison. Defaults to CI provider env vars, then HEAD~1.",type:String},downstream:{defaultValue:"deep",description:'Downstream scope: "none", "direct", or "deep"',type:String},"exit-zero-on-build":{defaultValue:!1,description:"Exit 0 on build (normal semantics) instead of 1 (inverted Vercel/Netlify semantics)",type:Boolean},head:{defaultValue:"HEAD",description:"Git head ref for comparison",type:String},json:{defaultValue:!1,description:"Emit the decision as JSON on stdout instead of human text",type:Boolean},upstream:{defaultValue:"none",description:'Upstream scope: "none", "direct", or "deep"',type:String},verbose:{defaultValue:!1,description:"Enable verbose debug output",type:Boolean}},TG=D({argument:{description:"Project name to check (required)",name:"project",type:String},commandPath:["ci"],description:'Exit with inverted codes for CI "Ignored Build Step" gating (Vercel/Netlify)',examples:[["vis ci ignore my-app","Check if my-app is affected and decide whether to build"],["vis ci ignore my-app --base $VERCEL_GIT_PREVIOUS_SHA","Explicit base ref"],["vis ci ignore my-app --json","Emit the decision as JSON instead of text"],["vis ci ignore my-app --verbose","Print debug info about the decision path"],["vis ci ignore my-app --exit-zero-on-build","Normal exit semantics (0=build, 0=skip)"]],group:"Run & Execute",loader:()=>import("./handler52.js"),name:"ignore",options:xG}),YG={"dry-run":{defaultValue:!1,description:"Preview what would be removed without deleting",type:Boolean},"empty-packages":{alias:"e",defaultValue:!1,description:"Also remove stale workspace directories that match a workspace pattern but have no package.json",type:Boolean},lockfile:{alias:"l",defaultValue:!1,description:"Also remove lockfiles (pnpm-lock.yaml, package-lock.json, etc.)",type:Boolean}},DG=D({description:"Remove node_modules from all workspace projects",examples:[["vis clean","Remove all node_modules directories"],["vis clean --lockfile","Also remove lockfiles"],["vis clean --empty-packages","Also remove workspace directories that have no package.json"],["vis clean --dry-run","Preview what would be removed"]],group:"Workspace",loader:()=>import("./handler8.js"),name:"clean",options:YG}),$G={editor:{description:"Generate editor configs (vscode)",type:String},"git-init":{defaultValue:!1,description:"Initialize a git repository",type:Boolean},list:{defaultValue:!1,description:"Show available templates",type:Boolean},"no-interactive":{defaultValue:!1,description:"Skip interactive prompts",type:Boolean}},EG=D({argument:{description:"Template to use (e.g., vis:app, create-vite, user/repo) — omit for interactive mode",name:"template",type:String},description:"Create a new project from a template",examples:[["vis create","Interactive project scaffolding"],["vis create vis:monorepo my-workspace","Create a monorepo workspace"],["vis create vis:app my-app","Scaffold a Vite application"],["vis create vis:library my-lib","Create a TypeScript library"],["vis create vite my-app -- --template react-ts","Use create-vite with React TypeScript"],["vis create user/repo my-project","Clone a GitHub template"],["vis create --list","Show available templates"]],group:"Scaffold & Config",loader:()=>import("./handler71.js"),name:"create",options:$G}),Rb=(e,i,n)=>{const t=a=>bc(a)?a:Wt(e,a);if(i&&i.length>0)return t(i);if(n&&n.length>0)return t(n);const o=process.env.VIS_CACHE_DIRECTORY;return o&&o.length>0?t(o):Wt(e,mf)},BG=(e,i)=>i===!1?e:Xk(e)??e,Np=(e,i,n,t)=>{const o=i??n??process.env.VIS_CACHE_DIRECTORY;if(o&&o.length>0)return Rb(e,i,n);const a=BG(e,t);return Wt(a,mf)},RG=/[^\w.-]+/g,OG=/^-+|-+$/g,JG=e=>e.trim().replaceAll(RG,"-").replaceAll(OG,"").slice(0,64),PG=e=>{try{const i=Ck("git",["rev-parse","--abbrev-ref","HEAD"],{cwd:e,encoding:"utf8",stdio:["ignore","pipe","ignore"]}).trim();return!i||i==="HEAD"?void 0:i}catch{return}},Zp=(e,i,n)=>{if(n!==!0)return e;const t=PG(i);if(!t)return e;const o=JG(t);return o.length===0?e:Wt(e,"branches",o)},NG=(e,i)=>{const n=oa(i,e);return n.length===0?!1:n!==".."&&!n.startsWith("../")&&!bc(n)},ZG="x-hono-already-sent";var Bi=class extends Error{constructor(e,i){super(e,i),this.name="RequestError"}};const AG=new Set(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","server","user-agent"]),MG=/^[!#$%&'*+\-.^_`|~\dA-Za-z]+$/,Na=e=>e===9||e===10||e===13||e===32,Ap=e=>{if(!Na(e.charCodeAt(0))&&!Na(e.charCodeAt(e.length-1)))return e;let i=0,n=e.length;for(;i<n&&Na(e.charCodeAt(i));)i++;for(;n>i&&Na(e.charCodeAt(n-1));)n--;return e.slice(i,n)},Mp=/[\0\r\n]/,ql=globalThis.Headers,Ob=(e,i=ql)=>{const n=new i;for(let t=0;t<e.length;t+=2){const o=e[t];o.startsWith(":")||n.append(o,e[t+1])}return n};var ed=class{#n;#e;#i;#a;constructor(e){this.#n=e,e instanceof yn&&(this.#e=e.rawHeaders.slice())}get#t(){return this.#e??=this.#n.rawHeaders.slice()}get#o(){return this.#i||(this.#i=Ob(this.#t),this.#e=void 0),this.#i}#s(e){if(typeof e=="string"){if(!MG.test(e))throw new TypeError(`Invalid header name: ${e}`);return e.toLowerCase()}}#r(e){const i=this.#n instanceof yn?void 0:this.#n.headers;if(!i||AG.has(e)||e==="set-cookie"||e==="__proto__")return;if(!Object.hasOwn(i,e))return null;const n=i[e];if(typeof n=="string"){const t=Ap(n);return Mp.test(t)?void 0:t}}#u(e,i){const n=i==="cookie"?"; ":", ";let t=null;for(let o=0;o<e.length;o+=2){const a=e[o];if(a.length===i.length&&a.toLowerCase()===i){const s=Ap(e[o+1]);if(Mp.test(s)){this.#a=!0;return}t=t===null?s:t+n+s}}return t}append(e,i){this.#o.append(e,i)}delete(e){this.#o.delete(e)}get(e){const i=this.#s(e);if(i&&!this.#i&&!this.#a){const n=this.#r(i);if(n!==void 0)return n;const t=this.#u(this.#t,i);if(t!==void 0)return t}return this.#o.get(e)}has(e){const i=this.#s(e);if(i&&!this.#i&&!this.#a){const n=this.#r(i);if(n!==void 0)return n!==null;const t=this.#u(this.#t,i);if(t!==void 0)return t!==null}return this.#o.has(e)}set(e,i){this.#o.set(e,i)}getSetCookie(){return this.#o.getSetCookie()}keys(){return this.#o.keys()}values(){return this.#o.values()}entries(){return this.#o.entries()}forEach(e,i){this.#o.forEach((n,t)=>{e.call(i,n,t,this)})}[Symbol.iterator](){return this.entries()}};Object.defineProperty(ed.prototype,Symbol.for("nodejs.util.inspect.custom"),{value:function(e,i,n){return`Headers (lightweight) ${n(Object.fromEntries(this),{...i,depth:e==null?null:e-1})}`}});Object.setPrototypeOf(ed.prototype,ql.prototype);const Jb=e=>globalThis.Headers===ql?new ed(e):Ob(e.rawHeaders,globalThis.Headers),HG=/^\/[!#$&-;=?-\[\]_a-z~]*$/,IG=/\/\.\.?(?:[/?#]|$)/,XG=/^[a-z0-9._-]+(?::(?:[1-5]\d{3,4}|[6-9]\d{3}))?$/,_G=(e,i,n)=>{const t=`${e}://${i}${n}`;if(XG.test(i)){if(n.length===0)return t+"/";if(n.charCodeAt(0)!==47)throw new Bi("Invalid URL");return!HG.test(n)||IG.test(n)?new URL(t).href:t}else{const o=new URL(t);if(o.hostname.length!==i.length&&o.hostname!==(i.includes(":")?i.replace(/:\d+$/,""):i).toLowerCase())throw new Bi("Invalid host header");return o.href}},FG=e=>e instanceof Bi?e:new Bi(e.message,{cause:e}),WG=global.Request;var Vt=class extends WG{constructor(e,i){if(typeof e=="object"&&jn in e){const n=i!==void 0&&"body"in i&&i.body!=null;if(e[Vi]&&!n)throw new TypeError("Cannot construct a Request with a Request object that has already been used.");e=e[jn]()}typeof i?.body?.getReader<"u"&&(i.duplex??="half"),super(e,i)}};const Pb=Symbol("wrapBodyStream"),GG=new Set(["latin1","binary","hex","base64","base64url"]),QG=e=>e===null||GG.has(e),ou=Symbol("bodyBufferedBeforeDisconnect"),sc=Symbol("bodyBufferedLengthBeforeDisconnect"),Nb=(e,i)=>Buffer.isBuffer(e)?e:Buffer.from(e,i??"utf8"),id=e=>!(e instanceof yn)&&!!e.complete&&!!e.readableAborted&&typeof e.read=="function"&&QG(e.readableEncoding),Hp=e=>{if(e.readableDidRead||!id(e))return;const i=e;i[sc]??=e.readableLength},ps=(e,i)=>{if(e.readableDidRead&&!i||!id(e))return;const n=e;if(n[ou]!==void 0)return n[ou];let t;const o=e.errored;if(o&&o.code!=="ECONNRESET")t=o;else if(n[sc]!==void 0&&e.readableLength!==n[sc])t=fs();else{const a=i??[],s=e.read();s!==null&&a.push(Nb(s,e.readableEncoding));const r=a.length===1?a[0]:Buffer.concat(a);t=r;const u=e.headers["content-length"];if(typeof u=="string"&&/^\d+$/.test(u)){const c=Number(u);Number.isSafeInteger(c)&&r.length!==c&&(t=fs())}}return n[ou]=t,t},Ip=(e,i)=>{if(i instanceof Error){e.error(i);return}i.length>0&&e.enqueue(i),e.close()},zG=(e,i,n,t,o)=>{const a={method:e,headers:n,signal:o.signal};if(e==="TRACE"){a.method="GET";const s=new Vt(i,a);return Object.defineProperty(s,"method",{get(){return"TRACE"}}),s}if(!(e==="GET"||e==="HEAD"))if("rawBody"in t&&t.rawBody instanceof Buffer)a.body=new ReadableStream({start(s){s.enqueue(t.rawBody),s.close()}});else if(t[Pb]){let s;a.body=new ReadableStream({async pull(r){try{if(!s){const l=ps(t);if(l!==void 0){Ip(r,l);return}}s||=xd.toWeb(t).getReader();const{done:u,value:c}=await s.read();u?r.close():r.enqueue(c)}catch(u){r.error(u)}}})}else{const s=ps(t);s!==void 0?a.body=new ReadableStream({start(r){Ip(r,s)}}):a.body=xd.toWeb(t)}return new Vt(i,a)},jn=Symbol("getRequestCache"),Gi=Symbol("requestCache"),Ut=Symbol("incomingKey"),Ho=Symbol("urlKey"),Zb=Symbol("methodKey"),Ab=Symbol("headersKey"),Co=Symbol("abortControllerKey"),rc=Symbol("getAbortController"),uc=Symbol("abortRequest"),fn=Symbol("bodyBuffer"),Za=Symbol("bodyReadPromise"),Vi=Symbol("bodyConsumedDirectly"),Xp=Symbol("bodyLockReader"),Oo=Symbol("abortReason"),fs=()=>new TypeError("Body is unusable"),ba=()=>Promise.reject(fs()),KG=new TextDecoder,VG=e=>{if(e[Vi])return ba();e[Vi]=!0},UG=e=>e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength),qG=e=>(e[Ab]||=Jb(e[Ut])).get("content-type")||"",eQ=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/,iQ=e=>{if(typeof e!="string"||e.length===0)return"GET";switch(e){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"PATCH":case"POST":case"PUT":case"QUERY":return e}const i=e.toUpperCase();switch(i){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"POST":case"PUT":return i;default:return e}},nQ=e=>{if(!eQ.test(e))return new TypeError(`'${e}' is not a valid HTTP method.`);const i=e.toUpperCase();if(i==="CONNECT"||i==="TRACK"||i==="TRACE"&&e!=="TRACE")return new TypeError(`'${e}' HTTP method is unsupported.`)},nd=(e,i,n)=>{if(e[Vi])return ba();const t=e.method;if(t==="GET"||t==="HEAD")return e[jn]()[i]();const o=nQ(t);if(o)return Promise.reject(o);if(e[Gi]&&t!=="TRACE")return e[Gi][i]();const a=VG(e);if(a)return a;const s=tQ(e);if(s){const r=Promise.resolve(n(s,e));return e[fn]=void 0,r}return oQ(e).then(r=>{const u=n(r,e);return e[fn]=void 0,u})},tQ=e=>{const i=e[Ut];if("rawBody"in i&&i.rawBody instanceof Buffer)return i.rawBody},_p=(e,i)=>{if(i.errored)return i.errored;const n=e[Oo];return n!==void 0?n instanceof Error?n:new Error(String(n)):new Error("Client connection prematurely closed.")},oQ=e=>{if(e[fn])return Promise.resolve(e[fn]);if(e[Za])return e[Za];const i=e[Ut];if(i.readableDidRead)return ba();const n=ps(i);if(n!==void 0)return n instanceof Error?Promise.reject(n):(e[fn]=n,Promise.resolve(n));const t=new Promise((o,a)=>{const s=[];let r=!1;const u=v=>{r||(r=!0,p(),v())},c=v=>{const y=i.errored??v;return!id(i)||y&&y.code!=="ECONNRESET"?!1:(u(()=>{const b=ps(i,s);b instanceof Error?a(b):b===void 0?a(v??_p(e,i)):(e[fn]=b,o(b))}),!0)},l=v=>{s.push(Nb(v,i.readableEncoding))},d=()=>{u(()=>{const v=s.length===1?s[0]:Buffer.concat(s);e[fn]=v,o(v)})},g=v=>{c(v)||u(()=>{a(v)})},h=()=>{if(i.readableEnded){d();return}c()||u(()=>{a(_p(e,i))})},p=()=>{i.off("data",l),i.off("end",d),i.off("error",g),i.off("close",h),e[Za]=void 0};i.on("data",l),i.on("end",d),i.on("error",g),i.on("close",h),queueMicrotask(()=>{r||(i.readableEnded?d():i.errored?g(i.errored):i.destroyed&&h())})});return e[Za]=t,t},Hi={get method(){return this[Zb]},get url(){return this[Ho]},get headers(){return this[Ab]||=Jb(this[Ut])},[uc](e){this[Oo]===void 0&&(this[Oo]=e);const i=this[Co];i&&!i.signal.aborted&&i.abort(e)},[rc](){return this[Co]||=new AbortController,this[Oo]!==void 0&&!this[Co].signal.aborted&&this[Co].abort(this[Oo]),this[Co]},[jn](){const e=this[rc]();if(this[Gi])return this[Gi];const i=this.method;if(this[Vi]&&!(i==="GET"||i==="HEAD")){this[fn]=void 0;const n={method:i==="TRACE"?"GET":i,headers:this.headers,signal:e.signal};i!=="TRACE"&&(n.body=new ReadableStream({start(o){o.close()}}),n.duplex="half");const t=new Vt(this[Ho],n);return i==="TRACE"&&Object.defineProperty(t,"method",{get(){return"TRACE"}}),this[Gi]=t}return this[Gi]=zG(this.method,this[Ho],this.headers,this[Ut],e)},get body(){if(!this[Vi])return this[jn]().body;const e=this[jn]();return!this[Xp]&&e.body&&(this[Xp]=e.body.getReader()),e.body},get bodyUsed(){return this[Vi]?!0:this[Gi]?this[Gi].bodyUsed:!1}};Object.defineProperty(Hi,"signal",{get(){return this[rc]().signal}});["cache","credentials","destination","integrity","mode","redirect","referrer","referrerPolicy","keepalive"].forEach(e=>{Object.defineProperty(Hi,e,{get(){return this[jn]()[e]}})});["clone","formData"].forEach(e=>{Object.defineProperty(Hi,e,{value:function(){if(this[Vi]){if(e==="clone")throw fs();return ba()}return this[jn]()[e]()}})});Object.defineProperty(Hi,"text",{value:function(){return nd(this,"text",e=>KG.decode(e))}});Object.defineProperty(Hi,"arrayBuffer",{value:function(){return nd(this,"arrayBuffer",e=>UG(e))}});Object.defineProperty(Hi,"blob",{value:function(){return nd(this,"blob",(e,i)=>{const n=qG(i),t=n?{headers:{"content-type":n}}:void 0;return new Response(e,t).blob()})}});Object.defineProperty(Hi,"json",{value:function(){return this[Vi]?ba():this.text().then(JSON.parse)}});Object.defineProperty(Hi,Symbol.for("nodejs.util.inspect.custom"),{value:function(e,i,n){return`Request (lightweight) ${n({method:this.method,url:this.url,headers:this.headers,nativeRequest:this[Gi]},{...i,depth:e==null?null:e-1})}`}});Object.setPrototypeOf(Hi,Vt.prototype);const aQ=(e,i)=>{const n=Object.create(Hi);n[Ut]=e,n[Zb]=iQ(e.method);const t=e.url||"";if(t[0]!=="/"&&(t.startsWith("http://")||t.startsWith("https://"))){if(e instanceof yn)throw new Bi("Absolute URL for :path is not allowed in HTTP/2");try{n[Ho]=new URL(t).href}catch(s){throw new Bi("Invalid absolute URL",{cause:s})}return n}const o=(e instanceof yn?e.authority:e.headers.host)||i;if(!o)throw new Bi("Missing host header");let a;if(e instanceof yn){if(a=e.scheme,!(a==="http"||a==="https"))throw new Bi("Unsupported scheme")}else a=e.socket&&e.socket.encrypted?"https":"http";try{n[Ho]=_G(a,o,t)}catch(s){throw s instanceof Bi?s:new Bi("Invalid URL",{cause:s})}return n},gn="text/plain; charset=UTF-8",cc=Symbol("responseCache"),Jt=Symbol("getResponseCache"),zi=Symbol("cache"),vs=global.Response;var Ji=class Mb{#n;#e;[Jt](){const i=this[zi],n=i&&i[2]instanceof Headers?i[2]:void 0;return delete this[zi],this[cc]||=new vs(this.#n,n?{status:this.#e?.status,statusText:this.#e?.statusText,headers:n}:this.#e)}constructor(i,n){let t;if(this.#n=i,n instanceof vs){const o=n[cc];if(o){this.#e=o,this[Jt]();return}this.#e=n instanceof Mb?n.#e:n,t=new Headers(n.headers)}else this.#e=n;(i==null||typeof i=="string"||typeof i?.getReader<"u"||i instanceof Blob||i instanceof Uint8Array)&&(this[zi]=[n?.status||200,i??null,t||n?.headers])}get headers(){const i=this[zi];return i?(i[2]instanceof Headers||(i[2]=new Headers(i[2]||(i[1]===null?void 0:{"content-type":gn}))),i[2]):this[Jt]().headers}get status(){return this[zi]?.[0]??this[Jt]().status}get ok(){const i=this.status;return i>=200&&i<300}};["body","bodyUsed","redirected","statusText","trailers","type","url"].forEach(e=>{Object.defineProperty(Ji.prototype,e,{get(){return this[Jt]()[e]}})});["arrayBuffer","blob","clone","formData","json","text"].forEach(e=>{Object.defineProperty(Ji.prototype,e,{value:function(){return this[Jt]()[e]()}})});Object.defineProperty(Ji.prototype,Symbol.for("nodejs.util.inspect.custom"),{value:function(e,i,n){return`Response (lightweight) ${n({status:this.status,headers:this.headers,ok:this.ok,nativeResponse:this[cc]},{...i,depth:e==null?null:e-1})}`}});Object.setPrototypeOf(Ji,vs);Object.setPrototypeOf(Ji.prototype,vs.prototype);const sQ=/^https?:\/\/[!#-;=?-[\]_a-z~A-Z]+$/,rQ=e=>e instanceof URL?e.href:sQ.test(e)?e:new URL(e).href,uQ=new Set([301,302,303,307,308]);Object.defineProperty(Ji,"redirect",{value:function(i,n=302){if(!uQ.has(n))throw new RangeError("Invalid status code");return new Ji(null,{status:n,headers:{location:rQ(i)}})},writable:!0,configurable:!0});Object.defineProperty(Ji,"json",{value:function(i,n){const t=JSON.stringify(i);if(t===void 0)throw new TypeError("The data is not JSON serializable");const o=n?.headers;let a;return o?(a=new Headers(o),a.has("content-type")||a.set("content-type","application/json")):a={"content-type":"application/json"},new Ji(t,{status:n?.status??200,statusText:n?.statusText,headers:a})},writable:!0,configurable:!0});async function cQ(e){return Promise.race([e,Promise.resolve().then(()=>Promise.resolve(void 0))])}function Hb(e,i,n){const t=r=>{e.cancel(r).catch(()=>{})};return i.on("close",t),i.on("error",t),(n??e.read()).then(s,o),e.closed.finally(()=>{i.off("close",t),i.off("error",t)});function o(r){r&&i.destroy(r)}function a(){e.read().then(s,o)}function s({done:r,value:u}){try{if(r)i.end();else if(!i.write(u))i.once("drain",a);else return e.read().then(s,o)}catch(c){o(c)}}}function Fp(e,i){if(e.locked)throw new TypeError("ReadableStream is locked.");return i.destroyed?void 0:Hb(e.getReader(),i)}const lc=(e,i)=>{const n={};if(e instanceof Headers||(e=new Headers(e??void 0)),e.has("set-cookie")){const t=[];for(const[o,a]of e)o==="set-cookie"?t.push(a):n[o]=a;t.length>0&&(n["set-cookie"]=t)}else for(const[t,o]of e)n[t]=o;return i&&(n["content-type"]??=i),n},ys=Symbol("outgoingEnded"),Wp=Symbol("incomingDraining"),lQ=500,dQ=64*1024*1024,Ib=e=>{const i=e;if(e.destroyed||i[Wp])return;if(i[Wp]=!0,e instanceof yn){try{e.stream?.close?.(Vk.NGHTTP2_NO_ERROR)}catch{}return}let n=0;const t=()=>{clearTimeout(a),e.off("data",s),e.off("end",t),e.off("error",t)},o=()=>{t();const r=e.socket;r&&!r.destroyed&&(typeof r.destroySoon=="function"?r.destroySoon():typeof r.destroy=="function"&&r.destroy())},a=setTimeout(o,lQ);a.unref?.();const s=r=>{n+=r.length,n>dQ&&o()};e.on("data",s),e.on("end",t),e.on("error",t),e.resume()},gQ=(e,i,n,t)=>()=>{i.errored?(Hp(i),e[uc](i.errored.toString())):n.writableFinished||(Hp(i),e[uc]("Client connection prematurely closed.")),t&&!i.readableEnded&&setTimeout(()=>{i.readableEnded||setTimeout(()=>{Ib(i)})})},hQ=e=>{if(!(zi in e))return!1;const i=e[zi][1];return i===null||typeof i=="string"||i instanceof Uint8Array},pQ=()=>new Response(null,{status:400}),Xb=e=>new Response(null,{status:e instanceof Error&&(e.name==="TimeoutError"||e.constructor.name==="TimeoutError")?504:500}),ms=(e,i)=>{const n=e instanceof Error?e:new Error("unknown error",{cause:e});n.code==="ERR_STREAM_PREMATURE_CLOSE"?console.info("The user aborted a request."):(console.error(e),i.headersSent||i.writeHead(500,{"Content-Type":"text/plain"}),i.end(`Error: ${n.message}`),i.destroy(n))},dc=e=>{"flushHeaders"in e&&e.writable&&e.flushHeaders()},_b=async(e,i)=>{let[n,t,o]=e[zi];if(!o){t===null?(i.writeHead(n),i.end()):typeof t=="string"?(i.writeHead(n,{"Content-Type":gn,"Content-Length":Buffer.byteLength(t)}),i.end(t)):t instanceof Uint8Array?(i.writeHead(n,{"Content-Type":gn,"Content-Length":t.byteLength}),i.end(t)):t instanceof Blob?(i.writeHead(n,{"Content-Type":gn,"Content-Length":t.size}),i.end(new Uint8Array(await t.arrayBuffer()))):(i.writeHead(n,{"Content-Type":gn}),dc(i),await Fp(t,i)?.catch(s=>ms(s,i))),i[ys]?.();return}let a=!1;if(o instanceof Headers)a=o.has("content-length"),o=lc(o,t===null?void 0:gn);else if(Array.isArray(o)){const s=new Headers(o);a=s.has("content-length"),o=lc(s,t===null?void 0:gn)}else for(const s in o)if(s.length===14&&s.toLowerCase()==="content-length"){a=!0;break}a||(typeof t=="string"?o["Content-Length"]=Buffer.byteLength(t):t instanceof Uint8Array?o["Content-Length"]=t.byteLength:t instanceof Blob&&(o["Content-Length"]=t.size)),i.writeHead(n,o),t==null?i.end():typeof t=="string"||t instanceof Uint8Array?i.end(t):t instanceof Blob?i.end(new Uint8Array(await t.arrayBuffer())):(dc(i),await Fp(t,i)?.catch(s=>ms(s,i))),i[ys]?.()},Fb=e=>typeof e.then=="function",fQ=async(e,i,n={})=>{if(Fb(e))if(n.errorHandler)try{e=await e}catch(o){const a=await n.errorHandler(o);if(!a)return;e=a}else e=await e.catch(Xb);if(zi in e)return _b(e,i);const t=lc(e.headers,e.body===null?void 0:gn);if(e.body){const o=e.body.getReader(),a=[];let s=!1,r;if(t["transfer-encoding"]!=="chunked"){let u=2;for(let c=0;c<u;c++){r||=o.read();const l=await cQ(r).catch(d=>{console.error(d),s=!0});if(!l){if(c===1){await new Promise(d=>setTimeout(d)),u=3;continue}break}if(r=void 0,l.value&&a.push(l.value),l.done){s=!0;break}}s&&!("content-length"in t)&&(t["content-length"]=a.reduce((c,l)=>c+l.length,0))}i.writeHead(e.status,t),a.forEach(u=>{i.write(u)}),s?i.end():(a.length===0&&dc(i),await Hb(o,i,r))}else t[ZG]||(i.writeHead(e.status,t),i.end());i[ys]?.()},vQ=(e,i={})=>{const n=i.autoCleanupIncoming??!0;return i.overrideGlobalObjects!==!1&&global.Request!==Vt&&(Object.defineProperty(global,"Request",{value:Vt}),Object.defineProperty(global,"Response",{value:Ji})),async(t,o)=>{let a,s,r=!1,u=!1;const c=()=>{!s||u||(u=!0,o.on("close",gQ(s,t,o,r)))};try{if(s=aQ(t,i.hostname),r=n&&!(t.method==="GET"||t.method==="HEAD"),r&&(t[Pb]=!0,t instanceof yn&&(o[ys]=()=>{t.readableEnded||setTimeout(()=>{t.readableEnded||setTimeout(()=>{t.destroy(),o.destroy()})})})),a=e(s,{incoming:t,outgoing:o}),!Fb(a)&&hQ(a))return r&&!t.readableEnded&&o.once("finish",()=>{t.readableEnded||Ib(t)}),_b(a,o);c()}catch(l){if(a)return ms(l,o);if(i.errorHandler){if(c(),a=await i.errorHandler(s?l:FG(l)),!a)return}else s?a=Xb(l):a=pQ()}try{return await fQ(a,o,i)}catch(l){return ms(l,o)}}},yQ=Symbol("CONNECTION_SYMBOL_KEY"),mQ=Symbol("WAIT_FOR_WEBSOCKET_SYMBOL"),bQ=new Set(["connection","content-length","keep-alive","proxy-authenticate","proxy-authorization","te","trailer","transfer-encoding","upgrade","sec-websocket-accept","sec-websocket-extensions","sec-websocket-protocol"]),Wb=(e,i)=>{i&&i.forEach((n,t)=>{bQ.has(t.toLowerCase())||e.push(`${t}: ${n}`)})},Gp=(e,i,n)=>{const t=["Connection: close","Content-Length: 0"];Wb(t,n),e.end(`HTTP/1.1 ${i.toString()} ${Kk[i]??""}\r
|
|
221
|
+
`))}}},name:"completion",options:[{defaultOption:!0,defaultValue:Pp(),description:"Shell type (bash, zsh, fish, powershell). Defaults to current shell if detected.",name:"shell",type:String,typeLabel:"{underline shell}"},{defaultValue:Jp(),description:"JavaScript runtime (node, bun). Defaults to current runtime if detected.",name:"runtime",type:String,typeLabel:"{underline runtime}"}]},B5={alias:["v","V"],description:"Output the version number",execute:({logger:e,runtime:i})=>{const n=i.getPackageVersion();n===void 0?(e.warn("Unknown version"),e.debug("The version number was not provided by the cli constructor.")):e.info(n)},name:"version",options:[],usage:[]},R5={json:{defaultValue:!1,description:"Emit JSON instead of ASCII",type:Boolean},projects:{alias:"p",description:"Comma-separated list of projects to plan (same semantics as `vis run --projects`)",type:String},query:{description:"Filter matched projects by a query",type:String},tag:{description:'Only plan projects carrying one of these tags (repeatable, or comma-separated). Shorthand for --query="tag=…".',multiple:!0,type:String}},O5=D({argument:{description:"Target selector (same syntax as `vis run`): `build`, `:build`, `~:test`, `#tag:lint`, …",name:"selector",type:String},description:"Show the execution plan for a target without running it",examples:[["vis action-graph build","Print the task plan for `build` on every project"],["vis action-graph :test","Moon-style selector"],["vis action-graph build --json","Emit a JSON description of the plan"],['vis action-graph lint --query "tag=frontend"',"Filter projects by query"],["vis action-graph build --projects=@org/web","Plan only the named projects (same flag as `vis run`)"]],group:"Workspace",loader:()=>import("./handler2.js"),name:"action-graph",options:R5}),J5={"auto-install-peers":{defaultValue:!1,description:"After adding, recursively install non-optional peer dependencies that aren't already in the workspace (matches nypm's installPeerDependencies)",type:Boolean},exact:{alias:"E",defaultValue:!1,description:"Save exact version",type:Boolean},filter:{alias:"F",description:"Filter by workspace package name",multiple:!0,type:String},global:{alias:"g",defaultValue:!1,description:"Install globally (uses npm)",type:Boolean},"no-marshall-check":{defaultValue:!1,description:"Skip the offline marshall pipeline (author, provenance, metadata, downloads, expired-domains, new-bin, signatures, archived-repo)",type:Boolean},"no-socket-check":{defaultValue:!1,description:"Skip Socket.dev security check before adding",type:Boolean},"no-typosquat-check":{defaultValue:!1,description:"Skip typosquat name check before adding",type:Boolean},"run-scripts":{defaultValue:!1,description:"Run lifecycle scripts during add (opts out of vis's default block-by-default policy; allowlisted packages run via security.policies.installScripts.allow)",type:Boolean},"save-dev":{alias:"D",defaultValue:!1,description:"Add as dev dependency",type:Boolean},"save-optional":{alias:"O",defaultValue:!1,description:"Add as optional dependency",type:Boolean},"save-peer":{alias:"P",defaultValue:!1,description:"Add as peer dependency",type:Boolean},to:{description:"Target a single workspace package and auto-conform the version to existing catalogs / sibling deps (syncpack#285)",type:String},workspace:{defaultValue:!1,description:"Use workspace protocol (pnpm)",type:Boolean},"workspace-root":{alias:"w",defaultValue:!1,description:"Add to workspace root",type:Boolean}},P5=D({argument:{description:"Packages to add (e.g., react react-dom)",name:"packages",type:String},description:"Add packages using the detected package manager",examples:[["vis add react react-dom","Add packages"],["vis add -D typescript @types/react","Add as dev dependencies"],["vis add react --filter app","Add to specific workspace package"],["vis add react --to web","Add to one package, auto-conforming the version to existing catalogs / sibling deps"],["vis add -g typescript","Add globally (uses npm)"],["vis add lodash -w","Add to workspace root"],["vis add lodash --no-socket-check","Add without Socket.dev check"],["vis add lodash --no-typosquat-check","Skip typosquat name check"],["vis add lodash --no-marshall-check","Skip the offline marshall pipeline (author, downloads, etc.)"],["vis add lodash --run-scripts","Run lifecycle scripts (opts out of vis's default block-by-default policy)"]],group:"Dependencies",loader:()=>import("./handler15.js"),name:"add",options:J5}),Vl={description:"Override the cache DB path (defaults to <cache>/vis/advisories/db.sqlite via @visulima/find-cache-dir).",name:"db",type:String},ya={description:"Output format: table (default) or json.",name:"format",type:String},N5={commandPath:["advisories"],description:"Download and ingest one or more OSV ecosystem dumps into the local cache",examples:[["vis advisories sync","Sync the npm ecosystem (default)"],["vis advisories sync --ecosystem npm","Sync a single explicit ecosystem"],["vis advisories sync --ecosystem npm,PyPI","Sync several ecosystems in one pass"],["vis advisories sync --force","Re-download even when the ETag matches"],["vis advisories sync --source https://mirror.example.com","Use a corporate OSV mirror (must be in allowedHosts)"]],group:"Security & Health",loader:W(()=>import("./sync.js"),"advisoriesSyncExecute"),name:"sync",options:[{description:"Comma-separated list of ecosystems to sync (default: npm).",name:"ecosystem",type:String},{defaultValue:!1,description:"Re-download and re-ingest even if the upstream ETag is unchanged.",name:"force",type:Boolean},{description:"Override the advisory source URL. Must be https and resolve to an allowed host.",name:"source",type:String},Vl,ya]},Z5={commandPath:["advisories"],description:"Print the local advisory DB summary: path, schema version, ecosystems, row counts, last sync, ETag",examples:[["vis advisories status","Human-readable summary"],["vis advisories status --format json","Machine-readable for CI freshness checks"]],group:"Security & Health",loader:W(()=>import("./status.js"),"advisoriesStatusExecute"),name:"status",options:[Vl,ya]},A5={commandPath:["advisories"],description:"Delete the local advisory DB. The next `vis audit --offline` will fail until you re-sync",examples:[["vis advisories prune","Confirm and delete the local DB"],["vis advisories prune --force","Delete without confirmation"]],group:"Security & Health",loader:W(()=>import("./prune.js"),"advisoriesPruneExecute"),name:"prune",options:[Vl,{defaultValue:!1,description:"Skip the confirmation prompt.",name:"force",type:Boolean},ya]},Tb={description:"Override the bloom cache directory (defaults to <cache>/vis/osv-bloom/).",name:"cache-dir",type:String},M5={commandPath:["advisories","bloom"],description:"Fetch and verify the endevco/osv-bloom MAL-* prefilter into the local cache",examples:[["vis advisories bloom sync","Fetch the bloom filter from the default upstream"],["vis advisories bloom sync --force","Re-download even when the set digest matches"],["vis advisories bloom sync --source https://bloom.example.com","Use an internal mirror (must be in allowedHosts)"]],group:"Security & Health",loader:W(()=>import("./bloom-sync.js"),"advisoriesBloomSyncExecute"),name:"sync",options:[{defaultValue:!1,description:"Re-download and re-verify even when the upstream set digest is unchanged.",name:"force",type:Boolean},{description:"Override the bloom source URL. Must be https and resolve to an allowed host.",name:"source",type:String},Tb,ya]},H5={commandPath:["advisories","bloom"],description:"Print the local osv-bloom cache freshness: built-at, filter size, m/k parameters, set digest",examples:[["vis advisories bloom status","Human-readable summary"],["vis advisories bloom status --format json","Machine-readable for CI freshness checks"]],group:"Security & Health",loader:W(()=>import("./bloom-status.js"),"advisoriesBloomStatusExecute"),name:"status",options:[Tb,ya]},I5=[N5,Z5,A5,M5,H5],De=e=>{const{name:i,...n}=e;return{[`no-${i}`]:{description:`Disable --${i}.`,hidden:!0,type:Boolean},[i]:n}},X5={base:{description:"Git base ref for comparison. When omitted, vis auto-resolves it from the active CI provider (GitHub/GitLab/Buildkite/CircleCI) or falls back to `git merge-base HEAD origin/<defaultBase>` locally. Default base branch comes from `vis.config.ts#defaultBase` (or `main`).",type:String},head:{description:"Git head ref for comparison. When omitted, auto-resolves from CI env (e.g. `$GITHUB_SHA`) or defaults to `HEAD`.",type:String},...De({description:"Include uncommitted working-tree changes (tracked edits and untracked files) in the changed-file set. Defaults to on for local runs and off in CI; use --no-uncommitted to force off.",name:"uncommitted",type:Boolean}),downstream:{defaultValue:"deep",description:'Downstream scope: "none", "direct", or "deep" — controls how far to include dependents of changed projects',type:String},parallel:{defaultValue:3,description:"Maximum number of parallel tasks",type:Number},upstream:{defaultValue:"none",description:'Upstream scope: "none", "direct", or "deep" — controls how far to include dependencies of changed projects',type:String},...De({defaultValue:!0,description:"Enable caching (use --no-cache to disable)",name:"cache",type:Boolean}),"dry-run":{defaultValue:!1,description:"Show what would run without executing",type:Boolean},...De({defaultValue:!1,description:"Succeed quietly when the target, --query or tag selects no projects. Forwarded to `vis run`.",name:"if-present",type:Boolean}),partition:{description:'Partition tasks for distributed CI (e.g., "1/4" for first of four runners). Falls back to VIS_PARTITION env var.',type:String},query:{description:"Filter affected projects by a query (e.g. 'language=typescript && tag=lib')",type:String},reverse:{defaultValue:!1,description:"Run the dependency graph in reverse (leaves first, then their dependents). Useful for teardown targets like `destroy`/`undeploy` where dependents must run before the things they depend on.",type:Boolean},"runner-tags":{description:"Comma-separated tags this runner advertises (e.g. 'gpu,slow'). Forwarded verbatim to the downstream `vis run` so capability-gated tasks resolve identically. Falls back to VIS_RUNNER_TAGS env var.",type:String},"sparse-checkout":{defaultValue:!1,description:"Instead of running, print the affected project roots as a git sparse-checkout cone set (one path per line) and exit. Pipe into `git sparse-checkout set --stdin` to shrink huge-monorepo CI checkouts.",type:Boolean},tag:{description:'Only run affected projects carrying one of these tags (repeatable, or comma-separated). Shorthand for --query="tag=…"; combines with --query as AND.',multiple:!0,type:String}},_5=D({argument:{description:"The target to run (e.g., build, test, lint)",name:"target",type:String},description:"Run a target only on projects affected by recent changes",examples:[["vis affected build","Run build on affected projects"],["vis affected test --base=main","Run tests on projects changed since main"],["vis affected destroy --reverse","Tear down affected projects leaves-first"],["vis affected build --sparse-checkout","Print a git sparse-checkout cone set for the affected projects and exit"]],group:"Run & Execute",loader:()=>import("./handler3.js"),name:"affected",options:X5}),Yb={description:"Output format: table or json (default: table)",name:"format",type:String},F5={commandPath:["ai"],description:"List detected AI providers and show which one is selected",examples:[["vis ai providers","List all AI providers and their status"],["vis ai providers --format json","Output as JSON"]],group:"System",loader:W(()=>import("./handler50.js"),"aiProvidersExecute"),name:"providers",options:[Yb]},W5={},G5=D({commandPath:["ai"],description:"Test the best available AI provider with a quick prompt",examples:[["vis ai test","Test the selected provider"]],group:"System",loader:W(()=>import("./handler50.js"),"aiTestExecute"),name:"test",options:W5}),Q5={argument:{description:"Task ID to propose a fix for (e.g. @my/app:build)",name:"taskId",type:String},commandPath:["ai"],description:"Read a failed task's logs and propose a structured patch (Phase 1: local-only, no git)",examples:[["vis ai fix @myorg/app:build","Print proposed patch for the failed task"],["vis ai fix @myorg/app:build --apply","Apply the patch to disk after confirming"],["vis ai fix @myorg/app:build --format json","Machine-readable patch output"],["vis ai fix @myorg/app:build --run 2026-04-28T...","Inspect a specific historical run"]],group:"System",loader:W(()=>import("./handler50.js"),"aiFixExecute"),name:"fix",options:[Yb,{description:"Use a specific run ID from .vis/runs/ instead of the latest run",name:"run",type:String},{defaultValue:!1,description:"Apply the proposed patch to disk after printing it",name:"apply",type:Boolean},{defaultValue:!1,description:"Bypass the AI response cache",name:"no-cache",type:Boolean},{defaultValue:!1,description:"Skip the confirmation prompt before applying",name:"yes",type:Boolean}]},z5={},K5=D({description:"AI-assisted commands: provider detection and failure-fix proposals (cache management lives under `vis cache`)",examples:[["vis ai","List all AI subcommands"],["vis ai discover-help","Machine-readable subcommand catalogue (for AI agents)"]],group:"System",loader:W(()=>import("./handler50.js"),"aiRootExecute"),name:"ai",options:z5}),V5={},U5=D({commandPath:["ai"],description:"Print the machine-readable AI subcommand catalogue (JSON to stdout, designed for AI agents)",examples:[["vis ai discover-help","Emit the discovery payload as JSON"],["vis ai discover-help | jq '.subcommands[].path'","List all available paths"]],group:"System",loader:W(()=>import("./handler50.js"),"aiDiscoverHelpExecute"),name:"discover-help",options:V5}),q5={"dry-run":{defaultValue:!1,description:"Show the proposal and exit without applying or posting it",type:Boolean},"no-cache":{defaultValue:!1,description:"Bypass the AI response cache",type:Boolean},run:{description:"Use a specific run ID from .vis/runs/ instead of the latest run",type:String},"validation-timeout":{description:"Per-task validation timeout in seconds (default: 1800)",type:Number}},eG=D({commandPath:["ai"],description:"Diagnose the most recent failed task and post a structured patch as a PR/MR comment (or Buildkite annotation)",examples:[["vis ai heal","Heal the most recent failure"],["vis ai heal --dry-run","Propose a patch but skip apply / validate / post"],["vis ai heal --run 2026-04-28T...","Heal a specific historical run"]],group:"System",loader:W(()=>import("./heal.js").then(e=>e.h),"aiHeal"),name:"heal",options:q5}),iG={run:{description:"Use a specific run ID from .vis/runs/ instead of the latest run",type:String},"validation-timeout":{description:"Per-task validation timeout in seconds (default: 1800)",type:Number}},nG=D({commandPath:["ai","heal"],description:"Re-run the proposed fix and commit it to the PR/MR branch when validation passes",examples:[["vis ai heal accept","Triggered automatically by a `/vis heal accept` PR comment (GitHub/GitLab) or a Buildkite block-step unblock"]],group:"System",loader:W(()=>import("./heal-accept.js"),"aiHealAccept"),name:"accept",options:iG}),Db=[K5,U5,F5,G5,Q5,eG,nG],oie=Object.defineProperty({__proto__:null,default:Db},Symbol.toStringTag,{value:"Module"}),tG={"ai-type":{description:"AI analysis type: impact, security, compatibility, or recommend (default: impact)",type:String},format:{description:"Output format: table or json (default: table)",type:String},security:{defaultValue:!1,description:"Check for known security vulnerabilities",type:Boolean}},oG=D({argument:{description:"Package name to analyze (e.g., react)",name:"package",required:!0,type:String},description:"Analyze a single package update with AI",examples:[["vis analyze react","Analyze updating react to latest"],["vis analyze react 19.0.0","Analyze updating react to specific version"],["vis analyze react --ai-type security","Run security-focused analysis"],["vis analyze react --format json","Output as JSON"]],group:"System",loader:()=>import("./handler4.js"),name:"analyze",options:tG}),aG={all:{defaultValue:!1,description:"Approve all pending builds without prompting (pnpm only)",type:Boolean},scan:{defaultValue:!1,description:"Force vis scanning even for pnpm (instead of delegating)",type:Boolean},"sync-native":{defaultValue:!1,description:"Sync allowBuilds to native PM config (bun: trustedDependencies, npm: .npmrc, yarn: .yarnrc.yml)",type:Boolean},write:{defaultValue:!1,description:"Write unapproved entries directly into vis.config.ts security.policies.installScripts.allow (LavaMoat 'auto' parity)",type:Boolean}},sG=D({description:"Review and approve dependencies with build scripts",examples:[["vis approve-builds","Scan and list unapproved build scripts"],["vis approve-builds --all","Approve all pending builds (pnpm)"],["vis approve-builds --write","Write unapproved entries into vis.config.ts security.policies.installScripts.allow"],["vis approve-builds --sync-native","Sync allowBuilds to native PM config"]],group:"Security & Health",loader:()=>import("./handler51.js"),name:"approve-builds",options:aG}),$b={description:"Output format: table, json, or ndjson (default: table). json/ndjson go to stdout, logs to stderr.",name:"format",type:String},rG={commandPath:["attest"],description:"Verify inbound provenance + registry signatures across the locked dependency graph and gate on regressions",examples:[["vis attest verify","Check every locked dep for provenance regressions and signature problems"],["vis attest verify --prod-only","Skip devDependencies"],["vis attest verify --format json","Machine-readable findings for CI (Axis A)"],["vis attest verify --fail-on error","Exit non-zero only on error-severity findings (default: any finding)"]],group:"Security & Health",loader:W(()=>import("./handler5.js"),"attestVerifyExecute"),name:"verify",options:[$b,{defaultValue:!1,description:"Skip devDependencies — verify the production graph only.",name:"prod-only",type:Boolean},{description:"Severity that triggers a non-zero exit: 'warning' (any finding, default) or 'error'.",name:"fail-on",type:String},{description:"Comma-separated package names to exclude from both marshalls.",name:"allowlist",type:String}]},uG={argument:{description:"Path to the built artifact to attest (e.g. dist/app.tgz). Its sha256 becomes the in-toto subject digest.",name:"subject",type:String},description:"Build an in-toto SLSA v1 provenance statement for an artifact and keyless-sign it via Sigstore",examples:[["vis attest dist/app.tgz","Emit dist/app.tgz.sigstore (keyless-signed in CI)"],["vis attest dist/app.tgz --output attest.sigstore","Write the bundle to a specific path"],["vis attest dist/app.tgz --predicate slsaProvenance","Predicate type (default: slsaProvenance)"],["vis attest dist/app.tgz --require-signing","Fail instead of skip-with-warn when no ambient OIDC (outside CI)"],["vis attest dist/app.tgz --format json","Print the signed bundle summary as JSON (Axis A)"]],group:"Security & Health",loader:W(()=>import("./handler5.js"),"attestEmitExecute"),name:"attest",options:[$b,{description:"Write the serialized Sigstore bundle here (default: <subject>.sigstore).",name:"output",type:String},{description:"Predicate type: 'slsaProvenance' (default, https://slsa.dev/provenance/v1).",name:"predicate",type:String},{defaultValue:!1,description:"Error instead of skip-with-warn when no ambient OIDC token is available (i.e. outside CI).",name:"require-signing",type:Boolean}]},cG=[uG,rG],lG={"allow-major":{defaultValue:!1,description:"Allow --fix to bump a direct dep across a major version when the lowest fix is outside the existing range",type:Boolean},backend:{description:"Audit backend: 'auto' (default, delegates to 'aube audit' when aube is the installer), 'aube' (force delegate), or 'vis' (always use vis's OSV/Socket scanner).",type:String},db:{description:"Override the offline advisory DB path (default: <cache>/vis/advisories/db.sqlite).",type:String},ecosystem:{description:"Comma-separated list of OSV ecosystems to scan (default: npm). Supported: npm, pypi, crates.io (or 'cargo'), maven, go, hex, rubygems. Non-npm ecosystems require --offline (online OSV path is npm-only).",type:String},"exit-code":{defaultValue:!1,description:"Exit with code 1 if any issues found (for CI)",type:Boolean},explain:{description:"Add a plain-English AI explanation to findings. Bare flag explains all findings at/above --severity; pass a finding index (e.g. 2) or a CVE/GHSA id to explain just one. Auto-detects an installed AI CLI; mutually exclusive with --offline.",type:String},"fail-on":{description:"Exit non-zero when any finding is at this severity or higher. One of: low, medium, high, critical.",type:String},fix:{defaultValue:!1,description:"Apply direct-dep fixes for vulnerable packages by running the active PM update command, then rescan",type:Boolean},"fix-transitive":{defaultValue:!1,description:"Apply transitive fixes by writing PM-specific overrides (pnpm-workspace.yaml / package.json overrides / resolutions)",type:Boolean},format:{description:"Output format: table, json, sarif, csaf, cyclonedx-vex, gitlab, or junit (default: table)",type:String},offline:{defaultValue:!1,description:"Query the local OSV advisory cache only — no network calls. Errors if the cache is missing.",type:Boolean},policies:{description:"Comma-separated list of supply-chain policies to evaluate (default: every configured policy). Use 'none' to skip the engine entirely, 'all' to force the full set. Known: malware, firstSeen, unexpectedDeps, publisherChange, installScripts, score, vulnerability, license.",type:String},"prod-only":{defaultValue:!1,description:"Skip devDependencies — scan production graph only.",type:Boolean},report:{description:"Write a self-contained HTML report to this path. Auto-opens in a TTY when not in CI.",type:String},severity:{description:"Minimum severity to report: low, medium, high, critical (default: low)",type:String},"show-accepted":{defaultValue:!1,description:"Include acknowledged (accepted risk) issues in output",type:Boolean},"show-fixes":{defaultValue:!1,description:"Print fix-suggestion lines for each finding (no apply, no rescan)",type:Boolean},sync:{defaultValue:!1,description:"Sync vis accepted risks to native PM config (pnpm-workspace.yaml / .yarnrc.yml)",type:Boolean},...De({description:"Only report vulnerabilities in statically-imported packages (reachability filter).",name:"usage",type:Boolean}),yes:{defaultValue:!1,description:"Skip confirmation prompt for --fix / --fix-transitive (required in CI)",type:Boolean}},dG=D({description:"Audit installed packages for vulnerabilities and supply chain risks",examples:[["vis audit","Full audit of all installed packages"],["vis audit --severity high","Show only high/critical issues"],["vis audit --format json","Output as JSON for CI integration"],["vis audit --format sarif","Output SARIF 2.1.0 for code-scanning uploads"],["vis audit --format csaf","Output CSAF 2.0 csaf_vex for enterprise vuln pipelines"],["vis audit --format cyclonedx-vex","Output a CycloneDX 1.7 BOM with vulnerabilities[] (SBOM + VEX)"],["vis audit --format gitlab","Output a GitLab dependency-scanning report (gl-dependency-scanning.json)"],["vis audit --format junit","Output a Surefire-compatible JUnit XML report"],["vis audit --report report.html","Write a self-contained HTML report to ./report.html"],["vis audit --usage","Only report vulnerabilities in statically-imported packages"],["vis audit --offline","Query the local OSV cache only (no network)"],["vis audit --offline --db ./vendor.sqlite","Use a specific advisory DB"],["vis audit --ecosystem npm,pypi","Scan multiple OSV ecosystems (npm, pypi, crates.io, maven, go, rubygems)"],["vis audit --prod-only","Skip devDependencies"],["vis audit --fail-on high","Exit non-zero on any high or critical finding"],["vis audit --show-fixes","Print fix-suggestion lines (no apply, no rescan)"],["vis audit --fix","Apply direct-dep upgrades for vulnerable packages, then rescan (dry-run preview by default)"],["vis audit --fix --yes","Skip the confirmation prompt and run the upgrades immediately"],["vis audit --fix --allow-major","Permit major-version bumps when the lowest fix is outside the existing range"],["vis audit --fix-transitive","Write PM-specific overrides for vulnerable transitives (dry-run preview by default)"],["vis audit --exit-code","Exit with code 1 if issues found (for CI)"],["vis audit --show-accepted","Include acknowledged risks in output"],["vis audit --sync","Sync accepted risks to native PM config (pnpm-workspace.yaml / .yarnrc.yml)"],["vis audit --policies license,vulnerability","Run only the named policies (default: every configured policy)"],["vis audit --policies none","Skip the policy engine entirely"],["vis audit --explain","Add a plain-English AI explanation under every finding (auto-detects an installed AI CLI)"],["vis audit --explain CVE-2021-23337","Explain only the finding with this CVE/GHSA id"],["vis audit --explain 2","Explain only the 2nd finding"]],group:"Security & Health",loader:()=>import("./handler73.js"),name:"audit",options:lG}),ma={description:"Cache directory (overrides config and default). Relative paths are resolved against the workspace root.",name:"cache-dir",type:String},sr={description:"Cache scope: 'shared' (default — main worktree's cache), 'worktree' (this checkout's local cache), or 'all' (both)",name:"scope",type:String},Eb={description:"Cache type: 'task' (workspace task cache), 'ai' (AI response cache), 'socket' (Socket.dev reports), 'deps-dev' (Google deps.dev reports), or 'all' (default)",name:"type",type:String},gG={commandPath:["cache"],description:"List all cache entries",examples:[["vis cache list","List all cache entries"]],group:"Workspace",loader:W(()=>Promise.resolve().then(()=>vt),"cacheListExecute"),name:"list",options:[ma,sr,{description:"Output format: table or json (default: table)",name:"format",type:String}]},hG={commandPath:["cache"],description:"Remove cache entries (defaults to all stores: workspace task cache, AI responses, Socket.dev reports)",examples:[["vis cache clean","Remove all cache entries from every store"],["vis cache clean --type=ai","Clear only the AI response cache"],["vis cache clean --type=task","Clear only the workspace task cache"],["vis cache clean --dry-run","Preview what clean would remove"]],group:"Workspace",loader:W(()=>Promise.resolve().then(()=>vt),"cacheCleanExecute"),name:"clean",options:[ma,Eb,{defaultValue:!1,description:"Preview without deleting",name:"dry-run",type:Boolean},{defaultValue:!1,description:"Skip the confirmation prompt for out-of-workspace cache directories",name:"force",type:Boolean}]},pG={commandPath:["cache"],description:"Remove old and oversized cache entries",examples:[["vis cache prune","Remove old and oversized entries"],["vis cache prune --max-age-days=3 --max-size=500MB","Prune with custom limits"],["vis cache prune --keep-last=30","Keep only the 30 most recent entries"]],group:"Workspace",loader:W(()=>Promise.resolve().then(()=>vt),"cachePruneExecute"),name:"prune",options:[ma,sr,{description:"Remove entries older than N days",name:"max-age-days",type:Number},{description:"Evict oldest entries until cache is under this size (e.g. 500MB)",name:"max-size",type:String},{description:"Keep only the N most recent entries (sorted newest-first by mtime)",name:"keep-last",type:Number}]},fG={commandPath:["cache"],description:"Print on-disk footprint and stats for one or more cache stores (task / ai / socket)",examples:[["vis cache size","Show stats for every cache store"],["vis cache size --type=ai","Show only the AI response cache (entries, size, oldest, newest)"],["vis cache size --type=task --format=json","Machine-readable task cache size"]],group:"Workspace",loader:W(()=>Promise.resolve().then(()=>vt),"cacheSizeExecute"),name:"size",options:[ma,sr,Eb,{description:"Output format: table or json (default: table)",name:"format",type:String}]},Ul={description:"Output format: table or json (default: table)",name:"format",type:String},Bb={description:"Use a specific run ID from .vis/runs/ instead of the latest run",name:"run",type:String},vG={argument:{description:"Task ID to explain (e.g. @my/app:build)",name:"taskId",type:String},commandPath:["cache"],description:"Explain why a task missed the cache by diffing hash inputs against the previous run",examples:[["vis cache why @myorg/app:build","Show which inputs changed since the last run"],["vis cache why @myorg/app:build --json","Machine-readable output for CI"],["vis cache why @myorg/app:build --run 2026-04-28T...","Inspect a specific historical run"]],group:"Workspace",loader:W(()=>Promise.resolve().then(()=>vt),"cacheWhyExecute"),name:"why",options:[Ul,Bb]},yG={argument:{description:"Task ID to print the hash for (e.g. @my/app:build)",name:"taskId",type:String},commandPath:["cache"],description:"Print the recorded hash and per-input hash details for a task",examples:[["vis cache hash @myorg/app:build","Show the resolved hash + contributing inputs"],["vis cache hash @myorg/app:build --json","Machine-readable output"]],group:"Workspace",loader:W(()=>Promise.resolve().then(()=>vt),"cacheHashExecute"),name:"hash",options:[Ul,Bb]},mG={argument:{description:"Task ID to verify (e.g. @my/app:build)",name:"taskId",type:String},commandPath:["cache"],description:"Verify cache restore fidelity: extract the cached entry into a tmp directory and diff each file's content, mode, and mtime against the live workspace. Exits 1 on any drift (changed content, mode, mtime) or if a cached output is missing from the workspace. With --scope=all, the first cache directory containing the task is used.",examples:[["vis cache verify @myorg/app:build","Diff cached outputs vs live workspace files"],["vis cache verify @myorg/app:build --format=json","Machine-readable diff (status: ok | drift)"],["vis cache verify @myorg/app:build --cache-dir=.alt-cache","Verify against a non-default cache directory"],["vis cache verify @myorg/app:build --scope=all","Search shared and worktree caches for the task"]],group:"Workspace",loader:W(()=>Promise.resolve().then(()=>vt),"cacheVerifyExecute"),name:"verify",options:[ma,sr,Ul]},bG={backend:{description:"Override backend selector: 'http' or 'reapi'",type:String},format:{description:"Output format: table or json (default: table)",type:String},timeout:{defaultValue:5e3,description:"Probe timeout in milliseconds (default: 5000)",type:Number},url:{description:"Override remote cache URL (otherwise read from vis.config.ts remoteCache.url, or TURBO_API env var)",type:String}},wG=D({commandPath:["cache"],description:"Probe the configured remote cache (HTTP HEAD or REAPI Capabilities) and report reachability, latency, and negotiated capabilities",examples:[["vis cache doctor","Probe the remoteCache configured in vis.config.ts"],["vis cache doctor --url=grpcs://cache.example.com:443 --backend=reapi","Override URL/backend ad-hoc"],["vis cache doctor --json","Machine-readable output"]],group:"Workspace",loader:W(()=>import("./doctor-probe.js"),"cacheDoctorExecute"),name:"doctor",options:bG}),kG=[gG,hG,pG,fG,vG,yG,mG,wG],jG={ai:{defaultValue:!1,description:"Run AI analysis on outdated packages",type:Boolean},"ai-type":{description:"AI analysis type: impact, security, compatibility, or recommend",type:String},dev:{alias:"D",conflicts:"prod",description:"Check only devDependencies (npm/yarn mode)",type:Boolean},exclude:{description:"Glob pattern to exclude packages (repeatable)",lazyMultiple:!0,type:String},"exit-code":{defaultValue:!1,description:"Exit with code 1 if outdated dependencies found (for CI)",type:Boolean},format:{description:"Output format: table, json, or minimal (default: table)",type:String},include:{description:"Glob pattern to include packages (repeatable)",lazyMultiple:!0,type:String},"include-internal":{defaultValue:!1,description:"Also check workspace-owned package names against the registry",type:Boolean},"no-security":{defaultValue:!1,description:"Skip security vulnerability scanning",type:Boolean},peer:{defaultValue:!1,description:"Include peerDependencies in outdated checks",type:Boolean},prerelease:{defaultValue:!1,description:"Include prerelease versions",type:Boolean},prod:{alias:"P",conflicts:"dev",description:"Check only dependencies (npm/yarn mode)",type:Boolean},"security-config":{defaultValue:!1,description:"Audit supply chain security settings",type:Boolean},sync:{defaultValue:!1,description:"Sync security settings to pnpm-workspace.yaml (pnpm only, requires --security-config)",type:Boolean},target:{alias:"t",description:"Update target: latest, minor, or patch (default: latest)",type:String}},SG=D({alias:["c","outdated"],argument:{description:"Specific packages to check (checks all if omitted)",name:"packages",type:String},description:"Check for outdated dependencies, security vulnerabilities, and supply chain settings",examples:[["vis check","Check all catalog dependencies"],["vis check react","Check specific packages"],["vis check --target minor","Only show minor/patch updates"],["vis check --exclude '@types/*'","Exclude packages by pattern"],["vis check --no-security","Skip vulnerability scanning"],["vis check --security-config","Audit supply chain security settings"],["vis check --security-config --sync","Sync security config to pnpm-workspace.yaml"]],group:"Security & Health",loader:()=>import("./handler6.js"),name:"check",options:jG}),CG={...De({defaultValue:!0,description:"Install dependencies before running targets (use --no-install to skip)",name:"install",type:Boolean}),base:{description:"Git base ref for affected detection (default: auto-detected from CI env)",type:String},downstream:{defaultValue:"deep",description:"Downstream scope: none | direct | deep",type:String},head:{description:"Git head ref for affected detection (default: HEAD)",type:String},...De({defaultValue:!1,description:"Succeed quietly when a target or --query selects no projects (forwarded to `vis run`)",name:"if-present",type:Boolean}),parallel:{defaultValue:4,description:"Maximum number of parallel tasks per target",type:Number},partition:{description:'Partition tasks for distributed CI (e.g., "1/4")',type:String},query:{description:"Filter affected projects by a query (e.g. 'language=typescript && tag=lib')",type:String},"skip-toolchain":{defaultValue:!1,description:"Skip the toolchain pre-flight (no auto-install for any pinned tool: node / pnpm / yarn / npm / bun / go / python / ruby / rust)",type:Boolean},upstream:{defaultValue:"none",description:"Upstream scope: none | direct | deep",type:String}},LG=D({argument:{description:"Comma-separated list of targets to run (e.g., lint,test,build)",name:"targets",type:String},description:"Run affected targets in a CI-optimized pipeline",examples:[["vis ci lint,test,build","Run lint, test, and build on affected projects"],["vis ci test --base=origin/main","Override the base ref"],["vis ci build --no-install","Skip the install step (assume deps already present)"],["vis ci build --parallel=6","Increase concurrency"]],group:"Run & Execute",loader:()=>import("./handler7.js"),name:"ci",options:CG}),xG={base:{description:"Git base ref for comparison. Defaults to CI provider env vars, then HEAD~1.",type:String},downstream:{defaultValue:"deep",description:'Downstream scope: "none", "direct", or "deep"',type:String},"exit-zero-on-build":{defaultValue:!1,description:"Exit 0 on build (normal semantics) instead of 1 (inverted Vercel/Netlify semantics)",type:Boolean},head:{defaultValue:"HEAD",description:"Git head ref for comparison",type:String},json:{defaultValue:!1,description:"Emit the decision as JSON on stdout instead of human text",type:Boolean},upstream:{defaultValue:"none",description:'Upstream scope: "none", "direct", or "deep"',type:String},verbose:{defaultValue:!1,description:"Enable verbose debug output",type:Boolean}},TG=D({argument:{description:"Project name to check (required)",name:"project",type:String},commandPath:["ci"],description:'Exit with inverted codes for CI "Ignored Build Step" gating (Vercel/Netlify)',examples:[["vis ci ignore my-app","Check if my-app is affected and decide whether to build"],["vis ci ignore my-app --base $VERCEL_GIT_PREVIOUS_SHA","Explicit base ref"],["vis ci ignore my-app --json","Emit the decision as JSON instead of text"],["vis ci ignore my-app --verbose","Print debug info about the decision path"],["vis ci ignore my-app --exit-zero-on-build","Normal exit semantics (0=build, 0=skip)"]],group:"Run & Execute",loader:()=>import("./handler52.js"),name:"ignore",options:xG}),YG={"dry-run":{defaultValue:!1,description:"Preview what would be removed without deleting",type:Boolean},"empty-packages":{alias:"e",defaultValue:!1,description:"Also remove stale workspace directories that match a workspace pattern but have no package.json",type:Boolean},lockfile:{alias:"l",defaultValue:!1,description:"Also remove lockfiles (pnpm-lock.yaml, package-lock.json, etc.)",type:Boolean}},DG=D({description:"Remove node_modules from all workspace projects",examples:[["vis clean","Remove all node_modules directories"],["vis clean --lockfile","Also remove lockfiles"],["vis clean --empty-packages","Also remove workspace directories that have no package.json"],["vis clean --dry-run","Preview what would be removed"]],group:"Workspace",loader:()=>import("./handler8.js"),name:"clean",options:YG}),$G={...De({defaultValue:!0,description:"Generate AI agent instructions in .ai/ (use --no-agent to skip)",name:"agent",type:Boolean}),editor:{description:"Generate editor configs (vscode)",type:String},"git-init":{defaultValue:!1,description:"Initialize a git repository",type:Boolean},list:{defaultValue:!1,description:"Show available templates",type:Boolean},"no-interactive":{defaultValue:!1,description:"Skip interactive prompts",type:Boolean}},EG=D({argument:{description:"Template to use (e.g., vis:app, create-vite, user/repo) — omit for interactive mode",name:"template",type:String},description:"Create a new project from a template",examples:[["vis create","Interactive project scaffolding"],["vis create vis:monorepo my-workspace","Create a monorepo workspace"],["vis create vis:app my-app","Scaffold a Vite application"],["vis create vis:library my-lib","Create a TypeScript library"],["vis create vite my-app -- --template react-ts","Use create-vite with React TypeScript"],["vis create user/repo my-project","Clone a GitHub template"],["vis create --list","Show available templates"]],group:"Scaffold & Config",loader:()=>import("./handler71.js"),name:"create",options:$G}),Rb=(e,i,n)=>{const t=a=>bc(a)?a:Wt(e,a);if(i&&i.length>0)return t(i);if(n&&n.length>0)return t(n);const o=process.env.VIS_CACHE_DIRECTORY;return o&&o.length>0?t(o):Wt(e,mf)},BG=(e,i)=>i===!1?e:Xk(e)??e,Np=(e,i,n,t)=>{const o=i??n??process.env.VIS_CACHE_DIRECTORY;if(o&&o.length>0)return Rb(e,i,n);const a=BG(e,t);return Wt(a,mf)},RG=/[^\w.-]+/g,OG=/^-+|-+$/g,JG=e=>e.trim().replaceAll(RG,"-").replaceAll(OG,"").slice(0,64),PG=e=>{try{const i=Ck("git",["rev-parse","--abbrev-ref","HEAD"],{cwd:e,encoding:"utf8",stdio:["ignore","pipe","ignore"]}).trim();return!i||i==="HEAD"?void 0:i}catch{return}},Zp=(e,i,n)=>{if(n!==!0)return e;const t=PG(i);if(!t)return e;const o=JG(t);return o.length===0?e:Wt(e,"branches",o)},NG=(e,i)=>{const n=oa(i,e);return n.length===0?!1:n!==".."&&!n.startsWith("../")&&!bc(n)},ZG="x-hono-already-sent";var Bi=class extends Error{constructor(e,i){super(e,i),this.name="RequestError"}};const AG=new Set(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","server","user-agent"]),MG=/^[!#$%&'*+\-.^_`|~\dA-Za-z]+$/,Na=e=>e===9||e===10||e===13||e===32,Ap=e=>{if(!Na(e.charCodeAt(0))&&!Na(e.charCodeAt(e.length-1)))return e;let i=0,n=e.length;for(;i<n&&Na(e.charCodeAt(i));)i++;for(;n>i&&Na(e.charCodeAt(n-1));)n--;return e.slice(i,n)},Mp=/[\0\r\n]/,ql=globalThis.Headers,Ob=(e,i=ql)=>{const n=new i;for(let t=0;t<e.length;t+=2){const o=e[t];o.startsWith(":")||n.append(o,e[t+1])}return n};var ed=class{#n;#e;#i;#a;constructor(e){this.#n=e,e instanceof yn&&(this.#e=e.rawHeaders.slice())}get#t(){return this.#e??=this.#n.rawHeaders.slice()}get#o(){return this.#i||(this.#i=Ob(this.#t),this.#e=void 0),this.#i}#s(e){if(typeof e=="string"){if(!MG.test(e))throw new TypeError(`Invalid header name: ${e}`);return e.toLowerCase()}}#r(e){const i=this.#n instanceof yn?void 0:this.#n.headers;if(!i||AG.has(e)||e==="set-cookie"||e==="__proto__")return;if(!Object.hasOwn(i,e))return null;const n=i[e];if(typeof n=="string"){const t=Ap(n);return Mp.test(t)?void 0:t}}#u(e,i){const n=i==="cookie"?"; ":", ";let t=null;for(let o=0;o<e.length;o+=2){const a=e[o];if(a.length===i.length&&a.toLowerCase()===i){const s=Ap(e[o+1]);if(Mp.test(s)){this.#a=!0;return}t=t===null?s:t+n+s}}return t}append(e,i){this.#o.append(e,i)}delete(e){this.#o.delete(e)}get(e){const i=this.#s(e);if(i&&!this.#i&&!this.#a){const n=this.#r(i);if(n!==void 0)return n;const t=this.#u(this.#t,i);if(t!==void 0)return t}return this.#o.get(e)}has(e){const i=this.#s(e);if(i&&!this.#i&&!this.#a){const n=this.#r(i);if(n!==void 0)return n!==null;const t=this.#u(this.#t,i);if(t!==void 0)return t!==null}return this.#o.has(e)}set(e,i){this.#o.set(e,i)}getSetCookie(){return this.#o.getSetCookie()}keys(){return this.#o.keys()}values(){return this.#o.values()}entries(){return this.#o.entries()}forEach(e,i){this.#o.forEach((n,t)=>{e.call(i,n,t,this)})}[Symbol.iterator](){return this.entries()}};Object.defineProperty(ed.prototype,Symbol.for("nodejs.util.inspect.custom"),{value:function(e,i,n){return`Headers (lightweight) ${n(Object.fromEntries(this),{...i,depth:e==null?null:e-1})}`}});Object.setPrototypeOf(ed.prototype,ql.prototype);const Jb=e=>globalThis.Headers===ql?new ed(e):Ob(e.rawHeaders,globalThis.Headers),HG=/^\/[!#$&-;=?-\[\]_a-z~]*$/,IG=/\/\.\.?(?:[/?#]|$)/,XG=/^[a-z0-9._-]+(?::(?:[1-5]\d{3,4}|[6-9]\d{3}))?$/,_G=(e,i,n)=>{const t=`${e}://${i}${n}`;if(XG.test(i)){if(n.length===0)return t+"/";if(n.charCodeAt(0)!==47)throw new Bi("Invalid URL");return!HG.test(n)||IG.test(n)?new URL(t).href:t}else{const o=new URL(t);if(o.hostname.length!==i.length&&o.hostname!==(i.includes(":")?i.replace(/:\d+$/,""):i).toLowerCase())throw new Bi("Invalid host header");return o.href}},FG=e=>e instanceof Bi?e:new Bi(e.message,{cause:e}),WG=global.Request;var Vt=class extends WG{constructor(e,i){if(typeof e=="object"&&jn in e){const n=i!==void 0&&"body"in i&&i.body!=null;if(e[Vi]&&!n)throw new TypeError("Cannot construct a Request with a Request object that has already been used.");e=e[jn]()}typeof i?.body?.getReader<"u"&&(i.duplex??="half"),super(e,i)}};const Pb=Symbol("wrapBodyStream"),GG=new Set(["latin1","binary","hex","base64","base64url"]),QG=e=>e===null||GG.has(e),ou=Symbol("bodyBufferedBeforeDisconnect"),sc=Symbol("bodyBufferedLengthBeforeDisconnect"),Nb=(e,i)=>Buffer.isBuffer(e)?e:Buffer.from(e,i??"utf8"),id=e=>!(e instanceof yn)&&!!e.complete&&!!e.readableAborted&&typeof e.read=="function"&&QG(e.readableEncoding),Hp=e=>{if(e.readableDidRead||!id(e))return;const i=e;i[sc]??=e.readableLength},ps=(e,i)=>{if(e.readableDidRead&&!i||!id(e))return;const n=e;if(n[ou]!==void 0)return n[ou];let t;const o=e.errored;if(o&&o.code!=="ECONNRESET")t=o;else if(n[sc]!==void 0&&e.readableLength!==n[sc])t=fs();else{const a=i??[],s=e.read();s!==null&&a.push(Nb(s,e.readableEncoding));const r=a.length===1?a[0]:Buffer.concat(a);t=r;const u=e.headers["content-length"];if(typeof u=="string"&&/^\d+$/.test(u)){const c=Number(u);Number.isSafeInteger(c)&&r.length!==c&&(t=fs())}}return n[ou]=t,t},Ip=(e,i)=>{if(i instanceof Error){e.error(i);return}i.length>0&&e.enqueue(i),e.close()},zG=(e,i,n,t,o)=>{const a={method:e,headers:n,signal:o.signal};if(e==="TRACE"){a.method="GET";const s=new Vt(i,a);return Object.defineProperty(s,"method",{get(){return"TRACE"}}),s}if(!(e==="GET"||e==="HEAD"))if("rawBody"in t&&t.rawBody instanceof Buffer)a.body=new ReadableStream({start(s){s.enqueue(t.rawBody),s.close()}});else if(t[Pb]){let s;a.body=new ReadableStream({async pull(r){try{if(!s){const l=ps(t);if(l!==void 0){Ip(r,l);return}}s||=xd.toWeb(t).getReader();const{done:u,value:c}=await s.read();u?r.close():r.enqueue(c)}catch(u){r.error(u)}}})}else{const s=ps(t);s!==void 0?a.body=new ReadableStream({start(r){Ip(r,s)}}):a.body=xd.toWeb(t)}return new Vt(i,a)},jn=Symbol("getRequestCache"),Gi=Symbol("requestCache"),Ut=Symbol("incomingKey"),Ho=Symbol("urlKey"),Zb=Symbol("methodKey"),Ab=Symbol("headersKey"),Co=Symbol("abortControllerKey"),rc=Symbol("getAbortController"),uc=Symbol("abortRequest"),fn=Symbol("bodyBuffer"),Za=Symbol("bodyReadPromise"),Vi=Symbol("bodyConsumedDirectly"),Xp=Symbol("bodyLockReader"),Oo=Symbol("abortReason"),fs=()=>new TypeError("Body is unusable"),ba=()=>Promise.reject(fs()),KG=new TextDecoder,VG=e=>{if(e[Vi])return ba();e[Vi]=!0},UG=e=>e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength),qG=e=>(e[Ab]||=Jb(e[Ut])).get("content-type")||"",eQ=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/,iQ=e=>{if(typeof e!="string"||e.length===0)return"GET";switch(e){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"PATCH":case"POST":case"PUT":case"QUERY":return e}const i=e.toUpperCase();switch(i){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"POST":case"PUT":return i;default:return e}},nQ=e=>{if(!eQ.test(e))return new TypeError(`'${e}' is not a valid HTTP method.`);const i=e.toUpperCase();if(i==="CONNECT"||i==="TRACK"||i==="TRACE"&&e!=="TRACE")return new TypeError(`'${e}' HTTP method is unsupported.`)},nd=(e,i,n)=>{if(e[Vi])return ba();const t=e.method;if(t==="GET"||t==="HEAD")return e[jn]()[i]();const o=nQ(t);if(o)return Promise.reject(o);if(e[Gi]&&t!=="TRACE")return e[Gi][i]();const a=VG(e);if(a)return a;const s=tQ(e);if(s){const r=Promise.resolve(n(s,e));return e[fn]=void 0,r}return oQ(e).then(r=>{const u=n(r,e);return e[fn]=void 0,u})},tQ=e=>{const i=e[Ut];if("rawBody"in i&&i.rawBody instanceof Buffer)return i.rawBody},_p=(e,i)=>{if(i.errored)return i.errored;const n=e[Oo];return n!==void 0?n instanceof Error?n:new Error(String(n)):new Error("Client connection prematurely closed.")},oQ=e=>{if(e[fn])return Promise.resolve(e[fn]);if(e[Za])return e[Za];const i=e[Ut];if(i.readableDidRead)return ba();const n=ps(i);if(n!==void 0)return n instanceof Error?Promise.reject(n):(e[fn]=n,Promise.resolve(n));const t=new Promise((o,a)=>{const s=[];let r=!1;const u=v=>{r||(r=!0,p(),v())},c=v=>{const y=i.errored??v;return!id(i)||y&&y.code!=="ECONNRESET"?!1:(u(()=>{const b=ps(i,s);b instanceof Error?a(b):b===void 0?a(v??_p(e,i)):(e[fn]=b,o(b))}),!0)},l=v=>{s.push(Nb(v,i.readableEncoding))},d=()=>{u(()=>{const v=s.length===1?s[0]:Buffer.concat(s);e[fn]=v,o(v)})},g=v=>{c(v)||u(()=>{a(v)})},h=()=>{if(i.readableEnded){d();return}c()||u(()=>{a(_p(e,i))})},p=()=>{i.off("data",l),i.off("end",d),i.off("error",g),i.off("close",h),e[Za]=void 0};i.on("data",l),i.on("end",d),i.on("error",g),i.on("close",h),queueMicrotask(()=>{r||(i.readableEnded?d():i.errored?g(i.errored):i.destroyed&&h())})});return e[Za]=t,t},Hi={get method(){return this[Zb]},get url(){return this[Ho]},get headers(){return this[Ab]||=Jb(this[Ut])},[uc](e){this[Oo]===void 0&&(this[Oo]=e);const i=this[Co];i&&!i.signal.aborted&&i.abort(e)},[rc](){return this[Co]||=new AbortController,this[Oo]!==void 0&&!this[Co].signal.aborted&&this[Co].abort(this[Oo]),this[Co]},[jn](){const e=this[rc]();if(this[Gi])return this[Gi];const i=this.method;if(this[Vi]&&!(i==="GET"||i==="HEAD")){this[fn]=void 0;const n={method:i==="TRACE"?"GET":i,headers:this.headers,signal:e.signal};i!=="TRACE"&&(n.body=new ReadableStream({start(o){o.close()}}),n.duplex="half");const t=new Vt(this[Ho],n);return i==="TRACE"&&Object.defineProperty(t,"method",{get(){return"TRACE"}}),this[Gi]=t}return this[Gi]=zG(this.method,this[Ho],this.headers,this[Ut],e)},get body(){if(!this[Vi])return this[jn]().body;const e=this[jn]();return!this[Xp]&&e.body&&(this[Xp]=e.body.getReader()),e.body},get bodyUsed(){return this[Vi]?!0:this[Gi]?this[Gi].bodyUsed:!1}};Object.defineProperty(Hi,"signal",{get(){return this[rc]().signal}});["cache","credentials","destination","integrity","mode","redirect","referrer","referrerPolicy","keepalive"].forEach(e=>{Object.defineProperty(Hi,e,{get(){return this[jn]()[e]}})});["clone","formData"].forEach(e=>{Object.defineProperty(Hi,e,{value:function(){if(this[Vi]){if(e==="clone")throw fs();return ba()}return this[jn]()[e]()}})});Object.defineProperty(Hi,"text",{value:function(){return nd(this,"text",e=>KG.decode(e))}});Object.defineProperty(Hi,"arrayBuffer",{value:function(){return nd(this,"arrayBuffer",e=>UG(e))}});Object.defineProperty(Hi,"blob",{value:function(){return nd(this,"blob",(e,i)=>{const n=qG(i),t=n?{headers:{"content-type":n}}:void 0;return new Response(e,t).blob()})}});Object.defineProperty(Hi,"json",{value:function(){return this[Vi]?ba():this.text().then(JSON.parse)}});Object.defineProperty(Hi,Symbol.for("nodejs.util.inspect.custom"),{value:function(e,i,n){return`Request (lightweight) ${n({method:this.method,url:this.url,headers:this.headers,nativeRequest:this[Gi]},{...i,depth:e==null?null:e-1})}`}});Object.setPrototypeOf(Hi,Vt.prototype);const aQ=(e,i)=>{const n=Object.create(Hi);n[Ut]=e,n[Zb]=iQ(e.method);const t=e.url||"";if(t[0]!=="/"&&(t.startsWith("http://")||t.startsWith("https://"))){if(e instanceof yn)throw new Bi("Absolute URL for :path is not allowed in HTTP/2");try{n[Ho]=new URL(t).href}catch(s){throw new Bi("Invalid absolute URL",{cause:s})}return n}const o=(e instanceof yn?e.authority:e.headers.host)||i;if(!o)throw new Bi("Missing host header");let a;if(e instanceof yn){if(a=e.scheme,!(a==="http"||a==="https"))throw new Bi("Unsupported scheme")}else a=e.socket&&e.socket.encrypted?"https":"http";try{n[Ho]=_G(a,o,t)}catch(s){throw s instanceof Bi?s:new Bi("Invalid URL",{cause:s})}return n},gn="text/plain; charset=UTF-8",cc=Symbol("responseCache"),Jt=Symbol("getResponseCache"),zi=Symbol("cache"),vs=global.Response;var Ji=class Mb{#n;#e;[Jt](){const i=this[zi],n=i&&i[2]instanceof Headers?i[2]:void 0;return delete this[zi],this[cc]||=new vs(this.#n,n?{status:this.#e?.status,statusText:this.#e?.statusText,headers:n}:this.#e)}constructor(i,n){let t;if(this.#n=i,n instanceof vs){const o=n[cc];if(o){this.#e=o,this[Jt]();return}this.#e=n instanceof Mb?n.#e:n,t=new Headers(n.headers)}else this.#e=n;(i==null||typeof i=="string"||typeof i?.getReader<"u"||i instanceof Blob||i instanceof Uint8Array)&&(this[zi]=[n?.status||200,i??null,t||n?.headers])}get headers(){const i=this[zi];return i?(i[2]instanceof Headers||(i[2]=new Headers(i[2]||(i[1]===null?void 0:{"content-type":gn}))),i[2]):this[Jt]().headers}get status(){return this[zi]?.[0]??this[Jt]().status}get ok(){const i=this.status;return i>=200&&i<300}};["body","bodyUsed","redirected","statusText","trailers","type","url"].forEach(e=>{Object.defineProperty(Ji.prototype,e,{get(){return this[Jt]()[e]}})});["arrayBuffer","blob","clone","formData","json","text"].forEach(e=>{Object.defineProperty(Ji.prototype,e,{value:function(){return this[Jt]()[e]()}})});Object.defineProperty(Ji.prototype,Symbol.for("nodejs.util.inspect.custom"),{value:function(e,i,n){return`Response (lightweight) ${n({status:this.status,headers:this.headers,ok:this.ok,nativeResponse:this[cc]},{...i,depth:e==null?null:e-1})}`}});Object.setPrototypeOf(Ji,vs);Object.setPrototypeOf(Ji.prototype,vs.prototype);const sQ=/^https?:\/\/[!#-;=?-[\]_a-z~A-Z]+$/,rQ=e=>e instanceof URL?e.href:sQ.test(e)?e:new URL(e).href,uQ=new Set([301,302,303,307,308]);Object.defineProperty(Ji,"redirect",{value:function(i,n=302){if(!uQ.has(n))throw new RangeError("Invalid status code");return new Ji(null,{status:n,headers:{location:rQ(i)}})},writable:!0,configurable:!0});Object.defineProperty(Ji,"json",{value:function(i,n){const t=JSON.stringify(i);if(t===void 0)throw new TypeError("The data is not JSON serializable");const o=n?.headers;let a;return o?(a=new Headers(o),a.has("content-type")||a.set("content-type","application/json")):a={"content-type":"application/json"},new Ji(t,{status:n?.status??200,statusText:n?.statusText,headers:a})},writable:!0,configurable:!0});async function cQ(e){return Promise.race([e,Promise.resolve().then(()=>Promise.resolve(void 0))])}function Hb(e,i,n){const t=r=>{e.cancel(r).catch(()=>{})};return i.on("close",t),i.on("error",t),(n??e.read()).then(s,o),e.closed.finally(()=>{i.off("close",t),i.off("error",t)});function o(r){r&&i.destroy(r)}function a(){e.read().then(s,o)}function s({done:r,value:u}){try{if(r)i.end();else if(!i.write(u))i.once("drain",a);else return e.read().then(s,o)}catch(c){o(c)}}}function Fp(e,i){if(e.locked)throw new TypeError("ReadableStream is locked.");return i.destroyed?void 0:Hb(e.getReader(),i)}const lc=(e,i)=>{const n={};if(e instanceof Headers||(e=new Headers(e??void 0)),e.has("set-cookie")){const t=[];for(const[o,a]of e)o==="set-cookie"?t.push(a):n[o]=a;t.length>0&&(n["set-cookie"]=t)}else for(const[t,o]of e)n[t]=o;return i&&(n["content-type"]??=i),n},ys=Symbol("outgoingEnded"),Wp=Symbol("incomingDraining"),lQ=500,dQ=64*1024*1024,Ib=e=>{const i=e;if(e.destroyed||i[Wp])return;if(i[Wp]=!0,e instanceof yn){try{e.stream?.close?.(Vk.NGHTTP2_NO_ERROR)}catch{}return}let n=0;const t=()=>{clearTimeout(a),e.off("data",s),e.off("end",t),e.off("error",t)},o=()=>{t();const r=e.socket;r&&!r.destroyed&&(typeof r.destroySoon=="function"?r.destroySoon():typeof r.destroy=="function"&&r.destroy())},a=setTimeout(o,lQ);a.unref?.();const s=r=>{n+=r.length,n>dQ&&o()};e.on("data",s),e.on("end",t),e.on("error",t),e.resume()},gQ=(e,i,n,t)=>()=>{i.errored?(Hp(i),e[uc](i.errored.toString())):n.writableFinished||(Hp(i),e[uc]("Client connection prematurely closed.")),t&&!i.readableEnded&&setTimeout(()=>{i.readableEnded||setTimeout(()=>{Ib(i)})})},hQ=e=>{if(!(zi in e))return!1;const i=e[zi][1];return i===null||typeof i=="string"||i instanceof Uint8Array},pQ=()=>new Response(null,{status:400}),Xb=e=>new Response(null,{status:e instanceof Error&&(e.name==="TimeoutError"||e.constructor.name==="TimeoutError")?504:500}),ms=(e,i)=>{const n=e instanceof Error?e:new Error("unknown error",{cause:e});n.code==="ERR_STREAM_PREMATURE_CLOSE"?console.info("The user aborted a request."):(console.error(e),i.headersSent||i.writeHead(500,{"Content-Type":"text/plain"}),i.end(`Error: ${n.message}`),i.destroy(n))},dc=e=>{"flushHeaders"in e&&e.writable&&e.flushHeaders()},_b=async(e,i)=>{let[n,t,o]=e[zi];if(!o){t===null?(i.writeHead(n),i.end()):typeof t=="string"?(i.writeHead(n,{"Content-Type":gn,"Content-Length":Buffer.byteLength(t)}),i.end(t)):t instanceof Uint8Array?(i.writeHead(n,{"Content-Type":gn,"Content-Length":t.byteLength}),i.end(t)):t instanceof Blob?(i.writeHead(n,{"Content-Type":gn,"Content-Length":t.size}),i.end(new Uint8Array(await t.arrayBuffer()))):(i.writeHead(n,{"Content-Type":gn}),dc(i),await Fp(t,i)?.catch(s=>ms(s,i))),i[ys]?.();return}let a=!1;if(o instanceof Headers)a=o.has("content-length"),o=lc(o,t===null?void 0:gn);else if(Array.isArray(o)){const s=new Headers(o);a=s.has("content-length"),o=lc(s,t===null?void 0:gn)}else for(const s in o)if(s.length===14&&s.toLowerCase()==="content-length"){a=!0;break}a||(typeof t=="string"?o["Content-Length"]=Buffer.byteLength(t):t instanceof Uint8Array?o["Content-Length"]=t.byteLength:t instanceof Blob&&(o["Content-Length"]=t.size)),i.writeHead(n,o),t==null?i.end():typeof t=="string"||t instanceof Uint8Array?i.end(t):t instanceof Blob?i.end(new Uint8Array(await t.arrayBuffer())):(dc(i),await Fp(t,i)?.catch(s=>ms(s,i))),i[ys]?.()},Fb=e=>typeof e.then=="function",fQ=async(e,i,n={})=>{if(Fb(e))if(n.errorHandler)try{e=await e}catch(o){const a=await n.errorHandler(o);if(!a)return;e=a}else e=await e.catch(Xb);if(zi in e)return _b(e,i);const t=lc(e.headers,e.body===null?void 0:gn);if(e.body){const o=e.body.getReader(),a=[];let s=!1,r;if(t["transfer-encoding"]!=="chunked"){let u=2;for(let c=0;c<u;c++){r||=o.read();const l=await cQ(r).catch(d=>{console.error(d),s=!0});if(!l){if(c===1){await new Promise(d=>setTimeout(d)),u=3;continue}break}if(r=void 0,l.value&&a.push(l.value),l.done){s=!0;break}}s&&!("content-length"in t)&&(t["content-length"]=a.reduce((c,l)=>c+l.length,0))}i.writeHead(e.status,t),a.forEach(u=>{i.write(u)}),s?i.end():(a.length===0&&dc(i),await Hb(o,i,r))}else t[ZG]||(i.writeHead(e.status,t),i.end());i[ys]?.()},vQ=(e,i={})=>{const n=i.autoCleanupIncoming??!0;return i.overrideGlobalObjects!==!1&&global.Request!==Vt&&(Object.defineProperty(global,"Request",{value:Vt}),Object.defineProperty(global,"Response",{value:Ji})),async(t,o)=>{let a,s,r=!1,u=!1;const c=()=>{!s||u||(u=!0,o.on("close",gQ(s,t,o,r)))};try{if(s=aQ(t,i.hostname),r=n&&!(t.method==="GET"||t.method==="HEAD"),r&&(t[Pb]=!0,t instanceof yn&&(o[ys]=()=>{t.readableEnded||setTimeout(()=>{t.readableEnded||setTimeout(()=>{t.destroy(),o.destroy()})})})),a=e(s,{incoming:t,outgoing:o}),!Fb(a)&&hQ(a))return r&&!t.readableEnded&&o.once("finish",()=>{t.readableEnded||Ib(t)}),_b(a,o);c()}catch(l){if(a)return ms(l,o);if(i.errorHandler){if(c(),a=await i.errorHandler(s?l:FG(l)),!a)return}else s?a=Xb(l):a=pQ()}try{return await fQ(a,o,i)}catch(l){return ms(l,o)}}},yQ=Symbol("CONNECTION_SYMBOL_KEY"),mQ=Symbol("WAIT_FOR_WEBSOCKET_SYMBOL"),bQ=new Set(["connection","content-length","keep-alive","proxy-authenticate","proxy-authorization","te","trailer","transfer-encoding","upgrade","sec-websocket-accept","sec-websocket-extensions","sec-websocket-protocol"]),Wb=(e,i)=>{i&&i.forEach((n,t)=>{bQ.has(t.toLowerCase())||e.push(`${t}: ${n}`)})},Gp=(e,i,n)=>{const t=["Connection: close","Content-Length: 0"];Wb(t,n),e.end(`HTTP/1.1 ${i.toString()} ${Kk[i]??""}\r
|
|
222
222
|
${t.join(`\r
|
|
223
223
|
`)}\r
|
|
224
224
|
\r
|
|
@@ -263,7 +263,7 @@ ${t.join(`\r
|
|
|
263
263
|
<p>Or run the full vis build:</p>
|
|
264
264
|
<pre><code>pnpm --filter @visulima/vis run build</code></pre>
|
|
265
265
|
</body>
|
|
266
|
-
</html>`;let In;const Uz=()=>{for(const e of Vz)try{if(Vn(e).isFile())return e}catch{}},qz=()=>{if(In!==void 0&&!process.env.VIS_DASHBOARD_NO_CACHE)return In;const e=Uz();if(!e)return In=rf,In;try{const i=ff(e,"utf8");return In=i,i}catch{return In=rf,In}},eK=e=>{if(e.length===0)return;const i=[...e].sort((t,o)=>t-o),n=Math.floor(i.length/2);return i.length%2===0?(i[n-1]+i[n])/2:i[n]},iK=e=>{const i=new Map;for(const t of e)if(Array.isArray(t.tasks))for(const o of t.tasks){if(!o.taskId)continue;const a=i.get(o.taskId)??{durations:[],failures:0,hits:0,misses:0,project:o.target?.project??"",runs:0,target:o.target?.target??"",taskId:o.taskId};o.cacheStatus==="HIT"||o.cacheStatus==="REMOTE_HIT"?(a.runs+=1,a.hits+=1):o.cacheStatus==="MISS"&&(a.runs+=1,a.misses+=1,typeof o.duration=="number"&&o.duration>0&&a.durations.push(o.duration),o.exitCode!==void 0&&o.exitCode!==0&&(a.failures+=1)),i.set(o.taskId,a)}const n=new Map;for(const[t,o]of i){const a=o.durations.length===0?0:o.durations.reduce((s,r)=>s+r,0)/o.durations.length;n.set(t,{averageDurationMs:a,failures:o.failures,hitRate:o.runs===0?0:o.hits/o.runs,hits:o.hits,misses:o.misses,project:o.project,runs:o.runs,target:o.target,taskId:t,timeSavedMs:a*o.hits})}return n},nK=e=>{const i=e,n=[...i].sort((m,j)=>(m.startTime??"").localeCompare(j.startTime??""));let t=0,o=0,a=0,s=0,r=0,u=0;const c=[],l=[],d=[];for(const m of n){const j=m.stats??{};t+=j.total??0,o+=j.succeeded??0,a+=j.failed??0,s+=j.cached??0,r+=j.skipped??0,typeof m.duration=="number"&&m.duration>0&&(u+=m.duration,c.push(m.duration),m.startTime&&d.push({timestamp:m.startTime,value:m.duration})),(j.total??0)>0&&m.startTime&&l.push({timestamp:m.startTime,value:(j.cached??0)/(j.total??1)})}const h=[...iK(n).values()],p=h.filter(m=>m.averageDurationMs>0).sort((m,j)=>j.averageDurationMs-m.averageDurationMs).slice(0,10),v=h.filter(m=>m.runs>=2).sort((m,j)=>j.timeSavedMs-m.timeSavedMs||j.hitRate-m.hitRate).slice(0,10),y=h.filter(m=>m.runs>=3&&m.hits>0&&m.misses>0).sort((m,j)=>j.misses/j.runs-m.misses/m.runs).slice(0,10),b=h.reduce((m,j)=>m+j.timeSavedMs,0);return{averageRunDurationMs:c.length===0?null:c.reduce((m,j)=>m+j,0)/c.length,cacheHitRate:s+o+a===0?null:s/(s+o+a),durationOverTime:d,hitRateOverTime:l,medianRunDurationMs:eK(c)??null,mostCachedTasks:v,mostInvalidatedTasks:y,slowestTasks:p,totals:{cached:s,estimatedTimeSavedMs:b,failed:a,runs:i.length,skipped:r,succeeded:o,tasks:t,totalDurationMs:u}}},tK=(e,i)=>{if(e===void 0||e==="")return!1;let n=e;if(n.startsWith("[")){const t=n.indexOf("]");n=t===-1?n.slice(1):n.slice(1,t)}else if(!n.includes("::")){const t=n.indexOf(":");n=t===-1?n:n.slice(0,t)}return n=n.toLowerCase(),n==="localhost"||n===i.toLowerCase()?!0:Qk(n)!==0},uf=(e,i)=>{const n=i.replaceAll(/[^\w.\-:]/g,"");if(n.length===0||n!==i)return;const t=w(Rn(e),`${n}.json`);if(L(t))try{return Oe(t)}catch{return}const o=bf(e);if(L(o))try{const a=Oe(o);return a.id===n?a:void 0}catch{return}},oK=async e=>{const i=new Set,n=Rn(e);try{await Gk(n,{recursive:!0})}catch{}let t,o;const a=r=>{o=r,t&&clearTimeout(t),t=setTimeout(()=>{if(t=void 0,!o)return;const u=o;o=void 0;for(const c of i)try{c(u)}catch{}},200)};let s;try{s=Dk(n,(r,u)=>{if(!u||typeof u!="string"||!u.endsWith(".json"))return;const c=u.slice(0,-5);a({id:c,type:"run-changed"})})}catch{s=void 0}return{close:()=>{t&&clearTimeout(t),s?.close(),i.clear()},subscribe:r=>(i.add(r),()=>{i.delete(r)})}},aK=(e,i)=>{const n=new iz;return n.use("*",async(t,o)=>tK(t.req.header("host"),e.host)?o():t.json({error:"Forbidden"},403)),n.get("/",t=>t.html(qz())),n.get("/api/overview",t=>{const o=Io(e.workspaceRoot),a=nK(o),s=Gz(e.workspaceRoot,{minRuns:2},o);return t.json({flaky:s,metrics:a})}),n.get("/api/runs",t=>{const a=Io(e.workspaceRoot).filter(s=>typeof s.id=="string"&&typeof s.startTime=="string"&&typeof s.endTime=="string"&&typeof s.duration=="number").map(s=>{const r=s.stats,u=r?{cached:typeof r.cached=="number"?r.cached:void 0,failed:typeof r.failed=="number"?r.failed:void 0,skipped:typeof r.skipped=="number"?r.skipped:void 0,succeeded:typeof r.succeeded=="number"?r.succeeded:void 0,total:typeof r.total=="number"?r.total:void 0}:void 0;return{duration:s.duration,endTime:s.endTime,id:s.id,startTime:s.startTime,stats:u}}).sort((s,r)=>r.startTime.localeCompare(s.startTime));return t.json({runs:a})}),n.get("/api/runs/:id",t=>{const o=uf(e.workspaceRoot,t.req.param("id"));return o?t.json(o):t.json({error:"Not found"},404)}),n.get("/api/runs/:runId/tasks/:taskId/diff",t=>{const o=uf(e.workspaceRoot,t.req.param("runId"));if(!o)return t.json({error:"Run not found"},404);const a=t.req.param("taskId"),s=o.tasks?.find(c=>c.taskId===a);if(!s)return t.json({error:"Task not found"},404);const r=Io(e.workspaceRoot),u=Kz(r,o.id,s);return t.json(u)}),n.get("/api/cache",async t=>{if(!L(e.cacheDirectory))return t.json({directory:e.cacheDirectory,entries:[],exists:!1,totalBytes:0});const o=await Dn(e.cacheDirectory),a=o.reduce((r,u)=>r+u.sizeBytes,0),s=Date.now();return t.json({directory:e.cacheDirectory,entries:o.map(r=>({ageMs:s-r.mtimeMs,hash:r.hash,mtimeIso:new Date(r.mtimeMs).toISOString(),sizeBytes:r.sizeBytes})),exists:!0,totalBytes:a})}),n.get("/api/environment",t=>t.json({arch:process.arch,cacheDirectory:e.cacheDirectory,node:process.version,platform:process.platform,workspaceRoot:e.workspaceRoot})),n.get("/api/events",t=>sz(t,async o=>{const a=[];let s;const r=i(c=>{if(a.push(c),s){const l=s;s=void 0,l()}});o.onAbort(()=>{if(r(),s){const c=s;s=void 0,c()}}),await o.writeSSE({data:JSON.stringify({ok:!0}),event:"ready"});const u=15e3;for(;!o.aborted;){if(a.length===0){const l=o.sleep(u),d=new Promise(g=>{s=g});if(await Promise.race([l,d]),o.aborted)break;if(a.length===0){await o.writeSSE({data:"",event:"heartbeat"});continue}}const c=a.shift();await o.writeSSE({data:JSON.stringify(c),event:"change"})}})),n},sK=async e=>{const i=await oK(e.workspaceRoot),n=aK(e,i.subscribe),t=SQ({fetch:n.fetch,hostname:e.host,port:e.port});await new Promise((c,l)=>{t.once("listening",()=>{c()}),t.once("error",d=>{l(d)})});const o=t.address(),a=typeof o=="object"&&o?o.port:e.port,u=`http://${e.host==="0.0.0.0"||e.host==="::"||e.host==="::0"?"localhost":e.host}:${String(a)}`;return{close:()=>new Promise((c,l)=>{i.close(),t.close(d=>{d?l(d):c()})}),port:a,url:u}},rK=e=>{const{platform:i}=process,[n,t]=i==="darwin"?["open",[e]]:i==="win32"?["cmd",["/c","start","",e]]:["xdg-open",[e]];Lk(n,t,o=>{})},uK={description:"Open a browser dashboard with cache, run history, and cache-miss diffs",examples:[["vis dashboard","Start the dashboard on a random port (server only — does not open a browser)"],["vis dashboard --open","Start the dashboard and open it in the default browser"],["vis dashboard --port=7788","Pin the server to a specific port"],["vis dashboard --host=0.0.0.0 --port=7788","Expose the dashboard on all interfaces"]],execute:async({options:e,process:i,visConfig:n,workspaceRoot:t})=>{const o=t??i.cwd,a=Rb(o,e.cacheDir,n?.taskRunner?.cacheDirectory),s=typeof e.port=="number"&&Number.isFinite(e.port)?e.port:0,r=typeof e.host=="string"&&e.host.length>0?e.host:"127.0.0.1",u=await sK({cacheDirectory:a,host:r,port:s,workspaceRoot:o});Y.success(`Dashboard listening on ${u.url}`),Y.info(`Workspace: ${o}`),Y.info(`Cache: ${a}`),Y.info("Press Ctrl+C to stop."),e.open===!0&&rK(u.url),await new Promise(c=>{let l=!1;const d=()=>{l||(l=!0,process.off("SIGINT",d),process.off("SIGTERM",d),(async()=>{try{await u.close()}catch{}finally{c()}})())};process.once("SIGINT",d),process.once("SIGTERM",d)})},group:"Workspace",name:"dashboard",options:[{defaultValue:0,description:"Port to bind the dashboard server to (0 = auto-assign)",name:"port",type:Number},{defaultValue:"127.0.0.1",description:"Host interface to bind to. Default binds to localhost only.",name:"host",type:String},{defaultValue:!1,description:"Open the dashboard in the default browser after starting",name:"open",type:Boolean},{description:"Cache directory to inspect (overrides config and default). Relative paths resolve against the workspace root.",name:"cache-dir",type:String}]},cK={check:{defaultValue:!1,description:"Preview changes without modifying files (dry-run)",type:Boolean}},lK=D({description:"Deduplicate dependencies using the detected package manager",examples:[["vis dedupe","Run deduplication"],["vis dedupe --check","Preview changes without modifying (CI-friendly)"]],group:"Dependencies",loader:()=>import("./handler9.js"),name:"dedupe",options:cK}),dK={ban:{description:"Ban a dep name or glob for this run (repeatable). Auto-enables --banned-deps.",multiple:!0,type:String},"banned-deps":{defaultValue:!1,description:"Lint deps against policy.bannedDeps in vis config",type:Boolean},"custom-types":{defaultValue:!1,description:"Lint engines.{node,pnpm}, packageManager, volta.*, devEngines.* for drift across packages",type:Boolean},"dead-workspace-patterns":{defaultValue:!1,description:"Flag workspace patterns (in `pnpm-workspace.yaml` / `package.json#workspaces`) that match zero packages",type:Boolean},dep:{description:"Restrict --workspace-versions to a single dep",type:String},"empty-deps":{defaultValue:!1,description:"Flag empty dependency blocks (`dependencies: {}`, `devDependencies: {}`, …) across the workspace",type:Boolean},fix:{defaultValue:!1,description:"Auto-fix violations in place (writes package.json files)",type:Boolean},"fix-specifier":{description:"Specifier used by --fix for workspace-protocol (default: workspace:*)",type:String},format:{description:"Output format: human, json, or minimal (default: human)",type:String},"missing-package-json":{defaultValue:!1,description:"Flag workspace directories that lack a package.json",type:Boolean},pin:{description:"Pin a dep to an exact specifier for this run, e.g. react@^18.2.0 (repeatable). Auto-enables --workspace-versions.",multiple:!0,type:String},"propose-min":{description:"Propose catalog entries for deps ≥N packages already agree on. Activates with --resolve catalog.",type:Number},quiet:{defaultValue:!1,description:"Suppress all output except errors",type:Boolean},"redefine-root":{defaultValue:!1,description:"Lint that no child re-declares a dep already pinned in the workspace root",type:Boolean},resolve:{description:"Conflict resolution for --workspace-versions: highest, lowest, or catalog (default: highest)",type:String},"root-deps":{defaultValue:!1,description:"Flag runtime dependencies on the private workspace root (move them to devDependencies)",type:Boolean},"root-package-manager":{defaultValue:!1,description:"Ensure the workspace root package.json declares a `packageManager` field",type:Boolean},"root-private":{defaultValue:!1,description:'Ensure the workspace root package.json sets `"private": true`',type:Boolean},"similar-deps":{defaultValue:!1,description:"Flag version drift across related dep families (react+react-dom, @babel/*, @storybook/*, …)",type:Boolean},"types-in-deps":{defaultValue:!1,description:"Flag `@types/*` declared in `dependencies` on a private package (should be in devDependencies)",type:Boolean},"workspace-protocol":{defaultValue:!1,description:"Lint that internal deps use the workspace: protocol",type:Boolean},"workspace-versions":{defaultValue:!1,description:"Lint that all packages declare external deps at the same version",type:Boolean}},gK=D({description:"Lint workspace dependency policies (workspace-protocol, banned-deps, redefine-root, workspace-versions, custom-types, empty-deps, root-private, root-package-manager, root-deps, missing-package-json, dead-workspace-patterns, types-in-deps, similar-deps)",examples:[["vis deps","Run every enabled lint and exit non-zero on failures"],["vis deps --workspace-protocol","Only check that internal deps use workspace:*"],["vis deps --workspace-protocol --fix","Auto-rewrite internal deps to use workspace:*"],["vis deps --redefine-root","Flag deps duplicated between root and child packages"],["vis deps --banned-deps","Flag deps matching policy.bannedDeps in vis config"],["vis deps --workspace-versions","Flag external deps declared at different versions across packages"],["vis deps --workspace-versions --fix","Rewrite drifting deps to the highest sibling version"],["vis deps --workspace-versions --dep react","Limit version-drift check to a single dep"],["vis deps --workspace-versions --resolve catalog --fix","Rewrite drifting deps to catalog: when a catalog already pins them"],["vis deps --workspace-versions --resolve catalog --propose-min 3","Suggest new catalog entries for deps ≥3 packages already agree on"],["vis deps --custom-types","Flag drift in engines.{node,pnpm}, packageManager, volta.{node,pnpm,yarn}, devEngines"],["vis deps --custom-types --fix","Align all engines/packageManager/volta versions to the highest sibling"],["vis deps --empty-deps --fix","Drop empty `dependencies` / `devDependencies` / etc. blocks across the workspace"],["vis deps --root-private --fix",'Ensure the workspace root package.json has "private": true'],["vis deps --root-package-manager","Ensure the root package.json declares a `packageManager` field"],["vis deps --root-deps --fix","Move runtime deps off the private workspace root into devDependencies"],["vis deps --missing-package-json","Flag workspace dirs that don't contain a package.json"],["vis deps --dead-workspace-patterns --fix","Drop workspace patterns that match zero packages"],["vis deps --types-in-deps --fix","Move @types/* out of dependencies on private packages"],["vis deps --similar-deps","Flag drift across related dep families (react+react-dom, @babel/*, …)"],["vis deps --ban left-pad --ban request","One-off ban: flag any package declaring left-pad or request"],["vis deps --pin react@18.2.0","One-off pin: flag any package declaring react at a different version"],["vis deps --format json","Emit findings as JSON for CI / editor integrations"]],group:"Security & Health",loader:()=>import("./handler68.js"),name:"deps",options:dK}),hK={output:{alias:"o",description:"Output path (default: .devcontainer/devcontainer.json)",type:String},template:{alias:"t",description:"Start from a template: node, node-pnpm, node-postgres, node-dind, fullstack, python, go, rust, java, devops, minimal, custom",type:String}},pK=D({alias:"dc",description:"Create or update .devcontainer/devcontainer.json interactively",examples:[["vis devcontainer","Launch interactive devcontainer config editor"],["vis dc","Alias for devcontainer"],["vis devcontainer --template node-pnpm","Start from Node.js + pnpm template"]],group:"Scaffold & Config",loader:()=>import("./handler77.js"),name:"devcontainer",options:hK}),rr="Workspace",fK={focus:{description:"Project name(s) to focus on — comma-separated for multiple",type:String},"include-sources":{defaultValue:!1,description:"Also copy focus project source trees to <out>/sources",type:Boolean},out:{description:"Output directory for the scaffold (default: .vis/docker)",type:String},...Ee({defaultValue:!0,description:"Rewrite the workspace lockfile to drop unfocused projects (use --no-prune-lockfile to copy verbatim)",name:"prune-lockfile",type:Boolean})},vK=D({commandPath:["docker"],description:"Build a minimal, cache-friendly Docker context for a focus project + its deps",examples:[["vis docker scaffold --focus=my-app","Generate .vis/docker/workspace for my-app + its deps"],["vis docker scaffold --focus=my-app --include-sources","Also copy focus source trees"],["vis docker scaffold --focus=my-app,other --out=.vis/docker","Focus multiple projects"]],group:rr,loader:W(()=>import("./handler60.js"),"scaffoldExecute"),name:"scaffold",options:fK}),yK={context:{description:"Scaffold root for prune (default: .vis/docker)",type:String}},mK=D({commandPath:["docker"],description:"Strip unfocused workspace projects from a scaffolded context (run inside a build stage)",examples:[["vis docker prune --context=.vis/docker","Strip unfocused projects inside a build stage"]],group:rr,loader:W(()=>import("./handler60.js"),"pruneExecute"),name:"prune",options:yK}),bK={"dry-run":{defaultValue:!1,description:"Print the Dockerfile to stdout instead of writing it",type:Boolean},focus:{description:"Focus project name for the build filter",type:String},force:{defaultValue:!1,description:"Overwrite an existing Dockerfile without prompting",type:Boolean},node:{description:"Node.js version tag for the base image (default: 22)",type:String}},wK=D({argument:{description:"Output path for the Dockerfile (default: ./Dockerfile)",name:"path",type:String},commandPath:["docker"],description:"Generate a multi-stage Dockerfile wired to the scaffold/prune flow (create-only)",examples:[["vis docker init","Generate ./Dockerfile for the detected package manager"],["vis docker init --focus=my-app","Target a specific project's build"],["vis docker init --node=24 --force","Use Node 24 and overwrite without prompting"],["vis docker init --dry-run","Print the Dockerfile instead of writing it"]],group:rr,loader:W(()=>import("./handler60.js"),"initExecute"),name:"init",options:bK}),kK={config:{description:"Path to a hadolint config (.hadolint.yaml)",type:String},fix:{defaultValue:!1,description:"Apply safe autofixes, then re-lint and report what remains",type:Boolean},install:{defaultValue:!1,description:"Download hadolint without prompting if it is missing",type:Boolean},json:{defaultValue:!1,description:"Emit findings as JSON",type:Boolean}},jK=D({argument:{description:"Dockerfile path(s) to lint (default: ./Dockerfile)",name:"file",type:String},commandPath:["docker"],description:"Lint a Dockerfile with hadolint (downloaded on demand); --fix applies safe autofixes",examples:[["vis docker lint","Lint ./Dockerfile (prompts to download hadolint on first use)"],["vis docker lint apps/web/Dockerfile","Lint a specific Dockerfile"],["vis docker lint --fix","Apply safe autofixes, then report what remains"],["vis docker lint --install --json","Auto-download hadolint and emit JSON"]],group:rr,loader:W(()=>import("./handler60.js"),"lintExecute"),name:"lint",options:kK}),SK=[vK,mK,wK,jK],CK={"exit-code":{defaultValue:!1,description:"Exit with code 1 if issues found",type:Boolean},filter:{description:"Comma-separated package name patterns to scope findings (supports * globs, e.g. '@types/*,react')",type:String},fix:{defaultValue:!1,description:"Auto-apply safe fixes (security overrides + codemods, SIGTERM orphans)",type:Boolean},"fix-force":{defaultValue:!1,description:"With --fix: escalate orphan cleanup to SIGKILL / taskkill /F (use when SIGTERM is ignored)",type:Boolean},format:{description:"Output format: table or json (default: table). Alias: --json",type:String},json:{defaultValue:!1,description:"Shorthand for --format json",type:Boolean},"no-cache":{defaultValue:!1,description:"Bypass the doctor result cache (~/.vis/cache/doctor)",type:Boolean},"no-progress":{defaultValue:!1,description:"Disable live progress UI (forces sequential logs)",type:Boolean},only:{description:"Comma-separated sections to run: dependencies,security,optimization,runtime",type:String},quiet:{defaultValue:!1,description:"Suppress per-section detail; print summary only",type:Boolean},skip:{description:"Comma-separated sections to skip",type:String},strict:{defaultValue:!1,description:"With --exit-code: also fail on outdated and duplicate deps, runtime warnings and uncovered env",type:Boolean}},LK=D({description:"Run a full project health check (outdated, security, duplicates, optimizations)",examples:[["vis doctor","Full project health check"],["vis doctor --fix","Check and auto-apply safe fixes"],["vis doctor --format json","Machine-readable output for CI"],["vis doctor --only security","Only run the security scans"],["vis doctor --skip optimization,runtime","Skip the listed sections"],["vis doctor --quiet","Summary only, no per-section breakdown"],["vis doctor --no-progress","Disable live progress UI (sequential logs)"],["vis doctor --exit-code","Exit with code 1 if security issues found"],["vis doctor --exit-code --strict","Fail on any issue (outdated, duplicates, security)"]],group:"Security & Health",loader:()=>import("./handler70.js"),name:"doctor",options:CK}),xK={check:{defaultValue:!1,description:"Report files that would change without writing",type:Boolean},format:{defaultValue:"human",description:"Output format: human, json, minimal, sarif, junit, or github",type:String},output:{description:"Write formatted output to a file path instead of stdout (also accepts `-`/`stdout`/`stderr`)",type:String},quiet:{defaultValue:!1,description:"Suppress per-file logs",type:Boolean},since:{description:"Only format files changed vs the given git ref (branch, tag, sha)",type:String},staged:{defaultValue:!1,description:"Only format files currently staged in the git index",type:Boolean},watch:{defaultValue:!1,description:"Re-run formatters whenever watched files change",type:Boolean}},TK=D({description:"Orchestrate detected formatters (prettier, …) across the workspace",examples:[["vis fmt","Apply formatting in place using every detected formatter"],["vis fmt --check","Report files that would change without writing"],["vis fmt --check --format json","Emit findings as JSON for CI / editor integrations"],["vis fmt --check --format sarif","Emit a SARIF 2.1.0 document for code-scanning uploads"],["vis fmt --check --format junit","Emit a JUnit XML report for CI dashboards"],["vis fmt --check --format github","Emit GitHub Actions workflow commands for inline PR annotations"],["vis fmt src/foo.ts src/bar.ts","Format a specific file list"],["vis fmt --quiet","Suppress per-file logs"],["vis fmt --since main","Only format files changed vs the main branch"],["vis fmt --staged","Only format files currently staged in the git index"],["vis fmt --watch","Re-run formatters when watched files change (cache makes incremental --check near-free)"],["vis fmt --check --format sarif --output fmt.sarif","Write the SARIF report to fmt.sarif instead of stdout"]],group:"Lint & Format",loader:()=>import("./handler61.js"),name:"fmt",options:xK}),YK={defaults:{defaultValue:!1,description:"Skip prompts; use template defaults",type:Boolean},describe:{defaultValue:!1,description:"Print template metadata (about, destination, variables) without running produce",type:Boolean},"dry-run":{defaultValue:!1,description:"Print planned writes without touching disk",type:Boolean},force:{defaultValue:!1,description:"Overwrite existing files without prompting",type:Boolean},json:{defaultValue:!1,description:"Emit JSON output (with --list or --describe)",type:Boolean},list:{defaultValue:!1,description:"List discovered templates",type:Boolean},"no-interactive":{defaultValue:!1,description:"Skip interactive prompts (errors on missing required values)",type:Boolean},"prefer-offline":{defaultValue:!1,description:"Prefer locally cached remote templates over re-downloading",type:Boolean},"skip-scripts":{defaultValue:!1,description:"Skip running post-generation scripts",type:Boolean},to:{description:"Destination directory",type:String}},DK=D({argument:{description:"Template name (or remote source like git://… or npm://…) — omit for interactive picker",name:"template",type:String},description:"Scaffold files from an in-repo template",examples:[["vis generate","Pick a template interactively"],["vis generate package","Run the 'package' template"],["vis generate component -- --name=Button --style=primary","Pre-fill option values"],["vis generate package --to=./packages/new --force","Custom destination + overwrite"],["vis generate package --dry-run","Print planned writes without touching disk"],["vis generate git://github.com/org/template#main","Fetch and run a remote template"],["vis generate --list","Show discovered templates"],["vis generate --list --json","Machine-readable template list"],["vis generate package --describe --json","Print template metadata (variables, destination) as JSON"]],group:"Scaffold & Config",loader:()=>import("./handler62.js"),name:"generate",options:YK}),$K={depth:{alias:"d",description:"Maximum dependency tree depth for ASCII output (default: unlimited)",type:Number},format:{alias:"f",defaultValue:void 0,description:"Output format: tui, ascii, dot, json, html (default: tui in TTY, ascii otherwise)",type:String},output:{alias:"o",description:"Write output to file instead of stdout",type:String}},EK=D({description:"Visualize the project dependency graph",examples:[["vis graph","Show colored dependency graph (TUI in TTY, ASCII otherwise)"],["vis graph --format=ascii","Force ASCII tree output"],["vis graph --format=dot","Output in Graphviz DOT format"],["vis graph --format=html --output=graph.html","Generate interactive HTML graph"],["vis graph --format=json --output=graph.json","Save JSON graph to file"]],group:"Workspace",loader:()=>import("./handler74.js"),name:"graph",options:$K}),yt={defaultValue:$c,description:"Custom hooks directory",name:"hooks-dir",type:String},mt=[{defaultValue:void 0,description:"Set to 0 to disable git hooks, 1 to force-enable them under CI (override skipInCI), 2 for debug output",name:"VIS_GIT_HOOKS",type:String}],BK={commandPath:["hook"],description:"Install git hooks for the workspace (migrates husky / prek on prompt)",env:[...mt],examples:[["vis hook install","Install git hooks in .vis/hooks/"],["vis hook install --hooks-dir=.githooks","Install hooks in a custom directory"],["vis hook install --force","Take over core.hooksPath even when another tool set it"]],group:"Git Hooks",loader:()=>import("./handler72.js").then(e=>({default:e.hookInstallExecute})),name:"install",options:[yt,{defaultValue:!1,description:"Overwrite core.hooksPath even when it points somewhere unexpected",name:"force",type:Boolean}]},RK={commandPath:["hook"],description:"Remove git hooks and reset core.hooksPath",env:[...mt],examples:[["vis hook uninstall","Remove git hooks and reset core.hooksPath"]],group:"Git Hooks",loader:()=>import("./handler72.js").then(e=>({default:e.hookUninstallExecute})),name:"uninstall",options:[yt]},OK={commandPath:["hook"],description:"Migrate from husky or prek to vis hooks (auto-detected)",env:[...mt],examples:[["vis hook migrate","Migrate from husky or prek to vis hooks (auto-detected)"],["vis hook migrate --dry-run","Preview what a migration would write without touching disk"]],group:"Git Hooks",loader:()=>import("./handler72.js").then(e=>({default:e.hookMigrateExecute})),name:"migrate",options:[yt,{defaultValue:!1,description:"Preview migrate without writing files",name:"dry-run",type:Boolean}]},JK={commandPath:["hook"],description:"Show configured hooks grouped by stage",env:[...mt],examples:[["vis hook list","Show configured hooks grouped by stage"]],group:"Git Hooks",loader:()=>import("./handler72.js").then(e=>({default:e.hookListExecute})),name:"list",options:[yt]},PK={commandPath:["hook"],description:"Sanity-check installed hooks and the bundled runner",env:[...mt],examples:[["vis hook validate","Sanity-check installed hooks and the bundled runner"]],group:"Git Hooks",loader:()=>import("./handler72.js").then(e=>({default:e.hookValidateExecute})),name:"validate",options:[yt]},NK={argument:{description:"Hook stage to run (e.g. pre-commit, commit-msg). Defaults to pre-commit.",name:"stage",type:String},commandPath:["hook"],description:"Run a specific hook stage against tracked files",env:[...mt],examples:[["vis hook run pre-commit --all-files","Run the pre-commit hooks against every tracked file"],["vis hook run pre-commit --from-ref=main --to-ref=HEAD","Run pre-commit hooks on files changed between two refs"],["vis hook run pre-commit --last-commit","Shortcut for --from-ref HEAD~1 --to-ref HEAD"]],group:"Git Hooks",loader:()=>import("./handler72.js").then(e=>({default:e.hookRunExecute})),name:"run",options:[yt,{defaultValue:!1,description:"Run against every tracked file",name:"all-files",type:Boolean},{defaultValue:void 0,description:"Include files changed since this ref",name:"from-ref",type:String},{defaultValue:void 0,description:"Include files changed up to this ref",name:"to-ref",type:String},{defaultValue:!1,description:"Shortcut for --from-ref HEAD~1 --to-ref HEAD",name:"last-commit",type:Boolean}]},ZK={argument:{description:"Target to add (currently: `secrets`)",name:"target",type:String},commandPath:["hook"],description:"Add a managed hook snippet (e.g. `vis secrets --staged`)",env:[...mt],examples:[["vis hook add secrets","Add a pre-commit hook that runs `vis secrets --staged`"]],group:"Git Hooks",loader:()=>import("./handler72.js").then(e=>({default:e.hookAddExecute})),name:"add",options:[yt]},AK=[BK,RK,OK,JK,PK,NK,ZK],MK={json:{defaultValue:!1,description:"Emit the result as JSON",type:Boolean},target:{description:"Ignore-file target: docker | vercel | npm | slug (default: docker)",type:String},write:{defaultValue:!1,description:"Write the result to disk instead of printing to stdout",type:Boolean}},HK=D({description:"Generate or merge an ignore file (.dockerignore/.vercelignore/.npmignore/.slugignore) without duplicate entries",examples:[["vis ignore","Print a .dockerignore (deduped against an existing one)"],["vis ignore --write","Write/merge the .dockerignore in place"],["vis ignore --target=vercel --write","Write a deduped .vercelignore"],["vis ignore --target=npm --json","Emit the npm-target result as JSON"]],group:"Scaffold & Config",loader:()=>import("./handler53.js"),name:"ignore",options:MK}),IK={yes:{alias:"y",defaultValue:!1,description:"Skip confirmation prompt",type:Boolean}},XK=D({description:"Remove vis from the system (self-uninstall)",examples:[["vis implode","Interactive uninstall"],["vis implode --yes","Non-interactive uninstall (CI)"]],group:"System",loader:()=>import("./handler10.js"),name:"implode",options:IK}),_K={"dry-run":{defaultValue:!1,description:"Print the git plan instead of executing it",type:Boolean},message:{alias:"m",description:"Commit message for the subtree merge",type:String},"no-register":{defaultValue:!1,description:"Do not register the package into the workspace config",type:Boolean},prefix:{alias:"p",description:"Target directory in the monorepo (e.g. packages/tooling/foo)",type:String},ref:{alias:"r",description:"Branch, tag, or commit to import (default: HEAD)",type:String},squash:{defaultValue:!1,description:"Collapse the incoming history into a single merge commit",type:Boolean}},FK=D({argument:{description:"Source git repository URL or local path to import",name:"source",type:String},description:"Import an external repo into the monorepo under a prefix, preserving history",examples:[["vis import git@github.com:me/foo.git --prefix packages/tooling/foo","Import a repo under packages/tooling/foo"],["vis import ../foo --prefix packages/foo --ref v1.2.0","Import a specific tag/branch/commit"],["vis import ../foo --prefix packages/foo --squash","Collapse the incoming history into one commit"],["vis import ../foo --prefix packages/foo --dry-run","Print the git plan without making changes"]],group:"Workspace",loader:()=>import("./handler54.js"),name:"import",options:_K}),WK={json:{defaultValue:!1,description:"Output as JSON",type:Boolean}},GK=D({alias:"view",argument:{description:"Package name followed by optional metadata fields (e.g. 'react version dependencies')",name:"args",type:String},description:"Show npm registry metadata for a package (alias of `npm view` / `pnpm view` / `yarn info` / `bun pm view`)",examples:[["vis info react","Full registry metadata for react"],["vis info react version","Latest version only"],["vis info react versions","All published versions"],["vis info react@18 dependencies","Dependencies of react@18"],["vis info react --json","Emit JSON"],["vis view react","Alias matching npm/pnpm"]],group:"Dependencies",loader:()=>import("./handler11.js"),name:"info",options:WK}),QK={force:{defaultValue:!1,description:"Overwrite existing config file",type:Boolean},"no-interactive":{defaultValue:!1,description:"Skip interactive prompts",type:Boolean},schema:{defaultValue:!1,description:"Print workspace-relative $schema paths for project.json and vis.config.ts, then exit",type:Boolean},"sync-native":{defaultValue:!1,description:"Sync settings to native PM config files",type:Boolean}},zK=D({description:"Initialize vis.config.ts with best-practice security defaults",examples:[["vis init","Interactive setup wizard"],["vis init --no-interactive","Create minimal config without prompts"],["vis init --force","Overwrite existing config"],["vis init --sync-native","Also sync to native PM config files"],["vis init --schema","Print the workspace-relative `$schema` refs to paste into project.json and vis.config.ts"]],group:"Scaffold & Config",loader:()=>import("./handler12.js"),name:"init",options:QK}),KK={json:{defaultValue:!1,description:"Emit findings as a JSON document instead of the human-readable table.",type:Boolean},only:{description:"Comma-separated subset of marshalls to run. Known: author, archivedRepo, downloads, expiredDomains, metadata, newBin, provenance, signatures. Signatures only runs when explicitly requested here.",type:String},strict:{defaultValue:!1,description:"Exit non-zero on any finding (warnings included). Default exits non-zero only on errors.",type:Boolean}},VK=D({argument:{description:"Package to inspect, optionally pinned: `<name>` or `<name>@<spec>`. `<spec>` may be a version, range, or dist-tag.",name:"package"},description:"Run all marshalls against a package without installing it",examples:[["vis inspect express","Run every marshall against express@latest"],["vis inspect lodash@4.17.21","Pin to an exact version"],["vis inspect react@^18","Resolve a semver range, then inspect the best match"],["vis inspect express --json","Emit findings as JSON for CI integration"],["vis inspect express --strict","Exit non-zero on any warning, not just errors"],["vis inspect express --only author,downloads","Run a subset of marshalls"],["vis inspect express --only signatures","Signatures are off by default; opt in with --only"]],group:"Security & Health",loader:()=>import("./handler13.js"),name:"inspect",options:KK}),UK={ci:{defaultValue:!1,description:"Clean install: wipe node_modules then install with frozen lockfile",type:Boolean},dev:{alias:"D",conflicts:"prod",description:"Install devDependencies only (no positional args) / add as dev (with positional args, npm-style)",type:Boolean},exact:{alias:"E",defaultValue:!1,description:"Save exact version (only with positional args; mirrors `npm install -E`)",type:Boolean},filter:{alias:"F",description:"Filter by workspace package name",multiple:!0,type:String},force:{alias:"f",defaultValue:!1,description:"Force reinstall all dependencies",type:Boolean},"frozen-lockfile":{description:"Use frozen lockfile (CI mode, maps to npm ci)",type:Boolean},installer:{description:"Pick the installer explicitly. One of: auto, aube, pnpm, npm, yarn, bun. Overrides VIS_INSTALLER and install.backend in vis.config.",type:String},"lockfile-only":{defaultValue:!1,description:"Update lockfile without installing",type:Boolean},"no-aube":{defaultValue:!1,description:"Skip aube and use the lockfile-detected PM. Wins over --installer / VIS_INSTALLER / install.backend.",type:Boolean},"no-frozen-lockfile":{defaultValue:!1,description:"Opt out of vis's default frozen-lockfile behavior and allow lockfile updates",type:Boolean},"no-marshall-check":{defaultValue:!1,description:"Skip the offline marshall pipeline (only with positional args; mirrors `vis add --no-marshall-check`)",type:Boolean},"no-optional":{defaultValue:!1,description:"Skip optional dependencies",type:Boolean},"no-socket-check":{defaultValue:!1,description:"Skip Socket.dev security check (only with positional args; mirrors `vis add --no-socket-check`)",type:Boolean},"no-typosquat-check":{defaultValue:!1,description:"Skip typosquat name check",type:Boolean},offline:{defaultValue:!1,description:"Use only cached packages",type:Boolean},"prefer-offline":{defaultValue:!1,description:"Prefer cached packages, fall back to network when missing",type:Boolean},prod:{alias:"P",conflicts:"dev",description:"Skip devDependencies (no positional args) / add as peer (with positional args, npm-style)",type:Boolean},recursive:{alias:"r",defaultValue:!1,description:"Install in all workspace packages",type:Boolean},"run-scripts":{defaultValue:!1,description:"Run lifecycle scripts (opts out of vis's default block-by-default policy; allowlisted packages run via security.policies.installScripts.allow)",type:Boolean},"save-optional":{defaultValue:!1,description:"Add as optional dependency (only with positional args; mirrors `npm install -O`)",type:Boolean},silent:{alias:"s",defaultValue:!1,description:"Suppress output",type:Boolean},"workspace-root":{alias:"w",defaultValue:!1,description:"Target workspace root",type:Boolean}},qK=D({alias:"i",argument:{description:"Optional package names. When provided, delegates to `vis add` (enables npm-style `alias npm='vis install'` wrappers).",name:"packages",type:String},description:"Install dependencies using the detected package manager",examples:[["vis install","Install all dependencies (frozen-lockfile by default when a lockfile is present)"],["vis install react react-dom","Delegates to `vis add` — enables shell aliases like `alias npm='vis install'`"],["vis i --no-frozen-lockfile","Allow lockfile updates (escape hatch for the default)"],["vis install --ci","Clean install: wipe node_modules + frozen lockfile (mirrors npm ci / pnpm ci)"],["vis install --prefer-offline","Use cached packages when available, fall back to network"],["vis install --prod","Install production dependencies only"],["vis install --filter app","Install for specific workspace package"],["vis install --run-scripts","Run lifecycle scripts (opts out of vis's default block-by-default policy; allowlisted packages run via security.policies.installScripts.allow)"],["vis install --no-typosquat-check","Skip typosquat name check"],["vis install --installer aube","Force aube as the installer (errors if not on PATH)"],["vis install --no-aube","Bypass aube; use the lockfile-detected PM"]],group:"Dependencies",loader:()=>import("./handler14.js"),name:"install",options:UK}),eV={alias:"ln",argument:{description:"Package name or directory path to link (omit to register current package)",name:"target",type:String},description:"Link a local package for development",examples:[["vis link ./packages/utils","Link local directory package (works on all PMs)"],["vis link","Register current package globally (pnpm <=10, yarn, npm, bun)"],["vis link react","Link global package into current project (pnpm <=10, yarn, npm, bun)"]],group:"Dependencies",loader:()=>import("./handler16.js"),name:"link"},iV={fix:{defaultValue:!1,description:"Apply auto-fixes in place",type:Boolean},format:{defaultValue:"human",description:"Output format: human, json, minimal, sarif, junit, or github",type:String},"max-warnings":{description:"Fail the run if more than N warnings are reported",type:Number},output:{description:"Write formatted output to a file path instead of stdout (also accepts `-`/`stdout`/`stderr`)",type:String},quiet:{defaultValue:!1,description:"Suppress warnings — report errors only",type:Boolean},since:{description:"Only lint files changed vs the given git ref (branch, tag, sha)",type:String},staged:{defaultValue:!1,description:"Only lint files currently staged in the git index",type:Boolean},watch:{defaultValue:!1,description:"Re-run linters whenever watched files change",type:Boolean}},nV=D({description:"Orchestrate detected source-code linters (eslint, …) across the workspace",examples:[["vis lint","Run every detected linter against the workspace"],["vis lint --fix","Apply auto-fixes where the tool supports them"],["vis lint --format json","Emit findings as JSON for CI / editor integrations"],["vis lint --format sarif","Emit a SARIF 2.1.0 document for code-scanning uploads"],["vis lint --format junit","Emit a JUnit XML report for CI dashboards"],["vis lint --format github","Emit GitHub Actions workflow commands for inline PR annotations"],["vis lint src/foo.ts src/bar.ts","Lint a specific file list"],["vis lint --quiet","Suppress warnings — only errors are reported"],["vis lint --max-warnings 0","Treat any warning as a failure"],["vis lint --since main","Only lint files changed vs the main branch"],["vis lint --staged","Only lint files currently staged in the git index"],["vis lint --watch","Re-run linters when watched files change (cache makes incremental near-free)"],["vis lint --format sarif --output lint.sarif","Write the SARIF report to lint.sarif instead of stdout"]],group:"Lint & Format",loader:()=>import("./handler65.js"),name:"lint",options:iV}),tV={"dep-type":{description:"Restrict --deps to specific dep blocks (repeatable)",multiple:!0,type:String},deps:{defaultValue:!1,description:"Render a dep-instance view (table by default; use --format=ndjson|json for jq-friendly streams)",type:Boolean},exclude:{description:"With --deps: glob of declaring package names to drop (repeatable)",multiple:!0,type:String},"external-only":{defaultValue:!1,description:"With --deps: only show external/registry deps",type:Boolean},format:{description:"Output format: table (default), json (single document), or ndjson (one record per line; --deps only)",type:String},include:{description:"With --deps: glob of declaring package names to keep (repeatable)",multiple:!0,type:String},inferred:{defaultValue:!1,description:"Filter target rows to only inferred targets (implies --targets)",type:Boolean},"internal-only":{defaultValue:!1,description:"With --deps: only show internal/workspace deps",type:Boolean},json:{defaultValue:!1,description:"Shorthand for --format=json",type:Boolean},pretty:{defaultValue:!1,description:"Pretty-print with 2-space indent (only meaningful with --format=json)",type:Boolean},query:{description:"Filter projects by query",type:String},tag:{description:'Only list projects carrying one of these tags (repeatable, or comma-separated). Shorthand for --query="tag=…".',multiple:!0,type:String},targets:{defaultValue:!1,description:"Show per-target rows (type, cache, description)",type:Boolean}},oV=D({description:"List all workspace projects with metadata",examples:[["vis list","Show all projects"],["vis list --targets","Per-target rows with type, cache status and description"],["vis list --targets --inferred","Only show targets synthesized by Project Crystal-style inference"],["vis list --deps","Human-readable table of every dep-instance across the workspace"],["vis list --deps --internal-only","Only workspace deps in human form"],["vis list --deps --format=ndjson","Stream every dep-instance as NDJSON for jq pipelines"],["vis list --deps --format=json --pretty","Single pretty-printed JSON array of dep-instances"],["vis list --format=json","Machine-readable project listing"],["vis list --json","Same, shorthand"],['vis list --query "tag=frontend"',"Filter by query"],["vis list --tag=type:package","Filter by tag (shorthand for the query above)"]],group:"Workspace",loader:()=>import("./handler55.js"),name:"list",options:tV}),ci={"dry-run":{defaultValue:!1,description:"Preview changes without applying",type:Boolean},yes:{alias:"y",defaultValue:!1,description:"Skip the confirmation prompt",type:Boolean}},aV={...ci},sV=D({commandPath:["migrate"],description:"Migrate dependencies and scripts to vis",group:"Migrate",loader:W(()=>import("./handler58.js"),"migrateDepsExecute"),name:"deps",options:aV}),rV={...ci},uV=D({commandPath:["migrate"],description:"Inline lint-staged configuration into vis",group:"Migrate",loader:W(()=>import("./handler58.js"),"migrateLintStagedExecute"),name:"lint-staged",options:rV}),cV={...ci},lV=D({commandPath:["migrate"],description:"Inline nano-staged configuration into vis",group:"Migrate",loader:W(()=>import("./handler58.js"),"migrateNanoStagedExecute"),name:"nano-staged",options:cV}),dV={...ci},gV=D({commandPath:["migrate"],description:"Migrate turborepo tasks/config to vis",group:"Migrate",loader:W(()=>import("./handler58.js"),"migrateTurborepoExecute"),name:"turborepo",options:dV}),hV={...ci,aggressive:{defaultValue:!1,description:"Auto-apply the safe cleanup items the migrator would otherwise leave on the checklist: delete nx.json + ignore-files-for-nx-affected.yml, strip nx/@nx/*/@nrwl/* devDependencies, rewrite mechanical `nx run-many|run|affected` scripts. Implies --force.",type:Boolean},force:{defaultValue:!1,description:"Overwrite an existing vis.config.ts (a .bak is taken first)",type:Boolean},"rewrite-sync-generators":{defaultValue:!1,description:"For each project.json `syncGenerators`, add a `pre<target>` script to sibling package.json (with a TODO for the user to wire up)",type:Boolean}},pV=D({commandPath:["migrate"],description:"Migrate nx targets/config to vis",group:"Migrate",loader:W(()=>import("./handler58.js"),"migrateNxExecute"),name:"nx",options:hV}),fV={...ci,"copy-templates":{defaultValue:!1,description:"Copy .moon/templates/* into .vis/templates/* so `vis generate` works without .moon/",type:Boolean}},vV=D({commandPath:["migrate"],description:"Migrate moon tasks/templates to vis",group:"Migrate",loader:W(()=>import("./handler58.js"),"migrateMoonExecute"),name:"moon",options:fV}),yV={...ci},mV=D({commandPath:["migrate"],description:"Migrate gitleaks config/baseline/hooks to `vis secrets`",examples:[["vis migrate gitleaks","Migrate gitleaks config/baseline/hooks to `vis secrets`"]],group:"Migrate",loader:W(()=>import("./handler58.js"),"migrateGitleaksExecute"),name:"gitleaks",options:yV}),bV={...ci},wV=D({commandPath:["migrate"],description:"Migrate Kingfisher baseline/hooks/scripts to `vis secrets`",examples:[["vis migrate kingfisher","Migrate Kingfisher baseline/hooks/scripts to `vis secrets`"]],group:"Migrate",loader:W(()=>import("./handler58.js"),"migrateKingfisherExecute"),name:"kingfisher",options:bV}),kV={...ci},jV=D({commandPath:["migrate"],description:"Replace secretlint with `vis secrets`",examples:[["vis migrate secretlint","Replace secretlint with `vis secrets`"]],group:"Migrate",loader:W(()=>import("./handler58.js"),"migrateSecretlintExecute"),name:"secretlint",options:kV}),SV={...ci},CV=D({commandPath:["migrate"],description:"Translate syncpack customTypes into vis policy and strip the syncpack dep/scripts",examples:[["vis migrate syncpack","Translate syncpack customTypes into vis policy and strip the syncpack dep/scripts"]],group:"Migrate",loader:W(()=>import("./handler58.js"),"migrateSyncpackExecute"),name:"syncpack",options:SV}),LV={...ci},xV=D({commandPath:["migrate"],description:"Strip sherif config/dep/scripts and surface ignore-rules as a positive `vis lint --<rule>` command",examples:[["vis migrate sherif","Strip sherif config/dep/scripts and surface ignore-rules as a positive `vis lint --<rule>` command"]],group:"Migrate",loader:W(()=>import("./handler58.js"),"migrateSherifExecute"),name:"sherif",options:LV}),TV={...ci},YV=D({commandPath:["migrate"],description:"Auto-rewrite vis.config.ts to use renamed fields (targetDefaults → tasks, taskDefaults → scopedTasks, taskRunnerOptions → taskRunner)",examples:[["vis migrate self","Rewrite vis.config.ts in-place (a .bak is taken first)"],["vis migrate self --dry-run","Preview the rewrite without writing"]],group:"Migrate",loader:W(()=>import("./handler58.js"),"migrateSelfExecute"),name:"self",options:TV}),DV={},$V=D({commandPath:["migrate"],description:"Audit the workspace for stray gitleaks/secretlint/sherif/syncpack references (exit 1 on issues)",examples:[["vis migrate verify","Audit the workspace for stray gitleaks/secretlint/sherif/syncpack references (exit 1 on issues)"]],group:"Migrate",loader:W(()=>import("./handler58.js"),"migrateVerifyExecute"),name:"verify",options:DV}),EV={"fail-on":{description:"Exit non-zero on: error (default) | warning",type:String},format:{description:"Output format: table | json | ndjson (default: table)",type:String},from:{description:"Source tool to compare against (turbo|nx|moon). Auto-detected when omitted.",type:String}},BV=D({commandPath:["migrate"],description:"Prove a turbo/nx/moon → vis migration preserved the task graph + cache-key surface (exit 1 on divergence)",examples:[["vis migrate verify-graph","Auto-detect the source tool and diff its task graph against the migrated vis.config.ts"],["vis migrate verify-graph --from turbo --format json","Machine-readable equivalence report on stdout (Axis A)"],["vis migrate verify-graph --fail-on warning","Also gate CI on additive/extra-target warnings"]],group:"Migrate",loader:W(()=>import("./handler58.js"),"migrateVerifyGraphExecute"),name:"verify-graph",options:EV}),RV={...ci},OV=D({commandPath:["migrate"],description:"Run every applicable migration non-interactively (autodetected)",examples:[["vis migrate all --yes","Run every detected migration without prompting (CI-friendly)"],["vis migrate all --dry-run","Preview every detected migration without writing files"]],group:"Migrate",loader:W(()=>import("./handler58.js"),"migrateAllExecute"),name:"all",options:RV}),JV=[OV,sV,uV,lV,gV,pV,vV,YV,mV,wV,jV,CV,xV,$V,BV],PV={"dry-run":{alias:"d",defaultValue:!1,description:"Preview available optimizations without applying",type:Boolean},format:{description:"Output format: table or json (default: table)",type:String},"no-install":{defaultValue:!1,description:"Skip running install after applying overrides",type:Boolean},pin:{defaultValue:!1,description:"Pin Socket.dev overrides to exact versions",type:Boolean},prod:{defaultValue:!1,description:"Only optimize production dependencies",type:Boolean}},NV=D({description:"Analyze and optimize dependencies using e18e replacements and @socketregistry overrides",examples:[["vis optimize","Interactive TUI to select and apply optimizations"],["vis optimize --dry-run","Preview available optimizations"],["vis optimize --pin","Pin Socket.dev overrides to exact versions"],["vis optimize --prod","Only optimize production dependencies"]],group:"Workspace",loader:()=>import("./handler69.js").then(e=>e.h),name:"optimize",options:PV}),ZV={argument:{description:"Subcommand and arguments (e.g., cache dir, publish --dry-run, list --depth 0)",name:"args",type:String},description:"Package manager utilities (cache, publish, audit, list, config, etc.)",examples:[["vis pm cache dir","Show cache directory"],["vis pm cache clean","Clean cache"],["vis pm publish --dry-run","Preview publishing"],["vis pm list --depth 0","List direct dependencies"],["vis pm audit","Run security audit"],["vis pm whoami","Show logged-in user"]],group:"System",loader:()=>import("./handler17.js"),name:"pm"},AV={empty:{description:"Author an empty change file (no bumps; satisfies non-strict `check`)",type:Boolean},"from-bot-pr":{description:"Inspect the current PR (via `gh pr view`) and author a change file from its Dependabot / Renovate title (changesets #647)",type:Boolean},message:{description:"Changelog body for the change file",type:String},name:{description:"Slug for the filename (default: random animal name)",type:String},none:{description:"Author a `none` change file (acknowledged but no direct bump)",type:Boolean},packages:{description:"Comma-separated package:level pairs (e.g. '@scope/a:minor,@scope/b:patch')",type:String}},MV=D({commandPath:["release"],description:"Author a new change file (interactive, or non-interactive via --packages)",examples:[["vis release add","Interactive prompt"],["vis release add --packages '@scope/cerebro:minor,@scope/string:patch' --message 'Add tab completion'","Non-interactive"],["vis release add --empty","Author an empty change file (acknowledges PR but releases nothing)"],["vis release add --name fix-tab-completion","Use a fixed slug instead of a random animal name"],["vis release add --from-bot-pr","Generate a change file from the current Dependabot / Renovate PR (changesets #647)"]],group:"Release",loader:()=>import("./handler31.js"),name:"add",options:AV}),HV={channel:{description:"Override channel (defaults to current branch lookup)",type:String},filter:{description:"Limit to packages matching this glob (CSV)",type:String},json:{description:"Emit machine-readable JSON",type:Boolean},"print-config":{description:"Print the resolved release config and exit (--print-config=debug for runtime-resolved fields)",type:String}},IV=D({commandPath:["release"],description:"Render the would-be changelog entries without writing to disk",examples:[["vis release changelog","Print rendered entries for the pending plan"],["vis release changelog --json","Emit ChangelogResult (with projectChangelogs[]) as JSON"]],group:"Release",loader:()=>import("./handler32.js"),name:"changelog",options:HV}),XV={hook:{description:"Hook context (pre-commit, pre-push) — affects which file states are counted",type:String},"no-fail":{description:"Always exit 0; warnings still print to stderr",type:Boolean},"print-config":{description:"Print the resolved release config and exit (--print-config=debug for runtime-resolved fields)",type:String},strict:{description:"Require every changed package to have its own non-empty change file",type:Boolean}},_V=D({commandPath:["release"],description:"Verify pending change files cover changed packages — CI / husky gate",examples:[["vis release check","Pass if at least one change file exists"],["vis release check --strict","Fail if any changed package isn't covered by a change file"],["vis release check --hook pre-commit","Run as a husky pre-commit hook"],["vis release check --no-fail","Print warnings but always exit 0"]],group:"Release",loader:()=>import("./handler33.js"),name:"check",options:XV}),FV={"no-fail":{description:"Always exit 0 (warnings still print)",type:Boolean},"print-config":{description:"Print the resolved release config and exit (--print-config=debug for runtime-resolved fields)",type:String},strict:{description:"Require every changed package to be covered by a change file",type:Boolean}},WV=D({commandPath:["release","ci"],description:"CI: post or update a sticky PR comment with the pending release plan",examples:[["vis release ci check","Resolve PR from GITHUB_REF, post/update the release plan comment"],["vis release ci check --strict","Fail if any changed package isn't covered"]],group:"Release",loader:()=>import("./handler34.js"),name:"check",options:FV}),GV={"print-config":{description:"Print the resolved release config and exit (--print-config=debug for runtime-resolved fields)",type:String}},QV=D({commandPath:["release","ci"],description:"CI: emit JSON plan + write to $GITHUB_OUTPUT for workflow gating",examples:[["vis release ci plan","Emit { mode, packages, json } and set $GITHUB_OUTPUT"]],group:"Release",loader:()=>import("./handler35.js"),name:"plan",options:GV}),zV={base:{description:"Override the base branch (default: release.baseBranch)",type:String},branch:{description:"Override the version-PR branch (default: vis-release/version-packages)",type:String}},KV=D({commandPath:["release","ci"],description:"CI: rebase the open version-PR onto the base branch and force-push",examples:[["vis release ci rebase-pr","Rebase the version-PR branch onto base + force-push"],["vis release ci rebase-pr --branch=release/version","Override the version-PR branch"]],group:"Release",loader:()=>import("./handler36.js"),name:"rebase-pr",options:zV}),VV={"allow-full-history":{description:"With --generate: walk the whole history when no release tag matches (first release only)",type:Boolean},"auto-publish":{description:"Skip version-PR; version + publish inline",type:Boolean},branch:{description:"Override version-PR branch (default: vis-release/version-packages)",type:String},channel:{description:"Override channel (defaults to current branch lookup)",type:String},"first-release":{description:"Bootstrap mode for greenfield monorepos: force currentVersionResolver=disk and skip remote tag-collision checks. Use on the very first release before any git tags exist.",type:Boolean},generate:{description:"Derive the change file from commits first (commit-driven repos). Defaults to the range since the last release tag",type:Boolean},"generate-from":{description:"Start ref for --generate (e.g. github.event.before). Overrides the since-last-release default",type:String},"print-config":{description:"Print the resolved release config and exit (--print-config=debug for runtime-resolved fields)",type:String}},UV=D({commandPath:["release","ci"],description:"CI: maintain a rolling version-PR (default) or version+publish inline (--auto-publish)",examples:[["vis release ci release","On push to main: open/update Versioned release PR; on PR merge: publish"],["vis release ci release --auto-publish","Skip version-PR; version + publish inline (alpha/beta workflow)"],["vis release ci release --auto-publish --generate","Commit-driven: derive the change file from commits, then version + publish"]],group:"Release",loader:()=>import("./handler56.js"),name:"release",options:VV}),qV={},eU=D({commandPath:["release","ci"],description:"CI: print setup checklist for tokens (VIS_GH_TOKEN, NPM_TOKEN, OIDC) and workflow permissions",examples:[["vis release ci setup","Walk through the recommended secrets + workflow setup"]],group:"Release",loader:()=>import("./handler37.js"),name:"setup",options:qV}),iU={"on-close":{description:"PR-close cleanup mode — enumerate the closed PR's commit SHAs and remove their snapshot tags from the registry (when supported by the backend)",type:Boolean},"print-config":{description:"Print the resolved release config and exit (--print-config=debug for runtime-resolved fields)",type:String},tag:{description:"Override dist-tag (default: pr-<PR_NUMBER>)",type:String}},nU=D({commandPath:["release","ci"],description:"CI: publish snapshot of affected packages + post sticky PR comment with install instructions",examples:[["vis release ci snapshot --tag pr-1234","Publish PR snapshot + post install snippet"]],group:"Release",loader:()=>import("./handler38.js"),name:"snapshot",options:iU}),tU={"first-release":{description:"Bootstrap mode for greenfield monorepos: doctor asserts the workspace has no release tags and no package has been published yet. Pair with `vis release version --first-release`.",type:Boolean},json:{description:"Emit machine-readable JSON instead of a table",type:Boolean},"print-config":{description:"Print the resolved release config and exit (--print-config=debug for runtime-resolved fields)",type:String}},oU=D({commandPath:["release"],description:"Preflight diagnostics for the release subsystem (workspace, PM, OIDC, NAPI, guards)",examples:[["vis release doctor","Run all checks; exit non-zero if any error"],["vis release doctor --json","Emit machine-readable report"]],group:"Release",loader:()=>import("./handler39.js"),name:"doctor",options:tU}),aU={"allow-full-history":{description:"With --since-last-release: walk the whole history when no release tag matches (first release only)",type:Boolean},"dry-run":{description:"Print would-be content without writing",type:Boolean},from:{description:"Git ref to compare against (default: merge-base with baseBranch)",type:String},name:{description:"Slug for the generated filename (default: random animal name)",type:String},"print-config":{description:"Print the resolved release config and exit (--print-config=debug for runtime-resolved fields)",type:String},"since-last-release":{description:"Start the range at the most recent releaseTagPattern tag reachable from HEAD (fails when no tag matches)",type:Boolean}},sU=D({commandPath:["release"],description:"Auto-derive a change file from branch commits (conventional-commits + path heuristics)",examples:[["vis release generate","Walk commits since the merge-base with baseBranch"],["vis release generate --from origin/main","Walk commits since the given ref"],["vis release generate --since-last-release","Walk commits since the most recent release tag reachable from HEAD"],["vis release generate --since-last-release --allow-full-history","First release: no tag exists yet, so walk everything"],["vis release generate --dry-run","Print the would-be content without writing"]],group:"Release",loader:()=>import("./handler40.js"),name:"generate",options:aU}),rU={agent:{description:"Append a 'Releasing with vis' section to AGENTS.md so AI agents know how to drive the release flow",type:Boolean},apply:{description:"Actually perform the migration writes (not dry-run)",type:Boolean},cutover:{description:"Full cutover: mark every detected package `vis-release.managed` and delete its `.releaserc.*` (Phase 6). Confirms before deleting — pass `--yes` in a non-interactive shell. Without it, `--apply` never touches manifests or `.releaserc.*`.",type:Boolean},"dry-run":{description:"Print what would happen without writing files",type:Boolean},fresh:{description:"Skip migration; start clean",type:Boolean},"from-bumpy":{description:"Force migration from bumpy",type:Boolean},"from-changesets":{description:"Force migration from changesets",type:Boolean},"from-semantic-release":{description:"Force migration from semantic-release / multi-semantic-release",type:Boolean},"package-manager":{description:"Override package manager when generating workflows (npm | pnpm | yarn | bun). Default: auto-detect",type:String},packages:{description:"Comma-separated package names (or workspace-relative dirs) to opt into `vis-release.managed` — e.g. '@scope/a,@scope/b'",type:String},workflows:{description:"Generate CI workflow files. GitHub → `.github/workflows/vis-release{,-check,-snapshot}.yml`. GitLab → `.gitlab-ci.yml`.",type:Boolean},yes:{alias:"y",description:"Auto-confirm prompts (CI-safe)",type:Boolean}},uU=D({commandPath:["release"],description:"Scaffold .vis/release; migrate from changesets / bumpy / semantic-release",examples:[["vis release init","Auto-detect source tool and scaffold"],["vis release init --from-semantic-release","Force semantic-release migration"],["vis release init --from-changesets","Force changesets migration"],["vis release init --fresh","Skip migration; start clean"],["vis release init --dry-run","Print what would happen without writing files"],["vis release init --from-semantic-release --apply","Scaffold + write the config; leaves .releaserc.* and manifests untouched"],["vis release init --from-semantic-release --apply --packages '@scope/a,@scope/b'","Opt two packages into vis-release"],["vis release init --from-semantic-release --apply --cutover --yes","Full cutover: mark every package managed and delete every .releaserc.*"]],group:"Release",loader:()=>import("./handler59.js"),name:"init",options:rU}),cU={channel:{description:"Override channel (defaults to current branch lookup)",type:String},"first-release":{description:"Bootstrap mode for greenfield monorepos: preview the plan without registry / tag lookups (matches `vis release version --first-release`).",type:Boolean},json:{description:"Emit a JSON `{ name: { from, to } }` map instead of pretty lines",type:Boolean},package:{description:"Limit output to a single package",type:String},"print-config":{description:"Print the resolved release config and exit (--print-config=debug for runtime-resolved fields)",type:String}},lU=D({commandPath:["release"],description:"Print the next computed version for each package in the release plan. Read-only; no mutations.",examples:[["vis release next-version","Print `<pkg> <old> -> <new>` for every package in the plan"],["vis release next-version --package=@scope/a","Single-package mode"],["vis release next-version --json","Emit a `{ name: { from, to } }` JSON map"]],group:"Release",loader:()=>import("./handler41.js"),name:"next-version",options:cU}),dU={action:{defaultOption:!0,defaultValue:"test",description:"Subcommand: test",type:String},channel:{description:"Restrict dispatch to a single channel kind (`slack`, `discord`, `webhook`) or an id'd channel (`slack:eng`)",type:String},"custom-context":{description:"Path to a JSON file containing a NotificationContext to use instead of the synthetic default",type:String},json:{description:"Emit machine-readable JSON instead of a per-channel report",type:Boolean}},gU=D({commandPath:["release"],description:"Dry-run the configured notification channels (slack / discord / webhook / plugins) with a synthetic release",examples:[["vis release notifications test","Dispatch a fake release to every configured channel"],["vis release notifications test --channel=slack","Dispatch to every Slack channel only"],["vis release notifications test --channel=slack:eng","Dispatch to the slack channel with id=eng only"],["vis release notifications test --custom-context=./fake.json","Use operator-supplied JSON instead of the built-in synthetic release"],["vis release notifications test --json","Emit machine-readable results"]],group:"Release",loader:()=>import("./handler42.js"),name:"notifications",options:dU}),hU={channel:{description:"Override channel (defaults to current branch lookup)",type:String},filter:{description:"Filter packages by name glob",type:String},interactive:{alias:"i",description:"Walk through pending releases interactively and accept / override each bump level",type:Boolean},"print-config":{description:"Print the resolved release config and exit (--print-config=debug for runtime-resolved fields)",type:String},write:{description:"When used with --interactive, write the chosen overrides to a new change file (.vis/release/<id>.md)",type:Boolean}},pU=D({commandPath:["release"],description:"Inspect the release plan; with --interactive, walk through and override bump levels",examples:[["vis release plan","Emit pending plan as JSON"],["vis release plan --interactive","Walk through pending releases, accept or override each bump"],["vis release plan -i --write","Walk through interactively and write the chosen overrides to a change file"]],group:"Release",loader:()=>import("./handler43.js"),name:"plan",options:hU}),fU={action:{defaultOption:!0,defaultValue:"status",description:"Subcommand: enter | exit | status",type:String},...Ee({defaultValue:!0,description:"Commit pre.json after writing. Default: commit",name:"commit",type:Boolean}),...Ee({defaultValue:!0,description:"Push the commit. Default: push",name:"push",type:Boolean}),tag:{description:"Prerelease tag (e.g. alpha, beta, rc). Required for `enter`",multiple:!0,type:String}},vU=D({commandPath:["release"],description:"Enter / exit pre-release mode (changesets-compatible — every `version` produces a prerelease until exit)",examples:[["vis release pre enter alpha","Enter pre-mode with the `alpha` tag"],["vis release pre enter rc --no-commit","Enter pre-mode locally without committing pre.json"],["vis release pre exit","Flag the next `version` to consolidate + exit pre-mode"],["vis release pre status","Print whether pre-mode is active, exit-pending, or off"]],group:"Release",loader:()=>import("./handler45.js"),name:"pre",options:fU}),yU={access:{description:"Publish access: public | restricted (default: public)",type:String},"allow-stage-publish":{description:"Trust claim: also grant the staged-publish permission (--allow-stage-publish)",type:Boolean},"dry-run":{description:"Print what would publish without uploading",type:Boolean},env:{description:"Trust claim: restrict to a deployment environment (npm trust --env)",type:String},filter:{description:"Glob filter (CSV) — limit to specific packages",type:String},force:{description:"Publish a placeholder even if the package already exists on the registry",type:Boolean},"no-trust":{description:"Skip the `npm trust` step (only publish placeholders)",type:Boolean},"print-config":{description:"Print the resolved release config and exit",type:String},provider:{description:"Trust claim: forge provider (github | gitlab). Default: auto-detect from the git remote",type:String},registry:{description:"Override registry URL",type:String},repo:{description:"Trust claim: owner/repo (github) or group/project (gitlab). Default: detect from git remote",type:String},tag:{description:"dist-tag for the placeholder (default: placeholder — keeps `latest` unset)",type:String},version:{description:"Placeholder version (default: 0.0.0)",type:String},workflow:{description:"Trust claim: workflow/pipeline filename (npm trust --file). Default: auto-detect the release workflow",type:String}},mU=D({commandPath:["release"],description:"Publish non-functional placeholder packages so npm Trusted Publishing (OIDC) can be configured before the first release",examples:[["vis release pretrust","Publish a placeholder for every managed package missing from the registry"],["vis release pretrust --filter '@scope/*'","Limit to a glob"],["vis release pretrust --dry-run","Print what would be published without uploading"]],group:"Release",loader:()=>import("./handler57.js"),name:"pretrust",options:yU}),bU={channel:{description:"Override channel (defaults to current branch lookup)",type:String},"check-only":{description:"Run preflight checks (config + workspace + plan + auth) and exit. No mutations.",type:Boolean},"dry-run":{description:"Skip uploads — print what would happen",type:Boolean},filter:{description:"Limit to packages matching this glob (CSV)",type:String},"first-release":{description:"Bootstrap mode for greenfield monorepos: force currentVersionResolver=disk and skip remote tag-collision checks. Use on the very first release before any git tags exist.",type:Boolean},"no-push":{description:"Skip `git push --tags` after publish (lands in M5)",type:Boolean},otp:{description:"2FA OTP token",type:String},"print-config":{description:"Print the resolved release config and exit (--print-config=debug for runtime-resolved fields)",type:String},resume:{description:"Resume from a previous run's state file (skips already-published packages)",type:Boolean},tag:{description:"Override npm dist-tag",type:String}},wU=D({commandPath:["release"],description:"Pack-then-publish unpublished packages, push tags, create GH releases",examples:[["vis release publish","Publish all pending packages"],["vis release publish --dry-run","Print what would publish without uploading"],["vis release publish --tag alpha","Override dist-tag"],["vis release publish --filter '@scope/*'","Limit to packages matching the glob"]],group:"Release",loader:()=>import("./handler46.js"),name:"publish",options:bU}),kU={"dry-run":{description:"Print what would publish without uploading",type:Boolean},filter:{description:"Glob filter (CSV) — limit snapshots to specific packages",type:String},"print-config":{description:"Print the resolved release config and exit (--print-config=debug for runtime-resolved fields)",type:String},registry:{description:"Override registry URL (defaults to pkg-pr-new backend or `release.snapshot.registry`)",type:String},tag:{description:"Required: dist-tag for the snapshot release",type:String}},jU=D({commandPath:["release"],description:"Publish 0.0.0-<tag>-<sha> snapshot versions of affected packages",examples:[["vis release snapshot --tag pr-1234","Publish snapshots tagged with the PR number"],["vis release snapshot --tag canary --filter '@scope/*'","Limit to a glob"],["vis release snapshot --tag pr-1234 --dry-run","Preview without uploading"]],group:"Release",loader:()=>import("./handler47.js"),name:"snapshot",options:kU}),SU={action:{defaultOption:!0,defaultValue:"list",description:"Subcommand: list | approve | reject",type:String},all:{description:"Approve every pending stage tracked in .vis/release/staged.json",type:Boolean},...Ee({defaultValue:!0,description:"Update .vis/release/staged.json but skip the auto-commit. Default: commit",name:"commit",type:Boolean}),filter:{description:"Package name filter for `list`",type:String},json:{description:"Emit machine-readable JSON",type:Boolean},...Ee({defaultValue:!0,description:"Skip pushing the registry commit to the remote. Default: push",name:"push",type:Boolean}),"stage-ids":{description:"Stage IDs (positional args after the action)",multiple:!0,type:String}},CU=D({commandPath:["release"],description:"List, approve, or reject npm staged-publish records (RFC §13.6 — approve/reject need 2FA)",examples:[["vis release stage list","List every staged version (both npm + the local .vis/release/staged.json registry)"],["vis release stage list @scope/pkg","List staged versions for a single package"],["vis release stage list --json","Emit a machine-readable view of both sources"],["vis release stage approve <stage-id>","Promote a staged version, drain it from staged.json, commit + push the registry"],["vis release stage approve --all","Approve every pending stage tracked in .vis/release/staged.json"],["vis release stage reject <stage-id>","Reject a staged version (permanent — cannot be re-approved unless re-staged)"],["vis release stage approve <stage-id> --no-push","Approve, update the registry, commit locally (skip the push)"],["vis release stage approve <stage-id> --no-commit","Approve and update the registry only — no git commit"]],group:"Release",loader:()=>import("./handler48.js"),name:"stage",options:SU}),LU={bump:{description:"Filter by bump level (CSV: major,minor,patch)",type:String},channel:{description:"Override channel (defaults to current branch lookup)",type:String},filter:{description:"Filter packages by name glob",type:String},json:{description:"Emit machine-readable JSON instead of a table",type:Boolean},"print-config":{description:"Print the resolved release config and exit (--print-config=debug for runtime-resolved fields)",type:String}},xU=D({commandPath:["release"],description:"Print pending release plan (which packages will bump and to what version)",examples:[["vis release status","Print pending plan in human-readable format"],["vis release status --json","Emit the plan as JSON for scripting / CI"],["vis release status --bump major,minor","Filter to packages getting major or minor bumps"],["vis release status --filter '@scope/*'","Show only packages matching the glob"]],group:"Release",loader:()=>import("./handler44.js"),name:"status",options:LU}),TU={channel:{description:"Override channel (defaults to current branch lookup)",type:String},"check-only":{description:"Run preflight checks (config + workspace + plan) and exit. No mutations.",type:Boolean},commit:{description:"Auto-commit after applying",type:Boolean},"dry-run":{description:"Skip writes — print the diff and exit",type:Boolean},filter:{description:"Limit to packages matching this glob (CSV)",type:String},"first-release":{description:"Bootstrap mode for greenfield monorepos: force currentVersionResolver=disk and skip remote tag-collision checks. Use on the very first release before any git tags exist.",type:Boolean},"print-config":{description:"Print the resolved release config and exit (--print-config=debug for runtime-resolved fields)",type:String}},YU=D({commandPath:["release"],description:"Apply pending change files to disk: bump versions + write CHANGELOG entries",examples:[["vis release version","Apply the plan to disk"],["vis release version --dry-run","Print what would change without touching disk"],["vis release version --channel alpha","Force a specific channel (overrides branch detection)"]],group:"Release",loader:()=>import("./handler49.js"),name:"version",options:TU}),DU=[MV,sU,xU,pU,IV,_V,oU,lU,YU,wU,jU,CU,vU,mU,uU,gU,WV,QV,UV,KV,nU,eU],$U=D({description:"Version, changelog and publish workspace packages (unstable)",examples:[["vis release","List the release subcommands"],["vis release status","Show what is about to release"],["vis release doctor","Diagnose the release setup"]],group:"Release",loader:()=>import("./root-handler.js"),name:"release"}),EU={filter:{alias:"F",description:"Filter by workspace package name",multiple:!0,type:String},global:{alias:"g",defaultValue:!1,description:"Remove global package",type:Boolean},recursive:{alias:"r",defaultValue:!1,description:"Remove from all workspace packages",type:Boolean},"save-dev":{alias:"D",defaultValue:!1,description:"Remove from devDependencies",type:Boolean},"workspace-root":{alias:"w",defaultValue:!1,description:"Remove from workspace root",type:Boolean}},BU=D({alias:["rm","un","uninstall"],argument:{description:"Packages to remove",name:"packages",type:String},description:"Remove packages using the detected package manager",examples:[["vis remove lodash","Remove a package"],["vis rm old-package","Remove using alias"],["vis remove --filter app react","Remove from specific workspace"],["vis remove -g typescript","Remove global package"]],group:"Dependencies",loader:()=>import("./handler18.js"),name:"remove",options:EU}),RU={failed:{defaultValue:!1,description:"Filter the replay to failed tasks only",type:Boolean},format:{description:"Output format: table or json (default: table)",type:String},list:{defaultValue:!1,description:"List every available run instead of replaying one",type:Boolean},run:{description:"Run id to replay (defaults to the most recent run)",type:String},task:{description:"Filter the replay to a single task id (e.g. @my/app:build)",type:String}},OU=D({description:"Replay a previous task run from .vis/runs/ — show task results without re-executing",examples:[["vis replay","Show the most recent run summary"],["vis replay --run 2026-04-28T12-34-56_ab12","Inspect a specific historical run"],["vis replay --list","List every recorded run, newest first"],["vis replay --task @myorg/app:build","Focus on one task within the loaded run"],["vis replay --failed","Filter to only failed tasks"],["vis replay --format=json","Machine-readable output for CI"]],group:"Workspace",loader:W(()=>import("./handler19.js"),"replayExecute"),name:"replay",options:RU}),JU={filter:{alias:"F",description:"pnpm-style package selector (repeatable). Supports name globs (@org/*), graph modifiers (...pkg dependents, pkg... dependencies, ...^pkg / pkg^... exclude self), changed-since ([main], ...[origin/main]), and path globs (./packages/*, {glob}).",multiple:!0,type:String},projects:{alias:"p",description:"Comma-separated list of projects to run",type:String},"skip-toolchain":{defaultValue:!1,description:"Skip the toolchain pre-flight (no auto-install for any pinned tool: node / pnpm / yarn / npm / bun / go / python / ruby / rust)",type:Boolean},...Ee({description:"Detect lockfile/node_modules drift before running (warns in TTY, fails in CI). Use --no-preflight to disable.",name:"preflight",type:Boolean}),parallel:{defaultValue:3,description:"Maximum number of parallel tasks (falls back to VIS_RUN_CONCURRENCY_LIMIT env var, then 3)",type:Number},...Ee({defaultValue:!0,description:"Enable caching (use --no-cache to disable)",name:"cache",type:Boolean}),affected:{defaultValue:!1,description:"Only run on projects affected by git changes. Honors --base/--head/--downstream/--upstream, same as `vis affected`.",type:Boolean},base:{description:"Git base ref for --affected. When omitted, vis auto-resolves it from the active CI provider (GitHub/GitLab/Buildkite/CircleCI) or falls back to `git merge-base HEAD origin/<defaultBase>` locally. Default base branch comes from `vis.config.ts#defaultBase` (or `main`). Requires --affected.",type:String},"cache-backend":{description:"Remote cache wire backend: http (Turborepo-compatible) or reapi (Bazel Remote Execution API gRPC)",type:String},"cache-dir":{description:"Custom cache directory",type:String},"cache-mode":{description:"Remote cache mode: read | write | readwrite (defaults to readwrite when remoteCache is configured)",type:String},downstream:{description:'Downstream scope for --affected: "none", "direct", or "deep" — controls how far to include dependents of changed projects (default "deep"). Requires --affected.',type:String},"dry-run":{defaultValue:!1,description:"Show what would run without executing",type:Boolean},"hash-mode":{description:"Override how the requested target is hashed for this run: declared (hash listed inputs) or trace (hash the files the task actually reads). Overrides per-target hashMode config for the directly-run target.",type:String},head:{description:"Git head ref for --affected. When omitted, auto-resolves from CI env (e.g. `$GITHUB_SHA`) or defaults to `HEAD`. Requires --affected.",type:String},partition:{description:'Partition tasks for distributed CI (e.g., "1/4" for first of four runners). Falls back to VIS_PARTITION env var.',type:String},query:{description:"Filter matched projects by a query (e.g. 'language=typescript && tag=lib')",type:String},"skip-cache":{description:"Comma-separated selectors of tasks to bypass cache for (e.g. 'app:test', ':e2e', '#flaky:lint'). Other tasks in the run still cache normally. --no-cache wins when both are set.",type:String},"skip-constraints":{defaultValue:!1,description:"Skip project constraint validation",type:Boolean},summarize:{defaultValue:!1,description:"Generate a run summary after execution",type:Boolean},tag:{description:'Only run projects carrying one of these tags (repeatable, or comma-separated). Shorthand for --query="tag=…"; combines with --query as AND.',multiple:!0,type:String},upstream:{description:'Upstream scope for --affected: "none", "direct", or "deep" — controls how far to include dependencies of changed projects (default "none"). Requires --affected.',type:String},...Ee({description:"Include uncommitted working-tree changes when computing --affected. Defaults to on for local runs and off in CI; use --no-uncommitted to force off.",name:"uncommitted",type:Boolean}),"fail-fast":{defaultValue:!1,description:"Stop all tasks on first failure",type:Boolean},...Ee({defaultValue:!1,description:"Exit 0 with a one-line notice when no project has the requested target or matches a --filter/--query/--tag selection",name:"if-present",type:Boolean}),"last-details":{defaultValue:!1,description:"Render the most-recent run's saved summary (from .vis/last-summary.json) and exit without executing any tasks",type:Boolean},log:{description:"Output mode: interleaved (pass-through), labeled (prefix each line with [pkg#task]), or grouped (vite-task-style block)",type:String},"output-style":{description:"Output style: normal (print every task) or quiet (skip output for successful/cached tasks; failed tasks still print in CI mode, and remain in TUI scrollback in interactive mode). Defaults to normal; set run.quietOnSuccess in config to make quiet the default. Per-target options.outputStyle overrides this.",type:String},profile:{description:"Write a Chrome Tracing JSON profile of the run to this path (open in chrome://tracing or Perfetto)",type:String},pty:{defaultValue:!1,description:"Run every task through a pseudo-terminal so color-aware tools render as if attached to a TTY (disables caching)",type:Boolean},"retry-budget":{description:"Global retry budget: cap on total task retries across the run (per-target retryCount is still honored up to the budget)",type:Number},reverse:{defaultValue:!1,description:"Run the dependency graph in reverse (leaves first, then their dependents). Useful for teardown targets like `destroy`/`undeploy` where dependents must run before the things they depend on.",type:Boolean},watch:{defaultValue:!1,description:"Rerun affected tasks on file change. Ctrl+C to exit.",type:Boolean},...Ee({defaultValue:!0,description:"Show flaky task report on failure (use --no-flaky to suppress)",name:"flaky",type:Boolean}),"fail-on-retry":{defaultValue:!1,description:"Treat any task that needed at least one retry as a run failure (exit non-zero), even when retries eventually succeeded. Use in CI to surface flakes that retries would otherwise mask.",type:Boolean},...Ee({description:"Fail a task if its command references an env var that is unset (no silent empty-string substitution). Use --no-strict-env to disable when set in config.",name:"strict-env",type:Boolean}),"runner-tags":{description:"Comma-separated tags this runner advertises (e.g. 'gpu,slow'). Tasks declaring `options.runnerTags` only run when at least one tag overlaps. Untagged tasks always run. Falls back to VIS_RUNNER_TAGS env var.",type:String},services:{description:"Auto-start service deps. One of: auto | ephemeral | persistent | off. Defaults to `auto` in TTY, `off` in CI.",type:String},"stop-services":{defaultValue:!1,description:"Stop services this run auto-started in registry mode when the run exits (clean, q, or Ctrl+C). Ephemeral services already die with the run.",type:Boolean}},PU=D({argument:{description:"The target to run (e.g., build, test, lint)",name:"target",type:String},description:"Run a target across workspace projects",examples:[["vis run","List all available targets"],["vis run build","Run build on all projects"],["vis run :build","Run build on all projects (moon-style)"],["vis run ~:test","Run test on the project closest to the current directory"],['vis run "#frontend:build"',"Run build on projects tagged 'frontend'"],['vis run :build --query "language=typescript"',"Filter by project metadata"],['vis run build --filter "@org/web"',"Run build on a single package (pnpm filter)"],['vis run build --filter "...@org/web"',"Run build on @org/web and everything that depends on it"],['vis run build -F "@org/web..."',"Run build on @org/web and its dependencies"],['vis run build -F "...[origin/main]"',"Run build on packages changed since origin/main + their dependents"],['vis run build -F "./packages/*"',"Run build on packages matched by a path glob"],["vis run test --affected","Run test only on git-changed projects"],["vis run build --fail-fast","Stop on first failure"],["vis run build --dry-run","Show execution plan without running"],["vis run destroy --reverse","Run leaves-first (teardown order, e.g. CDK/Pulumi destroy)"]],group:"Run & Execute",loader:()=>import("./handler78.js"),name:"run",options:JU}),NU={focus:{description:"Project name(s) to focus on — comma-separated for multiple",type:String},format:{defaultValue:"json",description:"Output format: json (default) or xml",type:String},"include-dev":{defaultValue:!1,description:"Include devDependencies (default: production only)",type:Boolean},output:{description:"Output path (use '-' for stdout; default: sbom.cdx.json)",type:String}},ZU=D({description:"Generate a CycloneDX 1.7 Software Bill of Materials for the workspace",examples:[["vis sbom","Write the full-workspace SBOM to sbom.cdx.json"],["vis sbom --focus=my-app","Scope the SBOM to my-app's transitive closure"],["vis sbom --focus=my-app,other","Focus multiple projects"],["vis sbom --format=xml --output=sbom.cdx.xml","Emit XML instead of JSON"],["vis sbom --include-dev","Include devDependencies (default: production only)"],["vis sbom --output=-","Write to stdout"]],group:"Security & Health",loader:()=>import("./handler20.js"),name:"sbom",options:NU}),AU={affected:{defaultValue:!1,description:"Scan only projects affected by the current branch",type:Boolean},baseline:{description:"Path to a baseline JSON of previously-triaged findings",type:String},concurrency:{description:"Rayon worker threads (0 / omit = auto)",type:Number},config:{description:"Path to a JSON config (gitleaks-compatible shape). Defaults to the bundled ruleset.",type:String},"dry-run":{defaultValue:!1,description:"With --init, preview the baseline without writing files",type:Boolean},"enable-rule":{description:"Enable an opt-in rule or tag without restricting output — additive (e.g. tag:preset:weak-passwords, tag:preset:password-manager). Repeatable.",multiple:!0,type:String},exclude:{description:"Gitignore-syntax pattern to exclude from the walk (repeatable)",multiple:!0,type:String},"exclude-from":{description:"Path to a gitignore-shaped file the walker should honor (repeatable)",multiple:!0,type:String},"exclude-rule":{description:"Rule id or tag:<name> selector — drop matching findings. Repeatable.",multiple:!0,type:String},format:{defaultValue:"text",description:"Output format: text (default), json, sarif",type:String},history:{defaultValue:!1,description:"Scan the entire git history (every added/modified blob across commits) instead of the working tree. Surfaces secrets that were committed and later removed. Cannot be combined with --staged/--since/--affected.",type:Boolean},"history-range":{description:"With --history, limit the walk to a rev-list range (e.g. main..HEAD, HEAD~50..HEAD, or a single ref). Defaults to all reachable history of HEAD.",type:String},"include-hidden":{defaultValue:!1,description:"Scan dotfiles",type:Boolean},"include-rule":{description:"Rule id or tag:<name> selector — whitelist, only matching findings are emitted. Implies enablement. Repeatable.",multiple:!0,type:String},init:{defaultValue:!1,description:"Scaffold a baseline from current findings",type:Boolean},"list-rules":{defaultValue:!1,description:"Print all bundled detection rules and exit",type:Boolean},"list-validators":{defaultValue:!1,description:"Print non-HTTP validator types referenced by the current ruleset, with install hints for their optional peer dependencies.",type:Boolean},"max-commits":{description:"With --history, cap the number of commits walked (most-recent first)",type:Number},"max-size":{description:"Skip files larger than this (bytes). Default: 10 MiB",type:Number},"min-confidence":{description:"Drop rules below this author-declared confidence: low (default), medium, high. Rules without a declared confidence (every gitleaks rule) are treated as low, so --min-confidence medium or higher drops them along with explicit low-confidence rules.",type:String},"no-extend-bundled":{defaultValue:!1,description:"With --config, do not merge on top of the bundled ruleset — replace it.",type:Boolean},"no-gitignore":{defaultValue:!1,description:"Do not respect .gitignore",type:Boolean},"only-verified":{defaultValue:!1,description:"With --validate, drop every finding whose validation is not 'verified'. Useful for CI gating.",type:Boolean},quiet:{defaultValue:!1,description:"Suppress all progress output (only emit findings)",type:Boolean},redact:{defaultValue:!1,description:"Mask secret values in output",type:Boolean},"replace-baseline":{defaultValue:!1,description:"With --update-baseline, replace rather than merge",type:Boolean},since:{description:"Scan only files changed since <ref> (e.g. main, origin/HEAD)",type:String},staged:{defaultValue:!1,description:"Scan only files staged for commit",type:Boolean},"update-baseline":{defaultValue:!1,description:"Merge current findings into the baseline and exit 0",type:Boolean},validate:{defaultValue:!1,description:"Live-verify each finding against its provider (one HTTP call per finding, max 8 concurrent). Only supports Kingfisher-style HTTP validators with StatusMatch / WordMatch response matchers; other types (gRPC, multi-step, checksum) mark the finding as validation=skipped. WARNING: sends candidate secrets to the provider — some providers alert their security team on failed auth attempts.",type:Boolean},verbose:{defaultValue:!1,description:"Print diagnostic info (skipped rules, etc.)",type:Boolean}},MU=D({argument:{description:"One or more paths to scan (defaults to workspace root)",name:"paths",type:String},description:"Scan a repository for hardcoded secrets and credentials",examples:[["vis secrets","Scan the workspace with grouped, colourised output"],["vis secrets --staged","Scan only files staged for the current commit (pre-commit hooks)"],["vis secrets --since main","Scan only files changed since the `main` branch"],["vis secrets --affected","Scan only projects affected by the current branch"],["vis secrets --history","Scan the full git history for secrets that were committed then removed"],["vis secrets --history --history-range main..HEAD","Scan only commits on the current branch since main"],["vis secrets --history --max-commits 100 --redact","Scan the last 100 commits, masking any secret values"],["vis secrets --init","Write an initial baseline from current findings"],["vis secrets --list-rules","Print all bundled detection rules"],["vis secrets --list-validators","Print non-HTTP validator types in the ruleset + install hints for each"],["vis secrets --exclude-rule generic-api-key --exclude-rule aws-access-token","Drop noisy rules"],["vis secrets --include-rule stripe-access-token","Check a single rule"],["vis secrets --enable-rule tag:preset:weak-passwords","Enable an opt-in rule group additively (defaults still fire)"],["vis secrets --include-rule tag:preset:password-manager","Restrict output to one opt-in group only"],["vis secrets --min-confidence high","Drop rules without a high confidence label (CI-friendly precision filter)"],["vis secrets --validate --only-verified","Live-verify each finding against its provider (one HTTP call per finding)"],["vis secrets --exclude 'dist/**' --exclude-from .secretsignore","Extra gitignore-syntax exclusions for the walker"],["vis secrets --config ./leaks.json --no-extend-bundled","Use only the supplied config, skip the bundled ruleset"],["vis secrets --concurrency 4","Cap the rayon thread pool (0 / omit = auto)"],["vis secrets --baseline .secrets-baseline.json","Suppress known findings; print diff vs. baseline"],["vis secrets --update-baseline","Merge current findings into the baseline (use --replace-baseline to overwrite)"],["vis secrets --format sarif > report.sarif","SARIF output for GitHub code-scanning"]],group:"Security",loader:()=>import("./handler67.js"),name:"secrets",options:AU}),HU={json:{defaultValue:!1,description:"Emit the report as JSON instead of human-readable text",type:Boolean}},IU=D({commandPath:["security"],description:"List build-script status — allowed, unapproved, and stale allowlist entries",examples:[["vis security list","Show the full build-script triage report"],["vis security list --json","Emit the report as JSON for tooling"]],group:"Security & Health",loader:()=>import("./list.js"),name:"list",options:HU}),XU={"skip-allow-builds":{defaultValue:!1,description:"Skip syncing allowBuilds (trustedDependencies, onlyBuiltDependencies)",type:Boolean},"skip-min-release-age":{defaultValue:!1,description:"Skip syncing minimumReleaseAge and its excludes",type:Boolean}},_U=D({commandPath:["security"],description:"Push vis.config security settings to the package manager's native config",examples:[["vis security sync","Sync allowBuilds + minimumReleaseAge to the PM-native config files"],["vis security sync --skip-allow-builds","Sync only the minimumReleaseAge knobs"],["vis security sync --skip-min-release-age","Sync only allowBuilds (trustedDependencies / onlyBuiltDependencies)"]],group:"Security & Health",loader:()=>import("./sync2.js"),name:"sync",options:XU}),FU={"root-only":{defaultValue:!1,description:"Skip dependency scripts and only run the workspace root's prepublish + prepare hooks",type:Boolean},"with-root":{defaultValue:!1,description:"Also run the workspace root's prepublish + prepare hooks after dependencies",type:Boolean}},WU=D({commandPath:["security"],description:"Run lifecycle scripts for packages in security.policies.installScripts.allow (LavaMoat 'run' parity)",examples:[["vis security run","Run preinstall/install/postinstall for every approved package"],["vis security run --with-root","Also run the workspace root's prepublish + prepare hooks"],["vis security run --root-only","Run only the workspace root's prepublish + prepare hooks"]],group:"Security & Health",loader:()=>import("./run.js"),name:"run",options:FU}),GU={remove:{defaultValue:!1,description:"Remove @lavamoat/preinstall-always-fail from package.json",type:Boolean},status:{defaultValue:!1,description:"Report whether @lavamoat/preinstall-always-fail is installed",type:Boolean}},QU=D({commandPath:["security"],description:"Install @lavamoat/preinstall-always-fail as a devDep so a missing ignore-scripts setting fails loudly",examples:[["vis security tripwire","Install the tripwire devDependency"],["vis security tripwire --status","Report whether the tripwire is installed"],["vis security tripwire --remove","Remove the tripwire from package.json"]],group:"Security & Health",loader:()=>import("./tripwire.js"),name:"tripwire",options:GU}),zU={clear:{defaultValue:!1,description:"Only clear the cache, do not refetch",type:Boolean},json:{defaultValue:!1,description:"Emit the result as JSON instead of human-readable text",type:Boolean}},KU=D({commandPath:["security"],description:"Force-refresh the cached npm signing keys used by the signatures marshall",examples:[["vis security keys-refresh","Drop the disk cache and fetch a fresh key set from registry.npmjs.org"],["vis security keys-refresh --clear","Only drop the cache, do not refetch"],["vis security keys-refresh --json","Emit the refresh result as JSON for tooling"]],group:"Security & Health",loader:()=>import("./keys-refresh.js"),name:"keys-refresh",options:zU}),VU={json:{defaultValue:!1,description:"Emit the result as JSON instead of human-readable text",type:Boolean},offline:{defaultValue:!1,description:"Skip network-bound policies (firstSeen, publisherChange)",type:Boolean}},UU=D({commandPath:["security"],description:"Verify the entire lockfile closure against supply-chain policies (firstSeen, publisherChange, blockExoticSubdeps)",examples:[["vis security verify-lockfile","Re-validate every locked entry; exit non-zero on a policy violation"],["vis security verify-lockfile --offline","Verify without network (skips firstSeen / publisherChange)"],["vis security verify-lockfile --json","Emit the verification result as JSON for CI"]],group:"Security & Health",loader:()=>import("./verify-lockfile.js"),name:"verify-lockfile",options:VU}),qU=[IU,_U,WU,QU,KU,UU],ur={description:"Target id, e.g. @my/api:db",name:"targetId",type:String},eq={description:"Output format: table or json (default: table)",name:"format",type:String},iq={"no-readiness":{defaultValue:!1,description:"Skip the readiness probe",type:Boolean},timeout:{description:"Readiness probe timeout in milliseconds",type:Number}},nq=D({argument:ur,commandPath:["service"],description:"Start a service target detached so it survives across `vis run` invocations",examples:[["vis service start @my/api:db","Boot the db target as a long-lived service"],["vis service start @my/api:db --timeout=60000","Override readiness timeout"],["vis service start @my/api:db --no-readiness","Skip the readiness probe"]],group:"Workspace",loader:W(()=>import("./handler21.js"),"serviceStartExecute"),name:"start",options:iq}),tq={all:{defaultValue:!1,description:"Stop every service registered for this workspace",type:Boolean},"grace-ms":{description:"Override the SIGTERM→SIGKILL grace period in milliseconds",type:Number}},oq=D({argument:{description:"Target id to stop, or omit when using --all",name:"targetId",required:!1,type:String},commandPath:["service"],description:"Stop a running service",examples:[["vis service stop @my/api:db","Stop the db service"],["vis service stop --all","Stop every running service in this workspace"]],group:"Workspace",loader:W(()=>import("./handler21.js"),"serviceStopExecute"),name:"stop",options:tq}),aq={commandPath:["service"],description:"List services registered for this workspace",examples:[["vis service list","Print running services"],["vis service list --format=json","Machine-readable list"]],group:"Workspace",loader:W(()=>import("./handler21.js"),"serviceListExecute"),name:"list",options:[eq]},sq={timeout:{description:"Probe timeout in milliseconds",type:Number}},rq=D({argument:ur,commandPath:["service"],description:"Re-run the readiness probe and report a service's health",examples:[["vis service status @my/api:db","Check whether the db service is reachable"]],group:"Workspace",loader:W(()=>import("./handler21.js"),"serviceStatusExecute"),name:"status",options:sq}),uq={"grace-ms":{description:"Override the SIGTERM→SIGKILL grace period in milliseconds",type:Number},"no-readiness":{defaultValue:!1,description:"Skip the readiness probe after restart",type:Boolean},timeout:{description:"Readiness probe timeout in milliseconds",type:Number}},cq=D({argument:ur,commandPath:["service"],description:"Stop and re-start a running service",examples:[["vis service restart @my/api:db","Recycle the db service"],["vis service restart @my/api:db --no-readiness","Recycle and skip the readiness probe"]],group:"Workspace",loader:W(()=>import("./handler21.js"),"serviceRestartExecute"),name:"restart",options:uq}),lq={follow:{alias:"f",defaultValue:!1,description:"Follow the log file (like `tail -f`)",type:Boolean}},dq=D({argument:ur,commandPath:["service"],description:"Print or tail a service's captured stdout/stderr",examples:[["vis service logs @my/api:db","Print the captured log"],["vis service logs @my/api:db -f","Tail the log (Ctrl-C to exit)"]],group:"Workspace",loader:W(()=>import("./handler21.js"),"serviceLogsExecute"),name:"logs",options:lq}),gq=[nq,oq,aq,rq,cq,dq],hq={commandPath:["shim"],description:"Install project-local PM shims (.vis/shims) that enforce the project's package manager",examples:[["vis shim install","Write npm/pnpm/yarn/… wrapper scripts in .vis/shims"]],group:"Runtime",loader:()=>import("./handler22.js").then(e=>({default:e.shimInstallExecute})),name:"install"},pq={commandPath:["shim"],description:"Remove the project-local PM shim dir (.vis/shims)",examples:[["vis shim uninstall","Delete .vis/shims"]],group:"Runtime",loader:()=>import("./handler22.js").then(e=>({default:e.shimUninstallExecute})),name:"uninstall"},fq={commandPath:["shim"],description:"Report whether the PM shims are installed and active on PATH",examples:[["vis shim status","Show shim install + PATH state"]],group:"Runtime",loader:()=>import("./handler22.js").then(e=>({default:e.shimStatusExecute})),name:"status"},vq=[hq,pq,fq],yq={check:{alias:"c",defaultValue:!1,description:"Check if package.json files are sorted without writing (exits 1 if unsorted)",type:Boolean},ignore:{description:"Glob pattern of files to skip (basename match, or path-relative when the pattern contains `/`). Repeatable.",multiple:!0,type:String},indent:{description:"Indent override: a number of spaces, the literal `tab`, or a literal whitespace string. When unset, the original file's indent is preserved.",type:String},"line-ending":{defaultValue:"auto",description:"Line ending to write: auto (per-file detection, default), lf, or crlf.",type:String},"no-editorconfig":{description:"Disable .editorconfig discovery for indent / line-ending defaults (default: enabled).",type:Boolean},"no-final-newline":{defaultValue:!1,description:"Do not append a trailing newline to the output (default: append one).",type:Boolean},"no-format-bugs":{description:"Disable collapsing `bugs: { url }` to the bare string form (default: enabled).",type:Boolean},"no-format-repository":{description:"Disable collapsing `repository: { type, url }` to the GitHub `owner/repo` shorthand (default: enabled).",type:Boolean},"no-sort-exports":{description:"Disable canonical sorting of `exports` condition keys (default: enabled).",type:Boolean},"sort-order":{description:"Comma-separated list of top-level keys to place first, before the default field order. Repeatable.",multiple:!0,type:String},"sort-scripts":{defaultValue:!1,description:"Also sort the scripts field alphabetically",type:Boolean},unsorted:{description:"Comma-separated list of top-level sections whose key order should be preserved (e.g. dependencies,devDependencies). Repeatable.",multiple:!0,type:String}},mq=D({description:"Sort package.json files across the workspace using the sort-package-json Rust crate",examples:[["vis sort-package-json","Sort all package.json files in the workspace"],["vis sort-package-json --check","Check if files are already sorted (exit 1 if not)"],["vis sort-package-json --sort-scripts","Also sort the scripts field alphabetically"],["vis sort-package-json --indent 4","Force 4-space indentation (overrides per-file detection)"],["vis sort-package-json --indent tab","Force tab indentation"],["vis sort-package-json --ignore '**/fixtures/**'","Skip files matching one or more glob patterns"],["vis sort-package-json --sort-order name,version,license","Pin a custom prefix order before the default field order"],["vis sort-package-json --unsorted dependencies,devDependencies","Preserve original key order for the listed top-level sections"],["vis sort-package-json --no-final-newline","Do not append a trailing newline"],["vis sort-package-json --line-ending crlf","Force CRLF line endings (default: auto-detect per file)"]],group:"Workspace",loader:()=>import("./handler64.js"),name:"sort-package-json",options:yq}),bq={annotate:{defaultValue:!1,description:"Prefix the rewritten commit messages with the package name",type:Boolean},branch:{alias:"b",description:'Default branch name in the new repo (default: vis.config defaultBase or "main")',type:String},"dry-run":{defaultValue:!1,description:"Print the git plan instead of executing it",type:Boolean},force:{defaultValue:!1,description:"Use a non-empty --output directory anyway",type:Boolean},output:{alias:"o",description:"Destination directory for the new repo (required unless --dry-run)",type:String},push:{defaultValue:!1,description:"Push the new repo to origin (requires --remote)",type:Boolean},remote:{description:"Git remote URL to set as origin on the new repo",type:String},remove:{defaultValue:!1,description:"Delete the package from the monorepo after extracting and commit the removal",type:Boolean}},wq=D({argument:{description:"Project name or workspace-relative path of the package to extract",name:"package",type:String},description:"Extract a package into a standalone git repo, preserving its history",examples:[["vis split @scope/pkg --output ../pkg-repo","Extract a package into a new repo at ../pkg-repo"],["vis split packages/tooling/foo -o ../foo --remote git@github.com:me/foo.git --push","Extract, set origin, and push"],["vis split @scope/pkg -o ../pkg --remove","Extract, then delete the package from the monorepo (committed)"],["vis split @scope/pkg --dry-run","Print the git plan without making changes"]],group:"Workspace",loader:()=>import("./handler23.js"),name:"split",options:bq}),kq={"allow-empty":{defaultValue:!1,description:"Allow empty commits when tasks revert all staged changes",type:Boolean},"auto-stage":{defaultValue:!1,description:"Automatically stage new files that tasks create during the run",type:Boolean},concurrent:{description:"Number of concurrent tasks or false for serial",type:String},"continue-on-error":{defaultValue:!1,description:"Run all tasks to completion even if one fails",type:Boolean},cwd:{description:"Working directory to run all tasks in",type:String},debug:{defaultValue:!1,description:"Enable debug output",type:Boolean},diff:{description:"Override the default --staged flag of git diff",type:String},"diff-filter":{description:"Override the default diff-filter",type:String},"fail-on-changes":{defaultValue:!1,description:"Fail with exit code 1 when tasks modify tracked files",type:Boolean},"force-kill":{defaultValue:!1,description:"Kill in-flight tasks with SIGKILL on fast-fail instead of the default SIGTERM",type:Boolean},"hide-partially-staged":{defaultValue:!1,description:"Hide unstaged changes from partially staged files",type:Boolean},"hide-unstaged":{defaultValue:!1,description:"Hide all unstaged changes before running tasks",type:Boolean},quiet:{defaultValue:!1,description:"Suppress console output",type:Boolean},relative:{defaultValue:!1,description:"Pass filepaths relative to cwd to tasks",type:Boolean},revert:{defaultValue:!1,description:"Revert to original state in case of errors",type:Boolean},...Ee({defaultValue:!0,description:"Enable backup stash",name:"stash",type:Boolean}),verbose:{defaultValue:!1,description:"Show task output even when tasks succeed",type:Boolean}},jq=D({description:"Run linters on staged files using config from vis.config.ts",examples:[["vis staged","Run staged linters"],["vis staged --verbose","Run with verbose output"],["vis staged --no-stash","Run without backup stash"],["vis staged --diff HEAD~1","Run against a specific diff"]],group:"Run & Execute",loader:()=>import("./handler76.js"),name:"staged",options:kq}),Sq={json:{defaultValue:!1,description:"Emit JSON output",type:Boolean}},Cq=D({description:"Show a workspace health dashboard at a glance",examples:[["vis status","Full status overview"],["vis status --json","Machine-readable output"]],group:"Workspace",loader:()=>import("./handler24.js"),name:"status",options:Sq}),Lq={check:{defaultValue:!1,description:"Verify state without writing (exit non-zero if drift is found)",type:Boolean},fields:{description:"Comma-separated list of fields to mirror from root → workspace packages (package-json-fields kind only). Repeatable.",multiple:!0,type:String},format:{defaultValue:"human",description:"Output format for package-json-fields: human | json",type:String},from:{description:"Input sources for codeowners. Comma-separated or repeated. Values: project-json | nested-codeowners | package-json-maintainers. Defaults to project-json.",multiple:!0,type:String},"ignore-package-name":{description:"Glob pattern of package names to skip (package-json-fields kind only). Repeatable.",multiple:!0,type:String},"nested-includes":{description:"Glob (repeatable) used to discover nested CODEOWNERS files. Defaults to `**/CODEOWNERS`.",multiple:!0,type:String},out:{description:"Output path for the generated file (default: <workspace>/CODEOWNERS) — codeowners kind only",type:String},"preserve-block":{defaultValue:!1,description:"Splice the generated block between markers in the existing file instead of overwriting it. Codeowners kind only.",type:Boolean},quiet:{defaultValue:!1,description:"Suppress per-package log lines; print only the summary (package-json-fields kind only)",type:Boolean},"regeneration-command":{description:"Header instruction shown to reviewers (replaces the default 'update project.json' note). Codeowners kind only.",type:String},"write-guard":{defaultValue:!1,description:"Also emit a .github/workflows/write-guard.yml scoped to projects with `restricted: true` in project.json. Codeowners kind only.",type:Boolean}},xq=D({argument:{description:"What to sync: codeowners | package-json-fields",name:"kind",type:String},description:"Synchronise derived workspace artefacts (codeowners, package.json fields, tsconfig refs, …)",examples:[["vis sync codeowners","Generate CODEOWNERS at the repository root"],["vis sync codeowners --out=.github/CODEOWNERS","Write to .github/CODEOWNERS instead"],["vis sync codeowners --check","Fail if the existing file is stale"],["vis sync codeowners --from=project-json,nested-codeowners","Also aggregate nested CODEOWNERS files in the tree"],["vis sync codeowners --regeneration-command='pnpm codeowners'","Set a custom header instruction"],["vis sync codeowners --preserve-block","Splice the generated block between markers in an existing CODEOWNERS"],["vis sync codeowners --write-guard","Also emit GitHub + GitLab Write Guard CI for restricted projects"],["vis sync package-json-fields","Mirror license/author/repository/bugs/homepage/engines from root to every workspace package"],["vis sync package-json-fields --check","Fail if any workspace package.json is out of sync"],["vis sync package-json-fields --fields license,engines","Override the default field list for this run"]],group:"Workspace",loader:()=>import("./handler63.js"),name:"sync",options:Lq}),Tq={argument:{description:"Task ID to explain (e.g. @my/app:build)",name:"taskId",type:String},description:"Explain why a task is included in the graph by walking its dependency chain to a root",examples:[["vis task-why @myorg/app:build","Show what pulls build in"],["vis task-why lib-a:test","Check the test task's triggers"]],group:"Workspace",loader:()=>import("./handler25.js"),name:"task-why"},wa="Workspace",Yq={"exit-code":{defaultValue:!1,description:"Exit 1 if any tool mismatches",type:Boolean},json:{defaultValue:!1,description:"Emit JSON",type:Boolean}},Dq=D({commandPath:["toolchain"],description:"Show every detected manager + expected vs actual tool versions",examples:[["vis toolchain status","Show every detected manager + expected vs actual tool versions"],["vis toolchain status --json","Emit the status as JSON"],["vis toolchain status --exit-code","Exit 1 if any tool mismatches (for CI)"]],group:wa,loader:W(()=>import("./handler26.js"),"statusExecute"),name:"status",options:Yq}),$q={commandPath:["toolchain"],description:"Print the primary manager's name (for scripts)",examples:[["vis toolchain detect","Print the primary manager's name"]],group:wa,loader:W(()=>import("./handler26.js"),"detectExecute"),name:"detect"},Eq={"dry-run":{defaultValue:!1,description:"Print the command that would run, but don't execute",type:Boolean}},Bq=D({commandPath:["toolchain"],description:"Install pinned versions — per-tool delegation to the right manager",examples:[["vis toolchain install","Install pinned versions"],["vis toolchain install --dry-run","Print the commands that would run, but don't execute"]],group:wa,loader:W(()=>import("./handler26.js"),"installExecute"),name:"install",options:Eq}),Rq={"dry-run":{defaultValue:!1,description:"Print the command that would run, but don't execute",type:Boolean},...Ee({defaultValue:!0,description:"Also mirror the version into engines.<tool> when that field already exists. --no-engines to skip.",name:"engines",type:Boolean})},Oq=D({argument:{description:"Tool and version to pin, e.g. node@22.13.0 or pnpm@10.32.1",name:"spec",type:String},commandPath:["toolchain"],description:"Pin a version via the best manager for that tool",examples:[["vis toolchain use node@22.13.0","Pin node 22.13.0 via the best runtime manager"],["vis toolchain use pnpm@10.32.1","Update the packageManager field; pnpm self-activates"],["vis toolchain use node@22.13.0 --dry-run","Print the command without running it"]],group:wa,loader:W(()=>import("./handler26.js"),"useExecute"),name:"use",options:Rq}),Jq={argument:{description:"Tool to resolve, e.g. node",name:"tool",type:String},commandPath:["toolchain"],description:"Print the resolved binary path a manager would launch for a tool",examples:[["vis toolchain which node","Resolve the node binary the manager would launch"]],group:wa,loader:W(()=>import("./handler26.js"),"whichExecute"),name:"which"},Pq=[Dq,$q,Bq,Oq,Jq],Nq={recursive:{alias:"r",defaultValue:!1,description:"Unlink in all workspace packages",type:Boolean}},Zq=D({argument:{description:"Packages to unlink (omit for current package)",name:"packages",type:String},description:"Unlink a previously linked package",examples:[["vis unlink","Unlink current package"],["vis unlink react","Unlink specific package"],["vis unlink -r","Unlink in all workspace packages"]],group:"Dependencies",loader:()=>import("./handler27.js"),name:"unlink",options:Nq}),Aq={"actions-token":{description:"GitHub token for actions resolution (overrides GITHUB_TOKEN / GH_TOKEN env)",type:String},ai:{defaultValue:!1,description:"Run AI analysis on outdated packages before updating (catalog mode)",type:Boolean},"ai-type":{description:"AI analysis type: impact, security, compatibility, or recommend (default: impact)",type:String},changelog:{defaultValue:!1,description:"Show changelog URLs for updated packages",type:Boolean},dev:{alias:"D",conflicts:"prod",description:"Update only devDependencies",type:Boolean},"dry-run":{alias:"d",defaultValue:!1,description:"Preview changes without applying",type:Boolean},exclude:{description:"Glob pattern to exclude packages (repeatable, catalog mode)",lazyMultiple:!0,type:String},filter:{description:"Filter packages in monorepo (pm-wrapper mode; catalog mode uses --include/--exclude)",type:String},format:{description:"Output format: table, json, or minimal (default: table)",type:String},"gitlab-token":{description:"GitLab token for include-ref resolution (overrides GITLAB_TOKEN / CI_JOB_TOKEN env)",type:String},global:{alias:"g",defaultValue:!1,description:"Update global packages",type:Boolean},"ignore-release-age":{defaultValue:!1,description:"Ignore the minimumReleaseAge gate and select the truly latest version even if freshly published. The selected packages are added to the package manager's native age-gate exclude list (pnpm minimumReleaseAgeExclude, bun minimumReleaseAgeExcludes, yarn npmPreapprovedPackages) so the follow-up install isn't blocked; npm has no per-package exclude. Combine with --latest to also cross the semver range.",type:Boolean},include:{description:"Glob pattern to include packages (repeatable, catalog mode)",lazyMultiple:!0,type:String},"include-branches":{defaultValue:!1,description:"Include branch references (e.g. actions/checkout@main) when scanning workflows",type:Boolean},"include-internal":{defaultValue:!1,description:"Also check workspace-owned package names against the registry (catalog mode)",type:Boolean},"include-locked":{alias:"l",defaultValue:!1,description:"Include packages with pinned/exact versions (no ^ or ~ prefix; catalog mode)",type:Boolean},...Ee({description:"Run install after catalog update, --no-install to skip (default: true)",name:"install",type:Boolean}),interactive:{alias:"i",defaultValue:!1,description:"Interactive mode",type:Boolean},latest:{alias:"L",conflicts:"target",description:"Update to latest version (ignore semver range; equivalent to --target latest)",type:Boolean},"max-concurrent-requests":{description:"Cap concurrent registry requests during outdated checks (default: 8)",type:Number},"no-actions":{defaultValue:!1,description:"Skip the GitHub Actions ecosystem scan (workflows + composite action.yml files)",type:Boolean},"no-catalog":{defaultValue:!1,description:"Skip catalog mode, use package manager directly",type:Boolean},"no-docker":{defaultValue:!1,description:"Skip the Docker ecosystem scan (Dockerfile + docker-compose images)",type:Boolean},"no-gitlab":{defaultValue:!1,description:"Skip the GitLab CI ecosystem scan (.gitlab-ci.yml + .gitlab/ci/**)",type:Boolean},"no-marshall-check":{defaultValue:!1,description:"Skip the offline marshall pipeline (author, provenance, metadata, downloads, expired-domains, new-bin, signatures, archived-repo) when explicit package arguments are supplied",type:Boolean},"no-optional":{defaultValue:!1,description:"Don't update optionalDependencies",type:Boolean},"no-save":{defaultValue:!1,description:"Update lockfile only",type:Boolean},"no-typosquat-check":{defaultValue:!1,description:"Skip typosquat name check for package arguments",type:Boolean},peer:{defaultValue:!1,description:"Include peerDependencies in update checks",type:Boolean},prerelease:{defaultValue:!1,description:"Include prerelease versions (catalog mode)",type:Boolean},prod:{alias:"P",conflicts:"dev",description:"Update only dependencies",type:Boolean},recursive:{alias:"r",defaultValue:!1,description:"Update recursively in all workspace packages",type:Boolean},"release-channel":{description:"Release channel filter: stable (default), same (match current's prerelease channel), or any",type:String},rollback:{defaultValue:!1,description:"Restore catalog file from the last backup",type:Boolean},...Ee({description:"Check for known security vulnerabilities via OSV.dev (default: true; --no-security to skip)",name:"security",type:Boolean}),style:{description:"Reference style for GitHub Actions updates: sha (default, pin to commit SHA + version comment) or preserve",type:String},target:{alias:"t",conflicts:"latest",description:"Update target: latest, minor, or patch (default: latest, catalog mode)",type:String},"workspace-root":{alias:"w",defaultValue:!1,description:"Include workspace root",type:Boolean},yes:{alias:"y",defaultValue:!1,description:"Skip the confirmation prompt for blanket --latest updates. Required in non-TTY contexts (CI) when running `vis update --latest` without explicit package arguments.",type:Boolean}},Mq=D({alias:"up",argument:{description:"Packages to update (updates all if omitted)",name:"packages",type:String},description:"Update packages to their latest versions",examples:[["vis update react","Update react within semver range"],["vis up react -L","Update react to latest"],["vis update -i","Interactive mode"],["vis update --filter app","Update in specific workspace"],["vis update -r","Update in all workspaces"],["vis update --target minor","Only apply minor/patch updates (catalog mode)"],["vis update --dry-run","Preview changes without applying"],["vis update --exclude '@types/*'","Exclude packages by pattern"],["vis update --changelog","Show changelog links after updating"],["vis update --rollback","Restore catalog from last backup"],["vis update --ai","Run AI analysis before applying updates"]],group:"Dependencies",loader:()=>import("./handler75.js"),name:"update",options:Aq}),Hq={check:{defaultValue:!1,description:"Check for updates without installing",type:Boolean},force:{defaultValue:!1,description:"Reinstall even if already current",type:Boolean},silent:{defaultValue:!1,description:"Suppress output (CI mode)",type:Boolean}},Iq=D({argument:{description:"Target version (defaults to latest)",name:"version",type:String},description:"Update vis itself to the latest version",examples:[["vis self-update","Update to latest"],["vis self-update 2.0.0","Install specific version"],["vis self-update --check","Check for updates without installing"]],group:"System",loader:()=>import("./handler28.js"),name:"self-update",options:Hq}),Xq={depth:{description:"Limit dependency tree depth",type:Number},dev:{alias:"D",conflicts:"prod",description:"Filter to dev dependencies (pnpm)",type:Boolean},filter:{alias:"F",description:"Filter by workspace package name",multiple:!0,type:String},global:{alias:"g",defaultValue:!1,description:"Check globally installed packages (pnpm)",type:Boolean},json:{defaultValue:!1,description:"Output as JSON",type:Boolean},long:{defaultValue:!1,description:"Show extended information (pnpm)",type:Boolean},"no-optional":{defaultValue:!1,description:"Exclude optional dependencies (pnpm)",type:Boolean},parseable:{defaultValue:!1,description:"Machine-readable output (pnpm)",type:Boolean},prod:{alias:"P",conflicts:"dev",description:"Filter to production dependencies (pnpm)",type:Boolean},recursive:{alias:"r",defaultValue:!1,description:"Check across all workspaces",type:Boolean}},_q=D({alias:"explain",argument:{description:"Package(s) to explain",name:"packages",type:String},description:"Show why a package is installed (dependency chain)",examples:[["vis why react","Show why react is installed"],["vis why react --json","Output as JSON"],["vis why react -r","Check across all workspaces"],["vis explain react","Alias matching npm's command"]],group:"Dependencies",loader:()=>import("./handler29.js"),name:"why",options:Xq}),Fq={},Wq=D({argument:{description:"File to run, with any args to forward to it",name:"file",type:String},description:"Run a TypeScript/JavaScript file directly under the selected runtime (node | bun)",examples:[["vis x script.ts","Run a TypeScript file (full TS surface: enums, decorators)"],["vis x --runtime bun server.ts","Run under Bun"],["vis x build.ts foo bar","Forward positional args to the file"],["vis x task.ts -- --watch","Forward flags after -- to the file"]],group:"Run & Execute",loader:()=>import("./handler30.js"),name:"x",options:Fq}),Gq=e=>{e.addCommand(PU),e.addCommand(LG),e.addCommand(EK),e.addCommand(O5),e.addCommand(_5),e.addCommand(Tq),e.addCommand(OU),e.addCommand(HK),e.addCommand(Mq),e.addCommand(SG),e.addCommand(gK),e.addCommand(oG),e.addCommand(mq),e.addCommand(jq),e.addCommand(Cq),e.addCommand(uK),e.addCommand(xq),e.addCommand(oV),e.addCommand(E5),e.addCommand(B5),e.addCommand($U),e.addCommand(nV),e.addCommand(TK),e.addCommand(qK),e.addCommand(P5),e.addCommand(BU),e.addCommand(lK),e.addCommand(_q),e.addCommand(GK),e.addCommand(eV),e.addCommand(Zq),e.addCommand(zw),e.addCommand(ej),e.addCommand(Wq),e.addCommand(ZV),e.addCommand(zK),e.addCommand(DG),e.addCommand(EG),e.addCommand(DK),e.addCommand(pK),e.addCommand(Iq),e.addCommand(XK),e.addCommand(wq),e.addCommand(FK),e.addCommand(sG),e.addCommand(dG),e.addCommand(VK),e.addCommand(LK),e.addCommand(NV),e.addCommand(ZU),e.addCommand(MU);for(const i of AK)e.addCommand(i);for(const i of JV)e.addCommand(i);for(const i of kG)e.addCommand(i);for(const i of I5)e.addCommand(i);for(const i of Db)e.addCommand(i);for(const i of gq)e.addCommand(i);for(const i of qU)e.addCommand(i);for(const i of cG)e.addCommand(i);for(const i of SK)e.addCommand(i);for(const i of Pq)e.addCommand(i);for(const i of vq)e.addCommand(i);e.addCommand(TG);for(const i of DU)e.addCommand(i)},Qq=e=>{for(let i=0;i<e.length;i+=1){const n=e[i];if(n==="--ca-cert"){const t=e[i+1];return t===void 0||t.startsWith("-")?void 0:is(t)}if(n.startsWith("--ca-cert=")){const t=n.slice(10);return t===""?void 0:is(t)}}},zq=()=>process.platform==="win32"?!!process.env.WT_SESSION||process.env.TERM_PROGRAM==="vscode"||process.env.TERM==="xterm-256color":process.env.TERM!=="linux",xo=zq(),Kq={arrow:xo?"→":"->",dash:xo?"—":"-",failure:xo?"✗":"x",success:xo?"✓":"v",warning:xo?"⚠":"!"},mc=w(Bn(),"upgrade-check.json"),Vq=1440*60*1e3,Uq=1440*60*1e3,qq=500,eee=new Set(["--help","--version","-h","-V","help","implode","upgrade"]),iee=()=>{try{if(L(mc))return Oe(mc)}catch{}},Nw=e=>{try{En(Bn()),Ie(mc,JSON.stringify(e))}catch{}},nee=async e=>{try{const i=new AbortController,n=setTimeout(()=>{i.abort()},qq),t=await fetch(`https://registry.npmjs.org/${e}/latest`,{headers:{accept:"application/json"},signal:i.signal});return clearTimeout(n),t.ok?(await t.json()).version:void 0}catch{return}},cf=(e,i)=>{let n;try{n=fu.gt(i.latestVersion,e,{loose:!0})}catch{return}if(!n)return;const t=Date.now();t-i.lastNoticeAt<Uq||(process.stderr.write(`
|
|
266
|
+
</html>`;let In;const Uz=()=>{for(const e of Vz)try{if(Vn(e).isFile())return e}catch{}},qz=()=>{if(In!==void 0&&!process.env.VIS_DASHBOARD_NO_CACHE)return In;const e=Uz();if(!e)return In=rf,In;try{const i=ff(e,"utf8");return In=i,i}catch{return In=rf,In}},eK=e=>{if(e.length===0)return;const i=[...e].sort((t,o)=>t-o),n=Math.floor(i.length/2);return i.length%2===0?(i[n-1]+i[n])/2:i[n]},iK=e=>{const i=new Map;for(const t of e)if(Array.isArray(t.tasks))for(const o of t.tasks){if(!o.taskId)continue;const a=i.get(o.taskId)??{durations:[],failures:0,hits:0,misses:0,project:o.target?.project??"",runs:0,target:o.target?.target??"",taskId:o.taskId};o.cacheStatus==="HIT"||o.cacheStatus==="REMOTE_HIT"?(a.runs+=1,a.hits+=1):o.cacheStatus==="MISS"&&(a.runs+=1,a.misses+=1,typeof o.duration=="number"&&o.duration>0&&a.durations.push(o.duration),o.exitCode!==void 0&&o.exitCode!==0&&(a.failures+=1)),i.set(o.taskId,a)}const n=new Map;for(const[t,o]of i){const a=o.durations.length===0?0:o.durations.reduce((s,r)=>s+r,0)/o.durations.length;n.set(t,{averageDurationMs:a,failures:o.failures,hitRate:o.runs===0?0:o.hits/o.runs,hits:o.hits,misses:o.misses,project:o.project,runs:o.runs,target:o.target,taskId:t,timeSavedMs:a*o.hits})}return n},nK=e=>{const i=e,n=[...i].sort((m,j)=>(m.startTime??"").localeCompare(j.startTime??""));let t=0,o=0,a=0,s=0,r=0,u=0;const c=[],l=[],d=[];for(const m of n){const j=m.stats??{};t+=j.total??0,o+=j.succeeded??0,a+=j.failed??0,s+=j.cached??0,r+=j.skipped??0,typeof m.duration=="number"&&m.duration>0&&(u+=m.duration,c.push(m.duration),m.startTime&&d.push({timestamp:m.startTime,value:m.duration})),(j.total??0)>0&&m.startTime&&l.push({timestamp:m.startTime,value:(j.cached??0)/(j.total??1)})}const h=[...iK(n).values()],p=h.filter(m=>m.averageDurationMs>0).sort((m,j)=>j.averageDurationMs-m.averageDurationMs).slice(0,10),v=h.filter(m=>m.runs>=2).sort((m,j)=>j.timeSavedMs-m.timeSavedMs||j.hitRate-m.hitRate).slice(0,10),y=h.filter(m=>m.runs>=3&&m.hits>0&&m.misses>0).sort((m,j)=>j.misses/j.runs-m.misses/m.runs).slice(0,10),b=h.reduce((m,j)=>m+j.timeSavedMs,0);return{averageRunDurationMs:c.length===0?null:c.reduce((m,j)=>m+j,0)/c.length,cacheHitRate:s+o+a===0?null:s/(s+o+a),durationOverTime:d,hitRateOverTime:l,medianRunDurationMs:eK(c)??null,mostCachedTasks:v,mostInvalidatedTasks:y,slowestTasks:p,totals:{cached:s,estimatedTimeSavedMs:b,failed:a,runs:i.length,skipped:r,succeeded:o,tasks:t,totalDurationMs:u}}},tK=(e,i)=>{if(e===void 0||e==="")return!1;let n=e;if(n.startsWith("[")){const t=n.indexOf("]");n=t===-1?n.slice(1):n.slice(1,t)}else if(!n.includes("::")){const t=n.indexOf(":");n=t===-1?n:n.slice(0,t)}return n=n.toLowerCase(),n==="localhost"||n===i.toLowerCase()?!0:Qk(n)!==0},uf=(e,i)=>{const n=i.replaceAll(/[^\w.\-:]/g,"");if(n.length===0||n!==i)return;const t=w(Rn(e),`${n}.json`);if(L(t))try{return Oe(t)}catch{return}const o=bf(e);if(L(o))try{const a=Oe(o);return a.id===n?a:void 0}catch{return}},oK=async e=>{const i=new Set,n=Rn(e);try{await Gk(n,{recursive:!0})}catch{}let t,o;const a=r=>{o=r,t&&clearTimeout(t),t=setTimeout(()=>{if(t=void 0,!o)return;const u=o;o=void 0;for(const c of i)try{c(u)}catch{}},200)};let s;try{s=Dk(n,(r,u)=>{if(!u||typeof u!="string"||!u.endsWith(".json"))return;const c=u.slice(0,-5);a({id:c,type:"run-changed"})})}catch{s=void 0}return{close:()=>{t&&clearTimeout(t),s?.close(),i.clear()},subscribe:r=>(i.add(r),()=>{i.delete(r)})}},aK=(e,i)=>{const n=new iz;return n.use("*",async(t,o)=>tK(t.req.header("host"),e.host)?o():t.json({error:"Forbidden"},403)),n.get("/",t=>t.html(qz())),n.get("/api/overview",t=>{const o=Io(e.workspaceRoot),a=nK(o),s=Gz(e.workspaceRoot,{minRuns:2},o);return t.json({flaky:s,metrics:a})}),n.get("/api/runs",t=>{const a=Io(e.workspaceRoot).filter(s=>typeof s.id=="string"&&typeof s.startTime=="string"&&typeof s.endTime=="string"&&typeof s.duration=="number").map(s=>{const r=s.stats,u=r?{cached:typeof r.cached=="number"?r.cached:void 0,failed:typeof r.failed=="number"?r.failed:void 0,skipped:typeof r.skipped=="number"?r.skipped:void 0,succeeded:typeof r.succeeded=="number"?r.succeeded:void 0,total:typeof r.total=="number"?r.total:void 0}:void 0;return{duration:s.duration,endTime:s.endTime,id:s.id,startTime:s.startTime,stats:u}}).sort((s,r)=>r.startTime.localeCompare(s.startTime));return t.json({runs:a})}),n.get("/api/runs/:id",t=>{const o=uf(e.workspaceRoot,t.req.param("id"));return o?t.json(o):t.json({error:"Not found"},404)}),n.get("/api/runs/:runId/tasks/:taskId/diff",t=>{const o=uf(e.workspaceRoot,t.req.param("runId"));if(!o)return t.json({error:"Run not found"},404);const a=t.req.param("taskId"),s=o.tasks?.find(c=>c.taskId===a);if(!s)return t.json({error:"Task not found"},404);const r=Io(e.workspaceRoot),u=Kz(r,o.id,s);return t.json(u)}),n.get("/api/cache",async t=>{if(!L(e.cacheDirectory))return t.json({directory:e.cacheDirectory,entries:[],exists:!1,totalBytes:0});const o=await Dn(e.cacheDirectory),a=o.reduce((r,u)=>r+u.sizeBytes,0),s=Date.now();return t.json({directory:e.cacheDirectory,entries:o.map(r=>({ageMs:s-r.mtimeMs,hash:r.hash,mtimeIso:new Date(r.mtimeMs).toISOString(),sizeBytes:r.sizeBytes})),exists:!0,totalBytes:a})}),n.get("/api/environment",t=>t.json({arch:process.arch,cacheDirectory:e.cacheDirectory,node:process.version,platform:process.platform,workspaceRoot:e.workspaceRoot})),n.get("/api/events",t=>sz(t,async o=>{const a=[];let s;const r=i(c=>{if(a.push(c),s){const l=s;s=void 0,l()}});o.onAbort(()=>{if(r(),s){const c=s;s=void 0,c()}}),await o.writeSSE({data:JSON.stringify({ok:!0}),event:"ready"});const u=15e3;for(;!o.aborted;){if(a.length===0){const l=o.sleep(u),d=new Promise(g=>{s=g});if(await Promise.race([l,d]),o.aborted)break;if(a.length===0){await o.writeSSE({data:"",event:"heartbeat"});continue}}const c=a.shift();await o.writeSSE({data:JSON.stringify(c),event:"change"})}})),n},sK=async e=>{const i=await oK(e.workspaceRoot),n=aK(e,i.subscribe),t=SQ({fetch:n.fetch,hostname:e.host,port:e.port});await new Promise((c,l)=>{t.once("listening",()=>{c()}),t.once("error",d=>{l(d)})});const o=t.address(),a=typeof o=="object"&&o?o.port:e.port,u=`http://${e.host==="0.0.0.0"||e.host==="::"||e.host==="::0"?"localhost":e.host}:${String(a)}`;return{close:()=>new Promise((c,l)=>{i.close(),t.close(d=>{d?l(d):c()})}),port:a,url:u}},rK=e=>{const{platform:i}=process,[n,t]=i==="darwin"?["open",[e]]:i==="win32"?["cmd",["/c","start","",e]]:["xdg-open",[e]];Lk(n,t,o=>{})},uK={description:"Open a browser dashboard with cache, run history, and cache-miss diffs",examples:[["vis dashboard","Start the dashboard on a random port (server only — does not open a browser)"],["vis dashboard --open","Start the dashboard and open it in the default browser"],["vis dashboard --port=7788","Pin the server to a specific port"],["vis dashboard --host=0.0.0.0 --port=7788","Expose the dashboard on all interfaces"]],execute:async({options:e,process:i,visConfig:n,workspaceRoot:t})=>{const o=t??i.cwd,a=Rb(o,e.cacheDir,n?.taskRunner?.cacheDirectory),s=typeof e.port=="number"&&Number.isFinite(e.port)?e.port:0,r=typeof e.host=="string"&&e.host.length>0?e.host:"127.0.0.1",u=await sK({cacheDirectory:a,host:r,port:s,workspaceRoot:o});Y.success(`Dashboard listening on ${u.url}`),Y.info(`Workspace: ${o}`),Y.info(`Cache: ${a}`),Y.info("Press Ctrl+C to stop."),e.open===!0&&rK(u.url),await new Promise(c=>{let l=!1;const d=()=>{l||(l=!0,process.off("SIGINT",d),process.off("SIGTERM",d),(async()=>{try{await u.close()}catch{}finally{c()}})())};process.once("SIGINT",d),process.once("SIGTERM",d)})},group:"Workspace",name:"dashboard",options:[{defaultValue:0,description:"Port to bind the dashboard server to (0 = auto-assign)",name:"port",type:Number},{defaultValue:"127.0.0.1",description:"Host interface to bind to. Default binds to localhost only.",name:"host",type:String},{defaultValue:!1,description:"Open the dashboard in the default browser after starting",name:"open",type:Boolean},{description:"Cache directory to inspect (overrides config and default). Relative paths resolve against the workspace root.",name:"cache-dir",type:String}]},cK={check:{defaultValue:!1,description:"Preview changes without modifying files (dry-run)",type:Boolean}},lK=D({description:"Deduplicate dependencies using the detected package manager",examples:[["vis dedupe","Run deduplication"],["vis dedupe --check","Preview changes without modifying (CI-friendly)"]],group:"Dependencies",loader:()=>import("./handler9.js"),name:"dedupe",options:cK}),dK={ban:{description:"Ban a dep name or glob for this run (repeatable). Auto-enables --banned-deps.",multiple:!0,type:String},"banned-deps":{defaultValue:!1,description:"Lint deps against policy.bannedDeps in vis config",type:Boolean},"custom-types":{defaultValue:!1,description:"Lint engines.{node,pnpm}, packageManager, volta.*, devEngines.* for drift across packages",type:Boolean},"dead-workspace-patterns":{defaultValue:!1,description:"Flag workspace patterns (in `pnpm-workspace.yaml` / `package.json#workspaces`) that match zero packages",type:Boolean},dep:{description:"Restrict --workspace-versions to a single dep",type:String},"empty-deps":{defaultValue:!1,description:"Flag empty dependency blocks (`dependencies: {}`, `devDependencies: {}`, …) across the workspace",type:Boolean},fix:{defaultValue:!1,description:"Auto-fix violations in place (writes package.json files)",type:Boolean},"fix-specifier":{description:"Specifier used by --fix for workspace-protocol (default: workspace:*)",type:String},format:{description:"Output format: human, json, or minimal (default: human)",type:String},"missing-package-json":{defaultValue:!1,description:"Flag workspace directories that lack a package.json",type:Boolean},pin:{description:"Pin a dep to an exact specifier for this run, e.g. react@^18.2.0 (repeatable). Auto-enables --workspace-versions.",multiple:!0,type:String},"propose-min":{description:"Propose catalog entries for deps ≥N packages already agree on. Activates with --resolve catalog.",type:Number},quiet:{defaultValue:!1,description:"Suppress all output except errors",type:Boolean},"redefine-root":{defaultValue:!1,description:"Lint that no child re-declares a dep already pinned in the workspace root",type:Boolean},resolve:{description:"Conflict resolution for --workspace-versions: highest, lowest, or catalog (default: highest)",type:String},"root-deps":{defaultValue:!1,description:"Flag runtime dependencies on the private workspace root (move them to devDependencies)",type:Boolean},"root-package-manager":{defaultValue:!1,description:"Ensure the workspace root package.json declares a `packageManager` field",type:Boolean},"root-private":{defaultValue:!1,description:'Ensure the workspace root package.json sets `"private": true`',type:Boolean},"similar-deps":{defaultValue:!1,description:"Flag version drift across related dep families (react+react-dom, @babel/*, @storybook/*, …)",type:Boolean},"types-in-deps":{defaultValue:!1,description:"Flag `@types/*` declared in `dependencies` on a private package (should be in devDependencies)",type:Boolean},"workspace-protocol":{defaultValue:!1,description:"Lint that internal deps use the workspace: protocol",type:Boolean},"workspace-versions":{defaultValue:!1,description:"Lint that all packages declare external deps at the same version",type:Boolean}},gK=D({description:"Lint workspace dependency policies (workspace-protocol, banned-deps, redefine-root, workspace-versions, custom-types, empty-deps, root-private, root-package-manager, root-deps, missing-package-json, dead-workspace-patterns, types-in-deps, similar-deps)",examples:[["vis deps","Run every enabled lint and exit non-zero on failures"],["vis deps --workspace-protocol","Only check that internal deps use workspace:*"],["vis deps --workspace-protocol --fix","Auto-rewrite internal deps to use workspace:*"],["vis deps --redefine-root","Flag deps duplicated between root and child packages"],["vis deps --banned-deps","Flag deps matching policy.bannedDeps in vis config"],["vis deps --workspace-versions","Flag external deps declared at different versions across packages"],["vis deps --workspace-versions --fix","Rewrite drifting deps to the highest sibling version"],["vis deps --workspace-versions --dep react","Limit version-drift check to a single dep"],["vis deps --workspace-versions --resolve catalog --fix","Rewrite drifting deps to catalog: when a catalog already pins them"],["vis deps --workspace-versions --resolve catalog --propose-min 3","Suggest new catalog entries for deps ≥3 packages already agree on"],["vis deps --custom-types","Flag drift in engines.{node,pnpm}, packageManager, volta.{node,pnpm,yarn}, devEngines"],["vis deps --custom-types --fix","Align all engines/packageManager/volta versions to the highest sibling"],["vis deps --empty-deps --fix","Drop empty `dependencies` / `devDependencies` / etc. blocks across the workspace"],["vis deps --root-private --fix",'Ensure the workspace root package.json has "private": true'],["vis deps --root-package-manager","Ensure the root package.json declares a `packageManager` field"],["vis deps --root-deps --fix","Move runtime deps off the private workspace root into devDependencies"],["vis deps --missing-package-json","Flag workspace dirs that don't contain a package.json"],["vis deps --dead-workspace-patterns --fix","Drop workspace patterns that match zero packages"],["vis deps --types-in-deps --fix","Move @types/* out of dependencies on private packages"],["vis deps --similar-deps","Flag drift across related dep families (react+react-dom, @babel/*, …)"],["vis deps --ban left-pad --ban request","One-off ban: flag any package declaring left-pad or request"],["vis deps --pin react@18.2.0","One-off pin: flag any package declaring react at a different version"],["vis deps --format json","Emit findings as JSON for CI / editor integrations"]],group:"Security & Health",loader:()=>import("./handler68.js"),name:"deps",options:dK}),hK={output:{alias:"o",description:"Output path (default: .devcontainer/devcontainer.json)",type:String},template:{alias:"t",description:"Start from a template: node, node-pnpm, node-postgres, node-dind, fullstack, python, go, rust, java, devops, minimal, custom",type:String}},pK=D({alias:"dc",description:"Create or update .devcontainer/devcontainer.json interactively",examples:[["vis devcontainer","Launch interactive devcontainer config editor"],["vis dc","Alias for devcontainer"],["vis devcontainer --template node-pnpm","Start from Node.js + pnpm template"]],group:"Scaffold & Config",loader:()=>import("./handler77.js"),name:"devcontainer",options:hK}),rr="Workspace",fK={focus:{description:"Project name(s) to focus on — comma-separated for multiple",type:String},"include-sources":{defaultValue:!1,description:"Also copy focus project source trees to <out>/sources",type:Boolean},out:{description:"Output directory for the scaffold (default: .vis/docker)",type:String},...De({defaultValue:!0,description:"Rewrite the workspace lockfile to drop unfocused projects (use --no-prune-lockfile to copy verbatim)",name:"prune-lockfile",type:Boolean})},vK=D({commandPath:["docker"],description:"Build a minimal, cache-friendly Docker context for a focus project + its deps",examples:[["vis docker scaffold --focus=my-app","Generate .vis/docker/workspace for my-app + its deps"],["vis docker scaffold --focus=my-app --include-sources","Also copy focus source trees"],["vis docker scaffold --focus=my-app,other --out=.vis/docker","Focus multiple projects"]],group:rr,loader:W(()=>import("./handler60.js"),"scaffoldExecute"),name:"scaffold",options:fK}),yK={context:{description:"Scaffold root for prune (default: .vis/docker)",type:String}},mK=D({commandPath:["docker"],description:"Strip unfocused workspace projects from a scaffolded context (run inside a build stage)",examples:[["vis docker prune --context=.vis/docker","Strip unfocused projects inside a build stage"]],group:rr,loader:W(()=>import("./handler60.js"),"pruneExecute"),name:"prune",options:yK}),bK={"dry-run":{defaultValue:!1,description:"Print the Dockerfile to stdout instead of writing it",type:Boolean},focus:{description:"Focus project name for the build filter",type:String},force:{defaultValue:!1,description:"Overwrite an existing Dockerfile without prompting",type:Boolean},node:{description:"Node.js version tag for the base image (default: 22)",type:String}},wK=D({argument:{description:"Output path for the Dockerfile (default: ./Dockerfile)",name:"path",type:String},commandPath:["docker"],description:"Generate a multi-stage Dockerfile wired to the scaffold/prune flow (create-only)",examples:[["vis docker init","Generate ./Dockerfile for the detected package manager"],["vis docker init --focus=my-app","Target a specific project's build"],["vis docker init --node=24 --force","Use Node 24 and overwrite without prompting"],["vis docker init --dry-run","Print the Dockerfile instead of writing it"]],group:rr,loader:W(()=>import("./handler60.js"),"initExecute"),name:"init",options:bK}),kK={config:{description:"Path to a hadolint config (.hadolint.yaml)",type:String},fix:{defaultValue:!1,description:"Apply safe autofixes, then re-lint and report what remains",type:Boolean},install:{defaultValue:!1,description:"Download hadolint without prompting if it is missing",type:Boolean},json:{defaultValue:!1,description:"Emit findings as JSON",type:Boolean}},jK=D({argument:{description:"Dockerfile path(s) to lint (default: ./Dockerfile)",name:"file",type:String},commandPath:["docker"],description:"Lint a Dockerfile with hadolint (downloaded on demand); --fix applies safe autofixes",examples:[["vis docker lint","Lint ./Dockerfile (prompts to download hadolint on first use)"],["vis docker lint apps/web/Dockerfile","Lint a specific Dockerfile"],["vis docker lint --fix","Apply safe autofixes, then report what remains"],["vis docker lint --install --json","Auto-download hadolint and emit JSON"]],group:rr,loader:W(()=>import("./handler60.js"),"lintExecute"),name:"lint",options:kK}),SK=[vK,mK,wK,jK],CK={"exit-code":{defaultValue:!1,description:"Exit with code 1 if issues found",type:Boolean},filter:{description:"Comma-separated package name patterns to scope findings (supports * globs, e.g. '@types/*,react')",type:String},fix:{defaultValue:!1,description:"Auto-apply safe fixes (security overrides + codemods, SIGTERM orphans)",type:Boolean},"fix-force":{defaultValue:!1,description:"With --fix: escalate orphan cleanup to SIGKILL / taskkill /F (use when SIGTERM is ignored)",type:Boolean},format:{description:"Output format: table or json (default: table). Alias: --json",type:String},json:{defaultValue:!1,description:"Shorthand for --format json",type:Boolean},"no-cache":{defaultValue:!1,description:"Bypass the doctor result cache (~/.vis/cache/doctor)",type:Boolean},"no-progress":{defaultValue:!1,description:"Disable live progress UI (forces sequential logs)",type:Boolean},only:{description:"Comma-separated sections to run: dependencies,security,optimization,runtime",type:String},quiet:{defaultValue:!1,description:"Suppress per-section detail; print summary only",type:Boolean},skip:{description:"Comma-separated sections to skip",type:String},strict:{defaultValue:!1,description:"With --exit-code: also fail on outdated and duplicate deps, runtime warnings and uncovered env",type:Boolean}},LK=D({description:"Run a full project health check (outdated, security, duplicates, optimizations)",examples:[["vis doctor","Full project health check"],["vis doctor --fix","Check and auto-apply safe fixes"],["vis doctor --format json","Machine-readable output for CI"],["vis doctor --only security","Only run the security scans"],["vis doctor --skip optimization,runtime","Skip the listed sections"],["vis doctor --quiet","Summary only, no per-section breakdown"],["vis doctor --no-progress","Disable live progress UI (sequential logs)"],["vis doctor --exit-code","Exit with code 1 if security issues found"],["vis doctor --exit-code --strict","Fail on any issue (outdated, duplicates, security)"]],group:"Security & Health",loader:()=>import("./handler70.js"),name:"doctor",options:CK}),xK={check:{defaultValue:!1,description:"Report files that would change without writing",type:Boolean},format:{defaultValue:"human",description:"Output format: human, json, minimal, sarif, junit, or github",type:String},output:{description:"Write formatted output to a file path instead of stdout (also accepts `-`/`stdout`/`stderr`)",type:String},quiet:{defaultValue:!1,description:"Suppress per-file logs",type:Boolean},since:{description:"Only format files changed vs the given git ref (branch, tag, sha)",type:String},staged:{defaultValue:!1,description:"Only format files currently staged in the git index",type:Boolean},watch:{defaultValue:!1,description:"Re-run formatters whenever watched files change",type:Boolean}},TK=D({description:"Orchestrate detected formatters (prettier, …) across the workspace",examples:[["vis fmt","Apply formatting in place using every detected formatter"],["vis fmt --check","Report files that would change without writing"],["vis fmt --check --format json","Emit findings as JSON for CI / editor integrations"],["vis fmt --check --format sarif","Emit a SARIF 2.1.0 document for code-scanning uploads"],["vis fmt --check --format junit","Emit a JUnit XML report for CI dashboards"],["vis fmt --check --format github","Emit GitHub Actions workflow commands for inline PR annotations"],["vis fmt src/foo.ts src/bar.ts","Format a specific file list"],["vis fmt --quiet","Suppress per-file logs"],["vis fmt --since main","Only format files changed vs the main branch"],["vis fmt --staged","Only format files currently staged in the git index"],["vis fmt --watch","Re-run formatters when watched files change (cache makes incremental --check near-free)"],["vis fmt --check --format sarif --output fmt.sarif","Write the SARIF report to fmt.sarif instead of stdout"]],group:"Lint & Format",loader:()=>import("./handler61.js"),name:"fmt",options:xK}),YK={defaults:{defaultValue:!1,description:"Skip prompts; use template defaults",type:Boolean},describe:{defaultValue:!1,description:"Print template metadata (about, destination, variables) without running produce",type:Boolean},"dry-run":{defaultValue:!1,description:"Print planned writes without touching disk",type:Boolean},force:{defaultValue:!1,description:"Overwrite existing files without prompting",type:Boolean},json:{defaultValue:!1,description:"Emit JSON output (with --list or --describe)",type:Boolean},list:{defaultValue:!1,description:"List discovered templates",type:Boolean},"no-interactive":{defaultValue:!1,description:"Skip interactive prompts (errors on missing required values)",type:Boolean},"prefer-offline":{defaultValue:!1,description:"Prefer locally cached remote templates over re-downloading",type:Boolean},"skip-scripts":{defaultValue:!1,description:"Skip running post-generation scripts",type:Boolean},to:{description:"Destination directory",type:String}},DK=D({argument:{description:"Template name (or remote source like git://… or npm://…) — omit for interactive picker",name:"template",type:String},description:"Scaffold files from an in-repo template",examples:[["vis generate","Pick a template interactively"],["vis generate package","Run the 'package' template"],["vis generate component -- --name=Button --style=primary","Pre-fill option values"],["vis generate package --to=./packages/new --force","Custom destination + overwrite"],["vis generate package --dry-run","Print planned writes without touching disk"],["vis generate git://github.com/org/template#main","Fetch and run a remote template"],["vis generate --list","Show discovered templates"],["vis generate --list --json","Machine-readable template list"],["vis generate package --describe --json","Print template metadata (variables, destination) as JSON"]],group:"Scaffold & Config",loader:()=>import("./handler62.js"),name:"generate",options:YK}),$K={depth:{alias:"d",description:"Maximum dependency tree depth for ASCII output (default: unlimited)",type:Number},format:{alias:"f",defaultValue:void 0,description:"Output format: tui, ascii, dot, json, html (default: tui in TTY, ascii otherwise)",type:String},output:{alias:"o",description:"Write output to file instead of stdout",type:String}},EK=D({description:"Visualize the project dependency graph",examples:[["vis graph","Show colored dependency graph (TUI in TTY, ASCII otherwise)"],["vis graph --format=ascii","Force ASCII tree output"],["vis graph --format=dot","Output in Graphviz DOT format"],["vis graph --format=html --output=graph.html","Generate interactive HTML graph"],["vis graph --format=json --output=graph.json","Save JSON graph to file"]],group:"Workspace",loader:()=>import("./handler74.js"),name:"graph",options:$K}),yt={defaultValue:$c,description:"Custom hooks directory",name:"hooks-dir",type:String},mt=[{defaultValue:void 0,description:"Set to 0 to disable git hooks, 1 to force-enable them under CI (override skipInCI), 2 for debug output",name:"VIS_GIT_HOOKS",type:String}],BK={commandPath:["hook"],description:"Install git hooks for the workspace (migrates husky / prek on prompt)",env:[...mt],examples:[["vis hook install","Install git hooks in .vis/hooks/"],["vis hook install --hooks-dir=.githooks","Install hooks in a custom directory"],["vis hook install --force","Take over core.hooksPath even when another tool set it"]],group:"Git Hooks",loader:()=>import("./handler72.js").then(e=>({default:e.hookInstallExecute})),name:"install",options:[yt,{defaultValue:!1,description:"Overwrite core.hooksPath even when it points somewhere unexpected",name:"force",type:Boolean}]},RK={commandPath:["hook"],description:"Remove git hooks and reset core.hooksPath",env:[...mt],examples:[["vis hook uninstall","Remove git hooks and reset core.hooksPath"]],group:"Git Hooks",loader:()=>import("./handler72.js").then(e=>({default:e.hookUninstallExecute})),name:"uninstall",options:[yt]},OK={commandPath:["hook"],description:"Migrate from husky or prek to vis hooks (auto-detected)",env:[...mt],examples:[["vis hook migrate","Migrate from husky or prek to vis hooks (auto-detected)"],["vis hook migrate --dry-run","Preview what a migration would write without touching disk"]],group:"Git Hooks",loader:()=>import("./handler72.js").then(e=>({default:e.hookMigrateExecute})),name:"migrate",options:[yt,{defaultValue:!1,description:"Preview migrate without writing files",name:"dry-run",type:Boolean}]},JK={commandPath:["hook"],description:"Show configured hooks grouped by stage",env:[...mt],examples:[["vis hook list","Show configured hooks grouped by stage"]],group:"Git Hooks",loader:()=>import("./handler72.js").then(e=>({default:e.hookListExecute})),name:"list",options:[yt]},PK={commandPath:["hook"],description:"Sanity-check installed hooks and the bundled runner",env:[...mt],examples:[["vis hook validate","Sanity-check installed hooks and the bundled runner"]],group:"Git Hooks",loader:()=>import("./handler72.js").then(e=>({default:e.hookValidateExecute})),name:"validate",options:[yt]},NK={argument:{description:"Hook stage to run (e.g. pre-commit, commit-msg). Defaults to pre-commit.",name:"stage",type:String},commandPath:["hook"],description:"Run a specific hook stage against tracked files",env:[...mt],examples:[["vis hook run pre-commit --all-files","Run the pre-commit hooks against every tracked file"],["vis hook run pre-commit --from-ref=main --to-ref=HEAD","Run pre-commit hooks on files changed between two refs"],["vis hook run pre-commit --last-commit","Shortcut for --from-ref HEAD~1 --to-ref HEAD"]],group:"Git Hooks",loader:()=>import("./handler72.js").then(e=>({default:e.hookRunExecute})),name:"run",options:[yt,{defaultValue:!1,description:"Run against every tracked file",name:"all-files",type:Boolean},{defaultValue:void 0,description:"Include files changed since this ref",name:"from-ref",type:String},{defaultValue:void 0,description:"Include files changed up to this ref",name:"to-ref",type:String},{defaultValue:!1,description:"Shortcut for --from-ref HEAD~1 --to-ref HEAD",name:"last-commit",type:Boolean}]},ZK={argument:{description:"Target to add (currently: `secrets`)",name:"target",type:String},commandPath:["hook"],description:"Add a managed hook snippet (e.g. `vis secrets --staged`)",env:[...mt],examples:[["vis hook add secrets","Add a pre-commit hook that runs `vis secrets --staged`"]],group:"Git Hooks",loader:()=>import("./handler72.js").then(e=>({default:e.hookAddExecute})),name:"add",options:[yt]},AK=[BK,RK,OK,JK,PK,NK,ZK],MK={json:{defaultValue:!1,description:"Emit the result as JSON",type:Boolean},target:{description:"Ignore-file target: docker | vercel | npm | slug (default: docker)",type:String},write:{defaultValue:!1,description:"Write the result to disk instead of printing to stdout",type:Boolean}},HK=D({description:"Generate or merge an ignore file (.dockerignore/.vercelignore/.npmignore/.slugignore) without duplicate entries",examples:[["vis ignore","Print a .dockerignore (deduped against an existing one)"],["vis ignore --write","Write/merge the .dockerignore in place"],["vis ignore --target=vercel --write","Write a deduped .vercelignore"],["vis ignore --target=npm --json","Emit the npm-target result as JSON"]],group:"Scaffold & Config",loader:()=>import("./handler53.js"),name:"ignore",options:MK}),IK={yes:{alias:"y",defaultValue:!1,description:"Skip confirmation prompt",type:Boolean}},XK=D({description:"Remove vis from the system (self-uninstall)",examples:[["vis implode","Interactive uninstall"],["vis implode --yes","Non-interactive uninstall (CI)"]],group:"System",loader:()=>import("./handler10.js"),name:"implode",options:IK}),_K={"dry-run":{defaultValue:!1,description:"Print the git plan instead of executing it",type:Boolean},message:{alias:"m",description:"Commit message for the subtree merge",type:String},"no-register":{defaultValue:!1,description:"Do not register the package into the workspace config",type:Boolean},prefix:{alias:"p",description:"Target directory in the monorepo (e.g. packages/tooling/foo)",type:String},ref:{alias:"r",description:"Branch, tag, or commit to import (default: HEAD)",type:String},squash:{defaultValue:!1,description:"Collapse the incoming history into a single merge commit",type:Boolean}},FK=D({argument:{description:"Source git repository URL or local path to import",name:"source",type:String},description:"Import an external repo into the monorepo under a prefix, preserving history",examples:[["vis import git@github.com:me/foo.git --prefix packages/tooling/foo","Import a repo under packages/tooling/foo"],["vis import ../foo --prefix packages/foo --ref v1.2.0","Import a specific tag/branch/commit"],["vis import ../foo --prefix packages/foo --squash","Collapse the incoming history into one commit"],["vis import ../foo --prefix packages/foo --dry-run","Print the git plan without making changes"]],group:"Workspace",loader:()=>import("./handler54.js"),name:"import",options:_K}),WK={json:{defaultValue:!1,description:"Output as JSON",type:Boolean}},GK=D({alias:"view",argument:{description:"Package name followed by optional metadata fields (e.g. 'react version dependencies')",name:"args",type:String},description:"Show npm registry metadata for a package (alias of `npm view` / `pnpm view` / `yarn info` / `bun pm view`)",examples:[["vis info react","Full registry metadata for react"],["vis info react version","Latest version only"],["vis info react versions","All published versions"],["vis info react@18 dependencies","Dependencies of react@18"],["vis info react --json","Emit JSON"],["vis view react","Alias matching npm/pnpm"]],group:"Dependencies",loader:()=>import("./handler11.js"),name:"info",options:WK}),QK={agent:{defaultValue:!1,description:"Generate AI agent instructions in .ai/ (opt-in)",type:Boolean},editor:{description:"Generate editor configs (vscode)",type:String},force:{defaultValue:!1,description:"Overwrite existing config file",type:Boolean},"no-interactive":{defaultValue:!1,description:"Skip interactive prompts",type:Boolean},schema:{defaultValue:!1,description:"Print workspace-relative $schema paths for project.json and vis.config.ts, then exit",type:Boolean},"sync-native":{defaultValue:!1,description:"Sync settings to native PM config files",type:Boolean}},zK=D({description:"Initialize vis.config.ts with best-practice security defaults",examples:[["vis init","Interactive setup wizard"],["vis init --no-interactive","Create minimal config without prompts"],["vis init --force","Overwrite existing config"],["vis init --sync-native","Also sync to native PM config files"],["vis init --schema","Print the workspace-relative `$schema` refs to paste into project.json and vis.config.ts"]],group:"Scaffold & Config",loader:()=>import("./handler12.js"),name:"init",options:QK}),KK={json:{defaultValue:!1,description:"Emit findings as a JSON document instead of the human-readable table.",type:Boolean},only:{description:"Comma-separated subset of marshalls to run. Known: author, archivedRepo, downloads, expiredDomains, metadata, newBin, provenance, signatures. Signatures only runs when explicitly requested here.",type:String},strict:{defaultValue:!1,description:"Exit non-zero on any finding (warnings included). Default exits non-zero only on errors.",type:Boolean}},VK=D({argument:{description:"Package to inspect, optionally pinned: `<name>` or `<name>@<spec>`. `<spec>` may be a version, range, or dist-tag.",name:"package"},description:"Run all marshalls against a package without installing it",examples:[["vis inspect express","Run every marshall against express@latest"],["vis inspect lodash@4.17.21","Pin to an exact version"],["vis inspect react@^18","Resolve a semver range, then inspect the best match"],["vis inspect express --json","Emit findings as JSON for CI integration"],["vis inspect express --strict","Exit non-zero on any warning, not just errors"],["vis inspect express --only author,downloads","Run a subset of marshalls"],["vis inspect express --only signatures","Signatures are off by default; opt in with --only"]],group:"Security & Health",loader:()=>import("./handler13.js"),name:"inspect",options:KK}),UK={ci:{defaultValue:!1,description:"Clean install: wipe node_modules then install with frozen lockfile",type:Boolean},dev:{alias:"D",conflicts:"prod",description:"Install devDependencies only (no positional args) / add as dev (with positional args, npm-style)",type:Boolean},exact:{alias:"E",defaultValue:!1,description:"Save exact version (only with positional args; mirrors `npm install -E`)",type:Boolean},filter:{alias:"F",description:"Filter by workspace package name",multiple:!0,type:String},force:{alias:"f",defaultValue:!1,description:"Force reinstall all dependencies",type:Boolean},"frozen-lockfile":{description:"Use frozen lockfile (CI mode, maps to npm ci)",type:Boolean},installer:{description:"Pick the installer explicitly. One of: auto, aube, pnpm, npm, yarn, bun. Overrides VIS_INSTALLER and install.backend in vis.config.",type:String},"lockfile-only":{defaultValue:!1,description:"Update lockfile without installing",type:Boolean},"no-aube":{defaultValue:!1,description:"Skip aube and use the lockfile-detected PM. Wins over --installer / VIS_INSTALLER / install.backend.",type:Boolean},"no-frozen-lockfile":{defaultValue:!1,description:"Opt out of vis's default frozen-lockfile behavior and allow lockfile updates",type:Boolean},"no-marshall-check":{defaultValue:!1,description:"Skip the offline marshall pipeline (only with positional args; mirrors `vis add --no-marshall-check`)",type:Boolean},"no-optional":{defaultValue:!1,description:"Skip optional dependencies",type:Boolean},"no-socket-check":{defaultValue:!1,description:"Skip Socket.dev security check (only with positional args; mirrors `vis add --no-socket-check`)",type:Boolean},"no-typosquat-check":{defaultValue:!1,description:"Skip typosquat name check",type:Boolean},offline:{defaultValue:!1,description:"Use only cached packages",type:Boolean},"prefer-offline":{defaultValue:!1,description:"Prefer cached packages, fall back to network when missing",type:Boolean},prod:{alias:"P",conflicts:"dev",description:"Skip devDependencies (no positional args) / add as peer (with positional args, npm-style)",type:Boolean},recursive:{alias:"r",defaultValue:!1,description:"Install in all workspace packages",type:Boolean},"run-scripts":{defaultValue:!1,description:"Run lifecycle scripts (opts out of vis's default block-by-default policy; allowlisted packages run via security.policies.installScripts.allow)",type:Boolean},"save-optional":{defaultValue:!1,description:"Add as optional dependency (only with positional args; mirrors `npm install -O`)",type:Boolean},silent:{alias:"s",defaultValue:!1,description:"Suppress output",type:Boolean},"workspace-root":{alias:"w",defaultValue:!1,description:"Target workspace root",type:Boolean}},qK=D({alias:"i",argument:{description:"Optional package names. When provided, delegates to `vis add` (enables npm-style `alias npm='vis install'` wrappers).",name:"packages",type:String},description:"Install dependencies using the detected package manager",examples:[["vis install","Install all dependencies (frozen-lockfile by default when a lockfile is present)"],["vis install react react-dom","Delegates to `vis add` — enables shell aliases like `alias npm='vis install'`"],["vis i --no-frozen-lockfile","Allow lockfile updates (escape hatch for the default)"],["vis install --ci","Clean install: wipe node_modules + frozen lockfile (mirrors npm ci / pnpm ci)"],["vis install --prefer-offline","Use cached packages when available, fall back to network"],["vis install --prod","Install production dependencies only"],["vis install --filter app","Install for specific workspace package"],["vis install --run-scripts","Run lifecycle scripts (opts out of vis's default block-by-default policy; allowlisted packages run via security.policies.installScripts.allow)"],["vis install --no-typosquat-check","Skip typosquat name check"],["vis install --installer aube","Force aube as the installer (errors if not on PATH)"],["vis install --no-aube","Bypass aube; use the lockfile-detected PM"]],group:"Dependencies",loader:()=>import("./handler14.js"),name:"install",options:UK}),eV={alias:"ln",argument:{description:"Package name or directory path to link (omit to register current package)",name:"target",type:String},description:"Link a local package for development",examples:[["vis link ./packages/utils","Link local directory package (works on all PMs)"],["vis link","Register current package globally (pnpm <=10, yarn, npm, bun)"],["vis link react","Link global package into current project (pnpm <=10, yarn, npm, bun)"]],group:"Dependencies",loader:()=>import("./handler16.js"),name:"link"},iV={fix:{defaultValue:!1,description:"Apply auto-fixes in place",type:Boolean},format:{defaultValue:"human",description:"Output format: human, json, minimal, sarif, junit, or github",type:String},"max-warnings":{description:"Fail the run if more than N warnings are reported",type:Number},output:{description:"Write formatted output to a file path instead of stdout (also accepts `-`/`stdout`/`stderr`)",type:String},quiet:{defaultValue:!1,description:"Suppress warnings — report errors only",type:Boolean},since:{description:"Only lint files changed vs the given git ref (branch, tag, sha)",type:String},staged:{defaultValue:!1,description:"Only lint files currently staged in the git index",type:Boolean},watch:{defaultValue:!1,description:"Re-run linters whenever watched files change",type:Boolean}},nV=D({description:"Orchestrate detected source-code linters (eslint, …) across the workspace",examples:[["vis lint","Run every detected linter against the workspace"],["vis lint --fix","Apply auto-fixes where the tool supports them"],["vis lint --format json","Emit findings as JSON for CI / editor integrations"],["vis lint --format sarif","Emit a SARIF 2.1.0 document for code-scanning uploads"],["vis lint --format junit","Emit a JUnit XML report for CI dashboards"],["vis lint --format github","Emit GitHub Actions workflow commands for inline PR annotations"],["vis lint src/foo.ts src/bar.ts","Lint a specific file list"],["vis lint --quiet","Suppress warnings — only errors are reported"],["vis lint --max-warnings 0","Treat any warning as a failure"],["vis lint --since main","Only lint files changed vs the main branch"],["vis lint --staged","Only lint files currently staged in the git index"],["vis lint --watch","Re-run linters when watched files change (cache makes incremental near-free)"],["vis lint --format sarif --output lint.sarif","Write the SARIF report to lint.sarif instead of stdout"]],group:"Lint & Format",loader:()=>import("./handler65.js"),name:"lint",options:iV}),tV={"dep-type":{description:"Restrict --deps to specific dep blocks (repeatable)",multiple:!0,type:String},deps:{defaultValue:!1,description:"Render a dep-instance view (table by default; use --format=ndjson|json for jq-friendly streams)",type:Boolean},exclude:{description:"With --deps: glob of declaring package names to drop (repeatable)",multiple:!0,type:String},"external-only":{defaultValue:!1,description:"With --deps: only show external/registry deps",type:Boolean},format:{description:"Output format: table (default), json (single document), or ndjson (one record per line; --deps only)",type:String},include:{description:"With --deps: glob of declaring package names to keep (repeatable)",multiple:!0,type:String},inferred:{defaultValue:!1,description:"Filter target rows to only inferred targets (implies --targets)",type:Boolean},"internal-only":{defaultValue:!1,description:"With --deps: only show internal/workspace deps",type:Boolean},json:{defaultValue:!1,description:"Shorthand for --format=json",type:Boolean},pretty:{defaultValue:!1,description:"Pretty-print with 2-space indent (only meaningful with --format=json)",type:Boolean},query:{description:"Filter projects by query",type:String},tag:{description:'Only list projects carrying one of these tags (repeatable, or comma-separated). Shorthand for --query="tag=…".',multiple:!0,type:String},targets:{defaultValue:!1,description:"Show per-target rows (type, cache, description)",type:Boolean}},oV=D({description:"List all workspace projects with metadata",examples:[["vis list","Show all projects"],["vis list --targets","Per-target rows with type, cache status and description"],["vis list --targets --inferred","Only show targets synthesized by Project Crystal-style inference"],["vis list --deps","Human-readable table of every dep-instance across the workspace"],["vis list --deps --internal-only","Only workspace deps in human form"],["vis list --deps --format=ndjson","Stream every dep-instance as NDJSON for jq pipelines"],["vis list --deps --format=json --pretty","Single pretty-printed JSON array of dep-instances"],["vis list --format=json","Machine-readable project listing"],["vis list --json","Same, shorthand"],['vis list --query "tag=frontend"',"Filter by query"],["vis list --tag=type:package","Filter by tag (shorthand for the query above)"]],group:"Workspace",loader:()=>import("./handler55.js"),name:"list",options:tV}),ci={"dry-run":{defaultValue:!1,description:"Preview changes without applying",type:Boolean},yes:{alias:"y",defaultValue:!1,description:"Skip the confirmation prompt",type:Boolean}},aV={...ci},sV=D({commandPath:["migrate"],description:"Migrate dependencies and scripts to vis",group:"Migrate",loader:W(()=>import("./handler58.js"),"migrateDepsExecute"),name:"deps",options:aV}),rV={...ci},uV=D({commandPath:["migrate"],description:"Inline lint-staged configuration into vis",group:"Migrate",loader:W(()=>import("./handler58.js"),"migrateLintStagedExecute"),name:"lint-staged",options:rV}),cV={...ci},lV=D({commandPath:["migrate"],description:"Inline nano-staged configuration into vis",group:"Migrate",loader:W(()=>import("./handler58.js"),"migrateNanoStagedExecute"),name:"nano-staged",options:cV}),dV={...ci},gV=D({commandPath:["migrate"],description:"Migrate turborepo tasks/config to vis",group:"Migrate",loader:W(()=>import("./handler58.js"),"migrateTurborepoExecute"),name:"turborepo",options:dV}),hV={...ci,aggressive:{defaultValue:!1,description:"Auto-apply the safe cleanup items the migrator would otherwise leave on the checklist: delete nx.json + ignore-files-for-nx-affected.yml, strip nx/@nx/*/@nrwl/* devDependencies, rewrite mechanical `nx run-many|run|affected` scripts. Implies --force.",type:Boolean},force:{defaultValue:!1,description:"Overwrite an existing vis.config.ts (a .bak is taken first)",type:Boolean},"rewrite-sync-generators":{defaultValue:!1,description:"For each project.json `syncGenerators`, add a `pre<target>` script to sibling package.json (with a TODO for the user to wire up)",type:Boolean}},pV=D({commandPath:["migrate"],description:"Migrate nx targets/config to vis",group:"Migrate",loader:W(()=>import("./handler58.js"),"migrateNxExecute"),name:"nx",options:hV}),fV={...ci,"copy-templates":{defaultValue:!1,description:"Copy .moon/templates/* into .vis/templates/* so `vis generate` works without .moon/",type:Boolean}},vV=D({commandPath:["migrate"],description:"Migrate moon tasks/templates to vis",group:"Migrate",loader:W(()=>import("./handler58.js"),"migrateMoonExecute"),name:"moon",options:fV}),yV={...ci},mV=D({commandPath:["migrate"],description:"Migrate gitleaks config/baseline/hooks to `vis secrets`",examples:[["vis migrate gitleaks","Migrate gitleaks config/baseline/hooks to `vis secrets`"]],group:"Migrate",loader:W(()=>import("./handler58.js"),"migrateGitleaksExecute"),name:"gitleaks",options:yV}),bV={...ci},wV=D({commandPath:["migrate"],description:"Migrate Kingfisher baseline/hooks/scripts to `vis secrets`",examples:[["vis migrate kingfisher","Migrate Kingfisher baseline/hooks/scripts to `vis secrets`"]],group:"Migrate",loader:W(()=>import("./handler58.js"),"migrateKingfisherExecute"),name:"kingfisher",options:bV}),kV={...ci},jV=D({commandPath:["migrate"],description:"Replace secretlint with `vis secrets`",examples:[["vis migrate secretlint","Replace secretlint with `vis secrets`"]],group:"Migrate",loader:W(()=>import("./handler58.js"),"migrateSecretlintExecute"),name:"secretlint",options:kV}),SV={...ci},CV=D({commandPath:["migrate"],description:"Translate syncpack customTypes into vis policy and strip the syncpack dep/scripts",examples:[["vis migrate syncpack","Translate syncpack customTypes into vis policy and strip the syncpack dep/scripts"]],group:"Migrate",loader:W(()=>import("./handler58.js"),"migrateSyncpackExecute"),name:"syncpack",options:SV}),LV={...ci},xV=D({commandPath:["migrate"],description:"Strip sherif config/dep/scripts and surface ignore-rules as a positive `vis lint --<rule>` command",examples:[["vis migrate sherif","Strip sherif config/dep/scripts and surface ignore-rules as a positive `vis lint --<rule>` command"]],group:"Migrate",loader:W(()=>import("./handler58.js"),"migrateSherifExecute"),name:"sherif",options:LV}),TV={...ci},YV=D({commandPath:["migrate"],description:"Auto-rewrite vis.config.ts to use renamed fields (targetDefaults → tasks, taskDefaults → scopedTasks, taskRunnerOptions → taskRunner)",examples:[["vis migrate self","Rewrite vis.config.ts in-place (a .bak is taken first)"],["vis migrate self --dry-run","Preview the rewrite without writing"]],group:"Migrate",loader:W(()=>import("./handler58.js"),"migrateSelfExecute"),name:"self",options:TV}),DV={},$V=D({commandPath:["migrate"],description:"Audit the workspace for stray gitleaks/secretlint/sherif/syncpack references (exit 1 on issues)",examples:[["vis migrate verify","Audit the workspace for stray gitleaks/secretlint/sherif/syncpack references (exit 1 on issues)"]],group:"Migrate",loader:W(()=>import("./handler58.js"),"migrateVerifyExecute"),name:"verify",options:DV}),EV={"fail-on":{description:"Exit non-zero on: error (default) | warning",type:String},format:{description:"Output format: table | json | ndjson (default: table)",type:String},from:{description:"Source tool to compare against (turbo|nx|moon). Auto-detected when omitted.",type:String}},BV=D({commandPath:["migrate"],description:"Prove a turbo/nx/moon → vis migration preserved the task graph + cache-key surface (exit 1 on divergence)",examples:[["vis migrate verify-graph","Auto-detect the source tool and diff its task graph against the migrated vis.config.ts"],["vis migrate verify-graph --from turbo --format json","Machine-readable equivalence report on stdout (Axis A)"],["vis migrate verify-graph --fail-on warning","Also gate CI on additive/extra-target warnings"]],group:"Migrate",loader:W(()=>import("./handler58.js"),"migrateVerifyGraphExecute"),name:"verify-graph",options:EV}),RV={...ci},OV=D({commandPath:["migrate"],description:"Run every applicable migration non-interactively (autodetected)",examples:[["vis migrate all --yes","Run every detected migration without prompting (CI-friendly)"],["vis migrate all --dry-run","Preview every detected migration without writing files"]],group:"Migrate",loader:W(()=>import("./handler58.js"),"migrateAllExecute"),name:"all",options:RV}),JV=[OV,sV,uV,lV,gV,pV,vV,YV,mV,wV,jV,CV,xV,$V,BV],PV={"dry-run":{alias:"d",defaultValue:!1,description:"Preview available optimizations without applying",type:Boolean},format:{description:"Output format: table or json (default: table)",type:String},"no-install":{defaultValue:!1,description:"Skip running install after applying overrides",type:Boolean},pin:{defaultValue:!1,description:"Pin Socket.dev overrides to exact versions",type:Boolean},prod:{defaultValue:!1,description:"Only optimize production dependencies",type:Boolean}},NV=D({description:"Analyze and optimize dependencies using e18e replacements and @socketregistry overrides",examples:[["vis optimize","Interactive TUI to select and apply optimizations"],["vis optimize --dry-run","Preview available optimizations"],["vis optimize --pin","Pin Socket.dev overrides to exact versions"],["vis optimize --prod","Only optimize production dependencies"]],group:"Workspace",loader:()=>import("./handler69.js").then(e=>e.h),name:"optimize",options:PV}),ZV={argument:{description:"Subcommand and arguments (e.g., cache dir, publish --dry-run, list --depth 0)",name:"args",type:String},description:"Package manager utilities (cache, publish, audit, list, config, etc.)",examples:[["vis pm cache dir","Show cache directory"],["vis pm cache clean","Clean cache"],["vis pm publish --dry-run","Preview publishing"],["vis pm list --depth 0","List direct dependencies"],["vis pm audit","Run security audit"],["vis pm whoami","Show logged-in user"]],group:"System",loader:()=>import("./handler17.js"),name:"pm"},AV={empty:{description:"Author an empty change file (no bumps; satisfies non-strict `check`)",type:Boolean},"from-bot-pr":{description:"Inspect the current PR (via `gh pr view`) and author a change file from its Dependabot / Renovate title (changesets #647)",type:Boolean},message:{description:"Changelog body for the change file",type:String},name:{description:"Slug for the filename (default: random animal name)",type:String},none:{description:"Author a `none` change file (acknowledged but no direct bump)",type:Boolean},packages:{description:"Comma-separated package:level pairs (e.g. '@scope/a:minor,@scope/b:patch')",type:String}},MV=D({commandPath:["release"],description:"Author a new change file (interactive, or non-interactive via --packages)",examples:[["vis release add","Interactive prompt"],["vis release add --packages '@scope/cerebro:minor,@scope/string:patch' --message 'Add tab completion'","Non-interactive"],["vis release add --empty","Author an empty change file (acknowledges PR but releases nothing)"],["vis release add --name fix-tab-completion","Use a fixed slug instead of a random animal name"],["vis release add --from-bot-pr","Generate a change file from the current Dependabot / Renovate PR (changesets #647)"]],group:"Release",loader:()=>import("./handler31.js"),name:"add",options:AV}),HV={channel:{description:"Override channel (defaults to current branch lookup)",type:String},filter:{description:"Limit to packages matching this glob (CSV)",type:String},json:{description:"Emit machine-readable JSON",type:Boolean},"print-config":{description:"Print the resolved release config and exit (--print-config=debug for runtime-resolved fields)",type:String}},IV=D({commandPath:["release"],description:"Render the would-be changelog entries without writing to disk",examples:[["vis release changelog","Print rendered entries for the pending plan"],["vis release changelog --json","Emit ChangelogResult (with projectChangelogs[]) as JSON"]],group:"Release",loader:()=>import("./handler32.js"),name:"changelog",options:HV}),XV={hook:{description:"Hook context (pre-commit, pre-push) — affects which file states are counted",type:String},"no-fail":{description:"Always exit 0; warnings still print to stderr",type:Boolean},"print-config":{description:"Print the resolved release config and exit (--print-config=debug for runtime-resolved fields)",type:String},strict:{description:"Require every changed package to have its own non-empty change file",type:Boolean}},_V=D({commandPath:["release"],description:"Verify pending change files cover changed packages — CI / husky gate",examples:[["vis release check","Pass if at least one change file exists"],["vis release check --strict","Fail if any changed package isn't covered by a change file"],["vis release check --hook pre-commit","Run as a husky pre-commit hook"],["vis release check --no-fail","Print warnings but always exit 0"]],group:"Release",loader:()=>import("./handler33.js"),name:"check",options:XV}),FV={"no-fail":{description:"Always exit 0 (warnings still print)",type:Boolean},"print-config":{description:"Print the resolved release config and exit (--print-config=debug for runtime-resolved fields)",type:String},strict:{description:"Require every changed package to be covered by a change file",type:Boolean}},WV=D({commandPath:["release","ci"],description:"CI: post or update a sticky PR comment with the pending release plan",examples:[["vis release ci check","Resolve PR from GITHUB_REF, post/update the release plan comment"],["vis release ci check --strict","Fail if any changed package isn't covered"]],group:"Release",loader:()=>import("./handler34.js"),name:"check",options:FV}),GV={"print-config":{description:"Print the resolved release config and exit (--print-config=debug for runtime-resolved fields)",type:String}},QV=D({commandPath:["release","ci"],description:"CI: emit JSON plan + write to $GITHUB_OUTPUT for workflow gating",examples:[["vis release ci plan","Emit { mode, packages, json } and set $GITHUB_OUTPUT"]],group:"Release",loader:()=>import("./handler35.js"),name:"plan",options:GV}),zV={base:{description:"Override the base branch (default: release.baseBranch)",type:String},branch:{description:"Override the version-PR branch (default: vis-release/version-packages)",type:String}},KV=D({commandPath:["release","ci"],description:"CI: rebase the open version-PR onto the base branch and force-push",examples:[["vis release ci rebase-pr","Rebase the version-PR branch onto base + force-push"],["vis release ci rebase-pr --branch=release/version","Override the version-PR branch"]],group:"Release",loader:()=>import("./handler36.js"),name:"rebase-pr",options:zV}),VV={"allow-full-history":{description:"With --generate: walk the whole history when no release tag matches (first release only)",type:Boolean},"auto-publish":{description:"Skip version-PR; version + publish inline",type:Boolean},branch:{description:"Override version-PR branch (default: vis-release/version-packages)",type:String},channel:{description:"Override channel (defaults to current branch lookup)",type:String},"first-release":{description:"Bootstrap mode for greenfield monorepos: force currentVersionResolver=disk and skip remote tag-collision checks. Use on the very first release before any git tags exist.",type:Boolean},generate:{description:"Derive the change file from commits first (commit-driven repos). Defaults to the range since the last release tag",type:Boolean},"generate-from":{description:"Start ref for --generate (e.g. github.event.before). Overrides the since-last-release default",type:String},"print-config":{description:"Print the resolved release config and exit (--print-config=debug for runtime-resolved fields)",type:String}},UV=D({commandPath:["release","ci"],description:"CI: maintain a rolling version-PR (default) or version+publish inline (--auto-publish)",examples:[["vis release ci release","On push to main: open/update Versioned release PR; on PR merge: publish"],["vis release ci release --auto-publish","Skip version-PR; version + publish inline (alpha/beta workflow)"],["vis release ci release --auto-publish --generate","Commit-driven: derive the change file from commits, then version + publish"]],group:"Release",loader:()=>import("./handler56.js"),name:"release",options:VV}),qV={},eU=D({commandPath:["release","ci"],description:"CI: print setup checklist for tokens (VIS_GH_TOKEN, NPM_TOKEN, OIDC) and workflow permissions",examples:[["vis release ci setup","Walk through the recommended secrets + workflow setup"]],group:"Release",loader:()=>import("./handler37.js"),name:"setup",options:qV}),iU={"on-close":{description:"PR-close cleanup mode — enumerate the closed PR's commit SHAs and remove their snapshot tags from the registry (when supported by the backend)",type:Boolean},"print-config":{description:"Print the resolved release config and exit (--print-config=debug for runtime-resolved fields)",type:String},tag:{description:"Override dist-tag (default: pr-<PR_NUMBER>)",type:String}},nU=D({commandPath:["release","ci"],description:"CI: publish snapshot of affected packages + post sticky PR comment with install instructions",examples:[["vis release ci snapshot --tag pr-1234","Publish PR snapshot + post install snippet"]],group:"Release",loader:()=>import("./handler38.js"),name:"snapshot",options:iU}),tU={"first-release":{description:"Bootstrap mode for greenfield monorepos: doctor asserts the workspace has no release tags and no package has been published yet. Pair with `vis release version --first-release`.",type:Boolean},json:{description:"Emit machine-readable JSON instead of a table",type:Boolean},"print-config":{description:"Print the resolved release config and exit (--print-config=debug for runtime-resolved fields)",type:String}},oU=D({commandPath:["release"],description:"Preflight diagnostics for the release subsystem (workspace, PM, OIDC, NAPI, guards)",examples:[["vis release doctor","Run all checks; exit non-zero if any error"],["vis release doctor --json","Emit machine-readable report"]],group:"Release",loader:()=>import("./handler39.js"),name:"doctor",options:tU}),aU={"allow-full-history":{description:"With --since-last-release: walk the whole history when no release tag matches (first release only)",type:Boolean},"dry-run":{description:"Print would-be content without writing",type:Boolean},from:{description:"Git ref to compare against (default: merge-base with baseBranch)",type:String},name:{description:"Slug for the generated filename (default: random animal name)",type:String},"print-config":{description:"Print the resolved release config and exit (--print-config=debug for runtime-resolved fields)",type:String},"since-last-release":{description:"Start the range at the most recent releaseTagPattern tag reachable from HEAD (fails when no tag matches)",type:Boolean}},sU=D({commandPath:["release"],description:"Auto-derive a change file from branch commits (conventional-commits + path heuristics)",examples:[["vis release generate","Walk commits since the merge-base with baseBranch"],["vis release generate --from origin/main","Walk commits since the given ref"],["vis release generate --since-last-release","Walk commits since the most recent release tag reachable from HEAD"],["vis release generate --since-last-release --allow-full-history","First release: no tag exists yet, so walk everything"],["vis release generate --dry-run","Print the would-be content without writing"]],group:"Release",loader:()=>import("./handler40.js"),name:"generate",options:aU}),rU={agent:{description:"Append a 'Releasing with vis' section to AGENTS.md so AI agents know how to drive the release flow",type:Boolean},apply:{description:"Actually perform the migration writes (not dry-run)",type:Boolean},cutover:{description:"Full cutover: mark every detected package `vis-release.managed` and delete its `.releaserc.*` (Phase 6). Confirms before deleting — pass `--yes` in a non-interactive shell. Without it, `--apply` never touches manifests or `.releaserc.*`.",type:Boolean},"dry-run":{description:"Print what would happen without writing files",type:Boolean},fresh:{description:"Skip migration; start clean",type:Boolean},"from-bumpy":{description:"Force migration from bumpy",type:Boolean},"from-changesets":{description:"Force migration from changesets",type:Boolean},"from-semantic-release":{description:"Force migration from semantic-release / multi-semantic-release",type:Boolean},"package-manager":{description:"Override package manager when generating workflows (npm | pnpm | yarn | bun). Default: auto-detect",type:String},packages:{description:"Comma-separated package names (or workspace-relative dirs) to opt into `vis-release.managed` — e.g. '@scope/a,@scope/b'",type:String},workflows:{description:"Generate CI workflow files. GitHub → `.github/workflows/vis-release{,-check,-snapshot}.yml`. GitLab → `.gitlab-ci.yml`.",type:Boolean},yes:{alias:"y",description:"Auto-confirm prompts (CI-safe)",type:Boolean}},uU=D({commandPath:["release"],description:"Scaffold .vis/release; migrate from changesets / bumpy / semantic-release",examples:[["vis release init","Auto-detect source tool and scaffold"],["vis release init --from-semantic-release","Force semantic-release migration"],["vis release init --from-changesets","Force changesets migration"],["vis release init --fresh","Skip migration; start clean"],["vis release init --dry-run","Print what would happen without writing files"],["vis release init --from-semantic-release --apply","Scaffold + write the config; leaves .releaserc.* and manifests untouched"],["vis release init --from-semantic-release --apply --packages '@scope/a,@scope/b'","Opt two packages into vis-release"],["vis release init --from-semantic-release --apply --cutover --yes","Full cutover: mark every package managed and delete every .releaserc.*"]],group:"Release",loader:()=>import("./handler59.js"),name:"init",options:rU}),cU={channel:{description:"Override channel (defaults to current branch lookup)",type:String},"first-release":{description:"Bootstrap mode for greenfield monorepos: preview the plan without registry / tag lookups (matches `vis release version --first-release`).",type:Boolean},json:{description:"Emit a JSON `{ name: { from, to } }` map instead of pretty lines",type:Boolean},package:{description:"Limit output to a single package",type:String},"print-config":{description:"Print the resolved release config and exit (--print-config=debug for runtime-resolved fields)",type:String}},lU=D({commandPath:["release"],description:"Print the next computed version for each package in the release plan. Read-only; no mutations.",examples:[["vis release next-version","Print `<pkg> <old> -> <new>` for every package in the plan"],["vis release next-version --package=@scope/a","Single-package mode"],["vis release next-version --json","Emit a `{ name: { from, to } }` JSON map"]],group:"Release",loader:()=>import("./handler41.js"),name:"next-version",options:cU}),dU={action:{defaultOption:!0,defaultValue:"test",description:"Subcommand: test",type:String},channel:{description:"Restrict dispatch to a single channel kind (`slack`, `discord`, `webhook`) or an id'd channel (`slack:eng`)",type:String},"custom-context":{description:"Path to a JSON file containing a NotificationContext to use instead of the synthetic default",type:String},json:{description:"Emit machine-readable JSON instead of a per-channel report",type:Boolean}},gU=D({commandPath:["release"],description:"Dry-run the configured notification channels (slack / discord / webhook / plugins) with a synthetic release",examples:[["vis release notifications test","Dispatch a fake release to every configured channel"],["vis release notifications test --channel=slack","Dispatch to every Slack channel only"],["vis release notifications test --channel=slack:eng","Dispatch to the slack channel with id=eng only"],["vis release notifications test --custom-context=./fake.json","Use operator-supplied JSON instead of the built-in synthetic release"],["vis release notifications test --json","Emit machine-readable results"]],group:"Release",loader:()=>import("./handler42.js"),name:"notifications",options:dU}),hU={channel:{description:"Override channel (defaults to current branch lookup)",type:String},filter:{description:"Filter packages by name glob",type:String},interactive:{alias:"i",description:"Walk through pending releases interactively and accept / override each bump level",type:Boolean},"print-config":{description:"Print the resolved release config and exit (--print-config=debug for runtime-resolved fields)",type:String},write:{description:"When used with --interactive, write the chosen overrides to a new change file (.vis/release/<id>.md)",type:Boolean}},pU=D({commandPath:["release"],description:"Inspect the release plan; with --interactive, walk through and override bump levels",examples:[["vis release plan","Emit pending plan as JSON"],["vis release plan --interactive","Walk through pending releases, accept or override each bump"],["vis release plan -i --write","Walk through interactively and write the chosen overrides to a change file"]],group:"Release",loader:()=>import("./handler43.js"),name:"plan",options:hU}),fU={action:{defaultOption:!0,defaultValue:"status",description:"Subcommand: enter | exit | status",type:String},...De({defaultValue:!0,description:"Commit pre.json after writing. Default: commit",name:"commit",type:Boolean}),...De({defaultValue:!0,description:"Push the commit. Default: push",name:"push",type:Boolean}),tag:{description:"Prerelease tag (e.g. alpha, beta, rc). Required for `enter`",multiple:!0,type:String}},vU=D({commandPath:["release"],description:"Enter / exit pre-release mode (changesets-compatible — every `version` produces a prerelease until exit)",examples:[["vis release pre enter alpha","Enter pre-mode with the `alpha` tag"],["vis release pre enter rc --no-commit","Enter pre-mode locally without committing pre.json"],["vis release pre exit","Flag the next `version` to consolidate + exit pre-mode"],["vis release pre status","Print whether pre-mode is active, exit-pending, or off"]],group:"Release",loader:()=>import("./handler45.js"),name:"pre",options:fU}),yU={access:{description:"Publish access: public | restricted (default: public)",type:String},"allow-stage-publish":{description:"Trust claim: also grant the staged-publish permission (--allow-stage-publish)",type:Boolean},"dry-run":{description:"Print what would publish without uploading",type:Boolean},env:{description:"Trust claim: restrict to a deployment environment (npm trust --env)",type:String},filter:{description:"Glob filter (CSV) — limit to specific packages",type:String},force:{description:"Publish a placeholder even if the package already exists on the registry",type:Boolean},"no-trust":{description:"Skip the `npm trust` step (only publish placeholders)",type:Boolean},"print-config":{description:"Print the resolved release config and exit",type:String},provider:{description:"Trust claim: forge provider (github | gitlab). Default: auto-detect from the git remote",type:String},registry:{description:"Override registry URL",type:String},repo:{description:"Trust claim: owner/repo (github) or group/project (gitlab). Default: detect from git remote",type:String},tag:{description:"dist-tag for the placeholder (default: placeholder — keeps `latest` unset)",type:String},version:{description:"Placeholder version (default: 0.0.0)",type:String},workflow:{description:"Trust claim: workflow/pipeline filename (npm trust --file). Default: auto-detect the release workflow",type:String}},mU=D({commandPath:["release"],description:"Publish non-functional placeholder packages so npm Trusted Publishing (OIDC) can be configured before the first release",examples:[["vis release pretrust","Publish a placeholder for every managed package missing from the registry"],["vis release pretrust --filter '@scope/*'","Limit to a glob"],["vis release pretrust --dry-run","Print what would be published without uploading"]],group:"Release",loader:()=>import("./handler57.js"),name:"pretrust",options:yU}),bU={channel:{description:"Override channel (defaults to current branch lookup)",type:String},"check-only":{description:"Run preflight checks (config + workspace + plan + auth) and exit. No mutations.",type:Boolean},"dry-run":{description:"Skip uploads — print what would happen",type:Boolean},filter:{description:"Limit to packages matching this glob (CSV)",type:String},"first-release":{description:"Bootstrap mode for greenfield monorepos: force currentVersionResolver=disk and skip remote tag-collision checks. Use on the very first release before any git tags exist.",type:Boolean},"no-push":{description:"Skip `git push --tags` after publish (lands in M5)",type:Boolean},otp:{description:"2FA OTP token",type:String},"print-config":{description:"Print the resolved release config and exit (--print-config=debug for runtime-resolved fields)",type:String},resume:{description:"Resume from a previous run's state file (skips already-published packages)",type:Boolean},tag:{description:"Override npm dist-tag",type:String}},wU=D({commandPath:["release"],description:"Pack-then-publish unpublished packages, push tags, create GH releases",examples:[["vis release publish","Publish all pending packages"],["vis release publish --dry-run","Print what would publish without uploading"],["vis release publish --tag alpha","Override dist-tag"],["vis release publish --filter '@scope/*'","Limit to packages matching the glob"]],group:"Release",loader:()=>import("./handler46.js"),name:"publish",options:bU}),kU={"dry-run":{description:"Print what would publish without uploading",type:Boolean},filter:{description:"Glob filter (CSV) — limit snapshots to specific packages",type:String},"print-config":{description:"Print the resolved release config and exit (--print-config=debug for runtime-resolved fields)",type:String},registry:{description:"Override registry URL (defaults to pkg-pr-new backend or `release.snapshot.registry`)",type:String},tag:{description:"Required: dist-tag for the snapshot release",type:String}},jU=D({commandPath:["release"],description:"Publish 0.0.0-<tag>-<sha> snapshot versions of affected packages",examples:[["vis release snapshot --tag pr-1234","Publish snapshots tagged with the PR number"],["vis release snapshot --tag canary --filter '@scope/*'","Limit to a glob"],["vis release snapshot --tag pr-1234 --dry-run","Preview without uploading"]],group:"Release",loader:()=>import("./handler47.js"),name:"snapshot",options:kU}),SU={action:{defaultOption:!0,defaultValue:"list",description:"Subcommand: list | approve | reject",type:String},all:{description:"Approve every pending stage tracked in .vis/release/staged.json",type:Boolean},...De({defaultValue:!0,description:"Update .vis/release/staged.json but skip the auto-commit. Default: commit",name:"commit",type:Boolean}),filter:{description:"Package name filter for `list`",type:String},json:{description:"Emit machine-readable JSON",type:Boolean},...De({defaultValue:!0,description:"Skip pushing the registry commit to the remote. Default: push",name:"push",type:Boolean}),"stage-ids":{description:"Stage IDs (positional args after the action)",multiple:!0,type:String}},CU=D({commandPath:["release"],description:"List, approve, or reject npm staged-publish records (RFC §13.6 — approve/reject need 2FA)",examples:[["vis release stage list","List every staged version (both npm + the local .vis/release/staged.json registry)"],["vis release stage list @scope/pkg","List staged versions for a single package"],["vis release stage list --json","Emit a machine-readable view of both sources"],["vis release stage approve <stage-id>","Promote a staged version, drain it from staged.json, commit + push the registry"],["vis release stage approve --all","Approve every pending stage tracked in .vis/release/staged.json"],["vis release stage reject <stage-id>","Reject a staged version (permanent — cannot be re-approved unless re-staged)"],["vis release stage approve <stage-id> --no-push","Approve, update the registry, commit locally (skip the push)"],["vis release stage approve <stage-id> --no-commit","Approve and update the registry only — no git commit"]],group:"Release",loader:()=>import("./handler48.js"),name:"stage",options:SU}),LU={bump:{description:"Filter by bump level (CSV: major,minor,patch)",type:String},channel:{description:"Override channel (defaults to current branch lookup)",type:String},filter:{description:"Filter packages by name glob",type:String},json:{description:"Emit machine-readable JSON instead of a table",type:Boolean},"print-config":{description:"Print the resolved release config and exit (--print-config=debug for runtime-resolved fields)",type:String}},xU=D({commandPath:["release"],description:"Print pending release plan (which packages will bump and to what version)",examples:[["vis release status","Print pending plan in human-readable format"],["vis release status --json","Emit the plan as JSON for scripting / CI"],["vis release status --bump major,minor","Filter to packages getting major or minor bumps"],["vis release status --filter '@scope/*'","Show only packages matching the glob"]],group:"Release",loader:()=>import("./handler44.js"),name:"status",options:LU}),TU={channel:{description:"Override channel (defaults to current branch lookup)",type:String},"check-only":{description:"Run preflight checks (config + workspace + plan) and exit. No mutations.",type:Boolean},commit:{description:"Auto-commit after applying",type:Boolean},"dry-run":{description:"Skip writes — print the diff and exit",type:Boolean},filter:{description:"Limit to packages matching this glob (CSV)",type:String},"first-release":{description:"Bootstrap mode for greenfield monorepos: force currentVersionResolver=disk and skip remote tag-collision checks. Use on the very first release before any git tags exist.",type:Boolean},"print-config":{description:"Print the resolved release config and exit (--print-config=debug for runtime-resolved fields)",type:String}},YU=D({commandPath:["release"],description:"Apply pending change files to disk: bump versions + write CHANGELOG entries",examples:[["vis release version","Apply the plan to disk"],["vis release version --dry-run","Print what would change without touching disk"],["vis release version --channel alpha","Force a specific channel (overrides branch detection)"]],group:"Release",loader:()=>import("./handler49.js"),name:"version",options:TU}),DU=[MV,sU,xU,pU,IV,_V,oU,lU,YU,wU,jU,CU,vU,mU,uU,gU,WV,QV,UV,KV,nU,eU],$U=D({description:"Version, changelog and publish workspace packages (unstable)",examples:[["vis release","List the release subcommands"],["vis release status","Show what is about to release"],["vis release doctor","Diagnose the release setup"]],group:"Release",loader:()=>import("./root-handler.js"),name:"release"}),EU={filter:{alias:"F",description:"Filter by workspace package name",multiple:!0,type:String},global:{alias:"g",defaultValue:!1,description:"Remove global package",type:Boolean},recursive:{alias:"r",defaultValue:!1,description:"Remove from all workspace packages",type:Boolean},"save-dev":{alias:"D",defaultValue:!1,description:"Remove from devDependencies",type:Boolean},"workspace-root":{alias:"w",defaultValue:!1,description:"Remove from workspace root",type:Boolean}},BU=D({alias:["rm","un","uninstall"],argument:{description:"Packages to remove",name:"packages",type:String},description:"Remove packages using the detected package manager",examples:[["vis remove lodash","Remove a package"],["vis rm old-package","Remove using alias"],["vis remove --filter app react","Remove from specific workspace"],["vis remove -g typescript","Remove global package"]],group:"Dependencies",loader:()=>import("./handler18.js"),name:"remove",options:EU}),RU={failed:{defaultValue:!1,description:"Filter the replay to failed tasks only",type:Boolean},format:{description:"Output format: table or json (default: table)",type:String},list:{defaultValue:!1,description:"List every available run instead of replaying one",type:Boolean},run:{description:"Run id to replay (defaults to the most recent run)",type:String},task:{description:"Filter the replay to a single task id (e.g. @my/app:build)",type:String}},OU=D({description:"Replay a previous task run from .vis/runs/ — show task results without re-executing",examples:[["vis replay","Show the most recent run summary"],["vis replay --run 2026-04-28T12-34-56_ab12","Inspect a specific historical run"],["vis replay --list","List every recorded run, newest first"],["vis replay --task @myorg/app:build","Focus on one task within the loaded run"],["vis replay --failed","Filter to only failed tasks"],["vis replay --format=json","Machine-readable output for CI"]],group:"Workspace",loader:W(()=>import("./handler19.js"),"replayExecute"),name:"replay",options:RU}),JU={filter:{alias:"F",description:"pnpm-style package selector (repeatable). Supports name globs (@org/*), graph modifiers (...pkg dependents, pkg... dependencies, ...^pkg / pkg^... exclude self), changed-since ([main], ...[origin/main]), and path globs (./packages/*, {glob}).",multiple:!0,type:String},projects:{alias:"p",description:"Comma-separated list of projects to run",type:String},"skip-toolchain":{defaultValue:!1,description:"Skip the toolchain pre-flight (no auto-install for any pinned tool: node / pnpm / yarn / npm / bun / go / python / ruby / rust)",type:Boolean},...De({description:"Detect lockfile/node_modules drift before running (warns in TTY, fails in CI). Use --no-preflight to disable.",name:"preflight",type:Boolean}),parallel:{defaultValue:3,description:"Maximum number of parallel tasks (falls back to VIS_RUN_CONCURRENCY_LIMIT env var, then 3)",type:Number},...De({defaultValue:!0,description:"Enable caching (use --no-cache to disable)",name:"cache",type:Boolean}),affected:{defaultValue:!1,description:"Only run on projects affected by git changes. Honors --base/--head/--downstream/--upstream, same as `vis affected`.",type:Boolean},base:{description:"Git base ref for --affected. When omitted, vis auto-resolves it from the active CI provider (GitHub/GitLab/Buildkite/CircleCI) or falls back to `git merge-base HEAD origin/<defaultBase>` locally. Default base branch comes from `vis.config.ts#defaultBase` (or `main`). Requires --affected.",type:String},"cache-backend":{description:"Remote cache wire backend: http (Turborepo-compatible) or reapi (Bazel Remote Execution API gRPC)",type:String},"cache-dir":{description:"Custom cache directory",type:String},"cache-mode":{description:"Remote cache mode: read | write | readwrite (defaults to readwrite when remoteCache is configured)",type:String},downstream:{description:'Downstream scope for --affected: "none", "direct", or "deep" — controls how far to include dependents of changed projects (default "deep"). Requires --affected.',type:String},"dry-run":{defaultValue:!1,description:"Show what would run without executing",type:Boolean},"hash-mode":{description:"Override how the requested target is hashed for this run: declared (hash listed inputs) or trace (hash the files the task actually reads). Overrides per-target hashMode config for the directly-run target.",type:String},head:{description:"Git head ref for --affected. When omitted, auto-resolves from CI env (e.g. `$GITHUB_SHA`) or defaults to `HEAD`. Requires --affected.",type:String},partition:{description:'Partition tasks for distributed CI (e.g., "1/4" for first of four runners). Falls back to VIS_PARTITION env var.',type:String},query:{description:"Filter matched projects by a query (e.g. 'language=typescript && tag=lib')",type:String},"skip-cache":{description:"Comma-separated selectors of tasks to bypass cache for (e.g. 'app:test', ':e2e', '#flaky:lint'). Other tasks in the run still cache normally. --no-cache wins when both are set.",type:String},"skip-constraints":{defaultValue:!1,description:"Skip project constraint validation",type:Boolean},summarize:{defaultValue:!1,description:"Generate a run summary after execution",type:Boolean},tag:{description:'Only run projects carrying one of these tags (repeatable, or comma-separated). Shorthand for --query="tag=…"; combines with --query as AND.',multiple:!0,type:String},upstream:{description:'Upstream scope for --affected: "none", "direct", or "deep" — controls how far to include dependencies of changed projects (default "none"). Requires --affected.',type:String},...De({description:"Include uncommitted working-tree changes when computing --affected. Defaults to on for local runs and off in CI; use --no-uncommitted to force off.",name:"uncommitted",type:Boolean}),"fail-fast":{defaultValue:!1,description:"Stop all tasks on first failure",type:Boolean},...De({defaultValue:!1,description:"Exit 0 with a one-line notice when no project has the requested target or matches a --filter/--query/--tag selection",name:"if-present",type:Boolean}),"last-details":{defaultValue:!1,description:"Render the most-recent run's saved summary (from .vis/last-summary.json) and exit without executing any tasks",type:Boolean},log:{description:"Output mode: interleaved (pass-through), labeled (prefix each line with [pkg#task]), or grouped (vite-task-style block)",type:String},"output-style":{description:"Output style: normal (print every task) or quiet (skip output for successful/cached tasks; failed tasks still print in CI mode, and remain in TUI scrollback in interactive mode). Defaults to normal; set run.quietOnSuccess in config to make quiet the default. Per-target options.outputStyle overrides this.",type:String},profile:{description:"Write a Chrome Tracing JSON profile of the run to this path (open in chrome://tracing or Perfetto)",type:String},pty:{defaultValue:!1,description:"Run every task through a pseudo-terminal so color-aware tools render as if attached to a TTY (disables caching)",type:Boolean},"retry-budget":{description:"Global retry budget: cap on total task retries across the run (per-target retryCount is still honored up to the budget)",type:Number},reverse:{defaultValue:!1,description:"Run the dependency graph in reverse (leaves first, then their dependents). Useful for teardown targets like `destroy`/`undeploy` where dependents must run before the things they depend on.",type:Boolean},watch:{defaultValue:!1,description:"Rerun affected tasks on file change. Ctrl+C to exit.",type:Boolean},...De({defaultValue:!0,description:"Show flaky task report on failure (use --no-flaky to suppress)",name:"flaky",type:Boolean}),"fail-on-retry":{defaultValue:!1,description:"Treat any task that needed at least one retry as a run failure (exit non-zero), even when retries eventually succeeded. Use in CI to surface flakes that retries would otherwise mask.",type:Boolean},...De({description:"Fail a task if its command references an env var that is unset (no silent empty-string substitution). Use --no-strict-env to disable when set in config.",name:"strict-env",type:Boolean}),"runner-tags":{description:"Comma-separated tags this runner advertises (e.g. 'gpu,slow'). Tasks declaring `options.runnerTags` only run when at least one tag overlaps. Untagged tasks always run. Falls back to VIS_RUNNER_TAGS env var.",type:String},services:{description:"Auto-start service deps. One of: auto | ephemeral | persistent | off. Defaults to `auto` in TTY, `off` in CI.",type:String},"stop-services":{defaultValue:!1,description:"Stop services this run auto-started in registry mode when the run exits (clean, q, or Ctrl+C). Ephemeral services already die with the run.",type:Boolean}},PU=D({argument:{description:"The target to run (e.g., build, test, lint)",name:"target",type:String},description:"Run a target across workspace projects",examples:[["vis run","List all available targets"],["vis run build","Run build on all projects"],["vis run :build","Run build on all projects (moon-style)"],["vis run ~:test","Run test on the project closest to the current directory"],['vis run "#frontend:build"',"Run build on projects tagged 'frontend'"],['vis run :build --query "language=typescript"',"Filter by project metadata"],['vis run build --filter "@org/web"',"Run build on a single package (pnpm filter)"],['vis run build --filter "...@org/web"',"Run build on @org/web and everything that depends on it"],['vis run build -F "@org/web..."',"Run build on @org/web and its dependencies"],['vis run build -F "...[origin/main]"',"Run build on packages changed since origin/main + their dependents"],['vis run build -F "./packages/*"',"Run build on packages matched by a path glob"],["vis run test --affected","Run test only on git-changed projects"],["vis run build --fail-fast","Stop on first failure"],["vis run build --dry-run","Show execution plan without running"],["vis run destroy --reverse","Run leaves-first (teardown order, e.g. CDK/Pulumi destroy)"]],group:"Run & Execute",loader:()=>import("./handler78.js"),name:"run",options:JU}),NU={focus:{description:"Project name(s) to focus on — comma-separated for multiple",type:String},format:{defaultValue:"json",description:"Output format: json (default) or xml",type:String},"include-dev":{defaultValue:!1,description:"Include devDependencies (default: production only)",type:Boolean},output:{description:"Output path (use '-' for stdout; default: sbom.cdx.json)",type:String}},ZU=D({description:"Generate a CycloneDX 1.7 Software Bill of Materials for the workspace",examples:[["vis sbom","Write the full-workspace SBOM to sbom.cdx.json"],["vis sbom --focus=my-app","Scope the SBOM to my-app's transitive closure"],["vis sbom --focus=my-app,other","Focus multiple projects"],["vis sbom --format=xml --output=sbom.cdx.xml","Emit XML instead of JSON"],["vis sbom --include-dev","Include devDependencies (default: production only)"],["vis sbom --output=-","Write to stdout"]],group:"Security & Health",loader:()=>import("./handler20.js"),name:"sbom",options:NU}),AU={affected:{defaultValue:!1,description:"Scan only projects affected by the current branch",type:Boolean},baseline:{description:"Path to a baseline JSON of previously-triaged findings",type:String},concurrency:{description:"Rayon worker threads (0 / omit = auto)",type:Number},config:{description:"Path to a JSON config (gitleaks-compatible shape). Defaults to the bundled ruleset.",type:String},"dry-run":{defaultValue:!1,description:"With --init, preview the baseline without writing files",type:Boolean},"enable-rule":{description:"Enable an opt-in rule or tag without restricting output — additive (e.g. tag:preset:weak-passwords, tag:preset:password-manager). Repeatable.",multiple:!0,type:String},exclude:{description:"Gitignore-syntax pattern to exclude from the walk (repeatable)",multiple:!0,type:String},"exclude-from":{description:"Path to a gitignore-shaped file the walker should honor (repeatable)",multiple:!0,type:String},"exclude-rule":{description:"Rule id or tag:<name> selector — drop matching findings. Repeatable.",multiple:!0,type:String},format:{defaultValue:"text",description:"Output format: text (default), json, sarif",type:String},history:{defaultValue:!1,description:"Scan the entire git history (every added/modified blob across commits) instead of the working tree. Surfaces secrets that were committed and later removed. Cannot be combined with --staged/--since/--affected.",type:Boolean},"history-range":{description:"With --history, limit the walk to a rev-list range (e.g. main..HEAD, HEAD~50..HEAD, or a single ref). Defaults to all reachable history of HEAD.",type:String},"include-hidden":{defaultValue:!1,description:"Scan dotfiles",type:Boolean},"include-rule":{description:"Rule id or tag:<name> selector — whitelist, only matching findings are emitted. Implies enablement. Repeatable.",multiple:!0,type:String},init:{defaultValue:!1,description:"Scaffold a baseline from current findings",type:Boolean},"list-rules":{defaultValue:!1,description:"Print all bundled detection rules and exit",type:Boolean},"list-validators":{defaultValue:!1,description:"Print non-HTTP validator types referenced by the current ruleset, with install hints for their optional peer dependencies.",type:Boolean},"max-commits":{description:"With --history, cap the number of commits walked (most-recent first)",type:Number},"max-size":{description:"Skip files larger than this (bytes). Default: 10 MiB",type:Number},"min-confidence":{description:"Drop rules below this author-declared confidence: low (default), medium, high. Rules without a declared confidence (every gitleaks rule) are treated as low, so --min-confidence medium or higher drops them along with explicit low-confidence rules.",type:String},"no-extend-bundled":{defaultValue:!1,description:"With --config, do not merge on top of the bundled ruleset — replace it.",type:Boolean},"no-gitignore":{defaultValue:!1,description:"Do not respect .gitignore",type:Boolean},"only-verified":{defaultValue:!1,description:"With --validate, drop every finding whose validation is not 'verified'. Useful for CI gating.",type:Boolean},quiet:{defaultValue:!1,description:"Suppress all progress output (only emit findings)",type:Boolean},redact:{defaultValue:!1,description:"Mask secret values in output",type:Boolean},"replace-baseline":{defaultValue:!1,description:"With --update-baseline, replace rather than merge",type:Boolean},since:{description:"Scan only files changed since <ref> (e.g. main, origin/HEAD)",type:String},staged:{defaultValue:!1,description:"Scan only files staged for commit",type:Boolean},"update-baseline":{defaultValue:!1,description:"Merge current findings into the baseline and exit 0",type:Boolean},validate:{defaultValue:!1,description:"Live-verify each finding against its provider (one HTTP call per finding, max 8 concurrent). Only supports Kingfisher-style HTTP validators with StatusMatch / WordMatch response matchers; other types (gRPC, multi-step, checksum) mark the finding as validation=skipped. WARNING: sends candidate secrets to the provider — some providers alert their security team on failed auth attempts.",type:Boolean},verbose:{defaultValue:!1,description:"Print diagnostic info (skipped rules, etc.)",type:Boolean}},MU=D({argument:{description:"One or more paths to scan (defaults to workspace root)",name:"paths",type:String},description:"Scan a repository for hardcoded secrets and credentials",examples:[["vis secrets","Scan the workspace with grouped, colourised output"],["vis secrets --staged","Scan only files staged for the current commit (pre-commit hooks)"],["vis secrets --since main","Scan only files changed since the `main` branch"],["vis secrets --affected","Scan only projects affected by the current branch"],["vis secrets --history","Scan the full git history for secrets that were committed then removed"],["vis secrets --history --history-range main..HEAD","Scan only commits on the current branch since main"],["vis secrets --history --max-commits 100 --redact","Scan the last 100 commits, masking any secret values"],["vis secrets --init","Write an initial baseline from current findings"],["vis secrets --list-rules","Print all bundled detection rules"],["vis secrets --list-validators","Print non-HTTP validator types in the ruleset + install hints for each"],["vis secrets --exclude-rule generic-api-key --exclude-rule aws-access-token","Drop noisy rules"],["vis secrets --include-rule stripe-access-token","Check a single rule"],["vis secrets --enable-rule tag:preset:weak-passwords","Enable an opt-in rule group additively (defaults still fire)"],["vis secrets --include-rule tag:preset:password-manager","Restrict output to one opt-in group only"],["vis secrets --min-confidence high","Drop rules without a high confidence label (CI-friendly precision filter)"],["vis secrets --validate --only-verified","Live-verify each finding against its provider (one HTTP call per finding)"],["vis secrets --exclude 'dist/**' --exclude-from .secretsignore","Extra gitignore-syntax exclusions for the walker"],["vis secrets --config ./leaks.json --no-extend-bundled","Use only the supplied config, skip the bundled ruleset"],["vis secrets --concurrency 4","Cap the rayon thread pool (0 / omit = auto)"],["vis secrets --baseline .secrets-baseline.json","Suppress known findings; print diff vs. baseline"],["vis secrets --update-baseline","Merge current findings into the baseline (use --replace-baseline to overwrite)"],["vis secrets --format sarif > report.sarif","SARIF output for GitHub code-scanning"]],group:"Security",loader:()=>import("./handler67.js"),name:"secrets",options:AU}),HU={json:{defaultValue:!1,description:"Emit the report as JSON instead of human-readable text",type:Boolean}},IU=D({commandPath:["security"],description:"List build-script status — allowed, unapproved, and stale allowlist entries",examples:[["vis security list","Show the full build-script triage report"],["vis security list --json","Emit the report as JSON for tooling"]],group:"Security & Health",loader:()=>import("./list.js"),name:"list",options:HU}),XU={"skip-allow-builds":{defaultValue:!1,description:"Skip syncing allowBuilds (trustedDependencies, onlyBuiltDependencies)",type:Boolean},"skip-min-release-age":{defaultValue:!1,description:"Skip syncing minimumReleaseAge and its excludes",type:Boolean}},_U=D({commandPath:["security"],description:"Push vis.config security settings to the package manager's native config",examples:[["vis security sync","Sync allowBuilds + minimumReleaseAge to the PM-native config files"],["vis security sync --skip-allow-builds","Sync only the minimumReleaseAge knobs"],["vis security sync --skip-min-release-age","Sync only allowBuilds (trustedDependencies / onlyBuiltDependencies)"]],group:"Security & Health",loader:()=>import("./sync2.js"),name:"sync",options:XU}),FU={"root-only":{defaultValue:!1,description:"Skip dependency scripts and only run the workspace root's prepublish + prepare hooks",type:Boolean},"with-root":{defaultValue:!1,description:"Also run the workspace root's prepublish + prepare hooks after dependencies",type:Boolean}},WU=D({commandPath:["security"],description:"Run lifecycle scripts for packages in security.policies.installScripts.allow (LavaMoat 'run' parity)",examples:[["vis security run","Run preinstall/install/postinstall for every approved package"],["vis security run --with-root","Also run the workspace root's prepublish + prepare hooks"],["vis security run --root-only","Run only the workspace root's prepublish + prepare hooks"]],group:"Security & Health",loader:()=>import("./run.js"),name:"run",options:FU}),GU={remove:{defaultValue:!1,description:"Remove @lavamoat/preinstall-always-fail from package.json",type:Boolean},status:{defaultValue:!1,description:"Report whether @lavamoat/preinstall-always-fail is installed",type:Boolean}},QU=D({commandPath:["security"],description:"Install @lavamoat/preinstall-always-fail as a devDep so a missing ignore-scripts setting fails loudly",examples:[["vis security tripwire","Install the tripwire devDependency"],["vis security tripwire --status","Report whether the tripwire is installed"],["vis security tripwire --remove","Remove the tripwire from package.json"]],group:"Security & Health",loader:()=>import("./tripwire.js"),name:"tripwire",options:GU}),zU={clear:{defaultValue:!1,description:"Only clear the cache, do not refetch",type:Boolean},json:{defaultValue:!1,description:"Emit the result as JSON instead of human-readable text",type:Boolean}},KU=D({commandPath:["security"],description:"Force-refresh the cached npm signing keys used by the signatures marshall",examples:[["vis security keys-refresh","Drop the disk cache and fetch a fresh key set from registry.npmjs.org"],["vis security keys-refresh --clear","Only drop the cache, do not refetch"],["vis security keys-refresh --json","Emit the refresh result as JSON for tooling"]],group:"Security & Health",loader:()=>import("./keys-refresh.js"),name:"keys-refresh",options:zU}),VU={json:{defaultValue:!1,description:"Emit the result as JSON instead of human-readable text",type:Boolean},offline:{defaultValue:!1,description:"Skip network-bound policies (firstSeen, publisherChange)",type:Boolean}},UU=D({commandPath:["security"],description:"Verify the entire lockfile closure against supply-chain policies (firstSeen, publisherChange, blockExoticSubdeps)",examples:[["vis security verify-lockfile","Re-validate every locked entry; exit non-zero on a policy violation"],["vis security verify-lockfile --offline","Verify without network (skips firstSeen / publisherChange)"],["vis security verify-lockfile --json","Emit the verification result as JSON for CI"]],group:"Security & Health",loader:()=>import("./verify-lockfile.js"),name:"verify-lockfile",options:VU}),qU=[IU,_U,WU,QU,KU,UU],ur={description:"Target id, e.g. @my/api:db",name:"targetId",type:String},eq={description:"Output format: table or json (default: table)",name:"format",type:String},iq={"no-readiness":{defaultValue:!1,description:"Skip the readiness probe",type:Boolean},timeout:{description:"Readiness probe timeout in milliseconds",type:Number}},nq=D({argument:ur,commandPath:["service"],description:"Start a service target detached so it survives across `vis run` invocations",examples:[["vis service start @my/api:db","Boot the db target as a long-lived service"],["vis service start @my/api:db --timeout=60000","Override readiness timeout"],["vis service start @my/api:db --no-readiness","Skip the readiness probe"]],group:"Workspace",loader:W(()=>import("./handler21.js"),"serviceStartExecute"),name:"start",options:iq}),tq={all:{defaultValue:!1,description:"Stop every service registered for this workspace",type:Boolean},"grace-ms":{description:"Override the SIGTERM→SIGKILL grace period in milliseconds",type:Number}},oq=D({argument:{description:"Target id to stop, or omit when using --all",name:"targetId",required:!1,type:String},commandPath:["service"],description:"Stop a running service",examples:[["vis service stop @my/api:db","Stop the db service"],["vis service stop --all","Stop every running service in this workspace"]],group:"Workspace",loader:W(()=>import("./handler21.js"),"serviceStopExecute"),name:"stop",options:tq}),aq={commandPath:["service"],description:"List services registered for this workspace",examples:[["vis service list","Print running services"],["vis service list --format=json","Machine-readable list"]],group:"Workspace",loader:W(()=>import("./handler21.js"),"serviceListExecute"),name:"list",options:[eq]},sq={timeout:{description:"Probe timeout in milliseconds",type:Number}},rq=D({argument:ur,commandPath:["service"],description:"Re-run the readiness probe and report a service's health",examples:[["vis service status @my/api:db","Check whether the db service is reachable"]],group:"Workspace",loader:W(()=>import("./handler21.js"),"serviceStatusExecute"),name:"status",options:sq}),uq={"grace-ms":{description:"Override the SIGTERM→SIGKILL grace period in milliseconds",type:Number},"no-readiness":{defaultValue:!1,description:"Skip the readiness probe after restart",type:Boolean},timeout:{description:"Readiness probe timeout in milliseconds",type:Number}},cq=D({argument:ur,commandPath:["service"],description:"Stop and re-start a running service",examples:[["vis service restart @my/api:db","Recycle the db service"],["vis service restart @my/api:db --no-readiness","Recycle and skip the readiness probe"]],group:"Workspace",loader:W(()=>import("./handler21.js"),"serviceRestartExecute"),name:"restart",options:uq}),lq={follow:{alias:"f",defaultValue:!1,description:"Follow the log file (like `tail -f`)",type:Boolean}},dq=D({argument:ur,commandPath:["service"],description:"Print or tail a service's captured stdout/stderr",examples:[["vis service logs @my/api:db","Print the captured log"],["vis service logs @my/api:db -f","Tail the log (Ctrl-C to exit)"]],group:"Workspace",loader:W(()=>import("./handler21.js"),"serviceLogsExecute"),name:"logs",options:lq}),gq=[nq,oq,aq,rq,cq,dq],hq={commandPath:["shim"],description:"Install project-local PM shims (.vis/shims) that enforce the project's package manager",examples:[["vis shim install","Write npm/pnpm/yarn/… wrapper scripts in .vis/shims"]],group:"Runtime",loader:()=>import("./handler22.js").then(e=>({default:e.shimInstallExecute})),name:"install"},pq={commandPath:["shim"],description:"Remove the project-local PM shim dir (.vis/shims)",examples:[["vis shim uninstall","Delete .vis/shims"]],group:"Runtime",loader:()=>import("./handler22.js").then(e=>({default:e.shimUninstallExecute})),name:"uninstall"},fq={commandPath:["shim"],description:"Report whether the PM shims are installed and active on PATH",examples:[["vis shim status","Show shim install + PATH state"]],group:"Runtime",loader:()=>import("./handler22.js").then(e=>({default:e.shimStatusExecute})),name:"status"},vq=[hq,pq,fq],yq={check:{alias:"c",defaultValue:!1,description:"Check if package.json files are sorted without writing (exits 1 if unsorted)",type:Boolean},ignore:{description:"Glob pattern of files to skip (basename match, or path-relative when the pattern contains `/`). Repeatable.",multiple:!0,type:String},indent:{description:"Indent override: a number of spaces, the literal `tab`, or a literal whitespace string. When unset, the original file's indent is preserved.",type:String},"line-ending":{defaultValue:"auto",description:"Line ending to write: auto (per-file detection, default), lf, or crlf.",type:String},"no-editorconfig":{description:"Disable .editorconfig discovery for indent / line-ending defaults (default: enabled).",type:Boolean},"no-final-newline":{defaultValue:!1,description:"Do not append a trailing newline to the output (default: append one).",type:Boolean},"no-format-bugs":{description:"Disable collapsing `bugs: { url }` to the bare string form (default: enabled).",type:Boolean},"no-format-repository":{description:"Disable collapsing `repository: { type, url }` to the GitHub `owner/repo` shorthand (default: enabled).",type:Boolean},"no-sort-exports":{description:"Disable canonical sorting of `exports` condition keys (default: enabled).",type:Boolean},"sort-order":{description:"Comma-separated list of top-level keys to place first, before the default field order. Repeatable.",multiple:!0,type:String},"sort-scripts":{defaultValue:!1,description:"Also sort the scripts field alphabetically",type:Boolean},unsorted:{description:"Comma-separated list of top-level sections whose key order should be preserved (e.g. dependencies,devDependencies). Repeatable.",multiple:!0,type:String}},mq=D({description:"Sort package.json files across the workspace using the sort-package-json Rust crate",examples:[["vis sort-package-json","Sort all package.json files in the workspace"],["vis sort-package-json --check","Check if files are already sorted (exit 1 if not)"],["vis sort-package-json --sort-scripts","Also sort the scripts field alphabetically"],["vis sort-package-json --indent 4","Force 4-space indentation (overrides per-file detection)"],["vis sort-package-json --indent tab","Force tab indentation"],["vis sort-package-json --ignore '**/fixtures/**'","Skip files matching one or more glob patterns"],["vis sort-package-json --sort-order name,version,license","Pin a custom prefix order before the default field order"],["vis sort-package-json --unsorted dependencies,devDependencies","Preserve original key order for the listed top-level sections"],["vis sort-package-json --no-final-newline","Do not append a trailing newline"],["vis sort-package-json --line-ending crlf","Force CRLF line endings (default: auto-detect per file)"]],group:"Workspace",loader:()=>import("./handler64.js"),name:"sort-package-json",options:yq}),bq={annotate:{defaultValue:!1,description:"Prefix the rewritten commit messages with the package name",type:Boolean},branch:{alias:"b",description:'Default branch name in the new repo (default: vis.config defaultBase or "main")',type:String},"dry-run":{defaultValue:!1,description:"Print the git plan instead of executing it",type:Boolean},force:{defaultValue:!1,description:"Use a non-empty --output directory anyway",type:Boolean},output:{alias:"o",description:"Destination directory for the new repo (required unless --dry-run)",type:String},push:{defaultValue:!1,description:"Push the new repo to origin (requires --remote)",type:Boolean},remote:{description:"Git remote URL to set as origin on the new repo",type:String},remove:{defaultValue:!1,description:"Delete the package from the monorepo after extracting and commit the removal",type:Boolean}},wq=D({argument:{description:"Project name or workspace-relative path of the package to extract",name:"package",type:String},description:"Extract a package into a standalone git repo, preserving its history",examples:[["vis split @scope/pkg --output ../pkg-repo","Extract a package into a new repo at ../pkg-repo"],["vis split packages/tooling/foo -o ../foo --remote git@github.com:me/foo.git --push","Extract, set origin, and push"],["vis split @scope/pkg -o ../pkg --remove","Extract, then delete the package from the monorepo (committed)"],["vis split @scope/pkg --dry-run","Print the git plan without making changes"]],group:"Workspace",loader:()=>import("./handler23.js"),name:"split",options:bq}),kq={"allow-empty":{defaultValue:!1,description:"Allow empty commits when tasks revert all staged changes",type:Boolean},"auto-stage":{defaultValue:!1,description:"Automatically stage new files that tasks create during the run",type:Boolean},concurrent:{description:"Number of concurrent tasks or false for serial",type:String},"continue-on-error":{defaultValue:!1,description:"Run all tasks to completion even if one fails",type:Boolean},cwd:{description:"Working directory to run all tasks in",type:String},debug:{defaultValue:!1,description:"Enable debug output",type:Boolean},diff:{description:"Override the default --staged flag of git diff",type:String},"diff-filter":{description:"Override the default diff-filter",type:String},"fail-on-changes":{defaultValue:!1,description:"Fail with exit code 1 when tasks modify tracked files",type:Boolean},"force-kill":{defaultValue:!1,description:"Kill in-flight tasks with SIGKILL on fast-fail instead of the default SIGTERM",type:Boolean},"hide-partially-staged":{defaultValue:!1,description:"Hide unstaged changes from partially staged files",type:Boolean},"hide-unstaged":{defaultValue:!1,description:"Hide all unstaged changes before running tasks",type:Boolean},quiet:{defaultValue:!1,description:"Suppress console output",type:Boolean},relative:{defaultValue:!1,description:"Pass filepaths relative to cwd to tasks",type:Boolean},revert:{defaultValue:!1,description:"Revert to original state in case of errors",type:Boolean},...De({defaultValue:!0,description:"Enable backup stash",name:"stash",type:Boolean}),verbose:{defaultValue:!1,description:"Show task output even when tasks succeed",type:Boolean}},jq=D({description:"Run linters on staged files using config from vis.config.ts",examples:[["vis staged","Run staged linters"],["vis staged --verbose","Run with verbose output"],["vis staged --no-stash","Run without backup stash"],["vis staged --diff HEAD~1","Run against a specific diff"]],group:"Run & Execute",loader:()=>import("./handler76.js"),name:"staged",options:kq}),Sq={json:{defaultValue:!1,description:"Emit JSON output",type:Boolean}},Cq=D({description:"Show a workspace health dashboard at a glance",examples:[["vis status","Full status overview"],["vis status --json","Machine-readable output"]],group:"Workspace",loader:()=>import("./handler24.js"),name:"status",options:Sq}),Lq={check:{defaultValue:!1,description:"Verify state without writing (exit non-zero if drift is found)",type:Boolean},fields:{description:"Comma-separated list of fields to mirror from root → workspace packages (package-json-fields kind only). Repeatable.",multiple:!0,type:String},format:{defaultValue:"human",description:"Output format for package-json-fields: human | json",type:String},from:{description:"Input sources for codeowners. Comma-separated or repeated. Values: project-json | nested-codeowners | package-json-maintainers. Defaults to project-json.",multiple:!0,type:String},"ignore-package-name":{description:"Glob pattern of package names to skip (package-json-fields kind only). Repeatable.",multiple:!0,type:String},"nested-includes":{description:"Glob (repeatable) used to discover nested CODEOWNERS files. Defaults to `**/CODEOWNERS`.",multiple:!0,type:String},out:{description:"Output path for the generated file (default: <workspace>/CODEOWNERS) — codeowners kind only",type:String},"preserve-block":{defaultValue:!1,description:"Splice the generated block between markers in the existing file instead of overwriting it. Codeowners kind only.",type:Boolean},quiet:{defaultValue:!1,description:"Suppress per-package log lines; print only the summary (package-json-fields kind only)",type:Boolean},"regeneration-command":{description:"Header instruction shown to reviewers (replaces the default 'update project.json' note). Codeowners kind only.",type:String},"write-guard":{defaultValue:!1,description:"Also emit a .github/workflows/write-guard.yml scoped to projects with `restricted: true` in project.json. Codeowners kind only.",type:Boolean}},xq=D({argument:{description:"What to sync: codeowners | package-json-fields",name:"kind",type:String},description:"Synchronise derived workspace artefacts (codeowners, package.json fields, tsconfig refs, …)",examples:[["vis sync codeowners","Generate CODEOWNERS at the repository root"],["vis sync codeowners --out=.github/CODEOWNERS","Write to .github/CODEOWNERS instead"],["vis sync codeowners --check","Fail if the existing file is stale"],["vis sync codeowners --from=project-json,nested-codeowners","Also aggregate nested CODEOWNERS files in the tree"],["vis sync codeowners --regeneration-command='pnpm codeowners'","Set a custom header instruction"],["vis sync codeowners --preserve-block","Splice the generated block between markers in an existing CODEOWNERS"],["vis sync codeowners --write-guard","Also emit GitHub + GitLab Write Guard CI for restricted projects"],["vis sync package-json-fields","Mirror license/author/repository/bugs/homepage/engines from root to every workspace package"],["vis sync package-json-fields --check","Fail if any workspace package.json is out of sync"],["vis sync package-json-fields --fields license,engines","Override the default field list for this run"]],group:"Workspace",loader:()=>import("./handler63.js"),name:"sync",options:Lq}),Tq={argument:{description:"Task ID to explain (e.g. @my/app:build)",name:"taskId",type:String},description:"Explain why a task is included in the graph by walking its dependency chain to a root",examples:[["vis task-why @myorg/app:build","Show what pulls build in"],["vis task-why lib-a:test","Check the test task's triggers"]],group:"Workspace",loader:()=>import("./handler25.js"),name:"task-why"},wa="Workspace",Yq={"exit-code":{defaultValue:!1,description:"Exit 1 if any tool mismatches",type:Boolean},json:{defaultValue:!1,description:"Emit JSON",type:Boolean}},Dq=D({commandPath:["toolchain"],description:"Show every detected manager + expected vs actual tool versions",examples:[["vis toolchain status","Show every detected manager + expected vs actual tool versions"],["vis toolchain status --json","Emit the status as JSON"],["vis toolchain status --exit-code","Exit 1 if any tool mismatches (for CI)"]],group:wa,loader:W(()=>import("./handler26.js"),"statusExecute"),name:"status",options:Yq}),$q={commandPath:["toolchain"],description:"Print the primary manager's name (for scripts)",examples:[["vis toolchain detect","Print the primary manager's name"]],group:wa,loader:W(()=>import("./handler26.js"),"detectExecute"),name:"detect"},Eq={"dry-run":{defaultValue:!1,description:"Print the command that would run, but don't execute",type:Boolean}},Bq=D({commandPath:["toolchain"],description:"Install pinned versions — per-tool delegation to the right manager",examples:[["vis toolchain install","Install pinned versions"],["vis toolchain install --dry-run","Print the commands that would run, but don't execute"]],group:wa,loader:W(()=>import("./handler26.js"),"installExecute"),name:"install",options:Eq}),Rq={"dry-run":{defaultValue:!1,description:"Print the command that would run, but don't execute",type:Boolean},...De({defaultValue:!0,description:"Also mirror the version into engines.<tool> when that field already exists. --no-engines to skip.",name:"engines",type:Boolean})},Oq=D({argument:{description:"Tool and version to pin, e.g. node@22.13.0 or pnpm@10.32.1",name:"spec",type:String},commandPath:["toolchain"],description:"Pin a version via the best manager for that tool",examples:[["vis toolchain use node@22.13.0","Pin node 22.13.0 via the best runtime manager"],["vis toolchain use pnpm@10.32.1","Update the packageManager field; pnpm self-activates"],["vis toolchain use node@22.13.0 --dry-run","Print the command without running it"]],group:wa,loader:W(()=>import("./handler26.js"),"useExecute"),name:"use",options:Rq}),Jq={argument:{description:"Tool to resolve, e.g. node",name:"tool",type:String},commandPath:["toolchain"],description:"Print the resolved binary path a manager would launch for a tool",examples:[["vis toolchain which node","Resolve the node binary the manager would launch"]],group:wa,loader:W(()=>import("./handler26.js"),"whichExecute"),name:"which"},Pq=[Dq,$q,Bq,Oq,Jq],Nq={recursive:{alias:"r",defaultValue:!1,description:"Unlink in all workspace packages",type:Boolean}},Zq=D({argument:{description:"Packages to unlink (omit for current package)",name:"packages",type:String},description:"Unlink a previously linked package",examples:[["vis unlink","Unlink current package"],["vis unlink react","Unlink specific package"],["vis unlink -r","Unlink in all workspace packages"]],group:"Dependencies",loader:()=>import("./handler27.js"),name:"unlink",options:Nq}),Aq={"actions-token":{description:"GitHub token for actions resolution (overrides GITHUB_TOKEN / GH_TOKEN env)",type:String},ai:{defaultValue:!1,description:"Run AI analysis on outdated packages before updating (catalog mode)",type:Boolean},"ai-type":{description:"AI analysis type: impact, security, compatibility, or recommend (default: impact)",type:String},changelog:{defaultValue:!1,description:"Show changelog URLs for updated packages",type:Boolean},dev:{alias:"D",conflicts:"prod",description:"Update only devDependencies",type:Boolean},"dry-run":{alias:"d",defaultValue:!1,description:"Preview changes without applying",type:Boolean},exclude:{description:"Glob pattern to exclude packages (repeatable, catalog mode)",lazyMultiple:!0,type:String},filter:{description:"Filter packages in monorepo (pm-wrapper mode; catalog mode uses --include/--exclude)",type:String},format:{description:"Output format: table, json, or minimal (default: table)",type:String},"gitlab-token":{description:"GitLab token for include-ref resolution (overrides GITLAB_TOKEN / CI_JOB_TOKEN env)",type:String},global:{alias:"g",defaultValue:!1,description:"Update global packages",type:Boolean},"ignore-release-age":{defaultValue:!1,description:"Ignore the minimumReleaseAge gate and select the truly latest version even if freshly published. The selected packages are added to the package manager's native age-gate exclude list (pnpm minimumReleaseAgeExclude, bun minimumReleaseAgeExcludes, yarn npmPreapprovedPackages) so the follow-up install isn't blocked; npm has no per-package exclude. Combine with --latest to also cross the semver range.",type:Boolean},include:{description:"Glob pattern to include packages (repeatable, catalog mode)",lazyMultiple:!0,type:String},"include-branches":{defaultValue:!1,description:"Include branch references (e.g. actions/checkout@main) when scanning workflows",type:Boolean},"include-internal":{defaultValue:!1,description:"Also check workspace-owned package names against the registry (catalog mode)",type:Boolean},"include-locked":{alias:"l",defaultValue:!1,description:"Include packages with pinned/exact versions (no ^ or ~ prefix; catalog mode)",type:Boolean},...De({description:"Run install after catalog update, --no-install to skip (default: true)",name:"install",type:Boolean}),interactive:{alias:"i",defaultValue:!1,description:"Interactive mode",type:Boolean},latest:{alias:"L",conflicts:"target",description:"Update to latest version (ignore semver range; equivalent to --target latest)",type:Boolean},"max-concurrent-requests":{description:"Cap concurrent registry requests during outdated checks (default: 8)",type:Number},"no-actions":{defaultValue:!1,description:"Skip the GitHub Actions ecosystem scan (workflows + composite action.yml files)",type:Boolean},"no-catalog":{defaultValue:!1,description:"Skip catalog mode, use package manager directly",type:Boolean},"no-docker":{defaultValue:!1,description:"Skip the Docker ecosystem scan (Dockerfile + docker-compose images)",type:Boolean},"no-gitlab":{defaultValue:!1,description:"Skip the GitLab CI ecosystem scan (.gitlab-ci.yml + .gitlab/ci/**)",type:Boolean},"no-marshall-check":{defaultValue:!1,description:"Skip the offline marshall pipeline (author, provenance, metadata, downloads, expired-domains, new-bin, signatures, archived-repo) when explicit package arguments are supplied",type:Boolean},"no-optional":{defaultValue:!1,description:"Don't update optionalDependencies",type:Boolean},"no-save":{defaultValue:!1,description:"Update lockfile only",type:Boolean},"no-typosquat-check":{defaultValue:!1,description:"Skip typosquat name check for package arguments",type:Boolean},peer:{defaultValue:!1,description:"Include peerDependencies in update checks",type:Boolean},prerelease:{defaultValue:!1,description:"Include prerelease versions (catalog mode)",type:Boolean},prod:{alias:"P",conflicts:"dev",description:"Update only dependencies",type:Boolean},recursive:{alias:"r",defaultValue:!1,description:"Update recursively in all workspace packages",type:Boolean},"release-channel":{description:"Release channel filter: stable (default), same (match current's prerelease channel), or any",type:String},rollback:{defaultValue:!1,description:"Restore catalog file from the last backup",type:Boolean},...De({description:"Check for known security vulnerabilities via OSV.dev (default: true; --no-security to skip)",name:"security",type:Boolean}),style:{description:"Reference style for GitHub Actions updates: sha (default, pin to commit SHA + version comment) or preserve",type:String},target:{alias:"t",conflicts:"latest",description:"Update target: latest, minor, or patch (default: latest, catalog mode)",type:String},"workspace-root":{alias:"w",defaultValue:!1,description:"Include workspace root",type:Boolean},yes:{alias:"y",defaultValue:!1,description:"Skip the confirmation prompt for blanket --latest updates. Required in non-TTY contexts (CI) when running `vis update --latest` without explicit package arguments.",type:Boolean}},Mq=D({alias:"up",argument:{description:"Packages to update (updates all if omitted)",name:"packages",type:String},description:"Update packages to their latest versions",examples:[["vis update react","Update react within semver range"],["vis up react -L","Update react to latest"],["vis update -i","Interactive mode"],["vis update --filter app","Update in specific workspace"],["vis update -r","Update in all workspaces"],["vis update --target minor","Only apply minor/patch updates (catalog mode)"],["vis update --dry-run","Preview changes without applying"],["vis update --exclude '@types/*'","Exclude packages by pattern"],["vis update --changelog","Show changelog links after updating"],["vis update --rollback","Restore catalog from last backup"],["vis update --ai","Run AI analysis before applying updates"]],group:"Dependencies",loader:()=>import("./handler75.js"),name:"update",options:Aq}),Hq={check:{defaultValue:!1,description:"Check for updates without installing",type:Boolean},force:{defaultValue:!1,description:"Reinstall even if already current",type:Boolean},silent:{defaultValue:!1,description:"Suppress output (CI mode)",type:Boolean}},Iq=D({argument:{description:"Target version (defaults to latest)",name:"version",type:String},description:"Update vis itself to the latest version",examples:[["vis self-update","Update to latest"],["vis self-update 2.0.0","Install specific version"],["vis self-update --check","Check for updates without installing"]],group:"System",loader:()=>import("./handler28.js"),name:"self-update",options:Hq}),Xq={depth:{description:"Limit dependency tree depth",type:Number},dev:{alias:"D",conflicts:"prod",description:"Filter to dev dependencies (pnpm)",type:Boolean},filter:{alias:"F",description:"Filter by workspace package name",multiple:!0,type:String},global:{alias:"g",defaultValue:!1,description:"Check globally installed packages (pnpm)",type:Boolean},json:{defaultValue:!1,description:"Output as JSON",type:Boolean},long:{defaultValue:!1,description:"Show extended information (pnpm)",type:Boolean},"no-optional":{defaultValue:!1,description:"Exclude optional dependencies (pnpm)",type:Boolean},parseable:{defaultValue:!1,description:"Machine-readable output (pnpm)",type:Boolean},prod:{alias:"P",conflicts:"dev",description:"Filter to production dependencies (pnpm)",type:Boolean},recursive:{alias:"r",defaultValue:!1,description:"Check across all workspaces",type:Boolean}},_q=D({alias:"explain",argument:{description:"Package(s) to explain",name:"packages",type:String},description:"Show why a package is installed (dependency chain)",examples:[["vis why react","Show why react is installed"],["vis why react --json","Output as JSON"],["vis why react -r","Check across all workspaces"],["vis explain react","Alias matching npm's command"]],group:"Dependencies",loader:()=>import("./handler29.js"),name:"why",options:Xq}),Fq={},Wq=D({argument:{description:"File to run, with any args to forward to it",name:"file",type:String},description:"Run a TypeScript/JavaScript file directly under the selected runtime (node | bun)",examples:[["vis x script.ts","Run a TypeScript file (full TS surface: enums, decorators)"],["vis x --runtime bun server.ts","Run under Bun"],["vis x build.ts foo bar","Forward positional args to the file"],["vis x task.ts -- --watch","Forward flags after -- to the file"]],group:"Run & Execute",loader:()=>import("./handler30.js"),name:"x",options:Fq}),Gq=e=>{e.addCommand(PU),e.addCommand(LG),e.addCommand(EK),e.addCommand(O5),e.addCommand(_5),e.addCommand(Tq),e.addCommand(OU),e.addCommand(HK),e.addCommand(Mq),e.addCommand(SG),e.addCommand(gK),e.addCommand(oG),e.addCommand(mq),e.addCommand(jq),e.addCommand(Cq),e.addCommand(uK),e.addCommand(xq),e.addCommand(oV),e.addCommand(E5),e.addCommand(B5),e.addCommand($U),e.addCommand(nV),e.addCommand(TK),e.addCommand(qK),e.addCommand(P5),e.addCommand(BU),e.addCommand(lK),e.addCommand(_q),e.addCommand(GK),e.addCommand(eV),e.addCommand(Zq),e.addCommand(zw),e.addCommand(ej),e.addCommand(Wq),e.addCommand(ZV),e.addCommand(zK),e.addCommand(DG),e.addCommand(EG),e.addCommand(DK),e.addCommand(pK),e.addCommand(Iq),e.addCommand(XK),e.addCommand(wq),e.addCommand(FK),e.addCommand(sG),e.addCommand(dG),e.addCommand(VK),e.addCommand(LK),e.addCommand(NV),e.addCommand(ZU),e.addCommand(MU);for(const i of AK)e.addCommand(i);for(const i of JV)e.addCommand(i);for(const i of kG)e.addCommand(i);for(const i of I5)e.addCommand(i);for(const i of Db)e.addCommand(i);for(const i of gq)e.addCommand(i);for(const i of qU)e.addCommand(i);for(const i of cG)e.addCommand(i);for(const i of SK)e.addCommand(i);for(const i of Pq)e.addCommand(i);for(const i of vq)e.addCommand(i);e.addCommand(TG);for(const i of DU)e.addCommand(i)},Qq=e=>{for(let i=0;i<e.length;i+=1){const n=e[i];if(n==="--ca-cert"){const t=e[i+1];return t===void 0||t.startsWith("-")?void 0:is(t)}if(n.startsWith("--ca-cert=")){const t=n.slice(10);return t===""?void 0:is(t)}}},zq=()=>process.platform==="win32"?!!process.env.WT_SESSION||process.env.TERM_PROGRAM==="vscode"||process.env.TERM==="xterm-256color":process.env.TERM!=="linux",xo=zq(),Kq={arrow:xo?"→":"->",dash:xo?"—":"-",failure:xo?"✗":"x",success:xo?"✓":"v",warning:xo?"⚠":"!"},mc=w(Bn(),"upgrade-check.json"),Vq=1440*60*1e3,Uq=1440*60*1e3,qq=500,eee=new Set(["--help","--version","-h","-V","help","implode","upgrade"]),iee=()=>{try{if(L(mc))return Oe(mc)}catch{}},Nw=e=>{try{En(Bn()),Ie(mc,JSON.stringify(e))}catch{}},nee=async e=>{try{const i=new AbortController,n=setTimeout(()=>{i.abort()},qq),t=await fetch(`https://registry.npmjs.org/${e}/latest`,{headers:{accept:"application/json"},signal:i.signal});return clearTimeout(n),t.ok?(await t.json()).version:void 0}catch{return}},cf=(e,i)=>{let n;try{n=fu.gt(i.latestVersion,e,{loose:!0})}catch{return}if(!n)return;const t=Date.now();t-i.lastNoticeAt<Uq||(process.stderr.write(`
|
|
267
267
|
${Pt("vis update available:")} ${To(e)} ${Pt(Kq.arrow)} ${Jk(Ei(i.latestVersion))}${Pt(", run")} ${dn("vis upgrade")}
|
|
268
268
|
`),i.lastNoticeAt=t,Nw(i))},tee=e=>{if(Sn||process.env.VIS_CLI_TEST||process.env.VIS_NO_UPDATE_CHECK==="1"||!process.stderr.isTTY||eee.has(e))return!1;const i=new Set(process.argv.slice(2));return!(i.has("--silent")||i.has("-s")||i.has("--json"))},oee=(e,i)=>{if(!tee(i))return;const n=iee(),t=Date.now();if(n&&t-n.lastQueryAt<Vq)return()=>{cf(e,n)};let o=n;return nee("@visulima/vis").then(a=>{a&&(o={lastNoticeAt:n?.lastNoticeAt??0,lastQueryAt:t,latestVersion:a},Nw(o))}).catch(()=>{}),()=>{o&&cf(e,o)}},aee=async()=>{const e=Qq(process.argv);e!==void 0&&!process.env.NODE_EXTRA_CA_CERTS&&(process.env.NODE_EXTRA_CA_CERTS=e);try{const o=Lf(process.cwd()).path;process.env.VIS_MONOREPO_ROOT=o;const a=Oe(w(o,"package.json"));a.name&&Rk(a.name)}catch{}const i=oee(ns(),process.argv[2]??""),n=Kw("vis",{packageName:"vis",packageVersion:ns()}),t=process.argv.includes("--debug")||!!process.env.DEBUG;if(n.addPlugin(Vw({concise:qw,detailed:t,exitOnError:!1})),n.addGlobalOption({description:"Override workspace root directory",name:"cwd",type:String}),n.addGlobalOption({description:"Target JS runtime: node (default) or bun. Overrides VIS_RUNTIME and config; falls back to lockfile detection.",name:"runtime",type:String}),n.addGlobalOption({description:"Path to a vis config file (overrides discovery)",name:"config",type:String}),n.addGlobalOption({description:"Path to a CA bundle (PEM) to trust for HTTPS — for corporate proxies. Equivalent to NODE_EXTRA_CA_CERTS.",name:"ca-cert",type:String}),n.addPlugin(iT),n.addPlugin(C5),Gq(n),n.addPlugin(LT(i)),yj(process.argv.slice(2))){const{loadVisConfig:o}=await import("./CONFIG_FILES.js"),a=process.env.VIS_MONOREPO_ROOT||process.cwd();let s;try{s=await o(a)}catch{s=void 0}try{await Vx({logger:{info:r=>{process.stdout.write(`${r}
|
|
269
269
|
`)},warn:r=>{process.stderr.write(`${r}
|