updates 19.2.0 → 19.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -8,7 +8,7 @@
8
8
  ## Supported files
9
9
 
10
10
  - `package.json`, `pnpm-workspace.yaml` - npm dependencies
11
- - `pyproject.toml` - uv dependencies
11
+ - `pyproject.toml` - uv dependencies, including `build-system.requires` and `tool.uv.dev-dependencies`
12
12
  - `go.mod`, `go.work` - go dependencies
13
13
  - `Cargo.toml` - rust dependencies, including workspaces
14
14
  - `.{github,gitea,forgejo}/{workflows,actions}`, `workflow-templates`, `action.{yml,yaml}` - actions and docker images
@@ -63,6 +63,8 @@ pnpm dlx updates -u && pnpm i
63
63
 
64
64
  Options taking multiple arguments accept comma-separated values or repetition. An option with an optional `dep` argument applies to all dependencies when the argument is omitted. `dep` matches globs like `foo*` or regexes wrapped in slashes like `'/^foo/'`, except for `--pin`, which takes an exact name.
65
65
 
66
+ Path filters also apply to workspace members, except files passed with `--file`.
67
+
66
68
  A failed lookup is reported on its own, does not hold back the other results and exits with code 1, ahead of `-E` and `-U`. With `-j`, failures are listed in an `errors` array next to `results`.
67
69
 
68
70
  ## Config File
@@ -107,7 +109,7 @@ export default {
107
109
 
108
110
  ### Renovate config
109
111
 
110
- A [Renovate](https://docs.renovatebot.com/) `renovate.json`, `renovate.jsonc` or `renovate.json5` is picked up automatically, inheriting `ignoreDeps`, `enabled` and `allowedVersions` from matching local `packageRules` as `include`/`exclude`/`pin`. Exact-name `allowedVersions` ranges become pin ceilings that never downgrade. Local fields are imported when `extends` is present, but preset contents are not resolved. `minimumReleaseAge` is not inherited unless opted in:
112
+ A [Renovate](https://docs.renovatebot.com/) `renovate.json`, `renovate.jsonc` or `renovate.json5` is picked up automatically, inheriting `ignoreDeps`, `enabled` and `allowedVersions` from matching local `packageRules` as `include`/`exclude`/`pin`. Exact-name semver `allowedVersions` ranges become pin ceilings that never downgrade. PyPI `allowedVersions` also accepts PEP 440 specifier sets. Local fields are imported when `extends` is present, but preset contents are not resolved. `minimumReleaseAge` is not inherited unless opted in:
111
113
 
112
114
  ```ts
113
115
  export default {
package/dist/api.d.ts CHANGED
@@ -99,6 +99,7 @@ type Dep = {
99
99
  info?: string;
100
100
  age?: string;
101
101
  date?: string;
102
+ cooldownDays?: number;
102
103
  oldDigest?: string;
103
104
  newDigest?: string;
104
105
  digestOnly?: boolean;
package/dist/api.js CHANGED
@@ -1 +1 @@
1
- import{i as e,n as t,t as n}from"./shared.js";export{e as cliConfigBaseDir,t as defaultExcludePaths,n as updates};
1
+ export{i as cliConfigBaseDir,n as defaultExcludePaths,t as updates}from"./shared.js";
package/dist/shared.js CHANGED
@@ -1,13 +1,17 @@
1
- import{cwd as e,env as t,exit as n,pid as r,platform as i,stderr as a,stdin as o}from"node:process";import{parseArgs as s,promisify as c,stripVTControlCharacters as l,styleText as u}from"node:util";import{basename as d,dirname as f,isAbsolute as p,join as m,relative as h,resolve as g,sep as _}from"node:path";import{accessSync as v,existsSync as y,globSync as b,lstatSync as x,readFile as S,readFileSync as C,readdirSync as w,realpathSync as T,statSync as ee,truncateSync as te,writeFileSync as ne}from"node:fs";import{text as E}from"node:stream/consumers";import{pathToFileURL as re}from"node:url";import{access as ie,mkdir as ae,readFile as D,readdir as oe,realpath as se,rename as ce,stat as O,unlink as le,utimes as k,writeFile as A}from"node:fs/promises";import{AsyncLocalStorage as ue}from"node:async_hooks";import{Buffer as de}from"node:buffer";import{setTimeout as fe}from"node:timers/promises";import{createHash as pe}from"node:crypto";import{homedir as j}from"node:os";import{execFile as me}from"node:child_process";function he(e,t,n){if(e===t)return e;let r=0;for(;r<e.length&&r<t.length&&e[r]===t[r];)r++;if(r>0&&e[r-1]!==`.`&&e[r-1]!==`-`){let t=r-1;for(;t>=0&&e[t]!==`.`&&e[t]!==`-`;)t--;if(t>=0)r=t+1;else{let t=0;for(;t<r&&(e.charCodeAt(t)<48||e.charCodeAt(t)>57);)t++;r=t}}let i=e.substring(r);return i?e.substring(0,r)+n(i):e}const ge=/^(\s*)([A-Za-z0-9][A-Za-z0-9._-]*)(\s*)((?:\[[^\]]*\])?)(\s*)(.*)$/,_e=/^(\s*\()([^)]*)(\)\s*)$/,ve=/^(\s*)(===|==|!=|~=|<=|>=|<|>)(\s*)(\S+)(\s*)$/,ye=/* @__PURE__ */ new Set([`===`,`==`,`>=`,`~=`]),be=/^v?\d[0-9a-z.!+_-]*$/i;function xe(e){let t=[];for(let n of e.split(`,`)){let e=ve.exec(n);if(!e)return null;let[r,i,a,o,s,c]=e;t.push({lead:i,op:a,sep:o,version:s,trail:c})}return t}function Se(e){let t=e.indexOf(`;`),n=ge.exec(t===-1?e:e.slice(0,t));if(!n)return null;let[r,i,a,o,s,c,l]=n,u=_e.exec(l);return{name:a,extras:s,specifiers:xe(u?u[2]:l),marker:t===-1?``:e.slice(t),head:`${i}${a}${o}${s}${c}`,open:u?.[1]??``,close:u?.[3]??``}}function Ce({head:e,open:t,close:n,marker:r},i){return`${e}${t}${i.map(({lead:e,op:t,sep:n,version:r,trail:i})=>`${e}${t}${n}${r}${i}`).join(`,`)}${n}${r}`}function we(e){return e.find(({op:e,version:t})=>ye.has(e)&&be.test(t))}function Te(e){let t=[];for(let n of e){if(typeof n!=`string`)continue;let e=Se(n);if(!e?.specifiers)continue;let r=we(e.specifiers);r&&t.push({name:e.name,version:r.version,spec:n})}return t}const Ee=[`dependencies`,`devDependencies`,`peerDependencies`,`optionalDependencies`,`resolutions`,`overrides`,`pnpm.overrides`,`packageManager`],De=[`node`,`deno`,`bun`],M=[`.github`,`.gitea`,`.forgejo`],Oe={"pnpm-workspace.yaml":`npm`,"package.json":`npm`,"pyproject.toml":`pypi`,"go.work":`go`,"go.mod":`go`,"Cargo.toml":`cargo`},ke=[`project.dependencies`,`project.optional-dependencies.*`,`dependency-groups.*`],Ae=[`deps`,`indirect`,`replace`,`tool`],je=[`dependencies`,`dev-dependencies`,`build-dependencies`,`workspace.dependencies`],Me=[`target.*.dependencies`,`target.*.dev-dependencies`,`target.*.build-dependencies`];function Ne(e,t){let n=[],r=(e,t,i,a,o)=>{if(t===e.length){a!==void 0&&n.push([o?JSON.stringify(i):i.join(`.`),a]);return}if(!a||typeof a!=`object`)return;let s=e[t],c=s===`*`?Array.isArray(a)?[]:Object.keys(a):[s];for(let n of c)r(e,t+1,[...i,n],a[n],o)};for(let n of e)r(n.split(`.`),0,[],t,n.startsWith(`target.*.`));return n}function Pe(e,t){if(typeof t==`boolean`)return t;for(let n of t)if(n.test(e))return!0;return!1}function Fe(e){return e.split(`,`).filter(Boolean)}function Ie(){let e=/* @__PURE__ */ new Date;return(/* @__PURE__ */ new Date(e.getTime()-e.getTimezoneOffset()*6e4)).toISOString().replace(`T`,` `).slice(0,-1)}function Le(e,t){let n=Array(e[0].length).fill(0),r=Array(e.length);for(let i=0;i<e.length;i++){let a=e[i],o=Array(a.length);for(let e=0;e<a.length;e++){let r=t(a[e]);o[e]=r,r>n[e]&&(n[e]=r)}r[i]=o}let i=``;for(let t=0;t<e.length;t++){let a=e[t],o=a.length-1;for(let e=0;e<=o;e++)if(e>0&&(i+=` `),i+=a[e],e!==o){let a=n[e]-r[t][e];a>0&&(i+=` `.repeat(a))}t<e.length-1&&(i+=`
2
- `)}return i}const Re={y:365,m:30,w:7,d:1,h:1/24,s:1/86400};function N(e){let[t,n,r]=/^(\d+(?:\.\d+)?)(?:\s*([a-z]))?$/i.exec(e)??[],i=r?Re[r.toLowerCase()]:1;if(!n||!i)throw Error(`Invalid cooldown value: ${e}`);return Number(n)*i}function ze(e,t){let n=Math.round(Number(e));if(!Number.isFinite(n)||n<1)throw Error(`Invalid ${t}: ${e}`);return n}async function P(e,t,{concurrency:n=1/0}={}){let r=Array.from(e);if(!Number.isFinite(n))return Promise.all(r.map(t));let i=Array(r.length),a=0;return await Promise.all(Array.from({length:Math.min(Math.max(n,1),r.length)},async()=>{for(;a<r.length;){let e=a++;i[e]=await t(r[e])}})),i}async function F(e){try{return await e}catch{return null}}const I=RegExp.escape?e=>RegExp.escape(e):e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);function Be(e){return Array.from(e).sort((e,t)=>t.length-e.length).map(I).join(`|`)}var Ve=class extends RegExp{#e;constructor(e,t,n){super(e,n),this.#e=t}test(e){return this.#e(e)}};function L(e){let t=[],n=0,r=0;for(let i=0;i<e.length;i++)e[i]===`(`||e[i]===`{`?n++:e[i]===`)`||e[i]===`}`?n--:(e[i]===`|`||e[i]===`,`)&&n===0&&(t.push(e.slice(r,i)),r=i+1);return t.push(e.slice(r)),t}function R(e,t,n,r){let i=0;for(let a=t;a<e.length;a++)if(e[a]===n)i++;else if(e[a]===r&&--i===0)return a;return-1}function He(e){let t=/^(-?\d+|[A-Za-z])\.\.(-?\d+|[A-Za-z])(?:\.\.(-?\d+))?$/.exec(e);if(!t)return L(e);let n=/^-?\d+$/.test(t[1])&&/^-?\d+$/.test(t[2]),r=n?Number(t[1]):t[1].codePointAt(0),i=n?Number(t[2]):t[2].codePointAt(0),a=Math.abs(Number(t[3])||1)*(r<=i?1:-1),o=[];for(;(a>0?r<=i:r>=i)&&o.length<1e3;)o.push(n?String(r):String.fromCodePoint(r)),r+=a;return o}function Ue(e){let t=``,n=[],r=e=>{t+=e,n.push({kind:`char`,matcher:RegExp(`^(?:${e})$`,`i`)})};for(let i=0;i<e.length;i++){let a=e[i];if(a===`\\`&&i+1<e.length)r(I(e[++i]));else if(a===`*`&&e[i+1]!==`(`){let r=e[i+1]===`*`;for(;e[i+1]===`*`;)i++;r&&e[i+1]===`/`?(t+=`(?:.*/)?`,n.push({kind:`globstarSlash`}),i++):(t+=`.*`,n.push({kind:`span`,slash:!0}))}else if(a===`?`&&e[i+1]!==`(`)r(`[^/]`);else if(a===`[`){let t=e.indexOf(`]`,i+1);if(t===-1)r(`\\[`);else{let n=e.slice(i+1,t);n.startsWith(`!`)&&(n=`^${n.slice(1)}`),r(`[${n.replaceAll(`\\`,`\\\\`)}]`),i=t}}else if(a===`{`||`@+?*!`.includes(a)&&e[i+1]===`(`){let o=a===`{`,s=o?i:i+1,c=R(e,s,e[s],o?`}`:`)`);if(c===-1)r(I(a));else{let r=e.slice(s+1,c),l=(o?He(r):L(r)).map(Ue),u=l.map(e=>e.source).join(`|`);t+=a===`!`?`(?!(?:${u})(?:/|$))[^/]*`:`(?:${u})${o||a===`@`?``:a}`;let d=l.map(e=>e.tokens);n.push(a===`!`?{kind:`negative`,alternatives:d}:{kind:`alternatives`,alternatives:d,minimum:a===`?`||a===`*`?0:1,repeat:a===`+`||a===`*`}),i=c}}else r(I(a))}return{source:t,tokens:n}}function We(e,t){let n=/* @__PURE__ */ new WeakMap,r=(e,n,r)=>{if(!e.has(n))for(let i=n;e.add(i),!(i===t.length||!r&&t[i]===`/`);i++);},i=(e,a)=>{let o=V(n,e,()=>/* @__PURE__ */ new Map),s=o.get(a);if(s)return s;let c=/* @__PURE__ */ new Set([a]);o.set(a,c);for(let n of e){let e=/* @__PURE__ */ new Set;for(let a of c)if(n.kind===`char`)a<t.length&&n.matcher.test(t[a])&&e.add(a+1);else if(n.kind===`span`)r(e,a,n.slash);else if(n.kind===`globstarSlash`){e.add(a);for(let n=a;n<t.length;n++)t[n]===`/`&&e.add(n+1)}else if(n.kind===`negative`)n.alternatives.some(e=>[...i(e,a)].some(e=>e===t.length||t[e]===`/`))||r(e,a,!1);else{n.minimum===0&&e.add(a);for(let t of n.alternatives)for(let n of i(t,a))e.add(n);if(n.repeat)for(let t of e)for(let r of n.alternatives)for(let n of i(r,t))e.add(n)}if(c=e,!c.size)break}return o.set(a,c),c};return i(e,0).has(t.length)}function z(e){if(e instanceof RegExp)return/[gy]/.test(e.flags)?new RegExp(e.source,e.flags.replace(/[gy]/g,``)):e;let t=/^(!?)\/(.*)\/(i?)$/.exec(e);if(t)try{let n=new RegExp(t[2],t[3]);return t[1]?new Ve(e,e=>!n.test(e)):n}catch{}let n=0;for(;e[n]===`!`&&e[n+1]!==`(`;)n++;let r=n%2==1,{source:i,tokens:a}=Ue(e.slice(n));return new Ve(`^${i}$`,e=>r!==We(a,e),`i`)}async function Ge(e,t){for(let n=e;;n=f(n)){let e=await t(n);if(e)return e;if(f(n)===n)return null}}function Ke(e,t){for(let n=e;;n=f(n)){let e=t(n);if(e)return e;if(f(n)===n)return null}}function B(e,t,n){let r=e.get(t);r?r.push(n):e.set(t,[n])}function V(e,t,n){let r=e.get(t);if(r!==void 0||e.has(t))return r;let i=n();return e.set(t,i),i}function qe(e){let t=/* @__PURE__ */ new Map;return n=>V(t,n,()=>e(n))}const Je=`0|[1-9]\\d*`,Ye=/^(?:0|[1-9]\d*)$/,Xe=`0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*`,Ze=RegExp(`^v?(${Je})\\.(${Je})\\.(${Je})(?:-((?:${Xe})(?:\\.(?:${Xe}))*))?(?:\\+[0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*)?$`),Qe=/* @__PURE__ */ new Map;function H(e){return typeof e==`string`?V(Qe,e,()=>{let t=Ze.exec(e.trim());if(!t)return null;let n=Number(t[1]),r=Number(t[2]),i=Number(t[3]);if(!Number.isSafeInteger(n)||!Number.isSafeInteger(r)||!Number.isSafeInteger(i))return null;let a=t[4]?t[4].split(`.`).map(e=>/^\d+$/.test(e)&&Number(e)<2**53-1?Number(e):e):[];return{major:n,minor:r,patch:i,prerelease:a,raw:e,version:`${n}.${r}.${i}${a.length?`-${a.join(`.`)}`:``}`}}):null}function $e(e,t){let n=typeof e==`number`||/^\d+$/.test(e),r=typeof t==`number`||/^\d+$/.test(t);if(n&&r){let n=String(e),r=String(t);return n.length-r.length||(n<r?-1:+(n>r))}return n?-1:r?1:e<t?-1:+(e>t)}function et(e,t){return e.major-t.major||e.minor-t.minor||e.patch-t.patch}function tt(e,t){let n=et(e,t);if(n!==0)return n;let r=e.prerelease.length,i=t.prerelease.length;if(!r||!i)return i-r;for(let n=0;n<r&&n<i;n++){let r=$e(e.prerelease[n],t.prerelease[n]);if(r!==0)return r}return r-i}function nt(e){return H(e)?.version??null}const rt=/* @__PURE__ */ new Map,it=/(?:^|[^.\d])(\d+)(?:\.(\d+))?(?:\.(\d+))?/;function at(e){return typeof e==`string`?V(rt,e,()=>{let t=it.exec(e);return t?{version:`${t[1]}.${t[2]||`0`}.${t[3]||`0`}`}:null}):null}function ot(e,t){let n=H(e),r=H(t);return n&&r?st(n,r):null}function st(e,t){let n=tt(e,t);if(n===0)return null;let r=n>0?e:t,i=n>0?t:e,a=r.prerelease.length>0;if(i.prerelease.length>0&&!a){if(!i.patch&&!i.minor)return`major`;if(et(i,r)===0)return i.minor&&!i.patch?`minor`:`patch`}let o=a?`pre`:``;return e.major===t.major?e.minor===t.minor?e.patch===t.patch?`prerelease`:`${o}patch`:`${o}minor`:`${o}major`}function ct(e,t){let n=H(e),r=H(t);return!!(n&&r&&tt(n,r)>0)}function lt(e){let t=/^v?([^.+-]+(?:\.[^.+-]+){0,2})(-[0-9a-zA-Z.-]+)?(\+[0-9a-zA-Z.-]+)?$/.exec(e);if(!t)return null;let n=[];for(let e of t[1].split(`.`))if(/^[xX*]$/.test(e))n.push(null);else if(n.includes(null)||!Ye.test(e)||!Number.isSafeInteger(Number(e)))return null;else n.push(Number(e));for(;n.length<3;)n.push(null);let r=`${t[2]??``}${t[3]??``}`;return r&&(n.includes(null)||!H(`${n.join(`.`)}${r}`))?null:{major:n[0],minor:n[1],patch:n[2],suffix:r}}function ut(e,t,n,r,i=``){let a=H(`${t}.${n}.${r}${i}`);return a?{op:e,semver:a}:null}function dt(...e){return e.every(e=>e!==null)?e:null}function ft(e,t){let n=tt(e,t.semver);switch(t.op){case`>=`:return n>=0;case`<=`:return n<=0;case`>`:return n>0;case`<`:return n<0;case`=`:return n===0;default:return!1}}function pt(e,t,n){return ut(`<`,e,t,n,`-0`)}function mt(e,t){if(e.major===null)return t===`>`||t===`<`?dt(pt(0,0,0)):[];let{major:n,suffix:r}=e,i=e.minor??0,a=e.patch??0,[o,s]=e.minor===null?[n+1,0]:[n,i+1];if(t===`^`||t===`~`){let c=ut(`>=`,n,i,a,r);return t===`^`&&n!==0?dt(c,pt(n+1,0,0)):t===`^`&&e.patch!==null&&i===0?dt(c,pt(0,0,a+1)):dt(c,pt(o,s,0))}return e.patch===null?!t||t===`=`?dt(ut(`>=`,n,i,0),pt(o,s,0)):dt(t===`>`?ut(`>=`,o,s,0):t===`<=`?pt(o,s,0):t===`<`?pt(n,i,0):ut(`>=`,n,i,0)):dt(ut(t||`=`,n,i,a,r))}function ht(e){let t=/^(\S+)\s+-\s+(\S+)$/.exec(e);if(t){let e=lt(t[1]),n=lt(t[2]),r=e&&mt(e,`>=`),i=n&&mt(n,`<=`);return r&&i?[...r,...i]:null}let n=e.replace(/~\s*>\s*/g,`~`).replace(/(>=|<=|>|<|=|~|\^)\s+/g,`$1`),r=[];for(let e of n.split(/\s+/).filter(Boolean)){let t=/^(>=|<=|>|<|=|~|\^)?(.+)$/.exec(e),n=t&&lt(t[2]),i=n?mt(n,t[1]??``):null;if(!i)return null;r.push(...i)}return r}const gt=/* @__PURE__ */ new Map;function _t(e){return V(gt,e,()=>{let t=e.split(`||`).map(e=>ht(e.trim()));return t.every(e=>e!==null)?t:null})}function vt(e,t){return t.some(t=>!ft(e,t))?!1:!e.prerelease.length||t.some(t=>t.semver.prerelease.length>0&&t.semver.major===e.major&&t.semver.minor===e.minor&&t.semver.patch===e.patch)}function yt(e,t){return!!_t(t)?.some(t=>vt(e,t))}function U(e,t){let n=H(e);return!!(n&&yt(n,t))}function W(e){return typeof e==`string`&&_t(e)?e:null}const bt=`v?(?:(\\d+)!)?(\\d+(?:\\.\\d+)*)(?:[-_.]?(a|b|c|rc|alpha|beta|pre|preview)[-_.]?(\\d+)?)?(?:-(\\d+)|[-_.]?(post|rev|r)[-_.]?(\\d+)?)?(?:[-_.]?(dev)[-_.]?(\\d+)?)?(?:\\+([a-z0-9]+(?:[-_.][a-z0-9]+)*))?`,xt=RegExp(`^${bt}$`,`i`),St=RegExp(bt,`i`),Ct={alpha:`a`,beta:`b`,c:`rc`,pre:`rc`,preview:`rc`},wt=/* @__PURE__ */ new Map;function G(e){return typeof e==`string`?V(wt,e,()=>{let t=xt.exec(e.trim());if(!t)return null;let n=t[3]?.toLowerCase();return{epoch:t[1]?Number(t[1]):0,release:t[2].split(`.`).map(Number),pre:n?[Ct[n]??n,Number(t[4]??0)]:null,post:t[5]===void 0?t[6]===void 0?null:Number(t[7]??0):Number(t[5]),dev:t[8]===void 0?null:Number(t[9]??0),local:t[10]?t[10].toLowerCase().split(/[._-]/).map(e=>/^\d+$/.test(e)?Number(e):e):null,version:e.trim()}}):null}function Tt(e){return G(e)??G(St.exec(e)?.[0]??``)}const Et=e=>!!e.pre||e.dev!==null;function Dt(e,t){if(!e||!t)return e?1:t?-1:0;let n=Math.min(e.length,t.length);for(let r=0;r<n;r++){let n=typeof e[r]==`number`;if(n!==(typeof t[r]==`number`))return n?1:-1;if(e[r]<t[r])return-1;if(e[r]>t[r])return 1}return e.length-t.length}function Ot(e,t){if(e.epoch!==t.epoch)return e.epoch-t.epoch;let n=Math.max(e.release.length,t.release.length);for(let r=0;r<n;r++){let n=(e.release[r]??0)-(t.release[r]??0);if(n)return n}let r=e.pre?0:e.post===null&&e.dev!==null?-1:1,i=t.pre?0:t.post===null&&t.dev!==null?-1:1;if(r!==i)return r-i;if(e.pre&&t.pre){if(e.pre[0]!==t.pre[0])return e.pre[0]<t.pre[0]?-1:1;if(e.pre[1]!==t.pre[1])return e.pre[1]-t.pre[1]}if((e.post??-1)!==(t.post??-1))return(e.post??-1)-(t.post??-1);let a=e.dev??1/0,o=t.dev??1/0;return a===o?Dt(e.local,t.local):a<o?-1:1}function kt(e,t){if(e.epoch!==t.epoch)return`major`;let n=Math.max(e.release.length,t.release.length);for(let r=0;r<n;r++)if((e.release[r]??0)!==(t.release[r]??0))return r===0?`major`:r===1?`minor`:`patch`;return null}function At(e,t){let n=Ot(e,t);if(n===0)return null;let r=kt(e,t);return Et(n>0?e:t)?r?`pre${r}`:`prerelease`:r??`patch`}const jt=/\d+\.\d+\.\d+(?:-[a-zA-Z0-9_.-]+)?/,K={parse:H,parseRange:e=>H(jt.exec(e)?.[0]??``)??H(at(e)?.version??``),compare:tt,diff:st,isPrerelease:e=>e.prerelease.length>0,isRangePrerelease:e=>/[0-9]+\.[0-9]+\.[0-9]+-.+/.test(e),satisfiesRange:yt},Mt=/* @__PURE__ */ new Map;function Nt(e){return V(Mt,e,()=>{let t=e.trim().replace(/^v/i,``);return H(t)??H(t.replace(/^(\d+\.\d+)(-.+)$/,`$1.0$2`))??(/^\d/.test(t)?H(at(t)?.version??``):null)})}const Pt={...K,parse:Nt,parseRange:Nt,isRangePrerelease:e=>!!Nt(e)?.prerelease.length},Ft={parse:G,parseRange:Tt,compare:Ot,diff:At,isPrerelease:Et,isRangePrerelease:e=>{let t=Tt(e);return!!(t&&Et(t))},satisfiesRange:({release:e},t)=>U(`${e[0]??0}.${e[1]??0}.${e[2]??0}`,t)},It=/[A-Za-z_$][A-Za-z0-9_$]*/y;function Lt(e){let t=``,n=0,r=e.length;function i(t){if(e[t+1]===`/`){for(t+=2;t<r&&e[t]!==`
3
- `&&e[t]!==`\r`;)t++;return t}let n=e.indexOf(`*/`,t+2);if(n===-1)throw SyntaxError(`Unterminated block comment`);return n+2}function a(t){for(;t<r;){if(/\s/.test(e[t])){t++;continue}if(e[t]===`/`&&(e[t+1]===`/`||e[t+1]===`*`)){t=i(t);continue}break}return t}for(;n<r;){let o=e[n];if(o===`"`){let i=n++;for(;n<r;){let t=e[n++];if(t===`\\`)n++;else if(t===`"`)break}t+=e.slice(i,n);continue}if(o===`'`){for(t+=`"`,n++;n<r;){let r=e[n];if(r===`\\`){e[n+1]===`'`?t+=`'`:e[n+1]!==`
4
- `&&(t+=e.slice(n,n+2)),n+=2;continue}if(n++,r===`'`){t+=`"`;break}t+=r===`"`?`\\"`:r}continue}if(o===`/`&&(e[n+1]===`/`||e[n+1]===`*`)){n=i(n),t+=` `;continue}if(o===`,`){let r=e[a(n+1)];r!==`}`&&r!==`]`&&(t+=o),n++;continue}It.lastIndex=n;let s=It.exec(e);if(s){n=It.lastIndex,t+=e[a(n)]===`:`?`"${s[0]}"`:s[0];continue}t+=o,n++}return JSON.parse(t)}const Rt={y:365.25,w:7,d:1,h:1/24,m:1/1440,s:1/86400,ms:1/864e5};function zt(e){if(typeof e!=`string`)return;let t=e.split(/(.*?[a-z]+)/).map(e=>e.trim()).filter(Boolean);if(!t.length)return;let n=0;for(let e of t){let t=e.replace(/^(\d+)\s*(?:months?|M)$/,(e,t)=>`${Number(t)*30} days`);if(t.length>100)return;let r=/^(-?\d*\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(!r)return;let i=(r[2]??`ms`).toLowerCase();n+=Number(r[1])*Rt[/^m(?:s|il)/.test(i)?`ms`:i[0]]}return n}const Bt=/^(?:(?:match|exclude)(?:Package|Dep)(?:Names|Patterns|Prefixes)|package(?:Name|Pattern)s?|excludedPackageNames)$/;function Vt(e,t){let n=e.startsWith(`exclude`)?`!`:``;return e.endsWith(`Prefixes`)?`${n}${t}{/,}**`:/Patterns?$/.test(e)?t===`*`&&!n&&!e.includes(`Dep`)?`*`:`${n}/${t}/`:`${n}${t}`}const Ht=/* @__PURE__ */ new Set([`updateTypes`,`managers`,`datasources`,`depTypeList`,`paths`,`languages`,`baseBranchList`,`sourceUrlPrefixes`,`matchFiles`,`matchPaths`]);function Ut(e){let t={};for(let[n,r]of Object.entries(e)){if(!Bt.test(n)){if(n.startsWith(`match`)||n.startsWith(`exclude`)||Ht.has(n))return;continue}let e=typeof r==`string`||n===`packageName`||n===`packagePattern`?[r]:r;if(!Array.isArray(e))return;let i=t[n.includes(`Dep`)?`Dep`:`Package`]??=[];for(let t of e){if(typeof t!=`string`||!t)return;i.push(Vt(n,t))}}let n={},r=[];for(let e of[`Package`,`Dep`]){if(t[e]?.length===0)return;let i=[],a=[];for(let n of t[e]??[]){let e=n.startsWith(`!`),t=e?n.slice(1):n,o=Wt(t);(e?a:i).push(o??t),!e&&!o&&!/[*?[\]{}!()|+]/.test(t)&&r.push(t)}i.length&&(n[`match${e}Names`]=i),a.length&&(n[`exclude${e}Names`]=a)}return{matchers:n,literals:r}}function Wt(e){let t=/^!?\/(.*)\/(i?)$/.exec(e);if(t)try{return new RegExp(t[1],t[2])}catch{return}}const Gt=/* @__PURE__ */ new Map,Kt=e=>V(Gt,e,()=>z(e)),qt=(e,t,n)=>(!t?.length||t.some(t=>Kt(t).test(e)))&&(!n?.length||n.every(t=>!Kt(t).test(e)));function Jt(e,t,n){return qt(t,e.matchPackageNames,e.excludePackageNames)&&qt(n,e.matchDepNames,e.excludeDepNames)}var Yt=class extends RegExp{#e;constructor(e,t){super(e),this.#e=t}testNames(e,t){return this.#e(e,t)}test(e){return this.testNames(e,e)}};function Xt(e,t,n,r){return e instanceof Yt?e.testNames(n,r):e.test(t)}function Zt(e,t){let n=[],r={},i=/* @__PURE__ */ new Set,a=[];for(let r of e){if(!r||typeof r!=`object`)continue;let e=Ut(r);if(!e)continue;let{matchers:o,literals:s}=e;typeof r.enabled==`boolean`&&n.push({enabled:r.enabled,matchers:o});let c={...o},l=t?zt(r.minimumReleaseAge):void 0;if(l!==void 0&&(c.cooldownDays=l),typeof r.allowedVersions==`string`){let e=W(r.allowedVersions);if(!e&&!Wt(r.allowedVersions))throw Error(`Invalid renovate allowedVersions: ${r.allowedVersions}`);if(c.allowedVersions=r.allowedVersions,e)for(let e of s)i.add(e)}(c.allowedVersions||c.cooldownDays!==void 0)&&a.push(c)}for(let e of i){let t=a.findLast(t=>t.allowedVersions!==void 0&&Jt(t,e,e))?.allowedVersions;t&&W(t)&&(r[e]=t)}return{disabled:n.some(e=>!e.enabled)?new Yt(`renovate-package-rules`,(e,t)=>n.findLast(n=>Jt(n.matchers,e,t))?.enabled===!1):void 0,pin:r,versionRules:a}}function Qt(e,t){if(e.enabled===!1)return{exclude:[`*`]};let n={},r=t.cooldown?zt(e.minimumReleaseAge):void 0;r&&r>0&&(n.cooldown=r);let i=Array.isArray(e.ignoreDeps)?e.ignoreDeps.filter(e=>typeof e==`string`&&!!e).map(e=>new Yt(`^${I(e)}$`,(t,n)=>n===e)):[],{disabled:a,pin:o,versionRules:s}=Zt(Array.isArray(e.packageRules)?e.packageRules:[],!!t.cooldown),c=a?[...i,a]:i;return c.length&&(n.exclude=c),Object.keys(o).length&&(n.pin=o,n.pinNoDowngrade=!0),s.length&&(n.renovateVersionRules=s),n}async function $t(e,t={}){let n=await Ge(e,async e=>{for(let t of[`renovate.json`,`renovate.jsonc`,`renovate.json5`]){let n=m(e,t),r=await F(D(n,`utf8`));if(r===null)continue;let i;try{i=Lt(r)}catch(e){throw Error(`Unable to parse renovate config ${n}: ${e.message}`)}if(i&&typeof i==`object`)return i}return null});return n?Qt(n,t):{}}const en=Symbol(`cliBaseConfig`),tn={"allow-downgrade":{short:`d`,type:`string`,multiple:!0},"error-on-outdated":{short:`E`,type:`boolean`},"error-on-unchanged":{short:`U`,type:`boolean`},exclude:{short:`e`,type:`string`,multiple:!0},file:{short:`f`,type:`string`,multiple:!0},forgeapi:{type:`string`},goproxy:{type:`string`},cargoapi:{type:`string`},dockerapi:{type:`string`},greatest:{short:`g`,type:`string`,multiple:!0},help:{short:`h`,type:`boolean`},include:{short:`i`,type:`string`,multiple:!0},"include-paths":{short:`N`,type:`string`,multiple:!0},"exclude-paths":{short:`X`,type:`string`,multiple:!0},indirect:{short:`I`,type:`boolean`},json:{short:`j`,type:`boolean`},jsrapi:{type:`string`},login:{short:`L`,type:`string`},logout:{short:`O`,type:`string`},cooldown:{short:`C`,type:`string`},minor:{short:`m`,type:`string`,multiple:!0},modes:{short:`M`,type:`string`,multiple:!0},color:{short:`c`,type:`boolean`},"no-cache":{short:`x`,type:`boolean`},"no-color":{short:`n`,type:`boolean`},patch:{short:`P`,type:`string`,multiple:!0},pin:{short:`l`,type:`string`,multiple:!0},prerelease:{short:`p`,type:`string`,multiple:!0},pypiapi:{type:`string`},registry:{short:`r`,type:`string`},release:{short:`R`,type:`string`,multiple:!0},sockets:{short:`s`,type:`string`},timeout:{short:`T`,type:`string`},types:{short:`t`,type:`string`,multiple:!0},update:{short:`u`,type:`boolean`},verbose:{short:`V`,type:`boolean`},version:{short:`v`,type:`boolean`}},nn=/* @__PURE__ */ new Set([`greatest`,`prerelease`,`release`,`patch`,`minor`,`allow-downgrade`]);function rn(e){return Array.isArray(e)?!e.length||e.includes(!0)||new Set(sn(e)):e===!0}function an(e){for(let[t,{short:n}]of Object.entries(tn))if(t===e||n===e)return t;return``}function on(e){return new Set(e.map(z))}function sn(e,t=Fe){return Array.isArray(e)?e.filter(e=>typeof e==`string`).flatMap(t):[]}function cn(e){for(let[t,n]of Object.entries(e??{}))if(!W(n))throw Error(`Invalid pin range for ${t}: ${n}`)}function ln(e){let t={};for(let n of Array.isArray(e)?e:[e]){if(typeof n!=`string`)continue;let e=n.indexOf(`=`);if(e<1)throw Error(`Invalid pin: ${n}, expected <dep>=<range>`);t[n.slice(0,e)]=n.slice(e+1)}return cn(t),t}function un(e){return typeof e==`boolean`?e:!Array.isArray(e)||!e.length?!1:on(e)}const dn=qe(e=>Ge(e,async e=>{for(let t of[`js`,`ts`,`mjs`,`mts`]){let n=`updates.config.${t}`,r=m(e,n);try{await ie(r)}catch(e){if(e.code===`ENOENT`)continue;throw Error(`Unable to load config file ${n}: ${e.message}`)}try{return(await import(re(r).href)).default??{}}catch(e){throw Error(`Unable to parse config file ${n}: ${e?.message??e}`)}}return null})),fn=qe(async e=>{let t=await dn(e)??{},n=await $t(e,t.inherit?.renovate),r={...n,...t};return n.pin&&(r.pin={...n.pin,...t.pin},r.pinNoDowngrade=Object.keys(n.pin).filter(e=>!t.pin?.[e])),n.overrides?.length&&(r.overrides=[...n.overrides,...t.overrides??[]]),cn(r.pin),r});function pn(e){return new Promise((t,n)=>{S(e,`utf8`,(e,r)=>e?n(e):t(r))})}const mn=m(i===`win32`?t.LOCALAPPDATA||m(j(),`AppData`,`Local`):t.XDG_CACHE_HOME||m(j(),`.cache`),`updates`),hn=/* @__PURE__ */ new Map,gn=(e,t)=>m(t,`${pe(`sha256`).update(e).digest(`hex`)}.cache`),_n=6048e5;async function vn(e,t=mn){try{let n=gn(e,t);if(Date.now()-(await O(n)).mtimeMs>_n)return await le(n),null;let r=await pn(n),i=r.indexOf(`
5
- `),a=r.substring(0,i),o=r.substring(i+1);if(!a||!o)return null;let s=/* @__PURE__ */ new Date;return await F(k(n,s,s)),{etag:a,body:o}}catch{return null}}const yn=/* @__PURE__ */ new Set;let bn=0;function xn(e,t,n,i=mn){let a=(async()=>{let a;try{await V(hn,i,()=>ae(i,{recursive:!0}));let o=gn(e,i);a=`${o}.${r}-${bn++}.tmp`,await A(a,`${t}\n${n}`),await ce(a,o)}catch{a?await F(le(a)):hn.delete(i)}})();yn.add(a),(async()=>{await a,yn.delete(a)})()}async function Sn(e=mn,t=4096){for(;yn.size;)await Promise.all(yn);try{let n=(await oe(e)).filter(e=>e.endsWith(`.cache`)),r=(await Promise.all(n.map(async t=>{let n=m(e,t);try{return{path:n,mtime:(await O(n)).mtimeMs}}catch{return null}}))).filter(e=>e!==null).sort((e,t)=>t.mtime-e.mtime),i=Date.now()-_n;await Promise.all(r.filter((e,n)=>n>=t||e.mtime<i).map(e=>F(le(e.path))))}catch{}}const Cn=/* @__PURE__ */ new Map;function wn(){let e=t.XDG_CONFIG_HOME||(i===`win32`?t.APPDATA||m(j(),`AppData`,`Roaming`):m(j(),`.config`));return m(e,`updates`,`tokens.json`)}async function Tn(e){let t;try{t=await D(e,`utf8`)}catch(e){if(e.code===`ENOENT`)return{};throw e}try{return JSON.parse(t)}catch(t){throw Error(`Could not parse ${e}: ${t.message}`)}}function En(){let e=wn();return V(Cn,e,()=>Tn(e))}async function Dn(e){let t=wn();await ae(f(t),{recursive:!0,mode:448}),await A(`${t}.tmp`,`${JSON.stringify(e,null,2)}\n`,{mode:384}),await ce(`${t}.tmp`,t),Cn.set(t,Promise.resolve(e))}async function On(e,t){await Dn({...await En(),[e]:t})}async function kn(e){let t={...await En()};return Object.hasOwn(t,e)?(delete t[e],await Dn(t),!0):!1}var An=`19.2.0`;function jn(e,t,n){return!t||!n||(n-Date.parse(e||``))/864e5>=t}const Mn=An,Nn=`https://api.github.com`,q={registry:`https://registry.npmjs.org`,jsrapi:`https://jsr.io`,forgeapi:Nn,pypiapi:`https://pypi.org`,cargoapi:`https://crates.io`,dockerapi:`https://hub.docker.com`,goproxy:`https://proxy.golang.org`},J=e=>e[0]===`v`?e.substring(1):e,Pn=e=>e.endsWith(`/`)?e.slice(0,-1):e;function Fn(e,t){return{headers:{"user-agent":`updates/${Mn}`,"accept-encoding":`gzip, deflate, br`,...t&&{Authorization:`${e} ${t}`}}}}const In=/* @__PURE__ */ new Set([`ECONNRESET`,`ECONNREFUSED`,`ETIMEDOUT`,`EAI_AGAIN`,`EPIPE`,`UND_ERR_SOCKET`,`UND_ERR_CONNECT_TIMEOUT`,`UND_ERR_HEADERS_TIMEOUT`,`UND_ERR_BODY_TIMEOUT`]);function Ln(e){if(e?.name===`TimeoutError`||e?.name===`AbortError`)return!0;let t=e?.code??e?.cause?.code;return typeof t==`string`&&In.has(t)}async function Rn(e,t){try{return await fetch(e,t)}catch(t){let n=Error(`Failed to fetch ${e}${t?.message?`: ${t.message}`:``}`,{cause:t});throw n.transient=Ln(t),n}}async function zn(e,t,n={}){let r=Jn(e);for(let i=0;;i++)try{let a=await r(()=>e.doFetch(t,{...n,signal:AbortSignal.timeout(e.fetchTimeout)})),o=a?.headers?.get?.(`retry-after`)?.trim()??``,s=/^\d+$/.test(o)?Number(o)*1e3:Math.max(Date.parse(o)-Date.now(),0),c=Number.isNaN(s)?null:s,l=e.fetchTimeout,u=a.status>=500&&a.status<600?c!==null&&c<=l?c:0:(a.status===429||a.status===403&&c!==null)&&(c===null||c<=l)?c??0:null;if(u===null||i>=2)return a;a.body&&await a.body.cancel(),u&&await fe(u)}catch(e){if(i>=2||!e?.transient)throw e}}const Bn=e=>t=>JSON.stringify(e(JSON.parse(t))),Vn=/* @__PURE__ */ new WeakMap;function Hn(e,t,n,r,i,a){let o=JSON.stringify([e,i,a,n.method??`GET`,Array.from(new Headers(n.headers).entries()),n.body??null,r?.toString()]),s=V(Vn,t,()=>/* @__PURE__ */ new Map);return V(s,o,async()=>{try{let o=t.noCache?null:await vn(i);if(a&&o)return{body:o.body};let s=o?{...n.headers,"if-none-match":o.etag}:n.headers,c=await zn(t,e,{...n,headers:s});if(c.status===304&&o)return{body:o.body,res:c};if(!c.ok)return{res:c};let l=await c.text();if(r&&l.length>=16384)try{l=r(l)}catch{}let u=a?`immutable`:c.headers.get(`etag`);return u&&!t.noCache&&xn(i,u,l),{body:l,res:c}}finally{s.delete(o)}})}function Un(e,t,n={},r,i=e){return Hn(e,t,n,r,i,!1)}function Wn(e,t,n={},r){return Hn(e,t,n,r,e,!0)}async function Y(e,t,n,r,i=!0){let a=V(e,t,()=>/* @__PURE__ */ new Map),o=a.get(n);if(o)return o;let s=r();a.set(n,s);try{let e=await s;return i||a.delete(n),e}catch(e){throw a.delete(n),e}}const Gn=new ue,Kn=e=>Math.max(e.concurrency||50,1),qn=/* @__PURE__ */ new WeakMap;function Jn(e){return V(qn,e,()=>{let t=Kn(e),n=0,r=0,i=[];return async e=>{if(Gn.getStore())return e();n<t?n++:await new Promise(e=>{i.push(e)});try{return await Gn.run(!0,e)}finally{r<i.length?(i[r++](),r===i.length&&(i=[],r=0)):n--}}})}function Yn(e,t=K){let n=t.parse(e);return!!(n&&t.isPrerelease(n))}const Xn=/* @__PURE__ */ new WeakMap,Zn=/* @__PURE__ */ new WeakMap;function Qn(e,t,n,r,i=K){let a=t||i.isRangePrerelease(e);return{effectiveSemvers:a?V(t?Xn:Zn,r,()=>{let e=new Set(r).add(`prerelease`);if(t)for(let t of r)e.add(`pre${t}`);return e}):r,skipsPrerelease:e=>(!a||n)&&!!e&&i.isPrerelease(e)}}function $n(e){return at(e)?.version??``}function er(e,t,{range:n,semvers:r,useGreatest:i,usePre:a,useRel:o,latest:s,pinnedRange:c,pinNoDowngrade:l,allowDowngrade:u,cooldownDays:d,now:f,getVersionDate:p,versioning:m=K}){let h=m.parseRange(n);if(!h)return null;let{effectiveSemvers:g,skipsPrerelease:_}=Qn(n,a,o,r,m),v=s?m.parse(s):null,y=i||a&&!o||v&&c&&!m.satisfiesRange(v,c)?null:v,b=!!(y&&m.compare(h,y)>0),x=!!c&&!l&&!m.satisfiesRange(h,c),S=!!u&&(!!y||m.isPrerelease(h)),C=e?.time,w=!!(d&&f),T=null;for(let e of t){let t=m.parse(e);if(!t||_(t)||T&&m.compare(t,T)<=0)continue;let n=m.compare(t,h)<=0;if(n&&!x&&!S||n&&!x&&y&&m.compare(t,y)!==0||!n&&y&&!b&&m.compare(t,y)>0||c&&!m.satisfiesRange(t,c)||w&&!jn(p?p(e):C?.[e],d,f))continue;let r=m.diff(h,t),i=r&&!m.isPrerelease(t)?r.replace(/^pre/,``):r;i&&g.has(i)&&(T=t)}return T?.raw??T?.version??null}function tr(e){return/\d{14}-[0-9a-f]{12}$/.test(e)}function nr(e,{mode:t,range:n,useGreatest:r,usePre:i,useRel:a,semvers:o,pinnedRange:s,pinNoDowngrade:c,cooldownDays:l,now:u,allowDowngrade:d}){if(n===`*`)return null;let f=t===`pypi`?Ft:K,p=n.includes(`||`)?n.split(`||`).pop().trim():n,m=[],h=``,g;if(t===`pypi`){let t=e?.releases;if(!t)return null;let n=e=>!(!e||e.yanked);m=Object.keys(t).filter(e=>Array.isArray(t[e])&&t[e].some(n)),g=e=>t[e].reduce((e,t)=>{let r=t?.upload_time_iso_8601,i=n(t)&&typeof r==`string`?Date.parse(r):NaN;return i<e.time?{date:r,time:i}:e},{time:1/0}).date,h=e.info?.version??``}else if(t===`npm`||t===`cargo`){if(!e?.versions)return null;if(m=Object.keys(e.versions),h=e[`dist-tags`]?.latest??``,t===`npm`&&!e.versions[$n(p)]?.deprecated){let t=m.filter(t=>!e.versions[t]?.deprecated);m=t.length?t:m}}else if(t===`go`){let t=$n(p);if(!t)return null;let{effectiveSemvers:n,skipsPrerelease:r}=Qn(p,i,a,o,f),m=e.old||p,h=f.parseRange(m),g=!!d||!!s&&!c&&!!h&&!f.satisfiesRange(h,s),_=(e,i)=>{let a=$n(e),o=f.parse(e),c=tr(e);if(!a||!c&&r(o))return!1;let d=ot(m,e)??ot(t,a),p=c?d===`prerelease`?`patch`:d?.replace(/^pre/,``):d;return!p||!n.has(p)||!g&&o&&h&&f.compare(o,h)<0?!1:jn(i,l,u)&&(!s||U(a,s))};return _(e.new,e.Time)?e.new:_(e.sameMajorNew,e.sameMajorTime)?(e.Time=e.sameMajorTime,delete e.newPath,e.sameMajorNew):null}return er(e,m,{range:p,semvers:o,useGreatest:r,usePre:i,useRel:a,latest:h,pinnedRange:s,pinNoDowngrade:c,allowDowngrade:d,cooldownDays:l,now:u,getVersionDate:g,versioning:f})}function rr(e){try{return new URL(e).host}catch{return``}}let ir;function ar(){return ir??=(async()=>{let[{execFile:e},{promisify:t}]=await Promise.all([import(`node:child_process`),import(`node:util`)]);return t(e)})()}const or=[`UPDATES_GITHUB_API_TOKEN`,`GITHUB_API_TOKEN`,`GH_TOKEN`,`GITHUB_TOKEN`,`HOMEBREW_GITHUB_API_TOKEN`],sr=/^http\.(\S+)\/\.extraheader AUTHORIZATION:\s*basic\s+(\S+)$/i;function cr(e){let t=/* @__PURE__ */ new Map;for(let n of e.split(/\r?\n/)){let e=sr.exec(n);if(!e)continue;let r=rr(e[1]),i=de.from(e[2],`base64`).toString(`utf8`),a=i.slice(i.indexOf(`:`)+1);r&&a&&!t.has(r)&&t.set(r,a)}return t}let lr;function ur(){return lr??=(async()=>{try{let{stdout:e}=await(await ar())(`git`,[`config`,`--get-regexp`,`^http\\..*\\.extraheader$`],{encoding:`utf8`,timeout:5e3});return cr(e)}catch{return/* @__PURE__ */ new Map}})()}const dr=/* @__PURE__ */ new Map,fr=/* @__PURE__ */ new Set;function pr(e){return e===`api.github.com`?`github.com`:e}async function mr(e,n){if(!e)return[];let r=Fe(t.UPDATES_FORGE_TOKENS??``).find(t=>t.lastIndexOf(`:`)===e.length&&t.startsWith(e))?.slice(e.length+1);if(r)return[r];let i=pr(e),a=(await En())[i],o=i===`github.com`||e===rr(n)?or.map(e=>t[e]):[],s=(await ur()).get(i);return Array.from(new Set([a,...o,s].filter(Boolean)))}async function hr(e,t,n=Nn){let r=await Rn(e===`github.com`?`${n}/user`:`https://${e}/api/v1/user`,{...Fn(`Bearer`,t),signal:AbortSignal.timeout(5e3)});if(r.status===401)throw Error(`token for ${e} was rejected`);if(!r.ok)throw Error(`token verification for ${e} failed with status ${r.status}`);return(await r.json()).login}var gr=class extends Error{name=`ForgeError`;constructor(e,t,n,{status:r=0,reset:i=0,cause:a}={}){super(n,{cause:a}),Object.assign(this,{kind:e,host:t,status:r,reset:i})}};async function _r(e){if(e.status!==403&&e.status!==429)return null;let t=Number(e.headers?.get?.(`x-ratelimit-reset`))||0;if(e.headers?.get?.(`x-ratelimit-remaining`)===`0`||e.headers?.get?.(`retry-after`))return t;try{let{message:n}=await(typeof e.clone==`function`?e.clone():e).json();if(typeof n!=`string`)return null;if(n.includes(`rate limit exceeded`)||n.includes(`abuse detection mechanism`)||n.startsWith(`You have exceeded a secondary rate limit`))return t}catch{}return null}async function vr(e,t,n,r){if(e.status>=500)throw new gr(`server`,n,`Received ${e.status}${e.statusText?` ${e.statusText}`:``} from ${t}`,{status:e.status});let i=await _r(e);if(i===null)return e;throw new gr(`rateLimit`,n,`Rate limit exceeded for ${n}${r?` even though a token was sent`:`, set one for this host in UPDATES_FORGE_TOKENS or run "updates --login ${pr(n)}"`}${i?`, resets at ${(/* @__PURE__ */ new Date(i*1e3)).toISOString()}`:``}`,{status:e.status,reset:i})}async function yr(e,t,n){let r=rr(e),i=(await mr(r,t.forgeApiUrl)).filter(e=>!fr.has(e)),a=async a=>{let o=Fn(`Bearer`,a);return o.headers={...o.headers,...n},vr(await zn(t,e,o),e,r,!!i.length)};try{if(!i.length)return await a();let e=dr.get(r);for(let t of e&&i.includes(e)?[e,...i.filter(t=>t!==e)]:i){let n=await a(t);if(n.status!==401&&n.status!==403)return dr.set(r,t),n;if(n.status===401&&!fr.has(t)){fr.add(t);let e=pr(r);(await En())[e]===t&&console.error(`stored token for ${e} was rejected, run "updates --login ${e}" to replace it`)}t===e&&dr.delete(r)}return await a()}catch(e){throw e instanceof gr?e:new gr(`network`,r,e?.message??String(e),{cause:e})}}function br(e,t){let n=K.parse(J(t));if(!n)return null;let r=``;for(let t of e){let e=K.parse(J(t));e&&K.compare(e,n)>0&&(r=t,n=e)}return r||null}function xr(e){let t=e.replace(`git@`,``).replace(/.+?\/\//,`https://`).replace(/\.git$/,``);return/^[a-z]+:[a-z0-9-]+\/[a-z0-9-]+$/.test(t)?t.replace(/^(.+?):/,`https://$1.com/`):/^[a-z0-9-]+\/[a-z0-9-]+$/.test(t)?`https://github.com/${t}`:t}const Sr=/^(?:[0-9a-f]{6,7}|[0-9a-f]{40}|[0-9a-f]{64})$/i,Cr=/^(?=.*[a-f])[0-9a-f]{7,40}$/i;function wr(e){return/^v?\d+(?:\.\d+)*(?:[-+][\w.-]+)?$/.test(e)}function Tr(e){let t=e?.commit??e;return t?.committer?.date||t?.author?.date||``}function Er(e,t){let n=t?`cached Forge`:`Forge`;if(!Array.isArray(e))throw TypeError(`Invalid ${n} tags response`);return e.map(e=>{let r=t?typeof e?.commitSha==`string`&&(e.isStable===void 0||typeof e.isStable==`boolean`):e?.commit?.sha===void 0||typeof e.commit.sha==`string`;if(typeof e?.name!=`string`||!r)throw TypeError(`Invalid ${n} tag entry`);return t?e:{name:e.name,commitSha:e.commit?.sha||``}})}const Dr=/* @__PURE__ */ new WeakMap;function Or(e,t,n,r){let i=`${n}${e}`;return Y(Dr,t,i,async()=>{let n=t.noCache?null:await vn(e),a=await yr(e,t,n?{"if-none-match":n.etag}:void 0);if(a.status===304&&n)return n.body;if(!a.ok)return Dr.get(t).delete(i),null;let o=await r(a),s=a.headers.get(`etag`);return s&&!t.noCache&&xn(e,s,o),o})}function kr(e,t=!1){if(!Array.isArray(e))throw TypeError(`Invalid ${t?`cached `:``}Forge releases response`);return e.map(e=>{let n=t?e?.name:e?.tag_name,r=t?e?.isStable:!e?.prerelease&&e?.draft!==!0;if(typeof n!=`string`||(t?typeof r!=`boolean`:typeof e?.prerelease!=`boolean`||e.draft!==void 0&&typeof e.draft!=`boolean`))throw TypeError(`Invalid ${t?`cached `:``}Forge release entry`);return{name:n,isStable:r}})}async function Ar(e,t,n,r){let i=await Or(e,t,n,async e=>JSON.stringify({link:e.headers.get(`link`)||``,[n]:r(await e.json(),!1)}));if(!i)return null;let a=JSON.parse(i);if(typeof a?.link!=`string`)throw TypeError(`Invalid cached Forge ${n} response`);return{entries:r(a[n],!0),link:a.link}}function jr(e){let t=/<([^>]+)>;\s*rel="last"/.exec(e);if(!t)return 0;let n=Number(new URL(t[1]).searchParams.get(`page`));if(!Number.isSafeInteger(n)||n<1)throw TypeError(`Invalid Forge pagination URL`);return Math.min(n,100)}async function Mr(e,t,n,r,i){let a=await Ar(e(1),t,n,r);if(!a)return;let o=jr(a.link),s=Kn(t);for(let c=2,l=1,u=i(a.entries);c<=o&&!u;c+=l,l=Math.min(l*2,s)){let a=await Promise.all(Array.from({length:Math.min(l,o-c+1)},(i,a)=>Ar(e(c+a),t,n,r)));for(let e of a)u=i(e?.entries??[])}}async function Nr(e,t,n,r,i=[]){let a=[],o=new Set(i.filter(Boolean)),s=o.size>0;return await Mr(r=>`${e}/repos/${t}/${n}/tags?per_page=100&page=${r}`,r,`tags`,Er,e=>{for(let t of e){for(let e of o)(e===t.name||t.commitSha.startsWith(e))&&o.delete(e);a.push(t)}return s&&!o.size}),a}async function Pr(e,t,n,r,i=[],a=!0){if(e!==`https://api.github.com`||!a)return Nr(e,t,n,r,i);let o=/* @__PURE__ */ new Map,[s,c]=await Promise.allSettled([Nr(e,t,n,r,i),Mr(e=>`${Nn}/repos/${t}/${n}/releases?per_page=100&page=${e}`,r,`releases`,kr,e=>{for(let t of e)o.set(t.name,t.isStable);return!1})]);if(s.status===`rejected`)throw s.reason;if(c.status===`rejected`&&!(c.reason instanceof gr))throw c.reason;if(c.status===`fulfilled`)for(let e of s.value)o.has(e.name)&&(e.isStable=o.get(e.name));return s.value}function Fr(e,t,n,r){throw Error(e?.status&&e.statusText?`Received ${e.status} ${e.statusText} from ${t}`:`Unable to fetch ${n} from ${r}`)}function Ir(e,t,n=``){let r=J(e),i=J(t).split(`.`).length,a=i>=3?r:Array.from({length:i},(e,t)=>r.split(`.`)[t]||`0`).join(`.`);return`${t.startsWith(`v`)?`v`:``}${a}${n}`}function Lr(e){return e.startsWith(`https://bitbucket.org`)?`src/HEAD`:`tree/HEAD`}const Rr=[`repository`,`Repository`,`repo`,`Repo`,`source`,`Source`,`source code`,`Source code`,`Source Code`,`homepage`,`Homepage`];function zr({repository:e,homepage:t,info:n},r,i){if(r===`https://npm.pkg.github.com`)return`https://github.com/${i.replace(/^@/,``)}`;if(n){let t=Rr.find(e=>n.project_urls?.[e]);e=t?n.project_urls[t]:e??`https://pypi.org/project/${i}/`}if(!e)return t||``;let a=xr(typeof e==`string`?e:e.url);return a&&typeof e!=`string`&&e.directory?`${a}/${Lr(a)}/${e.directory}`:a||t||``}function Br(e){let t=[];for(let n of e.matchAll(/([^,|]*)([,|]?)/g)){let e=n[1].trim();if(!e)continue;let r=n[2]===`|`?`|`:`,`;if(e===`off`||e===`direct`){t.push({url:e,fallback:r});break}let i=e.includes(`:/`)||e.startsWith(`/`);t.push({url:Pn(!i&&/[.:/]/.test(e)?`https://${e}`:e),fallback:r})}return t}function Vr(e){if(typeof e==`string`)return[{url:Pn(e),fallback:`,`}];let n=Br(t.GOPROXY||`${q.goproxy},direct`);if(!n.length)throw Error(`GOPROXY list is not the empty string, but contains no entries`);return n}function Hr(){return(t.GONOPROXY||t.GOPRIVATE||``).split(`,`).map(e=>e.trim().replace(/\/+$/,``)).filter(Boolean)}const Ur=/* @__PURE__ */ new Map;function Wr(e,t){return t.some(t=>V(Ur,t,()=>{let e=``;for(let[n,r]of t.matchAll(/\[([^\]]*)\]|./gs))e+=r===void 0?n===`*`?`[^/]*`:n===`?`?`[^/]`:I(n):`[${r.replace(/\\/g,`\\\\`)}]`;return RegExp(`^${e}(?:/.*)?$`)}).test(e))}function Gr(e,t,n){return Wr(e,n)?[{url:`direct`,fallback:`,`}]:t.goProxyChain}function Kr(e){return e.replace(/[A-Z]/g,e=>`!${e.toLowerCase()}`)}const qr=/\/v(\d+)$/,Jr=/^gopkg\.in\/.*?\.v(\d+)$/;function Yr(e,t=1){let n=Jr.exec(e)??qr.exec(e);return n?Number.parseInt(n[1]):t}function Xr(e,t){if(e.startsWith(`gopkg.in/`))return`${e.replace(/\.v\d+$/,``)}.v${t}`;let n=e.replace(qr,``);return t<=1?n:`${n}/v${t}`}function Zr(e,t){if(t.includes(`+incompatible`))return e;let n=Number.parseInt(J(t));return Number.isNaN(n)||n===Yr(e)?e:Xr(e,n)}const Qr=/^(module|require|replace|exclude|tool|use)(?:\s*\(\s*(?:\/\/.*)?$|\s+(.+)$)/,$r=/^(\S+)\s+(v\S+)/,ei=/^(\S+)(?:\s+(v\S+))?\s+=>\s+(\S+)(?:\s+(v\S+))?/,X=e=>e.replace(/^"(.*)"$/,`$1`),ti=/^v(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)(?:-(?:0|[1-9]\d*|\d*[a-z-][\da-z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-z-][\da-z-]*))*)?(?:\+[\da-z-]+(?:\.[\da-z-]+)*)?$/i,ni=e=>ti.test(e)&&!e.endsWith(`-00010101000000-000000000000`),ri=e=>e.startsWith(`./`)||e.startsWith(`/`)||e.startsWith(`../`);function ii(e){let t=ei.exec(e);return t&&{origModule:X(t[1]),origVersion:t[2]??``,targetModule:X(t[3]),targetVersion:t[4]??``}}function*ai(e){let t=null;for(let[n,r]of e.entries()){let e=r.trim();if(!e||e.startsWith(`//`))continue;if(t){/^\)\s*(?:\/\/.*)?$/.test(e)?t=null:yield{kind:t,value:e,lineNumber:n};continue}let i=Qr.exec(e);i&&(i[2]===void 0?t=i[1]:yield{kind:i[1],value:i[2],lineNumber:n})}}function oi(e){for(let{kind:t,value:n}of ai(e.split(/\r?\n/)))if(t===`module`)return X(n.split(/\s/,1)[0]);return``}function si(e){let t={},n={},r={},i={},a={},o=/* @__PURE__ */ new Set,s=[];for(let{kind:i,value:c}of ai(e.split(/\r?\n/)))if(i===`tool`)s.push(X(c.split(/\s/,1)[0]));else if(i===`replace`){let e=ii(c);e&&ni(e.targetVersion)&&!ri(e.targetModule)&&(r[e.targetModule]=e.targetVersion),e&&!e.origVersion&&o.add(e.origModule)}else if(i===`exclude`||i===`require`){let e=$r.exec(c);if(!e)continue;i===`exclude`?(a[X(e[1])]??=[]).push(e[2]):ni(e[2])&&((c.includes(`// indirect`)?n:t)[X(e[1])]=e[2])}for(let e of o)delete t[e],delete n[e];let c=/* @__PURE__ */ new Set([...Object.keys(n),...Object.keys(t)]);for(let e of s){let r=e;for(;r&&!c.has(r);)r=r.includes(`/`)?r.slice(0,r.lastIndexOf(`/`)):``;let a=n[r]?n:t;a[r]&&(i[r]=a[r],delete a[r])}return{deps:t,indirect:n,replace:r,tool:i,...Object.keys(a).length&&{exclude:a}}}const ci=/* @__PURE__ */ new WeakMap;function li(e,t,n){let r=/\|(?:[^:]*:)?(.*)/s.exec(t)?.[1]??``,i=V(ci,n,()=>/* @__PURE__ */ new Map);for(let t of r?[m(e,r,`go.mod`),m(e,`go.mod`)]:[m(e,`go.mod`)]){let e=g(t),n=V(i,e,()=>{try{return new Map(Object.entries(si(C(e,`utf8`)).exclude??{}).map(([e,t])=>[e,new Set(t)]))}catch{return null}});if(n)return n}return/* @__PURE__ */ new Map}async function ui(e,t,n){let r=Yr(e),i=async t=>{let r=await F(n(Xr(e,t),`probe`));return r&&Number.parseInt(J(r.Version))===t?r:null},[a,o]=await Promise.all([n(e,`primary`),e.startsWith(`golang.org/x/`)?null:i(r+1)]);if(!a)return null;let s=[],c=o;for(let e=r+2;c;e++)s.push(c),c=await i(e);let l=s.findLast(e=>!Yn(e.Version))??s.at(-1)??a;return[{name:e,old:t,new:J(l.Version),Time:l.Time,...l.path!==e&&{newPath:l.path},sameMajorNew:J(a.Version),sameMajorTime:a.Time},null]}function di(e,t){return/* @__PURE__ */ Error(`go list -m ${e} failed: ${String(t?.stderr??``).trim().split(`
6
- `)[0]||t?.message||String(t)}`)}function fi(e,n,r,i,a){let o=async(e,n,a)=>{let o=`${e}@${a??`latest`}`;try{let s=[`list`,`-m`,...a?[]:[`-versions`],`-json`,o],{stdout:c}=await i.execFile(`go`,s,{timeout:n,cwd:r,env:{...t,GOPROXY:`direct`}}),l=JSON.parse(c);return{Version:l.Version,Time:l.Time||``,path:e,Versions:l.Versions}}catch(e){throw di(o,e)}};return ui(e,n,async(e,t)=>{let n=t===`probe`?i.goProbeTimeout:i.fetchTimeout,r=await o(e,n),s=a.get(e);if(!s?.has(r.Version))return r;let c=vi((r.Versions??[]).join(`
7
- `),Yr(e,0),s);if(!c)throw Error(`No non-excluded versions found for ${e}`);return o(e,n,c.Version)})}const pi={"accept-encoding":`gzip, deflate, br`};async function mi(e,t,n,r,i){let a=await(t===`primary`?zn(e,n,{headers:pi}):e.doFetch(n,{signal:AbortSignal.timeout(e.goProbeTimeout),headers:pi}));if(a.ok)return a;if(a.status===404||a.status===410)return null;Fr(a,n,r,i)}async function hi(e,t,n){try{let t=await e.json();if(t?.Version)return{Version:t.Version,Time:t.Time||``,path:n}}catch{}throw Error(`Invalid response from ${t}`)}const gi=/* @__PURE__ */ new WeakMap;function _i(e,t,n,r){return Y(gi,e,`latest${t}${n}/${r}`,async()=>{let i=`${n}/${Kr(r)}/@latest`,a=await mi(e,t,i,r,n);return a&&hi(a,i,r)})}function vi(e,t=0,n=/* @__PURE__ */ new Set){let r=null;for(let i of e.split(`
8
- `)){let[e,a]=i.trim().split(/\s+/);if(e&&nt(e)&&!n.has(e)&&!(t&&Number.parseInt(J(e))!==t)){if(r){let t=Yn(e);if(t===Yn(r.Version)?!ct(e,r.Version):t)continue}r={Version:e,Time:a??``}}}return r}function yi(e,t,n,r,i=/* @__PURE__ */ new Set){let a=`list${t}${n}/${r}${Array.from(i).sort().join(`\0`)}`;return Y(gi,e,a,async()=>{let a=Kr(r),o=await mi(e,t,`${n}/${a}/@v/list`,r,n),s=o&&vi(await o.text(),Yr(r,0),i);if(!s)return null;if(s.Time)return{...s,path:r};let c=`${n}/${a}/@v/${Kr(s.Version)}.info`;try{let i=await mi(e,t,c,r,n);if(i)return await hi(i,c,r)}catch{}return{...s,path:r}})}function bi(e,t,n,r,i){let a=_i(r,`primary`,e,t);return ui(t,n,async(t,n)=>{let[o,s]=await Promise.all([_i(r,n,e,t),a]),c=i.get(t);return o&&!c?.has(o.Version)?o:!o&&s?null:yi(r,n,e,t,c)})}async function xi(e,t,n,r,i,a){let o=li(r,t,i);for(let{url:t,fallback:s}of Gr(e,i,a))try{if(t===`off`)throw Error(`Module lookup disabled by GOPROXY=off`);let a=t===`direct`?await fi(e,n,r,i,o):await bi(t,e,n,i,o);if(a)return a}catch(e){if(s===`,`)throw e}throw Error(`Unable to find ${e} on any GOPROXY entry`)}const Si=e=>`("?)${I(e)}\\2`,Ci=(e,t,n)=>RegExp(`(${e})${Si(t)}(\\s+)v${n}(?=\\s*(?://.*)?$)`);function wi(e,t){let n={},r=Object.entries(t);if(!r.length)return[e,n];let i=e.match(/\r?\n/g)??[],a=e.split(/\r?\n/),o=(e=[],t,n)=>{let r=!1;for(let i of e){let e=a[i];a[i]=e.replace(t,(e,t,r,i)=>n(t,r,i)),r||=a[i]!==e}return r},s=/* @__PURE__ */ new Map,c=/* @__PURE__ */ new Map,l=/* @__PURE__ */ new Map;for(let{kind:e,value:t,lineNumber:n}of ai(a))if(e===`require`){let e=$r.exec(t);e&&B(s,X(e[1]),n)}else if(e===`replace`){let e=ii(t);e&&B(c,e.targetModule,{...e,lineNumber:n})}else if(e===`tool`){let e=X(t.split(/\s/,1)[0]);for(;e;)B(l,e,n),e=e.includes(`/`)?e.slice(0,e.lastIndexOf(`/`)):``}for(let[e,{old:t,oldOrig:i,new:a}]of r){let[r,u]=e.split(`\0`),d=i||t,f=Zr(u,a),p=(e,t,n)=>`${e}${t}${f}${t}${n}v${a}`,m=I(d);if(r===`replace`){m=null;for(let{targetVersion:e,origModule:t,origVersion:n,lineNumber:r}of c.get(u)??[])J(e)===d&&(o([r],Ci(`=>\\s+`,u,I(d)),p),!(f===u||t!==u||n)&&(o([r],RegExp(`(^\\s*(?:replace\\s+)?)${Si(u)}(?=\\s+=>)`),(e,t)=>`${e}${t}${f}${t}`),m=`\\S+`))}m!==null&&o(s.get(u),Ci(`^\\s*(?:require\\s+)?`,u,m),p)&&f!==u&&(n[u]=f),r===`tool`&&f!==u&&o(l.get(u),RegExp(`(^\\s*(?:tool\\s+)?)("?)${I(u)}((?:/[^"\\s]+)?)\\2(?=\\s*(?://.*)?$)`),(e,t,n)=>`${e}${t}${f}${n}${t}`)}return[a.map((e,t)=>`${e}${i[t]??``}`).join(``),n]}const Ti=/\s+|\/\/[^\n]*(?:\n|$)|\/\*[\s\S]*?(?:\*\/|$)|[A-Za-z_][A-Za-z0-9_]*|"(?:\\[\s\S]|[^"\\])*(?:"|$)|`[^`]*(?:`|$)|'(?:\\[\s\S]|[^'\\])*(?:'|$)|./g;function Ei(e,t){let n=Object.entries(t).sort(([e],[t])=>t.length-e.length);if(!n.length)return e;let r=[],i=(e,t)=>{if(!`"'\``.includes(e[0]))return!1;if(e[0]===`'`)return!0;let i=e.slice(1,-1),a=n.find(([e])=>i===e||i.startsWith(`${e}/`));return a&&r.push({start:t+1,end:t+e.length-1,value:`${a[1]}${i.slice(a[0].length)}`}),!0},a=!1,o=0;for(let t of e.matchAll(Ti)){let e=t[0];if(!(/^\s/.test(e)||e.startsWith(`//`)||e.startsWith(`/*`))){if(a){e===`)`?a=!1:i(e,t.index);continue}e===`import`?o=2:o&&e===`(`?(a=!0,o=0):o&&(i(e,t.index)||--o===0)&&(o=0)}}let s=e;for(let e of r.reverse())s=`${s.slice(0,e.start)}${e.value}${s.slice(e.end)}`;return s}const Di=e=>{let t=d(e);return t===`vendor`||t===`testdata`||t[0]===`_`};function Oi(e,t,n){if(!Object.keys(t).length)return;let r=/* @__PURE__ */ new Map,i=t=>t.length>e.length&&V(r,t,()=>y(m(t,`go.mod`))||i(f(t)));for(let r of b(`**/*.go`,{cwd:e,exclude:Di})){let a=m(e,r);if(i(f(a)))continue;let o=C(a,`utf8`),s=Ei(o,t);s!==o&&n(a,s)}}function ki(e){let t=[],n={};for(let{kind:r,value:i}of ai(e.split(/\r?\n/)))if(r===`use`)t.push(i.split(/\s/,1)[0]);else if(r===`replace`){let e=ii(i);e&&ni(e.targetVersion)&&!ri(e.targetModule)&&(n[e.targetModule]=e.targetVersion)}return{use:t,replace:n}}function Ai(e,t){try{return T(m(T(g(e)),t,`go.mod`))}catch{return null}}function ji(e){let t=`https://${Mi(e)}`,n=new URL(t),[r,i,a,...o]=n.pathname.split(`/`);return o.length?(n.pathname=`/${i}/${a}/${Lr(t)}/${o.join(`/`)}`,n.href):t}function Mi(e){return qr.test(e)?f(e):e}function Ni(e){return e.replace(/(\d{7})\d{7}-[0-9a-f]{12}$/,`$1`)}function Pi(e){return/^\/.+\/$/.test(e)?new RegExp(e.slice(1,-1)):e}function Fi(e){return e.replace(/-(.)/g,(e,t)=>t.toUpperCase())}function Ii(t){if(!t)return e();let n=g(t);try{if(ee(n).isDirectory())return n}catch{}return f(n)}function Li(e){let{tokens:t}=s({args:e,strict:!1,allowPositionals:!0,tokens:!0,options:tn}),n=Object.create(null),r=/* @__PURE__ */ new Set,i=(e,t)=>{tn[e]?.multiple?(n[e]??=[]).push(t):n[e]=t};for(let[e,a]of t.entries()){if(a.kind!==`option`)continue;if(!an(a.name))throw Error(`Unknown option: ${a.rawName}`);if(tn[a.name]?.type===`string`&&a.value===void 0&&!nn.has(a.name))throw Error(`Missing value for --${a.name}`);if(a.inlineValue||!a.value?.startsWith(`-`)){i(a.name,a.value??!0);continue}let o=a.value.startsWith(`--`),s=t[e+1],c=s?.kind===`positional`?s.value:void 0,l=[],u=a.value.substring(o?2:1),d=!1;for(let[e,t]of(o?[u]:u.split(``)).entries()){let n=an(t);if(!n){l.length=0;break}if(tn[n].type===`boolean`){l.push({key:n,value:!0});continue}let r=o?``:u.substring(e+1);d=!r&&c!==void 0,l.push({key:n,value:r||!d||c});break}if(!l.length){i(a.name,a.value);continue}!tn[a.name]?.multiple||nn.has(a.name)?i(a.name,!0):n[a.name]??=[],d&&r.add(e+1);for(let{key:e,value:t}of l)i(e,t)}return{args:n,positionals:t.flatMap((e,t)=>e.kind===`positional`&&!r.has(t)?[e.value]:[])}}function Ri(e,t){let n={},r=(e,t)=>{t.length&&(n[e]=t)};for(let t of[`json`,`verbose`,`no-cache`,`update`,`indirect`,`error-on-outdated`,`error-on-unchanged`])e[t]&&(n[Fi(t)]=!0);e.color&&(n.color=!0,n.noColor=!1),e[`no-color`]&&(n.color=!1,n.noColor=!0),typeof e.timeout==`string`&&(n.timeout=ze(e.timeout,`timeout`)),typeof e.sockets==`string`&&(n.sockets=ze(e.sockets,`sockets`));for(let t of[`registry`,`cooldown`,`forgeapi`,`pypiapi`,`jsrapi`,`goproxy`,`cargoapi`,`dockerapi`])typeof e[t]==`string`&&(n[t]=e[t]);for(let t of[`include`,`exclude`])r(t,sn(e[t]).map(Pi));r(`types`,sn(e.types));let i=ln(e.pin);Object.keys(i).length&&(n.pin=i),r(`modes`,sn(e.modes));for(let t of nn){let r=rn(e[t]);r!==!1&&(n[Fi(t)]=r===!0||Array.from(r,Pi))}r(`files`,t);for(let t of[`include-paths`,`exclude-paths`])r(Fi(t),sn(e[t],L));return n}async function zi(e,t){let n=[...sn(e.file),...t],r=await fn(Ii(n[0])),i=Ri(e,n);return Object.defineProperty({...r,pin:void 0,...i},en,{value:{cliKeys:Object.keys(i)}})}function Bi(e,t,n){return e.some(e=>e===`--${t}`||/^-[^-]/.test(e)&&e.includes(n)&&Array.from(e.slice(1,e.indexOf(n))).every(e=>tn[an(e)]?.type!==`string`))}async function Vi(e,t){let n=sn(e.file),r=Ii(n[0]??t[0]),i=await dn(r)??{},{prewarmOrigins:a}=await import(`./prewarm.js`);for(let t of a(r,{...i,...Ri(e,n)})){let e=t.endsWith(`/rate_limit`)?`GET`:`HEAD`;(async()=>{try{await(await fetch(t,{method:e})).arrayBuffer()}catch{}})()}}function Hi(e,t){if(typeof e!=`string`)throw Error(`Missing value for --${t}`);return pr(new URL(e.includes(`://`)?e:`https://${e}`).host)}function Ui(e,t){return e.setEncoding(`utf8`),e.setRawMode(!0),a.write(t),new Promise(t=>{let r=``,i=o=>{for(let s of o){if(!`\r
9
- `.includes(s)){r=s===`\b`||s===``?r.slice(0,-1):r+s;continue}return e.off(`data`,i),e.setRawMode(!1),e.pause(),a.write(`
10
- `),(s===``||s===``)&&n(130),t(r)}};e.on(`data`,i)})}async function Wi(e,t){let n=(`isTTY`in e&&e.isTTY?await Ui(e,`token for ${t}: `):await E(e)).trim();if(!n)throw Error(`token for ${t} is empty`);if(/[\s\p{C}]/u.test(n))throw Error(`token for ${t} contains invalid characters`);return n}async function Gi(e,t,n=!0){let r=String,i=String,a=Bi(e,`json`,`j`),s=e=>t.stdout(`${e}\n`);try{if(Bi(e,`help`,`h`))return t.stdout(`usage: updates [options] [files...]
1
+ import{cwd as e,env as t,exit as n,pid as r,platform as i,stderr as a,stdin as o}from"node:process";import{parseArgs as s,promisify as c,stripVTControlCharacters as l,styleText as u}from"node:util";import{basename as d,dirname as f,isAbsolute as p,join as m,relative as h,resolve as g,sep as _}from"node:path";import{accessSync as v,existsSync as y,globSync as b,lstatSync as x,readFile as S,readFileSync as C,readdirSync as w,realpathSync as T,statSync as E,truncateSync as D,writeFileSync as O}from"node:fs";import{text as ee}from"node:stream/consumers";import{pathToFileURL as te}from"node:url";import{access as ne,mkdir as k,readFile as re,readdir as ie,realpath as ae,rename as oe,stat as se,unlink as A,utimes as ce,writeFile as j}from"node:fs/promises";import{AsyncLocalStorage as le}from"node:async_hooks";import{Buffer as ue}from"node:buffer";import{setTimeout as de}from"node:timers/promises";import{createHash as M}from"node:crypto";import{homedir as N}from"node:os";import{execFile as fe}from"node:child_process";function pe(e,t,n){if(e===t)return e;let r=0;for(;r<e.length&&r<t.length&&e[r]===t[r];)r++;if(r>0&&e[r-1]!==`.`&&e[r-1]!==`-`){let t=r-1;for(;t>=0&&e[t]!==`.`&&e[t]!==`-`;)t--;if(t>=0)r=t+1;else{let t=0;for(;t<r&&(e.charCodeAt(t)<48||e.charCodeAt(t)>57);)t++;r=t}}let i=e.substring(r);return i?e.substring(0,r)+n(i):e}const me=/^(\s*)([A-Za-z0-9][A-Za-z0-9._-]*)(\s*)((?:\[[^\]]*\])?)(\s*)(.*)$/,he=/^(\s*\()([^)]*)(\)\s*)$/,ge=/^(\s*)(===|==|!=|~=|<=|>=|<|>)(\s*)(\S+)(\s*)$/,_e=/* @__PURE__ */ new Set([`===`,`==`,`>=`,`~=`]),ve=/^v?\d[0-9a-z.!+_-]*$/i;function ye(e){let t=[];for(let n of e.split(`,`)){let e=ge.exec(n);if(!e)return null;let[r,i,a,o,s,c]=e;t.push({lead:i,op:a,sep:o,version:s,trail:c})}return t}function P(e){let t=e.indexOf(`;`),n=me.exec(t===-1?e:e.slice(0,t));if(!n)return null;let[r,i,a,o,s,c,l]=n,u=he.exec(l);return{name:a,extras:s,specifiers:ye(u?u[2]:l),marker:t===-1?``:e.slice(t),head:`${i}${a}${o}${s}${c}`,open:u?.[1]??``,close:u?.[3]??``}}function be({head:e,open:t,close:n,marker:r},i){return`${e}${t}${i.map(({lead:e,op:t,sep:n,version:r,trail:i})=>`${e}${t}${n}${r}${i}`).join(`,`)}${n}${r}`}function xe(e){return e.find(({op:e,version:t})=>_e.has(e)&&ve.test(t))}function Se(e){let t=[];for(let n of e){if(typeof n!=`string`)continue;let e=P(n);if(!e?.specifiers)continue;let r=xe(e.specifiers);r&&t.push({name:e.name,version:r.version,spec:n})}return t}const Ce=[`dependencies`,`devDependencies`,`peerDependencies`,`optionalDependencies`,`resolutions`,`overrides`,`pnpm.overrides`,`packageManager`],we=[`node`,`deno`,`bun`],Te=[`.github`,`.gitea`,`.forgejo`],Ee={"pnpm-workspace.yaml":`npm`,"package.json":`npm`,"pyproject.toml":`pypi`,"go.work":`go`,"go.mod":`go`,"Cargo.toml":`cargo`},De=[`project.dependencies`,`project.optional-dependencies.*`,`dependency-groups.*`,`build-system.requires`,`tool.uv.dev-dependencies`],Oe=[`deps`,`indirect`,`replace`,`tool`],ke=[`dependencies`,`dev-dependencies`,`build-dependencies`,`workspace.dependencies`],Ae=[`target.*.dependencies`,`target.*.dev-dependencies`,`target.*.build-dependencies`];function je(e,t){let n=[],r=(e,t,i,a,o)=>{if(t===e.length){a!==void 0&&n.push([o?JSON.stringify(i):i.join(`.`),a]);return}if(!a||typeof a!=`object`)return;let s=e[t],c=s===`*`?Array.isArray(a)?[]:Object.keys(a):[s];for(let n of c)r(e,t+1,[...i,n],a[n],o)};for(let n of e)r(n.split(`.`),0,[],t,n.startsWith(`target.*.`));return n}function Me(e,t){if(typeof t==`boolean`)return t;for(let n of t)if(n.test(e))return!0;return!1}function Ne(e){return e.split(`,`).filter(Boolean)}function Pe(){let e=/* @__PURE__ */ new Date;return(/* @__PURE__ */ new Date(e.getTime()-e.getTimezoneOffset()*6e4)).toISOString().replace(`T`,` `).slice(0,-1)}function Fe(e,t){let n=Array(e[0].length).fill(0),r=Array(e.length);for(let i=0;i<e.length;i++){let a=e[i],o=Array(a.length);for(let e=0;e<a.length;e++){let r=t(a[e]);o[e]=r,r>n[e]&&(n[e]=r)}r[i]=o}let i=``;for(let t=0;t<e.length;t++){let a=e[t],o=a.length-1;for(let e=0;e<=o;e++)if(e>0&&(i+=` `),i+=a[e],e!==o){let a=n[e]-r[t][e];a>0&&(i+=` `.repeat(a))}t<e.length-1&&(i+=`
2
+ `)}return i}const F={y:365,m:30,w:7,d:1,h:1/24,s:1/86400};function Ie(e){let[t,n,r]=/^(\d+(?:\.\d+)?)(?:\s*([a-z]))?$/i.exec(e)??[],i=r?F[r.toLowerCase()]:1;if(!n||!i)throw Error(`Invalid cooldown value: ${e}`);return Number(n)*i}function Le(e,t){let n=Math.round(Number(e));if(!Number.isFinite(n)||n<1)throw Error(`Invalid ${t}: ${e}`);return n}async function I(e,t,{concurrency:n=1/0}={}){let r=Array.from(e);if(!Number.isFinite(n))return Promise.all(r.map(t));let i=Array(r.length),a=0;return await Promise.all(Array.from({length:Math.min(Math.max(n,1),r.length)},async()=>{for(;a<r.length;){let e=a++;i[e]=await t(r[e])}})),i}async function L(e){try{return await e}catch{return null}}const R=RegExp.escape?e=>RegExp.escape(e):e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);function Re(e){return Array.from(e).sort((e,t)=>t.length-e.length).map(R).join(`|`)}var z=class extends RegExp{#e;constructor(e,t,n){super(e,n),this.#e=t}test(e){return this.#e(e)}};function ze(e){let t=[],n=0,r=0;for(let i=0;i<e.length;i++)e[i]===`(`||e[i]===`{`?n++:e[i]===`)`||e[i]===`}`?n--:(e[i]===`|`||e[i]===`,`)&&n===0&&(t.push(e.slice(r,i)),r=i+1);return t.push(e.slice(r)),t}function Be(e,t,n,r){let i=0;for(let a=t;a<e.length;a++)if(e[a]===n)i++;else if(e[a]===r&&--i===0)return a;return-1}function Ve(e){let t=/^(-?\d+|[A-Za-z])\.\.(-?\d+|[A-Za-z])(?:\.\.(-?\d+))?$/.exec(e);if(!t)return ze(e);let n=/^-?\d+$/.test(t[1])&&/^-?\d+$/.test(t[2]),r=n?Number(t[1]):t[1].codePointAt(0),i=n?Number(t[2]):t[2].codePointAt(0),a=Math.abs(Number(t[3])||1)*(r<=i?1:-1),o=[];for(;(a>0?r<=i:r>=i)&&o.length<1e3;)o.push(n?String(r):String.fromCodePoint(r)),r+=a;return o}function He(e){let t=``,n=[],r=e=>{t+=e,n.push({kind:`char`,matcher:RegExp(`^(?:${e})$`,`i`)})};for(let i=0;i<e.length;i++){let a=e[i];if(a===`\\`&&i+1<e.length)r(R(e[++i]));else if(a===`*`&&e[i+1]!==`(`){let r=e[i+1]===`*`;for(;e[i+1]===`*`;)i++;r&&e[i+1]===`/`?(t+=`(?:.*/)?`,n.push({kind:`globstarSlash`}),i++):(t+=`.*`,n.push({kind:`span`,slash:!0}))}else if(a===`?`&&e[i+1]!==`(`)r(`[^/]`);else if(a===`[`){let t=e.indexOf(`]`,i+1);if(t===-1)r(`\\[`);else{let n=e.slice(i+1,t);n.startsWith(`!`)&&(n=`^${n.slice(1)}`),r(`[${n.replaceAll(`\\`,`\\\\`)}]`),i=t}}else if(a===`{`||`@+?*!`.includes(a)&&e[i+1]===`(`){let o=a===`{`,s=o?i:i+1,c=Be(e,s,e[s],o?`}`:`)`);if(c===-1)r(R(a));else{let r=e.slice(s+1,c),l=(o?Ve(r):ze(r)).map(He),u=l.map(e=>e.source).join(`|`);t+=a===`!`?`(?!(?:${u})(?:/|$))[^/]*`:`(?:${u})${o||a===`@`?``:a}`;let d=l.map(e=>e.tokens);n.push(a===`!`?{kind:`negative`,alternatives:d}:{kind:`alternatives`,alternatives:d,minimum:a===`?`||a===`*`?0:1,repeat:a===`+`||a===`*`}),i=c}}else r(R(a))}return{source:t,tokens:n}}function Ue(e,t){let n=/* @__PURE__ */ new WeakMap,r=(e,n,r)=>{if(!e.has(n))for(let i=n;e.add(i),!(i===t.length||!r&&t[i]===`/`);i++);},i=(e,a)=>{let o=H(n,e,()=>/* @__PURE__ */ new Map),s=o.get(a);if(s)return s;let c=/* @__PURE__ */ new Set([a]);o.set(a,c);for(let n of e){let e=/* @__PURE__ */ new Set;for(let a of c)if(n.kind===`char`)a<t.length&&n.matcher.test(t[a])&&e.add(a+1);else if(n.kind===`span`)r(e,a,n.slash);else if(n.kind===`globstarSlash`){e.add(a);for(let n=a;n<t.length;n++)t[n]===`/`&&e.add(n+1)}else if(n.kind===`negative`)n.alternatives.some(e=>[...i(e,a)].some(e=>e===t.length||t[e]===`/`))||r(e,a,!1);else{n.minimum===0&&e.add(a);for(let t of n.alternatives)for(let n of i(t,a))e.add(n);if(n.repeat)for(let t of e)for(let r of n.alternatives)for(let n of i(r,t))e.add(n)}if(c=e,!c.size)break}return o.set(a,c),c};return i(e,0).has(t.length)}function We(e){if(e instanceof RegExp)return/[gy]/.test(e.flags)?new RegExp(e.source,e.flags.replace(/[gy]/g,``)):e;let t=/^(!?)\/(.*)\/(i?)$/.exec(e);if(t)try{let n=new RegExp(t[2],t[3]);return t[1]?new z(e,e=>!n.test(e)):n}catch{}let n=0;for(;e[n]===`!`&&e[n+1]!==`(`;)n++;let r=n%2==1,{source:i,tokens:a}=He(e.slice(n));return new z(`^${i}$`,e=>r!==Ue(a,e),`i`)}async function Ge(e,t){for(let n=e;;n=f(n)){let e=await t(n);if(e)return e;if(f(n)===n)return null}}function B(e,t){for(let n=e;;n=f(n)){let e=t(n);if(e)return e;if(f(n)===n)return null}}function V(e,t,n){let r=e.get(t);r?r.push(n):e.set(t,[n])}function H(e,t,n){let r=e.get(t);if(r!==void 0||e.has(t))return r;let i=n();return e.set(t,i),i}function Ke(e){let t=/* @__PURE__ */ new Map;return n=>H(t,n,()=>e(n))}const qe=`0|[1-9]\\d*`,Je=/^(?:0|[1-9]\d*)$/,Ye=`0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*`,Xe=RegExp(`^v?(${qe})\\.(${qe})\\.(${qe})(?:-((?:${Ye})(?:\\.(?:${Ye}))*))?(?:\\+[0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*)?$`),Ze=/* @__PURE__ */ new Map;function U(e){return typeof e==`string`?H(Ze,e,()=>{let t=Xe.exec(e.trim());if(!t)return null;let n=Number(t[1]),r=Number(t[2]),i=Number(t[3]);if(!Number.isSafeInteger(n)||!Number.isSafeInteger(r)||!Number.isSafeInteger(i))return null;let a=t[4]?t[4].split(`.`).map(e=>/^\d+$/.test(e)&&Number(e)<2**53-1?Number(e):e):[];return{major:n,minor:r,patch:i,prerelease:a,raw:e,version:`${n}.${r}.${i}${a.length?`-${a.join(`.`)}`:``}`}}):null}function Qe(e,t){let n=typeof e==`number`||/^\d+$/.test(e),r=typeof t==`number`||/^\d+$/.test(t);if(n&&r){let n=String(e),r=String(t);return n.length-r.length||(n<r?-1:+(n>r))}return n?-1:r?1:e<t?-1:+(e>t)}function $e(e,t){return e.major-t.major||e.minor-t.minor||e.patch-t.patch}function et(e,t){let n=$e(e,t);if(n!==0)return n;let r=e.prerelease.length,i=t.prerelease.length;if(!r||!i)return i-r;for(let n=0;n<r&&n<i;n++){let r=Qe(e.prerelease[n],t.prerelease[n]);if(r!==0)return r}return r-i}function tt(e){return U(e)?.version??null}const nt=/* @__PURE__ */ new Map,rt=/(?:^|[^.\d])(\d+)(?:\.(\d+))?(?:\.(\d+))?/;function it(e){return typeof e==`string`?H(nt,e,()=>{let t=rt.exec(e);return t?{version:`${t[1]}.${t[2]||`0`}.${t[3]||`0`}`}:null}):null}function at(e,t){let n=et(e,t);if(n===0)return null;let r=n>0?e:t,i=n>0?t:e,a=r.prerelease.length>0;if(i.prerelease.length>0&&!a){if(!i.patch&&!i.minor)return`major`;if($e(i,r)===0)return i.minor&&!i.patch?`minor`:`patch`}let o=a?`pre`:``;return e.major===t.major?e.minor===t.minor?e.patch===t.patch?`prerelease`:`${o}patch`:`${o}minor`:`${o}major`}function ot(e,t){let n=U(e),r=U(t);return!!(n&&r&&et(n,r)>0)}function st(e){let t=/^v?([^.+-]+(?:\.[^.+-]+){0,2})(-[0-9a-zA-Z.-]+)?(\+[0-9a-zA-Z.-]+)?$/.exec(e);if(!t)return null;let n=[];for(let e of t[1].split(`.`))if(/^[xX*]$/.test(e))n.push(null);else if(n.includes(null)||!Je.test(e)||!Number.isSafeInteger(Number(e)))return null;else n.push(Number(e));for(;n.length<3;)n.push(null);let r=`${t[2]??``}${t[3]??``}`;return r&&(n.includes(null)||!U(`${n.join(`.`)}${r}`))?null:{major:n[0],minor:n[1],patch:n[2],suffix:r}}function ct(e,t,n,r,i=``){let a=U(`${t}.${n}.${r}${i}`);return a?{op:e,semver:a}:null}function lt(...e){return e.every(e=>e!==null)?e:null}function ut(e,t){let n=et(e,t.semver);switch(t.op){case`>=`:return n>=0;case`<=`:return n<=0;case`>`:return n>0;case`<`:return n<0;case`=`:return n===0;default:return!1}}function dt(e,t,n){return ct(`<`,e,t,n,`-0`)}function ft(e,t){if(e.major===null)return t===`>`||t===`<`?lt(dt(0,0,0)):[];let{major:n,suffix:r}=e,i=e.minor??0,a=e.patch??0,[o,s]=e.minor===null?[n+1,0]:[n,i+1];if(t===`^`||t===`~`){let c=ct(`>=`,n,i,a,r);return t===`^`&&n!==0?lt(c,dt(n+1,0,0)):t===`^`&&e.patch!==null&&i===0?lt(c,dt(0,0,a+1)):lt(c,dt(o,s,0))}return e.patch===null?!t||t===`=`?lt(ct(`>=`,n,i,0),dt(o,s,0)):lt(t===`>`?ct(`>=`,o,s,0):t===`<=`?dt(o,s,0):t===`<`?dt(n,i,0):ct(`>=`,n,i,0)):lt(ct(t||`=`,n,i,a,r))}function pt(e){let t=/^(\S+)\s+-\s+(\S+)$/.exec(e);if(t){let e=st(t[1]),n=st(t[2]),r=e&&ft(e,`>=`),i=n&&ft(n,`<=`);return r&&i?[...r,...i]:null}let n=e.replace(/~\s*>\s*/g,`~`).replace(/(>=|<=|>|<|=|~|\^)\s+/g,`$1`),r=[];for(let e of n.split(/\s+/).filter(Boolean)){let t=/^(>=|<=|>|<|=|~|\^)?(.+)$/.exec(e),n=t&&st(t[2]),i=n?ft(n,t[1]??``):null;if(!i)return null;r.push(...i)}return r}const mt=/* @__PURE__ */ new Map;function ht(e){return H(mt,e,()=>{let t=e.split(`||`).map(e=>pt(e.trim()));return t.every(e=>e!==null)?t:null})}function gt(e,t){return t.some(t=>!ut(e,t))?!1:!e.prerelease.length||t.some(t=>t.semver.prerelease.length>0&&t.semver.major===e.major&&t.semver.minor===e.minor&&t.semver.patch===e.patch)}function _t(e,t){return!!ht(t)?.some(t=>gt(e,t))}function W(e,t){let n=U(e);return!!(n&&_t(n,t))}function G(e){return typeof e==`string`&&ht(e)?e:null}const vt=`v?(?:(\\d+)!)?(\\d+(?:\\.\\d+)*)(?:[-_.]?(a|b|c|rc|alpha|beta|pre|preview)[-_.]?(\\d+)?)?(?:-(\\d+)|[-_.]?(post|rev|r)[-_.]?(\\d+)?)?(?:[-_.]?(dev)[-_.]?(\\d+)?)?(?:\\+([a-z0-9]+(?:[-_.][a-z0-9]+)*))?`,yt=RegExp(`^${vt}$`,`i`),bt=RegExp(vt,`i`),xt={alpha:`a`,beta:`b`,c:`rc`,pre:`rc`,preview:`rc`},St=/* @__PURE__ */ new Map;function K(e){return typeof e==`string`?H(St,e,()=>{let t=yt.exec(e.trim());if(!t)return null;let n=t[3]?.toLowerCase();return{epoch:t[1]?Number(t[1]):0,release:t[2].split(`.`).map(Number),pre:n?[xt[n]??n,Number(t[4]??0)]:null,post:t[5]===void 0?t[6]===void 0?null:Number(t[7]??0):Number(t[5]),dev:t[8]===void 0?null:Number(t[9]??0),local:t[10]?t[10].toLowerCase().split(/[._-]/).map(e=>/^\d+$/.test(e)?Number(e):e):null,version:e.trim()}}):null}function Ct(e){return K(e)??K(bt.exec(e)?.[0]??``)}const wt=e=>!!e.pre||e.dev!==null;function Tt(e,t){if(!e||!t)return e?1:t?-1:0;let n=Math.min(e.length,t.length);for(let r=0;r<n;r++){let n=typeof e[r]==`number`;if(n!==(typeof t[r]==`number`))return n?1:-1;if(e[r]<t[r])return-1;if(e[r]>t[r])return 1}return e.length-t.length}function Et(e,t){if(e.epoch!==t.epoch)return e.epoch-t.epoch;let n=Math.max(e.release.length,t.release.length);for(let r=0;r<n;r++){let n=(e.release[r]??0)-(t.release[r]??0);if(n)return n}let r=e.pre?0:e.post===null&&e.dev!==null?-1:1,i=t.pre?0:t.post===null&&t.dev!==null?-1:1;if(r!==i)return r-i;if(e.pre&&t.pre){if(e.pre[0]!==t.pre[0])return e.pre[0]<t.pre[0]?-1:1;if(e.pre[1]!==t.pre[1])return e.pre[1]-t.pre[1]}if((e.post??-1)!==(t.post??-1))return(e.post??-1)-(t.post??-1);let a=e.dev??1/0,o=t.dev??1/0;return a===o?Tt(e.local,t.local):a<o?-1:1}function Dt(e,t){if(e.epoch!==t.epoch)return`major`;let n=Math.max(e.release.length,t.release.length);for(let r=0;r<n;r++)if((e.release[r]??0)!==(t.release[r]??0))return r===0?`major`:r===1?`minor`:`patch`;return null}function Ot(e,t){let n=Et(e,t);if(n===0)return null;let r=Dt(e,t);return wt(n>0?e:t)?r?`pre${r}`:`prerelease`:r??`patch`}const kt=/\d+\.\d+\.\d+(?:-[a-zA-Z0-9_.-]+)?/,q={parse:U,parseRange:e=>U(kt.exec(e)?.[0]??``)??U(it(e)?.version??``),compare:et,diff:at,isPrerelease:e=>e.prerelease.length>0,isRangePrerelease:e=>/[0-9]+\.[0-9]+\.[0-9]+-.+/.test(e),satisfiesRange:_t},At=/* @__PURE__ */ new Map;function jt(e){return H(At,e,()=>{let t=e.trim().replace(/^v/i,``);return U(t)??U(t.replace(/^(\d+\.\d+)(-.+)$/,`$1.0$2`))??(/^\d/.test(t)?U(it(t)?.version??``):null)})}const Mt={...q,parse:jt,parseRange:jt,isRangePrerelease:e=>!!jt(e)?.prerelease.length},Nt={parse:K,parseRange:Ct,compare:Et,diff:Ot,isPrerelease:wt,isRangePrerelease:e=>{let t=Ct(e);return!!(t&&wt(t))},satisfiesRange:({release:e},t)=>W(`${e[0]??0}.${e[1]??0}.${e[2]??0}`,t)},Pt=/[A-Za-z_$][A-Za-z0-9_$]*/y;function Ft(e){let t=``,n=0,r=e.length;function i(t){if(e[t+1]===`/`){for(t+=2;t<r&&e[t]!==`
3
+ `&&e[t]!==`\r`;)t++;return t}let n=e.indexOf(`*/`,t+2);if(n===-1)throw SyntaxError(`Unterminated block comment`);return n+2}function a(t){for(;t<r;)if(/\s/.test(e[t]))t++;else if(e[t]===`/`&&(e[t+1]===`/`||e[t+1]===`*`))t=i(t);else break;return t}for(;n<r;){let o=e[n];if(o===`"`){let i=n++;for(;n<r;){let t=e[n++];if(t===`\\`)n++;else if(t===`"`)break}t+=e.slice(i,n);continue}if(o===`'`){for(t+=`"`,n++;n<r;){let r=e[n];if(r===`\\`)e[n+1]===`'`?t+=`'`:e[n+1]!==`
4
+ `&&(t+=e.slice(n,n+2)),n+=2;else{if(n++,r===`'`){t+=`"`;break}t+=r===`"`?`\\"`:r}}continue}if(o===`/`&&(e[n+1]===`/`||e[n+1]===`*`)){n=i(n),t+=` `;continue}if(o===`,`){let r=e[a(n+1)];r!==`}`&&r!==`]`&&(t+=o),n++;continue}Pt.lastIndex=n;let s=Pt.exec(e);s?(n=Pt.lastIndex,t+=e[a(n)]===`:`?`"${s[0]}"`:s[0]):(t+=o,n++)}return JSON.parse(t.trim())}function It(e){return new Promise((t,n)=>{S(e,`utf8`,(e,r)=>e?n(e):t(r))})}const Lt=m(i===`win32`?t.LOCALAPPDATA||m(N(),`AppData`,`Local`):t.XDG_CACHE_HOME||m(N(),`.cache`),`updates`),Rt=/* @__PURE__ */ new Map,zt=(e,t)=>m(t,`${M(`sha256`).update(e).digest(`hex`)}.cache`),Bt=6048e5;async function Vt(e,t=Lt){try{let n=zt(e,t);if(Date.now()-(await se(n)).mtimeMs>Bt)return await A(n),null;let r=await It(n),i=r.indexOf(`
5
+ `),a=r.substring(0,i),o=r.substring(i+1);if(!a||!o)return null;let s=/* @__PURE__ */ new Date;return await L(ce(n,s,s)),{etag:a,body:o}}catch{return null}}const Ht=/* @__PURE__ */ new Set;let Ut=0;function Wt(e,t,n,i=Lt){let a=(async()=>{let a;try{await H(Rt,i,()=>k(i,{recursive:!0}));let o=zt(e,i);a=`${o}.${r}-${Ut++}.tmp`,await j(a,`${t}\n${n}`),await oe(a,o)}catch{a?await L(A(a)):Rt.delete(i)}})();Ht.add(a),(async()=>{await a,Ht.delete(a)})()}async function Gt(e=Lt,t=4096){for(;Ht.size;)await Promise.all(Ht);try{let n=(await ie(e)).filter(e=>e.endsWith(`.cache`)),r=(await Promise.all(n.map(async t=>{let n=m(e,t);try{return{path:n,mtime:(await se(n)).mtimeMs}}catch{return null}}))).filter(e=>e!==null).sort((e,t)=>t.mtime-e.mtime),i=Date.now()-Bt;await Promise.all(r.filter((e,n)=>n>=t||e.mtime<i).map(e=>L(A(e.path))))}catch{}}const Kt=/* @__PURE__ */ new Map;function qt(){let e=t.XDG_CONFIG_HOME||(i===`win32`?t.APPDATA||m(N(),`AppData`,`Roaming`):m(N(),`.config`));return m(e,`updates`,`tokens.json`)}async function Jt(e){let t;try{t=await re(e,`utf8`)}catch(e){if(e.code===`ENOENT`)return{};throw e}try{return JSON.parse(t)}catch(t){throw Error(`Could not parse ${e}: ${t.message}`)}}function Yt(){let e=qt();return H(Kt,e,()=>Jt(e))}async function Xt(e){let t=qt();await k(f(t),{recursive:!0,mode:448}),await j(`${t}.tmp`,`${JSON.stringify(e,null,2)}\n`,{mode:384}),await oe(`${t}.tmp`,t),Kt.set(t,Promise.resolve(e))}async function Zt(e,t){await Xt({...await Yt(),[e]:t})}async function Qt(e){let t={...await Yt()};return Object.hasOwn(t,e)?(delete t[e],await Xt(t),!0):!1}var $t=`19.2.1`;function J(e,t,n){return!t||!n||(n-Date.parse(e||``))/864e5>=t}const en=$t,tn=`https://api.github.com`,Y={registry:`https://registry.npmjs.org`,jsrapi:`https://jsr.io`,forgeapi:tn,pypiapi:`https://pypi.org`,cargoapi:`https://crates.io`,dockerapi:`https://hub.docker.com`,goproxy:`https://proxy.golang.org`},X=e=>e[0]===`v`?e.substring(1):e,nn=e=>e.endsWith(`/`)?e.slice(0,-1):e;function rn(e,t){return{headers:{"user-agent":`updates/${en}`,"accept-encoding":`gzip, deflate, br`,...t&&{Authorization:`${e} ${t}`}}}}const an=/* @__PURE__ */ new Set([`ECONNRESET`,`ECONNREFUSED`,`ETIMEDOUT`,`EAI_AGAIN`,`EPIPE`,`UND_ERR_SOCKET`,`UND_ERR_CONNECT_TIMEOUT`,`UND_ERR_HEADERS_TIMEOUT`,`UND_ERR_BODY_TIMEOUT`]);function on(e){if(e?.name===`TimeoutError`||e?.name===`AbortError`)return!0;let t=e?.code??e?.cause?.code;return typeof t==`string`&&an.has(t)}const sn=e=>e.replace(/([a-z][a-z\d+.-]*:\/\/)[^/?#\s]*@/gi,`$1`);async function cn(e,t){try{return await fetch(e,t)}catch(t){let n=Error(`Failed to fetch ${e}${t?.message?`: ${t.message}`:``}`,{cause:t});throw n.transient=on(t),n}}async function ln(e,t,n={}){let r=vn(e);for(let i=0;;i++)try{let a=await r(()=>e.doFetch(t,{...n,signal:AbortSignal.timeout(e.fetchTimeout)})),o=a?.headers?.get?.(`retry-after`)?.trim()??``,s=/^\d+$/.test(o)?Number(o)*1e3:Math.max(Date.parse(o)-Date.now(),0),c=Number.isNaN(s)?null:s,l=e.fetchTimeout,u=a.status>=500&&a.status<600?c!==null&&c<=l?c:0:(a.status===429||a.status===403&&c!==null)&&(c===null||c<=l)?c??0:null;if(u===null||i>=2)return a;a.body&&await a.body.cancel(),u&&await de(u)}catch(e){if(i>=2||!e?.transient)throw e}}const un=e=>t=>JSON.stringify(e(JSON.parse(t))),dn=/* @__PURE__ */ new WeakMap;function fn(e,t,n,r,i,a){let o=JSON.stringify([e,i,a,n.method??`GET`,Array.from(new Headers(n.headers).entries()),n.body??null,r?.toString()]),s=H(dn,t,()=>/* @__PURE__ */ new Map);return H(s,o,async()=>{try{let o=t.noCache?null:await Vt(i);if(a&&o)return{body:o.body};let s=o?{...n.headers,"if-none-match":o.etag}:n.headers,c=await ln(t,e,{...n,headers:s});if(c.status===304&&o)return{body:o.body,res:c};if(!c.ok)return{res:c};let l=await c.text();if(r&&l.length>=16384)try{l=r(l)}catch{}let u=a?`immutable`:c.headers.get(`etag`);return u&&!t.noCache&&Wt(i,u,l),{body:l,res:c}}finally{s.delete(o)}})}function pn(e,t,n={},r,i=e){return fn(e,t,n,r,i,!1)}function mn(e,t,n={},r,i=e){return fn(e,t,n,r,i,!0)}async function Z(e,t,n,r,i=!0){let a=H(e,t,()=>/* @__PURE__ */ new Map),o=a.get(n);if(o)return o;let s=r();a.set(n,s);try{let e=await s;return i||a.delete(n),e}catch(e){throw a.delete(n),e}}const hn=new le,gn=e=>Math.max(e.concurrency||50,1),_n=/* @__PURE__ */ new WeakMap;function vn(e){return H(_n,e,()=>{let t=gn(e),n=0,r=0,i=[];return async e=>{if(hn.getStore())return e();n<t?n++:await new Promise(e=>{i.push(e)});try{return await hn.run(!0,e)}finally{r<i.length?(i[r++](),r===i.length&&(i=[],r=0)):n--}}})}function yn(e,t=q){let n=t.parse(e);return!!(n&&t.isPrerelease(n))}const bn=/* @__PURE__ */ new WeakMap,xn=/* @__PURE__ */ new WeakMap;function Sn(e,t,n,r,i=q){let a=t||i.isRangePrerelease(e);return{effectiveSemvers:a?H(t?bn:xn,r,()=>{let e=new Set(r).add(`prerelease`);if(t)for(let t of r)e.add(`pre${t}`);return e}):r,skipsPrerelease:e=>(!a||n)&&!!e&&i.isPrerelease(e)}}function Q(e){return it(e)?.version??``}function Cn(e,t,{range:n,semvers:r,useGreatest:i,usePre:a,useRel:o,latest:s,pinnedRange:c,pinNoDowngrade:l,allowDowngrade:u,cooldownDays:d,now:f,getVersionDate:p,versioning:m=q}){let h=m.parseRange(n);if(!h)return null;let{effectiveSemvers:g,skipsPrerelease:_}=Sn(n,a,o,r,m),v=s?m.parse(s):null,y=i||a&&!o||v&&c&&!m.satisfiesRange(v,c)?null:v,b=!!(y&&m.compare(h,y)>0),x=!!c&&!l&&!m.satisfiesRange(h,c),S=!!u&&(!!y||m.isPrerelease(h)),C=e?.time,w=!!(d&&f),T=null;for(let e of t){let t=m.parse(e);if(!t||_(t)||T&&m.compare(t,T)<=0)continue;let n=m.compare(t,h)<=0;if(n&&!x&&!S||n&&!x&&y&&m.compare(t,y)!==0||!n&&y&&!b&&m.compare(t,y)>0||c&&!m.satisfiesRange(t,c)||w&&!J(p?p(e):C?.[e],d,f))continue;let r=m.diff(h,t),i=r&&!m.isPrerelease(t)?r.replace(/^pre/,``):r;i&&g.has(i)&&(T=t)}return T?.raw??T?.version??null}function wn(e){return/\d{14}-[0-9a-f]{12}(?:\+incompatible)?$/.test(e)}function Tn({pinnedRange:e,pinNoDowngrade:t},n){let r=Q(n);return!(!e||t||!r||W(r,e))}const En=/* @__PURE__ */ new Map;function Dn({range:e,usePre:t,useRel:n,semvers:r,pinnedRange:i,pinNoDowngrade:a,allowDowngrade:o},s=e){let c=JSON.stringify([e,s,[...r].sort(),t,n,i||``,a,o]);return H(En,c,()=>{let c=q.parse(Q(e));if(!c)return()=>!1;let{effectiveSemvers:l,skipsPrerelease:u}=Sn(e,t,n,r),d=q.parse(s),f=d||q.parseRange(s),p=!!o||Tn({pinnedRange:i,pinNoDowngrade:a},s);return e=>{let t=q.parse(Q(e)),n=q.parse(e),r=wn(e);if(!t||!r&&u(n))return!1;let a=(d&&n?q.diff(d,n):null)??q.diff(c,t),o=r?a===`prerelease`?`patch`:a?.replace(/^pre/,``):a;return!o||!l.has(o)||!p&&n&&f&&q.compare(n,f)<0?!1:!i||W(t.version,i)}})}function On(e){return e.reduce((e,t)=>{let n=t?.upload_time_iso_8601,r=t&&!t.yanked&&typeof n==`string`?Date.parse(n):NaN;return r<e.time?{date:n,time:r}:e},{time:1/0}).date}function kn(e,{mode:t,range:n,useGreatest:r,usePre:i,useRel:a,semvers:o,pinnedRange:s,pinNoDowngrade:c,cooldownDays:l,now:u,allowDowngrade:d,acceptsGoVersion:f}){if(n===`*`)return null;let p=t===`pypi`?Nt:q,m=n.includes(`||`)?n.split(`||`).pop().trim():n,h=[],g=``,_;if(t===`pypi`){let t=e?.releases;if(!t)return null;h=Object.keys(t).filter(e=>Array.isArray(t[e])&&t[e].some(e=>e&&!e.yanked)),_=e=>On(t[e]),g=e.info?.version??``}else if(t===`npm`||t===`cargo`){if(!e?.versions)return null;if(h=Object.keys(e.versions),g=e[`dist-tags`]?.latest??``,t===`npm`&&!e.versions[Q(m)]?.deprecated){let t=h.filter(t=>!e.versions[t]?.deprecated);h=t.length?t:h}}else if(t===`go`){let t=f||Dn({range:m,useGreatest:r,usePre:i,useRel:a,semvers:o,pinnedRange:s,pinNoDowngrade:c,allowDowngrade:d},e.old||m);return t(e.new)&&J(e.Time,l,u)?e.new:t(e.sameMajorNew)&&J(e.sameMajorTime,l,u)?(e.Time=e.sameMajorTime,delete e.newPath,e.sameMajorNew):null}return Cn(e,h,{range:m,semvers:o,useGreatest:r,usePre:i,useRel:a,latest:g,pinnedRange:s,pinNoDowngrade:c,allowDowngrade:d,cooldownDays:l,now:u,getVersionDate:_,versioning:p})}function An(e){try{return new URL(e).host}catch{return``}}let jn;function Mn(){return jn??=(async()=>{let[{execFile:e},{promisify:t}]=await Promise.all([import(`node:child_process`),import(`node:util`)]);return t(e)})()}const Nn=[`UPDATES_GITHUB_API_TOKEN`,`GITHUB_API_TOKEN`,`GH_TOKEN`,`GITHUB_TOKEN`,`HOMEBREW_GITHUB_API_TOKEN`],Pn=/^http\.(\S+)\/\.extraheader AUTHORIZATION:\s*basic\s+(\S+)$/i;function Fn(e){let t=/* @__PURE__ */ new Map;for(let n of e.split(/\r?\n/)){let e=Pn.exec(n);if(!e)continue;let r=An(e[1]),i=ue.from(e[2],`base64`).toString(`utf8`),a=i.slice(i.indexOf(`:`)+1);r&&a&&!t.has(r)&&t.set(r,a)}return t}let In;function Ln(){return In??=(async()=>{try{let{stdout:e}=await(await Mn())(`git`,[`config`,`--get-regexp`,`^http\\..*\\.extraheader$`],{encoding:`utf8`,timeout:5e3});return Fn(e)}catch{return/* @__PURE__ */ new Map}})()}const Rn=/* @__PURE__ */ new Map,zn=/* @__PURE__ */ new Set;function Bn(e){return e===`api.github.com`?`github.com`:e}async function Vn(e,n){if(!e)return[];let r=Ne(t.UPDATES_FORGE_TOKENS??``).find(t=>t.lastIndexOf(`:`)===e.length&&t.startsWith(e))?.slice(e.length+1);if(r)return[r];let i=Bn(e),a=(await Yt())[i],o=i===`github.com`||e===An(n)?Nn.map(e=>t[e]):[],s=(await Ln()).get(i);return Array.from(new Set([a,...o,s].filter(Boolean)))}async function Hn(e,t,n=tn){let r=await cn(e===`github.com`?`${n}/user`:`https://${e}/api/v1/user`,{...rn(`Bearer`,t),signal:AbortSignal.timeout(5e3)});if(r.status===401)throw Error(`token for ${e} was rejected`);if(!r.ok)throw Error(`token verification for ${e} failed with status ${r.status}`);return(await r.json()).login}var Un=class extends Error{name=`ForgeError`;constructor(e,t,n,{status:r=0,reset:i=0,cause:a}={}){super(n,{cause:a}),Object.assign(this,{kind:e,host:t,status:r,reset:i})}};async function Wn(e){if(e.status!==403&&e.status!==429)return null;let t=Number(e.headers?.get?.(`x-ratelimit-reset`))||0;if(e.headers?.get?.(`x-ratelimit-remaining`)===`0`||e.headers?.get?.(`retry-after`))return t;try{let{message:n}=await(typeof e.clone==`function`?e.clone():e).json();if(typeof n!=`string`)return null;if(n.includes(`rate limit exceeded`)||n.includes(`abuse detection mechanism`)||n.startsWith(`You have exceeded a secondary rate limit`))return t}catch{}return null}async function Gn(e,t,n,r){if(e.status>=500)throw new Un(`server`,n,`Received ${e.status}${e.statusText?` ${e.statusText}`:``} from ${t}`,{status:e.status});let i=await Wn(e);if(i===null)return e;throw new Un(`rateLimit`,n,`Rate limit exceeded for ${n}${r?` even though a token was sent`:`, set one for this host in UPDATES_FORGE_TOKENS or run "updates --login ${Bn(n)}"`}${i?`, resets at ${(/* @__PURE__ */ new Date(i*1e3)).toISOString()}`:``}`,{status:e.status,reset:i})}async function Kn(e,t,n){let r=An(e),i=(await Vn(r,t.forgeApiUrl)).filter(e=>!zn.has(e)),a=async a=>{let o=rn(`Bearer`,a);return o.headers={...o.headers,...n},Gn(await ln(t,e,o),e,r,!!i.length)};try{if(!i.length)return await a();let e=Rn.get(r);for(let t of e&&i.includes(e)?[e,...i.filter(t=>t!==e)]:i){let n=await a(t);if(n.status!==401&&n.status!==403)return Rn.set(r,t),n;if(n.status===401&&!zn.has(t)){zn.add(t);let e=Bn(r);(await Yt())[e]===t&&console.error(`stored token for ${e} was rejected, run "updates --login ${e}" to replace it`)}t===e&&Rn.delete(r)}return await a()}catch(e){throw e instanceof Un?e:new Un(`network`,r,e?.message??String(e),{cause:e})}}function qn(e,t){let n=q.parse(X(t));if(!n)return null;let r=``;for(let t of e){let e=q.parse(X(t));e&&q.compare(e,n)>0&&(r=t,n=e)}return r||null}function Jn(e){let t=e.replace(`git@`,``).replace(/.+?\/\//,`https://`).replace(/\.git$/,``);return/^[a-z]+:[a-z0-9-]+\/[a-z0-9-]+$/.test(t)?t.replace(/^(.+?):/,`https://$1.com/`):/^[a-z0-9-]+\/[a-z0-9-]+$/.test(t)?`https://github.com/${t}`:t}const Yn=/^(?:[0-9a-f]{6,7}|[0-9a-f]{40}|[0-9a-f]{64})$/i,Xn=/^(?=.*[a-f])[0-9a-f]{7,40}$/i;function Zn(e){return/^v?\d+(?:\.\d+)*(?:[-+][\w.-]+)?$/.test(e)}function Qn(e){let t=e?.commit??e;return t?.committer?.date||t?.author?.date||``}function $n(e,t){let n=t?`cached Forge`:`Forge`;if(!Array.isArray(e))throw TypeError(`Invalid ${n} tags response`);return e.map(e=>{let r=t?typeof e?.commitSha==`string`&&(e.isStable===void 0||typeof e.isStable==`boolean`):e?.commit?.sha===void 0||typeof e.commit.sha==`string`;if(typeof e?.name!=`string`||!r)throw TypeError(`Invalid ${n} tag entry`);return t?e:{name:e.name,commitSha:e.commit?.sha||``}})}const er=/* @__PURE__ */ new WeakMap;function tr(e,t,n,r){let i=`${n}${e}`;return Z(er,t,i,async()=>{let n=t.noCache?null:await Vt(e),a=await Kn(e,t,n?{"if-none-match":n.etag}:void 0);if(a.status===304&&n)return n.body;if(!a.ok)return er.get(t).delete(i),null;let o=await r(a),s=a.headers.get(`etag`);return s&&!t.noCache&&Wt(e,s,o),o})}function nr(e,t=!1){if(!Array.isArray(e))throw TypeError(`Invalid ${t?`cached `:``}Forge releases response`);return e.map(e=>{let n=t?e?.name:e?.tag_name,r=t?e?.isStable:!e?.prerelease&&e?.draft!==!0,i=t?e?.releaseTimestamp:e?.published_at;if(typeof n!=`string`||(t?typeof r!=`boolean`:typeof e?.prerelease!=`boolean`||e.draft!==void 0&&typeof e.draft!=`boolean`))throw TypeError(`Invalid ${t?`cached `:``}Forge release entry`);return{name:n,isStable:r,...i&&{releaseTimestamp:i}}})}async function rr(e,t,n,r){let i=await tr(e,t,n,async e=>JSON.stringify({link:e.headers.get(`link`)||``,total:Number(e.headers.get(`x-total-count`))||0,[n]:r(await e.json(),!1)}));if(!i)return null;let a=JSON.parse(i);if(typeof a?.link!=`string`)throw TypeError(`Invalid cached Forge ${n} response`);return{entries:r(a[n],!0),link:a.link,total:Number(a.total)||0}}function ir(e){let t=/<([^>]+)>;\s*rel="last"/.exec(e);if(!t)return 0;let n=Number(new URL(t[1]).searchParams.get(`page`));if(!Number.isSafeInteger(n)||n<1)throw TypeError(`Invalid Forge pagination URL`);return Math.min(n,100)}async function ar(e,t,n,r,i){let a=await rr(e(1),t,n,r);if(!a)return;let o=a.total>0?Math.min(Math.ceil(a.total/(a.entries.length||1)),100):ir(a.link),s=gn(t);for(let c=2,l=1,u=i(a.entries);c<=o&&!u;c+=l,l=Math.min(l*2,s)){let a=await Promise.all(Array.from({length:Math.min(l,o-c+1)},(i,a)=>rr(e(c+a),t,n,r)));for(let e of a)u=i(e?.entries??[])}}async function or(e,t,n,r,i=[]){let a=[],o=new Set(i.filter(Boolean)),s=o.size>0;return await ar(r=>`${e}/repos/${t}/${n}/tags?${e.endsWith(`/api/v1`)?`limit`:`per_page`}=100&page=${r}`,r,`tags`,$n,e=>{for(let t of e){for(let e of o)(e===t.name||t.commitSha.startsWith(e))&&o.delete(e);a.push(t)}return s&&!o.size}),a}async function sr(e,t,n,r,i=[],a=!0){if(e!==`https://api.github.com`||!a)return or(e,t,n,r,i);let o=/* @__PURE__ */ new Map,[s,c]=await Promise.allSettled([or(e,t,n,r,i),ar(e=>`${tn}/repos/${t}/${n}/releases?per_page=100&page=${e}`,r,`releases`,nr,e=>{for(let t of e)o.set(t.name,t);return!1})]);if(s.status===`rejected`)throw s.reason;if(c.status===`rejected`&&!(c.reason instanceof Un))throw c.reason;if(c.status===`fulfilled`)for(let e of s.value){let t=o.get(e.name);t&&(e.isStable=t.isStable,t.releaseTimestamp&&(e.releaseTimestamp=t.releaseTimestamp))}return s.value}function cr(e,t,n,r){throw Error(e?.status&&e.statusText?`Received ${e.status} ${e.statusText} from ${t}`:`Unable to fetch ${n} from ${r}`)}function lr(e,t,n=``){let r=X(e),i=X(t).split(`.`).length,a=i>=3?r:Array.from({length:i},(e,t)=>r.split(`.`)[t]||`0`).join(`.`);return`${t.startsWith(`v`)?`v`:``}${a}${n}`}function ur(e){return e.startsWith(`https://bitbucket.org`)?`src/HEAD`:`tree/HEAD`}const dr=[`repository`,`Repository`,`repo`,`Repo`,`source`,`Source`,`source code`,`Source code`,`Source Code`,`homepage`,`Homepage`];function fr({repository:e,homepage:t,info:n},r,i){if(r===`https://npm.pkg.github.com`)return`https://github.com/${i.replace(/^@/,``)}`;if(n){let t=dr.find(e=>n.project_urls?.[e]);e=t?n.project_urls[t]:e??`https://pypi.org/project/${i}/`}if(!e)return t||``;let a=Jn(typeof e==`string`?e:e.url);return a&&typeof e!=`string`&&e.directory?`${a}/${ur(a)}/${e.directory}`:a||t||``}const pr=/^\[\[([^\]]+)\]\]$/,mr=/^\[([^[\]]+)\]$/,hr=()=>Object.create(null);function gr(e){let t=hr(),n=t,r=e.split(/\r?\n/);for(let e=0;e<r.length;e++){let i=Sr(r[e]).trim();if(!i)continue;let a=pr.exec(i);if(a){let e=t,r=xr(a[1]),i=r.pop();for(let t of r){let n=e[t],r=Array.isArray(n)?n.at(-1):void 0;e=typeof r==`object`&&!Array.isArray(r)?r:wr(e,[t])}Array.isArray(e[i])||(e[i]=[]),n=hr(),e[i].push(n);continue}let o=mr.exec(i);if(o){n=wr(t,xr(o[1]));continue}let s=Cr(i,`=`);if(s<0)continue;let c=i.slice(s+1).trim(),l=xr(i.slice(0,s)),u=l.pop(),d=wr(n,l),f=c.startsWith(`"""`)&&!c.includes(`"""`,3)?`"""`:c.startsWith(`'''`)&&!c.includes(`'''`,3)?`'''`:``,p={depth:0,inStr:null};if((c.startsWith(`[`)||c.startsWith(`{`))&&!yr(c,p)){let t=[c];for(e++;e<r.length;e++){let n=Sr(r[e]);if(t.push(n),yr(n,p))break}d[u]=_r(t.join(`
6
+ `))}else if(f){let t=c.slice(3);for(e++;e<r.length;e++){let n=r[e].indexOf(f);if(t+=(t?`
7
+ `:``)+(n<0?r[e]:r[e].slice(0,n)),n>=0)break}d[u]=_r(f+t+f)}else d[u]=_r(c)}return t}function _r(e){if(e.startsWith(`[`)){let t=[],n=e.lastIndexOf(`]`);for(let r of br(e.slice(1,n<0?e.length:n))){let e=r.trim();e&&t.push(_r(e))}return t}return e.startsWith(`{`)?vr(e):e.startsWith(`"""`)?Er(e.slice(3,e.lastIndexOf(`"""`))):e.startsWith(`'''`)?e.slice(3,e.lastIndexOf(`'''`)):e.startsWith(`"`)?Er(e.slice(1,e.lastIndexOf(`"`))):e.startsWith(`'`)?e.slice(1,e.lastIndexOf(`'`)):e===`true`?!0:e===`false`?!1:/^[+-]?\d+(\.\d+)?$/.test(e)?Number(e):e}function vr(e){let t=hr();for(let n of br(e.slice(1,e.lastIndexOf(`}`)))){let e=n.indexOf(`=`);e>=0&&(t[n.slice(0,e).trim().replace(/^["']|["']$/g,``)]=_r(n.slice(e+1).trim()))}return t}function yr(e,t){for(let n=0;n<e.length;n++){let r=e[n];if(t.inStr){if(r===`\\`&&t.inStr===`"`){n++;continue}r===t.inStr&&(t.inStr=null)}else if(r===`"`||r===`'`)t.inStr=r;else if(r===`{`||r===`[`)t.depth++;else if((r===`}`||r===`]`)&&(t.depth--,!t.depth))return!0}return!1}function br(e){let t=[],n=0,r=null,i=0;for(let a=0;a<e.length;a++){let o=e[a];if(r){if(o===`\\`&&r===`"`){a++;continue}o===r&&(r=null)}else o===`"`||o===`'`?r=o:o===`{`||o===`[`?n++:o===`}`||o===`]`?n--:o===`,`&&n===0&&(t.push(e.slice(i,a)),i=a+1)}return i<e.length&&t.push(e.slice(i)),t}function xr(e){let t=[],n=``,r=null;for(let i=0;i<e.length;i++){let a=e[i];if(r){if(a===`\\`&&r===`"`&&i+1<e.length){n+=a+e[++i];continue}if(a===r){r===`"`&&(n=Er(n)),r=null;continue}n+=a}else a===`"`||a===`'`?r=a:a===`.`?(t.push(n.trim()),n=``):n+=a}return n.trim()&&t.push(n.trim()),t}function Sr(e){let t=Cr(e,`#`);return t<0?e:e.slice(0,t)}function Cr(e,t,n){let r=null;for(let i=0;i<e.length;i++){let a=e[i];if(r){if(a===`\\`&&r===`"`){i++;continue}a===r&&(r=null)}else if(a===`"`||a===`'`)r=a;else if(a===t)return i;else if(a===n)return-1}return-1}function wr(e,t){for(let n of t)(typeof e[n]!=`object`||Array.isArray(e[n]))&&(e[n]=hr()),e=e[n];return e}const Tr={b:`\b`,f:`\f`,n:`
8
+ `,r:`\r`,t:` `};function Er(e){return e.replace(/\\(["\\bfnrt]|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})/g,(e,t)=>t.length>1?String.fromCodePoint(Number.parseInt(t.slice(1),16)):Tr[t]??t)}const Dr=/[-_.]+/g,Or=/* @__PURE__ */ new WeakMap;function kr(e){let t={};for(let[n,r]of Object.entries(e??{}))t[n]=(r??[]).map(e=>({...e.upload_time_iso_8601&&{upload_time_iso_8601:e.upload_time_iso_8601},...e.yanked&&{yanked:!0}}));return t}async function Ar(e,t){let n=`${t.pypiApiUrl}/pypi/${e.toLowerCase().replace(Dr,`-`)}/json`;return[{...await Z(Or,t,n,async()=>{let r=await pn(n,t,{headers:{"accept-encoding":`gzip, deflate, br`}},un(e=>{let{name:t,version:n,project_urls:r}=e.info??{};return{info:{name:t,version:n,project_urls:r},releases:kr(e.releases)}}));`body`in r||cr(r.res,n,e,t.pypiApiUrl);let i=JSON.parse(r.body);return{...i,releases:kr(i.releases)}}),name:e},null]}function jr(e,{op:t,version:n}){if(t===`===`)return n===e.version;if(n.endsWith(`.*`)){let r=K(n.slice(0,-2));if(!r||r.dev!==null||r.local||t!==`==`&&t!==`!=`)return!1;let i=r.epoch===e.epoch&&r.release.every((t,n)=>(e.release[n]??0)===t);return t===`==`?i:!i}let r=K(n);if(!r||r.local&&t!==`==`&&t!==`!=`)return!1;let i=Et(e.local?{...e,local:null}:e,r),a=r.local?Et(e,r):i;if(t===`==`)return a===0;if(t===`!=`)return a!==0;if(t===`>=`)return i>=0;if(t===`<=`)return i<=0;let o=e.epoch===r.epoch&&Array.from({length:Math.max(e.release.length,r.release.length)}).every((t,n)=>(e.release[n]??0)===(r.release[n]??0));return t===`>`?i>0&&!(o&&e.post!==null&&r.post===null):t===`<`?i<0&&!(o&&(e.pre||e.dev!==null)&&!r.pre&&r.dev===null):i>=0&&r.release.length>1&&r.epoch===e.epoch&&r.release.slice(0,-1).every((t,n)=>(e.release[n]??0)===t)}function Mr(e,t=e.release.length){if(!e.local&&t===e.release.length)return e.version;let n=Array.from({length:t},(t,n)=>e.release[n]??0),r=e.epoch||/^[vV]?\d+!/.test(e.version)?`${e.epoch}!`:``,i=e.pre?`${e.pre[0]}${e.pre[1]}`:``,a=e.post===null?``:`.post${e.post}`,o=e.dev===null?``:`.dev${e.dev}`;return`${r}${n.join(`.`)}${i}${a}${o}`}function Nr(e,t,n){let r=e.release.findIndex((e,n)=>e>t.release[n]);r===0&&e.release[1]===0?r=1:r===-1&&(r=e.release.length-1);let i=e.release.map((e,t)=>t>r?0:(n.release[t]??0)+Number(t===r));return`${n.epoch?`${n.epoch}!`:``}${i.join(`.`)}`}function Pr(e){let t=P(`x${e.trim()}`);return!!(K(e.trim())||t?.specifiers?.length&&!t.extras&&!t.marker&&t.specifiers.every(({op:e,version:t})=>{let n=K(t.replace(/\.\*$/,``));return n?t.endsWith(`.*`)?(e===`==`||e===`!=`)&&n.dev===null&&!n.local:(e!==`~=`||n.release.length>1)&&(!n.local||[`==`,`!=`,`===`].includes(e)):!1}))}function Fr(e,t){let n=K(e);if(!n)return!1;let r=t.trim();if(!r)return!0;let i=K(r);if(i)return Et(n,i)===0;let a=P(`x${r}`);return!a?.specifiers?.length||a.extras||a.marker?!1:a.specifiers.every(e=>jr(n,e))}function Ir(e,t,n){let r=P(e),i=K(t),a=K(n);if(!r?.specifiers||!i||!a)return null;let o=r.specifiers,s=xe(o);if(s?.version!==t)return null;for(let e of o){if(e===s){let t=e.op===`~=`?i.release.length:a.release.length;e.version=e.op===`==`||e.op===`===`?n:Mr(a,t)}else if(jr(a,e))continue;else{let t=K(e.version);if(e.op===`<`&&t)e.version=Nr(t,i,a);else if(e.op===`<=`)e.version=Mr(a);else if(e.op===`~=`&&t?.epoch===a.epoch)e.version=Mr(a,t.release.length);else return null}if(!jr(a,e))return null}return be(r,o)}function Lr(e){let t=[],n=/\s*(?:"((?:\\.|[^"\\])*)"|'([^']*)'|([\w-]+))\s*(?:\.|$)/gy;try{for(;n.lastIndex<e.length;){let r=n.exec(e);if(!r)return[];t.push(r[1]===void 0?r[2]??r[3]:JSON.parse(`"${r[1]}"`))}}catch{return[]}return t}function Rr(e,t){let n=e.indexOf(`[`,t);if(n===-1||e.slice(t,n).trim())return-1;let r=0,i=``,a=!1;for(let t=n;t<e.length;t++){let n=e[t];if(a)n===`
9
+ `&&(a=!1);else if(i)i===`"`&&n===`\\`?t++:n===i&&(i=``);else if(n===`"`||n===`'`)i=n;else if(n===`#`)a=!0;else if(n===`[`)r++;else if(n===`]`&&--r===0)return t+1}return-1}function zr(e,t){let n=/* @__PURE__ */ new Map,r=[],i=0;for(let a of e.split(/(?<=\n)/)){let o=/^\[([^\]]+)\](?:\s*#.*)?$/.exec(a.trim());if(o)r=Lr(o[1]);else{let o=Cr(a,`=`,`#`),s=o===-1?``:[...r,...Lr(a.slice(0,o))].join(`.`);if(t.has(s)&&!n.has(s)){let t=i+o+1,r=Rr(e,t);r!==-1&&n.set(s,[t,r])}}i+=a.length}return n}function Br(e,t){let n=/* @__PURE__ */ new Map;for(let[e,r]of Object.entries(t)){let t=e.split(`\0`);H(n,t[0],()=>/* @__PURE__ */ new Map).set(t[2],r)}let r=zr(e,n),i=e;for(let[e,t]of Array.from(r).reverse()){let r=n.get(e),a=i.slice(...t).replace(/#.*|"""[\s\S]*?"""|'''[\s\S]*?'''|"(?:\\.|[^"\\])*"|'[^']*'/g,e=>{if(e.startsWith(`#`))return e;let t=_r(e),n=r.get(t);if(!n)return e;let i=Ir(t,n.oldOrig||n.old,n.new);return i?e[0]===`"`&&e.includes(`\\`)?JSON.stringify(i):e.replace(t,()=>i):e});i=`${i.slice(0,t[0])}${a}${i.slice(t[1])}`}return i}const Vr={y:365.25,w:7,d:1,h:1/24,m:1/1440,s:1/86400,ms:1/864e5};function Hr(e){if(e===null)return 0;if(typeof e!=`string`)return;let t=e.split(/(.*?[a-z]+)/).map(e=>e.trim()).filter(Boolean);if(!t.length)return;let n=0;for(let e of t){let t=e.replace(/^(\d+)\s*(?:months?|M)$/,(e,t)=>`${Number(t)*30} days`);if(t.length>100)return;let r=/^(-?\d*\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(!r)return;let i=(r[2]??`ms`).toLowerCase();n+=Number(r[1])*Vr[/^m(?:s|il)/.test(i)?`ms`:i[0]]}return n}const Ur=/^(?:(?:match|exclude)(?:Package|Dep)(?:Names|Patterns|Prefixes)|package(?:Name|Pattern)s?|excludedPackageNames)$/;function Wr(e,t){let n=e.startsWith(`exclude`)?`!`:``;return e.endsWith(`Prefixes`)?`${n}${t}{/,}**`:/Patterns?$/.test(e)?t===`*`&&!n&&!e.includes(`Dep`)?`*`:`${n}/${t}/`:`${n}${t}`}const Gr=/* @__PURE__ */ new Set([`updateTypes`,`managers`,`datasources`,`depTypeList`,`paths`,`languages`,`baseBranchList`,`sourceUrlPrefixes`,`matchFiles`,`matchPaths`]);function Kr(e){let t={};for(let[n,r]of Object.entries(e)){if(!Ur.test(n)){if(n.startsWith(`match`)||n.startsWith(`exclude`)||Gr.has(n))return;continue}let e=typeof r==`string`||n===`packageName`||n===`packagePattern`?[r]:r;if(!Array.isArray(e))return;let i=t[n.includes(`Dep`)?`Dep`:`Package`]??=[];for(let t of e){if(typeof t!=`string`||!t)return;i.push(Wr(n,t))}}let n={},r=[];for(let e of[`Package`,`Dep`]){if(t[e]?.length===0)return;let i=[],a=[];for(let n of t[e]??[]){let e=n.startsWith(`!`),t=e?n.slice(1):n,o=qr(t);(e?a:i).push(o??t),!e&&!o&&!/[*?[\]{}!()|+]/.test(t)&&r.push(t)}i.length&&(n[`match${e}Names`]=i),a.length&&(n[`exclude${e}Names`]=a)}return{matchers:n,literals:r}}function qr(e){let t=/^!?\/(.*)\/(i?)$/.exec(e);if(t)try{return new RegExp(t[1],t[2])}catch{return}}const Jr=/* @__PURE__ */ new Map,Yr=e=>H(Jr,e,()=>We(e)),Xr=(e,t,n)=>(!t?.length||t.some(t=>Yr(t).test(e)))&&(!n?.length||n.every(t=>!Yr(t).test(e)));function Zr(e,t,n){return Xr(t,e.matchPackageNames,e.excludePackageNames)&&Xr(n,e.matchDepNames,e.excludeDepNames)}var Qr=class extends RegExp{#e;constructor(e,t){super(e),this.#e=t}testNames(e,t){return this.#e(e,t)}test(e){return this.testNames(e,e)}};function $r(e,t,n,r){return e instanceof Qr?e.testNames(n,r):e.test(t)}function ei(e,t){let n=[],r={},i=/* @__PURE__ */ new Set,a=[];for(let r of e){if(!r||typeof r!=`object`)continue;let e=Kr(r);if(!e)continue;let{matchers:o,literals:s}=e;typeof r.enabled==`boolean`&&n.push({enabled:r.enabled,matchers:o});let c={...o},l=t?Hr(r.minimumReleaseAge):void 0;if(l!==void 0&&(c.cooldownDays=l),typeof r.allowedVersions==`string`){let e=G(r.allowedVersions);if(!e&&!qr(r.allowedVersions)&&!Pr(r.allowedVersions))throw Error(`Invalid renovate allowedVersions: ${r.allowedVersions}`);if(c.allowedVersions=r.allowedVersions,e)for(let e of s)i.add(e)}(c.allowedVersions||c.cooldownDays!==void 0)&&a.push(c)}for(let e of i){let t=a.findLast(t=>t.allowedVersions!==void 0&&Zr(t,e,e))?.allowedVersions;t&&G(t)&&(r[e]=t)}return{disabled:n.some(e=>!e.enabled)?new Qr(`renovate-package-rules`,(e,t)=>n.findLast(n=>Zr(n.matchers,e,t))?.enabled===!1):void 0,pin:r,versionRules:a}}function ti(e,t){if(e.enabled===!1)return{exclude:[`*`]};let n={},r=t.cooldown?Hr(e.minimumReleaseAge):void 0;r&&r>0&&(n.cooldown=r);let i=Array.isArray(e.ignoreDeps)?e.ignoreDeps.filter(e=>typeof e==`string`&&!!e).map(e=>new Qr(`^${R(e)}$`,(t,n)=>n===e)):[],{disabled:a,pin:o,versionRules:s}=ei(Array.isArray(e.packageRules)?e.packageRules:[],!!t.cooldown),c=a?[...i,a]:i;return c.length&&(n.exclude=c),Object.keys(o).length&&(n.pin=o,n.pinNoDowngrade=!0),s.length&&(n.renovateVersionRules=s),n}async function ni(e,t={}){let n=await Ge(e,async e=>{for(let t of[`renovate.json`,`renovate.jsonc`,`renovate.json5`]){let n=m(e,t),r=await L(re(n,`utf8`));if(r===null)continue;let i;try{i=Ft(r)}catch(e){throw Error(`Unable to parse renovate config ${n}: ${e.message}`)}if(i&&typeof i==`object`)return i}return null});return n?ti(n,t):{}}const ri=Symbol(`cliBaseConfig`),ii={"allow-downgrade":{short:`d`,type:`string`,multiple:!0},"error-on-outdated":{short:`E`,type:`boolean`},"error-on-unchanged":{short:`U`,type:`boolean`},exclude:{short:`e`,type:`string`,multiple:!0},file:{short:`f`,type:`string`,multiple:!0},forgeapi:{type:`string`},goproxy:{type:`string`},cargoapi:{type:`string`},dockerapi:{type:`string`},greatest:{short:`g`,type:`string`,multiple:!0},help:{short:`h`,type:`boolean`},include:{short:`i`,type:`string`,multiple:!0},"include-paths":{short:`N`,type:`string`,multiple:!0},"exclude-paths":{short:`X`,type:`string`,multiple:!0},indirect:{short:`I`,type:`boolean`},json:{short:`j`,type:`boolean`},jsrapi:{type:`string`},login:{short:`L`,type:`string`},logout:{short:`O`,type:`string`},cooldown:{short:`C`,type:`string`},minor:{short:`m`,type:`string`,multiple:!0},modes:{short:`M`,type:`string`,multiple:!0},color:{short:`c`,type:`boolean`},"no-cache":{short:`x`,type:`boolean`},"no-color":{short:`n`,type:`boolean`},patch:{short:`P`,type:`string`,multiple:!0},pin:{short:`l`,type:`string`,multiple:!0},prerelease:{short:`p`,type:`string`,multiple:!0},pypiapi:{type:`string`},registry:{short:`r`,type:`string`},release:{short:`R`,type:`string`,multiple:!0},sockets:{short:`s`,type:`string`},timeout:{short:`T`,type:`string`},types:{short:`t`,type:`string`,multiple:!0},update:{short:`u`,type:`boolean`},verbose:{short:`V`,type:`boolean`},version:{short:`v`,type:`boolean`}},ai=/* @__PURE__ */ new Set([`greatest`,`prerelease`,`release`,`patch`,`minor`,`allow-downgrade`]);function oi(e){return Array.isArray(e)?!e.length||e.includes(!0)||new Set(li(e)):e===!0}function si(e){for(let[t,{short:n}]of Object.entries(ii))if(t===e||n===e)return t;return``}function ci(e){return new Set(e.map(We))}function li(e,t=Ne){return Array.isArray(e)?e.filter(e=>typeof e==`string`).flatMap(t):[]}function ui(e){for(let[t,n]of Object.entries(e??{}))if(!G(n))throw Error(`Invalid pin range for ${t}: ${n}`)}function di(e){let t={};for(let n of Array.isArray(e)?e:[e]){if(typeof n!=`string`)continue;let e=n.indexOf(`=`);if(e<1)throw Error(`Invalid pin: ${n}, expected <dep>=<range>`);t[n.slice(0,e)]=n.slice(e+1)}return ui(t),t}function fi(e){return typeof e==`boolean`?e:!Array.isArray(e)||!e.length?!1:ci(e)}const pi=Ke(e=>Ge(e,async e=>{for(let t of[`js`,`ts`,`mjs`,`mts`]){let n=`updates.config.${t}`,r=m(e,n);try{await ne(r)}catch(e){if(e.code===`ENOENT`)continue;throw Error(`Unable to load config file ${n}: ${e.message}`)}try{return(await import(te(r).href)).default??{}}catch(e){throw Error(`Unable to parse config file ${n}: ${e?.message??e}`)}}return null})),mi=Ke(async e=>{let t=await pi(e)??{},n=await ni(e,t.inherit?.renovate),r={...n,...t};return n.pin&&(r.pin={...n.pin,...t.pin},r.pinNoDowngrade=Object.keys(n.pin).filter(e=>!t.pin?.[e])),n.overrides?.length&&(r.overrides=[...n.overrides,...t.overrides??[]]),ui(r.pin),r});function hi(e){let t=[];for(let n of e.matchAll(/([^,|]*)([,|]?)/g)){let e=n[1].trim();if(!e)continue;let r=n[2]===`|`?`|`:`,`;if(e===`off`||e===`direct`){t.push({url:e,fallback:r});break}let i=e.includes(`:/`)||e.startsWith(`/`);t.push({url:nn(!i&&/[.:/]/.test(e)?`https://${e}`:e),fallback:r})}return t}function gi(e){if(typeof e==`string`)return[{url:nn(e),fallback:`,`}];let n=hi(t.GOPROXY||`${Y.goproxy},direct`);if(!n.length)throw Error(`GOPROXY list is not the empty string, but contains no entries`);return n}function _i(){return(t.GONOPROXY||t.GOPRIVATE||``).split(`,`).map(e=>e.trim().replace(/\/+$/,``)).filter(Boolean)}const vi=/* @__PURE__ */ new Map;function yi(e,t){return t.some(t=>H(vi,t,()=>{let e=``;for(let[n,r]of t.matchAll(/\[([^\]]*)\]|./gs))e+=r===void 0?n===`*`?`[^/]*`:n===`?`?`[^/]`:R(n):`[${r.replace(/\\/g,`\\\\`)}]`;return RegExp(`^${e}(?:/.*)?$`)}).test(e))}function bi(e,t,n){return yi(e,n)?[{url:`direct`,fallback:`,`}]:t.goProxyChain}function xi(e){return e.replace(/[A-Z]/g,e=>`!${e.toLowerCase()}`)}const Si=/\/v(\d+)$/,Ci=/^gopkg\.in\/.*?\.v(\d+)$/;function wi(e,t=1){let n=Ci.exec(e)??Si.exec(e);return n?Number.parseInt(n[1]):t}function Ti(e,t){if(e.startsWith(`gopkg.in/`))return`${e.replace(/\.v\d+$/,``)}.v${t}`;let n=e.replace(Si,``);return t<=1?n:`${n}/v${t}`}function Ei(e,t){if(t.includes(`+incompatible`))return e;let n=Number.parseInt(X(t));return Number.isNaN(n)||n===wi(e)?e:Ti(e,n)}const Di=/^(module|require|replace|exclude|tool|use)(?:\s*\(\s*(?:\/\/.*)?$|\s+(.+)$)/,Oi=/^(\S+)\s+(v\S+)/,ki=/^(\S+)(?:\s+(v\S+))?\s+=>\s+(\S+)(?:\s+(v\S+))?/,Ai=e=>e.replace(/^"(.*)"$/,`$1`),ji=/^v(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)(?:-(?:0|[1-9]\d*|\d*[a-z-][\da-z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-z-][\da-z-]*))*)?(?:\+[\da-z-]+(?:\.[\da-z-]+)*)?$/i,Mi=e=>ji.test(e)&&!e.endsWith(`-00010101000000-000000000000`),Ni=e=>e.startsWith(`./`)||e.startsWith(`/`)||e.startsWith(`../`);function Pi(e){let t=ki.exec(e);return t&&{origModule:Ai(t[1]),origVersion:t[2]??``,targetModule:Ai(t[3]),targetVersion:t[4]??``}}function*Fi(e){let t=null;for(let[n,r]of e.entries()){let e=r.trim();if(!e||e.startsWith(`//`))continue;if(t){/^\)\s*(?:\/\/.*)?$/.test(e)?t=null:yield{kind:t,value:e,lineNumber:n};continue}let i=Di.exec(e);i&&(i[2]===void 0?t=i[1]:yield{kind:i[1],value:i[2],lineNumber:n})}}function Ii(e){for(let{kind:t,value:n}of Fi(e.split(/\r?\n/)))if(t===`module`)return Ai(n.split(/\s/,1)[0]);return``}function Li(e){let t={},n={},r={},i={},a={},o=/* @__PURE__ */ new Set,s=[];for(let{kind:i,value:c}of Fi(e.split(/\r?\n/)))if(i===`tool`)s.push(Ai(c.split(/\s/,1)[0]));else if(i===`replace`){let e=Pi(c);e&&Mi(e.targetVersion)&&!Ni(e.targetModule)&&(r[e.targetModule]=e.targetVersion),e&&!e.origVersion&&o.add(e.origModule)}else if(i===`exclude`||i===`require`){let e=Oi.exec(c);if(!e)continue;i===`exclude`?(a[Ai(e[1])]??=[]).push(e[2]):Mi(e[2])&&((c.includes(`// indirect`)?n:t)[Ai(e[1])]=e[2])}for(let e of o)delete t[e],delete n[e];let c=/* @__PURE__ */ new Set([...Object.keys(n),...Object.keys(t)]);for(let e of s){let r=e;for(;r&&!c.has(r);)r=r.includes(`/`)?r.slice(0,r.lastIndexOf(`/`)):``;let a=n[r]?n:t;a[r]&&(i[r]=a[r],delete a[r])}return{deps:t,indirect:n,replace:r,tool:i,...Object.keys(a).length&&{exclude:a}}}const Ri=/* @__PURE__ */ new WeakMap;function zi(e,t,n){let r=/\|(?:[^:]*:)?(.*)/s.exec(t)?.[1]??``,i=H(Ri,n,()=>/* @__PURE__ */ new Map);for(let t of r?[m(e,r,`go.mod`),m(e,`go.mod`)]:[m(e,`go.mod`)]){let e=g(t),n=H(i,e,()=>{try{return new Map(Object.entries(Li(C(e,`utf8`)).exclude??{}).map(([e,t])=>[e,new Set(t)]))}catch{return null}});if(n)return n}return/* @__PURE__ */ new Map}async function Bi(e,t,n,r,i){let a=async(e,a)=>{let{latest:o,fallback:s}=await r(e,a),c=o&&!n.get(e)?.has(o.Version)?o:await s();return!c||!i||i.accepts(X(c.Version))||!i.pinAllowsDowngrade&&!ot(c.Version,t)?c:await L(s(i))??(a===`probe`?{...c,accepted:!1}:c)},o=wi(e),s=async t=>{let n=await L(a(Ti(e,t),`probe`));return n&&Number.parseInt(X(n.Version))===t?n:null},[c,l]=await Promise.all([a(e,`primary`),e.startsWith(`golang.org/x/`)||i?.allowMajor===!1?null:s(o+1)]);if(!c)return null;let u=[],d=l;for(let e=o+2;d;e++)d.accepted!==!1&&u.push(d),d=await s(e);let f=u.findLast(e=>!yn(e.Version))??u.at(-1)??c;return[{name:e,old:t,new:X(f.Version),Time:f.Time,...f.path!==e&&{newPath:f.path},sameMajorNew:X(c.Version),sameMajorTime:c.Time},null]}function Vi(e,t){return/* @__PURE__ */ Error(`go list -m ${e} failed: ${String(t?.stderr??``).trim().split(`
10
+ `)[0]||t?.message||String(t)}`)}function Hi(e,n,r,i,a,o){let s=async(e,n,a)=>{let o=`${e}@${a??`latest`}`;try{let s=[`list`,`-m`,`-mod=readonly`,...a?[]:[`-versions`],`-json`,o],{stdout:c}=await i.execFile(`go`,s,{timeout:n,cwd:r,env:{...t,GOPROXY:`direct`}}),l=JSON.parse(c);return{Version:l.Version,Time:l.Time||``,path:e,Versions:l.Versions}}catch(e){throw Vi(o,e)}};return Bi(e,n,a,async(e,t)=>{let n=t===`probe`?i.goProbeTimeout:i.fetchTimeout,r=await s(e,n);return{latest:r,fallback:async t=>{let i=Xi((r.Versions??[]).join(`
11
+ `),wi(e,0),a.get(e),t);if(!i&&!t)throw Error(`No non-excluded versions found for ${e}`);return i&&s(e,n,i.Version)}}},o)}async function Ui(e,t,n,r,i){let a=new URL(n),{username:o,password:s}=a,{headers:c}=rn(`Basic`,o||s?ue.from(`${decodeURIComponent(o)}:${decodeURIComponent(s)}`).toString(`base64`):``),l=sn(a.href),u=await(t===`primary`?ln(e,l,{headers:c}):e.doFetch(l,{signal:AbortSignal.timeout(e.goProbeTimeout),headers:c}));if(u.ok)return u;if(u.status===404||u.status===410)return null;cr(u,l,r,sn(new URL(i).href))}async function Wi(e,t,n){try{let t=await e.json();if(t?.Version)return{Version:t.Version,Time:t.Time||``,path:n}}catch{}throw Error(`Invalid response from ${sn(new URL(t).href)}`)}const Gi=/* @__PURE__ */ new WeakMap,Ki=/* @__PURE__ */ new WeakMap;function qi(e,t,n,r){return Z(Gi,e,`latest${t}${n}/${r}`,async()=>{let i=`${n}/${xi(r)}/@latest`,a=await Ui(e,t,i,r,n);return a&&Wi(a,i,r)})}function Ji(e){let t=[];for(let n of e.split(`
12
+ `)){let[e,r]=n.trim().split(/\s+/);e&&tt(e)&&t.push({Version:e,Time:r??``})}return t}function Yi(e,t,n,r){let i=null;for(let a of e)if(!(n.has(a.Version)||r&&!r.accepts(X(a.Version)))&&!(t&&Number.parseInt(X(a.Version))!==t)){if(i){let e=yn(a.Version);if(r||e===yn(i.Version)?!ot(a.Version,i.Version):e)continue}i=a}return i}function Xi(e,t=0,n=/* @__PURE__ */ new Set,r){return Yi(Ji(e),t,n,r)}async function Zi(e,t,n,r,i=/* @__PURE__ */ new Set,a){let o=xi(r),s=await Z(Ki,e,`${t}${n}/${r}`,async()=>{let i=await Ui(e,t,`${n}/${o}/@v/list`,r,n);return i&&{versions:Ji(await i.text()),picks:/* @__PURE__ */ new Map}}),c=s&&H(H(s.picks,a?.accepts,()=>/* @__PURE__ */ new Map),Array.from(i).sort().join(`\0`),()=>Yi(s.versions,wi(r,0),i,a));if(!c)return null;if(c.Time)return{...c,path:r};let l=`${n}/${o}/@v/${xi(c.Version)}.info`;try{let i=await Z(Gi,e,`info${t}${l}`,async()=>{let i=await Ui(e,t,l,r,n);return i&&Wi(i,l,r)});if(i)return i}catch{}return{...c,path:r}}function Qi(e,t,n,r,i,a){let o=qi(r,`primary`,e,t);return Bi(t,n,i,async(t,n)=>{let[a,s]=await Promise.all([qi(r,n,e,t),o]);return{latest:a,fallback:o=>!a&&s?Promise.resolve(null):Zi(r,n,e,t,i.get(t),o)}},a)}async function $i(e,t,n,r,i,a,o){let s=zi(r,t,i);for(let{url:t,fallback:c}of bi(e,i,a))try{if(t===`off`)throw Error(`Module lookup disabled by GOPROXY=off`);let a=t===`direct`?await Hi(e,n,r,i,s,o):await Qi(t,e,n,i,s,o);if(a)return a}catch(e){if(c===`,`)throw e}throw Error(`Unable to find ${e} on any GOPROXY entry`)}const ea=e=>`("?)${R(e)}\\2`,ta=(e,t,n)=>RegExp(`(${e})${ea(t)}(\\s+)v${n}(?=\\s*(?://.*)?$)`);function na(e,t){let n={},r=Object.entries(t);if(!r.length)return[e,n];let i=e.match(/\r?\n/g)??[],a=e.split(/\r?\n/),o=(e=[],t,n)=>{let r=!1;for(let i of e){let e=a[i];a[i]=e.replace(t,(e,t,r,i)=>n(t,r,i)),r||=a[i]!==e}return r},s=/* @__PURE__ */ new Map,c=/* @__PURE__ */ new Map,l=/* @__PURE__ */ new Map;for(let{kind:e,value:t,lineNumber:n}of Fi(a))if(e===`require`){let e=Oi.exec(t);e&&V(s,Ai(e[1]),n)}else if(e===`replace`){let e=Pi(t);e&&V(c,e.targetModule,{...e,lineNumber:n})}else if(e===`tool`){let e=Ai(t.split(/\s/,1)[0]);for(;e;)V(l,e,n),e=e.includes(`/`)?e.slice(0,e.lastIndexOf(`/`)):``}for(let[e,{old:t,oldOrig:i,new:a}]of r){let[r,u]=e.split(`\0`),d=i||t,f=Ei(u,a),p=(e,t,n)=>`${e}${t}${f}${t}${n}v${a}`,m=R(d);if(r===`replace`){m=null;for(let{targetVersion:e,origModule:t,origVersion:n,lineNumber:r}of c.get(u)??[])X(e)===d&&(o([r],ta(`=>\\s+`,u,R(d)),p),!(f===u||t!==u||n)&&(o([r],RegExp(`(^\\s*(?:replace\\s+)?)${ea(u)}(?=\\s+=>)`),(e,t)=>`${e}${t}${f}${t}`),m=`\\S+`))}m!==null&&o(s.get(u),ta(`^\\s*(?:require\\s+)?`,u,m),p)&&f!==u&&(n[u]=f),r===`tool`&&f!==u&&o(l.get(u),RegExp(`(^\\s*(?:tool\\s+)?)("?)${R(u)}((?:/[^"\\s]+)?)\\2(?=\\s*(?://.*)?$)`),(e,t,n)=>`${e}${t}${f}${n}${t}`)}return[a.map((e,t)=>`${e}${i[t]??``}`).join(``),n]}const ra=/\s+|\/\/[^\n]*(?:\n|$)|\/\*[\s\S]*?(?:\*\/|$)|[A-Za-z_][A-Za-z0-9_]*|"(?:\\[\s\S]|[^"\\])*(?:"|$)|`[^`]*(?:`|$)|'(?:\\[\s\S]|[^'\\])*(?:'|$)|./g;function ia(e,t){let n=Object.entries(t).sort(([e],[t])=>t.length-e.length);if(!n.length)return e;let r=[],i=(e,t)=>{if(!`"'\``.includes(e[0]))return!1;if(e[0]===`'`)return!0;let i=e.slice(1,-1),a=n.find(([e])=>i===e||i.startsWith(`${e}/`));return a&&r.push({start:t+1,end:t+e.length-1,value:`${a[1]}${i.slice(a[0].length)}`}),!0},a=!1,o=0;for(let t of e.matchAll(ra)){let e=t[0];/^\s/.test(e)||e.startsWith(`//`)||e.startsWith(`/*`)||(a?e===`)`?a=!1:i(e,t.index):e===`import`?o=2:o&&e===`(`?(a=!0,o=0):o&&(i(e,t.index)||--o===0)&&(o=0))}let s=e;for(let e of r.reverse())s=`${s.slice(0,e.start)}${e.value}${s.slice(e.end)}`;return s}const aa=e=>{let t=d(e);return t===`vendor`||t===`testdata`||t[0]===`_`};function oa(e,t,n){if(!Object.keys(t).length)return;let r=/* @__PURE__ */ new Map,i=t=>t.length>e.length&&H(r,t,()=>y(m(t,`go.mod`))||i(f(t)));for(let r of b(`**/*.go`,{cwd:e,exclude:aa})){let a=m(e,r);if(i(f(a)))continue;let o=C(a,`utf8`),s=ia(o,t);s!==o&&n(a,s)}}function sa(e){let t=[],n={};for(let{kind:r,value:i}of Fi(e.split(/\r?\n/)))if(r===`use`)t.push(i.split(/\s/,1)[0]);else if(r===`replace`){let e=Pi(i);e&&Mi(e.targetVersion)&&!Ni(e.targetModule)&&(n[e.targetModule]=e.targetVersion)}return{use:t,replace:n}}function ca(e,t){try{return T(m(T(g(e)),t,`go.mod`))}catch{return null}}function la(e){let t=`https://${ua(e)}`,n=new URL(t),[r,i,a,...o]=n.pathname.split(`/`);return o.length?(n.pathname=`/${i}/${a}/${ur(t)}/${o.join(`/`)}`,n.href):t}function ua(e){return Si.test(e)?f(e):e}function da(e){return e.replace(/(\d{7})\d{7}-[0-9a-f]{12}$/,`$1`)}function fa(e){return/^\/.+\/$/.test(e)?new RegExp(e.slice(1,-1)):e}function pa(e){return e.replace(/-(.)/g,(e,t)=>t.toUpperCase())}function ma(t){if(!t)return e();let n=g(t);try{if(E(n).isDirectory())return n}catch{}return f(n)}function ha(e){let{tokens:t}=s({args:e,strict:!1,allowPositionals:!0,tokens:!0,options:ii}),n=Object.create(null),r=/* @__PURE__ */ new Set,i=(e,t)=>{ii[e]?.multiple?(n[e]??=[]).push(t):n[e]=t};for(let[e,a]of t.entries()){if(a.kind!==`option`)continue;if(!si(a.name))throw Error(`Unknown option: ${a.rawName}`);if(ii[a.name]?.type===`string`&&a.value===void 0&&!ai.has(a.name))throw Error(`Missing value for --${a.name}`);if(a.inlineValue||!a.value?.startsWith(`-`)){i(a.name,a.value??!0);continue}let o=a.value.startsWith(`--`),s=t[e+1],c=s?.kind===`positional`?s.value:void 0,l=[],u=a.value.substring(o?2:1),d=!1;for(let[e,t]of(o?[u]:u.split(``)).entries()){let n=si(t);if(!n){l.length=0;break}if(ii[n].type===`boolean`){l.push({key:n,value:!0});continue}let r=o?``:u.substring(e+1);d=!r&&c!==void 0,l.push({key:n,value:r||!d||c});break}if(!l.length)i(a.name,a.value);else{!ii[a.name]?.multiple||ai.has(a.name)?i(a.name,!0):n[a.name]??=[],d&&r.add(e+1);for(let{key:e,value:t}of l)i(e,t)}}return{args:n,positionals:t.flatMap((e,t)=>e.kind===`positional`&&!r.has(t)?e.value:[])}}function ga(e,t){let n={},r=(e,t)=>{t.length&&(n[e]=t)};for(let t of[`json`,`verbose`,`no-cache`,`update`,`indirect`,`error-on-outdated`,`error-on-unchanged`])e[t]&&(n[pa(t)]=!0);e.color&&(n.color=!0,n.noColor=!1),e[`no-color`]&&(n.color=!1,n.noColor=!0),typeof e.timeout==`string`&&(n.timeout=Le(e.timeout,`timeout`)),typeof e.sockets==`string`&&(n.sockets=Le(e.sockets,`sockets`));for(let t of[`registry`,`cooldown`,`forgeapi`,`pypiapi`,`jsrapi`,`goproxy`,`cargoapi`,`dockerapi`])typeof e[t]==`string`&&(n[t]=e[t]);for(let t of[`include`,`exclude`])r(t,li(e[t]).map(fa));r(`types`,li(e.types));let i=di(e.pin);Object.keys(i).length&&(n.pin=i),r(`modes`,li(e.modes));for(let t of ai){let r=oi(e[t]);r!==!1&&(n[pa(t)]=r===!0||Array.from(r,fa))}r(`files`,t);for(let t of[`include-paths`,`exclude-paths`])r(pa(t),li(e[t],ze));return n}async function _a(e,t){let n=[...li(e.file),...t],r=await mi(ma(n[0])),i=ga(e,n);return Object.defineProperty({...r,pin:void 0,...i},ri,{value:{cliKeys:Object.keys(i)}})}function va(e,t,n){return e.some(e=>e===`--${t}`||/^-[^-]/.test(e)&&e.includes(n)&&Array.from(e.slice(1,e.indexOf(n))).every(e=>ii[si(e)]?.type!==`string`))}async function ya(e,t){let n=li(e.file),r=ma(n[0]??t[0]),i=await pi(r)??{},{prewarmOrigins:a}=await import(`./prewarm.js`);for(let t of a(r,{...i,...ga(e,n)})){let e=t.endsWith(`/rate_limit`)?`GET`:`HEAD`;(async()=>{try{await(await fetch(t,{method:e})).arrayBuffer()}catch{}})()}}function ba(e,t){if(typeof e!=`string`)throw Error(`Missing value for --${t}`);return Bn(new URL(e.includes(`://`)?e:`https://${e}`).host)}function xa(e,t){return e.setEncoding(`utf8`),e.setRawMode(!0),a.write(t),new Promise(t=>{let r=``,i=o=>{for(let s of o)if(!`\r
13
+ `.includes(s))r=s===`\b`||s===``?r.slice(0,-1):r+s;else return e.off(`data`,i),e.setRawMode(!1),e.pause(),a.write(`
14
+ `),(s===``||s===``)&&n(130),t(r)};e.on(`data`,i)})}async function Sa(e,t){let n=(`isTTY`in e&&e.isTTY?await xa(e,`token for ${t}: `):await ee(e)).trim();if(!n)throw Error(`token for ${t} is empty`);if(/[\s\p{C}]/u.test(n))throw Error(`token for ${t} contains invalid characters`);return n}async function Ca(e,t,n=!0){let r=String,i=String,a=va(e,`json`,`j`),s=e=>t.stdout(`${e}\n`);try{if(va(e,`help`,`h`))return t.stdout(`usage: updates [options] [files...]
11
15
 
12
16
  Options:
13
17
  -u, --update Update versions and write dependency file
@@ -57,22 +61,18 @@ import{cwd as e,env as t,exit as n,pid as r,platform as i,stderr as a,stdin as o
57
61
  $ updates -f docker-compose.yml
58
62
  $ updates -f Makefile
59
63
  $ updates -f build.sh
60
- `),0;if(Bi(e,`version`,`v`)){let e;try{e=C(new URL(`package.json`,t.moduleUrl),`utf8`)}catch{e=C(new URL(`../package.json`,t.moduleUrl),`utf8`)}return s(JSON.parse(e).version),0}let{args:c,positionals:l}=Li(e);if(c.login!==void 0){let e=Hi(c.login,`login`),n=await Wi(t.stdin??o,e),r=await hr(e,n,typeof c.forgeapi==`string`?Pn(c.forgeapi):void 0);return await On(e,n),s(`stored token for ${e} (${r})`),0}if(c.logout!==void 0){let e=Hi(c.logout,`logout`);if(!await kn(e))throw Error(`no stored token for ${e}`);return s(`removed token for ${e}`),0}try{n&&await Vi(c,l)}catch{}let d=await zi(c,l),{updates:f}=await import(`./api.js`);!d.noColor&&(d.color||t.stdoutIsTTY)&&(r=e=>u(`red`,e,{validateStream:!1}),i=e=>u(`green`,e,{validateStream:!1})),a=!!d.json;let p=await f(d),m=Object.keys(p.results),h=m.length>0,g=p.errors??[];if(d.json)s(JSON.stringify({...p.message&&{message:p.message},...h&&{results:p.results},...g.length&&{errors:g}}));else{if(p.message?s(p.message):h&&s(Ki(p,r,i)),d.update)for(let e of m)s(i(`✨ ${e} updated`));for(let{mode:e,name:t,error:n}of g)s(r(`${e} ${t}: ${n}`))}return g.length?1:d.errorOnOutdated?h?2:0:d.errorOnUnchanged?h?0:2:0}catch(e){let t=e.message??String(e);return s(a?JSON.stringify({error:t}):r(t)),1}}function Ki(e,t,n){let r=Object.keys(e.results),i=r.length>1,a=[[`NAME`,...i?[`MODE`]:[],`OLD`,`NEW`,`AGE`,`INFO`]],o=/* @__PURE__ */ new Set;for(let s of r){let r=Object.values(e.results[s]).flatMap(e=>Object.entries(e));for(let[e,c]of r.sort(([e],[t])=>e<t?-1:+(e>t))){let r=`${s}|${e}|${c.old}|${c.new}`;o.has(r)||(o.add(r),a.push([s===`go`?Mi(e):e,...i?[s]:[],he(c.old,c.new,t),he(c.new,c.old,n),c.age||``,c.info||``]))}}return Le(a,e=>l(e).length)}const qi=/^\[\[([^\]]+)\]\]$/,Ji=/^\[([^[\]]+)\]$/,Yi=()=>Object.create(null);function Xi(e){let t=Yi(),n=t,r=e.split(/\r?\n/);for(let e=0;e<r.length;e++){let i=na(r[e]).trim();if(!i)continue;let a=qi.exec(i);if(a){let e=t,r=ta(a[1]),i=r.pop();for(let t of r){let n=e[t],r=Array.isArray(n)?n.at(-1):void 0;e=typeof r==`object`&&!Array.isArray(r)?r:ia(e,[t])}Array.isArray(e[i])||(e[i]=[]),n=Yi(),e[i].push(n);continue}let o=Ji.exec(i);if(o){n=ia(t,ta(o[1]));continue}let s=ra(i,`=`);if(s<0)continue;let c=i.slice(s+1).trim(),l=ta(i.slice(0,s)),u=l.pop(),d=ia(n,l),f=c.startsWith(`"""`)&&!c.includes(`"""`,3)?`"""`:c.startsWith(`'''`)&&!c.includes(`'''`,3)?`'''`:``,p={depth:0,inStr:null};if((c.startsWith(`[`)||c.startsWith(`{`))&&!$i(c,p)){let t=[c];for(e++;e<r.length;e++){let n=na(r[e]);if(t.push(n),$i(n,p))break}d[u]=Zi(t.join(`
61
- `))}else if(f){let t=c.slice(3);for(e++;e<r.length;e++){let n=r[e].indexOf(f);if(t+=(t?`
62
- `:``)+(n<0?r[e]:r[e].slice(0,n)),n>=0)break}d[u]=Zi(f+t+f)}else d[u]=Zi(c)}return t}function Zi(e){if(e.startsWith(`[`)){let t=[],n=e.lastIndexOf(`]`);for(let r of ea(e.slice(1,n<0?e.length:n))){let e=r.trim();e&&t.push(Zi(e))}return t}return e.startsWith(`{`)?Qi(e):e.startsWith(`"""`)?oa(e.slice(3,e.lastIndexOf(`"""`))):e.startsWith(`'''`)?e.slice(3,e.lastIndexOf(`'''`)):e.startsWith(`"`)?oa(e.slice(1,e.lastIndexOf(`"`))):e.startsWith(`'`)?e.slice(1,e.lastIndexOf(`'`)):e===`true`?!0:e===`false`?!1:/^[+-]?\d+(\.\d+)?$/.test(e)?Number(e):e}function Qi(e){let t=Yi();for(let n of ea(e.slice(1,e.lastIndexOf(`}`)))){let e=n.indexOf(`=`);e>=0&&(t[n.slice(0,e).trim().replace(/^["']|["']$/g,``)]=Zi(n.slice(e+1).trim()))}return t}function $i(e,t){for(let n=0;n<e.length;n++){let r=e[n];if(t.inStr){if(r===`\\`&&t.inStr===`"`){n++;continue}r===t.inStr&&(t.inStr=null)}else if(r===`"`||r===`'`)t.inStr=r;else if(r===`{`||r===`[`)t.depth++;else if((r===`}`||r===`]`)&&(t.depth--,!t.depth))return!0}return!1}function ea(e){let t=[],n=0,r=null,i=0;for(let a=0;a<e.length;a++){let o=e[a];if(r){if(o===`\\`&&r===`"`){a++;continue}o===r&&(r=null)}else o===`"`||o===`'`?r=o:o===`{`||o===`[`?n++:o===`}`||o===`]`?n--:o===`,`&&n===0&&(t.push(e.slice(i,a)),i=a+1)}return i<e.length&&t.push(e.slice(i)),t}function ta(e){let t=[],n=``,r=null;for(let i=0;i<e.length;i++){let a=e[i];if(r){if(a===`\\`&&r===`"`&&i+1<e.length){n+=a+e[++i];continue}if(a===r){r===`"`&&(n=oa(n)),r=null;continue}n+=a}else a===`"`||a===`'`?r=a:a===`.`?(t.push(n.trim()),n=``):n+=a}return n.trim()&&t.push(n.trim()),t}function na(e){let t=ra(e,`#`);return t<0?e:e.slice(0,t)}function ra(e,t,n){let r=null;for(let i=0;i<e.length;i++){let a=e[i];if(r){if(a===`\\`&&r===`"`){i++;continue}a===r&&(r=null)}else if(a===`"`||a===`'`)r=a;else if(a===t)return i;else if(a===n)return-1}return-1}function ia(e,t){for(let n of t)(typeof e[n]!=`object`||Array.isArray(e[n]))&&(e[n]=Yi()),e=e[n];return e}const aa={b:`\b`,f:`\f`,n:`
63
- `,r:`\r`,t:` `};function oa(e){return e.replace(/\\(["\\bfnrt]|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})/g,(e,t)=>t.length>1?String.fromCodePoint(Number.parseInt(t.slice(1),16)):aa[t]??t)}const sa=[[1e3,6e4,`sec`,`s`,`second`],[6e4,36e5,`min`,`m`,`minute`],[36e5,864e5,`hour`,`h`],[864e5,6048e5,`day`,`d`],[6048e5,2628e6,`week`,`w`],[2628e6,31536e6,`month`,`mo`],[31536e6,1/0,`year`,`y`]],ca={"1 day ago":`yesterday`,"1 week ago":`last week`,"1 month ago":`last month`,"1 year ago":`last year`,"in 1 day":`tomorrow`,"in 1 week":`next week`,"in 1 month":`next month`,"in 1 year":`next year`};function la(e){return typeof e==`number`?e:e instanceof Date?e.getTime():Date.parse(e)}function ua(e,{now:t,noAffix:n=!1,times:r=sa,nowThreshold:i=2e3,nowString:a=`now`,unknownString:o,aliases:s=!1,aliasesMap:c=ca,longUnits:l=!1,shortUnits:u=!1}={}){let d=(t===void 0?Date.now():la(t))-la(e);if(Number.isNaN(d))return o||String(e);let f=d<0;if(f&&(d=-d),d<i)return a;let p=``;for(let e=0,t=r.length;e<t;e++){let t=r[e];if(d>=t[1])continue;let n=Math.trunc(d/t[0]);p=u?`${n}${t[3]||t[2]}`:`${n} ${l&&t[4]||t[2]}${n===1?``:`s`}`;break}let m=n?p:f?`in ${p}`:`${p} ago`;return s?c[m]??m:m}function da(e){if(/^\s*\{/.test(e))return JSON.parse(e);let t={};for(let n of e.split(/[\r\n]+/)){let e=n.trim(),r=e.indexOf(`=`);if(r===-1||e.startsWith(`#`)||e.startsWith(`;`))continue;let i=e.slice(r+1).trim();if(/^'.*'$/s.test(i))i=i.slice(1,-1);else if(/^".*"$/s.test(i))try{i=JSON.parse(i)}catch{}else i=i.replace(/\\([\\;#])|[;#].*$/g,`$1`).trim();t[e.slice(0,r).trim()]=i}return t}function fa(e){try{return da(C(e,`utf-8`))}catch{return}}function pa(e,t){return Ke(t,t=>{let n=m(t,e);try{if(ee(n).isFile())return n}catch{}return null})}function ma(e){let n={},r=e.toLowerCase();for(let[i,a]of Object.entries(t)){if(!i.toLowerCase().startsWith(r))continue;let t=i.substring(e.length).split(`__`).filter(Boolean),o=t.pop();if(!o)continue;let s=n;for(let e of t)s[e]??={},s=typeof s[e]==`object`?s[e]:{};s[o]=a}return n}function ha(n,r={},a=e()){let o=i===`win32`?t.USERPROFILE:t.HOME,s=ma(`${n}_`),c=/* @__PURE__ */ new Set([...i===`win32`?[]:[m(`/etc`,n,`config`),m(`/etc`,`${n}rc`)],...o?[m(o,`.config`,n,`config`),m(o,`.config`,n),m(o,`.${n}`,`config`),m(o,`.${n}rc`)]:[],pa(`.${n}rc`,a),s.config]);return Object.assign({},r,...Array.from(c).filter(Boolean).map(fa),s)}function ga(e){let t=e.indexOf(`|`);return t===-1?e:e.slice(0,t)}const _a=/* @__PURE__ */ new WeakMap;function va(e,t){let n=V(_a,e,()=>{let t=/* @__PURE__ */ new Map;for(let[n,r]of Object.entries(e)){let e=n.split(`\0`,1)[0],i=e.indexOf(`|`);B(t,i===-1?`.`:e.slice(i+1),[`${ga(e)}${n.slice(e.length)}`,r])}return t});return Object.fromEntries(n.get(t)??[])}const ya=/[*?{[]/,ba=/* @__PURE__ */ new Set([`node_modules`,`bower_components`]);function xa(e,t){return b(e,{cwd:t,exclude:e=>ba.has(e.name),withFileTypes:!0}).filter(e=>e.isDirectory()||e.isSymbolicLink()).map(e=>g(e.parentPath,e.name))}async function Sa(e,t,n,r=32){let i=await se(t),a=new Set(e.filter(e=>e.startsWith(`!`)).flatMap(e=>xa(e.slice(1),t)).map(e=>h(t,e).replace(/\\/g,`/`))),o=/* @__PURE__ */ new Map;for(let n of e)if(!n.startsWith(`!`))for(let e of ya.test(n)?xa(n,t):[g(m(t,n))]){let n=h(t,e).replace(/\\/g,`/`);!a.has(n)&&!o.has(e)&&o.set(e,`./${n}`)}return(await P(o,async([e,t])=>{try{let r=await se(m(e,n)),a=h(i,r);return a===`..`||a.startsWith(`..${_}`)||p(a)?null:{absPath:r,content:await D(r,`utf8`),memberPath:t}}catch{return null}},{concurrency:r})).filter(e=>e!==null)}const Ca=/^(\s*)(?:"([^"]*)"|'([^']*)'|([^\s#](?:[^:#]|:(?=\S))*?))\s*:(?:\s+(.*))?$/,wa=/\s#/;function Ta(e){let t=Ca.exec(e);if(!t)return null;let[n,r,i,a,o,s=``]=t,c=e.length-s.length,l=s.startsWith(`#`)?0:s.search(wa),u=(l===-1?s:s.slice(0,l)).trimEnd(),d=u[0];return(d===`"`||d===`'`)&&u.length>1&&u.endsWith(d)&&(u=u.slice(1,-1),c+=1),{indent:r.length,key:i??a??o,value:u,valueIndex:c}}function Ea(e){let t=[],n=1,r=-1,i=0,a=``;for(let o=1;o<e.length-1;o++){let s=e[o];if(a)s===`\\`&&a===`"`||s===a&&a===`'`&&e[o+1]===`'`?o++:s===a&&(a=``);else if(s===`"`||s===`'`)a=s;else if(s===`{`||s===`[`)i++;else if(s===`}`||s===`]`){if(i===0)return[];i--}else s===`:`&&i===0&&r===-1?r=o-n:s===`,`&&i===0&&(t.push({colon:r,start:n,text:e.slice(n,o)}),n=o+1,r=-1)}return a||i!==0?[]:(t.push({colon:r,start:n,text:e.slice(n,-1)}),t)}function Da(e){let t=e.length-e.trimStart().length,n=e.trim();if(!n)return null;let r=n[0];if(r===`"`||r===`'`){let e=n.indexOf(r,1);return e===-1?null:{value:n.slice(1,e),valueIndex:t+1}}let i=n.search(wa);return{value:(i===-1?n:n.slice(0,i)).trimEnd(),valueIndex:t}}function Oa(e,t){if(!e.startsWith(`{`)||!e.endsWith(`}`))return[];let n=[];for(let r of Ea(e)){if(r.colon===-1)return[];let e=Da(r.text.slice(0,r.colon)),i=Da(r.text.slice(r.colon+1));if(!e||!i)return[];n.push({key:e.value,value:i.value,valueIndex:t+r.start+r.colon+1+i.valueIndex})}return n}function ka(e){let t,n={},r=!1;for(let i of e.split(/\r?\n/)){let e=Ta(i);if(e?.indent===0){if(r=e.key===`registries`,e.key===`registry`&&e.value&&(t=e.value),r)for(let t of Oa(e.value,e.valueIndex))n[t.key]=t.value}else r&&e?.value&&(n[e.key]=e.value)}return{registry:t,registries:Object.fromEntries(Object.entries(n).filter(([e,t])=>!t.includes("${")))}}function Aa(e){try{return{content:C(e,`utf8`)}}catch(e){if(e.code!==`ENOENT`)throw e;return null}}function ja(e){let t={},n=[{indent:-1,map:t}];for(let t of e.split(/\r?\n/)){let e=Ta(t);if(!e)continue;for(;e.indent<=n.at(-1).indent;)n.pop();let r=n.at(-1).map;r[e.key]=e.value||{},e.value||n.push({indent:e.indent,map:r[e.key]})}return t}function Ma(e,t){let n={tokens:{},registries:{}};try{let t=typeof e==`string`?JSON.parse(e):e??{};for(let[e,r]of Object.entries(t)){let{host:t,pathname:i,href:a}=new URL(e);for(let[e,{authToken:o}]of Object.entries(r))typeof o==`string`&&(n.tokens[`//${t}${i.replace(/\/$/,``)}/:${e===`@`?``:`${e}:`}_authToken`]=o,n.registries[e===`@`?`default`:e]=a)}}catch(e){throw Error(`Invalid _auth in ${t}: ${e.message}`)}return n}const Na=/* @__PURE__ */ new Map;function Pa(e){return V(Na,e,()=>ka(Ke(g(e),e=>Aa(m(e,`pnpm-workspace.yaml`)))?.content??``))}const Fa=/* @__PURE__ */ new Map;function Ia(){return t.XDG_CONFIG_HOME?m(t.XDG_CONFIG_HOME,`pnpm`):i===`darwin`?m(j(),`Library/Preferences/pnpm`):i===`win32`&&t.LOCALAPPDATA?m(t.LOCALAPPDATA,`pnpm/config`):m(j(),`.config/pnpm`)}function La(){let e=Ia();return V(Fa,e,()=>{let t=Aa(m(e,`config.yaml`))?.content??``;return{...ka(t),auth:Ma(ja(t)._auth,`config.yaml`)}})}const Ra=(e,{value:t,valueIndex:n},r)=>Oa(t,n).map(t=>({type:e,name:t.key,value:t.value,lineIndex:r,valueIndex:t.valueIndex}));function*za(e){let t=``,n=``,r=-1;for(let[i,a]of e.split(`
64
- `).entries()){let e=Ta(a);if(!e)continue;let{indent:o,key:s,value:c,valueIndex:l}=e;if(o===0){if(t=s,n=s,r=-1,s===`catalog`)yield*Ra(s,e,i);else if(s===`catalogs`)for(let e of Oa(c,l))yield*Ra(`catalogs.${e.key}`,e,i)}else t===`catalogs`&&(r===-1||o<=r)?(n=`catalogs.${s}`,r=o,yield*Ra(n,e,i)):c&&(t===`catalog`||t===`catalogs`)&&(yield{type:n,name:s,value:c,lineIndex:i,valueIndex:l})}}function Ba(e,t){let n;for(let{type:r,name:i,value:a,lineIndex:o,valueIndex:s}of Array.from(za(e)).reverse()){let c=t[`${r}${i}`];if(!c||(c.oldOrig||c.old)!==a)continue;let l=(n??=e.split(`
64
+ `),0;if(va(e,`version`,`v`)){let e;try{e=C(new URL(`package.json`,t.moduleUrl),`utf8`)}catch{e=C(new URL(`../package.json`,t.moduleUrl),`utf8`)}return s(JSON.parse(e).version),0}let{args:c,positionals:l}=ha(e);if(c.login!==void 0){let e=ba(c.login,`login`),n=await Sa(t.stdin??o,e),r=await Hn(e,n,typeof c.forgeapi==`string`?nn(c.forgeapi):void 0);return await Zt(e,n),s(`stored token for ${e} (${r})`),0}if(c.logout!==void 0){let e=ba(c.logout,`logout`);if(!await Qt(e))throw Error(`no stored token for ${e}`);return s(`removed token for ${e}`),0}try{n&&await ya(c,l)}catch{}let d=await _a(c,l),{updates:f}=await import(`./api.js`);!d.noColor&&(d.color||t.stdoutIsTTY)&&(r=e=>u(`red`,e,{validateStream:!1}),i=e=>u(`green`,e,{validateStream:!1})),a=!!d.json;let p=await f(d),m=Object.keys(p.results),h=m.length>0,g=p.errors??[];if(d.json)s(JSON.stringify({...p.message&&{message:p.message},...h&&{results:p.results},...g.length&&{errors:g}}));else{if(p.message?s(p.message):h&&s(wa(p,r,i)),d.update)for(let e of m)s(i(`✨ ${e} updated`));for(let{mode:e,name:t,error:n}of g)s(r(`${e} ${t}: ${n}`))}return g.length?1:d.errorOnOutdated?h?2:0:d.errorOnUnchanged?h?0:2:0}catch(e){let t=sn(e.message??String(e));return s(a?JSON.stringify({error:t}):r(t)),1}}function wa(e,t,n){let r=Object.keys(e.results),i=r.length>1,a=[[`NAME`,...i?[`MODE`]:[],`OLD`,`NEW`,`AGE`,`INFO`]],o=/* @__PURE__ */ new Set;for(let s of r){let r=Object.values(e.results[s]).flatMap(e=>Object.entries(e));for(let[e,c]of r.sort(([e],[t])=>e<t?-1:+(e>t))){let r=`${s}|${e}|${c.old}|${c.new}`;o.has(r)||(o.add(r),a.push([s===`go`?ua(e):e,...i?[s]:[],pe(c.old,c.new,t),pe(c.new,c.old,n),c.age||``,c.info||``]))}}return Fe(a,e=>l(e).length)}const Ta=[[1e3,6e4,`sec`,`s`,`second`],[6e4,36e5,`min`,`m`,`minute`],[36e5,864e5,`hour`,`h`],[864e5,6048e5,`day`,`d`],[6048e5,2628e6,`week`,`w`],[2628e6,31536e6,`month`,`mo`],[31536e6,1/0,`year`,`y`]],Ea={"1 day ago":`yesterday`,"1 week ago":`last week`,"1 month ago":`last month`,"1 year ago":`last year`,"in 1 day":`tomorrow`,"in 1 week":`next week`,"in 1 month":`next month`,"in 1 year":`next year`};function Da(e){return typeof e==`number`?e:e instanceof Date?e.getTime():Date.parse(e)}function Oa(e,{now:t,noAffix:n=!1,times:r=Ta,nowThreshold:i=2e3,nowString:a=`now`,unknownString:o,aliases:s=!1,aliasesMap:c=Ea,longUnits:l=!1,shortUnits:u=!1}={}){let d=(t===void 0?Date.now():Da(t))-Da(e);if(Number.isNaN(d))return o||String(e);let f=d<0;if(f&&(d=-d),d<i)return a;let p=``;for(let e=0,t=r.length;e<t;e++){let t=r[e];if(d>=t[1])continue;let n=Math.trunc(d/t[0]);p=u?`${n}${t[3]||t[2]}`:`${n} ${l&&t[4]||t[2]}${n===1?``:`s`}`;break}let m=n?p:f?`in ${p}`:`${p} ago`;return s?c[m]??m:m}function ka(e){if(/^\s*\{/.test(e))return JSON.parse(e);let t={};for(let n of e.split(/[\r\n]+/)){let e=n.trim(),r=e.indexOf(`=`);if(r===-1||e.startsWith(`#`)||e.startsWith(`;`))continue;let i=e.slice(r+1).trim();if(/^'.*'$/s.test(i))i=i.slice(1,-1);else if(/^".*"$/s.test(i))try{i=JSON.parse(i)}catch{}else i=i.replace(/\\([\\;#])|[;#].*$/g,`$1`).trim();t[e.slice(0,r).trim()]=i}return t}function Aa(e){try{return ka(C(e,`utf-8`))}catch{return}}function ja(e,t){return B(t,t=>{let n=m(t,e);try{if(E(n).isFile())return n}catch{}return null})}function Ma(e){let n={},r=e.toLowerCase();for(let[i,a]of Object.entries(t)){if(!i.toLowerCase().startsWith(r))continue;let t=i.substring(e.length).split(`__`).filter(Boolean),o=t.pop();if(!o)continue;let s=n;for(let e of t)s[e]??={},s=typeof s[e]==`object`?s[e]:{};s[o]=a}return n}function Na(n,r={},a=e()){let o=i===`win32`?t.USERPROFILE:t.HOME,s=Ma(`${n}_`),c=/* @__PURE__ */ new Set([...i===`win32`?[]:[m(`/etc`,n,`config`),m(`/etc`,`${n}rc`)],...o?[m(o,`.config`,n,`config`),m(o,`.config`,n),m(o,`.${n}`,`config`),m(o,`.${n}rc`)]:[],ja(`.${n}rc`,a),s.config]);return Object.assign({},r,...Array.from(c).filter(Boolean).map(Aa),s)}function Pa(e){let t=e.indexOf(`|`);return t===-1?e:e.slice(0,t)}const Fa=/* @__PURE__ */ new WeakMap;function Ia(e,t){let n=H(Fa,e,()=>{let t=/* @__PURE__ */ new Map;for(let[n,r]of Object.entries(e)){let e=n.split(`\0`,1)[0],i=e.indexOf(`|`);V(t,i===-1?`.`:e.slice(i+1),[`${Pa(e)}${n.slice(e.length)}`,r])}return t});return Object.fromEntries(n.get(t)??[])}const La=/[*?{[]/,Ra=/* @__PURE__ */ new Set([`node_modules`,`bower_components`]);function za(e,t){return b(e,{cwd:t,exclude:e=>Ra.has(e.name),withFileTypes:!0}).filter(e=>e.isDirectory()||e.isSymbolicLink()).map(e=>g(e.parentPath,e.name))}async function Ba(e,t,n,r=32){let i=await ae(t),a=new Set(e.filter(e=>e.startsWith(`!`)).flatMap(e=>za(e.slice(1),t)).map(e=>h(t,e).replace(/\\/g,`/`))),o=/* @__PURE__ */ new Map;for(let n of e)if(!n.startsWith(`!`))for(let e of La.test(n)?za(n,t):[g(m(t,n))]){let n=h(t,e).replace(/\\/g,`/`);!a.has(n)&&!o.has(e)&&o.set(e,`./${n}`)}return(await I(o,async([e,t])=>{try{let r=await ae(m(e,n)),a=h(i,r);return a===`..`||a.startsWith(`..${_}`)||p(a)?null:{absPath:r,content:await re(r,`utf8`),memberPath:t}}catch{return null}},{concurrency:r})).filter(e=>e!==null)}const Va=/^(\s*)(?:"([^"]*)"|'([^']*)'|([^\s#](?:[^:#]|:(?=\S))*?))\s*:(?:\s+(.*))?$/,Ha=/\s#/;function Ua(e){let t=Va.exec(e);if(!t)return null;let[n,r,i,a,o,s=``]=t,c=e.length-s.length,l=s.startsWith(`#`)?0:s.search(Ha),u=(l===-1?s:s.slice(0,l)).trimEnd(),d=u[0];return(d===`"`||d===`'`)&&u.length>1&&u.endsWith(d)&&(u=u.slice(1,-1),c+=1),{indent:r.length,key:i??a??o,value:u,valueIndex:c}}function Wa(e){let t=[],n=1,r=-1,i=0,a=``;for(let o=1;o<e.length-1;o++){let s=e[o];if(a)s===`\\`&&a===`"`||s===a&&a===`'`&&e[o+1]===`'`?o++:s===a&&(a=``);else if(s===`"`||s===`'`)a=s;else if(s===`{`||s===`[`)i++;else if(s===`}`||s===`]`){if(i===0)return[];i--}else s===`:`&&i===0&&r===-1?r=o-n:s===`,`&&i===0&&(t.push({colon:r,start:n,text:e.slice(n,o)}),n=o+1,r=-1)}return a||i!==0?[]:(t.push({colon:r,start:n,text:e.slice(n,-1)}),t)}function Ga(e){let t=e.length-e.trimStart().length,n=e.trim();if(!n)return null;let r=n[0];if(r===`"`||r===`'`){let e=n.indexOf(r,1);return e===-1?null:{value:n.slice(1,e),valueIndex:t+1}}let i=n.search(Ha);return{value:(i===-1?n:n.slice(0,i)).trimEnd(),valueIndex:t}}function Ka(e,t){if(!e.startsWith(`{`)||!e.endsWith(`}`))return[];let n=[];for(let r of Wa(e)){if(r.colon===-1)return[];let e=Ga(r.text.slice(0,r.colon)),i=Ga(r.text.slice(r.colon+1));if(!e||!i)return[];n.push({key:e.value,value:i.value,valueIndex:t+r.start+r.colon+1+i.valueIndex})}return n}function qa(e){let t,n={},r=!1;for(let i of e.split(/\r?\n/)){let e=Ua(i);if(e?.indent===0){if(r=e.key===`registries`,e.key===`registry`&&e.value&&(t=e.value),r)for(let t of Ka(e.value,e.valueIndex))n[t.key]=t.value}else r&&e?.value&&(n[e.key]=e.value)}return{registry:t,registries:Object.fromEntries(Object.entries(n).filter(([e,t])=>!t.includes("${")))}}function Ja(e){try{return{content:C(e,`utf8`)}}catch(e){if(e.code!==`ENOENT`)throw e;return null}}function Ya(e){let t={},n=[{indent:-1,map:t}];for(let t of e.split(/\r?\n/)){let e=Ua(t);if(!e)continue;for(;e.indent<=n.at(-1).indent;)n.pop();let r=n.at(-1).map;r[e.key]=e.value||{},e.value||n.push({indent:e.indent,map:r[e.key]})}return t}function Xa(e,t){let n={tokens:{},registries:{}};try{let t=typeof e==`string`?JSON.parse(e):e??{};for(let[e,r]of Object.entries(t)){let{host:t,pathname:i,href:a}=new URL(e);for(let[e,{authToken:o}]of Object.entries(r))typeof o==`string`&&(n.tokens[`//${t}${i.replace(/\/$/,``)}/:${e===`@`?``:`${e}:`}_authToken`]=o,n.registries[e===`@`?`default`:e]=a)}}catch(e){throw Error(`Invalid _auth in ${t}: ${e.message}`)}return n}const Za=/* @__PURE__ */ new Map;function Qa(e){return H(Za,e,()=>qa(B(g(e),e=>Ja(m(e,`pnpm-workspace.yaml`)))?.content??``))}const $a=/* @__PURE__ */ new Map;function eo(){return t.XDG_CONFIG_HOME?m(t.XDG_CONFIG_HOME,`pnpm`):i===`darwin`?m(N(),`Library/Preferences/pnpm`):i===`win32`&&t.LOCALAPPDATA?m(t.LOCALAPPDATA,`pnpm/config`):m(N(),`.config/pnpm`)}function to(){let e=eo();return H($a,e,()=>{let t=Ja(m(e,`config.yaml`))?.content??``;return{...qa(t),auth:Xa(Ya(t)._auth,`config.yaml`)}})}const no=(e,{value:t,valueIndex:n},r)=>Ka(t,n).map(t=>({type:e,name:t.key,value:t.value,lineIndex:r,valueIndex:t.valueIndex}));function*ro(e){let t=``,n=``,r=-1;for(let[i,a]of e.split(`
65
+ `).entries()){let e=Ua(a);if(!e)continue;let{indent:o,key:s,value:c,valueIndex:l}=e;if(o===0){if(t=s,n=s,r=-1,s===`catalog`)yield*no(s,e,i);else if(s===`catalogs`)for(let e of Ka(c,l))yield*no(`catalogs.${e.key}`,e,i)}else t===`catalogs`&&(r===-1||o<=r)?(n=`catalogs.${s}`,r=o,yield*no(n,e,i)):c&&(t===`catalog`||t===`catalogs`)&&(yield{type:n,name:s,value:c,lineIndex:i,valueIndex:l})}}function io(e,t){let n;for(let{type:r,name:i,value:a,lineIndex:o,valueIndex:s}of Array.from(ro(e)).reverse()){let c=t[`${r}${i}`];if(!c||(c.oldOrig||c.old)!==a)continue;let l=(n??=e.split(`
65
66
  `))[o];n[o]=l.slice(0,s)+c.new+l.slice(s+a.length)}return n?n.join(`
66
- `):e}function Va(e){let t=[],n=!1;for(let r of e.split(/\r?\n/)){let e=Ta(r);if(e?.indent===0&&e.key===`packages`)n=!0,e.value.startsWith(`[`)&&e.value.endsWith(`]`)&&t.push(...Ea(e.value).map(e=>e.text));else if(n){let e=r.trim();if(e.startsWith(`-`))t.push(e.slice(1));else if(e&&!e.startsWith(`#`))break}}return t.map(e=>Da(e)?.value).filter(e=>e!==void 0)}const Ha=/[0-9]+(\.[0-9]+)?(\.[0-9]+)?/g,Ua=/* @__PURE__ */ new Set([`resolutions`,`overrides`]);function Wa(e){let t=e.replace(/^.*?[^ |@]>/,``).trim();return/(?:^|\/)((?:@[^/]+\/)?[^/@]+)(?:@[^/]*)?$/.exec(t)?.[1]??(t||e)}const Ga=q.registry,Ka=/* @__PURE__ */ new Map,qa=/* @__PURE__ */ new Map,Ja=e=>e.replace(/^\$\{?([^}]*)\}?$/,(e,n)=>t[n]||``);function Ya(e){let t=new URL(e.startsWith(`//`)?`http:${e}`:e),n=[],r;for(;r!==`/`&&t.pathname!==r;)r=t.pathname||`/`,n.push(`//${t.host}${r.replace(/\/$/,``)}`),t.pathname=new URL(`..`,new URL(r.endsWith(`/`)?r:`${r}/`,`http://x`)).pathname;return n}function Xa(e,t,n){let r=Ya(e),i=(e,n)=>t[`${e}:${n}`]||t[`${e}/:${n}`],a=n&&r.map(e=>i(e,`${n}:_authToken`)).find(Boolean);if(a)return{token:Ja(a),type:`Bearer`};for(let e of r){let t=i(e,`_authToken`);if(t)return{token:Ja(t),type:`Bearer`};let n=i(e,`username`),r=i(e,`_password`);if(n&&r){let e=Buffer.from(Ja(r),`base64`).toString(`utf8`);return{token:Buffer.from(`${n}:${e}`).toString(`base64`),type:`Basic`}}let a=i(e,`_auth`);if(a)return{token:Ja(a),type:`Basic`}}if(e===Ga&&t._auth)return{token:Ja(t._auth),type:`Basic`}}function Za(e,n,r){let i=V(Ka,r??``,()=>ha(`npm`,{registry:Ga},r)),a=t.pnpm_config__auth||t.PNPM_CONFIG__AUTH||void 0,o=V(qa,a??``,()=>Ma(a,`pnpm_config__auth`)),s=La(),c=r?Pa(r):{registries:{}},l=e.startsWith(`@`)?e.split(`/`)[0]:``,u=Pn(l&&(o.registries[l]||c.registries[l]||s.registries[l]||s.auth.registries[l]||i[`${l}:registry`])||n.registry||o.registries.default||c.registries.default||c.registry||s.registries.default||s.registry||s.auth.registries.default||i.registry||Ga);return{auth:Xa(u,{...i,...s.auth.tokens,...o.tokens},l),registry:u}}const Qa=(e,t)=>`${e}/${t.replace(/\//g,`%2f`)}`,$a=/* @__PURE__ */ new WeakMap,eo=/* @__PURE__ */ new WeakMap,to=/* @__PURE__ */ new WeakMap,no=/* @__PURE__ */ new WeakMap,ro=(e,t)=>`${e}v2${t?`-dates`:``}`;function io(e){let t={};for(let n of Object.keys(e.versions??{}))t[n]=e.versions[n]?.deprecated?{deprecated:!0}:{};return{name:e.name,"dist-tags":e[`dist-tags`],versions:t,time:e.time,error:e.error}}async function ao(e,t,n,r,i,a,o=``){let s=Ua.has(t)?Wa(e):t===`packageManager`&&e===`yarn`&&(H(o)?.major??0)>1?`@yarnpkg/cli`:e,{auth:c,registry:l}=Za(s,n,a),u=Qa(l,s),d=ro(u,!!r.needsDates);return[await Y($a,i,d,async()=>{let t=Fn(c?.type,c?.token);r.needsDates||(t.headers={...t.headers,accept:`application/vnd.npm.install-v1+json`});let n=await Un(u,i,t,Bn(io),d);return`body`in n||Fr(n.res,u,e,l),JSON.parse(n.body)}),l]}async function oo(e,t,n,r,i,a){let{auth:o,registry:s}=Za(e,n,a),c=Qa(s,e),l=`${c}/${t}`;return Y(eo,i,l,async()=>{try{let e=Fn(o?.type,o?.token),n=await Wn(l,i,e,Bn(e=>({repository:e.repository,homepage:e.homepage,_npmOperationalInternal:e._npmOperationalInternal?.tmp?{tmp:e._npmOperationalInternal.tmp}:void 0})));if(!(`body`in n))return{};let a=JSON.parse(n.body),s=/(\d{13})/.exec(a?._npmOperationalInternal?.tmp??``),u=s?new Date(Number(s[1])).toISOString():``;return!u&&r.needsDates&&(u=(await $a.get(i)?.get(ro(c,!0)))?.time?.[t]||``),u||=(await F(Y(to,i,c,async()=>{let t=await zn(i,c,e);return t.ok?await t.json():null})))?.time?.[t]||``,{repository:a.repository,homepage:a.homepage,date:u}}catch{return{}}})}const so=e=>e.startsWith(`npm:@jsr/`)||e.startsWith(`jsr:`),co=e=>e.startsWith(`link:`)||e.startsWith(`file:`),lo=e=>e.startsWith(`catalog:`),uo=/^npm:((?:@[^/@]+\/)?[^@/][^@]*)@(.+)$/;function fo(e){let t=uo.exec(e.trim());return t&&W(t[2])?{name:t[1],range:t[2]}:null}const po=/^(?:npm:@jsr\/([^_]+)__([^@]+)|jsr:@([^/]+)\/([^@]+))@(.+)$/,mo=/^@([^/]+)\/(.+)$/;function ho(e,t){let n=po.exec(e);if(n)return{scope:n[1]||n[3],name:n[2]||n[4],version:n[5]};if(e.startsWith(`jsr:`)&&!e.startsWith(`jsr:@`)){let n=mo.exec(t??``);if(n)return{scope:n[1],name:n[2],version:e.substring(4)}}return{scope:null,name:null,version:``}}async function go(e,t){if(!mo.test(e))throw Error(`Invalid JSR package name: ${e}`);let n=`${t.jsrApiUrl}/${e}/meta.json`;return[await Y(no,t,n,async()=>{let r=await Un(n,t,{headers:{"accept-encoding":`gzip, deflate, br`}},Bn(e=>({latest:e.latest,versions:Object.fromEntries(Object.entries(e.versions??{}).map(([e,t])=>[e,{createdAt:t?.createdAt}]))})));`body`in r||Fr(r.res,n,e,`JSR`);let i=JSON.parse(r.body),a={},o={};for(let[e,t]of Object.entries(i.versions??{}))a[e]={version:e,time:t.createdAt},o[e]=t.createdAt;return{name:e,"dist-tags":{latest:i.latest},versions:a,time:o}}),t.jsrApiUrl]}function _o(e,t){try{JSON.parse(e)}catch{return e}let n=/* @__PURE__ */ new Map,r=0,i=()=>{for(;/\s/.test(e[r]??``);)r++},a=()=>{let t=r++;for(;r<e.length;)if(e[r]===`\\`)r+=2;else if(e[r++]===`"`)break;return{start:t,end:r,value:JSON.parse(e.slice(t,r))}},o=t=>{if(i(),e[r]===`"`)n.set(JSON.stringify(t),a());else if(e[r]===`{`||e[r]===`[`){let n=e[r++]===`{`?`}`:`]`;i();for(let s=0;e[r]!==n&&r<e.length;s++){let c=s;if(n===`}`&&(c=a().value,i(),e[r++]!==`:`))return;if(o([...t,c]),i(),e[r]===`,`)r++,i();else break}e[r]===n&&r++}else for(;r<e.length&&!/[,}\]]/.test(e[r]);)r++};o([]);let s=[];for(let[e,r]of Object.entries(t)){let[t,i,a]=e.split(`\0`),o=n.get(a||JSON.stringify([t,i])),c=o??n.get(JSON.stringify([t])),l=o?``:`${i}@`;c?.value===`${l}${r.oldOrig||r.old}`&&s.push({...c,value:JSON.stringify(`${l}${r.new}`)})}for(let t of s.sort((e,t)=>t.start-e.start))e=`${e.slice(0,t.start)}${t.value}${e.slice(t.end)}`;return e}const vo=String.raw`[<>]=?|~>|[\^~=]`,yo=new RegExp(String.raw`^(${vo})?(\s*)(v?)((?:\d+|[xX*])(?:\.(?:\d+|[xX*]))*)(-[0-9A-Za-z.-]+)?$`),bo=RegExp(`^(?:${vo})$`),xo=/^[xX*]$/,So=/\+[0-9A-Za-z.-]+/g,Co=/\|\||[\dxX*]\s+\S/;function wo(e){let t=[];for(let n of e.trim().replaceAll(`||`,` || `).split(/\s+/))t.length&&bo.test(t[t.length-1])?t[t.length-1]+=` ${n}`:t.push(n);return t}function To(e,t){let n=yo.exec(e);if(!n)return e;let[r,i=``,a,o,s,c=``]=n,l=s.split(`.`);if(i===`<`&&l.length<=3&&!/[xX*]/.test(s)){let{major:e,minor:n,patch:r}=H(t);return`${i}${a}${l.length===1?`${e+1}`:l.length===2?`${e}.${n+1}`:!c&&s.endsWith(`.0.0`)?`${e+1}.0.0`:!c&&s.endsWith(`.0`)?`${e}.${n+1}.0`:`${e}.${n}.${r+1}`}`}if(i===`>`||i===`<`)return e;if(t.includes(`-`))return`${i}${a}${o}${t}`;let u=t.split(`.`);return`${i}${a}${o}${l.map((e,t)=>xo.test(e)?e:u[t]??`0`).join(`.`)}`}function Eo(e,t){if(U(t,e))return e;let n=wo(e),r=n[n.length-1];if(!r.startsWith(`<`)&&n[n.length-2]!==`-`){let i=To(r,t);return n.length>1&&r.startsWith(`>`)||i===r?e:`${e} || ${i}`}return n[n.length-1]=To(r,t),n.join(` `)}function Do(e,t,n,r){let i=(n||e).replace(So,``),a=r===`peerDependencies`||Co.test(i)?Eo(i,t):To(i,t);return U(t,a)?a:i}function Oo(e){if(/[xX*]/.test(e))return e;let t=e.match(Ha);return t?.length===1?e.replace(Ha,()=>$n(t[0])):e}async function ko(e,t,n){let r=await Or(`${n.forgeApiUrl}/repos/${e}/${t}/commits`,n,`commits`,async e=>{let[t]=JSON.parse(await e.text());return JSON.stringify(t?[{sha:t.sha,commit:{committer:t.commit?.committer,author:t.commit?.author}}]:[])}),[i]=r?JSON.parse(r):[];return i?{hash:i.sha,commit:i.commit}:{hash:``,commit:{}}}async function Ao(e,t,n,r){return(await Nr(r.forgeApiUrl,e,t,r,[n])).map(e=>e.name)}function jo(e){let t=e.lastIndexOf(`#`);if(t===e.length-1)return null;let n=e.slice(0,t===-1?e.length:t).replace(/^git\+/i,``),r=t===-1?``:e.slice(t+1),i=/^(?:github:|git@github\.com:|(?:https?|git|ssh):\/\/(?:[^/@]+@)?github\.com[/:])(.+)$/i.exec(n);if(i)n=i[1];else if(n.includes(`:`))return null;if(!r){let e=/^([^/]+\/[^/]+)\/(?:.*\/)?([0-9a-f]+|v?[0-9]+\.[0-9]+\.[0-9]+)$/i.exec(n);if(!e)return null;n=e[1],r=e[2]}n=n.replace(/\.git$/i,``);let a=n.split(`/`);if(a.length!==2||!/^[a-z\d](?:-?[a-z\d]){0,38}$/i.test(a[0])||!/^[a-z\d._-]{1,100}$/i.test(a[1]))return null;let o=r.startsWith(`semver:`)&&W(r.slice(7))?r.slice(7):null;return!o&&!Cr.test(r)&&!nt(r)?null:{user:a[0],repo:a[1],ref:o??r,selector:o}}async function Mo(e,t,n){let r=jo(t.old);if(!r)return null;let{user:i,repo:a,ref:o,selector:s}=r,c=e=>{let n=t.old.lastIndexOf(o);return`${t.old.slice(0,n)}${e}${t.old.slice(n+o.length)}`};if(Cr.test(o)){let{hash:t,commit:r}=await ko(i,a,n),s=t.substring(0,o.length);return!t||o.toLowerCase()===s.toLowerCase()?null:{key:e,newRange:c(s),user:i,repo:a,oldRef:o,newRef:s,newDate:Tr(r)}}let l=br(await Ao(i,a,o,n),s?$n(s):o);if(!l)return null;let u=s?Do(s,J(l),s):l;return u===o?null:{key:e,newRange:c(u),user:i,repo:a,oldRef:o,newRef:u}}const No=/[-_.]+/g,Po=/* @__PURE__ */ new WeakMap;function Fo(e){let t={};for(let[n,r]of Object.entries(e??{}))t[n]=(r??[]).map(e=>({...e.upload_time_iso_8601&&{upload_time_iso_8601:e.upload_time_iso_8601},...e.yanked&&{yanked:!0}}));return t}async function Io(e,t){let n=`${t.pypiApiUrl}/pypi/${e.toLowerCase().replace(No,`-`)}/json`;return[{...await Y(Po,t,n,async()=>{let r=await Un(n,t,{headers:{"accept-encoding":`gzip, deflate, br`}},Bn(e=>{let{name:t,version:n,project_urls:r}=e.info??{};return{info:{name:t,version:n,project_urls:r},releases:Fo(e.releases)}}));`body`in r||Fr(r.res,n,e,t.pypiApiUrl);let i=JSON.parse(r.body);return{...i,releases:Fo(i.releases)}}),name:e},null]}function Lo(e,{op:t,version:n}){if(t===`===`)return n===e.version;if(n.endsWith(`.*`)){let r=G(n.slice(0,-2));if(!r||r.dev!==null||r.local||t!==`==`&&t!==`!=`)return!1;let i=r.epoch===e.epoch&&r.release.every((t,n)=>(e.release[n]??0)===t);return t===`==`?i:!i}let r=G(n);if(!r||r.local&&t!==`==`&&t!==`!=`)return!1;let i=Ot(e.local?{...e,local:null}:e,r),a=r.local?Ot(e,r):i;if(t===`==`)return a===0;if(t===`!=`)return a!==0;if(t===`>=`)return i>=0;if(t===`<=`)return i<=0;let o=e.epoch===r.epoch&&Array.from({length:Math.max(e.release.length,r.release.length)}).every((t,n)=>(e.release[n]??0)===(r.release[n]??0));return t===`>`?i>0&&!(o&&e.post!==null&&r.post===null):t===`<`?i<0&&!(o&&(e.pre||e.dev!==null)&&!r.pre&&r.dev===null):i>=0&&r.release.length>1&&r.epoch===e.epoch&&r.release.slice(0,-1).every((t,n)=>(e.release[n]??0)===t)}function Ro(e,t=e.release.length){if(!e.local&&t===e.release.length)return e.version;let n=Array.from({length:t},(t,n)=>e.release[n]??0),r=e.epoch||/^[vV]?\d+!/.test(e.version)?`${e.epoch}!`:``,i=e.pre?`${e.pre[0]}${e.pre[1]}`:``,a=e.post===null?``:`.post${e.post}`,o=e.dev===null?``:`.dev${e.dev}`;return`${r}${n.join(`.`)}${i}${a}${o}`}function zo(e,t,n){let r=e.release.findIndex((e,n)=>e>t.release[n]);r===0&&e.release[1]===0?r=1:r===-1&&(r=e.release.length-1);let i=e.release.map((e,t)=>t>r?0:(n.release[t]??0)+Number(t===r));return`${n.epoch?`${n.epoch}!`:``}${i.join(`.`)}`}function Bo(e,t){let n=G(e);if(!n)return!1;let r=t.trim();if(!r)return!0;let i=G(r);if(i)return Ot(n,i)===0;let a=Se(`x${r}`);return!a?.specifiers?.length||a.extras||a.marker?!1:a.specifiers.every(e=>Lo(n,e))}function Vo(e,t,n){let r=Se(e),i=G(t),a=G(n);if(!r?.specifiers||!i||!a)return null;let o=r.specifiers,s=we(o);if(s?.version!==t)return null;for(let e of o){if(e===s){let t=e.op===`~=`?i.release.length:a.release.length;e.version=e.op===`==`||e.op===`===`?n:Ro(a,t)}else if(Lo(a,e))continue;else{let t=G(e.version);if(e.op===`<`&&t)e.version=zo(t,i,a);else if(e.op===`<=`)e.version=Ro(a);else return null}if(!Lo(a,e))return null}return Ce(r,o)}function Ho(e){let t=[],n=/\s*(?:"((?:\\.|[^"\\])*)"|'([^']*)'|([\w-]+))\s*(?:\.|$)/gy;try{for(;n.lastIndex<e.length;){let r=n.exec(e);if(!r)return[];t.push(r[1]===void 0?r[2]??r[3]:JSON.parse(`"${r[1]}"`))}}catch{return[]}return t}function Uo(e,t){let n=e.indexOf(`[`,t);if(n===-1||e.slice(t,n).trim())return-1;let r=0,i=``,a=!1;for(let t=n;t<e.length;t++){let n=e[t];if(a)n===`
67
- `&&(a=!1);else if(i)i===`"`&&n===`\\`?t++:n===i&&(i=``);else if(n===`"`||n===`'`)i=n;else if(n===`#`)a=!0;else if(n===`[`)r++;else if(n===`]`&&--r===0)return t+1}return-1}function Wo(e,t){let n=/* @__PURE__ */ new Map,r=[],i=0;for(let a of e.split(/(?<=\n)/)){let o=/^\[([^\]]+)\](?:\s*#.*)?$/.exec(a.trim());if(o)r=Ho(o[1]);else{let o=ra(a,`=`,`#`),s=o===-1?``:[...r,...Ho(a.slice(0,o))].join(`.`);if(t.has(s)&&!n.has(s)){let t=i+o+1,r=Uo(e,t);r!==-1&&n.set(s,[t,r])}}i+=a.length}return n}function Go(e,t){let n=/* @__PURE__ */ new Map;for(let[e,r]of Object.entries(t)){let[t,i]=e.split(`\0`);V(n,t,()=>/* @__PURE__ */ new Map).set(i,r)}let r=Wo(e,n),i=e;for(let[e,t]of Array.from(r).reverse()){let r=n.get(e),a=Be(r.keys()),o=i.slice(...t).replace(RegExp(`(['"])( *(${a})(?![\\w.-]).*?)(?=\\1)`,`g`),(e,t,n,i)=>{let{old:a,oldOrig:o,new:s}=r.get(i);return`${t}${Vo(n,o||a,s)??n}`});i=`${i.slice(0,t[0])}${o}${i.slice(t[1])}`}return i}function Ko(e){let t=/^(?!\.\.?\/)(?:https?:\/\/([^/]+)\/)?(([^/@]+)\/([^/@]+)[^@]*)@(.+)$/.exec(e);if(!t)return null;let[n,r=null,i,a,o,s]=t;return{host:r,owner:a,repo:o,ref:s,name:r?`${r}/${i}`:i,isHash:Sr.test(s)}}function qo(e,t){return e?e===`github.com`?Nn:`https://${e}/api/v1`:t}async function Jo(e,t,n,r,i){let a=`${e}/repos/${t}/${n}/git/commits/${r}`,o=i.noCache?null:await vn(a);if(o)return o.body;try{let e=await yr(a,i);if(e.status===404)return``;if(!e.ok)return;let t=Tr(await e.json());return t&&!i.noCache&&xn(a,`immutable`,t),t}catch(e){if(e instanceof gr)throw e;return}}function Yo(e,t){let n=e.replace(/^v/i,``);return Ir(H(n)?.version??n,t)}const Xo=/^(\s*(?:-\s*)?)(?:"([^"]+)"|'([^']+)'|([^\s:#][^:#]*)):\s*([^\r\n]*)\r?$/;function Zo(e,t){let n=Xo.exec(e);if(!n)return null;let r=n[1].length,i=n[1].indexOf(`-`)+1;for(;t.length&&t.at(-1).indent>=(i||r);)t.pop();return{indent:r,key:(n[2]??n[3]??n[4]).trim(),value:n[5]}}const Qo=/^\s*(?:(?:renovate\s*:\s*)?(?:pin\s+|tag\s*=\s*)?|ratchet:[\w-]+\/[.\w-]+(?:\/[.\w-]+)*)@?((?:[\w-]*[-/])?v?\d+(?:\.\d+(?:\.\d+)?)?(?:-[a-zA-Z0-9.]+)?)/;function $o(e){let t=/^(\s*(?:-\s*)?uses:\s*)(?:(["'])(.*?)\2|((?!["'#])\S+))([^\n]*)$/.exec(e);if(!t)return null;let[n,r,i=``,a,o,s]=t,c=a??o;if(!c)return null;let l=s.search(/(?<=\s)#/),u=l===-1?``:s.slice(l),d=u?Qo.exec(u.slice(1)):null;return{prefix:r,quote:i,value:c,gap:l===-1?s:s.slice(0,l),comment:u,pinnedVersion:d?.[1]??``,pinnedEnd:d?d[0].length+1:0}}function es(e,t){let n=new Map(t.map(e=>[`${e.name}@${e.oldRef}${e.oldComment?`#${e.oldComment}`:``}`,e])),r=[],i=-1;return e.split(`
68
- `).map(e=>{if(i!==-1){if(!e.trim()||e.length-e.trimStart().length>i)return e;i=-1}let t=Zo(e,r);if(!t)return e;let a=t.key===`uses`&&(r.length===3&&r[0].key===`jobs`&&r[2].key===`steps`||r.length===2&&(r[0].key===`jobs`||r[0].key===`runs`&&r[1].key===`steps`)),o=t.value.replace(/(?:^|\s)#.*$/,``).trim();if(o||r.push(t),/^[>|](?:[+-]?\d?|\d[+-]?)$/.test(o))return i=t.indent,e;let s=a&&$o(e);if(!s)return e;let{prefix:c,quote:l,value:u,gap:d,comment:f,pinnedVersion:p,pinnedEnd:m}=s,h=/^https?:\/\//.exec(u)?.[0]??``,g=p||/^#\s*(\S+)\s*$/.exec(f)?.[1]||``,_=u.slice(h.length),v=n.get(`${_}${g?`#${g}`:``}`)??n.get(_);if(!v)return e;let y=v.newComment&&p?`# ${v.newComment}${f.slice(m)}`:f;return`${c}${l}${h}${v.name}@${v.newRef}${l}${d}${y}`}).join(`
69
- `)}const ts=RegExp(`(?:^|/)(?:(?:workflow-templates|(?:${Be(M)})/(?:workflows|actions))/.+|action)\\.ya?ml$`);function ns(e){return ts.test(e.replace(/\\/g,`/`))}function rs(e){let t=/* @__PURE__ */ new Set;try{let n=m(e,`workflows`);for(let e of w(n))/\.ya?ml$/.test(e)&&t.add(g(n,e))}catch{}try{for(let n of w(e,{recursive:!0,withFileTypes:!0}))n.isFile()&&/^action\.ya?ml$/.test(n.name)&&t.add(g(n.parentPath,n.name))}catch{}return Array.from(t)}const is=/^(v?\d+(?:\.\d+)*(?:_\d+)?)([a-zA-Z][a-zA-Z0-9]*)?(-.+)?$/,as=/^\s*(?:#\s*syntax\s*=\s*|FROM(?:\s+--\S+)*\s+(?!--)|(?:ONBUILD\s+)?COPY(?:\s+--\S+)*?\s+--from=)(\S+)/i,os=/^\s*(?:ONBUILD\s+)?RUN(?:\s+--\S+)+/i,ss=/(?<=\s--mount=(?:[^\s,]*,)*from=)[^\s,]+/gi,cs=/^[ \t]*image:\s*['"]?([^\s'"#]+)['"]?/gm,ls=String.raw`(?<=^[ \t]*(?:-[ \t]+)?|[{,][ \t]*)`,us=/^\uFEFF?[ \t]*ARG\s+(\w+)(?:[ =](\S*))?/i,ds=/^\s*#\s*(syntax|escape|check)\s*=\s*(\S+)/i,fs=/^\s*(?:ONBUILD\s+)?(?:ADD|COPY|RUN)\s/i,ps=/(?:[^\s"'\\]|\\.|"(?:\\.|[^"\\])*"|'[^']*')+/g;function ms(e,t){return e.includes(`$`)?e.replace(/\$\{(\w+)\}|\$(\w+)/g,(e,n,r)=>t(n||r)??e):e}function hs(e){let t=Array.from(e.matchAll(ps),([e])=>e),n=[];for(let[e,r]of t.entries()){let i=/^\d*<<-?/.exec(r)?.[0];if(!i||r.includes(`<`,i.length))continue;let a=r.slice(i.length)||t[e+1];a&&n.push({chomp:i.endsWith(`-`),name:a.replace(/\\(.)|["']/g,`$1`)})}return n}function*gs(e){let t=`\\`,n=!0,r=[],i=``,a=0,o=0;for(let s of e.split(`
70
- `)){let e=o;if(o+=s.length+1,r.length){let{chomp:e,name:t}=r[0];(e?s.replace(/^\t+/,``):s).replace(/\r$/,``)===t&&r.shift();continue}if(n){let r=ds.exec(s);if(r){r[1].toLowerCase()===`escape`&&(t=r[2]),yield{text:s,index:e};continue}n=!1}let c=s.trimStart();if(!c||c.startsWith(`#`)){i&&(i+=`${` `.repeat(s.length)}\n`);continue}i||(a=e);let l=s.trimEnd().length;if(s[l-1]===t&&s[l-2]!==t){i+=`${s.slice(0,l-1)} ${s.slice(l)}\n`;continue}i+=s,yield{text:i,index:a},r=i.includes(`<<`)&&fs.test(i)?hs(i):[],i=``}i&&(yield{text:i,index:a})}function*_s(e,t=!1){let n=/* @__PURE__ */ new Map,r=(e,r)=>({image:e,index:r,args:n,resolved:ms(e,e=>n.get(e)?.[t?`resolved`:`value`])}),i=!1;for(let{text:t,index:a}of gs(e)){let e=i?null:us.exec(t);if(e){let r=e[2]?.replace(/^(['"])(.*)\1$/,`$2`)??``;n.set(e[1],{value:r,resolved:ms(r,e=>n.get(e)?.resolved),start:a+t.lastIndexOf(r)});continue}i||=/^\s*FROM\s/i.test(t);let o=as.exec(t);o&&(yield r(o[1],a+o[0].length-o[1].length));let s=os.exec(t)?.[0];if(s&&/from=/i.test(s))for(let e of s.matchAll(ss))yield r(e[0],a+e.index)}}const vs=/^(?:(?:index|registry-1)\.)?docker\.io$/;function ys(e){let t=e.split(`/`);return t.length>1&&vs.test(t[0])&&t.shift(),{registry:t.length>2||t.length>1&&(t[0]===`localhost`||t[0].includes(`.`)||t[0].includes(`:`))?t.shift():null,namespace:t.length===1?`library`:t.slice(0,-1).join(`/`),repo:t.at(-1)}}function bs(e){let{registry:t,namespace:n,repo:r}=ys(e);if(t)return[e];let i=n===`library`?[r,`library/${r}`]:[`${n}/${r}`];return[.../* @__PURE__ */ new Set([e,...i,...i.map(e=>`docker.io/${e}`)])]}function xs(e){e=e.replace(/^docker:\/\//,``);let[t,n,...r]=e.split(`@`);if(r.length||n&&!/^[a-z][a-z0-9+._-]*:[0-9a-f]+$/i.test(n))return null;let i=t.lastIndexOf(`:`),a=i!==-1&&t.lastIndexOf(`/`)<i;if(!a&&!n)return null;let o=a?t.substring(0,i):t,s=a?t.substring(i+1):`latest`;if(a&&!n&&!is.test(s))return null;let{registry:c,namespace:l,repo:u}=ys(o);return{registry:c,namespace:l,repo:u,tag:s,fullImage:o,...n&&{digest:n},...!a&&{digestOnly:!0}}}function Ss(e){let t=is.exec(e);return!t||t[2]&&!t[3]&&Cr.test(e)?null:{version:t[1],prerelease:t[2]||``,suffix:t[3]||``}}function Cs(e,t){let n=[];if(t===`dockerfile`){for(let{image:t,resolved:r}of _s(e,!0)){let e=xs(r);e&&n.push({ref:e,match:t})}return n}let r=ws(e);for(let t of e.matchAll(cs)){if(r.has(t.index+t[0].indexOf(`image:`)))continue;let e=xs(t[1]);e&&n.push({ref:e,match:t[1]})}return n}function ws(e){let t=/* @__PURE__ */ new Set,n=/* @__PURE__ */ new Map;for(let r of e.matchAll(/^.*$/gm)){if(!r[0].trim())continue;let e=/^[ \t]*/.exec(r[0])[0].length;for(let t of n.keys())t>e&&n.delete(t);let i=V(n,e,()=>({built:!1,images:[]}));if(/^[ \t]*build\s*:/.test(r[0])){i.built=!0;for(let e of i.images)t.add(e)}else if(/^[ \t]*image\s*:/.test(r[0])){let n=r.index+e;i.built?t.add(n):i.images.push(n)}}return t}const Ts=/* @__PURE__ */ new WeakMap,Es=/* @__PURE__ */ new Set([401,403,404]);async function Ds(e,t,n,r,i=e){let a=await Un(e,t,{headers:{"accept-encoding":`gzip, deflate, br`}},Bn(r),i);return`body`in a?JSON.parse(a.body):(Es.has(a.res?.status)||Fr(a.res,e,n,t.dockerApiUrl),null)}function Os(e,t,n){return Y(Ts,n,`${e}/${t}`,async()=>{let r={dates:{},digests:/* @__PURE__ */ new Map},i=`${n.dockerApiUrl}/v2/repositories/${e}/${t}/tags`,a=e=>`${i}?page_size=1000&ordering=last_updated&page=${e}`,o=r=>Ds(r,n,`${e}/${t}`,e=>({count:e.count,next:e.next,results:(e.results||[]).map(e=>({name:e.name,tag_last_pushed:e.tag_last_pushed,last_updated:e.last_updated,digest:e.digest}))}),`${r}#digest`),s=e=>{for(let t of e.results??[])r.dates[t.name]=t.tag_last_pushed||t.last_updated||``,typeof t.digest==`string`&&r.digests.set(t.name,t.digest)},c=await o(a(1));if(!c)return r;s(c);let l=Array.from({length:Math.min(20,Math.ceil(c.count/1e3))-1},(e,t)=>a(t+2)),u=new Set(l),d=await P(l,async e=>{try{return{value:await o(e)}}catch(e){return{reason:e}}},{concurrency:Kn(n)});for(let e of d){if(`reason`in e)throw e.reason;if(!e.value)return r;s(e.value),c=e.value}let f=new URL(i).origin;for(let e=l.length+2;e<=20&&c.next;e++){let e=new URL(c.next,i);if(e.origin!==f||u.has(e.href)||(u.add(e.href),c=await o(e.href),!c))break;s(c)}return r})}async function ks(e,t,n){return(await Os(e,t,n)).dates}async function As(e,t,n,r){let i=(await Os(e,t,r)).digests.get(n);if(i)return i;let a=(await Ds(`${r.dockerApiUrl}/v2/repositories/${e}/${t}/tags/${n}`,r,`${e}/${t}:${n}`,e=>({digest:e.digest})))?.digest;return typeof a==`string`?a:null}const js=/^\d?[02468]\.04$/;function Ms(e,t,n=Date.now()){return e===`ubuntu`?Object.fromEntries(Object.entries(t).filter(([e])=>{let t=Ss(e)?.version;return!t||js.test(t)&&n>=Date.UTC(2e3+Number(t.split(`.`)[0]),4)})):t}async function Ns(e,t){let{registry:n,namespace:r,repo:i}=ys(e);if(n)throw Error(`Non-Docker-Hub registries are not yet supported: ${n}`);return[{tags:Ms(i,await ks(r,i,t)),name:e},null]}const Ps=({version:e,prerelease:t})=>`${Vs(e)}${t?`-${t}`:``}`;function Fs(e){let t=Ss(e);return t?Vs(t.version):``}const Is=/[._]/,Ls=e=>J(e.version).split(Is).map(Number),Rs=e=>J(e).replace(/\d+/g,``),zs=2e7,Bs=e=>Number(J(e).split(Is)[0]);function Vs(e){let t=J(e).split(Is);return`${Number(t[0])}.${Number(t[1]||0)}.${Number(t[2]||0)}`}function Hs(e,t){let n=Ls(e),r=Ls(t);for(let e=0;e<n.length;e++)if(n[e]!==r[e])return n[e]-r[e];return!!e.prerelease==!!t.prerelease?e.prerelease.localeCompare(t.prerelease):e.prerelease?-1:1}function Us(e,t){let n=Ls(t),r=Ls(e).findIndex((e,t)=>e!==n[t]);return r===0?`major`:r===1?`minor`:`patch`}function Ws(e,t,n,r,i,a,o=!1,s=!1){let c=Ss(t);if(!c)return null;let l=Rs(c.version),u=Bs(c.version)>=zs,d=Ps(c),{effectiveSemvers:f,skipsPrerelease:p}=Qn(d,o,s,n),m=l.length>2||l.includes(`_`),h=H(d),g=c,_={newTag:``,date:``};for(let[t,d]of Object.entries(e)){let e=Ss(t);if(!e||e.suffix!==c.suffix||Rs(e.version)!==l||!u&&Bs(e.version)>=zs||!jn(d,r,i))continue;let v=Ps(e);if(a&&!U(v,a))continue;if(m){if(e.prerelease&&(!o&&!c.prerelease||s)||Hs(e,g)<=0||!n.has(Us(c,e)))continue;g=e,_={newTag:t,date:d};continue}let y=H(v);if(!y||e.prerelease&&p(y))continue;if(y.version===h.version){_.newTag&&Date.parse(d)>Date.parse(_.date)&&(_={newTag:t,date:d});continue}let b=K.diff(h,y);!b||!f.has(b)||K.compare(y,h)<=0||(h=y,_={newTag:t,date:d})}if(!_.newTag)return null;if(m)return _;let[v,y=``]=h.version.split(`-`),b=Ir(v,c.version,`${y}${c.suffix}`),x=b in e?b:_.newTag;return x===t?null:{newTag:x,date:_.date}}function Gs(e){let t=/* @__PURE__ */ new Map;for(let[n,r]of Object.entries(e)){let e=n.split(`\0`)[1];r.oldDigest?r.newDigest&&t.set(r.digestOnly?`${e}@${r.oldDigest}`:`${e}:${r.oldOrig||r.old}@${r.oldDigest}`,r.digestOnly?`${e}@${r.newDigest}`:`${e}:${r.new}@${r.newDigest}`):t.set(`${e}:${r.oldOrig||r.old}`,`${e}:${r.new}`)}return t}function Ks(e,t,n,r=e=>!0){if(!t.size)return e;let i=Be(t.keys()),a=e;for(let e of n)a=a.replace(RegExp(`(${e})(${i})(?![\\w.@+-])`,`gm`),(e,n,i,a)=>r(a)?`${n}${t.get(i)??i}`:e);return a}function qs(e,t){let n=Gs(t);if(!n.size)return e;let r=/* @__PURE__ */ new Map;for(let{image:t,index:i,args:a,resolved:o}of _s(e)){let e=n.get(o);if(!e)continue;if(t===o){r.set(i,[t.length,e]);continue}let s=o.lastIndexOf(`@`),c=e.lastIndexOf(`@`),l=o.slice(s+1),u=e.slice(c+1),d=s!==-1&&c!==-1&&l!==u,f=d?t.lastIndexOf(l):-1;f!==-1&&r.set(i+f,[l.length,u]);let p=e=>a.get(e)?.value;for(let n of t.matchAll(/\$(?:\{(\w+)\}|(\w+))/g)){let i=a.get(n[1]||n[2]),o=ms(t.slice(0,n.index),p),s=ms(t.slice(n.index+n[0].length),p);d&&(s=s.replace(l,()=>u)),i&&e.startsWith(o)&&e.endsWith(s)&&r.set(i.start,[i.value.length,e.slice(o.length,s?-s.length:void 0)])}}let i=[],a=0;for(let[t,[n,o]]of[...r].sort(([e],[t])=>e-t))i.push(e.slice(a,t),o),a=t+n;return i.push(e.slice(a)),i.join(``)}function Js(e,t){let n=ws(e);return Ks(e,Gs(t),[String.raw`${ls}image:\s*['"]?`],e=>!n.has(e))}function Ys(e,t){return Ks(e,Gs(t),[String.raw`${ls}(?:container|image):\s*['"]?`,String.raw`${ls}uses:\s*['"]?docker://`])}const Xs=[`Dockerfile`,`Containerfile`,`compose.yml`,`compose.yaml`,`docker-compose.yml`,`docker-compose.yaml`];function Zs(e){return/^(?:docker-|compose).*\.ya?ml$/.test(e)}function Qs(e){return/^(?:[Dd]ocker|[Cc]ontainer)file|\.(?:[Dd]ocker|[Cc]ontainer)file$/.test(e)}function $s(e){return Qs(e)||Zs(e)}function ec(e){return e.registry?``:e.namespace===`library`?`https://hub.docker.com/_/${e.repo}`:`https://hub.docker.com/r/${e.namespace}/${e.repo}`}const tc=[`Makefile`,`makefile`,`GNUmakefile`];function nc(e){return tc.includes(e)||e.endsWith(`.mk`)}const rc=/^\s*(?:(?:export|override|private|unexport)\s+)*[A-Za-z_][\w.]*\s*(?:::=|:=|\?=|\+=|=)\s*(.*)$/,ic=/^([^@\s]+)@(v\d\S*)$/,ac=/^[^/\s]+\.[^/\s]+\//;function*oc(e,t){let n=``;for(let r of[...e.split(/\r?\n/),``]){let e=r.indexOf(`#`),i=e===-1?r:r.slice(0,e),a=0;for(;i[i.length-a-1]===`\\`;)a++;if(a%2){n+=`${i.slice(0,-1)} `;continue}let o=t.exec(n+i);if(n=``,!o)continue;let s=``,c=``;for(let e of o[1])s?e===s?s=``:c+=e:e===`"`||e===`'`?s=e:/\s/.test(e)?(c&&(yield c),c=``):c+=e;c&&!s&&(yield c)}}function sc(e,t,n){return Array.from(oc(e,t),e=>n?.exec(e)?.[1]??e).filter(e=>!e.includes(`$`))}function cc(e){return sc(e,rc)}function lc(e){return e.flatMap(e=>{let t=ic.exec(e);return t&&ac.test(t[1])?[{installPath:t[1],version:t[2]}]:[]})}const uc=/@(sha256:[0-9a-f]{64})$/;function dc(e,t,n){return`${e}:${t}${n?`@${n}`:``}`}function fc(e){let t=uc.exec(e),n=t?e.slice(0,t.index):e,r=xs(n.replace(/^docker\.io\//,``));return!r||r.registry||r.namespace===`library`?null:{writtenImage:n.slice(0,n.lastIndexOf(`:`)),ref:r,digest:t?.[1]??null}}function pc(e){return e.map(fc).filter(e=>e!==null)}const mc=/\/v(?:[2-9]|[1-9]\d+)(?=\/|$)/,hc=/* @__PURE__ */ new WeakMap;function gc(e,n,r){return Y(hc,r,`${g(n)}${e}`,async()=>{let i;try{({stdout:i}=await r.execFile(`go`,[`list`,`-m`,`-e`,`-json`,`${e}@latest`],{timeout:r.fetchTimeout,cwd:n,env:{...t,GOPROXY:`direct`}}))}catch(t){throw di(`${e}@latest`,t)}let a;try{a=JSON.parse(i)}catch{throw Error(`go list -m ${e}@latest returned malformed JSON`)}if(a.Error){let t=a.Error.Err;if(a.Origin&&t?.endsWith(`no matching versions for query "latest"`))return null;throw Error(`go list -m ${e}@latest failed: ${t||`unknown error`}`)}if(typeof a.Version!=`string`)throw Error(`go list -m ${e}@latest returned malformed JSON`);return!0},!1)}async function _c(e,t,n,r){let i=mc.exec(e);if(i)return e.slice(0,i.index+i[0].length);let a=e.split(`/`),o=Array.from({length:a.length-1},(e,t)=>a.slice(0,a.length-t).join(`/`));for(let{url:i,fallback:a}of Gr(e,n,r)){if(i===`off`)break;let e=await Promise.allSettled(o.map(async e=>i===`direct`?gc(e,t,n):!!await _i(n,`primary`,i,e)));for(let[t,n]of e.entries()){if(n.status===`rejected`&&a===`,`)throw n.reason;if(n.status===`fulfilled`&&n.value)return o[t]}}return null}function vc(e,t){let n=new Map(t.map(({oldSpec:e,newSpec:t})=>[e,t]));if(!n.size)return e;let r=Array.from(n.keys()).sort((e,t)=>t.length-e.length).map(e=>Array.from(e,I).join(`["']*`)).join(`|`),i=RegExp(`(?:(?<=\\$\\{\\w+:?-)|(?<![\\w./@:-]))(${r})(?![\\w./@:+-])`,`g`);return e.replace(/^[^#\n]*/gm,e=>e.replace(i,e=>{let t=n.get(e.replace(/["']/g,``)),r=0;return e.replace(/[^"']/g,()=>t[r++]??``)+t.slice(r)}))}function yc(e){return e.endsWith(`.sh`)}const bc=/^\s*(?:(?:export|readonly|local|declare|typeset)\s+(?:-\w+\s+)*)*[A-Za-z_]\w*=\(?((?:.*[^\s;)])?)[\s;)]*$/,xc=/^\$\{\w+:?[-=](.*)\}$/;function Sc(e){return sc(e,bc,xc)}const Cc=/* @__PURE__ */ new WeakMap;function wc(e){let t=e.toLowerCase();return t.length<=2?`${t.length}/${t}`:t.length===3?`3/${t[0]}/${t}`:`${t.slice(0,2)}/${t.slice(2,4)}/${t}`}function Tc(e){return e.split(`
67
+ `):e}function ao(e){let t=[],n=!1;for(let r of e.split(/\r?\n/)){let e=Ua(r);if(e?.indent===0&&e.key===`packages`)n=!0,e.value.startsWith(`[`)&&e.value.endsWith(`]`)&&t.push(...Wa(e.value).map(e=>e.text));else if(n){let e=r.trim();if(e.startsWith(`-`))t.push(e.slice(1));else if(e&&!e.startsWith(`#`))break}}return t.map(e=>Ga(e)?.value).filter(e=>e!==void 0)}const oo=/[0-9]+(\.[0-9]+)?(\.[0-9]+)?/g,so=/* @__PURE__ */ new Set([`resolutions`,`overrides`]);function co(e){let t=e.replace(/^.*?[^ |@]>/,``).trim();return/(?:^|\/)((?:@[^/]+\/)?[^/@]+)(?:@[^/]*)?$/.exec(t)?.[1]??(t||e)}const lo=Y.registry,uo=/* @__PURE__ */ new Map,fo=/* @__PURE__ */ new Map,po=e=>e.replace(/^\$\{?([^}]*)\}?$|\$\{([^}]*)\}/g,(e,n,r)=>t[n||r]||``);function mo(e){let t=new URL(e.startsWith(`//`)?`http:${e}`:e),n=[],r;for(;r!==`/`&&t.pathname!==r;)r=t.pathname||`/`,n.push(`//${t.host}${r.replace(/\/$/,``)}`),t.pathname=new URL(`..`,new URL(r.endsWith(`/`)?r:`${r}/`,`http://x`)).pathname;return n}function ho(e,t,n){let r=mo(e),i=(e,n)=>t[`${e}:${n}`]||t[`${e}/:${n}`],a=n&&r.map(e=>i(e,`${n}:_authToken`)).find(Boolean);if(a)return{token:po(a),type:`Bearer`};for(let e of r){let t=i(e,`_authToken`);if(t)return{token:po(t),type:`Bearer`};let n=i(e,`username`),r=i(e,`_password`);if(n&&r){let e=Buffer.from(po(r),`base64`).toString(`utf8`);return{token:Buffer.from(`${po(n)}:${e}`).toString(`base64`),type:`Basic`}}let a=i(e,`_auth`);if(a)return{token:po(a),type:`Basic`}}if(e===lo&&t._auth)return{token:po(t._auth),type:`Basic`}}function go(e,n,r){let i=H(uo,r??``,()=>Na(`npm`,{registry:lo},r)),a=t.pnpm_config__auth||t.PNPM_CONFIG__AUTH||void 0,o=H(fo,a??``,()=>Xa(a,`pnpm_config__auth`)),s=to(),c=r?Qa(r):{registries:{}},l=e.startsWith(`@`)?e.split(`/`)[0]:``,u=nn(po(l&&(o.registries[l]||c.registries[l]||s.registries[l]||s.auth.registries[l]||i[`${l}:registry`])||n.registry||o.registries.default||c.registries.default||c.registry||s.registries.default||s.registry||s.auth.registries.default||i.registry||lo));return{auth:ho(u,{...i,...s.auth.tokens,...o.tokens},l),registry:u}}const _o=(e,t)=>`${e}/${t.replace(/\//g,`%2f`)}`,vo=/* @__PURE__ */ new WeakMap,yo=/* @__PURE__ */ new WeakMap,bo=/* @__PURE__ */ new WeakMap,xo=/* @__PURE__ */ new WeakMap,So=(e,t)=>`${e}v2${t?`-dates`:``}`;function Co(e){let t={};for(let n of Object.keys(e.versions??{}))t[n]=e.versions[n]?.deprecated?{deprecated:!0}:{};return{name:e.name,"dist-tags":e[`dist-tags`],versions:t,time:e.time,error:e.error}}async function wo(e,t,n,r,i,a,o=``){let s=so.has(t)?co(e):[`packageManager`,`engines`,`volta`].includes(t)&&e===`yarn`&&(U(Q(o))?.major??0)>1?`@yarnpkg/cli`:e,{auth:c,registry:l}=go(s,n,a),u=_o(l,s),d=So(u,!!r.needsDates);return[await Z(vo,i,d,async()=>{let t=rn(c?.type,c?.token);r.needsDates||(t.headers={...t.headers,accept:`application/vnd.npm.install-v1+json`});let n=await pn(u,i,t,un(Co),d);return`body`in n||cr(n.res,u,e,l),JSON.parse(n.body)}),l]}async function To(e,t,n,r,i,a){let{auth:o,registry:s}=go(e,n,a),c=_o(s,e),l=`${c}/${t}`;return Z(yo,i,l,async()=>{try{let e=rn(o?.type,o?.token),n=await mn(l,i,e,un(e=>({repository:e.repository,homepage:e.homepage,dist:{integrity:e.dist?.integrity},_npmOperationalInternal:e._npmOperationalInternal?.tmp?{tmp:e._npmOperationalInternal.tmp}:void 0})),`${l}#integrity`);if(!(`body`in n))return{};let a=JSON.parse(n.body),s=/(\d{13})/.exec(a?._npmOperationalInternal?.tmp??``),u=s?new Date(Number(s[1])).toISOString():``;return!u&&r.needsDates&&(u=(await vo.get(i)?.get(So(c,!0)))?.time?.[t]||``),u||=(await L(Z(bo,i,c,async()=>{let t=await ln(i,c,e);return t.ok?await t.json():null})))?.time?.[t]||``,{repository:a.repository,homepage:a.homepage,date:u,integrity:a.dist?.integrity}}catch{return{}}})}const Eo=e=>e.startsWith(`npm:@jsr/`)||e.startsWith(`jsr:`),Do=e=>e.startsWith(`link:`)||e.startsWith(`file:`),Oo=e=>e.startsWith(`catalog:`),ko=/^npm:((?:@[^/@]+\/)?[^@/][^@]*)@(.+)$/;function Ao(e){let t=ko.exec(e.trim());return t&&G(t[2])?{name:t[1],range:t[2]}:null}const jo=/^(?:npm:@jsr\/([^_]+)__([^@]+)|jsr:@([^/]+)\/([^@]+))@(.+)$/,Mo=/^@([^/]+)\/(.+)$/;function No(e,t){let n=jo.exec(e);if(n)return{scope:n[1]||n[3],name:n[2]||n[4],version:n[5]};if(e.startsWith(`jsr:`)&&!e.startsWith(`jsr:@`)){let n=Mo.exec(t??``);if(n)return{scope:n[1],name:n[2],version:e.substring(4)}}return{scope:null,name:null,version:``}}function Po(e,t){if(!Eo(t))return Ao(t)?.name??e;let{scope:n,name:r}=No(t,e);return n?`@${n}/${r}`:e}async function Fo(e,t){if(!Mo.test(e))throw Error(`Invalid JSR package name: ${e}`);let n=`${t.jsrApiUrl}/${e}/meta.json`;return[await Z(xo,t,n,async()=>{let r=await pn(n,t,{headers:{"accept-encoding":`gzip, deflate, br`}},un(e=>({latest:e.latest,versions:Object.fromEntries(Object.entries(e.versions??{}).map(([e,t])=>[e,{createdAt:t?.createdAt}]))})));`body`in r||cr(r.res,n,e,`JSR`);let i=JSON.parse(r.body),a={},o={};for(let[e,t]of Object.entries(i.versions??{}))a[e]={version:e,time:t.createdAt},o[e]=t.createdAt;return{name:e,"dist-tags":{latest:i.latest},versions:a,time:o}}),t.jsrApiUrl]}function Io(e,t){try{JSON.parse(e)}catch{return e}let n=/* @__PURE__ */ new Map,r=0,i=()=>{for(;/\s/.test(e[r]??``);)r++},a=()=>{let t=r++;for(;r<e.length;)if(e[r]===`\\`)r+=2;else if(e[r++]===`"`)break;return{start:t,end:r,value:JSON.parse(e.slice(t,r))}},o=t=>{if(i(),e[r]===`"`)n.set(JSON.stringify(t),a());else if(e[r]===`{`||e[r]===`[`){let n=e[r++]===`{`?`}`:`]`;i();for(let s=0;e[r]!==n&&r<e.length;s++){let c=s;if(n===`}`&&(c=a().value,i(),e[r++]!==`:`))return;if(o([...t,c]),i(),e[r]===`,`)r++,i();else break}e[r]===n&&r++}else for(;r<e.length&&!/[,}\]]/.test(e[r]);)r++};o([]);let s=[];for(let[e,r]of Object.entries(t)){let[t,i,a]=e.split(`\0`),o=n.get(a||JSON.stringify([t,i])),c=o??n.get(JSON.stringify([t])),l=o?``:`${i}@`;c?.value===`${l}${r.oldOrig||r.old}`&&s.push({...c,value:JSON.stringify(`${l}${r.new}`)})}for(let t of s.sort((e,t)=>t.start-e.start))e=`${e.slice(0,t.start)}${t.value}${e.slice(t.end)}`;return e}const Lo=String.raw`[<>]=?|~>|[\^~=]`,Ro=new RegExp(String.raw`^(${Lo})?(\s*)(v?)((?:\d+|[xX*])(?:\.(?:\d+|[xX*]))*)(-[0-9A-Za-z.-]+)?$`),zo=RegExp(`^(?:${Lo})$`),Bo=/^[xX*]$/,Vo=/\+[0-9A-Za-z.-]+/g,Ho=/\|\||[\dxX*]\s+\S/;function Uo(e){let t=[];for(let n of e.trim().replaceAll(`||`,` || `).split(/\s+/))t.length&&zo.test(t[t.length-1])?t[t.length-1]+=` ${n}`:t.push(n);return t}function Wo(e,t){let n=Ro.exec(e);if(!n)return e;let[r,i=``,a,o,s,c=``]=n,l=s.split(`.`);if(i===`<`&&l.length<=3&&!/[xX*]/.test(s)){let{major:e,minor:n,patch:r}=U(t);return`${i}${a}${l.length===1?`${e+1}`:l.length===2?`${e}.${n+1}`:!c&&s.endsWith(`.0.0`)?`${e+1}.0.0`:!c&&s.endsWith(`.0`)?`${e}.${n+1}.0`:`${e}.${n}.${r+1}`}`}if(i===`>`||i===`<`)return e;if(t.includes(`-`))return`${i}${a}${o}${t}`;let u=t.split(`.`);return`${i}${a}${o}${l.map((e,t)=>Bo.test(e)?e:u[t]??`0`).join(`.`)}`}function Go(e,t){if(W(t,e))return e;let n=Uo(e),r=n[n.length-1];if(!r.startsWith(`<`)&&n[n.length-2]!==`-`){let i=Wo(r,t);return n.length>1&&r.startsWith(`>`)||i===r?e:`${e} || ${i}`}return n[n.length-1]=Wo(r,t),n.join(` `)}function Ko(e,t,n,r){let i=(n||e).replace(Vo,``),a=r===`peerDependencies`||Ho.test(i)?Go(i,t):Wo(i,t);return W(t,a)?a:i}function qo(e){if(/[xX*]/.test(e))return e;let t=e.match(oo);return t?.length===1?e.replace(oo,()=>Q(t[0])):e}async function Jo(e,t,n){let r=await tr(`${n.forgeApiUrl}/repos/${e}/${t}/commits`,n,`commits`,async e=>{let[t]=JSON.parse(await e.text());return JSON.stringify(t?[{sha:t.sha,commit:{committer:t.commit?.committer,author:t.commit?.author}}]:[])}),[i]=r?JSON.parse(r):[];return i?{hash:i.sha,commit:i.commit}:{hash:``,commit:{}}}async function Yo(e,t,n,r){return(await or(r.forgeApiUrl,e,t,r,[n])).map(e=>e.name)}function Xo(e){let t=e.lastIndexOf(`#`);if(t===e.length-1)return null;let n=e.slice(0,t===-1?e.length:t).replace(/^git\+/i,``),r=t===-1?``:e.slice(t+1),i=/^(?:github:|git@github\.com:|(?:https?|git|ssh):\/\/(?:[^/@]+@)?github\.com[/:])(.+)$/i.exec(n);if(i)n=i[1];else if(n.includes(`:`))return null;if(!r){let e=/^([^/]+\/[^/]+)\/(?:.*\/)?([0-9a-f]+|v?[0-9]+\.[0-9]+\.[0-9]+)$/i.exec(n);if(!e)return null;n=e[1],r=e[2]}n=n.replace(/\.git$/i,``);let a=n.split(`/`);if(a.length!==2||!/^[a-z\d](?:-?[a-z\d]){0,38}$/i.test(a[0])||!/^[a-z\d._-]{1,100}$/i.test(a[1]))return null;let o=r.startsWith(`semver:`)&&G(r.slice(7))?r.slice(7):null;return!o&&!Xn.test(r)&&!tt(r)?null:{user:a[0],repo:a[1],ref:o??r,selector:o}}async function Zo(e,t,n){let r=Xo(t.old);if(!r)return null;let{user:i,repo:a,ref:o,selector:s}=r,c=e=>{let n=t.old.lastIndexOf(o);return`${t.old.slice(0,n)}${e}${t.old.slice(n+o.length)}`};if(Xn.test(o)){let{hash:t,commit:r}=await Jo(i,a,n),s=t.substring(0,o.length);return!t||o.toLowerCase()===s.toLowerCase()?null:{key:e,newRange:c(s),user:i,repo:a,oldRef:o,newRef:s,newDate:Qn(r)}}let l=qn(await Yo(i,a,o,n),s?Q(s):o);if(!l)return null;let u=s?Ko(s,X(l),s):l;return u===o?null:{key:e,newRange:c(u),user:i,repo:a,oldRef:o,newRef:u}}function Qo(e){let t=/^(?!\.\.?\/)(?:https?:\/\/([^/]+)\/)?(([^/@]+)\/([^/@]+)[^@]*)@(.+)$/.exec(e);if(!t)return null;let[n,r=null,i,a,o,s]=t;return{host:r,owner:a,repo:o,ref:s,name:r?`${r}/${i}`:i,isHash:Yn.test(s)}}function $o(e,t){return e?e===`github.com`?tn:`https://${e}/api/v1`:t}async function es(e,t,n,r,i){let a=`${e}/repos/${t}/${n}/git/commits/${r}`,o=i.noCache?null:await Vt(a);if(o)return o.body;try{let e=await Kn(a,i);if(e.status===404)return``;if(!e.ok)return;let t=Qn(await e.json());return t&&!i.noCache&&Wt(a,`immutable`,t),t}catch(e){if(e instanceof Un)throw e;return}}function ts(e,t){let n=e.replace(/^v/i,``);return lr(U(n)?.version??n,t)}const ns=/^(\s*(?:-\s*)?)(?:"([^"]+)"|'([^']+)'|([^\s:#][^:#]*)):\s*([^\r\n]*)\r?$/;function rs(e,t){let n=ns.exec(e);if(!n)return null;let r=n[1].length,i=n[1].indexOf(`-`)+1;for(;t.length&&t.at(-1).indent>=(i||r);)t.pop();return{indent:r,key:(n[2]??n[3]??n[4]).trim(),value:n[5]}}const is=/^\s*(?:(?:renovate\s*:\s*)?(?:pin\s+|tag\s*=\s*)?|ratchet:[\w-]+\/[.\w-]+(?:\/[.\w-]+)*)@?((?:[\w-]*[-/])?v?\d+(?:\.\d+(?:\.\d+)?)?(?:-[a-zA-Z0-9.]+)?)/;function as(e){let t=/^(\s*(?:-\s*)?uses:\s*)(?:(["'])(.*?)\2|((?!["'#])\S+))([^\n]*)$/.exec(e);if(!t)return null;let[n,r,i=``,a,o,s]=t,c=a??o;if(!c)return null;let l=s.search(/(?<=\s)#/),u=l===-1?``:s.slice(l),d=u?is.exec(u.slice(1)):null;return{prefix:r,quote:i,value:c,gap:l===-1?s:s.slice(0,l),comment:u,pinnedVersion:d?.[1]??``,pinnedEnd:d?d[0].length+1:0}}function os(e,t){let n=new Map(t.map(e=>[`${e.name}@${e.oldRef}${e.oldComment?`#${e.oldComment}`:``}`,e])),r=[],i=-1;return e.split(`
68
+ `).map(e=>{if(i!==-1){if(!e.trim()||e.length-e.trimStart().length>i)return e;i=-1}let t=rs(e,r);if(!t)return e;let a=t.key===`uses`&&(r.length===3&&r[0].key===`jobs`&&r[2].key===`steps`||r.length===2&&(r[0].key===`jobs`||r[0].key===`runs`&&r[1].key===`steps`)),o=t.value.replace(/(?:^|\s)#.*$/,``).trim();if(o||r.push(t),/^[>|](?:[+-]?\d?|\d[+-]?)$/.test(o))return i=t.indent,e;let s=a&&as(e);if(!s)return e;let{prefix:c,quote:l,value:u,gap:d,comment:f,pinnedVersion:p,pinnedEnd:m}=s,h=/^https?:\/\//.exec(u)?.[0]??``,g=p||/^#\s*(\S+)\s*$/.exec(f)?.[1]||``,_=u.slice(h.length),v=n.get(`${_}${g?`#${g}`:``}`)??n.get(_);if(!v)return e;let y=v.newComment&&p?`# ${v.newComment}${f.slice(m)}`:f;return`${c}${l}${h}${v.name}@${v.newRef}${l}${d}${y}`}).join(`
69
+ `)}const ss=RegExp(`(?:^|/)(?:(?:workflow-templates|(?:${Re(Te)})/(?:workflows|actions))/.+|action)\\.ya?ml$`);function cs(e){return ss.test(e.replace(/\\/g,`/`))}function ls(e){let t=/* @__PURE__ */ new Set;try{let n=m(e,`workflows`);for(let e of w(n))/\.ya?ml$/.test(e)&&t.add(g(n,e))}catch{}try{for(let n of w(e,{recursive:!0,withFileTypes:!0}))n.isFile()&&cs(m(n.parentPath,n.name))&&t.add(g(n.parentPath,n.name))}catch{}return Array.from(t)}const us=/^(v?\d+(?:\.\d+)*(?:_\d+)?)([a-zA-Z][a-zA-Z0-9]*)?(-.+)?$/,ds=/^\s*(?:#\s*syntax\s*=\s*|FROM(?:\s+--\S+)*\s+(?!--)|(?:ONBUILD\s+)?COPY(?:\s+--\S+)*?\s+--from=)(\S+)/i,fs=/^\s*(?:ONBUILD\s+)?RUN(?:\s+--\S+)+/i,ps=/(?<=\s--mount=(?:[^\s,]*,)*from=)[^\s,]+/gi,ms=/^[ \t]*image:\s*['"]?([^\s'"#]+)['"]?/gm,hs=String.raw`(?<=^[ \t]*(?:-[ \t]+)?|[{,][ \t]*)`,gs=/^\uFEFF?[ \t]*ARG\s+(\w+)(?:[ =](\S*))?/i,_s=/^\s*#\s*(syntax|escape|check)\s*=\s*(\S+)/i,vs=/^\s*(?:ONBUILD\s+)?(?:ADD|COPY|RUN)\s/i,ys=/(?:[^\s"'\\]|\\.|"(?:\\.|[^"\\])*"|'[^']*')+/g;function bs(e,t){return e.includes(`$`)?e.replace(/\$\{(\w+)\}|\$(\w+)/g,(e,n,r)=>t(n||r)??e):e}function xs(e){let t=Array.from(e.matchAll(ys),([e])=>e),n=[];for(let[e,r]of t.entries()){let i=/^\d*<<-?/.exec(r)?.[0];if(!i||r.includes(`<`,i.length))continue;let a=r.slice(i.length)||t[e+1];a&&n.push({chomp:i.endsWith(`-`),name:a.replace(/\\(.)|["']/g,`$1`)})}return n}function*Ss(e){let t=`\\`,n=!0,r=[],i=``,a=0,o=0;for(let s of e.split(`
70
+ `)){let e=o;if(o+=s.length+1,r.length){let{chomp:e,name:t}=r[0];(e?s.replace(/^\t+/,``):s).replace(/\r$/,``)===t&&r.shift();continue}if(n){let r=_s.exec(s);if(r){r[1].toLowerCase()===`escape`&&(t=r[2]),yield{text:s,index:e};continue}n=!1}let c=s.trimStart();if(!c||c.startsWith(`#`)){i&&(i+=`${` `.repeat(s.length)}\n`);continue}i||(a=e);let l=s.trimEnd().length;s[l-1]===t&&s[l-2]!==t?i+=`${s.slice(0,l-1)} ${s.slice(l)}\n`:(i+=s,yield{text:i,index:a},r=i.includes(`<<`)&&vs.test(i)?xs(i):[],i=``)}i&&(yield{text:i,index:a})}function*Cs(e,t=!1){let n=/* @__PURE__ */ new Map,r=(e,r)=>({image:e,index:r,args:n,resolved:bs(e,e=>n.get(e)?.[t?`resolved`:`value`])}),i=!1;for(let{text:t,index:a}of Ss(e)){let e=i?null:gs.exec(t);if(e){let r=e[2]?.replace(/^(['"])(.*)\1$/,`$2`)??``;n.set(e[1],{value:r,resolved:bs(r,e=>n.get(e)?.resolved),start:a+t.lastIndexOf(r)});continue}i||=/^\s*FROM\s/i.test(t);let o=ds.exec(t);o&&(yield r(o[1],a+o[0].length-o[1].length));let s=fs.exec(t)?.[0];if(s&&/from=/i.test(s))for(let e of s.matchAll(ps))yield r(e[0],a+e.index)}}const ws=/^(?:(?:index|registry-1)\.)?docker\.io$/;function Ts(e){let t=e.split(`/`);return t.length>1&&ws.test(t[0])&&t.shift(),{registry:t.length>2||t.length>1&&(t[0]===`localhost`||t[0].includes(`.`)||t[0].includes(`:`))?t.shift():null,namespace:t.length===1?`library`:t.slice(0,-1).join(`/`),repo:t.at(-1)}}function Es(e){let{registry:t,namespace:n,repo:r}=Ts(e);if(t)return[e];let i=n===`library`?[r,`library/${r}`]:[`${n}/${r}`];return[.../* @__PURE__ */ new Set([e,...i,...i.map(e=>`docker.io/${e}`)])]}function Ds(e){if(e.includes(`$`))return null;e=e.replace(/^docker:\/\//,``);let[t,n,...r]=e.split(`@`);if(r.length||n&&!/^[a-z][a-z0-9+._-]*:[0-9a-f]+$/i.test(n))return null;let i=t.lastIndexOf(`:`),a=i!==-1&&t.lastIndexOf(`/`)<i;if(!a&&!n)return null;let o=a?t.substring(0,i):t,s=a?t.substring(i+1):`latest`;if(a&&!n&&!us.test(s))return null;let{registry:c,namespace:l,repo:u}=Ts(o);return{registry:c,namespace:l,repo:u,tag:s,fullImage:o,...n&&{digest:n},...!a&&{digestOnly:!0}}}function Os(e){let t=us.exec(e);return!t||t[2]&&!t[3]&&Xn.test(e)?null:{version:t[1],prerelease:t[2]||``,suffix:t[3]||``}}function ks(e,t){let n=[];if(t===`dockerfile`){for(let{image:t,resolved:r}of Cs(e,!0)){let e=Ds(r);e&&n.push({ref:e,match:t})}return n}let r=As(e);for(let t of e.matchAll(ms)){if(r.has(t.index+t[0].indexOf(`image:`)))continue;let e=Ds(t[1].replace(/^\$\{\w+:-([^${}]+)\}$/,`$1`));e&&n.push({ref:e,match:t[1]})}return n}function As(e){let t=/* @__PURE__ */ new Set,n=/* @__PURE__ */ new Map;for(let r of e.matchAll(/^.*$/gm)){if(!r[0].trim()||r[0].trimStart().startsWith(`#`))continue;let e=/^[ \t]*/.exec(r[0])[0].length;for(let t of n.keys())t>e&&n.delete(t);let i=H(n,e,()=>({built:!1,images:[]}));if(/^[ \t]*build\s*:/.test(r[0])){i.built=!0;for(let e of i.images)t.add(e)}else if(/^[ \t]*image\s*:/.test(r[0])){let n=r.index+e;i.built?t.add(n):i.images.push(n)}}return t}const js=/* @__PURE__ */ new WeakMap,Ms=/* @__PURE__ */ new Set([401,403,404]);async function Ns(e,t,n,r,i=e){let a=await pn(e,t,{headers:{"accept-encoding":`gzip, deflate, br`}},un(r),i);return`body`in a?JSON.parse(a.body):(Ms.has(a.res?.status)||cr(a.res,e,n,t.dockerApiUrl),null)}function Ps(e,t,n){return Z(js,n,`${e}/${t}`,async()=>{let r={dates:{},digests:/* @__PURE__ */ new Map},i=`${n.dockerApiUrl}/v2/repositories/${e}/${t}/tags`,a=e=>`${i}?page_size=1000&ordering=last_updated&page=${e}`,o=r=>Ns(r,n,`${e}/${t}`,e=>({count:e.count,next:e.next,results:(e.results||[]).map(e=>({name:e.name,tag_last_pushed:e.tag_last_pushed,last_updated:e.last_updated,digest:e.digest}))}),`${r}#digest`),s=e=>{for(let t of e.results??[])r.dates[t.name]=t.tag_last_pushed||t.last_updated||``,typeof t.digest==`string`&&r.digests.set(t.name,t.digest)},c=await o(a(1));if(!c)return r;s(c);let l=Array.from({length:Math.min(20,Math.ceil(c.count/1e3))-1},(e,t)=>a(t+2)),u=new Set(l),d=await I(l,async e=>{try{return{value:await o(e)}}catch(e){return{reason:e}}},{concurrency:gn(n)});for(let e of d){if(`reason`in e)throw e.reason;if(!e.value)return r;s(e.value),c=e.value}let f=new URL(i).origin;for(let e=l.length+2;e<=20&&c.next;e++){let e=new URL(c.next,i);if(e.origin!==f||u.has(e.href)||(u.add(e.href),c=await o(e.href),!c))break;s(c)}return r})}async function Fs(e,t,n){return(await Ps(e,t,n)).dates}async function Is(e,t,n,r){let i=(await Ps(e,t,r)).digests.get(n);if(i)return i;let a=(await Ns(`${r.dockerApiUrl}/v2/repositories/${e}/${t}/tags/${n}`,r,`${e}/${t}:${n}`,e=>({digest:e.digest})))?.digest;return typeof a==`string`?a:null}const Ls=/^\d?[02468]\.04$/;function Rs(e,t,n=Date.now()){return e===`ubuntu`?Object.fromEntries(Object.entries(t).filter(([e])=>{let t=Os(e)?.version;return!t||Ls.test(t)&&n>=Date.UTC(2e3+Number(t.split(`.`)[0]),4)})):t}async function zs(e,t){let{registry:n,namespace:r,repo:i}=Ts(e);if(n)throw Error(`Non-Docker-Hub registries are not yet supported: ${n}`);return[{tags:Rs(i,await Fs(r,i,t)),name:e},null]}const Bs=({version:e,prerelease:t})=>`${qs(e)}${t?`-${t}`:``}`;function Vs(e){let t=Os(e);return t?qs(t.version):``}const Hs=/[._]/,Us=e=>X(e.version).split(Hs).map(Number),Ws=e=>X(e).replace(/\d+/g,``),Gs=2e7,Ks=e=>Number(X(e).split(Hs)[0]);function qs(e){let t=X(e).split(Hs);return`${Number(t[0])}.${Number(t[1]||0)}.${Number(t[2]||0)}`}function Js(e,t){let n=Us(e),r=Us(t);for(let e=0;e<n.length;e++)if(n[e]!==r[e])return n[e]-r[e];return!!e.prerelease==!!t.prerelease?e.prerelease.localeCompare(t.prerelease):e.prerelease?-1:1}function Ys(e,t){let n=Us(t),r=Us(e).findIndex((e,t)=>e!==n[t]);return r===0?`major`:r===1?`minor`:`patch`}function Xs(e,t,n,r,i,a,o=!1,s=!1){let c=Os(t);if(!c)return null;let l=Ws(c.version),u=Ks(c.version)>=Gs,d=Bs(c),{effectiveSemvers:f,skipsPrerelease:p}=Sn(d,o,s,n),m=l.length>2||l.includes(`_`),h=U(d),g=c,_={newTag:``,date:``};for(let[t,d]of Object.entries(e)){let e=Os(t);if(!e||e.suffix!==c.suffix||Ws(e.version)!==l||!u&&Ks(e.version)>=Gs||!J(d,r,i))continue;let v=Bs(e);if(a&&!W(v,a))continue;if(m){if(e.prerelease&&(!o&&!c.prerelease||s)||Js(e,g)<=0||!n.has(Ys(c,e)))continue;g=e,_={newTag:t,date:d};continue}let y=U(v);if(!y||e.prerelease&&p(y))continue;if(y.version===h.version){_.newTag&&Date.parse(d)>Date.parse(_.date)&&(_={newTag:t,date:d});continue}let b=q.diff(h,y);!b||!f.has(b)||q.compare(y,h)<=0||(h=y,_={newTag:t,date:d})}if(!_.newTag)return null;if(m)return _;let[v,y=``]=h.version.split(`-`),b=lr(v,c.version,`${y}${c.suffix}`),x=b in e?b:_.newTag;return x===t?null:{newTag:x,date:_.date}}function Zs(e){let t=/* @__PURE__ */ new Map;for(let[n,r]of Object.entries(e)){let e=n.split(`\0`)[1];r.oldDigest?r.newDigest&&t.set(r.digestOnly?`${e}@${r.oldDigest}`:`${e}:${r.oldOrig||r.old}@${r.oldDigest}`,r.digestOnly?`${e}@${r.newDigest}`:`${e}:${r.new}@${r.newDigest}`):t.set(`${e}:${r.oldOrig||r.old}`,`${e}:${r.new}`)}return t}function Qs(e,t,n,r=e=>!0){if(!t.size)return e;let i=Re(t.keys()),a=e;for(let e of n)a=a.replace(RegExp(`(${e})(${i})(?![\\w.@+/-])`,`gm`),(e,n,i,a)=>r(a)?`${n}${t.get(i)??i}`:e);return a}function $s(e,t){let n=Zs(t);if(!n.size)return e;let r=/* @__PURE__ */ new Map;for(let{image:t,index:i,args:a,resolved:o}of Cs(e)){let e=n.get(o);if(!e)continue;if(t===o){r.set(i,[t.length,e]);continue}let s=o.lastIndexOf(`@`),c=e.lastIndexOf(`@`),l=o.slice(s+1),u=e.slice(c+1),d=s!==-1&&c!==-1&&l!==u,f=d?t.lastIndexOf(l):-1,p=e=>a.get(e)?.value,m=0,h=!1;for(let n of t.matchAll(/\$(?:\{(\w+)\}|(\w+))/g)){m=n.index+n[0].length;let i=a.get(n[1]||n[2]),o=bs(t.slice(0,n.index),p),s=bs(t.slice(m),p);d&&(s=s.replace(l,()=>u)),i&&e.startsWith(o)&&e.endsWith(s)&&(r.set(i.start,[i.value.length,e.slice(o.length,s?-s.length:void 0)]),h=!0)}let g=bs(t.slice(0,m),p);!h&&m<t.length&&e.startsWith(g)?r.set(i+m,[t.length-m,e.slice(g.length)]):f!==-1&&r.set(i+f,[l.length,u])}let i=[],a=0;for(let[t,[n,o]]of[...r].sort(([e],[t])=>e-t))i.push(e.slice(a,t),o),a=t+n;return i.push(e.slice(a)),i.join(``)}function ec(e,t){let n=As(e);return Qs(e,Zs(t),[String.raw`${hs}image:\s*['"]?(?:\$\{\w+:-(?=[^{}$]+\}['"]?(?:\s|[,}#]|$)))?`],e=>!n.has(e))}function tc(e,t){return Qs(e,Zs(t),[String.raw`${hs}(?:container|image):\s*['"]?`,String.raw`${hs}uses:\s*['"]?docker://`])}const nc=[`Dockerfile`,`dockerfile`,`Containerfile`,`containerfile`,`compose.yml`,`compose.yaml`,`compose.override.yml`,`compose.override.yaml`,`docker-compose.yml`,`docker-compose.yaml`,`docker-compose.override.yml`,`docker-compose.override.yaml`];function rc(e){return/^(?:docker-|compose).*\.ya?ml$/.test(e)}function ic(e){return/^(?:[Dd]ocker|[Cc]ontainer)file|\.(?:[Dd]ocker|[Cc]ontainer)file$/.test(e)}function ac(e){return ic(e)||rc(e)}function oc(e){return e.registry?``:e.namespace===`library`?`https://hub.docker.com/_/${e.repo}`:`https://hub.docker.com/r/${e.namespace}/${e.repo}`}const sc=[`Makefile`,`makefile`,`GNUmakefile`];function cc(e){return sc.includes(e)||e.endsWith(`.mk`)}const lc=/^\s*(?:(?:export|override|private|unexport)\s+)*[A-Za-z_][\w.]*\s*(?:::=|:=|\?=|\+=|=)\s*(.*)$/,uc=/^([^@\s]+)@(v\d\S*)$/,dc=/^[^/\s]+\.[^/\s]+\//;function*fc(e,t){let n=``;for(let r of[...e.split(/\r?\n/),``]){let e=r.indexOf(`#`),i=e===-1?r:r.slice(0,e),a=0;for(;i[i.length-a-1]===`\\`;)a++;if(a%2){n+=`${i.slice(0,-1)} `;continue}let o=t.exec(n+i);if(n=``,!o)continue;let s=``,c=``;for(let e of o[1])s?e===s?s=``:c+=e:e===`"`||e===`'`?s=e:/\s/.test(e)?(c&&(yield c),c=``):c+=e;c&&!s&&(yield c)}}function pc(e,t,n){return Array.from(fc(e,t),e=>n?.exec(e)?.[1]??e).filter(e=>!e.includes(`$`))}function mc(e){return pc(e,lc)}function hc(e){return e.flatMap(e=>{let t=uc.exec(e);return t&&dc.test(t[1])?{installPath:t[1],version:t[2]}:[]})}const gc=/@(sha256:[0-9a-f]{64})$/;function _c(e,t,n){return`${e}:${t}${n?`@${n}`:``}`}function vc(e){let t=gc.exec(e),n=t?e.slice(0,t.index):e,r=Ds(n.replace(/^docker\.io\//,``));return!r||r.registry||r.namespace===`library`?null:{writtenImage:n.slice(0,n.lastIndexOf(`:`)),ref:r,digest:t?.[1]??null}}function yc(e){return e.map(vc).filter(e=>e!==null)}const bc=/\/v(?:[2-9]|[1-9]\d+)(?=\/|$)/,xc=/* @__PURE__ */ new WeakMap;function Sc(e,n,r){return Z(xc,r,`${g(n)}${e}`,async()=>{let i;try{({stdout:i}=await r.execFile(`go`,[`list`,`-m`,`-e`,`-json`,`${e}@latest`],{timeout:r.fetchTimeout,cwd:n,env:{...t,GOPROXY:`direct`}}))}catch(t){throw Vi(`${e}@latest`,t)}let a;try{a=JSON.parse(i)}catch{throw Error(`go list -m ${e}@latest returned malformed JSON`)}if(a.Error){let t=a.Error.Err;if(a.Origin&&t?.endsWith(`no matching versions for query "latest"`))return null;throw Error(`go list -m ${e}@latest failed: ${t||`unknown error`}`)}if(typeof a.Version!=`string`)throw Error(`go list -m ${e}@latest returned malformed JSON`);return!0},!1)}async function Cc(e,t,n,r){let i=bc.exec(e);if(i)return e.slice(0,i.index+i[0].length);let a=e.split(`/`),o=Array.from({length:a.length-1},(e,t)=>a.slice(0,a.length-t).join(`/`));for(let{url:i,fallback:a}of bi(e,n,r)){if(i===`off`)break;let e=await Promise.allSettled(o.map(async e=>i===`direct`?Sc(e,t,n):!!await qi(n,`primary`,i,e)));for(let[t,n]of e.entries()){if(n.status===`rejected`&&a===`,`)throw n.reason;if(n.status===`fulfilled`&&n.value)return o[t]}}return null}function wc(e,t){let n=new Map(t.map(({oldSpec:e,newSpec:t})=>[e,t]));if(!n.size)return e;let r=Array.from(n.keys()).sort((e,t)=>t.length-e.length).map(e=>Array.from(e,R).join(`["']*`)).join(`|`),i=RegExp(`(?:(?<=\\$\\{\\w+:?-)|(?<![\\w./@:-]))(${r})(?![\\w./@:+-])`,`g`);return e.replace(/^[^#\n]*/gm,e=>e.replace(i,e=>{let t=n.get(e.replace(/["']/g,``)),r=0;return e.replace(/[^"']/g,()=>t[r++]??``)+t.slice(r)}))}function Tc(e){return e.endsWith(`.sh`)}const Ec=/^\s*(?:(?:export|readonly|local|declare|typeset)\s+(?:-\w+\s+)*)*[A-Za-z_]\w*=\(?((?:.*[^\s;)])?)[\s;)]*$/,Dc=/^\$\{\w+:?[-=](.*)\}$/;function Oc(e){return pc(e,Ec,Dc)}const kc=/* @__PURE__ */ new WeakMap;function Ac(e){let t=e.toLowerCase();return t.length<=2?`${t.length}/${t}`:t.length===3?`3/${t[0]}/${t}`:`${t.slice(0,2)}/${t.slice(2,4)}/${t}`}function jc(e){return e.split(`
71
71
  `).map(e=>{if(!e)return e;try{let{vers:t,yanked:n,pubtime:r}=JSON.parse(e);return JSON.stringify({vers:t,yanked:n,pubtime:r})}catch{return e}}).join(`
72
- `)}async function Ec(e,t){let n=Pn(t.cratesIoUrl),r=`${n===`https://crates.io`?`https://index.crates.io`:n}/${wc(e)}`;return[await Y(Cc,t,r,async()=>{let n=await Un(r,t,Fn(),Tc);`body`in n||Fr(n.res,r,e,t.cratesIoUrl);let i={},a={},o=``,s=``,c=0;for(let e of n.body.split(`
73
- `)){if(!e)continue;let t;try{t=JSON.parse(e)}catch{continue}if(c++,!t?.vers||t.yanked)continue;let n=t.vers.split(`+`)[0];i[n]={},t.pubtime&&(a[n]=t.pubtime);let r=H(n);r&&(r.prerelease.length?(!s||ct(n,s))&&(s=n):(!o||ct(n,o))&&(o=n))}if(!c&&n.body.trim())throw Error(`Invalid JSON from ${r}`);return{name:e,versions:i,time:a,"dist-tags":{latest:o||s}}}),null]}function Dc(e){let t=/* @__PURE__ */ new Map;for(let n of e.split(`[[package]]`)){let e=/\bname\s*=\s*"([^"]+)"/.exec(n),r=/\bversion\s*=\s*"([^"]+)"/.exec(n);e&&r&&nt(r[1])&&B(t,e[1],r[1])}return t}const Oc=/^\d/,kc=/^(\d+(?:\.\d+)*)((?:\.[*xX])+)$/,Ac=/^(\s*)(.*?)(\s*)$/s,jc=e=>e.split(/\s*,\s*/).map(e=>{let t=e.trim();return Oc.test(t)&&!kc.test(t)?`^${t}`:t}).join(` `);function Mc(e,t){let[n,r,i,a]=Ac.exec(e);if(i.startsWith(`<`)&&U(t,i))return e;let o=kc.exec(i),s;if(o&&H(t)?.prerelease.length)s=t;else if(o){let[e,n,r]=o;s=`${t.split(/[-+]/)[0].split(`.`).slice(0,n.split(`.`).length).join(`.`)}${r}`}else s=Oc.test(i)?Do(`^${i}`,t,`^${i}`).replace(/^\^/,``):Do(i,t,i);return`${r}${s}${a}`}function Nc(e,t){return e.split(/(\s*,\s*)/).map((e,n)=>n%2?e:Mc(e,t)).join(``)}function Pc(e,t,n){let r=e.get(t);if(!r)return;let i=jc(n),a;for(let e of r)U(e,i)&&(!a||ct(e,a))&&(a=e);return a}const Fc=/^\[(?:"(?:\\.|[^"\\])*"(?:,"(?:\\.|[^"\\])*")*)?\]/,Ic=/^[ \t]*\[(\[?)[ \t]*([^[\]]+?)[ \t]*\]\1[ \t]*(?:#.*)?[ \t\r]*$/,Lc=/^(\s*("(?:\\.|[^"\\])*"|'[^']*'|[\w-]+)\s*=\s*(?:\{(?:"[^"\n]*"|'[^'\n]*'|[^"'}\n])*?\bversion\s*=\s*)?["'])([^"'\n]*)(["'])/;function Rc(e,t){for(let n=0;n<e.length;n++){let r=e[n];if(t.length===3){if(!e.startsWith(t,n))continue;let r=0;for(;e[n-r-1]===`\\`;)r++;t===`"""`&&r%2||(n+=2,t=``)}else if(t)t===`"`&&r===`\\`?n++:r===t&&(t=``);else if(r===`#`)break;else(r===`"`||r===`'`)&&e.startsWith(r.repeat(3),n)?(t=r.repeat(3),n+=2):(r===`"`||r===`'`)&&(t=r)}return t.length===3?t:``}function zc(e){let t=[],n=``,r=0;for(let i of e.split(`
74
- `)){let a=n?null:Ic.exec(i);a?(t.length&&(t.at(-1).end=r),t.push({path:a[1]?``:JSON.stringify(ta(a[2])),start:r,end:e.length,rewrites:/* @__PURE__ */ new Map})):n=Rc(i,n),r+=i.length+1}return t}function Bc(e,t){let n=zc(e);for(let[e,r]of Object.entries(t)){let[t,i]=e.split(`\0`),a=t.startsWith(`[`)?JSON.parse(Fc.exec(t)[0]):t.split(`|`,1)[0].split(`.`),o=JSON.stringify([...a,i]),s=JSON.stringify(a),c=n.find(e=>e.path===o),l=c??n.find(e=>e.path===s);if(!l)throw Error(`Unable to locate Cargo table for ${t}.${i}`);l.rewrites.set(c?`version`:i,r)}let r=e;for(let t of n.reverse()){if(!t.rewrites.size)continue;let n=``,i=e.slice(t.start,t.end).replace(/^.*$/gm,e=>{let r=n?e:e.replace(Lc,(e,n,r,i,a)=>{let o=t.rewrites.get(ta(r)[0]);return o&&i===(o.oldOrig||o.old)?`${n}${o.new}${a}`:e});return n=Rc(r,n),r});r=r.slice(0,t.start)+i+r.slice(t.end)}return r}const Vc=c(me),Hc=new Set(M),Uc=[`**/node_modules/**`,`**/bower_components/**`,`**/vendor/**`,`**/examples/**`,`**/__tests__/**`,`**/test/**`,`**/tests/**`,`**/__fixtures__/**`];function Wc(e){let t=``;for(let n=0;n<e.length;n++){let r=e[n],i=r===`{`?R(e,n,`{`,`}`):r===`[`?e.indexOf(`]`,n):-1;if(r===`*`&&e[n+1]===`*`){let r=e[n+2]===`/`;n+=r?2:1,t+=r?`(?:.*/)?`:`.*`}else r===`*`?t+=`[^/]*`:r===`?`?t+=`[^/]`:r===`{`&&i!==-1?(t+=`(?:${He(e.slice(n+1,i)).map(Wc).join(`|`)})`,n=i):r===`[`&&i!==-1?(t+=`[${e.slice(n+1,i).replace(/^!/,`^`).replaceAll(`\\`,`\\\\`)}]`,n=i):t+=I(r)}return t}const Gc=/* @__PURE__ */ new Map,Kc=e=>V(Gc,e,()=>RegExp(`^${Wc(e)}$`));function qc(e,{includePaths:t,excludePaths:n}){return t.length&&t.every(t=>e!==t&&!Kc(t).test(e))?!1:n.every(t=>!e.includes(t)&&!Kc(t).test(e))}function Jc(e){let t=d(e);return Object.hasOwn(Oe,t)||$s(t)||nc(t)||yc(t)||ns(e)}async function Yc(e){try{return(await Vc(`git`,[`ls-files`,`--cached`,`--others`,`--exclude-standard`,`-z`],{cwd:e,maxBuffer:2**30})).stdout.split(`\0`)}catch{return null}}function Xc(e){try{return e.split(/[\\/]/).some(e=>Hc.has(e))?w(e,{recursive:!0,encoding:`utf8`}):w(e,{withFileTypes:!0}).flatMap(t=>t.isDirectory()&&Hc.has(t.name)?w(m(e,t.name),{recursive:!0,encoding:`utf8`}).map(e=>m(t.name,e)):[t.name])}catch{return[]}}async function Zc(e,t,n){let r=await Yc(e),i=[];for(let a of[...r??[],...n||!r?Xc(e):[]]){let n=g(e,a);Jc(n)&&qc(a.replaceAll(`\\`,`/`),t)&&x(n,{throwIfNoEntry:!1})?.isFile()&&i.push(n)}return i.sort((e,t)=>e.split(/[\\/]/).length-t.split(/[\\/]/).length)}const Qc=/^(!?)\/(.*)\/(i?)$/,$c=e=>e.isHash&&!!e.comment&&!wr(e.comment),el=[...new Set(Object.values(Oe)),`actions`,`docker`,`make`,`shell`],tl=new Set(el),nl={patch:/* @__PURE__ */ new Set([`patch`]),minor:/* @__PURE__ */ new Set([`patch`,`minor`]),major:/* @__PURE__ */ new Set([`patch`,`minor`,`major`])},rl={"go.work":`go.mod`,"pnpm-workspace.yaml":`package.json`},il=(e,t)=>Pn(typeof e==`string`?e:t),al=/^(npm:@jsr\/[^@]+@|jsr:@[^@]+@)(.+)$/;function ol(e){try{return T.native(e)}catch{return g(e)}}function sl(e,t){let n=/* @__PURE__ */ new Map,r=new Set(e);return Ke(t,e=>{for(let t of r){let i=m(e,t);try{v(i),n.set(t,i),r.delete(t)}catch{}}return r.size?null:n}),n}function Z(e,t){t&&(e.date=t,e.age=ua(t,{noAffix:!0,shortUnits:!0}))}const cl=(e,t,n)=>`${e}${t}${n===void 0?``:`${n}`}`,ll=(e,t,n,r)=>cl(`${e}${t}`,n,r),ul=(e,t)=>{let n=e.split(`\0`)[0];return n===(t===`.`?ga(n):`${ga(n)}|${t}`)},dl=e=>Object.values(e).some(e=>Object.keys(e).length>0),fl=e=>e.toLowerCase().replace(/[-_.]+/g,`-`),pl=(e,t)=>Ua.has(e)?Wa(t):t,ml=e=>typeof e==`number`&&e>=0?e:N(String(e));function hl(e,t){return t===`go`?[e,Mi(e)]:t===`docker`?bs(e):t===`pypi`?[e,fl(e)]:[e]}function Q(e,t,{include:n,exclude:r},i,a=t,o=e){if(i===`engines`&&De.includes(e)||t===`pypi`&&e===`python`)return!1;if(!n.size&&!r.size)return!0;let s=Array.from(/* @__PURE__ */ new Set([...hl(e,a),...hl(o,a)])),c=(t,n)=>Xt(t,n,o,e);for(let e of r)if(s.some(t=>c(e,t)))return!1;for(let e of n)if(s.some(t=>c(e,t)))return!0;return!n.size}async function gl(e,t,n){let r=/* @__PURE__ */ new Set,i=/* @__PURE__ */ new Set,a=e=>{if(r.has(e))return;let t=ol(e);i.has(t)||(i.add(t),r.add(e))},o=[];for(let t of e??[]){let e;try{e=ee(t)}catch(e){throw Error(`Unable to open ${t}: ${e.message}`)}if(e.isFile())a(ol(t));else if(e.isDirectory())o.push(ol(t));else throw Error(`${t} is neither a file nor directory`)}e?.length||o.push(t);let s=Promise.all(o.map(t=>Zc(t,n,!!e?.length)));if(!e?.length){let e=new Set(M),r=[...Object.keys(Oe),...Xs,...tc,...M];for(let[i,o]of sl(r,t))if(f(o)!==t)for(let r of e.has(i)?rs(o):[g(o)])qc(h(t,r).replaceAll(`\\`,`/`),n)&&a(r)}for(let e of(await s).flat())a(e);let c=Array.from(r).filter(e=>Object.hasOwn(rl,d(e)));for(let e of c)r.delete(m(f(e),rl[d(e)]));return c.length?/* @__PURE__ */ new Set([...c,...r]):r}function $(e,t){i===`win32`&&te(e,0),ne(e,t,i===`win32`?{flag:`r+`}:void 0)}const _l=(e,t)=>`${e}${t.split(`\0`,2).join(`\0`)}`;function vl(e){if(!e.startsWith(`[`))return e;try{return JSON.parse(e).join(`.`)}catch{return e}}function yl(e){let t={results:{}},n=/* @__PURE__ */ new Map,r=Object.entries(e).sort(([e],[t])=>el.indexOf(e)-el.indexOf(t));for(let[e,t]of r)for(let r of Object.keys(t)){let t=_l(e,r);n.set(t,(n.get(t)??0)+1)}for(let[e,i]of r)for(let[r,{oldPrint:a,newPrint:o,oldOrig:s,date:c,...l}]of Object.entries(i)){typeof a==`string`&&(l.old=a),typeof o==`string`&&(l.new=o),typeof s==`string`&&!so(s)&&(l.old=e===`go`?Ni(s):s),e===`go`?l.new=Ni(l.new):e===`actions`&&!l.digestOnly&&(l.old=J(l.old),l.new=J(l.new));let[i,c,u]=r.split(`\0`),d=u&&n.get(_l(e,r))>1?`${c}${e===`actions`?`@`:`:`}${vl(u)}`:c,f=t.results[e]??={};(f[vl(i)]??={})[d]=l}for(let e of Object.values(t.results))for(let[t,n]of Object.entries(e))e[t]=Object.fromEntries(Object.entries(n).sort(([e],[t])=>e<t?-1:+(e>t)));return t}function bl(e,t){let n=Qc.exec(t);if(n){let e=new RegExp(n[2],n[3]);return n[1]?t=>!e.test(t):t=>e.test(t)}return e===`docker`?e=>U(Fs(e),t):e===`pypi`?e=>Bo(e,t):e=>U(e,t)}function xl(e,t,n){if(!n)return e;let r=bl(t,n),i=e=>typeof e==`string`&&r(e)?e:``;if(t===`go`)return{...e,new:i(e.new),sameMajorNew:i(e.sameMajorNew)};let a=t===`pypi`?`releases`:t===`docker`?`tags`:`versions`;return{...e,[a]:Object.fromEntries(Object.entries(e[a]??{}).filter(([e])=>r(e)))}}async function Sl(e={}){let{enableDnsCache:t}=await import(`./dns.js`),n=t();try{return await Cl(e)}finally{n()}}async function Cl(t){let n={...t};typeof n.timeout==`number`&&(n.timeout=ze(n.timeout,`timeout`));let r=n.sockets??50,i=n.timeout??0,o=Hr(),s=!n.noColor&&(n.color||a.isTTY),c=e=>s?t=>u(e,String(t),{validateStream:!1}):String,l=c(`magenta`),p=c(`green`),h=c(`red`),_,v={execFile:async(e,t,n)=>(await ar())(e,t,n),fetchTimeout:i||5e3,goProbeTimeout:i?Math.max(1,Math.floor(i/2)):2500,concurrency:r,forgeApiUrl:il(t.forgeapi,q.forgeapi),pypiApiUrl:il(t.pypiapi,q.pypiapi),jsrApiUrl:il(t.jsrapi,q.jsrapi),goProxyChain:Vr(t.goproxy),cratesIoUrl:il(t.cargoapi,q.cargoapi),dockerApiUrl:il(t.dockerapi,q.dockerapi),doFetch:(e,t)=>(_??=Jn(v))(async()=>{n.verbose&&console.error(`${Ie()} ${l(t?.method||`GET`)} ${e}`);let r=await Rn(e,t);return n.verbose&&console.error(`${Ie()} ${r.ok?p(r.status):h(r.status)} ${e}`),r}),noCache:!!n.noCache},y=/* @__PURE__ */ new Map,b=async(e,t,n)=>{let r=`${e}${t}${n}`,i=V(y,r,()=>As(e,t,n,v));try{return await i}catch(e){throw y.get(r)===i&&y.delete(r),e}};for(let e of n.modes??[])if(!tl.has(e))throw Error(`Invalid mode: ${e}, expected one of: ${el.join(`,`)}`);let x=n.modes?.length?new Set(n.modes):tl,S=e=>{let t=(e.overrides??[]).map(e=>({...e,include:e.include?.length?on(e.include):void 0,exclude:e.exclude?.length?on(e.exclude):void 0,cooldownDays:e.cooldown===void 0?void 0:ml(e.cooldown)})),n=e.renovateVersionRules??[];return{greatest:un(e.greatest),prerelease:un(e.prerelease),release:un(e.release),patch:un(e.patch),minor:un(e.minor),allowDowngrade:un(e.allowDowngrade),overrides:t,renovateVersionRules:n,hasCooldownOverride:t.some(e=>e.cooldownDays!==void 0)||n.some(e=>e.cooldownDays!==void 0)}},C=/* @__PURE__ */ new WeakMap;function w(e,t,n,r){let i=V(C,e,()=>/* @__PURE__ */ new Map),a=`${t}${n}${r}`,o=i.get(a);if(!o){let s=Array.from(/* @__PURE__ */ new Set([...hl(n,t),...hl(r,t)])),c=e=>s.some(t=>Pe(t,e)),l=c(e.greatest),u=c(e.prerelease),d=c(e.release),f=c(e.patch),p=c(e.minor),m=c(e.allowDowngrade),h,g;for(let t of e.renovateVersionRules)Jt(t,n,r)&&(t.allowedVersions!==void 0&&(g=t.allowedVersions),t.cooldownDays!==void 0&&(h=t.cooldownDays));for(let t of e.overrides)t.include&&s.every(e=>!Pe(e,t.include))||t.exclude&&s.some(e=>Pe(e,t.exclude))||(t.greatest!==void 0&&(l=t.greatest),t.prerelease!==void 0&&(u=t.prerelease),t.release!==void 0&&(d=t.release),t.patch!==void 0&&(f=t.patch),t.minor!==void 0&&(p=t.minor),t.allowDowngrade!==void 0&&(m=t.allowDowngrade),t.cooldownDays!==void 0&&(h=t.cooldownDays));let _=f?nl.patch:p?nl.minor:nl.major;o={names:s,useGreatest:l,usePre:u,useRel:d,semvers:_,allowDowngrade:m,cooldownOverride:h,allowedVersions:g},i.set(a,o)}return o}cn(n.pin);let T=n.pin??{},ee=(e,t,n)=>{let r=e.find(e=>T[e]);if(r)return{pinnedRange:T[r],pinNoDowngrade:!1};let i=e.find(e=>t[e]),a=!!(i&&Array.isArray(n)&&n.includes(i));return{pinnedRange:i&&!a?t[i]:void 0,pinNoDowngrade:a}},te=Date.now(),ne=({versionConfig:e,pin:t,cooldownDays:n,pinNoDowngrade:r},i,a,o,s=r)=>{let{names:c,useGreatest:l,usePre:u,useRel:d,semvers:f,allowDowngrade:p,cooldownOverride:m,allowedVersions:h}=w(e,i,a,o),{pinnedRange:g,pinNoDowngrade:_}=ee(c,t,s),v=m??n;return{useGreatest:l,usePre:u,useRel:d,semvers:f,allowDowngrade:p,allowedVersions:h,pinnedRange:g,pinNoDowngrade:_,cooldownDays:v||void 0,now:v?te:void 0}},E={},re={},ie=/* @__PURE__ */ new Map,ae=/* @__PURE__ */ new Map,oe=/* @__PURE__ */ new Map,se=/* @__PURE__ */ new Map,ce=/* @__PURE__ */ new Map,O=[],le=(e,t,n)=>{let[r,i]=t.split(`\0`);O.push({mode:e,type:r,name:i,error:n?.message||String(n)})},k=(e,t,n)=>{delete E[e][t],le(e,t,n)},A={},ue=ol(e()),de=e=>e.replace(`${ue}/`,``).replace(`${ue}\\`,``),fe=(e,t,n,r,i,a)=>{E[e][ll(t,n,r)]={old:i,oldOrig:a}},pe=(e,t,n)=>{if(lo(n))return;let r=fo(n);so(n)?E.npm[e]={old:ho(n,t).version,new:``,oldOrig:n}:W(n)?E.npm[e]={old:Oo(n),new:``,oldOrig:n}:r?(ae.set(e,r),E.npm[e]={old:Oo(r.range),new:``,oldOrig:n}):co(n)||(re[e]={old:n})},j=(e,t,n,r,i)=>{let a=new Set(Object.keys(t.tool?.uv?.sources??{}).map(fl)),o=(t,i)=>{for(let{name:o,version:s,spec:c}of Te(t))a.has(fl(o))||Q(o,e,r,i)&&(fe(e,i,n,o,Oo(s),s),ce.set(ll(i,n,o),c))};for(let[a,s]of Ne(I(e,r.modeConfig),t)){let t=s||{};if(Array.isArray(t))e===`pypi`&&o(t,a);else if(typeof t==`string`){let[i,o]=t.split(`@`);Q(i,e,r,a)&&fe(e,a,n,i,Oo(o),o)}else if(e===`npm`&&(a===`overrides`||a===`pnpm.overrides`)){let o=a===`overrides`?[`overrides`]:[`pnpm`,`overrides`],s=(t,c)=>{for(let[l,u]of Object.entries(t))if(typeof u==`string`){let t=Wa(l===`.`?c.at(-1)??l:l);if(i?.has(t)||!Q(t,e,r,a,e,fo(u)?.name??t))continue;let s=ll(a,n,t,JSON.stringify([...o,...c,l]));pe(s,t,u)}else u&&typeof u==`object`&&!Array.isArray(u)&&s(u,[...c,l])};s(t,[])}else for(let[s,c]of Object.entries(t)){if(e===`pypi`&&Array.isArray(c)){o(c,`${a}.${s}`);continue}typeof c==`string`&&(i?.has(pl(a,s))||Q(s,e,r,a,e,(e===`npm`?fo(c):null)?.name??s)&&(e===`npm`?pe(ll(a,n,s),s,c):e===`go`?fe(e,a,n,s,Ni(c),J(c)):W(c)&&fe(e,a,n,s,Oo(c),c)))}}},me=await gl(n.files,ue,{includePaths:n.includePaths??[],excludePaths:n.excludePaths??Uc}),he=new Map(await P(Array.from(me).filter(e=>{if(ns(e))return x.has(`actions`)||x.has(`docker`);let t=d(e);return $s(t)?x.has(`docker`):nc(t)?x.has(`make`):yc(t)?x.has(`shell`):x.has(Oe[t])}),async e=>{try{return[e,await D(e,`utf8`)]}catch(t){throw Error(`Unable to open ${e}: ${t.message}`)}},{concurrency:r})),ge={},_e=[],ve=[],ye=[],be=[],xe=[],Se=[],Ce=[],we=[],De={},M=(e,t,n)=>{let r=t===`.`?``:`|${t}`;return(De[e]??=/* @__PURE__ */ new Map).set(r,n),r},Fe=t[en],Le=Fe&&new Set(Fe.cliKeys),Re=Object.fromEntries(Object.entries(n).filter(([e,t])=>t!==void 0&&(!Le||Le.has(e)))),N=qe(async e=>{let t={...await fn(e),...Re};return{modeConfig:t,projectDir:e,include:on(t.include??[]),exclude:on(t.exclude??[]),versionConfig:S(t),pin:t.pin??{},pinNoDowngrade:t.pinNoDowngrade,cooldownDays:t.cooldown?ml(t.cooldown):0}});function I(e,t){return t.types?.length?t.types:e===`npm`?Ee:e===`pypi`?ke:e===`go`?t.indirect?Ae:Ae.filter(e=>e!==`indirect`):e===`cargo`?[...je,...Me]:[]}let Be=e=>{let t=[],n=!1;for(let[r,i]of e.split(/\r?\n/).entries()){let e=/^(\s*)(?:"([^"]+)"|'([^']+)'|([^\s:#][^:#]*)):\s*(.*)$/.exec(i);if(!e)continue;let a=e[1].length,o=(e[2]??e[3]??e[4]).trim();if(a===0){n=o===`overrides`;continue}if(!n||!e[5])continue;let s=e[5].replace(/\s+#.*$/,``).trim(),c=/^(['"])(.*)\1$/.exec(s),l=c?.[2]??s;t.push({selector:o,value:l,lineNumber:r,valueIndex:i.length-e[5].length+Number(!!c)})}return t};function Ve(e,t,n){if(E.docker??={},!Q(e.fullImage,`docker`,n,`docker`))return;let r=cl(t,e.fullImage,`${e.tag}${e.digest?`@${e.digest}`:``}`);if(E.docker[r])return;let i=Ss(e.tag);(i||e.digest)&&(E.docker[r]={old:i?.version??e.tag,oldOrig:e.tag,...e.digest&&{oldDigest:e.digest},...e.digestOnly&&{digestOnly:!0}},Ce.push({key:r,ref:e,filters:n}))}let L=/* @__PURE__ */ new Map,R=/* @__PURE__ */ new Map;for(let[e,t]of he){let n=d(e);try{if(n===`package.json`){let n=JSON.parse(t),r=Array.isArray(n.workspaces)?n.workspaces:n.workspaces?.packages,i=Array.isArray(r)?r.filter(e=>typeof e==`string`):[];i.length&&R.set(e,{pkg:n,packagePatterns:i})}else if(n===`Cargo.toml`){let n=Xi(t),r=n.workspace?.members;Array.isArray(r)&&r.length&&L.set(e,n)}}catch{}}let He={cargo:L.size,go:Array.from(me).filter(e=>d(e)===`go.work`).length,npm:R.size+Array.from(me).filter(e=>d(e)===`pnpm-workspace.yaml`).length},Ue=(e,t,n,r)=>{let i=A[e]??=[],a=!i.length&&!He[e]?`.`:de(t);return i.push({absPath:g(t),content:n,memberPath:a}),M(e,a,r)},We=(e,t)=>{try{return t()}catch(t){throw Error(`Error parsing ${e}: ${t.message}`)}},z=(e,t,n)=>He[e]>1?`${de(t)}:${n}`:n,Ge=(e,t,n,r,i)=>{let a=z(`npm`,e,t.memberPath);be.push({...t,memberPath:a}),j(`npm`,n,M(`npm`,a,r),r,i)};for(let e of/* @__PURE__ */ new Set([...L.keys(),...R.keys(),...he.keys()])){let t=d(e),n=he.get(e);if(ns(e)){let t=x.has(`actions`),r=x.has(`docker`),i=de(e),a=await N(f(e)),o=/* @__PURE__ */ new Set;ge[i]={absPath:e,content:n,fileType:`workflow`,workflowLines:o};let s=[];for(let[e,c]of n.split(/\r?\n/).entries()){if(t){let e=$o(c),t=e&&Ko(e.value);if(t&&Q(t.name,`actions`,a,`actions`)){E.actions??={};let n=e.pinnedVersion||/^#\s*(\S+)\s*$/.exec(e.comment)?.[1]||``,r=cl(i,t.name,t.isHash&&n?`${n}@${t.ref}`:t.ref);E.actions[r]||(E.actions[r]={old:t.ref},Se.push({...t,key:r,comment:n,apiUrl:qo(t.host,v.forgeApiUrl),filters:a}))}}if(!r)continue;let n=Zo(c,s);if(!n)continue;let{indent:l,key:u}=n,d=u===`container`&&s.length===2&&s[0].key===`jobs`,f=u===`image`&&(s.length===3&&s[0].key===`jobs`&&s[2].key===`container`||s.length===4&&s[0].key===`jobs`&&s[2].key===`services`),p=u===`uses`&&(s.length===3&&s[0].key===`jobs`&&s[2].key===`steps`||s.length===2&&s[0].key===`runs`&&s[1].key===`steps`);if((d||f||p)&&n.value){let t=xs(n.value.replace(/\s+#.*$/,``).replace(/^(['"])(.*)\1$/,`$2`));t&&(Ve(t,i,a),o.add(e))}s.push({indent:l,key:u})}continue}if($s(t)){let r=de(e),i=await N(f(e)),a=Qs(t)?`dockerfile`:`compose`;ge[r]={absPath:e,content:n,fileType:a};for(let{ref:e}of Cs(n,a))Ve(e,r,i);continue}let i=nc(t)?`make`:yc(t)?`shell`:null;if(i){let t=i===`make`?cc(n):Sc(n),r=lc(t),a=pc(t);if(!r.length&&!a.length)continue;let o=de(e),s=await N(f(e));ge[o]={absPath:e,content:n};let c=E[i]??={};for(let{installPath:e,version:t}of r){if(!Q(e,i,s,i,`go`))continue;let n=cl(o,e,t);c[n]||(c[n]={old:J(t),oldOrig:t},we.push({mode:i,kind:`go`,key:n,name:e,oldSpec:`${e}@${t}`,installPath:e,version:t,filters:s}))}for(let e of a){if(!Q(e.writtenImage,i,s,i,`docker`))continue;let t=cl(o,e.writtenImage,e.ref.tag);if(c[t])continue;let n=Ss(e.ref.tag);if(!n)continue;let r=dc(e.writtenImage,e.ref.tag,e.digest);c[t]={old:n.version,oldOrig:e.ref.tag},we.push({mode:i,kind:`docker`,key:t,name:e.writtenImage,oldSpec:r,image:e,filters:s})}continue}let a=g(e);if(t===`go.mod`&&_e.some(e=>e.absPath===a)||t===`package.json`&&be.some(e=>e.absPath===a)||t===`Cargo.toml`&&ye.some(e=>e.absPath===a))continue;let o=Oe[t],s=f(a);if(E[o]??={},t===`go.work`){let t=ki(n),[i,a]=await Promise.all([N(s),P(t.use,async e=>{let t=Ai(s,e);if(!t)return null;let n=await F(D(t,`utf8`));return n===null?null:{usePath:e,modPath:t,modContent:n}},{concurrency:r})]),c=z(o,e,`.`),l=M(o,c,i);ve.push({absPath:e,content:n,memberPath:c});let u=a.filter(e=>e!==null),d=new Set(u.map(({modContent:e})=>oi(e)).filter(Boolean));for(let{usePath:t,modPath:n,modContent:r}of u){let a=z(o,e,t);_e.push({absPath:n,content:r,memberPath:a}),j(o,si(r),M(o,a,i),i,d)}for(let[e,n]of Object.entries(t.replace))!d.has(e)&&Q(e,o,i,`replace`)&&fe(o,`replace`,l,e,Ni(n),J(n));continue}if(t===`Cargo.toml`){let t=L.get(e)??Xi(n),i=sl([`Cargo.lock`],s).get(`Cargo.lock`),c=t.workspace?.members,l=Array.isArray(c)&&c.length>0,[u,d,f]=await Promise.all([N(s),i?D(i,`utf8`):null,l?Sa(c,s,`Cargo.toml`,r):[]]),p=I(o,u.modeConfig),m=d?Dc(d):/* @__PURE__ */ new Map,h=(e,t)=>{for(let[n,r]of Ne(p,e)){let e=r||{};if(!(typeof e!=`object`||Array.isArray(e)))for(let[r,i]of Object.entries(e)){if(!Q(r,o,u,n))continue;let e=typeof i==`object`&&!!i&&`version`in i&&!(`git`in i)&&!(`path`in i)&&!(`registry`in i);if(!e&&typeof i!=`string`)continue;let a=e?i.version:i,s=e&&i.package||r,c=jc(a);W(c)&&(s!==r&&ie.set(ll(n,t,r),s),fe(o,n,t,r,Pc(m,s,a)??Oo(c),a))}}};if(l){let r=z(o,e,`.`);h(t,M(o,r,u)),ye.push({absPath:a,content:n,memberPath:r});for(let t of f){let n=z(o,e,t.memberPath);ye.push({...t,memberPath:n}),h(We(t.absPath,()=>Xi(t.content)),M(o,n,u))}}else h(t,Ue(o,e,n,u));continue}if(t===`package.json`&&R.has(e)){let{pkg:t,packagePatterns:i}=R.get(e),[o,c]=await Promise.all([N(s),Sa(i,s,`package.json`,r)]),l=c.map(e=>({member:e,pkg:We(e.absPath,()=>JSON.parse(e.content))})),u=new Set(l.map(({pkg:e})=>e.name).filter(e=>typeof e==`string`&&e));Ge(e,{absPath:a,content:n,memberPath:`.`},t,o,u);for(let{member:t,pkg:n}of l)Ge(e,t,n,o,u);continue}if(t===`pnpm-workspace.yaml`){let i=Va(n),c=m(s,`package.json`),[l,u,d]=await Promise.all([N(s),F(D(c,`utf8`)),Sa(i,s,`package.json`,r)]),f=z(o,e,t),p=M(o,f,l);xe.push({absPath:a,content:n,memberPath:f});for(let{type:e,name:t,value:r}of za(n))Q(t,o,l,e,o,fo(r)?.name??t)&&pe(ll(e,p,t),t,r);for(let{selector:e,value:t}of Be(n)){let n=Wa(e),r=`pnpm-workspace.overrides`;if(!Q(e,o,l,r,o,n))continue;let i=ll(r,p,e,JSON.stringify(e));oe.set(i,n),se.set(i,e),pe(i,e,t)}u!==null&&Ge(e,{absPath:g(c),content:u,memberPath:`.`},We(c,()=>JSON.parse(u)),l);for(let t of d)Ge(e,t,We(t.absPath,()=>JSON.parse(t.content)),l);continue}let c=await N(s);j(o,We(e,()=>o===`npm`?JSON.parse(n):o===`pypi`?Xi(n):si(n)),Ue(o,e,n,c),c)}let Ke=Object.keys(re).length>0;if(!dl(E)&&!Ke)return{results:{},message:`No dependencies found, nothing to do.`};let B=(e,t)=>oe.get(e)??ae.get(e)?.name??pl(e.split(`\0`)[0].split(`|`)[0],t),Je={needsDates:De.npm?.values().some(e=>e.cooldownDays||e.versionConfig.hasCooldownOverride)??!1},Ye=Object.entries(De).map(async([e,t])=>{if(!Object.keys(E[e]).length&&(e!==`npm`||!Ke))return;let i=t.values().next().value,a=e=>{let n=e.indexOf(`|`);return t.get(n===-1?``:e.slice(n))??i},s=/* @__PURE__ */ new Map,c=E[e],u=async t=>{let[r,i]=t.split(`\0`),u=ga(r),d=a(r),{modeConfig:f,projectDir:p}=d,m=c[t],h=ae.get(t),[g,_]=await(e===`npm`?m.oldOrig&&so(m.oldOrig)?go(i,v):ao(B(t,i),u,f,Je,v,p,m.old):e===`go`?xi(i,r,m.oldOrig||m.old,p,v,o):e===`cargo`?Ec(ie.get(t)??i,v):Io(i,v));if(g.error)throw Error(g.error);let y=ne(d,e,u===`packageManager`?i:g.name,i),b=xl(g,e,y.allowedVersions),{old:x,oldOrig:S}=m,C=nr(b,{...y,range:x,mode:e}),w=``;if((e===`go`||e===`pypi`)&&C)w=C;else if(e===`cargo`&&C&&S)w=Nc(S,C);else if(C){if(S&&so(S)){let e=al.exec(S);e?w=`${e[1]}${C}`:S.startsWith(`jsr:`)&&(w=`jsr:${C}`)}else w=h?`npm:${h.name}@${Do(x,C,h.range,u)}`:Do(x,C,S,u)}let T=ce.get(t);if(!C||C===x||S&&S===w||T&&!Vo(T,S||x,w)){n.verbose&&C&&C!==x&&console.error(`${Ie()} ${l(`SKIP`)} ${i}: ${S||x} can not be rewritten to ${C}`),delete c[t];return}m.new=w,S&&so(S)&&(m.newPrint=C),e===`npm`?s.set(t,{name:B(t,i),promise:oo(b.name,C,f,Je,v,p)}):m.info=e===`pypi`?zr(b,_,b.info.name):e===`go`?ji(b.newPath||i):`https://crates.io/crates/${b.name}`,Z(m,e===`pypi`?b.releases?.[C]?.[0]?.upload_time_iso_8601:e===`go`?b.Time:e===`cargo`?b.time?.[C]:``)};if(await P(Object.keys(c),async t=>{try{await u(t)}catch(n){k(e,t,n)}},{concurrency:r}),await Promise.all(Array.from(s,async([e,{name:t,promise:n}])=>{let r=await n;c[e].info=zr(r,null,t),Z(c[e],r.date)})),e===`npm`&&Ke){let e=(await P(Object.entries(re),async([e,t])=>{try{return await Mo(e,t,v)}catch(t){return le(`npm`,e,t),null}},{concurrency:r})).filter(e=>e!==null);for(let{key:t,newRange:n,user:r,repo:i,oldRef:a,newRef:o,newDate:s}of e)Z(c[t]={old:re[t].old,new:n,oldPrint:Cr.test(a)?a.substring(0,7):a,newPrint:Cr.test(o)?o.substring(0,7):o,info:`https://github.com/${r}/${i}`},s)}for(let[t,{date:n}]of Object.entries(c)){if(!n)continue;let[r,i]=t.split(`\0`),{cooldownDays:o,versionConfig:s}=a(r);if(!o&&!s.hasCooldownOverride)continue;let l=w(s,e,e===`npm`?B(t,i):i,i).cooldownOverride??o;l&&!jn(n,l,te)&&delete c[t]}}),Xe=P(Map.groupBy(Se,e=>`${e.apiUrl}/${e.owner}/${e.repo}`).values(),async e=>{let{apiUrl:t,owner:n,repo:i}=e[0],a=e.filter(e=>e.isHash?!$c(e):wr(e.ref)),o=a.some(e=>{let{allowDowngrade:t,pinnedRange:n,pinNoDowngrade:r}=ne(e.filters,`actions`,e.name,e.name);return t||!(!n||r)}),s=[...a.map(e=>e.isHash&&e.comment||e.ref),...t===q.forgeapi?[]:e.filter($c).map(e=>e.comment)],c=[];try{s.length&&(c=await Pr(t,n,i,v,o?[]:s,!!a.length))}catch(t){for(let n of e)k(`actions`,n.key,t);return}let l=[],u=/* @__PURE__ */ new Map,d=/* @__PURE__ */ new Map,f=/* @__PURE__ */ new Map;for(let e of c){d.set(e.name,e);let t=Pt.parse(e.name)?.version;if(t&&e.isStable!==!1){let n=u.get(t);n||l.push(t),(!n||e.name.length>n.length)&&u.set(t,e.name)}e.commitSha&&f.set(e.commitSha,e.name)}let p=qe(e=>Jo(t,n,i,e,v)),m=qe(async e=>{let r=d.get(e)?.commitSha;if(r)return r;let a=t===q.forgeapi?`commits`:`branches`,o=await yr(`${t}/repos/${n}/${i}/${a}/${encodeURIComponent(e)}`,v);if(o.status===404)return``;if(!o.ok)throw Error(`Unable to fetch ${n}/${i}@${e}`);let s=await o.json();return[s?.sha,s?.id,s?.commit?.sha,s?.commit?.id].find(e=>typeof e==`string`)??``});async function h(e,t){let r={...e,cooldownDays:void 0,now:void 0},a=/* @__PURE__ */ new Set;for(let o=0;o<100;o++){let o=er({},a.size?t.filter(e=>!a.has(e)):t,r);if(!o)return null;let s=u.get(o),c=d.get(s).commitSha;if(!e.cooldownDays)return{version:o,tag:s,commitSha:c,date:``};let l=c?await p(c):``;if(l===void 0)throw Error(`Unable to fetch the commit date for ${n}/${i}@${s}`);if(jn(l,e.cooldownDays,e.now))return{version:o,tag:s,commitSha:c,date:l};a.add(o)}return null}await P(e,async e=>{try{let{key:t,host:r,ref:a,comment:o,isHash:s}=e,c=E.actions[t],u=`https://${r||`github.com`}/${n}/${i}`,g=a;if(s?g=o||f.get(a)||f.entries().find(([e])=>e.startsWith(a))?.[1]||``:wr(a)||(g=``),!g){delete E.actions[t];return}let _=ne(e.filters,`actions`,e.name,e.name),{allowedVersions:v}=_,y=wr(g)?await h({..._,range:g,versioning:Pt},v?l.filter(bl(`actions`,v)):l):null;if(!y){if(!s||!o){delete E.actions[t];return}let e=await m(o);if(!e||e.startsWith(a)||a.startsWith(e)){delete E.actions[t];return}c.old=o,c.new=o,c.oldDigest=a,c.newDigest=e,c.digestOnly=!0,c.info=u,Z(c,await F(p(e)));return}let{tag:b,commitSha:x,date:S}=y;if(s){if(!x||x.startsWith(a)||a.startsWith(x)){delete E.actions[t];return}c.old=a,c.new=x.substring(0,a.length),c.oldPrint=g,c.newPrint=b}else{let e=Yo(b,a);if(e===a){delete E.actions[t];return}c.new=d.has(e)?e:b}c.info=u,Z(c,S||(x?await F(p(x)):``))}catch(t){k(`actions`,e.key,t)}},{concurrency:r})},{concurrency:r}),Ze=P(Map.groupBy(Ce,e=>e.ref.fullImage).entries(),async([e,t])=>{if(t[0].ref.registry){for(let e of t)delete E.docker[e.key];return}let n;try{[n]=await Ns(e,v)}catch(e){for(let n of t)k(`docker`,n.key,e);return}await P(t,async t=>{try{let r=E.docker[t.key],i=r.oldOrig||r.old,a=ne(t.filters,`docker`,e,e,!1),o=!t.ref.digestOnly&&Ss(i)?Ws(xl(n,`docker`,a.allowedVersions).tags,i,a.semvers,a.cooldownDays,a.now,a.pinnedRange,a.usePre,a.useRel):null,s=o?.newTag??i;if(t.ref.digest){let e=await b(t.ref.namespace,t.ref.repo,s);if(!e||e===t.ref.digest&&!o){delete E.docker[t.key];return}r.oldDigest=t.ref.digest,r.newDigest=e,r.digestOnly=t.ref.digestOnly}else if(!o){delete E.docker[t.key];return}r.new=s,r.info=ec(t.ref),Z(r,o?.date)}catch(e){k(`docker`,t.key,e)}},{concurrency:r})},{concurrency:r}),Qe=P(we,async e=>{let t=ne(e.filters,e.kind,e.name,e.name),n=E[e.mode],r=n[e.key];try{if(e.kind===`go`){let{projectDir:i}=e.filters,a=await _c(e.installPath,i,v,o);if(!a){delete n[e.key];return}let[s]=await xi(a,`tool`,J(e.version),i,v,o),c=xl(s,`go`,t.allowedVersions),l=nr(c,{...t,mode:`go`,range:J(e.version)});if(!l){delete n[e.key];return}let u=c.newPath??Zr(a,l),d=`${u}${e.installPath.slice(a.length)}`,f=Ir(l,e.version);if(d===e.installPath&&f===e.version){delete n[e.key];return}e.newSpec=`${d}@${f}`,r.new=f,r.info=ji(u),Z(r,c.Time)}else{let[i]=await Ns(e.image.ref.fullImage,v),a=Ws(xl(i,`docker`,t.allowedVersions).tags,e.image.ref.tag,t.semvers,t.cooldownDays,t.now,t.pinnedRange,t.usePre,t.useRel);if(!a){delete n[e.key];return}let o=e.image.digest?await b(e.image.ref.namespace,e.image.ref.repo,a.newTag):null;if(e.image.digest&&!o){delete n[e.key];return}e.newSpec=dc(e.image.writtenImage,a.newTag,o),r.new=a.newTag,r.info=ec(e.image.ref),Z(r,a.date)}}catch(t){k(e.mode,e.key,t)}},{concurrency:r});try{await Promise.all([...Ye,Xe,Ze,Qe])}finally{n.noCache||await Sn()}if(!dl(E))return O.length?{results:{},errors:O}:{results:{},message:`All dependencies are up to date.`};let H=(e,t)=>{let n=e.split(`
75
- `),r=new Map(Be(e).map(e=>[e.selector,e]));for(let[e,i]of se){let a=E.npm[e],o=r.get(i);if(!a||!ul(e,t)||!o||o.value!==(a.oldOrig||a.old))continue;let s=n[o.lineNumber];n[o.lineNumber]=`${s.slice(0,o.valueIndex)}${a.new}${s.slice(o.valueIndex+o.value.length)}`}return n.join(`
76
- `)};if(n.update){let e=(e,t,n)=>{for(let r of t){let t=va(E[e],r.memberPath);Object.keys(t).length&&$(r.absPath,n(r.content,t,r))}},t=new Map(Se.map(e=>[e.key,e.comment])),n=e=>Map.groupBy(e,([e])=>e.split(`\0`)[0]);for(let r of Object.keys(E).sort((e,t)=>Number(e===`docker`)-Number(t===`docker`)))if(Object.keys(E[r]).length){if(r===`actions`)for(let[e,r]of n(Object.entries(E.actions))){let n=ge[e];n.content=es(n.content,r.map(([e,n])=>{let r=n.oldDigest??n.old;return{name:e.split(`\0`)[1],oldRef:r,newRef:n.newDigest?n.newDigest.substring(0,r.length):n.new,oldComment:t.get(e)||void 0,newComment:n.digestOnly?void 0:Cr.test(n.old)?n.newPrint:void 0}})),$(n.absPath,n.content)}else if(r===`docker`)for(let[e,t]of n(Object.entries(E.docker))){let{absPath:n,content:r,fileType:i,workflowLines:a}=ge[e];$(n,(i===`dockerfile`?qs:i===`compose`?Js:(e,t)=>e.split(`
77
- `).map((e,n)=>a.has(n)?Ys(e,t):e).join(`
78
- `))(r,Object.fromEntries(t)))}else if(r===`make`||r===`shell`){let e=we.filter(e=>e.newSpec&&E[r][e.key]);for(let[t,n]of Map.groupBy(e,e=>e.key.split(`\0`)[0])){let{absPath:e,content:r}=ge[t];$(e,vc(r,n.map(e=>({oldSpec:e.oldSpec,newSpec:e.newSpec}))))}}else if(r===`go`){for(let e of[..._e,...A.go??[]]){let t=va(E[r],e.memberPath);if(!Object.keys(t).length)continue;let[n,i]=wi(e.content,t);n!==e.content&&$(e.absPath,n),Oi(f(e.absPath),i,$)}for(let e of ve){let t=Object.fromEntries(Object.entries(va(E[r],e.memberPath)).filter(([e])=>ga(e.split(`\0`)[0])===`replace`));if(!Object.keys(t).length)continue;let[n]=wi(e.content,t);n!==e.content&&$(e.absPath,n)}}else r===`cargo`?e(r,[...ye,...A.cargo??[]],Bc):r===`npm`?(e(r,xe,(e,t,n)=>H(Ba(e,t),n.memberPath)),e(r,[...be,...A.npm??[]],_o)):e(r,A[r]??[],Go)}}let $e=yl(E);return O.length&&($e.errors=O),$e}export{en as i,Uc as n,Gi as r,Sl as t};
72
+ `)}async function Mc(e,t){let n=nn(t.cratesIoUrl),r=`${n===`https://crates.io`?`https://index.crates.io`:n}/${Ac(e)}`;return[await Z(kc,t,r,async()=>{let n=await pn(r,t,rn(),jc);`body`in n||cr(n.res,r,e,t.cratesIoUrl);let i={},a={},o=``,s=``,c=0;for(let e of n.body.split(`
73
+ `)){if(!e)continue;let t;try{t=JSON.parse(e)}catch{continue}if(c++,!t?.vers||t.yanked)continue;let n=t.vers.split(`+`)[0];i[n]={},t.pubtime&&(a[n]=t.pubtime);let r=U(n);r&&(r.prerelease.length?(!s||ot(n,s))&&(s=n):(!o||ot(n,o))&&(o=n))}if(!c&&n.body.trim())throw Error(`Invalid JSON from ${r}`);return{name:e,versions:i,time:a,"dist-tags":{latest:o||s}}}),null]}function Nc(e){let t=/* @__PURE__ */ new Map;for(let n of e.split(`[[package]]`)){let e=/\bname\s*=\s*"([^"]+)"/.exec(n),r=/\bversion\s*=\s*"([^"]+)"/.exec(n);e&&r&&tt(r[1])&&V(t,e[1],r[1])}return t}const Pc=/^\d/,Fc=/^(\d+(?:\.\d+)*)((?:\.[*xX])+)$/,Ic=/^(\s*)(.*?)(\s*)$/s,Lc=e=>e.split(/\s*,\s*/).map(e=>{let t=e.trim();return Pc.test(t)&&!Fc.test(t)?`^${t}`:t}).join(` `);function Rc(e,t){let[n,r,i,a]=Ic.exec(e);if(i.startsWith(`<`)&&W(t,i))return e;let o=Fc.exec(i),s;if(o&&U(t)?.prerelease.length)s=t;else if(o){let[e,n,r]=o;s=`${t.split(/[-+]/)[0].split(`.`).slice(0,n.split(`.`).length).join(`.`)}${r}`}else s=Pc.test(i)?Ko(`^${i}`,t,`^${i}`).replace(/^\^/,``):Ko(i,t,i);return`${r}${s}${a}`}function zc(e,t){return e.split(/(\s*,\s*)/).map((e,n)=>n%2?e:Rc(e,t)).join(``)}function Bc(e,t,n){let r=e.get(t);if(!r)return;let i=Lc(n),a;for(let e of r)W(e,i)&&(!a||ot(e,a))&&(a=e);return a}const Vc=/^\[(?:"(?:\\.|[^"\\])*"(?:,"(?:\\.|[^"\\])*")*)?\]/,Hc=/^[ \t]*\[(\[?)[ \t]*([^[\]]+?)[ \t]*\]\1[ \t]*(?:#.*)?[ \t\r]*$/,Uc=/^(\s*("(?:\\.|[^"\\])*"|'[^']*'|[\w-]+)\s*=\s*(?:\{(?:"[^"\n]*"|'[^'\n]*'|[^"'}\n])*?\bversion\s*=\s*)?["'])([^"'\n]*)(["'])/;function Wc(e,t){for(let n=0;n<e.length;n++){let r=e[n];if(t.length===3){if(!e.startsWith(t,n))continue;let r=0;for(;e[n-r-1]===`\\`;)r++;t===`"""`&&r%2||(n+=2,t=``)}else if(t)t===`"`&&r===`\\`?n++:r===t&&(t=``);else if(r===`#`)break;else(r===`"`||r===`'`)&&e.startsWith(r.repeat(3),n)?(t=r.repeat(3),n+=2):(r===`"`||r===`'`)&&(t=r)}return t.length===3?t:``}function Gc(e){let t=[],n=``,r=0;for(let i of e.split(`
74
+ `)){let a=n?null:Hc.exec(i);a?(t.length&&(t.at(-1).end=r),t.push({path:a[1]?``:JSON.stringify(xr(a[2])),start:r,end:e.length,rewrites:/* @__PURE__ */ new Map})):n=Wc(i,n),r+=i.length+1}return t}function Kc(e,t){let n=Gc(e);for(let[e,r]of Object.entries(t)){let[t,i]=e.split(`\0`),a=t.startsWith(`[`)?JSON.parse(Vc.exec(t)[0]):t.split(`|`,1)[0].split(`.`),o=JSON.stringify([...a,i]),s=JSON.stringify(a),c=n.find(e=>e.path===o),l=c??n.find(e=>e.path===s);if(!l)throw Error(`Unable to locate Cargo table for ${t}.${i}`);l.rewrites.set(c?`version`:i,r)}let r=e;for(let t of n.reverse()){if(!t.rewrites.size)continue;let n=``,i=e.slice(t.start,t.end).replace(/^.*$/gm,e=>{let r=n?e:e.replace(Uc,(e,n,r,i,a)=>{let o=t.rewrites.get(xr(r)[0]);return o&&i===(o.oldOrig||o.old)?`${n}${o.new}${a}`:e});return n=Wc(r,n),r});r=r.slice(0,t.start)+i+r.slice(t.end)}return r}const qc=c(fe),Jc=new Set(Te),Yc=[`**/node_modules/**`,`**/bower_components/**`,`**/vendor/**`,`**/examples/**`,`**/__tests__/**`,`**/test/**`,`**/tests/**`,`**/__fixtures__/**`];function Xc(e){let t=``;for(let n=0;n<e.length;n++){let r=e[n],i=r===`{`?Be(e,n,`{`,`}`):r===`[`?e.indexOf(`]`,n):-1;if(r===`*`&&e[n+1]===`*`){let r=e[n+2]===`/`;n+=r?2:1,t+=r?`(?:.*/)?`:`.*`}else r===`*`?t+=`[^/]*`:r===`?`?t+=`[^/]`:r===`{`&&i!==-1?(t+=`(?:${Ve(e.slice(n+1,i)).map(Xc).join(`|`)})`,n=i):r===`[`&&i!==-1?(t+=`[${e.slice(n+1,i).replace(/^!/,`^`).replaceAll(`\\`,`\\\\`)}]`,n=i):t+=R(r)}return t}const Zc=/* @__PURE__ */ new Map,Qc=e=>H(Zc,e,()=>RegExp(`^${Xc(e)}$`));function $c(e,{includePaths:t,excludePaths:n}){return t.length&&t.every(t=>e!==t&&!Qc(t).test(e))?!1:n.every(t=>!e.includes(t)&&!Qc(t).test(e))}function el(e){let t=d(e);return Object.hasOwn(Ee,t)||ac(t)||cc(t)||Tc(t)||cs(e)}async function tl(e){try{return(await qc(`git`,[`ls-files`,`--cached`,`--others`,`--exclude-standard`,`-z`],{cwd:e,maxBuffer:2**30})).stdout.split(`\0`)}catch{return null}}function nl(e){try{return e.split(/[\\/]/).some(e=>Jc.has(e))?w(e,{recursive:!0,encoding:`utf8`}):w(e,{withFileTypes:!0}).flatMap(t=>t.isDirectory()&&Jc.has(t.name)?w(m(e,t.name),{recursive:!0,encoding:`utf8`}).map(e=>m(t.name,e)):t.name)}catch{return[]}}async function rl(e,t,n){let r=await tl(e),i=[];for(let a of[...r??[],...n||!r?nl(e):[]]){let n=g(e,a);el(n)&&$c(a.replaceAll(`\\`,`/`),t)&&x(n,{throwIfNoEntry:!1})?.isFile()&&i.push(n)}return i.sort((e,t)=>e.split(/[\\/]/).length-t.split(/[\\/]/).length)}const il=/^(!?)\/(.*)\/(i?)$/,al=e=>e.isHash&&!!e.comment&&!Zn(e.comment),ol=[...new Set(Object.values(Ee)),`actions`,`docker`,`make`,`shell`],sl=new Set(ol),cl={patch:/* @__PURE__ */ new Set([`patch`]),minor:/* @__PURE__ */ new Set([`patch`,`minor`]),major:/* @__PURE__ */ new Set([`patch`,`minor`,`major`])},ll={"go.mod":`go.work`,"package.json":`pnpm-workspace.yaml`},ul=new Set(Object.values(ll)),dl=(e,t)=>nn(typeof e==`string`?e:t);function fl(e){try{return T.native(e)}catch{return g(e)}}function pl(e,t){let n=/* @__PURE__ */ new Map,r=new Set(e);return B(t,e=>{for(let t of r){let i=m(e,t);try{v(i),n.set(t,i),r.delete(t)}catch{}}return r.size?null:n}),n}function ml(e,t){t&&(e.date=t,e.age=Oa(t,{noAffix:!0,shortUnits:!0}))}const hl=(e,t,n)=>`${e}${t}${n===void 0?``:`${n}`}`,$=(e,t,n,r)=>hl(`${e}${t}`,n,r),gl=(e,t)=>{let n=e.split(`\0`)[0];return n===(t===`.`?Pa(n):`${Pa(n)}|${t}`)},_l=e=>Object.values(e).some(e=>Object.keys(e).length>0),vl=e=>e.toLowerCase().replace(/[-_.]+/g,`-`),yl=(e,t)=>so.has(e)?co(t):t,bl=e=>typeof e==`number`&&e>=0?e:Ie(String(e));function xl(e,t){return t===`go`?[e,ua(e)]:t===`docker`?Es(e):t===`pypi`?[e,vl(e)]:[e]}const Sl=e=>console.error(sn(e));function Cl({packageName:e,depName:t,names:n},r,{include:i,exclude:a},o){if(o===`engines`&&we.includes(t)||r===`pypi`&&t===`python`)return!1;if(!i.size&&!a.size)return!0;for(let r of a)if(n.some(n=>$r(r,n,e,t)))return!1;for(let r of i)if(n.some(n=>$r(r,n,e,t)))return!0;return!i.size}async function wl(e,t,n){let r=/* @__PURE__ */ new Map,i=/* @__PURE__ */ new Set,a=(e,n=t)=>{if(r.has(e))return;let a=fl(e);i.has(a)||(i.add(a),r.set(e,n))},o=[];for(let t of e??[]){let e;try{e=E(t)}catch(e){throw Error(`Unable to open ${t}: ${e.message}`)}if(e.isFile()){let e=fl(t);a(e,f(e))}else if(e.isDirectory())o.push(fl(t));else throw Error(`${t} is neither a file nor directory`)}e?.length||o.push(t);let s=Promise.all(o.map(async t=>(await rl(t,n,!!e?.length)).map(e=>[e,t])));if(!e?.length){let e=new Set(Te),r=[...Object.keys(Ee),...nc,...sc,...Te];for(let[i,o]of pl(r,t))if(f(o)!==t)for(let r of e.has(i)?ls(o):[g(o)])$c(h(t,r).replaceAll(`\\`,`/`),n)&&a(r)}for(let[e,t]of(await s).flat())a(e,t);let c=Array.from(r).filter(([e])=>ul.has(d(e)));return c.length?new Map([...c,...r]):r}function Tl(e,t){i===`win32`&&D(e,0),O(e,t,i===`win32`?{flag:`r+`}:void 0)}const El=(e,t)=>`${e}${t.split(`\0`,2).join(`\0`)}`;function Dl(e){if(!e.startsWith(`[`))return e;try{return JSON.parse(e).join(`.`)}catch{return e}}function Ol(e){let t={results:{}},n=/* @__PURE__ */ new Map,r=Object.entries(e).sort(([e],[t])=>ol.indexOf(e)-ol.indexOf(t));for(let[e,t]of r)for(let r of Object.keys(t)){let t=El(e,r);n.set(t,(n.get(t)??0)+1)}for(let[e,i]of r)for(let[r,{oldPrint:a,newPrint:o,oldOrig:s,date:c,cooldownDays:l,...u}]of Object.entries(i)){let[i,c,l]=r.split(`\0`);typeof a==`string`?u.old=a:typeof s==`string`&&!Eo(s)&&(u.old=e===`go`?da(s):s),typeof o==`string`&&(u.new=o),e===`go`?u.new=da(u.new):e===`actions`&&!u.digestOnly&&(u.old=X(u.old),u.new=X(u.new));let d=l&&n.get(El(e,r))>1?e===`pypi`?l:`${c}${e===`actions`?`@`:`:`}${Dl(l)}`:c,f=t.results[e]??={};(f[Dl(i)]??={})[d]=u}for(let e of Object.values(t.results))for(let[t,n]of Object.entries(e))e[t]=Object.fromEntries(Object.entries(n).sort(([e],[t])=>e<t?-1:+(e>t)));return t}function kl(e,t){let n=il.exec(t);if(n){let t=new RegExp(n[2],n[3]);return(r,i)=>t.test(i??(e===`go`?`v${r}`:r))!==!!n[1]}if(e===`pypi`)return Pr(t)?e=>Fr(e,t):e=>W(tt(e)||Q(e),t);if(!G(t))throw Error(`Invalid ${e} allowedVersions: ${t}`);return e===`docker`?e=>W(Vs(e),t):e=>W(e,t)}function Al(e,t){let n=Dn({...e,range:t}),r=e.allowedVersions?kl(`go`,e.allowedVersions):null;return{accepts:r?e=>n(e)&&r(e):n,allowMajor:e.semvers.has(`major`),pinAllowsDowngrade:Tn(e,t)}}function jl(e,t,n){if(!n)return e;let r=kl(t,n),i=t===`pypi`?`releases`:t===`docker`?`tags`:`versions`;return{...e,[i]:Object.fromEntries(Object.entries(e[i]??{}).filter(([e])=>r(e)))}}async function Ml(e={}){let{enableDnsCache:t}=await import(`./dns.js`),n=t();try{return await Nl(e)}catch(e){throw Error(sn(e?.message||String(e)))}finally{n()}}async function Nl(t){let n={...t};typeof n.timeout==`number`&&(n.timeout=Le(n.timeout,`timeout`));let r=n.sockets??50,i=n.timeout??0,o=_i(),s=!n.noColor&&(n.color||a.isTTY),c=e=>s?t=>u(e,String(t),{validateStream:!1}):String,l=c(`magenta`),p=c(`green`),_=c(`red`),v=/* @__PURE__ */ new Map,y=(e,t,n=t)=>H(v,`${e}${t}${n}`,()=>({packageName:t,depName:n,names:Array.from(/* @__PURE__ */ new Set([...xl(n,e),...xl(t,e)]))})),b,x={execFile:async(e,t,n)=>(await Mn())(e,t,n),fetchTimeout:i||5e3,goProbeTimeout:i?Math.max(1,Math.floor(i/2)):2500,concurrency:r,forgeApiUrl:dl(t.forgeapi,Y.forgeapi),pypiApiUrl:dl(t.pypiapi,Y.pypiapi),jsrApiUrl:dl(t.jsrapi,Y.jsrapi),goProxyChain:gi(t.goproxy),cratesIoUrl:dl(t.cargoapi,Y.cargoapi),dockerApiUrl:dl(t.dockerapi,Y.dockerapi),doFetch:(e,t)=>(b??=vn(x))(async()=>{n.verbose&&Sl(`${Pe()} ${l(t?.method||`GET`)} ${e}`);let r=await cn(e,t);return n.verbose&&Sl(`${Pe()} ${r.ok?p(r.status):_(r.status)} ${e}`),r}),noCache:!!n.noCache},S=/* @__PURE__ */ new Map,C=async(e,t,n)=>{let r=`${e}${t}${n}`,i=H(S,r,()=>Is(e,t,n,x));try{return await i}catch(e){throw S.get(r)===i&&S.delete(r),e}};for(let e of n.modes??[])if(!sl.has(e))throw Error(`Invalid mode: ${e}, expected one of: ${ol.join(`,`)}`);let w=n.modes?.length?new Set(n.modes):sl,T=e=>{let t=(e.overrides??[]).map(e=>({...e,include:e.include?.length?ci(e.include):void 0,exclude:e.exclude?.length?ci(e.exclude):void 0,cooldownDays:e.cooldown===void 0?void 0:bl(e.cooldown)})),n=e.renovateVersionRules??[];return{greatest:fi(e.greatest),prerelease:fi(e.prerelease),release:fi(e.release),patch:fi(e.patch),minor:fi(e.minor),allowDowngrade:fi(e.allowDowngrade),overrides:t,renovateVersionRules:n,hasCooldownOverride:t.some(e=>e.cooldownDays!==void 0)||n.some(e=>e.cooldownDays!==void 0)}},E=/* @__PURE__ */ new WeakMap;function D(e,t){let n=H(E,e,()=>/* @__PURE__ */ new Map),r=n.get(t);if(!r){let{packageName:i,depName:a,names:o}=t,s=e=>o.some(t=>Me(t,e)),c=s(e.greatest),l=s(e.prerelease),u=s(e.release),d=s(e.patch),f=s(e.minor),p=s(e.allowDowngrade),m,h;for(let t of e.renovateVersionRules)Zr(t,i,a)&&(t.allowedVersions!==void 0&&(h=t.allowedVersions),t.cooldownDays!==void 0&&(m=t.cooldownDays));for(let t of e.overrides)t.include&&o.every(e=>!Me(e,t.include))||t.exclude&&o.some(e=>Me(e,t.exclude))||(t.greatest!==void 0&&(c=t.greatest),t.prerelease!==void 0&&(l=t.prerelease),t.release!==void 0&&(u=t.release),t.patch!==void 0&&(d=t.patch),t.minor!==void 0&&(f=t.minor),t.allowDowngrade!==void 0&&(p=t.allowDowngrade),t.cooldownDays!==void 0&&(m=t.cooldownDays));let g=d?cl.patch:f?cl.minor:cl.major;r={useGreatest:c,usePre:l,useRel:u,semvers:g,allowDowngrade:p,cooldownOverride:m,allowedVersions:h},n.set(t,r)}return r}ui(n.pin);let O=n.pin??{},ee=(e,t,n)=>{let r=e.find(e=>O[e]);if(r)return{pinnedRange:O[r],pinNoDowngrade:!1};let i=e.find(e=>t[e]),a=!!(i&&Array.isArray(n)&&n.includes(i));return{pinnedRange:i&&!a?t[i]:void 0,pinNoDowngrade:a}},te=Date.now(),ne=({versionConfig:e,pin:t,cooldownDays:n,pinNoDowngrade:r},i,a=r)=>{let{useGreatest:o,usePre:s,useRel:c,semvers:l,allowDowngrade:u,cooldownOverride:d,allowedVersions:f}=D(e,i),{pinnedRange:p,pinNoDowngrade:m}=ee(i.names,t,a),h=d??n;return{useGreatest:o,usePre:s,useRel:c,semvers:l,allowDowngrade:u,allowedVersions:f,pinnedRange:p,pinNoDowngrade:m,cooldownDays:h||void 0,now:h?te:void 0}},k={},ie={},ae={},oe=/* @__PURE__ */ new Map,se=/* @__PURE__ */ new Map,A=[],ce=(e,t,n)=>{let[r,i]=t.split(`\0`);A.push({mode:e,type:r,name:i,error:sn(n?.message||String(n))})},j=(e,t,n)=>{delete k[e][t],ce(e,t,n)},le={},ue=fl(e()),de=e=>e.replace(`${ue}/`,``).replace(`${ue}\\`,``),M=(e,t,n,r,i)=>Cl(n,e,r,i)?((ae[e]??=/* @__PURE__ */ new Map).set(t,n),!0):!1,N=(e,t,n,r)=>{k[e][t]={old:n,oldOrig:r}},fe=(e,t,n)=>{if(Oo(n))return;let r=Ao(n);Eo(n)?k.npm[e]={old:No(n,t).version,new:``,oldOrig:n}:G(n)?k.npm[e]={old:qo(n),new:``,oldOrig:n}:r?(oe.set(e,r),k.npm[e]={old:qo(r.range),new:``,oldOrig:n}):Do(n)||(ie[e]={old:n})},pe=(e,t,n,r,i)=>{let a=new Set(Object.keys(t.tool?.uv?.sources??{}).map(vl)),o=(t,i)=>{for(let{name:o,version:s,spec:c}of Se(t)){if(a.has(vl(o)))continue;let t=$(i,n,o,c);M(e,t,y(e,vl(o),o),r,i)&&N(e,t,qo(s),s)}};for(let[a,s]of je(ze(e,r.modeConfig),t)){let t=s||{};if(Array.isArray(t))e===`pypi`&&o(t,a);else if(typeof t==`string`){let[i,o]=t.split(`@`),s=$(a,n,i);M(e,s,y(e,i),r,a)&&N(e,s,qo(o),o)}else if(e===`npm`&&(a===`overrides`||a===`pnpm.overrides`)){let o=a===`overrides`?[`overrides`]:[`pnpm`,`overrides`],s=(t,c)=>{for(let[l,u]of Object.entries(t))if(typeof u==`string`){let t=co(l===`.`?c.at(-1)??l:l);if(i?.has(t))continue;let s=$(a,n,t,JSON.stringify([...o,...c,l]));if(!M(e,s,y(e,Po(t,u),t),r,a))continue;fe(s,t,u)}else u&&typeof u==`object`&&!Array.isArray(u)&&s(u,[...c,l])};s(t,[])}else for(let[s,c]of Object.entries(t)){if(e===`pypi`&&Array.isArray(c)){o(c,`${a}.${s}`);continue}if(typeof c!=`string`||i?.has(yl(a,s)))continue;let t=$(a,n,s);M(e,t,y(e,e===`npm`?Po(yl(a,s),c):e===`pypi`?vl(s):s,s),r,a)&&(e===`npm`?fe(t,s,c):e===`go`?N(e,t,da(c),X(c)):G(c)&&N(e,t,qo(c),c))}}},me={includePaths:n.includePaths??[],excludePaths:n.excludePaths??Yc},he=await wl(n.files,ue,me),ge=new Map(await I(Array.from(he.keys()).filter(e=>{if(cs(e))return w.has(`actions`)||w.has(`docker`);let t=d(e);return Object.hasOwn(ll,t)&&he.has(m(f(e),ll[t]))?!1:ac(t)?w.has(`docker`):cc(t)?w.has(`make`):Tc(t)?w.has(`shell`):w.has(Ee[t])}),async e=>{try{return[e,await re(e,`utf8`)]}catch(t){throw Error(`Unable to open ${e}: ${t.message}`)}},{concurrency:r})),_e={},ve=[],ye=[],P=[],be=[],xe=[],we=[],Te=[],Ne=[],Fe={},F=(e,t,n)=>{let r=t===`.`?``:`|${t}`;return(Fe[e]??=/* @__PURE__ */ new Map).set(r,n),r},Ie=t[ri],R=Ie&&new Set(Ie.cliKeys),Re=Object.fromEntries(Object.entries(n).filter(([e,t])=>t!==void 0&&(!R||R.has(e)))),z=Ke(async e=>{let t={...await mi(e),...Re};return{modeConfig:t,projectDir:e,include:ci(t.include??[]),exclude:ci(t.exclude??[]),versionConfig:T(t),pin:t.pin??{},pinNoDowngrade:t.pinNoDowngrade,cooldownDays:t.cooldown?bl(t.cooldown):0}});function ze(e,t){return t.types?.length?t.types:e===`npm`?Ce:e===`pypi`?De:e===`go`?t.indirect?Oe:Oe.filter(e=>e!==`indirect`):e===`cargo`?[...ke,...Ae]:[]}let Be=e=>{let t=[],n=!1;for(let[r,i]of e.split(/\r?\n/).entries()){let e=/^(\s*)(?:"([^"]+)"|'([^']+)'|([^\s:#][^:#]*)):\s*(.*)$/.exec(i);if(!e)continue;let a=e[1].length,o=(e[2]??e[3]??e[4]).trim();if(a===0){n=o===`overrides`;continue}if(!n||!e[5])continue;let s=e[5].replace(/\s+#.*$/,``).trim(),c=/^(['"])(.*)\1$/.exec(s),l=c?.[2]??s;t.push({selector:o,value:l,lineNumber:r,valueIndex:i.length-e[5].length+Number(!!c)})}return t};function Ve(e,t,n){k.docker??={};let r=hl(t,e.fullImage,`${e.tag}${e.digest?`@${e.digest}`:``}`);if(!M(`docker`,r,y(`docker`,e.fullImage),n,`docker`)||k.docker[r])return;let i=Os(e.tag);(i||e.digest)&&(k.docker[r]={old:i?.version??e.tag,oldOrig:e.tag,...e.digest&&{oldDigest:e.digest},...e.digestOnly&&{digestOnly:!0}},Te.push({key:r,ref:e,filters:n}))}let He=/* @__PURE__ */ new Map,Ue=/* @__PURE__ */ new Map;for(let[e,t]of ge){let n=d(e);try{if(n===`package.json`){let n=JSON.parse(t),r=Array.isArray(n.workspaces)?n.workspaces:n.workspaces?.packages,i=Array.isArray(r)?r.filter(e=>typeof e==`string`):[];i.length&&Ue.set(e,{pkg:n,packagePatterns:i})}else if(n===`Cargo.toml`){let n=gr(t),r=n.workspace?.members;Array.isArray(r)&&r.length&&He.set(e,n)}}catch{}}let We={cargo:He.size,go:Array.from(he.keys()).filter(e=>d(e)===`go.work`).length,npm:Ue.size+Array.from(he.keys()).filter(e=>d(e)===`pnpm-workspace.yaml`).length},Ge=(e,t,n,r)=>{let i=le[e]??=[],a=!i.length&&!We[e]?`.`:de(t);return i.push({absPath:g(t),content:n,memberPath:a}),F(e,a,r)},B=(e,t)=>{try{return t()}catch(t){throw Error(`Error parsing ${e}: ${t.message}`)}},V=(e,t,n)=>We[e]>1?`${de(t)}:${n}`:n,qe=(e,t,n,r,i)=>{let a=V(`npm`,e,t.memberPath);be.push({...t,memberPath:a}),pe(`npm`,n,F(`npm`,a,r),r,i)};for(let e of/* @__PURE__ */ new Set([...He.keys(),...Ue.keys(),...ge.keys()])){let t=d(e),n=ge.get(e);if(cs(e)){let t=w.has(`actions`),r=w.has(`docker`),i=de(e),a=await z(f(e)),o=/* @__PURE__ */ new Set;_e[i]={absPath:e,content:n,fileType:`workflow`,workflowLines:o};let s=[];for(let[e,c]of n.split(/\r?\n/).entries()){if(t){let e=as(c),t=e&&Qo(e.value);if(t){let n=y(`actions`,`${t.owner}/${t.repo}`,t.name);if(Cl(n,`actions`,a,`actions`)){k.actions??={};let r=e.pinnedVersion||/^#\s*(\S+)\s*$/.exec(e.comment)?.[1]||``,o=hl(i,t.name,t.isHash&&r?`${r}@${t.ref}`:t.ref);k.actions[o]||(k.actions[o]={old:t.ref},we.push({...t,key:o,comment:r,identity:n,apiUrl:$o(t.host,x.forgeApiUrl),filters:a}))}}}if(!r)continue;let n=rs(c,s);if(!n)continue;let{indent:l,key:u}=n,d=u===`container`&&s.length===2&&s[0].key===`jobs`,f=u===`image`&&(s.length===3&&s[0].key===`jobs`&&s[2].key===`container`||s.length===4&&s[0].key===`jobs`&&s[2].key===`services`),p=u===`uses`&&(s.length===3&&s[0].key===`jobs`&&s[2].key===`steps`||s.length===2&&s[0].key===`runs`&&s[1].key===`steps`);if((d||f||p)&&n.value){let t=Ds(n.value.replace(/\s+#.*$/,``).replace(/^(['"])(.*)\1$/,`$2`));t&&(Ve(t,i,a),o.add(e))}s.push({indent:l,key:u})}continue}if(ac(t)){let r=de(e),i=await z(f(e)),a=ic(t)?`dockerfile`:`compose`;_e[r]={absPath:e,content:n,fileType:a};for(let{ref:e}of ks(n,a))Ve(e,r,i);continue}let i=cc(t)?`make`:Tc(t)?`shell`:null;if(i){let t=i===`make`?mc(n):Oc(n),r=hc(t),a=yc(t);if(!r.length&&!a.length)continue;let o=de(e),s=await z(f(e));_e[o]={absPath:e,content:n};let c=k[i]??={};for(let{installPath:e,version:t}of r){let n=hl(o,e,t);M(i,n,y(`go`,e),s,i)&&(c[n]||(c[n]={old:X(t),oldOrig:t},Ne.push({mode:i,kind:`go`,key:n,oldSpec:`${e}@${t}`,installPath:e,version:t,filters:s})))}for(let e of a){let t=hl(o,e.writtenImage,e.ref.tag);if(!M(i,t,y(`docker`,e.writtenImage),s,i)||c[t])continue;let n=Os(e.ref.tag);if(!n)continue;let r=_c(e.writtenImage,e.ref.tag,e.digest);c[t]={old:n.version,oldOrig:e.ref.tag},Ne.push({mode:i,kind:`docker`,key:t,oldSpec:r,image:e,filters:s})}continue}let a=g(e);if(t===`go.mod`&&ve.some(e=>e.absPath===a)||t===`package.json`&&be.some(e=>e.absPath===a)||t===`Cargo.toml`&&P.some(e=>e.absPath===a))continue;let o=Ee[t],s=f(a),c=(t,n)=>$c(h(he.get(e),n).replaceAll(`\\`,`/`),me)||he.has(t);if(k[o]??={},t===`go.work`){let t=sa(n),[i,a]=await Promise.all([z(s),I(t.use,async e=>{let t=ca(s,e);if(!t)return null;let n=await L(re(t,`utf8`));return n===null?null:{usePath:e,modPath:t,modContent:n}},{concurrency:r})]),l=V(o,e,`.`),u=F(o,l,i);ye.push({absPath:e,content:n,memberPath:l});let d=a.filter(e=>e!==null),f=new Set(d.map(({modContent:e})=>Ii(e)).filter(Boolean));for(let{usePath:t,modPath:n,modContent:r}of d){if(!c(n,m(s,t,`go.mod`)))continue;let a=V(o,e,t);ve.push({absPath:n,content:r,memberPath:a}),pe(o,Li(r),F(o,a,i),i,f)}for(let[e,n]of Object.entries(t.replace)){let t=$(`replace`,u,e);!f.has(e)&&M(o,t,y(o,e),i,`replace`)&&N(o,t,da(n),X(n))}continue}if(t===`Cargo.toml`){let i=He.get(e)??gr(n),l=pl([`Cargo.lock`],s).get(`Cargo.lock`),u=i.workspace,d=u?.members,f=Array.isArray(d)&&d.length>0,[p,h,g]=await Promise.all([z(s),l?re(l,`utf8`):null,f?Ba([...d,...(u.exclude??[]).map(e=>`!${e}`)],s,`Cargo.toml`,r):[]]),_=ze(o,p.modeConfig),v=h?Nc(h):/* @__PURE__ */ new Map,b=(e,t)=>{for(let[n,r]of je(_,e)){let e=r||{};if(!(typeof e!=`object`||Array.isArray(e)))for(let[r,i]of Object.entries(e)){let e=typeof i==`object`&&!!i&&`version`in i&&!(`git`in i)&&!(`path`in i)&&!(`registry`in i);if(!e&&typeof i!=`string`)continue;let a=e?i.version:i,s=e&&i.package||r,c=$(n,t,r);if(!M(o,c,y(o,s,r),p,n))continue;let l=Lc(a);G(l)&&N(o,c,Bc(v,s,a)??qo(l),a)}}};if(f){let r=V(o,e,`.`);b(i,F(o,r,p)),P.push({absPath:a,content:n,memberPath:r});for(let n of g){if(!c(n.absPath,m(s,n.memberPath,t)))continue;let r=V(o,e,n.memberPath);P.push({...n,memberPath:r}),b(B(n.absPath,()=>gr(n.content)),F(o,r,p))}}else b(i,Ge(o,e,n,p));continue}if(t===`package.json`&&Ue.has(e)){let{pkg:i,packagePatterns:o}=Ue.get(e),[l,u]=await Promise.all([z(s),Ba(o,s,`package.json`,r)]),d=u.map(e=>({member:e,pkg:B(e.absPath,()=>JSON.parse(e.content))})),f=new Set(d.map(({pkg:e})=>e.name).filter(e=>typeof e==`string`&&e));qe(e,{absPath:a,content:n,memberPath:`.`},i,l,f);for(let{member:n,pkg:r}of d)c(n.absPath,m(s,n.memberPath,t))&&qe(e,n,r,l,f);continue}if(t===`pnpm-workspace.yaml`){let i=ao(n),l=m(s,`package.json`),[u,d,f]=await Promise.all([z(s),L(re(l,`utf8`)),Ba(i,s,`package.json`,r)]),p=V(o,e,t),h=F(o,p,u);xe.push({absPath:a,content:n,memberPath:p});for(let{type:e,name:t,value:r}of ro(n)){let n=$(e,h,t);M(o,n,y(o,Po(t,r),t),u,e)&&fe(n,t,r)}for(let{selector:e,value:t}of Be(n)){let n=`pnpm-workspace.overrides`,r=$(n,h,e,JSON.stringify(e));M(o,r,y(o,Po(co(e),t),e),u,n)&&(se.set(r,e),fe(r,e,t))}d!==null&&c(l,l)&&qe(e,{absPath:g(l),content:d,memberPath:`.`},B(l,()=>JSON.parse(d)),u);for(let t of f)c(t.absPath,m(s,t.memberPath,`package.json`))&&qe(e,t,B(t.absPath,()=>JSON.parse(t.content)),u);continue}let l=await z(s);pe(o,B(e,()=>o===`npm`?JSON.parse(n):o===`pypi`?gr(n):Li(n)),Ge(o,e,n,l),l)}let Je=Object.keys(ie).length>0;if(!_l(k)&&!Je)return{results:{},message:`No dependencies found, nothing to do.`};let Ye={needsDates:Fe.npm?.values().some(e=>e.cooldownDays||e.versionConfig.hasCooldownOverride)??!1},Xe=Object.entries(Fe).map(async([e,t])=>{if(!Object.keys(k[e]).length&&(e!==`npm`||!Je))return;let i=t.values().next().value,a=e=>{let n=e.indexOf(`|`);return t.get(n===-1?``:e.slice(n))??i},s=/* @__PURE__ */ new Map,c=k[e],u=async t=>{let[r,i,u]=t.split(`\0`),d=Pa(r),f=a(r),{modeConfig:p,projectDir:m}=f,h=c[t],{old:g,oldOrig:_}=h,v=_&&Eo(_),y=oe.get(t),b=ae[e].get(t),S=ne(f,b),C=e===`go`?Al(S,h.oldOrig||h.old):null,[w,T]=await(e===`npm`?v?Fo(b.packageName,x):wo(b.packageName,d,p,Ye,x,m,h.old):e===`go`?$i(b.packageName,r,h.oldOrig||h.old,m,x,o,C):e===`cargo`?Mc(b.packageName,x):Ar(b.packageName,x));if(w.error)throw Error(w.error);h.cooldownDays=S.cooldownDays;let E=e===`go`?w:jl(w,e,S.allowedVersions),D=kn(E,{...S,range:g,mode:e,acceptsGoVersion:C?C.accepts:void 0}),O=``;(e===`go`||e===`pypi`)&&D?O=D:e===`cargo`&&D&&_?O=zc(_,D):D&&(v?(h.newPrint=Ko(g,D,g,d),O=`${_.slice(0,-g.length)}${h.newPrint}`):O=y?`npm:${y.name}@${Ko(g,D,y.range,d)}`:Ko(g,D,_,d));let ee=e===`pypi`?u:void 0,te=ee&&Ir(ee,_||g,O);!D||D===g||_&&_===O||ee&&(!te||te===ee)?(n.verbose&&D&&D!==g&&Sl(`${Pe()} ${l(`SKIP`)} ${i}: ${_||g} can not be rewritten to ${D}`),delete c[t]):(h.new=O,e===`npm`?s.set(t,{name:b.packageName,promise:To(E.name,D,p,Ye,x,m)}):h.info=e===`pypi`?fr(E,T,E.info.name):e===`go`?la(E.newPath||i):`https://crates.io/crates/${E.name}`,ml(h,e===`pypi`?On(E.releases[D]):e===`go`?E.Time:e===`cargo`?E.time?.[D]:``))};if(await I(Object.keys(c),async t=>{try{await u(t)}catch(n){j(e,t,n)}},{concurrency:r}),await Promise.all(Array.from(s,async([t,{name:n,promise:r}])=>{let i=await r,a=c[t],[o]=t.split(`\0`);if(Pa(o)===`packageManager`&&/\+sha\d+\./.test(a.oldOrig||a.old)&&(a.oldPrint=(a.oldOrig||a.old).replace(/\+sha\d+\..*$/,``),!(n===`yarn`&&Number.parseInt(X(a.new))>=2))){let r=/(?:^|\s)sha512-(\S+)/.exec(i.integrity||``);if(!r){j(e,t,`Unable to fetch sha512 integrity for ${n}@${a.new}`);return}a.newPrint=a.new,a.new=`${a.new}+sha512.${Buffer.from(r[1],`base64`).toString(`hex`)}`}a.info=fr(i,null,n),ml(a,i.date)})),e===`npm`&&Je){let t=(await I(Object.entries(ie),async([e,t])=>{try{return await Zo(e,t,x)}catch(t){return ce(`npm`,e,t),null}},{concurrency:r})).filter(e=>e!==null);for(let{key:n,newRange:r,user:i,repo:o,oldRef:s,newRef:l,newDate:u}of t){let[t]=n.split(`\0`);ml(c[n]={old:ie[n].old,new:r,oldPrint:Xn.test(s)?s.substring(0,7):s,newPrint:Xn.test(l)?l.substring(0,7):l,info:`https://github.com/${i}/${o}`,cooldownDays:ne(a(t),ae[e].get(n)).cooldownDays},u)}}for(let[e,{date:t,cooldownDays:n}]of Object.entries(c))t&&n&&!J(t,n,te)&&delete c[e]}),Ze=I(Map.groupBy(we,e=>`${e.apiUrl}/${e.owner}/${e.repo}`).values(),async e=>{let{apiUrl:t,owner:n,repo:i}=e[0],a=e.filter(e=>e.isHash?!al(e):Zn(e.ref)),o=a.some(e=>{let{allowDowngrade:t,pinnedRange:n,pinNoDowngrade:r}=ne(e.filters,e.identity);return t||!(!n||r)}),s=[...a.map(e=>e.isHash&&e.comment||e.ref),...t===Y.forgeapi?[]:e.filter(al).map(e=>e.comment)],c=[];try{s.length&&(c=await sr(t,n,i,x,o?[]:s,!!a.length))}catch(t){for(let n of e)j(`actions`,n.key,t);return}let l=/* @__PURE__ */ new Map,u=/* @__PURE__ */ new Map;for(let e of c)l.set(e.name,e),e.commitSha&&u.set(e.commitSha,e.name);let d=/* @__PURE__ */ new Map,f=e=>H(d,e,()=>{let t=e?kl(`actions`,e):null,n=/* @__PURE__ */ new Map,r=/* @__PURE__ */ new Set;for(let e of c){let i=Mt.parse(e.name)?.version;!i||e.isStable===!1||t&&!t(i,e.name)||(r.add(e.name),e.name.length>(n.get(i)?.length??0)&&n.set(i,e.name))}return{tagByVersion:n,versions:Array.from(n.keys()),allowedTags:r}}),p=Ke(e=>es(t,n,i,e,x)),m=async(e,t)=>{let n=await p(e),r=l.get(t)?.releaseTimestamp;return n!==void 0&&r&&(!n||Date.parse(r)>Date.parse(n))?r:n},h=Ke(async e=>{let r=l.get(e)?.commitSha;if(r)return r;let a=t===Y.forgeapi?`commits`:`branches`,o=await Kn(`${t}/repos/${n}/${i}/${a}/${encodeURIComponent(e)}`,x);if(o.status===404)return``;if(!o.ok)throw Error(`Unable to fetch ${n}/${i}@${e}`);let s=await o.json();return[s?.sha,s?.id,s?.commit?.sha,s?.commit?.id].find(e=>typeof e==`string`)??``});async function g(e,{tagByVersion:t,versions:r}){let a={...e,cooldownDays:void 0,now:void 0},o=/* @__PURE__ */ new Set;for(let s=0;s<100;s++){let s=Cn({},o.size?r.filter(e=>!o.has(e)):r,a);if(!s)return null;let c=t.get(s),{commitSha:u,releaseTimestamp:d}=l.get(c);if(!e.cooldownDays)return{version:s,tag:c,commitSha:u,date:``};if(d&&!J(d,e.cooldownDays,e.now)){o.add(s);continue}let f=u?await m(u,c):``;if(f===void 0)throw Error(`Unable to fetch the commit date for ${n}/${i}@${c}`);if(J(f,e.cooldownDays,e.now))return{version:s,tag:c,commitSha:u,date:f};o.add(s)}return null}await I(e,async e=>{try{let{key:t,host:r,ref:a,comment:o,isHash:s}=e,c=k.actions[t],d=`https://${r||`github.com`}/${n}/${i}`,p=a;if(s?p=o||u.get(a)||u.entries().find(([e])=>e.startsWith(a))?.[1]||``:Zn(a)||(p=``),!p){delete k.actions[t];return}let _=ne(e.filters,e.identity),v=f(_.allowedVersions),y=Zn(p)?await g({..._,range:p,versioning:Mt},v):null;if(!y){if(!s||!o){delete k.actions[t];return}let e=await h(o);if(!e||e.startsWith(a)||a.startsWith(e)){delete k.actions[t];return}if(_.cooldownDays){let r=await m(e,o);if(r===void 0)throw Error(`Unable to fetch the commit date for ${n}/${i}@${o}`);if(!J(r,_.cooldownDays,_.now)){delete k.actions[t];return}}c.old=o,c.new=o,c.oldDigest=a,c.newDigest=e,c.digestOnly=!0,c.info=d,ml(c,await L(m(e,o)));return}let{tag:b,commitSha:x,date:S}=y,C=ts(b,p),w=v.allowedTags.has(C)?C:b;if(s){if(!x||x.startsWith(a)||a.startsWith(x)){delete k.actions[t];return}c.old=a,c.new=x.substring(0,a.length),c.oldPrint=p,c.newPrint=o&&l.get(w).commitSha===x?w:b}else{if(w===a){delete k.actions[t];return}c.new=w}c.info=d,ml(c,S||(x?await L(m(x,b)):``))}catch(t){j(`actions`,e.key,t)}},{concurrency:r})},{concurrency:r}),U=I(Map.groupBy(Te,e=>e.ref.fullImage).entries(),async([e,t])=>{if(t[0].ref.registry){for(let e of t)delete k.docker[e.key];return}let n;try{[n]=await zs(e,x)}catch(e){for(let n of t)j(`docker`,n.key,e);return}await I(t,async e=>{try{let t=k.docker[e.key],r=t.oldOrig||t.old,i=ne(e.filters,ae.docker.get(e.key),!1),a=!e.ref.digestOnly&&Os(r)?Xs(jl(n,`docker`,i.allowedVersions).tags,r,i.semvers,i.cooldownDays,i.now,i.pinnedRange,i.usePre,i.useRel):null,o=a?.newTag??r;if(e.ref.digest){if(!a&&!J(n.tags[r],i.cooldownDays,i.now)){delete k.docker[e.key];return}let s=await C(e.ref.namespace,e.ref.repo,o);if(!s||s===e.ref.digest&&!a){delete k.docker[e.key];return}t.oldDigest=e.ref.digest,t.newDigest=s,t.digestOnly=e.ref.digestOnly}else if(!a){delete k.docker[e.key];return}t.new=o,t.info=oc(e.ref),ml(t,a?.date||n.tags[o])}catch(t){j(`docker`,e.key,t)}},{concurrency:r})},{concurrency:r}),Qe=I(Ne,async e=>{let t=ne(e.filters,ae[e.mode].get(e.key)),n=k[e.mode],r=n[e.key];try{if(e.kind===`go`){let{projectDir:i}=e.filters,a=await Cc(e.installPath,i,x,o);if(!a){delete n[e.key];return}let s=Al(t,X(e.version)),[c]=await $i(a,`tool`,X(e.version),i,x,o,s),l=kn(c,{...t,mode:`go`,range:X(e.version),acceptsGoVersion:s.accepts});if(!l){delete n[e.key];return}let u=c.newPath??Ei(a,l),d=`${u}${e.installPath.slice(a.length)}`,f=lr(l,e.version);if(d===e.installPath&&f===e.version){delete n[e.key];return}e.newSpec=`${d}@${f}`,r.new=f,r.info=la(u),ml(r,c.Time)}else{let[i]=await zs(e.image.ref.fullImage,x),a=Xs(jl(i,`docker`,t.allowedVersions).tags,e.image.ref.tag,t.semvers,t.cooldownDays,t.now,t.pinnedRange,t.usePre,t.useRel);if(!a){delete n[e.key];return}let o=e.image.digest?await C(e.image.ref.namespace,e.image.ref.repo,a.newTag):null;if(e.image.digest&&!o){delete n[e.key];return}e.newSpec=_c(e.image.writtenImage,a.newTag,o),r.new=a.newTag,r.info=oc(e.image.ref),ml(r,a.date)}}catch(t){j(e.mode,e.key,t)}},{concurrency:r});try{await Promise.all([...Xe,Ze,U,Qe])}finally{n.noCache||await Gt()}if(!_l(k))return A.length?{results:{},errors:A}:{results:{},message:`All dependencies are up to date.`};let $e=(e,t)=>{let n=e.split(`
75
+ `),r=new Map(Be(e).map(e=>[e.selector,e]));for(let[e,i]of se){let a=k.npm[e],o=r.get(i);if(!a||!gl(e,t)||!o||o.value!==(a.oldOrig||a.old))continue;let s=n[o.lineNumber];n[o.lineNumber]=`${s.slice(0,o.valueIndex)}${a.new}${s.slice(o.valueIndex+o.value.length)}`}return n.join(`
76
+ `)};if(n.update){let e=(e,t,n)=>{for(let r of t){let t=Ia(k[e],r.memberPath);Object.keys(t).length&&Tl(r.absPath,n(r.content,t,r))}},t=new Map(we.map(e=>[e.key,e.comment])),n=e=>Map.groupBy(e,([e])=>e.split(`\0`)[0]);for(let r of Object.keys(k).sort((e,t)=>Number(e===`docker`)-Number(t===`docker`)))if(Object.keys(k[r]).length){if(r===`actions`)for(let[e,r]of n(Object.entries(k.actions))){let n=_e[e];n.content=os(n.content,r.map(([e,n])=>{let r=n.oldDigest??n.old;return{name:e.split(`\0`)[1],oldRef:r,newRef:n.newDigest?n.newDigest.substring(0,r.length):n.new,oldComment:t.get(e)||void 0,newComment:n.digestOnly?void 0:Xn.test(n.old)?n.newPrint:void 0}})),Tl(n.absPath,n.content)}else if(r===`docker`)for(let[e,t]of n(Object.entries(k.docker))){let{absPath:n,content:r,fileType:i,workflowLines:a}=_e[e];Tl(n,(i===`dockerfile`?$s:i===`compose`?ec:(e,t)=>e.split(`
77
+ `).map((e,n)=>a.has(n)?tc(e,t):e).join(`
78
+ `))(r,Object.fromEntries(t)))}else if(r===`make`||r===`shell`){let e=Ne.filter(e=>e.newSpec&&k[r][e.key]);for(let[t,n]of Map.groupBy(e,e=>e.key.split(`\0`)[0])){let{absPath:e,content:r}=_e[t];Tl(e,wc(r,n.map(e=>({oldSpec:e.oldSpec,newSpec:e.newSpec}))))}}else if(r===`go`){for(let e of[...ve,...le.go??[]]){let t=Ia(k[r],e.memberPath);if(!Object.keys(t).length)continue;let[n,i]=na(e.content,t);n!==e.content&&Tl(e.absPath,n),oa(f(e.absPath),i,Tl)}for(let e of ye){let t=Object.fromEntries(Object.entries(Ia(k[r],e.memberPath)).filter(([e])=>Pa(e.split(`\0`)[0])===`replace`));if(!Object.keys(t).length)continue;let[n]=na(e.content,t);n!==e.content&&Tl(e.absPath,n)}}else r===`cargo`?e(r,[...P,...le.cargo??[]],Kc):r===`npm`?(e(r,xe,(e,t,n)=>$e(io(e,t),n.memberPath)),e(r,[...be,...le.npm??[]],Io)):e(r,le[r]??[],Br)}}let et=Ol(k);return A.length&&(et.errors=A),et}export{ri as i,Yc as n,Ca as r,Ml as t};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "updates",
3
- "version": "19.2.0",
3
+ "version": "19.2.1",
4
4
  "description": "CLI to update npm, uv, cargo, go, docker and actions dependencies",
5
5
  "author": "silverwind",
6
6
  "repository": {
@@ -45,19 +45,19 @@
45
45
  "bun": "*"
46
46
  },
47
47
  "devDependencies": {
48
- "@types/node": "26.6.3",
48
+ "@types/node": "26.6.5",
49
49
  "@typescript/native-preview": "7.0.0-dev.20260707.2",
50
- "@vitest/coverage-v8": "5.0.3",
51
- "eslint": "10.11.0",
52
- "eslint-config-silverwind": "152.0.3",
50
+ "@vitest/coverage-v8": "5.0.4",
51
+ "eslint": "10.12.0",
52
+ "eslint-config-silverwind": "155.0.1",
53
53
  "timerel": "5.9.2",
54
- "tsdown": "0.23.0",
54
+ "tsdown": "0.23.1",
55
55
  "tsdown-config-silverwind": "4.1.3",
56
56
  "typescript": "6.0.3",
57
57
  "typescript-config-silverwind": "21.0.2",
58
58
  "updates-config-silverwind": "4.0.9",
59
59
  "versions": "15.5.2",
60
- "vitest": "5.0.3",
60
+ "vitest": "5.0.4",
61
61
  "vitest-config-silverwind": "12.0.6"
62
62
  }
63
63
  }