diff --git a/.eslintrc.js b/.eslintrc.js index 2ce243c99..672796020 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -17,7 +17,6 @@ module.exports = { "generator-star-spacing": ["error", { before: false, after: true }], "jsx-quotes": ["error", "prefer-double"], "max-depth": ["error", 10], - "newline-before-return": "error", "no-alert": "error", "no-confusing-arrow": ["error", { allowParens: false }], "no-constant-condition": "error", diff --git a/.gitignore b/.gitignore index c5c3285dd..04c70479d 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ node_modules/ coverage/ .eslintcache .DS_Store +.idea diff --git a/action.yml b/action.yml index 68260a3dc..e7ffe6af5 100644 --- a/action.yml +++ b/action.yml @@ -20,6 +20,20 @@ inputs: app-name: description: App name to display on comment required: false + max_lines: + description: Maximum numbers of line print + required: false + default: "15" + min_coverage: + description: Minimum coverage percentage allowed + required: false + default: "100" + exclude: + description: list of files you would like to exclude from min_coverage check + required: false + exclude_root: + description: exclude the root project coverage from min_coverage check + required: false runs: using: node16 main: dist/main.js diff --git a/dist/main.js b/dist/main.js index a6e848ede..dacef81ec 100644 --- a/dist/main.js +++ b/dist/main.js @@ -1,7 +1,7 @@ -"use strict";var e=require("node:fs"),p=require("node:path"),a=require("node:os"),d=require("node:http"),t=require("node:https");require("node:net");var r=require("node:tls"),i=require("node:events");require("node:assert");var s=require("node:util"),o=require("node:stream"),m=require("node:url"),l=require("node:punycode"),n=require("node:zlib"),u="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function c(e){var p=e.default;if("function"==typeof p){var a=function(){return p.apply(this,arguments)};a.prototype=p.prototype}else a={};return Object.defineProperty(a,"__esModule",{value:!0}),Object.keys(e).forEach((function(p){var d=Object.getOwnPropertyDescriptor(e,p);Object.defineProperty(a,p,d.get?d:{enumerable:!0,get:function(){return e[p]}})})),a}var v={},h={},w={};Object.defineProperty(w,"__esModule",{value:!0}),w.toCommandProperties=w.toCommandValue=void 0,w.toCommandValue=function(e){return null==e?"":"string"==typeof e||e instanceof String?e:JSON.stringify(e)},w.toCommandProperties=function(e){return Object.keys(e).length?{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}:{}};var g=u&&u.__createBinding||(Object.create?function(e,p,a,d){void 0===d&&(d=a),Object.defineProperty(e,d,{enumerable:!0,get:function(){return p[a]}})}:function(e,p,a,d){void 0===d&&(d=a),e[d]=p[a]}),f=u&&u.__setModuleDefault||(Object.create?function(e,p){Object.defineProperty(e,"default",{enumerable:!0,value:p})}:function(e,p){e.default=p}),T=u&&u.__importStar||function(e){if(e&&e.__esModule)return e;var p={};if(null!=e)for(var a in e)"default"!==a&&Object.hasOwnProperty.call(e,a)&&g(p,e,a);return f(p,e),p};Object.defineProperty(h,"__esModule",{value:!0}),h.issue=h.issueCommand=void 0;const _=T(a),b=w;function E(e,p,a){const d=new y(e,p,a);process.stdout.write(d.toString()+_.EOL)}h.issueCommand=E,h.issue=function(e,p=""){E(e,{},p)};class y{constructor(e,p,a){e||(e="missing.command"),this.command=e,this.properties=p,this.message=a}toString(){let e="::"+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=!0;for(const d in this.properties)if(this.properties.hasOwnProperty(d)){const t=this.properties[d];t&&(a?a=!1:e+=",",e+=`${d}=${p=t,b.toCommandValue(p).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}`)}}var p;return e+=`::${function(e){return b.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}(this.message)}`,e}}var S,D={},N=new Uint8Array(16);function A(){if(!S&&!(S="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return S(N)}var O=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function k(e){return"string"==typeof e&&O.test(e)}for(var G,P,V=[],C=0;C<256;++C)V.push((C+256).toString(16).substr(1));function R(e){var p=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,a=(V[e[p+0]]+V[e[p+1]]+V[e[p+2]]+V[e[p+3]]+"-"+V[e[p+4]]+V[e[p+5]]+"-"+V[e[p+6]]+V[e[p+7]]+"-"+V[e[p+8]]+V[e[p+9]]+"-"+V[e[p+10]]+V[e[p+11]]+V[e[p+12]]+V[e[p+13]]+V[e[p+14]]+V[e[p+15]]).toLowerCase();if(!k(a))throw TypeError("Stringified UUID is invalid");return a}var U=0,F=0;function j(e){if(!k(e))throw TypeError("Invalid UUID");var p,a=new Uint8Array(16);return a[0]=(p=parseInt(e.slice(0,8),16))>>>24,a[1]=p>>>16&255,a[2]=p>>>8&255,a[3]=255&p,a[4]=(p=parseInt(e.slice(9,13),16))>>>8,a[5]=255&p,a[6]=(p=parseInt(e.slice(14,18),16))>>>8,a[7]=255&p,a[8]=(p=parseInt(e.slice(19,23),16))>>>8,a[9]=255&p,a[10]=(p=parseInt(e.slice(24,36),16))/1099511627776&255,a[11]=p/4294967296&255,a[12]=p>>>24&255,a[13]=p>>>16&255,a[14]=p>>>8&255,a[15]=255&p,a}function x(e,p,a){function d(e,d,t,r){if("string"==typeof e&&(e=function(e){e=unescape(encodeURIComponent(e));for(var p=[],a=0;a>>9<<4)+1}function q(e,p){var a=(65535&e)+(65535&p);return(e>>16)+(p>>16)+(a>>16)<<16|65535&a}function L(e,p,a,d,t,r){return q((i=q(q(p,e),q(d,r)))<<(s=t)|i>>>32-s,a);var i,s}function I(e,p,a,d,t,r,i){return L(p&a|~p&d,e,p,t,r,i)}function H(e,p,a,d,t,r,i){return L(p&d|a&~d,e,p,t,r,i)}function $(e,p,a,d,t,r,i){return L(p^a^d,e,p,t,r,i)}function M(e,p,a,d,t,r,i){return L(a^(p|~d),e,p,t,r,i)}var z=x("v3",48,(function(e){if("string"==typeof e){var p=unescape(encodeURIComponent(e));e=new Uint8Array(p.length);for(var a=0;a>5]>>>t%32&255,i=parseInt(d.charAt(r>>>4&15)+d.charAt(15&r),16);p.push(i)}return p}(function(e,p){e[p>>5]|=128<>5]|=(255&e[d/8])<>>32-p}var Y=x("v5",80,(function(e){var p=[1518500249,1859775393,2400959708,3395469782],a=[1732584193,4023233417,2562383102,271733878,3285377520];if("string"==typeof e){var d=unescape(encodeURIComponent(e));e=[];for(var t=0;t>>0;T=f,f=g,g=K(w,30)>>>0,w=h,h=E}a[0]=a[0]+h>>>0,a[1]=a[1]+w>>>0,a[2]=a[2]+g>>>0,a[3]=a[3]+f>>>0,a[4]=a[4]+T>>>0}return[a[0]>>24&255,a[0]>>16&255,a[0]>>8&255,255&a[0],a[1]>>24&255,a[1]>>16&255,a[1]>>8&255,255&a[1],a[2]>>24&255,a[2]>>16&255,a[2]>>8&255,255&a[2],a[3]>>24&255,a[3]>>16&255,a[3]>>8&255,255&a[3],a[4]>>24&255,a[4]>>16&255,a[4]>>8&255,255&a[4]]})),Z=Y;var X=Object.freeze({__proto__:null,NIL:"00000000-0000-0000-0000-000000000000",parse:j,stringify:R,v1:function(e,p,a){var d=p&&a||0,t=p||new Array(16),r=(e=e||{}).node||G,i=void 0!==e.clockseq?e.clockseq:P;if(null==r||null==i){var s=e.random||(e.rng||A)();null==r&&(r=G=[1|s[0],s[1],s[2],s[3],s[4],s[5]]),null==i&&(i=P=16383&(s[6]<<8|s[7]))}var o=void 0!==e.msecs?e.msecs:Date.now(),m=void 0!==e.nsecs?e.nsecs:F+1,l=o-U+(m-F)/1e4;if(l<0&&void 0===e.clockseq&&(i=i+1&16383),(l<0||o>U)&&void 0===e.nsecs&&(m=0),m>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");U=o,F=m,P=i;var n=(1e4*(268435455&(o+=122192928e5))+m)%4294967296;t[d++]=n>>>24&255,t[d++]=n>>>16&255,t[d++]=n>>>8&255,t[d++]=255&n;var u=o/4294967296*1e4&268435455;t[d++]=u>>>8&255,t[d++]=255&u,t[d++]=u>>>24&15|16,t[d++]=u>>>16&255,t[d++]=i>>>8|128,t[d++]=255&i;for(var c=0;c<6;++c)t[d+c]=r[c];return p||R(t)},v3:W,v4:function(e,p,a){var d=(e=e||{}).random||(e.rng||A)();if(d[6]=15&d[6]|64,d[8]=63&d[8]|128,p){a=a||0;for(var t=0;t<16;++t)p[a+t]=d[t];return p}return R(d)},v5:Z,validate:k,version:function(e){if(!k(e))throw TypeError("Invalid UUID");return parseInt(e.substr(14,1),16)}}),Q=c(X),ee=u&&u.__createBinding||(Object.create?function(e,p,a,d){void 0===d&&(d=a),Object.defineProperty(e,d,{enumerable:!0,get:function(){return p[a]}})}:function(e,p,a,d){void 0===d&&(d=a),e[d]=p[a]}),pe=u&&u.__setModuleDefault||(Object.create?function(e,p){Object.defineProperty(e,"default",{enumerable:!0,value:p})}:function(e,p){e.default=p}),ae=u&&u.__importStar||function(e){if(e&&e.__esModule)return e;var p={};if(null!=e)for(var a in e)"default"!==a&&Object.hasOwnProperty.call(e,a)&&ee(p,e,a);return pe(p,e),p};Object.defineProperty(D,"__esModule",{value:!0}),D.prepareKeyValueMessage=D.issueFileCommand=void 0;const de=ae(e),te=ae(a),re=Q,ie=w;D.issueFileCommand=function(e,p){const a=process.env[`GITHUB_${e}`];if(!a)throw new Error(`Unable to find environment variable for file command ${e}`);if(!de.existsSync(a))throw new Error(`Missing file at path: ${a}`);de.appendFileSync(a,`${ie.toCommandValue(p)}${te.EOL}`,{encoding:"utf8"})},D.prepareKeyValueMessage=function(e,p){const a=`ghadelimiter_${re.v4()}`,d=ie.toCommandValue(p);if(e.includes(a))throw new Error(`Unexpected input: name should not contain the delimiter "${a}"`);if(d.includes(a))throw new Error(`Unexpected input: value should not contain the delimiter "${a}"`);return`${e}<<${a}${te.EOL}${d}${te.EOL}${a}`};var se={},oe={},me={};function le(e){if(!e.hostname)return!1;const p=process.env.no_proxy||process.env.NO_PROXY||"";if(!p)return!1;let a;e.port?a=Number(e.port):"http:"===e.protocol?a=80:"https:"===e.protocol&&(a=443);const d=[e.hostname.toUpperCase()];"number"==typeof a&&d.push(`${d[0]}:${a}`);for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e)))if(d.some((p=>p===e)))return!0;return!1}Object.defineProperty(me,"__esModule",{value:!0}),me.checkBypass=me.getProxyUrl=void 0,me.getProxyUrl=function(e){const p="https:"===e.protocol;if(le(e))return;const a=p?process.env.https_proxy||process.env.HTTPS_PROXY:process.env.http_proxy||process.env.HTTP_PROXY;return a?new URL(a):void 0},me.checkBypass=le;var ne,ue={exports:{}},ce={},ve=r,he=d,we=t,ge=i,fe=s;function Te(e){var p=this;p.options=e||{},p.proxyOptions=p.options.proxy||{},p.maxSockets=p.options.maxSockets||he.Agent.defaultMaxSockets,p.requests=[],p.sockets=[],p.on("free",(function(e,a,d,t){for(var r=be(a,d,t),i=0,s=p.requests.length;i=this.maxSockets?t.requests.push(r):t.createSocket(r,(function(p){function a(){t.emit("free",p,r)}function d(e){t.removeSocket(p),p.removeListener("free",a),p.removeListener("close",d),p.removeListener("agentRemove",d)}p.on("free",a),p.on("close",d),p.on("agentRemove",d),e.onSocket(p)}))},Te.prototype.createSocket=function(e,p){var a=this,d={};a.sockets.push(d);var t=Ee({},a.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:!1,headers:{host:e.host+":"+e.port}});e.localAddress&&(t.localAddress=e.localAddress),t.proxyAuth&&(t.headers=t.headers||{},t.headers["Proxy-Authorization"]="Basic "+new Buffer(t.proxyAuth).toString("base64")),ne("making CONNECT request");var r=a.request(t);function i(t,i,s){var o;return r.removeAllListeners(),i.removeAllListeners(),200!==t.statusCode?(ne("tunneling socket could not be established, statusCode=%d",t.statusCode),i.destroy(),(o=new Error("tunneling socket could not be established, statusCode="+t.statusCode)).code="ECONNRESET",e.request.emit("error",o),void a.removeSocket(d)):s.length>0?(ne("got illegal response body from proxy"),i.destroy(),(o=new Error("got illegal response body from proxy")).code="ECONNRESET",e.request.emit("error",o),void a.removeSocket(d)):(ne("tunneling connection has established"),a.sockets[a.sockets.indexOf(d)]=i,p(i))}r.useChunkedEncodingByDefault=!1,r.once("response",(function(e){e.upgrade=!0})),r.once("upgrade",(function(e,p,a){process.nextTick((function(){i(e,p,a)}))})),r.once("connect",i),r.once("error",(function(p){r.removeAllListeners(),ne("tunneling socket could not be established, cause=%s\n",p.message,p.stack);var t=new Error("tunneling socket could not be established, cause="+p.message);t.code="ECONNRESET",e.request.emit("error",t),a.removeSocket(d)})),r.end()},Te.prototype.removeSocket=function(e){var p=this.sockets.indexOf(e);if(-1!==p){this.sockets.splice(p,1);var a=this.requests.shift();a&&this.createSocket(a,(function(e){a.request.onSocket(e)}))}},ne=process.env.NODE_DEBUG&&/\btunnel\b/.test(process.env.NODE_DEBUG)?function(){var e=Array.prototype.slice.call(arguments);"string"==typeof e[0]?e[0]="TUNNEL: "+e[0]:e.unshift("TUNNEL:"),console.error.apply(console,e)}:function(){},ce.debug=ne,ue.exports=ce,function(e){var p=u&&u.__createBinding||(Object.create?function(e,p,a,d){void 0===d&&(d=a),Object.defineProperty(e,d,{enumerable:!0,get:function(){return p[a]}})}:function(e,p,a,d){void 0===d&&(d=a),e[d]=p[a]}),a=u&&u.__setModuleDefault||(Object.create?function(e,p){Object.defineProperty(e,"default",{enumerable:!0,value:p})}:function(e,p){e.default=p}),r=u&&u.__importStar||function(e){if(e&&e.__esModule)return e;var d={};if(null!=e)for(var t in e)"default"!==t&&Object.hasOwnProperty.call(e,t)&&p(d,e,t);return a(d,e),d},i=u&&u.__awaiter||function(e,p,a,d){return new(a||(a=Promise))((function(t,r){function i(e){try{o(d.next(e))}catch(e){r(e)}}function s(e){try{o(d.throw(e))}catch(e){r(e)}}function o(e){var p;e.done?t(e.value):(p=e.value,p instanceof a?p:new a((function(e){e(p)}))).then(i,s)}o((d=d.apply(e,p||[])).next())}))};Object.defineProperty(e,"__esModule",{value:!0}),e.HttpClient=e.isHttps=e.HttpClientResponse=e.HttpClientError=e.getProxyUrl=e.MediaTypes=e.Headers=e.HttpCodes=void 0;const s=r(d),o=r(t),m=r(me),l=r(ue.exports);var n,c,v;!function(e){e[e.OK=200]="OK",e[e.MultipleChoices=300]="MultipleChoices",e[e.MovedPermanently=301]="MovedPermanently",e[e.ResourceMoved=302]="ResourceMoved",e[e.SeeOther=303]="SeeOther",e[e.NotModified=304]="NotModified",e[e.UseProxy=305]="UseProxy",e[e.SwitchProxy=306]="SwitchProxy",e[e.TemporaryRedirect=307]="TemporaryRedirect",e[e.PermanentRedirect=308]="PermanentRedirect",e[e.BadRequest=400]="BadRequest",e[e.Unauthorized=401]="Unauthorized",e[e.PaymentRequired=402]="PaymentRequired",e[e.Forbidden=403]="Forbidden",e[e.NotFound=404]="NotFound",e[e.MethodNotAllowed=405]="MethodNotAllowed",e[e.NotAcceptable=406]="NotAcceptable",e[e.ProxyAuthenticationRequired=407]="ProxyAuthenticationRequired",e[e.RequestTimeout=408]="RequestTimeout",e[e.Conflict=409]="Conflict",e[e.Gone=410]="Gone",e[e.TooManyRequests=429]="TooManyRequests",e[e.InternalServerError=500]="InternalServerError",e[e.NotImplemented=501]="NotImplemented",e[e.BadGateway=502]="BadGateway",e[e.ServiceUnavailable=503]="ServiceUnavailable",e[e.GatewayTimeout=504]="GatewayTimeout"}(n=e.HttpCodes||(e.HttpCodes={})),function(e){e.Accept="accept",e.ContentType="content-type"}(c=e.Headers||(e.Headers={})),function(e){e.ApplicationJson="application/json"}(v=e.MediaTypes||(e.MediaTypes={})),e.getProxyUrl=function(e){const p=m.getProxyUrl(new URL(e));return p?p.href:""};const h=[n.MovedPermanently,n.ResourceMoved,n.SeeOther,n.TemporaryRedirect,n.PermanentRedirect],w=[n.BadGateway,n.ServiceUnavailable,n.GatewayTimeout],g=["OPTIONS","GET","DELETE","HEAD"];class f extends Error{constructor(e,p){super(e),this.name="HttpClientError",this.statusCode=p,Object.setPrototypeOf(this,f.prototype)}}e.HttpClientError=f;class T{constructor(e){this.message=e}readBody(){return i(this,void 0,void 0,(function*(){return new Promise((e=>i(this,void 0,void 0,(function*(){let p=Buffer.alloc(0);this.message.on("data",(e=>{p=Buffer.concat([p,e])})),this.message.on("end",(()=>{e(p.toString())}))}))))}))}}e.HttpClientResponse=T,e.isHttps=function(e){return"https:"===new URL(e).protocol};e.HttpClient=class{constructor(e,p,a){this._ignoreSslError=!1,this._allowRedirects=!0,this._allowRedirectDowngrade=!1,this._maxRedirects=50,this._allowRetries=!1,this._maxRetries=1,this._keepAlive=!1,this._disposed=!1,this.userAgent=e,this.handlers=p||[],this.requestOptions=a,a&&(null!=a.ignoreSslError&&(this._ignoreSslError=a.ignoreSslError),this._socketTimeout=a.socketTimeout,null!=a.allowRedirects&&(this._allowRedirects=a.allowRedirects),null!=a.allowRedirectDowngrade&&(this._allowRedirectDowngrade=a.allowRedirectDowngrade),null!=a.maxRedirects&&(this._maxRedirects=Math.max(a.maxRedirects,0)),null!=a.keepAlive&&(this._keepAlive=a.keepAlive),null!=a.allowRetries&&(this._allowRetries=a.allowRetries),null!=a.maxRetries&&(this._maxRetries=a.maxRetries))}options(e,p){return i(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,p||{})}))}get(e,p){return i(this,void 0,void 0,(function*(){return this.request("GET",e,null,p||{})}))}del(e,p){return i(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,p||{})}))}post(e,p,a){return i(this,void 0,void 0,(function*(){return this.request("POST",e,p,a||{})}))}patch(e,p,a){return i(this,void 0,void 0,(function*(){return this.request("PATCH",e,p,a||{})}))}put(e,p,a){return i(this,void 0,void 0,(function*(){return this.request("PUT",e,p,a||{})}))}head(e,p){return i(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,p||{})}))}sendStream(e,p,a,d){return i(this,void 0,void 0,(function*(){return this.request(e,p,a,d)}))}getJson(e,p={}){return i(this,void 0,void 0,(function*(){p[c.Accept]=this._getExistingOrDefaultHeader(p,c.Accept,v.ApplicationJson);const a=yield this.get(e,p);return this._processResponse(a,this.requestOptions)}))}postJson(e,p,a={}){return i(this,void 0,void 0,(function*(){const d=JSON.stringify(p,null,2);a[c.Accept]=this._getExistingOrDefaultHeader(a,c.Accept,v.ApplicationJson),a[c.ContentType]=this._getExistingOrDefaultHeader(a,c.ContentType,v.ApplicationJson);const t=yield this.post(e,d,a);return this._processResponse(t,this.requestOptions)}))}putJson(e,p,a={}){return i(this,void 0,void 0,(function*(){const d=JSON.stringify(p,null,2);a[c.Accept]=this._getExistingOrDefaultHeader(a,c.Accept,v.ApplicationJson),a[c.ContentType]=this._getExistingOrDefaultHeader(a,c.ContentType,v.ApplicationJson);const t=yield this.put(e,d,a);return this._processResponse(t,this.requestOptions)}))}patchJson(e,p,a={}){return i(this,void 0,void 0,(function*(){const d=JSON.stringify(p,null,2);a[c.Accept]=this._getExistingOrDefaultHeader(a,c.Accept,v.ApplicationJson),a[c.ContentType]=this._getExistingOrDefaultHeader(a,c.ContentType,v.ApplicationJson);const t=yield this.patch(e,d,a);return this._processResponse(t,this.requestOptions)}))}request(e,p,a,d){return i(this,void 0,void 0,(function*(){if(this._disposed)throw new Error("Client has already been disposed.");const t=new URL(p);let r=this._prepareRequest(e,t,d);const i=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let s,o=0;do{if(s=yield this.requestRaw(r,a),s&&s.message&&s.message.statusCode===n.Unauthorized){let e;for(const p of this.handlers)if(p.canHandleAuthentication(s)){e=p;break}return e?e.handleAuthentication(this,r,a):s}let p=this._maxRedirects;for(;s.message.statusCode&&h.includes(s.message.statusCode)&&this._allowRedirects&&p>0;){const i=s.message.headers.location;if(!i)break;const o=new URL(i);if("https:"===t.protocol&&t.protocol!==o.protocol&&!this._allowRedirectDowngrade)throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.");if(yield s.readBody(),o.hostname!==t.hostname)for(const e in d)"authorization"===e.toLowerCase()&&delete d[e];r=this._prepareRequest(e,o,d),s=yield this.requestRaw(r,a),p--}if(!s.message.statusCode||!w.includes(s.message.statusCode))return s;o+=1,o{this.requestRawWithCallback(e,p,(function(e,p){e?d(e):p?a(p):d(new Error("Unknown error"))}))}))}))}requestRawWithCallback(e,p,a){"string"==typeof p&&(e.options.headers||(e.options.headers={}),e.options.headers["Content-Length"]=Buffer.byteLength(p,"utf8"));let d=!1;function t(e,p){d||(d=!0,a(e,p))}const r=e.httpModule.request(e.options,(e=>{t(void 0,new T(e))}));let i;r.on("socket",(e=>{i=e})),r.setTimeout(this._socketTimeout||18e4,(()=>{i&&i.end(),t(new Error(`Request timeout: ${e.options.path}`))})),r.on("error",(function(e){t(e)})),p&&"string"==typeof p&&r.write(p,"utf8"),p&&"string"!=typeof p?(p.on("close",(function(){r.end()})),p.pipe(r)):r.end()}getAgent(e){const p=new URL(e);return this._getAgent(p)}_prepareRequest(e,p,a){const d={};d.parsedUrl=p;const t="https:"===d.parsedUrl.protocol;d.httpModule=t?o:s;const r=t?443:80;if(d.options={},d.options.host=d.parsedUrl.hostname,d.options.port=d.parsedUrl.port?parseInt(d.parsedUrl.port):r,d.options.path=(d.parsedUrl.pathname||"")+(d.parsedUrl.search||""),d.options.method=e,d.options.headers=this._mergeHeaders(a),null!=this.userAgent&&(d.options.headers["user-agent"]=this.userAgent),d.options.agent=this._getAgent(d.parsedUrl),this.handlers)for(const e of this.handlers)e.prepareRequest(d.options);return d}_mergeHeaders(e){return this.requestOptions&&this.requestOptions.headers?Object.assign({},_(this.requestOptions.headers),_(e||{})):_(e||{})}_getExistingOrDefaultHeader(e,p,a){let d;return this.requestOptions&&this.requestOptions.headers&&(d=_(this.requestOptions.headers)[p]),e[p]||d||a}_getAgent(e){let p;const a=m.getProxyUrl(e),d=a&&a.hostname;if(this._keepAlive&&d&&(p=this._proxyAgent),this._keepAlive&&!d&&(p=this._agent),p)return p;const t="https:"===e.protocol;let r=100;if(this.requestOptions&&(r=this.requestOptions.maxSockets||s.globalAgent.maxSockets),a&&a.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(a.username||a.password)&&{proxyAuth:`${a.username}:${a.password}`}),{host:a.hostname,port:a.port})};let d;const i="https:"===a.protocol;d=t?i?l.httpsOverHttps:l.httpsOverHttp:i?l.httpOverHttps:l.httpOverHttp,p=d(e),this._proxyAgent=p}if(this._keepAlive&&!p){const e={keepAlive:this._keepAlive,maxSockets:r};p=t?new o.Agent(e):new s.Agent(e),this._agent=p}return p||(p=t?o.globalAgent:s.globalAgent),t&&this._ignoreSslError&&(p.options=Object.assign(p.options||{},{rejectUnauthorized:!1})),p}_performExponentialBackoff(e){return i(this,void 0,void 0,(function*(){e=Math.min(10,e);const p=5*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),p)))}))}_processResponse(e,p){return i(this,void 0,void 0,(function*(){return new Promise(((a,d)=>i(this,void 0,void 0,(function*(){const t=e.message.statusCode||0,r={statusCode:t,result:null,headers:{}};let i,s;t===n.NotFound&&a(r);try{s=yield e.readBody(),s&&s.length>0&&(i=p&&p.deserializeDates?JSON.parse(s,(function(e,p){if("string"==typeof p){const e=new Date(p);if(!isNaN(e.valueOf()))return e}return p})):JSON.parse(s),r.result=i),r.headers=e.message.headers}catch(e){}if(t>299){let e;e=i&&i.message?i.message:s&&s.length>0?s:`Failed request: (${t})`;const p=new f(e,t);p.result=r.result,d(p)}else a(r)}))))}))}};const _=e=>Object.keys(e).reduce(((p,a)=>(p[a.toLowerCase()]=e[a],p)),{})}(oe);var ye,Se={},De=u&&u.__awaiter||function(e,p,a,d){return new(a||(a=Promise))((function(t,r){function i(e){try{o(d.next(e))}catch(e){r(e)}}function s(e){try{o(d.throw(e))}catch(e){r(e)}}function o(e){var p;e.done?t(e.value):(p=e.value,p instanceof a?p:new a((function(e){e(p)}))).then(i,s)}o((d=d.apply(e,p||[])).next())}))};Object.defineProperty(Se,"__esModule",{value:!0}),Se.PersonalAccessTokenCredentialHandler=Se.BearerCredentialHandler=Se.BasicCredentialHandler=void 0;Se.BasicCredentialHandler=class{constructor(e,p){this.username=e,this.password=p}prepareRequest(e){if(!e.headers)throw Error("The request has no headers");e.headers.Authorization=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return!1}handleAuthentication(){return De(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}};Se.BearerCredentialHandler=class{constructor(e){this.token=e}prepareRequest(e){if(!e.headers)throw Error("The request has no headers");e.headers.Authorization=`Bearer ${this.token}`}canHandleAuthentication(){return!1}handleAuthentication(){return De(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}};function Ne(){if(ye)return se;ye=1;var e=u&&u.__awaiter||function(e,p,a,d){return new(a||(a=Promise))((function(t,r){function i(e){try{o(d.next(e))}catch(e){r(e)}}function s(e){try{o(d.throw(e))}catch(e){r(e)}}function o(e){var p;e.done?t(e.value):(p=e.value,p instanceof a?p:new a((function(e){e(p)}))).then(i,s)}o((d=d.apply(e,p||[])).next())}))};Object.defineProperty(se,"__esModule",{value:!0}),se.OidcClient=void 0;const p=oe,a=Se,d=Ce();class t{static createHttpClient(e=!0,d=10){const r={allowRetries:e,maxRetries:d};return new p.HttpClient("actions/oidc-client",[new a.BearerCredentialHandler(t.getRequestToken())],r)}static getRequestToken(){const e=process.env.ACTIONS_ID_TOKEN_REQUEST_TOKEN;if(!e)throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable");return e}static getIDTokenUrl(){const e=process.env.ACTIONS_ID_TOKEN_REQUEST_URL;if(!e)throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable");return e}static getCall(p){var a;return e(this,void 0,void 0,(function*(){const e=t.createHttpClient(),d=yield e.getJson(p).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)})),r=null===(a=d.result)||void 0===a?void 0:a.value;if(!r)throw new Error("Response json body do not have ID Token field");return r}))}static getIDToken(p){return e(this,void 0,void 0,(function*(){try{let e=t.getIDTokenUrl();if(p){e=`${e}&audience=${encodeURIComponent(p)}`}d.debug(`ID token url is ${e}`);const a=yield t.getCall(e);return d.setSecret(a),a}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}return se.OidcClient=t,se}Se.PersonalAccessTokenCredentialHandler=class{constructor(e){this.token=e}prepareRequest(e){if(!e.headers)throw Error("The request has no headers");e.headers.Authorization=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return!1}handleAuthentication(){return De(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}};var Ae,Oe={};function ke(){return Ae||(Ae=1,function(p){var d=u&&u.__awaiter||function(e,p,a,d){return new(a||(a=Promise))((function(t,r){function i(e){try{o(d.next(e))}catch(e){r(e)}}function s(e){try{o(d.throw(e))}catch(e){r(e)}}function o(e){var p;e.done?t(e.value):(p=e.value,p instanceof a?p:new a((function(e){e(p)}))).then(i,s)}o((d=d.apply(e,p||[])).next())}))};Object.defineProperty(p,"__esModule",{value:!0}),p.summary=p.markdownSummary=p.SUMMARY_DOCS_URL=p.SUMMARY_ENV_VAR=void 0;const t=a,r=e,{access:i,appendFile:s,writeFile:o}=r.promises;p.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY",p.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";const m=new class{constructor(){this._buffer=""}filePath(){return d(this,void 0,void 0,(function*(){if(this._filePath)return this._filePath;const e=process.env[p.SUMMARY_ENV_VAR];if(!e)throw new Error(`Unable to find environment variable for $${p.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`);try{yield i(e,r.constants.R_OK|r.constants.W_OK)}catch(p){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}return this._filePath=e,this._filePath}))}wrap(e,p,a={}){const d=Object.entries(a).map((([e,p])=>` ${e}="${p}"`)).join("");return p?`<${e}${d}>${p}`:`<${e}${d}>`}write(e){return d(this,void 0,void 0,(function*(){const p=!!(null==e?void 0:e.overwrite),a=yield this.filePath(),d=p?o:s;return yield d(a,this._buffer,{encoding:"utf8"}),this.emptyBuffer()}))}clear(){return d(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:!0})}))}stringify(){return this._buffer}isEmptyBuffer(){return 0===this._buffer.length}emptyBuffer(){return this._buffer="",this}addRaw(e,p=!1){return this._buffer+=e,p?this.addEOL():this}addEOL(){return this.addRaw(t.EOL)}addCodeBlock(e,p){const a=Object.assign({},p&&{lang:p}),d=this.wrap("pre",this.wrap("code",e),a);return this.addRaw(d).addEOL()}addList(e,p=!1){const a=p?"ol":"ul",d=e.map((e=>this.wrap("li",e))).join(""),t=this.wrap(a,d);return this.addRaw(t).addEOL()}addTable(e){const p=e.map((e=>{const p=e.map((e=>{if("string"==typeof e)return this.wrap("td",e);const{header:p,data:a,colspan:d,rowspan:t}=e,r=p?"th":"td",i=Object.assign(Object.assign({},d&&{colspan:d}),t&&{rowspan:t});return this.wrap(r,a,i)})).join("");return this.wrap("tr",p)})).join(""),a=this.wrap("table",p);return this.addRaw(a).addEOL()}addDetails(e,p){const a=this.wrap("details",this.wrap("summary",e)+p);return this.addRaw(a).addEOL()}addImage(e,p,a){const{width:d,height:t}=a||{},r=Object.assign(Object.assign({},d&&{width:d}),t&&{height:t}),i=this.wrap("img",null,Object.assign({src:e,alt:p},r));return this.addRaw(i).addEOL()}addHeading(e,p){const a=`h${p}`,d=["h1","h2","h3","h4","h5","h6"].includes(a)?a:"h1",t=this.wrap(d,e);return this.addRaw(t).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,p){const a=Object.assign({},p&&{cite:p}),d=this.wrap("blockquote",e,a);return this.addRaw(d).addEOL()}addLink(e,p){const a=this.wrap("a",e,{href:p});return this.addRaw(a).addEOL()}};p.markdownSummary=m,p.summary=m}(Oe)),Oe}var Ge,Pe,Ve={};function Ce(){return Pe||(Pe=1,function(e){var d=u&&u.__createBinding||(Object.create?function(e,p,a,d){void 0===d&&(d=a),Object.defineProperty(e,d,{enumerable:!0,get:function(){return p[a]}})}:function(e,p,a,d){void 0===d&&(d=a),e[d]=p[a]}),t=u&&u.__setModuleDefault||(Object.create?function(e,p){Object.defineProperty(e,"default",{enumerable:!0,value:p})}:function(e,p){e.default=p}),r=u&&u.__importStar||function(e){if(e&&e.__esModule)return e;var p={};if(null!=e)for(var a in e)"default"!==a&&Object.hasOwnProperty.call(e,a)&&d(p,e,a);return t(p,e),p},i=u&&u.__awaiter||function(e,p,a,d){return new(a||(a=Promise))((function(t,r){function i(e){try{o(d.next(e))}catch(e){r(e)}}function s(e){try{o(d.throw(e))}catch(e){r(e)}}function o(e){var p;e.done?t(e.value):(p=e.value,p instanceof a?p:new a((function(e){e(p)}))).then(i,s)}o((d=d.apply(e,p||[])).next())}))};Object.defineProperty(e,"__esModule",{value:!0}),e.getIDToken=e.getState=e.saveState=e.group=e.endGroup=e.startGroup=e.info=e.notice=e.warning=e.error=e.debug=e.isDebug=e.setFailed=e.setCommandEcho=e.setOutput=e.getBooleanInput=e.getMultilineInput=e.getInput=e.addPath=e.setSecret=e.exportVariable=e.ExitCode=void 0;const s=h,o=D,m=w,l=r(a),n=r(p),c=Ne();var v;function g(e,p){const a=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(p&&p.required&&!a)throw new Error(`Input required and not supplied: ${e}`);return p&&!1===p.trimWhitespace?a:a.trim()}function f(e,p={}){s.issueCommand("error",m.toCommandProperties(p),e instanceof Error?e.toString():e)}function T(e){s.issue("group",e)}function _(){s.issue("endgroup")}!function(e){e[e.Success=0]="Success",e[e.Failure=1]="Failure"}(v=e.ExitCode||(e.ExitCode={})),e.exportVariable=function(e,p){const a=m.toCommandValue(p);if(process.env[e]=a,process.env.GITHUB_ENV||"")return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,p));s.issueCommand("set-env",{name:e},a)},e.setSecret=function(e){s.issueCommand("add-mask",{},e)},e.addPath=function(e){process.env.GITHUB_PATH||""?o.issueFileCommand("PATH",e):s.issueCommand("add-path",{},e),process.env.PATH=`${e}${n.delimiter}${process.env.PATH}`},e.getInput=g,e.getMultilineInput=function(e,p){const a=g(e,p).split("\n").filter((e=>""!==e));return p&&!1===p.trimWhitespace?a:a.map((e=>e.trim()))},e.getBooleanInput=function(e,p){const a=g(e,p);if(["true","True","TRUE"].includes(a))return!0;if(["false","False","FALSE"].includes(a))return!1;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\nSupport boolean input list: \`true | True | TRUE | false | False | FALSE\``)},e.setOutput=function(e,p){if(process.env.GITHUB_OUTPUT||"")return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,p));process.stdout.write(l.EOL),s.issueCommand("set-output",{name:e},m.toCommandValue(p))},e.setCommandEcho=function(e){s.issue("echo",e?"on":"off")},e.setFailed=function(e){process.exitCode=v.Failure,f(e)},e.isDebug=function(){return"1"===process.env.RUNNER_DEBUG},e.debug=function(e){s.issueCommand("debug",{},e)},e.error=f,e.warning=function(e,p={}){s.issueCommand("warning",m.toCommandProperties(p),e instanceof Error?e.toString():e)},e.notice=function(e,p={}){s.issueCommand("notice",m.toCommandProperties(p),e instanceof Error?e.toString():e)},e.info=function(e){process.stdout.write(e+l.EOL)},e.startGroup=T,e.endGroup=_,e.group=function(e,p){return i(this,void 0,void 0,(function*(){let a;T(e);try{a=yield p()}finally{_()}return a}))},e.saveState=function(e,p){if(process.env.GITHUB_STATE||"")return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,p));s.issueCommand("save-state",{name:e},m.toCommandValue(p))},e.getState=function(e){return process.env[`STATE_${e}`]||""},e.getIDToken=function(e){return i(this,void 0,void 0,(function*(){return yield c.OidcClient.getIDToken(e)}))};var b=ke();Object.defineProperty(e,"summary",{enumerable:!0,get:function(){return b.summary}});var E=ke();Object.defineProperty(e,"markdownSummary",{enumerable:!0,get:function(){return E.markdownSummary}});var y=function(){if(Ge)return Ve;Ge=1;var e=u&&u.__createBinding||(Object.create?function(e,p,a,d){void 0===d&&(d=a),Object.defineProperty(e,d,{enumerable:!0,get:function(){return p[a]}})}:function(e,p,a,d){void 0===d&&(d=a),e[d]=p[a]}),a=u&&u.__setModuleDefault||(Object.create?function(e,p){Object.defineProperty(e,"default",{enumerable:!0,value:p})}:function(e,p){e.default=p}),d=u&&u.__importStar||function(p){if(p&&p.__esModule)return p;var d={};if(null!=p)for(var t in p)"default"!==t&&Object.hasOwnProperty.call(p,t)&&e(d,p,t);return a(d,p),d};Object.defineProperty(Ve,"__esModule",{value:!0}),Ve.toPlatformPath=Ve.toWin32Path=Ve.toPosixPath=void 0;const t=d(p);return Ve.toPosixPath=function(e){return e.replace(/[\\]/g,"/")},Ve.toWin32Path=function(e){return e.replace(/[/]/g,"\\")},Ve.toPlatformPath=function(e){return e.replace(/[/\\]/g,t.sep)},Ve}();Object.defineProperty(e,"toPosixPath",{enumerable:!0,get:function(){return y.toPosixPath}}),Object.defineProperty(e,"toWin32Path",{enumerable:!0,get:function(){return y.toWin32Path}}),Object.defineProperty(e,"toPlatformPath",{enumerable:!0,get:function(){return y.toPlatformPath}})}(v)),v}var Re=Ce(),Ue={},Fe={};Object.defineProperty(Fe,"__esModule",{value:!0}),Fe.Context=void 0;const je=e,xe=a;Fe.Context=class{constructor(){if(this.payload={},process.env.GITHUB_EVENT_PATH)if(je.existsSync(process.env.GITHUB_EVENT_PATH))this.payload=JSON.parse(je.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}));else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${xe.EOL}`)}this.eventName=process.env.GITHUB_EVENT_NAME,this.sha=process.env.GITHUB_SHA,this.ref=process.env.GITHUB_REF,this.workflow=process.env.GITHUB_WORKFLOW,this.action=process.env.GITHUB_ACTION,this.actor=process.env.GITHUB_ACTOR,this.job=process.env.GITHUB_JOB,this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10),this.runId=parseInt(process.env.GITHUB_RUN_ID,10)}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,p]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:p}}if(this.payload.repository)return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name};throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}};var Be={},qe={},Le={},Ie={};function He(e){if(!e.hostname)return!1;let p,a=process.env.no_proxy||process.env.NO_PROXY||"";if(!a)return!1;e.port?p=Number(e.port):"http:"===e.protocol?p=80:"https:"===e.protocol&&(p=443);let d=[e.hostname.toUpperCase()];"number"==typeof p&&d.push(`${d[0]}:${p}`);for(let e of a.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e)))if(d.some((p=>p===e)))return!0;return!1}Object.defineProperty(Ie,"__esModule",{value:!0}),Ie.getProxyUrl=function(e){let p,a,d="https:"===e.protocol;return He(e)||(a=d?process.env.https_proxy||process.env.HTTPS_PROXY:process.env.http_proxy||process.env.HTTP_PROXY,a&&(p=new URL(a))),p},Ie.checkBypass=He,function(e){Object.defineProperty(e,"__esModule",{value:!0});const p=d,a=t,r=Ie;let i;var s,o,m;!function(e){e[e.OK=200]="OK",e[e.MultipleChoices=300]="MultipleChoices",e[e.MovedPermanently=301]="MovedPermanently",e[e.ResourceMoved=302]="ResourceMoved",e[e.SeeOther=303]="SeeOther",e[e.NotModified=304]="NotModified",e[e.UseProxy=305]="UseProxy",e[e.SwitchProxy=306]="SwitchProxy",e[e.TemporaryRedirect=307]="TemporaryRedirect",e[e.PermanentRedirect=308]="PermanentRedirect",e[e.BadRequest=400]="BadRequest",e[e.Unauthorized=401]="Unauthorized",e[e.PaymentRequired=402]="PaymentRequired",e[e.Forbidden=403]="Forbidden",e[e.NotFound=404]="NotFound",e[e.MethodNotAllowed=405]="MethodNotAllowed",e[e.NotAcceptable=406]="NotAcceptable",e[e.ProxyAuthenticationRequired=407]="ProxyAuthenticationRequired",e[e.RequestTimeout=408]="RequestTimeout",e[e.Conflict=409]="Conflict",e[e.Gone=410]="Gone",e[e.TooManyRequests=429]="TooManyRequests",e[e.InternalServerError=500]="InternalServerError",e[e.NotImplemented=501]="NotImplemented",e[e.BadGateway=502]="BadGateway",e[e.ServiceUnavailable=503]="ServiceUnavailable",e[e.GatewayTimeout=504]="GatewayTimeout"}(s=e.HttpCodes||(e.HttpCodes={})),function(e){e.Accept="accept",e.ContentType="content-type"}(o=e.Headers||(e.Headers={})),function(e){e.ApplicationJson="application/json"}(m=e.MediaTypes||(e.MediaTypes={})),e.getProxyUrl=function(e){let p=r.getProxyUrl(new URL(e));return p?p.href:""};const l=[s.MovedPermanently,s.ResourceMoved,s.SeeOther,s.TemporaryRedirect,s.PermanentRedirect],n=[s.BadGateway,s.ServiceUnavailable,s.GatewayTimeout],u=["OPTIONS","GET","DELETE","HEAD"];class c extends Error{constructor(e,p){super(e),this.name="HttpClientError",this.statusCode=p,Object.setPrototypeOf(this,c.prototype)}}e.HttpClientError=c;class v{constructor(e){this.message=e}readBody(){return new Promise((async(e,p)=>{let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])})),this.message.on("end",(()=>{e(a.toString())}))}))}}e.HttpClientResponse=v,e.isHttps=function(e){return"https:"===new URL(e).protocol};class h{constructor(e,p,a){this._ignoreSslError=!1,this._allowRedirects=!0,this._allowRedirectDowngrade=!1,this._maxRedirects=50,this._allowRetries=!1,this._maxRetries=1,this._keepAlive=!1,this._disposed=!1,this.userAgent=e,this.handlers=p||[],this.requestOptions=a,a&&(null!=a.ignoreSslError&&(this._ignoreSslError=a.ignoreSslError),this._socketTimeout=a.socketTimeout,null!=a.allowRedirects&&(this._allowRedirects=a.allowRedirects),null!=a.allowRedirectDowngrade&&(this._allowRedirectDowngrade=a.allowRedirectDowngrade),null!=a.maxRedirects&&(this._maxRedirects=Math.max(a.maxRedirects,0)),null!=a.keepAlive&&(this._keepAlive=a.keepAlive),null!=a.allowRetries&&(this._allowRetries=a.allowRetries),null!=a.maxRetries&&(this._maxRetries=a.maxRetries))}options(e,p){return this.request("OPTIONS",e,null,p||{})}get(e,p){return this.request("GET",e,null,p||{})}del(e,p){return this.request("DELETE",e,null,p||{})}post(e,p,a){return this.request("POST",e,p,a||{})}patch(e,p,a){return this.request("PATCH",e,p,a||{})}put(e,p,a){return this.request("PUT",e,p,a||{})}head(e,p){return this.request("HEAD",e,null,p||{})}sendStream(e,p,a,d){return this.request(e,p,a,d)}async getJson(e,p={}){p[o.Accept]=this._getExistingOrDefaultHeader(p,o.Accept,m.ApplicationJson);let a=await this.get(e,p);return this._processResponse(a,this.requestOptions)}async postJson(e,p,a={}){let d=JSON.stringify(p,null,2);a[o.Accept]=this._getExistingOrDefaultHeader(a,o.Accept,m.ApplicationJson),a[o.ContentType]=this._getExistingOrDefaultHeader(a,o.ContentType,m.ApplicationJson);let t=await this.post(e,d,a);return this._processResponse(t,this.requestOptions)}async putJson(e,p,a={}){let d=JSON.stringify(p,null,2);a[o.Accept]=this._getExistingOrDefaultHeader(a,o.Accept,m.ApplicationJson),a[o.ContentType]=this._getExistingOrDefaultHeader(a,o.ContentType,m.ApplicationJson);let t=await this.put(e,d,a);return this._processResponse(t,this.requestOptions)}async patchJson(e,p,a={}){let d=JSON.stringify(p,null,2);a[o.Accept]=this._getExistingOrDefaultHeader(a,o.Accept,m.ApplicationJson),a[o.ContentType]=this._getExistingOrDefaultHeader(a,o.ContentType,m.ApplicationJson);let t=await this.patch(e,d,a);return this._processResponse(t,this.requestOptions)}async request(e,p,a,d){if(this._disposed)throw new Error("Client has already been disposed.");let t,r=new URL(p),i=this._prepareRequest(e,r,d),o=this._allowRetries&&-1!=u.indexOf(e)?this._maxRetries+1:1,m=0;for(;m0;){const s=t.message.headers.location;if(!s)break;let o=new URL(s);if("https:"==r.protocol&&r.protocol!=o.protocol&&!this._allowRedirectDowngrade)throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.");if(await t.readBody(),o.hostname!==r.hostname)for(let e in d)"authorization"===e.toLowerCase()&&delete d[e];i=this._prepareRequest(e,o,d),t=await this.requestRaw(i,a),p--}if(-1==n.indexOf(t.message.statusCode))return t;m+=1,m{this.requestRawWithCallback(e,p,(function(e,p){e&&d(e),a(p)}))}))}requestRawWithCallback(e,p,a){let d;"string"==typeof p&&(e.options.headers["Content-Length"]=Buffer.byteLength(p,"utf8"));let t=!1,r=(e,p)=>{t||(t=!0,a(e,p))},i=e.httpModule.request(e.options,(e=>{let p=new v(e);r(null,p)}));i.on("socket",(e=>{d=e})),i.setTimeout(this._socketTimeout||18e4,(()=>{d&&d.end(),r(new Error("Request timeout: "+e.options.path),null)})),i.on("error",(function(e){r(e,null)})),p&&"string"==typeof p&&i.write(p,"utf8"),p&&"string"!=typeof p?(p.on("close",(function(){i.end()})),p.pipe(i)):i.end()}getAgent(e){let p=new URL(e);return this._getAgent(p)}_prepareRequest(e,d,t){const r={};r.parsedUrl=d;const i="https:"===r.parsedUrl.protocol;r.httpModule=i?a:p;const s=i?443:80;return r.options={},r.options.host=r.parsedUrl.hostname,r.options.port=r.parsedUrl.port?parseInt(r.parsedUrl.port):s,r.options.path=(r.parsedUrl.pathname||"")+(r.parsedUrl.search||""),r.options.method=e,r.options.headers=this._mergeHeaders(t),null!=this.userAgent&&(r.options.headers["user-agent"]=this.userAgent),r.options.agent=this._getAgent(r.parsedUrl),this.handlers&&this.handlers.forEach((e=>{e.prepareRequest(r.options)})),r}_mergeHeaders(e){const p=e=>Object.keys(e).reduce(((p,a)=>(p[a.toLowerCase()]=e[a],p)),{});return this.requestOptions&&this.requestOptions.headers?Object.assign({},p(this.requestOptions.headers),p(e)):p(e||{})}_getExistingOrDefaultHeader(e,p,a){let d;var t;return this.requestOptions&&this.requestOptions.headers&&(d=(t=this.requestOptions.headers,Object.keys(t).reduce(((e,p)=>(e[p.toLowerCase()]=t[p],e)),{}))[p]),e[p]||d||a}_getAgent(e){let d,t=r.getProxyUrl(e),s=t&&t.hostname;if(this._keepAlive&&s&&(d=this._proxyAgent),this._keepAlive&&!s&&(d=this._agent),d)return d;const o="https:"===e.protocol;let m=100;if(this.requestOptions&&(m=this.requestOptions.maxSockets||p.globalAgent.maxSockets),s){i||(i=ue.exports);const e={maxSockets:m,keepAlive:this._keepAlive,proxy:{...(t.username||t.password)&&{proxyAuth:`${t.username}:${t.password}`},host:t.hostname,port:t.port}};let p;const a="https:"===t.protocol;p=o?a?i.httpsOverHttps:i.httpsOverHttp:a?i.httpOverHttps:i.httpOverHttp,d=p(e),this._proxyAgent=d}if(this._keepAlive&&!d){const e={keepAlive:this._keepAlive,maxSockets:m};d=o?new a.Agent(e):new p.Agent(e),this._agent=d}return d||(d=o?a.globalAgent:p.globalAgent),o&&this._ignoreSslError&&(d.options=Object.assign(d.options||{},{rejectUnauthorized:!1})),d}_performExponentialBackoff(e){e=Math.min(10,e);const p=5*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),p)))}static dateTimeDeserializer(e,p){if("string"==typeof p){let e=new Date(p);if(!isNaN(e.valueOf()))return e}return p}async _processResponse(e,p){return new Promise((async(a,d)=>{const t=e.message.statusCode,r={statusCode:t,result:null,headers:{}};let i,o;t==s.NotFound&&a(r);try{o=await e.readBody(),o&&o.length>0&&(i=p&&p.deserializeDates?JSON.parse(o,h.dateTimeDeserializer):JSON.parse(o),r.result=i),r.headers=e.message.headers}catch(e){}if(t>299){let e;e=i&&i.message?i.message:o&&o.length>0?o:"Failed request: ("+t+")";let p=new c(e,t);p.result=r.result,d(p)}else a(r)}))}}e.HttpClient=h}(Le);var $e=u&&u.__createBinding||(Object.create?function(e,p,a,d){void 0===d&&(d=a),Object.defineProperty(e,d,{enumerable:!0,get:function(){return p[a]}})}:function(e,p,a,d){void 0===d&&(d=a),e[d]=p[a]}),Me=u&&u.__setModuleDefault||(Object.create?function(e,p){Object.defineProperty(e,"default",{enumerable:!0,value:p})}:function(e,p){e.default=p}),ze=u&&u.__importStar||function(e){if(e&&e.__esModule)return e;var p={};if(null!=e)for(var a in e)Object.hasOwnProperty.call(e,a)&&$e(p,e,a);return Me(p,e),p};Object.defineProperty(qe,"__esModule",{value:!0}),qe.getApiBaseUrl=qe.getProxyAgent=qe.getAuthString=void 0;const We=ze(Le);function Je(){return"object"==typeof navigator&&"userAgent"in navigator?navigator.userAgent:"object"==typeof process&&"version"in process?`Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`:""}qe.getAuthString=function(e,p){if(!e&&!p.auth)throw new Error("Parameter token or opts.auth is required");if(e&&p.auth)throw new Error("Parameters token and opts.auth may not both be specified");return"string"==typeof p.auth?p.auth:`token ${e}`},qe.getProxyAgent=function(e){return(new We.HttpClient).getAgent(e)},qe.getApiBaseUrl=function(){return process.env.GITHUB_API_URL||"https://api.github.com"};var Ke={exports:{}},Ye=function e(p,a,d,t){if("function"!=typeof d)throw new Error("method for before hook must be a function");t||(t={});if(Array.isArray(a))return a.reverse().reduce((function(a,d){return e.bind(null,p,d,a,t)}),d)();return Promise.resolve().then((function(){return p.registry[a]?p.registry[a].reduce((function(e,p){return p.hook.bind(null,e,t)}),d)():d(t)}))};var Ze=function(e,p,a,d){var t=d;e.registry[a]||(e.registry[a]=[]);"before"===p&&(d=function(e,p){return Promise.resolve().then(t.bind(null,p)).then(e.bind(null,p))});"after"===p&&(d=function(e,p){var a;return Promise.resolve().then(e.bind(null,p)).then((function(e){return t(a=e,p)})).then((function(){return a}))});"error"===p&&(d=function(e,p){return Promise.resolve().then(e.bind(null,p)).catch((function(e){return t(e,p)}))});e.registry[a].push({hook:d,orig:t})};var Xe=Ye,Qe=Ze,ep=function(e,p,a){if(!e.registry[p])return;var d=e.registry[p].map((function(e){return e.orig})).indexOf(a);if(-1===d)return;e.registry[p].splice(d,1)},pp=Function.bind,ap=pp.bind(pp);function dp(e,p,a){var d=ap(ep,null).apply(null,a?[p,a]:[p]);e.api={remove:d},e.remove=d,["before","error","after","wrap"].forEach((function(d){var t=a?[p,d,a]:[p,d];e[d]=e.api[d]=ap(Qe,null).apply(null,t)}))}function tp(){var e={registry:{}},p=Xe.bind(null,e);return dp(p,e),p}var rp=!1;function ip(){return rp||(console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4'),rp=!0),tp()}ip.Singular=function(){var e={registry:{}},p=Xe.bind(null,e,"h");return dp(p,e,"h"),p}.bind(),ip.Collection=tp.bind(),Ke.exports=ip,Ke.exports.Hook=ip,Ke.exports.Singular=ip.Singular;var sp=Ke.exports.Collection=ip.Collection; +"use strict";var e=require("node:os"),p=require("node:fs"),a=require("node:path"),d=require("node:http"),t=require("node:https");require("node:net");var r=require("node:tls"),i=require("node:events");require("node:assert");var s=require("node:util"),o=require("node:stream"),m=require("node:url"),n=require("node:punycode"),l=require("node:zlib"),u="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function c(e){var p=e.default;if("function"==typeof p){var a=function(){return p.apply(this,arguments)};a.prototype=p.prototype}else a={};return Object.defineProperty(a,"__esModule",{value:!0}),Object.keys(e).forEach((function(p){var d=Object.getOwnPropertyDescriptor(e,p);Object.defineProperty(a,p,d.get?d:{enumerable:!0,get:function(){return e[p]}})})),a}var v={},h={},w={};Object.defineProperty(w,"__esModule",{value:!0}),w.toCommandProperties=w.toCommandValue=void 0,w.toCommandValue=function(e){return null==e?"":"string"==typeof e||e instanceof String?e:JSON.stringify(e)},w.toCommandProperties=function(e){return Object.keys(e).length?{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}:{}};var g=u&&u.__createBinding||(Object.create?function(e,p,a,d){void 0===d&&(d=a),Object.defineProperty(e,d,{enumerable:!0,get:function(){return p[a]}})}:function(e,p,a,d){void 0===d&&(d=a),e[d]=p[a]}),f=u&&u.__setModuleDefault||(Object.create?function(e,p){Object.defineProperty(e,"default",{enumerable:!0,value:p})}:function(e,p){e.default=p}),T=u&&u.__importStar||function(e){if(e&&e.__esModule)return e;var p={};if(null!=e)for(var a in e)"default"!==a&&Object.hasOwnProperty.call(e,a)&&g(p,e,a);return f(p,e),p};Object.defineProperty(h,"__esModule",{value:!0}),h.issue=h.issueCommand=void 0;const _=T(e),b=w;function E(e,p,a){const d=new y(e,p,a);process.stdout.write(d.toString()+_.EOL)}h.issueCommand=E,h.issue=function(e,p=""){E(e,{},p)};class y{constructor(e,p,a){e||(e="missing.command"),this.command=e,this.properties=p,this.message=a}toString(){let e="::"+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=!0;for(const d in this.properties)if(this.properties.hasOwnProperty(d)){const t=this.properties[d];t&&(a?a=!1:e+=",",e+=`${d}=${p=t,b.toCommandValue(p).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}`)}}var p;return e+=`::${function(e){return b.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}(this.message)}`,e}}var S,D={},N=new Uint8Array(16);function A(){if(!S&&!(S="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return S(N)}var O=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function k(e){return"string"==typeof e&&O.test(e)}for(var G,P,V=[],C=0;C<256;++C)V.push((C+256).toString(16).substr(1));function R(e){var p=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,a=(V[e[p+0]]+V[e[p+1]]+V[e[p+2]]+V[e[p+3]]+"-"+V[e[p+4]]+V[e[p+5]]+"-"+V[e[p+6]]+V[e[p+7]]+"-"+V[e[p+8]]+V[e[p+9]]+"-"+V[e[p+10]]+V[e[p+11]]+V[e[p+12]]+V[e[p+13]]+V[e[p+14]]+V[e[p+15]]).toLowerCase();if(!k(a))throw TypeError("Stringified UUID is invalid");return a}var U=0,F=0;function j(e){if(!k(e))throw TypeError("Invalid UUID");var p,a=new Uint8Array(16);return a[0]=(p=parseInt(e.slice(0,8),16))>>>24,a[1]=p>>>16&255,a[2]=p>>>8&255,a[3]=255&p,a[4]=(p=parseInt(e.slice(9,13),16))>>>8,a[5]=255&p,a[6]=(p=parseInt(e.slice(14,18),16))>>>8,a[7]=255&p,a[8]=(p=parseInt(e.slice(19,23),16))>>>8,a[9]=255&p,a[10]=(p=parseInt(e.slice(24,36),16))/1099511627776&255,a[11]=p/4294967296&255,a[12]=p>>>24&255,a[13]=p>>>16&255,a[14]=p>>>8&255,a[15]=255&p,a}function x(e,p,a){function d(e,d,t,r){if("string"==typeof e&&(e=function(e){e=unescape(encodeURIComponent(e));for(var p=[],a=0;a>>9<<4)+1}function q(e,p){var a=(65535&e)+(65535&p);return(e>>16)+(p>>16)+(a>>16)<<16|65535&a}function L(e,p,a,d,t,r){return q((i=q(q(p,e),q(d,r)))<<(s=t)|i>>>32-s,a);var i,s}function I(e,p,a,d,t,r,i){return L(p&a|~p&d,e,p,t,r,i)}function H(e,p,a,d,t,r,i){return L(p&d|a&~d,e,p,t,r,i)}function $(e,p,a,d,t,r,i){return L(p^a^d,e,p,t,r,i)}function M(e,p,a,d,t,r,i){return L(a^(p|~d),e,p,t,r,i)}var z=x("v3",48,(function(e){if("string"==typeof e){var p=unescape(encodeURIComponent(e));e=new Uint8Array(p.length);for(var a=0;a>5]>>>t%32&255,i=parseInt(d.charAt(r>>>4&15)+d.charAt(15&r),16);p.push(i)}return p}(function(e,p){e[p>>5]|=128<>5]|=(255&e[d/8])<>>32-p}var Y=x("v5",80,(function(e){var p=[1518500249,1859775393,2400959708,3395469782],a=[1732584193,4023233417,2562383102,271733878,3285377520];if("string"==typeof e){var d=unescape(encodeURIComponent(e));e=[];for(var t=0;t>>0;T=f,f=g,g=K(w,30)>>>0,w=h,h=E}a[0]=a[0]+h>>>0,a[1]=a[1]+w>>>0,a[2]=a[2]+g>>>0,a[3]=a[3]+f>>>0,a[4]=a[4]+T>>>0}return[a[0]>>24&255,a[0]>>16&255,a[0]>>8&255,255&a[0],a[1]>>24&255,a[1]>>16&255,a[1]>>8&255,255&a[1],a[2]>>24&255,a[2]>>16&255,a[2]>>8&255,255&a[2],a[3]>>24&255,a[3]>>16&255,a[3]>>8&255,255&a[3],a[4]>>24&255,a[4]>>16&255,a[4]>>8&255,255&a[4]]})),Z=Y;var X=Object.freeze({__proto__:null,NIL:"00000000-0000-0000-0000-000000000000",parse:j,stringify:R,v1:function(e,p,a){var d=p&&a||0,t=p||new Array(16),r=(e=e||{}).node||G,i=void 0!==e.clockseq?e.clockseq:P;if(null==r||null==i){var s=e.random||(e.rng||A)();null==r&&(r=G=[1|s[0],s[1],s[2],s[3],s[4],s[5]]),null==i&&(i=P=16383&(s[6]<<8|s[7]))}var o=void 0!==e.msecs?e.msecs:Date.now(),m=void 0!==e.nsecs?e.nsecs:F+1,n=o-U+(m-F)/1e4;if(n<0&&void 0===e.clockseq&&(i=i+1&16383),(n<0||o>U)&&void 0===e.nsecs&&(m=0),m>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");U=o,F=m,P=i;var l=(1e4*(268435455&(o+=122192928e5))+m)%4294967296;t[d++]=l>>>24&255,t[d++]=l>>>16&255,t[d++]=l>>>8&255,t[d++]=255&l;var u=o/4294967296*1e4&268435455;t[d++]=u>>>8&255,t[d++]=255&u,t[d++]=u>>>24&15|16,t[d++]=u>>>16&255,t[d++]=i>>>8|128,t[d++]=255&i;for(var c=0;c<6;++c)t[d+c]=r[c];return p||R(t)},v3:W,v4:function(e,p,a){var d=(e=e||{}).random||(e.rng||A)();if(d[6]=15&d[6]|64,d[8]=63&d[8]|128,p){a=a||0;for(var t=0;t<16;++t)p[a+t]=d[t];return p}return R(d)},v5:Z,validate:k,version:function(e){if(!k(e))throw TypeError("Invalid UUID");return parseInt(e.substr(14,1),16)}}),Q=c(X),ee=u&&u.__createBinding||(Object.create?function(e,p,a,d){void 0===d&&(d=a),Object.defineProperty(e,d,{enumerable:!0,get:function(){return p[a]}})}:function(e,p,a,d){void 0===d&&(d=a),e[d]=p[a]}),pe=u&&u.__setModuleDefault||(Object.create?function(e,p){Object.defineProperty(e,"default",{enumerable:!0,value:p})}:function(e,p){e.default=p}),ae=u&&u.__importStar||function(e){if(e&&e.__esModule)return e;var p={};if(null!=e)for(var a in e)"default"!==a&&Object.hasOwnProperty.call(e,a)&&ee(p,e,a);return pe(p,e),p};Object.defineProperty(D,"__esModule",{value:!0}),D.prepareKeyValueMessage=D.issueFileCommand=void 0;const de=ae(p),te=ae(e),re=Q,ie=w;D.issueFileCommand=function(e,p){const a=process.env[`GITHUB_${e}`];if(!a)throw new Error(`Unable to find environment variable for file command ${e}`);if(!de.existsSync(a))throw new Error(`Missing file at path: ${a}`);de.appendFileSync(a,`${ie.toCommandValue(p)}${te.EOL}`,{encoding:"utf8"})},D.prepareKeyValueMessage=function(e,p){const a=`ghadelimiter_${re.v4()}`,d=ie.toCommandValue(p);if(e.includes(a))throw new Error(`Unexpected input: name should not contain the delimiter "${a}"`);if(d.includes(a))throw new Error(`Unexpected input: value should not contain the delimiter "${a}"`);return`${e}<<${a}${te.EOL}${d}${te.EOL}${a}`};var se={},oe={},me={};function ne(e){if(!e.hostname)return!1;const p=process.env.no_proxy||process.env.NO_PROXY||"";if(!p)return!1;let a;e.port?a=Number(e.port):"http:"===e.protocol?a=80:"https:"===e.protocol&&(a=443);const d=[e.hostname.toUpperCase()];"number"==typeof a&&d.push(`${d[0]}:${a}`);for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e)))if(d.some((p=>p===e)))return!0;return!1}Object.defineProperty(me,"__esModule",{value:!0}),me.checkBypass=me.getProxyUrl=void 0,me.getProxyUrl=function(e){const p="https:"===e.protocol;if(ne(e))return;const a=p?process.env.https_proxy||process.env.HTTPS_PROXY:process.env.http_proxy||process.env.HTTP_PROXY;return a?new URL(a):void 0},me.checkBypass=ne;var le,ue={exports:{}},ce={},ve=r,he=d,we=t,ge=i,fe=s;function Te(e){var p=this;p.options=e||{},p.proxyOptions=p.options.proxy||{},p.maxSockets=p.options.maxSockets||he.Agent.defaultMaxSockets,p.requests=[],p.sockets=[],p.on("free",(function(e,a,d,t){for(var r=be(a,d,t),i=0,s=p.requests.length;i=this.maxSockets?t.requests.push(r):t.createSocket(r,(function(p){function a(){t.emit("free",p,r)}function d(e){t.removeSocket(p),p.removeListener("free",a),p.removeListener("close",d),p.removeListener("agentRemove",d)}p.on("free",a),p.on("close",d),p.on("agentRemove",d),e.onSocket(p)}))},Te.prototype.createSocket=function(e,p){var a=this,d={};a.sockets.push(d);var t=Ee({},a.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:!1,headers:{host:e.host+":"+e.port}});e.localAddress&&(t.localAddress=e.localAddress),t.proxyAuth&&(t.headers=t.headers||{},t.headers["Proxy-Authorization"]="Basic "+new Buffer(t.proxyAuth).toString("base64")),le("making CONNECT request");var r=a.request(t);function i(t,i,s){var o;return r.removeAllListeners(),i.removeAllListeners(),200!==t.statusCode?(le("tunneling socket could not be established, statusCode=%d",t.statusCode),i.destroy(),(o=new Error("tunneling socket could not be established, statusCode="+t.statusCode)).code="ECONNRESET",e.request.emit("error",o),void a.removeSocket(d)):s.length>0?(le("got illegal response body from proxy"),i.destroy(),(o=new Error("got illegal response body from proxy")).code="ECONNRESET",e.request.emit("error",o),void a.removeSocket(d)):(le("tunneling connection has established"),a.sockets[a.sockets.indexOf(d)]=i,p(i))}r.useChunkedEncodingByDefault=!1,r.once("response",(function(e){e.upgrade=!0})),r.once("upgrade",(function(e,p,a){process.nextTick((function(){i(e,p,a)}))})),r.once("connect",i),r.once("error",(function(p){r.removeAllListeners(),le("tunneling socket could not be established, cause=%s\n",p.message,p.stack);var t=new Error("tunneling socket could not be established, cause="+p.message);t.code="ECONNRESET",e.request.emit("error",t),a.removeSocket(d)})),r.end()},Te.prototype.removeSocket=function(e){var p=this.sockets.indexOf(e);if(-1!==p){this.sockets.splice(p,1);var a=this.requests.shift();a&&this.createSocket(a,(function(e){a.request.onSocket(e)}))}},le=process.env.NODE_DEBUG&&/\btunnel\b/.test(process.env.NODE_DEBUG)?function(){var e=Array.prototype.slice.call(arguments);"string"==typeof e[0]?e[0]="TUNNEL: "+e[0]:e.unshift("TUNNEL:"),console.error.apply(console,e)}:function(){},ce.debug=le,ue.exports=ce,function(e){var p=u&&u.__createBinding||(Object.create?function(e,p,a,d){void 0===d&&(d=a),Object.defineProperty(e,d,{enumerable:!0,get:function(){return p[a]}})}:function(e,p,a,d){void 0===d&&(d=a),e[d]=p[a]}),a=u&&u.__setModuleDefault||(Object.create?function(e,p){Object.defineProperty(e,"default",{enumerable:!0,value:p})}:function(e,p){e.default=p}),r=u&&u.__importStar||function(e){if(e&&e.__esModule)return e;var d={};if(null!=e)for(var t in e)"default"!==t&&Object.hasOwnProperty.call(e,t)&&p(d,e,t);return a(d,e),d},i=u&&u.__awaiter||function(e,p,a,d){return new(a||(a=Promise))((function(t,r){function i(e){try{o(d.next(e))}catch(e){r(e)}}function s(e){try{o(d.throw(e))}catch(e){r(e)}}function o(e){var p;e.done?t(e.value):(p=e.value,p instanceof a?p:new a((function(e){e(p)}))).then(i,s)}o((d=d.apply(e,p||[])).next())}))};Object.defineProperty(e,"__esModule",{value:!0}),e.HttpClient=e.isHttps=e.HttpClientResponse=e.HttpClientError=e.getProxyUrl=e.MediaTypes=e.Headers=e.HttpCodes=void 0;const s=r(d),o=r(t),m=r(me),n=r(ue.exports);var l,c,v;!function(e){e[e.OK=200]="OK",e[e.MultipleChoices=300]="MultipleChoices",e[e.MovedPermanently=301]="MovedPermanently",e[e.ResourceMoved=302]="ResourceMoved",e[e.SeeOther=303]="SeeOther",e[e.NotModified=304]="NotModified",e[e.UseProxy=305]="UseProxy",e[e.SwitchProxy=306]="SwitchProxy",e[e.TemporaryRedirect=307]="TemporaryRedirect",e[e.PermanentRedirect=308]="PermanentRedirect",e[e.BadRequest=400]="BadRequest",e[e.Unauthorized=401]="Unauthorized",e[e.PaymentRequired=402]="PaymentRequired",e[e.Forbidden=403]="Forbidden",e[e.NotFound=404]="NotFound",e[e.MethodNotAllowed=405]="MethodNotAllowed",e[e.NotAcceptable=406]="NotAcceptable",e[e.ProxyAuthenticationRequired=407]="ProxyAuthenticationRequired",e[e.RequestTimeout=408]="RequestTimeout",e[e.Conflict=409]="Conflict",e[e.Gone=410]="Gone",e[e.TooManyRequests=429]="TooManyRequests",e[e.InternalServerError=500]="InternalServerError",e[e.NotImplemented=501]="NotImplemented",e[e.BadGateway=502]="BadGateway",e[e.ServiceUnavailable=503]="ServiceUnavailable",e[e.GatewayTimeout=504]="GatewayTimeout"}(l=e.HttpCodes||(e.HttpCodes={})),function(e){e.Accept="accept",e.ContentType="content-type"}(c=e.Headers||(e.Headers={})),function(e){e.ApplicationJson="application/json"}(v=e.MediaTypes||(e.MediaTypes={})),e.getProxyUrl=function(e){const p=m.getProxyUrl(new URL(e));return p?p.href:""};const h=[l.MovedPermanently,l.ResourceMoved,l.SeeOther,l.TemporaryRedirect,l.PermanentRedirect],w=[l.BadGateway,l.ServiceUnavailable,l.GatewayTimeout],g=["OPTIONS","GET","DELETE","HEAD"];class f extends Error{constructor(e,p){super(e),this.name="HttpClientError",this.statusCode=p,Object.setPrototypeOf(this,f.prototype)}}e.HttpClientError=f;class T{constructor(e){this.message=e}readBody(){return i(this,void 0,void 0,(function*(){return new Promise((e=>i(this,void 0,void 0,(function*(){let p=Buffer.alloc(0);this.message.on("data",(e=>{p=Buffer.concat([p,e])})),this.message.on("end",(()=>{e(p.toString())}))}))))}))}}e.HttpClientResponse=T,e.isHttps=function(e){return"https:"===new URL(e).protocol};e.HttpClient=class{constructor(e,p,a){this._ignoreSslError=!1,this._allowRedirects=!0,this._allowRedirectDowngrade=!1,this._maxRedirects=50,this._allowRetries=!1,this._maxRetries=1,this._keepAlive=!1,this._disposed=!1,this.userAgent=e,this.handlers=p||[],this.requestOptions=a,a&&(null!=a.ignoreSslError&&(this._ignoreSslError=a.ignoreSslError),this._socketTimeout=a.socketTimeout,null!=a.allowRedirects&&(this._allowRedirects=a.allowRedirects),null!=a.allowRedirectDowngrade&&(this._allowRedirectDowngrade=a.allowRedirectDowngrade),null!=a.maxRedirects&&(this._maxRedirects=Math.max(a.maxRedirects,0)),null!=a.keepAlive&&(this._keepAlive=a.keepAlive),null!=a.allowRetries&&(this._allowRetries=a.allowRetries),null!=a.maxRetries&&(this._maxRetries=a.maxRetries))}options(e,p){return i(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,p||{})}))}get(e,p){return i(this,void 0,void 0,(function*(){return this.request("GET",e,null,p||{})}))}del(e,p){return i(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,p||{})}))}post(e,p,a){return i(this,void 0,void 0,(function*(){return this.request("POST",e,p,a||{})}))}patch(e,p,a){return i(this,void 0,void 0,(function*(){return this.request("PATCH",e,p,a||{})}))}put(e,p,a){return i(this,void 0,void 0,(function*(){return this.request("PUT",e,p,a||{})}))}head(e,p){return i(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,p||{})}))}sendStream(e,p,a,d){return i(this,void 0,void 0,(function*(){return this.request(e,p,a,d)}))}getJson(e,p={}){return i(this,void 0,void 0,(function*(){p[c.Accept]=this._getExistingOrDefaultHeader(p,c.Accept,v.ApplicationJson);const a=yield this.get(e,p);return this._processResponse(a,this.requestOptions)}))}postJson(e,p,a={}){return i(this,void 0,void 0,(function*(){const d=JSON.stringify(p,null,2);a[c.Accept]=this._getExistingOrDefaultHeader(a,c.Accept,v.ApplicationJson),a[c.ContentType]=this._getExistingOrDefaultHeader(a,c.ContentType,v.ApplicationJson);const t=yield this.post(e,d,a);return this._processResponse(t,this.requestOptions)}))}putJson(e,p,a={}){return i(this,void 0,void 0,(function*(){const d=JSON.stringify(p,null,2);a[c.Accept]=this._getExistingOrDefaultHeader(a,c.Accept,v.ApplicationJson),a[c.ContentType]=this._getExistingOrDefaultHeader(a,c.ContentType,v.ApplicationJson);const t=yield this.put(e,d,a);return this._processResponse(t,this.requestOptions)}))}patchJson(e,p,a={}){return i(this,void 0,void 0,(function*(){const d=JSON.stringify(p,null,2);a[c.Accept]=this._getExistingOrDefaultHeader(a,c.Accept,v.ApplicationJson),a[c.ContentType]=this._getExistingOrDefaultHeader(a,c.ContentType,v.ApplicationJson);const t=yield this.patch(e,d,a);return this._processResponse(t,this.requestOptions)}))}request(e,p,a,d){return i(this,void 0,void 0,(function*(){if(this._disposed)throw new Error("Client has already been disposed.");const t=new URL(p);let r=this._prepareRequest(e,t,d);const i=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let s,o=0;do{if(s=yield this.requestRaw(r,a),s&&s.message&&s.message.statusCode===l.Unauthorized){let e;for(const p of this.handlers)if(p.canHandleAuthentication(s)){e=p;break}return e?e.handleAuthentication(this,r,a):s}let p=this._maxRedirects;for(;s.message.statusCode&&h.includes(s.message.statusCode)&&this._allowRedirects&&p>0;){const i=s.message.headers.location;if(!i)break;const o=new URL(i);if("https:"===t.protocol&&t.protocol!==o.protocol&&!this._allowRedirectDowngrade)throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.");if(yield s.readBody(),o.hostname!==t.hostname)for(const e in d)"authorization"===e.toLowerCase()&&delete d[e];r=this._prepareRequest(e,o,d),s=yield this.requestRaw(r,a),p--}if(!s.message.statusCode||!w.includes(s.message.statusCode))return s;o+=1,o{this.requestRawWithCallback(e,p,(function(e,p){e?d(e):p?a(p):d(new Error("Unknown error"))}))}))}))}requestRawWithCallback(e,p,a){"string"==typeof p&&(e.options.headers||(e.options.headers={}),e.options.headers["Content-Length"]=Buffer.byteLength(p,"utf8"));let d=!1;function t(e,p){d||(d=!0,a(e,p))}const r=e.httpModule.request(e.options,(e=>{t(void 0,new T(e))}));let i;r.on("socket",(e=>{i=e})),r.setTimeout(this._socketTimeout||18e4,(()=>{i&&i.end(),t(new Error(`Request timeout: ${e.options.path}`))})),r.on("error",(function(e){t(e)})),p&&"string"==typeof p&&r.write(p,"utf8"),p&&"string"!=typeof p?(p.on("close",(function(){r.end()})),p.pipe(r)):r.end()}getAgent(e){const p=new URL(e);return this._getAgent(p)}_prepareRequest(e,p,a){const d={};d.parsedUrl=p;const t="https:"===d.parsedUrl.protocol;d.httpModule=t?o:s;const r=t?443:80;if(d.options={},d.options.host=d.parsedUrl.hostname,d.options.port=d.parsedUrl.port?parseInt(d.parsedUrl.port):r,d.options.path=(d.parsedUrl.pathname||"")+(d.parsedUrl.search||""),d.options.method=e,d.options.headers=this._mergeHeaders(a),null!=this.userAgent&&(d.options.headers["user-agent"]=this.userAgent),d.options.agent=this._getAgent(d.parsedUrl),this.handlers)for(const e of this.handlers)e.prepareRequest(d.options);return d}_mergeHeaders(e){return this.requestOptions&&this.requestOptions.headers?Object.assign({},_(this.requestOptions.headers),_(e||{})):_(e||{})}_getExistingOrDefaultHeader(e,p,a){let d;return this.requestOptions&&this.requestOptions.headers&&(d=_(this.requestOptions.headers)[p]),e[p]||d||a}_getAgent(e){let p;const a=m.getProxyUrl(e),d=a&&a.hostname;if(this._keepAlive&&d&&(p=this._proxyAgent),this._keepAlive&&!d&&(p=this._agent),p)return p;const t="https:"===e.protocol;let r=100;if(this.requestOptions&&(r=this.requestOptions.maxSockets||s.globalAgent.maxSockets),a&&a.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(a.username||a.password)&&{proxyAuth:`${a.username}:${a.password}`}),{host:a.hostname,port:a.port})};let d;const i="https:"===a.protocol;d=t?i?n.httpsOverHttps:n.httpsOverHttp:i?n.httpOverHttps:n.httpOverHttp,p=d(e),this._proxyAgent=p}if(this._keepAlive&&!p){const e={keepAlive:this._keepAlive,maxSockets:r};p=t?new o.Agent(e):new s.Agent(e),this._agent=p}return p||(p=t?o.globalAgent:s.globalAgent),t&&this._ignoreSslError&&(p.options=Object.assign(p.options||{},{rejectUnauthorized:!1})),p}_performExponentialBackoff(e){return i(this,void 0,void 0,(function*(){e=Math.min(10,e);const p=5*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),p)))}))}_processResponse(e,p){return i(this,void 0,void 0,(function*(){return new Promise(((a,d)=>i(this,void 0,void 0,(function*(){const t=e.message.statusCode||0,r={statusCode:t,result:null,headers:{}};let i,s;t===l.NotFound&&a(r);try{s=yield e.readBody(),s&&s.length>0&&(i=p&&p.deserializeDates?JSON.parse(s,(function(e,p){if("string"==typeof p){const e=new Date(p);if(!isNaN(e.valueOf()))return e}return p})):JSON.parse(s),r.result=i),r.headers=e.message.headers}catch(e){}if(t>299){let e;e=i&&i.message?i.message:s&&s.length>0?s:`Failed request: (${t})`;const p=new f(e,t);p.result=r.result,d(p)}else a(r)}))))}))}};const _=e=>Object.keys(e).reduce(((p,a)=>(p[a.toLowerCase()]=e[a],p)),{})}(oe);var ye,Se={},De=u&&u.__awaiter||function(e,p,a,d){return new(a||(a=Promise))((function(t,r){function i(e){try{o(d.next(e))}catch(e){r(e)}}function s(e){try{o(d.throw(e))}catch(e){r(e)}}function o(e){var p;e.done?t(e.value):(p=e.value,p instanceof a?p:new a((function(e){e(p)}))).then(i,s)}o((d=d.apply(e,p||[])).next())}))};Object.defineProperty(Se,"__esModule",{value:!0}),Se.PersonalAccessTokenCredentialHandler=Se.BearerCredentialHandler=Se.BasicCredentialHandler=void 0;Se.BasicCredentialHandler=class{constructor(e,p){this.username=e,this.password=p}prepareRequest(e){if(!e.headers)throw Error("The request has no headers");e.headers.Authorization=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return!1}handleAuthentication(){return De(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}};Se.BearerCredentialHandler=class{constructor(e){this.token=e}prepareRequest(e){if(!e.headers)throw Error("The request has no headers");e.headers.Authorization=`Bearer ${this.token}`}canHandleAuthentication(){return!1}handleAuthentication(){return De(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}};function Ne(){if(ye)return se;ye=1;var e=u&&u.__awaiter||function(e,p,a,d){return new(a||(a=Promise))((function(t,r){function i(e){try{o(d.next(e))}catch(e){r(e)}}function s(e){try{o(d.throw(e))}catch(e){r(e)}}function o(e){var p;e.done?t(e.value):(p=e.value,p instanceof a?p:new a((function(e){e(p)}))).then(i,s)}o((d=d.apply(e,p||[])).next())}))};Object.defineProperty(se,"__esModule",{value:!0}),se.OidcClient=void 0;const p=oe,a=Se,d=Ce();class t{static createHttpClient(e=!0,d=10){const r={allowRetries:e,maxRetries:d};return new p.HttpClient("actions/oidc-client",[new a.BearerCredentialHandler(t.getRequestToken())],r)}static getRequestToken(){const e=process.env.ACTIONS_ID_TOKEN_REQUEST_TOKEN;if(!e)throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable");return e}static getIDTokenUrl(){const e=process.env.ACTIONS_ID_TOKEN_REQUEST_URL;if(!e)throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable");return e}static getCall(p){var a;return e(this,void 0,void 0,(function*(){const e=t.createHttpClient(),d=yield e.getJson(p).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)})),r=null===(a=d.result)||void 0===a?void 0:a.value;if(!r)throw new Error("Response json body do not have ID Token field");return r}))}static getIDToken(p){return e(this,void 0,void 0,(function*(){try{let e=t.getIDTokenUrl();if(p){e=`${e}&audience=${encodeURIComponent(p)}`}d.debug(`ID token url is ${e}`);const a=yield t.getCall(e);return d.setSecret(a),a}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}return se.OidcClient=t,se}Se.PersonalAccessTokenCredentialHandler=class{constructor(e){this.token=e}prepareRequest(e){if(!e.headers)throw Error("The request has no headers");e.headers.Authorization=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return!1}handleAuthentication(){return De(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}};var Ae,Oe={};function ke(){return Ae||(Ae=1,function(a){var d=u&&u.__awaiter||function(e,p,a,d){return new(a||(a=Promise))((function(t,r){function i(e){try{o(d.next(e))}catch(e){r(e)}}function s(e){try{o(d.throw(e))}catch(e){r(e)}}function o(e){var p;e.done?t(e.value):(p=e.value,p instanceof a?p:new a((function(e){e(p)}))).then(i,s)}o((d=d.apply(e,p||[])).next())}))};Object.defineProperty(a,"__esModule",{value:!0}),a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const t=e,r=p,{access:i,appendFile:s,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY",a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";const m=new class{constructor(){this._buffer=""}filePath(){return d(this,void 0,void 0,(function*(){if(this._filePath)return this._filePath;const e=process.env[a.SUMMARY_ENV_VAR];if(!e)throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`);try{yield i(e,r.constants.R_OK|r.constants.W_OK)}catch(p){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}return this._filePath=e,this._filePath}))}wrap(e,p,a={}){const d=Object.entries(a).map((([e,p])=>` ${e}="${p}"`)).join("");return p?`<${e}${d}>${p}`:`<${e}${d}>`}write(e){return d(this,void 0,void 0,(function*(){const p=!!(null==e?void 0:e.overwrite),a=yield this.filePath(),d=p?o:s;return yield d(a,this._buffer,{encoding:"utf8"}),this.emptyBuffer()}))}clear(){return d(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:!0})}))}stringify(){return this._buffer}isEmptyBuffer(){return 0===this._buffer.length}emptyBuffer(){return this._buffer="",this}addRaw(e,p=!1){return this._buffer+=e,p?this.addEOL():this}addEOL(){return this.addRaw(t.EOL)}addCodeBlock(e,p){const a=Object.assign({},p&&{lang:p}),d=this.wrap("pre",this.wrap("code",e),a);return this.addRaw(d).addEOL()}addList(e,p=!1){const a=p?"ol":"ul",d=e.map((e=>this.wrap("li",e))).join(""),t=this.wrap(a,d);return this.addRaw(t).addEOL()}addTable(e){const p=e.map((e=>{const p=e.map((e=>{if("string"==typeof e)return this.wrap("td",e);const{header:p,data:a,colspan:d,rowspan:t}=e,r=p?"th":"td",i=Object.assign(Object.assign({},d&&{colspan:d}),t&&{rowspan:t});return this.wrap(r,a,i)})).join("");return this.wrap("tr",p)})).join(""),a=this.wrap("table",p);return this.addRaw(a).addEOL()}addDetails(e,p){const a=this.wrap("details",this.wrap("summary",e)+p);return this.addRaw(a).addEOL()}addImage(e,p,a){const{width:d,height:t}=a||{},r=Object.assign(Object.assign({},d&&{width:d}),t&&{height:t}),i=this.wrap("img",null,Object.assign({src:e,alt:p},r));return this.addRaw(i).addEOL()}addHeading(e,p){const a=`h${p}`,d=["h1","h2","h3","h4","h5","h6"].includes(a)?a:"h1",t=this.wrap(d,e);return this.addRaw(t).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,p){const a=Object.assign({},p&&{cite:p}),d=this.wrap("blockquote",e,a);return this.addRaw(d).addEOL()}addLink(e,p){const a=this.wrap("a",e,{href:p});return this.addRaw(a).addEOL()}};a.markdownSummary=m,a.summary=m}(Oe)),Oe}var Ge,Pe,Ve={};function Ce(){return Pe||(Pe=1,function(p){var d=u&&u.__createBinding||(Object.create?function(e,p,a,d){void 0===d&&(d=a),Object.defineProperty(e,d,{enumerable:!0,get:function(){return p[a]}})}:function(e,p,a,d){void 0===d&&(d=a),e[d]=p[a]}),t=u&&u.__setModuleDefault||(Object.create?function(e,p){Object.defineProperty(e,"default",{enumerable:!0,value:p})}:function(e,p){e.default=p}),r=u&&u.__importStar||function(e){if(e&&e.__esModule)return e;var p={};if(null!=e)for(var a in e)"default"!==a&&Object.hasOwnProperty.call(e,a)&&d(p,e,a);return t(p,e),p},i=u&&u.__awaiter||function(e,p,a,d){return new(a||(a=Promise))((function(t,r){function i(e){try{o(d.next(e))}catch(e){r(e)}}function s(e){try{o(d.throw(e))}catch(e){r(e)}}function o(e){var p;e.done?t(e.value):(p=e.value,p instanceof a?p:new a((function(e){e(p)}))).then(i,s)}o((d=d.apply(e,p||[])).next())}))};Object.defineProperty(p,"__esModule",{value:!0}),p.getIDToken=p.getState=p.saveState=p.group=p.endGroup=p.startGroup=p.info=p.notice=p.warning=p.error=p.debug=p.isDebug=p.setFailed=p.setCommandEcho=p.setOutput=p.getBooleanInput=p.getMultilineInput=p.getInput=p.addPath=p.setSecret=p.exportVariable=p.ExitCode=void 0;const s=h,o=D,m=w,n=r(e),l=r(a),c=Ne();var v;function g(e,p){const a=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(p&&p.required&&!a)throw new Error(`Input required and not supplied: ${e}`);return p&&!1===p.trimWhitespace?a:a.trim()}function f(e,p={}){s.issueCommand("error",m.toCommandProperties(p),e instanceof Error?e.toString():e)}function T(e){s.issue("group",e)}function _(){s.issue("endgroup")}!function(e){e[e.Success=0]="Success",e[e.Failure=1]="Failure"}(v=p.ExitCode||(p.ExitCode={})),p.exportVariable=function(e,p){const a=m.toCommandValue(p);if(process.env[e]=a,process.env.GITHUB_ENV||"")return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,p));s.issueCommand("set-env",{name:e},a)},p.setSecret=function(e){s.issueCommand("add-mask",{},e)},p.addPath=function(e){process.env.GITHUB_PATH||""?o.issueFileCommand("PATH",e):s.issueCommand("add-path",{},e),process.env.PATH=`${e}${l.delimiter}${process.env.PATH}`},p.getInput=g,p.getMultilineInput=function(e,p){const a=g(e,p).split("\n").filter((e=>""!==e));return p&&!1===p.trimWhitespace?a:a.map((e=>e.trim()))},p.getBooleanInput=function(e,p){const a=g(e,p);if(["true","True","TRUE"].includes(a))return!0;if(["false","False","FALSE"].includes(a))return!1;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\nSupport boolean input list: \`true | True | TRUE | false | False | FALSE\``)},p.setOutput=function(e,p){if(process.env.GITHUB_OUTPUT||"")return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,p));process.stdout.write(n.EOL),s.issueCommand("set-output",{name:e},m.toCommandValue(p))},p.setCommandEcho=function(e){s.issue("echo",e?"on":"off")},p.setFailed=function(e){process.exitCode=v.Failure,f(e)},p.isDebug=function(){return"1"===process.env.RUNNER_DEBUG},p.debug=function(e){s.issueCommand("debug",{},e)},p.error=f,p.warning=function(e,p={}){s.issueCommand("warning",m.toCommandProperties(p),e instanceof Error?e.toString():e)},p.notice=function(e,p={}){s.issueCommand("notice",m.toCommandProperties(p),e instanceof Error?e.toString():e)},p.info=function(e){process.stdout.write(e+n.EOL)},p.startGroup=T,p.endGroup=_,p.group=function(e,p){return i(this,void 0,void 0,(function*(){let a;T(e);try{a=yield p()}finally{_()}return a}))},p.saveState=function(e,p){if(process.env.GITHUB_STATE||"")return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,p));s.issueCommand("save-state",{name:e},m.toCommandValue(p))},p.getState=function(e){return process.env[`STATE_${e}`]||""},p.getIDToken=function(e){return i(this,void 0,void 0,(function*(){return yield c.OidcClient.getIDToken(e)}))};var b=ke();Object.defineProperty(p,"summary",{enumerable:!0,get:function(){return b.summary}});var E=ke();Object.defineProperty(p,"markdownSummary",{enumerable:!0,get:function(){return E.markdownSummary}});var y=function(){if(Ge)return Ve;Ge=1;var e=u&&u.__createBinding||(Object.create?function(e,p,a,d){void 0===d&&(d=a),Object.defineProperty(e,d,{enumerable:!0,get:function(){return p[a]}})}:function(e,p,a,d){void 0===d&&(d=a),e[d]=p[a]}),p=u&&u.__setModuleDefault||(Object.create?function(e,p){Object.defineProperty(e,"default",{enumerable:!0,value:p})}:function(e,p){e.default=p}),d=u&&u.__importStar||function(a){if(a&&a.__esModule)return a;var d={};if(null!=a)for(var t in a)"default"!==t&&Object.hasOwnProperty.call(a,t)&&e(d,a,t);return p(d,a),d};Object.defineProperty(Ve,"__esModule",{value:!0}),Ve.toPlatformPath=Ve.toWin32Path=Ve.toPosixPath=void 0;const t=d(a);return Ve.toPosixPath=function(e){return e.replace(/[\\]/g,"/")},Ve.toWin32Path=function(e){return e.replace(/[/]/g,"\\")},Ve.toPlatformPath=function(e){return e.replace(/[/\\]/g,t.sep)},Ve}();Object.defineProperty(p,"toPosixPath",{enumerable:!0,get:function(){return y.toPosixPath}}),Object.defineProperty(p,"toWin32Path",{enumerable:!0,get:function(){return y.toWin32Path}}),Object.defineProperty(p,"toPlatformPath",{enumerable:!0,get:function(){return y.toPlatformPath}})}(v)),v}var Re=Ce(),Ue={},Fe={};Object.defineProperty(Fe,"__esModule",{value:!0}),Fe.Context=void 0;const je=p,xe=e;Fe.Context=class{constructor(){if(this.payload={},process.env.GITHUB_EVENT_PATH)if(je.existsSync(process.env.GITHUB_EVENT_PATH))this.payload=JSON.parse(je.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}));else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${xe.EOL}`)}this.eventName=process.env.GITHUB_EVENT_NAME,this.sha=process.env.GITHUB_SHA,this.ref=process.env.GITHUB_REF,this.workflow=process.env.GITHUB_WORKFLOW,this.action=process.env.GITHUB_ACTION,this.actor=process.env.GITHUB_ACTOR,this.job=process.env.GITHUB_JOB,this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10),this.runId=parseInt(process.env.GITHUB_RUN_ID,10)}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,p]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:p}}if(this.payload.repository)return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name};throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}};var Be={},qe={},Le={},Ie={};function He(e){if(!e.hostname)return!1;let p,a=process.env.no_proxy||process.env.NO_PROXY||"";if(!a)return!1;e.port?p=Number(e.port):"http:"===e.protocol?p=80:"https:"===e.protocol&&(p=443);let d=[e.hostname.toUpperCase()];"number"==typeof p&&d.push(`${d[0]}:${p}`);for(let e of a.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e)))if(d.some((p=>p===e)))return!0;return!1}Object.defineProperty(Ie,"__esModule",{value:!0}),Ie.getProxyUrl=function(e){let p,a,d="https:"===e.protocol;return He(e)||(a=d?process.env.https_proxy||process.env.HTTPS_PROXY:process.env.http_proxy||process.env.HTTP_PROXY,a&&(p=new URL(a))),p},Ie.checkBypass=He,function(e){Object.defineProperty(e,"__esModule",{value:!0});const p=d,a=t,r=Ie;let i;var s,o,m;!function(e){e[e.OK=200]="OK",e[e.MultipleChoices=300]="MultipleChoices",e[e.MovedPermanently=301]="MovedPermanently",e[e.ResourceMoved=302]="ResourceMoved",e[e.SeeOther=303]="SeeOther",e[e.NotModified=304]="NotModified",e[e.UseProxy=305]="UseProxy",e[e.SwitchProxy=306]="SwitchProxy",e[e.TemporaryRedirect=307]="TemporaryRedirect",e[e.PermanentRedirect=308]="PermanentRedirect",e[e.BadRequest=400]="BadRequest",e[e.Unauthorized=401]="Unauthorized",e[e.PaymentRequired=402]="PaymentRequired",e[e.Forbidden=403]="Forbidden",e[e.NotFound=404]="NotFound",e[e.MethodNotAllowed=405]="MethodNotAllowed",e[e.NotAcceptable=406]="NotAcceptable",e[e.ProxyAuthenticationRequired=407]="ProxyAuthenticationRequired",e[e.RequestTimeout=408]="RequestTimeout",e[e.Conflict=409]="Conflict",e[e.Gone=410]="Gone",e[e.TooManyRequests=429]="TooManyRequests",e[e.InternalServerError=500]="InternalServerError",e[e.NotImplemented=501]="NotImplemented",e[e.BadGateway=502]="BadGateway",e[e.ServiceUnavailable=503]="ServiceUnavailable",e[e.GatewayTimeout=504]="GatewayTimeout"}(s=e.HttpCodes||(e.HttpCodes={})),function(e){e.Accept="accept",e.ContentType="content-type"}(o=e.Headers||(e.Headers={})),function(e){e.ApplicationJson="application/json"}(m=e.MediaTypes||(e.MediaTypes={})),e.getProxyUrl=function(e){let p=r.getProxyUrl(new URL(e));return p?p.href:""};const n=[s.MovedPermanently,s.ResourceMoved,s.SeeOther,s.TemporaryRedirect,s.PermanentRedirect],l=[s.BadGateway,s.ServiceUnavailable,s.GatewayTimeout],u=["OPTIONS","GET","DELETE","HEAD"];class c extends Error{constructor(e,p){super(e),this.name="HttpClientError",this.statusCode=p,Object.setPrototypeOf(this,c.prototype)}}e.HttpClientError=c;class v{constructor(e){this.message=e}readBody(){return new Promise((async(e,p)=>{let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])})),this.message.on("end",(()=>{e(a.toString())}))}))}}e.HttpClientResponse=v,e.isHttps=function(e){return"https:"===new URL(e).protocol};class h{constructor(e,p,a){this._ignoreSslError=!1,this._allowRedirects=!0,this._allowRedirectDowngrade=!1,this._maxRedirects=50,this._allowRetries=!1,this._maxRetries=1,this._keepAlive=!1,this._disposed=!1,this.userAgent=e,this.handlers=p||[],this.requestOptions=a,a&&(null!=a.ignoreSslError&&(this._ignoreSslError=a.ignoreSslError),this._socketTimeout=a.socketTimeout,null!=a.allowRedirects&&(this._allowRedirects=a.allowRedirects),null!=a.allowRedirectDowngrade&&(this._allowRedirectDowngrade=a.allowRedirectDowngrade),null!=a.maxRedirects&&(this._maxRedirects=Math.max(a.maxRedirects,0)),null!=a.keepAlive&&(this._keepAlive=a.keepAlive),null!=a.allowRetries&&(this._allowRetries=a.allowRetries),null!=a.maxRetries&&(this._maxRetries=a.maxRetries))}options(e,p){return this.request("OPTIONS",e,null,p||{})}get(e,p){return this.request("GET",e,null,p||{})}del(e,p){return this.request("DELETE",e,null,p||{})}post(e,p,a){return this.request("POST",e,p,a||{})}patch(e,p,a){return this.request("PATCH",e,p,a||{})}put(e,p,a){return this.request("PUT",e,p,a||{})}head(e,p){return this.request("HEAD",e,null,p||{})}sendStream(e,p,a,d){return this.request(e,p,a,d)}async getJson(e,p={}){p[o.Accept]=this._getExistingOrDefaultHeader(p,o.Accept,m.ApplicationJson);let a=await this.get(e,p);return this._processResponse(a,this.requestOptions)}async postJson(e,p,a={}){let d=JSON.stringify(p,null,2);a[o.Accept]=this._getExistingOrDefaultHeader(a,o.Accept,m.ApplicationJson),a[o.ContentType]=this._getExistingOrDefaultHeader(a,o.ContentType,m.ApplicationJson);let t=await this.post(e,d,a);return this._processResponse(t,this.requestOptions)}async putJson(e,p,a={}){let d=JSON.stringify(p,null,2);a[o.Accept]=this._getExistingOrDefaultHeader(a,o.Accept,m.ApplicationJson),a[o.ContentType]=this._getExistingOrDefaultHeader(a,o.ContentType,m.ApplicationJson);let t=await this.put(e,d,a);return this._processResponse(t,this.requestOptions)}async patchJson(e,p,a={}){let d=JSON.stringify(p,null,2);a[o.Accept]=this._getExistingOrDefaultHeader(a,o.Accept,m.ApplicationJson),a[o.ContentType]=this._getExistingOrDefaultHeader(a,o.ContentType,m.ApplicationJson);let t=await this.patch(e,d,a);return this._processResponse(t,this.requestOptions)}async request(e,p,a,d){if(this._disposed)throw new Error("Client has already been disposed.");let t,r=new URL(p),i=this._prepareRequest(e,r,d),o=this._allowRetries&&-1!=u.indexOf(e)?this._maxRetries+1:1,m=0;for(;m0;){const s=t.message.headers.location;if(!s)break;let o=new URL(s);if("https:"==r.protocol&&r.protocol!=o.protocol&&!this._allowRedirectDowngrade)throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.");if(await t.readBody(),o.hostname!==r.hostname)for(let e in d)"authorization"===e.toLowerCase()&&delete d[e];i=this._prepareRequest(e,o,d),t=await this.requestRaw(i,a),p--}if(-1==l.indexOf(t.message.statusCode))return t;m+=1,m{this.requestRawWithCallback(e,p,(function(e,p){e&&d(e),a(p)}))}))}requestRawWithCallback(e,p,a){let d;"string"==typeof p&&(e.options.headers["Content-Length"]=Buffer.byteLength(p,"utf8"));let t=!1,r=(e,p)=>{t||(t=!0,a(e,p))},i=e.httpModule.request(e.options,(e=>{let p=new v(e);r(null,p)}));i.on("socket",(e=>{d=e})),i.setTimeout(this._socketTimeout||18e4,(()=>{d&&d.end(),r(new Error("Request timeout: "+e.options.path),null)})),i.on("error",(function(e){r(e,null)})),p&&"string"==typeof p&&i.write(p,"utf8"),p&&"string"!=typeof p?(p.on("close",(function(){i.end()})),p.pipe(i)):i.end()}getAgent(e){let p=new URL(e);return this._getAgent(p)}_prepareRequest(e,d,t){const r={};r.parsedUrl=d;const i="https:"===r.parsedUrl.protocol;r.httpModule=i?a:p;const s=i?443:80;return r.options={},r.options.host=r.parsedUrl.hostname,r.options.port=r.parsedUrl.port?parseInt(r.parsedUrl.port):s,r.options.path=(r.parsedUrl.pathname||"")+(r.parsedUrl.search||""),r.options.method=e,r.options.headers=this._mergeHeaders(t),null!=this.userAgent&&(r.options.headers["user-agent"]=this.userAgent),r.options.agent=this._getAgent(r.parsedUrl),this.handlers&&this.handlers.forEach((e=>{e.prepareRequest(r.options)})),r}_mergeHeaders(e){const p=e=>Object.keys(e).reduce(((p,a)=>(p[a.toLowerCase()]=e[a],p)),{});return this.requestOptions&&this.requestOptions.headers?Object.assign({},p(this.requestOptions.headers),p(e)):p(e||{})}_getExistingOrDefaultHeader(e,p,a){let d;var t;return this.requestOptions&&this.requestOptions.headers&&(d=(t=this.requestOptions.headers,Object.keys(t).reduce(((e,p)=>(e[p.toLowerCase()]=t[p],e)),{}))[p]),e[p]||d||a}_getAgent(e){let d,t=r.getProxyUrl(e),s=t&&t.hostname;if(this._keepAlive&&s&&(d=this._proxyAgent),this._keepAlive&&!s&&(d=this._agent),d)return d;const o="https:"===e.protocol;let m=100;if(this.requestOptions&&(m=this.requestOptions.maxSockets||p.globalAgent.maxSockets),s){i||(i=ue.exports);const e={maxSockets:m,keepAlive:this._keepAlive,proxy:{...(t.username||t.password)&&{proxyAuth:`${t.username}:${t.password}`},host:t.hostname,port:t.port}};let p;const a="https:"===t.protocol;p=o?a?i.httpsOverHttps:i.httpsOverHttp:a?i.httpOverHttps:i.httpOverHttp,d=p(e),this._proxyAgent=d}if(this._keepAlive&&!d){const e={keepAlive:this._keepAlive,maxSockets:m};d=o?new a.Agent(e):new p.Agent(e),this._agent=d}return d||(d=o?a.globalAgent:p.globalAgent),o&&this._ignoreSslError&&(d.options=Object.assign(d.options||{},{rejectUnauthorized:!1})),d}_performExponentialBackoff(e){e=Math.min(10,e);const p=5*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),p)))}static dateTimeDeserializer(e,p){if("string"==typeof p){let e=new Date(p);if(!isNaN(e.valueOf()))return e}return p}async _processResponse(e,p){return new Promise((async(a,d)=>{const t=e.message.statusCode,r={statusCode:t,result:null,headers:{}};let i,o;t==s.NotFound&&a(r);try{o=await e.readBody(),o&&o.length>0&&(i=p&&p.deserializeDates?JSON.parse(o,h.dateTimeDeserializer):JSON.parse(o),r.result=i),r.headers=e.message.headers}catch(e){}if(t>299){let e;e=i&&i.message?i.message:o&&o.length>0?o:"Failed request: ("+t+")";let p=new c(e,t);p.result=r.result,d(p)}else a(r)}))}}e.HttpClient=h}(Le);var $e=u&&u.__createBinding||(Object.create?function(e,p,a,d){void 0===d&&(d=a),Object.defineProperty(e,d,{enumerable:!0,get:function(){return p[a]}})}:function(e,p,a,d){void 0===d&&(d=a),e[d]=p[a]}),Me=u&&u.__setModuleDefault||(Object.create?function(e,p){Object.defineProperty(e,"default",{enumerable:!0,value:p})}:function(e,p){e.default=p}),ze=u&&u.__importStar||function(e){if(e&&e.__esModule)return e;var p={};if(null!=e)for(var a in e)Object.hasOwnProperty.call(e,a)&&$e(p,e,a);return Me(p,e),p};Object.defineProperty(qe,"__esModule",{value:!0}),qe.getApiBaseUrl=qe.getProxyAgent=qe.getAuthString=void 0;const We=ze(Le);function Je(){return"object"==typeof navigator&&"userAgent"in navigator?navigator.userAgent:"object"==typeof process&&"version"in process?`Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`:""}qe.getAuthString=function(e,p){if(!e&&!p.auth)throw new Error("Parameter token or opts.auth is required");if(e&&p.auth)throw new Error("Parameters token and opts.auth may not both be specified");return"string"==typeof p.auth?p.auth:`token ${e}`},qe.getProxyAgent=function(e){return(new We.HttpClient).getAgent(e)},qe.getApiBaseUrl=function(){return process.env.GITHUB_API_URL||"https://api.github.com"};var Ke={exports:{}},Ye=function e(p,a,d,t){if("function"!=typeof d)throw new Error("method for before hook must be a function");t||(t={});if(Array.isArray(a))return a.reverse().reduce((function(a,d){return e.bind(null,p,d,a,t)}),d)();return Promise.resolve().then((function(){return p.registry[a]?p.registry[a].reduce((function(e,p){return p.hook.bind(null,e,t)}),d)():d(t)}))};var Ze=function(e,p,a,d){var t=d;e.registry[a]||(e.registry[a]=[]);"before"===p&&(d=function(e,p){return Promise.resolve().then(t.bind(null,p)).then(e.bind(null,p))});"after"===p&&(d=function(e,p){var a;return Promise.resolve().then(e.bind(null,p)).then((function(e){return t(a=e,p)})).then((function(){return a}))});"error"===p&&(d=function(e,p){return Promise.resolve().then(e.bind(null,p)).catch((function(e){return t(e,p)}))});e.registry[a].push({hook:d,orig:t})};var Xe=Ye,Qe=Ze,ep=function(e,p,a){if(!e.registry[p])return;var d=e.registry[p].map((function(e){return e.orig})).indexOf(a);if(-1===d)return;e.registry[p].splice(d,1)},pp=Function.bind,ap=pp.bind(pp);function dp(e,p,a){var d=ap(ep,null).apply(null,a?[p,a]:[p]);e.api={remove:d},e.remove=d,["before","error","after","wrap"].forEach((function(d){var t=a?[p,d,a]:[p,d];e[d]=e.api[d]=ap(Qe,null).apply(null,t)}))}function tp(){var e={registry:{}},p=Xe.bind(null,e);return dp(p,e),p}var rp=!1;function ip(){return rp||(console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4'),rp=!0),tp()}ip.Singular=function(){var e={registry:{}},p=Xe.bind(null,e,"h");return dp(p,e,"h"),p}.bind(),ip.Collection=tp.bind(),Ke.exports=ip,Ke.exports.Hook=ip,Ke.exports.Singular=ip.Singular;var sp=Ke.exports.Collection=ip.Collection; /*! * is-plain-object * * Copyright (c) 2014-2017, Jon Schlinkert. * Released under the MIT License. - */function op(e){return"[object Object]"===Object.prototype.toString.call(e)}function mp(e){var p,a;return!1!==op(e)&&(void 0===(p=e.constructor)||!1!==op(a=p.prototype)&&!1!==a.hasOwnProperty("isPrototypeOf"))}function lp(e,p){const a=Object.assign({},e);return Object.keys(p).forEach((d=>{mp(p[d])?d in e?a[d]=lp(e[d],p[d]):Object.assign(a,{[d]:p[d]}):Object.assign(a,{[d]:p[d]})})),a}function np(e){for(const p in e)void 0===e[p]&&delete e[p];return e}function up(e,p,a){if("string"==typeof p){let[e,d]=p.split(" ");a=Object.assign(d?{method:e,url:d}:{url:e},a)}else a=Object.assign({},p);var d;a.headers=(d=a.headers)?Object.keys(d).reduce(((e,p)=>(e[p.toLowerCase()]=d[p],e)),{}):{},np(a),np(a.headers);const t=lp(e||{},a);return e&&e.mediaType.previews.length&&(t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)),t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,""))),t}const cp=/\{[^}]+\}/g;function vp(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function hp(e,p){return Object.keys(e).filter((e=>!p.includes(e))).reduce(((p,a)=>(p[a]=e[a],p)),{})}function wp(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){return/%[0-9A-Fa-f]/.test(e)||(e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")),e})).join("")}function gp(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function fp(e,p,a){return p="+"===e||"#"===e?wp(p):gp(p),a?gp(a)+"="+p:p}function Tp(e){return null!=e}function _p(e){return";"===e||"&"===e||"?"===e}function bp(e,p){var a=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,d,t){if(d){let e="";const t=[];if(-1!==a.indexOf(d.charAt(0))&&(e=d.charAt(0),d=d.substr(1)),d.split(/,/g).forEach((function(a){var d=/([^:\*]*)(?::(\d+)|(\*))?/.exec(a);t.push(function(e,p,a,d){var t=e[a],r=[];if(Tp(t)&&""!==t)if("string"==typeof t||"number"==typeof t||"boolean"==typeof t)t=t.toString(),d&&"*"!==d&&(t=t.substring(0,parseInt(d,10))),r.push(fp(p,t,_p(p)?a:""));else if("*"===d)Array.isArray(t)?t.filter(Tp).forEach((function(e){r.push(fp(p,e,_p(p)?a:""))})):Object.keys(t).forEach((function(e){Tp(t[e])&&r.push(fp(p,t[e],e))}));else{const e=[];Array.isArray(t)?t.filter(Tp).forEach((function(a){e.push(fp(p,a))})):Object.keys(t).forEach((function(a){Tp(t[a])&&(e.push(gp(a)),e.push(fp(p,t[a].toString())))})),_p(p)?r.push(gp(a)+"="+e.join(",")):0!==e.length&&r.push(e.join(","))}else";"===p?Tp(t)&&r.push(gp(a)):""!==t||"&"!==p&&"?"!==p?""===t&&r.push(""):r.push(gp(a)+"=");return r}(p,e,d[1],d[2]||d[3]))})),e&&"+"!==e){var r=",";return"?"===e?r="&":"#"!==e&&(r=e),(0!==t.length?e:"")+t.join(r)}return t.join(",")}return wp(t)}))}function Ep(e){let p,a=e.method.toUpperCase(),d=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}"),t=Object.assign({},e.headers),r=hp(e,["method","baseUrl","url","headers","request","mediaType"]);const i=function(e){const p=e.match(cp);return p?p.map(vp).reduce(((e,p)=>e.concat(p)),[]):[]}(d);var s;d=(s=d,{expand:bp.bind(null,s)}).expand(r),/^http/.test(d)||(d=e.baseUrl+d);const o=hp(r,Object.keys(e).filter((e=>i.includes(e))).concat("baseUrl"));if(!/application\/octet-stream/i.test(t.accept)&&(e.mediaType.format&&(t.accept=t.accept.split(/,/).map((p=>p.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")),e.mediaType.previews.length)){const p=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=p.concat(e.mediaType.previews).map((p=>`application/vnd.github.${p}-preview${e.mediaType.format?`.${e.mediaType.format}`:"+json"}`)).join(",")}return["GET","HEAD"].includes(a)?d=function(e,p){const a=/\?/.test(e)?"&":"?",d=Object.keys(p);return 0===d.length?e:e+a+d.map((e=>"q"===e?"q="+p.q.split("+").map(encodeURIComponent).join("+"):`${e}=${encodeURIComponent(p[e])}`)).join("&")}(d,o):"data"in o?p=o.data:Object.keys(o).length?p=o:t["content-length"]=0,t["content-type"]||void 0===p||(t["content-type"]="application/json; charset=utf-8"),["PATCH","PUT"].includes(a)&&void 0===p&&(p=""),Object.assign({method:a,url:d,headers:t},void 0!==p?{body:p}:null,e.request?{request:e.request}:null)}function yp(e,p,a){return Ep(up(e,p,a))}const Sp=function e(p,a){const d=up(p,a),t=yp.bind(null,d);return Object.assign(t,{DEFAULTS:d,defaults:e.bind(null,d),merge:up.bind(null,d),parse:Ep})}(null,{method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":`octokit-endpoint.js/6.0.10 ${Je()}`},mediaType:{format:"",previews:[]}});var Dp={},Np={exports:{}},Ap={},Op=Ap;function kp(e){return e<0?-1:1}function Gp(e,p){p.unsigned||--e;const a=p.unsigned?0:-Math.pow(2,e),d=Math.pow(2,e)-1,t=p.moduloBitLength?Math.pow(2,p.moduloBitLength):Math.pow(2,e),r=p.moduloBitLength?Math.pow(2,p.moduloBitLength-1):Math.pow(2,e-1);return function(e,i){i||(i={});let s=+e;if(i.enforceRange){if(!Number.isFinite(s))throw new TypeError("Argument is not a finite number");if(s=kp(s)*Math.floor(Math.abs(s)),sd)throw new TypeError("Argument is not in byte range");return s}if(!isNaN(s)&&i.clamp)return s=function(e){return e%1==.5&&0==(1&e)?Math.floor(e):Math.round(e)}(s),sd&&(s=d),s;if(!Number.isFinite(s)||0===s)return 0;if(s=kp(s)*Math.floor(Math.abs(s)),s%=t,!p.unsigned&&s>=r)return s-t;if(p.unsigned)if(s<0)s+=t;else if(-0===s)return 0;return s}}Ap.void=function(){},Ap.boolean=function(e){return!!e},Ap.byte=Gp(8,{unsigned:!1}),Ap.octet=Gp(8,{unsigned:!0}),Ap.short=Gp(16,{unsigned:!1}),Ap["unsigned short"]=Gp(16,{unsigned:!0}),Ap.long=Gp(32,{unsigned:!1}),Ap["unsigned long"]=Gp(32,{unsigned:!0}),Ap["long long"]=Gp(32,{unsigned:!1,moduloBitLength:64}),Ap["unsigned long long"]=Gp(32,{unsigned:!0,moduloBitLength:64}),Ap.double=function(e){const p=+e;if(!Number.isFinite(p))throw new TypeError("Argument is not a finite floating-point value");return p},Ap["unrestricted double"]=function(e){const p=+e;if(isNaN(p))throw new TypeError("Argument is NaN");return p},Ap.float=Ap.double,Ap["unrestricted float"]=Ap["unrestricted double"],Ap.DOMString=function(e,p){return p||(p={}),p.treatNullAsEmptyString&&null===e?"":String(e)},Ap.ByteString=function(e,p){const a=String(e);let d;for(let e=0;void 0!==(d=a.codePointAt(e));++e)if(d>255)throw new TypeError("Argument is not a valid bytestring");return a},Ap.USVString=function(e){const p=String(e),a=p.length,d=[];for(let e=0;e57343)d.push(String.fromCodePoint(t));else if(56320<=t&&t<=57343)d.push(String.fromCodePoint(65533));else if(e===a-1)d.push(String.fromCodePoint(65533));else{const a=p.charCodeAt(e+1);if(56320<=a&&a<=57343){const p=1023&t,r=1023&a;d.push(String.fromCodePoint(65536+1024*p+r)),++e}else d.push(String.fromCodePoint(65533))}}return d.join("")},Ap.Date=function(e,p){if(!(e instanceof Date))throw new TypeError("Argument is not a Date object");if(!isNaN(e))return e},Ap.RegExp=function(e,p){return e instanceof RegExp||(e=new RegExp(e)),e};var Pp,Vp={exports:{}};(Pp=Vp).exports.mixin=function(e,p){const a=Object.getOwnPropertyNames(p);for(let d=0;d=e)return t;t[0][0]>e?a=d-1:p=d+1}return null}var Lp=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;function Ip(e){return e.replace(Lp,"_").length}var Hp=/[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E4-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u18A9\u1920-\u192B\u1930-\u193B\u19B0-\u19C0\u19C8\u19C9\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C4\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2D]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC7F-\uDC82\uDCB0-\uDCBA\uDD00-\uDD02\uDD27-\uDD34\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDE2C-\uDE37\uDEDF-\uDEEA\uDF01-\uDF03\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDE30-\uDE40\uDEAB-\uDEB7]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF51-\uDF7E\uDF8F-\uDF92]|\uD82F[\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD83A[\uDCD0-\uDCD6]|\uDB40[\uDD00-\uDDEF]/;function $p(e,p){"xn--"===e.substr(0,4)&&(e=Fp.toUnicode(e));var a=!1;(Bp(e)!==e||"-"===e[3]&&"-"===e[4]||"-"===e[0]||"-"===e[e.length-1]||-1!==e.indexOf(".")||0===e.search(Hp))&&(a=!0);for(var d=Ip(e),t=0;t253||0===i.length)&&(t.error=!0);for(var s=0;s63||0===r.length){t.error=!0;break}}return t.error?null:r.join(".")},Up.toUnicode=function(e,p){var a=Mp(e,p,xp.NONTRANSITIONAL);return{domain:a.string,error:a.error}},Up.PROCESSING_OPTIONS=xp,function(e){const p=l,a=Up,d={ftp:21,file:null,gopher:70,http:80,https:443,ws:80,wss:443},t=Symbol("failure");function r(e){return p.ucs2.decode(e).length}function i(e,p){const a=e[p];return isNaN(a)?void 0:String.fromCodePoint(a)}function s(e){return e>=48&&e<=57}function o(e){return e>=65&&e<=90||e>=97&&e<=122}function m(e){return s(e)||e>=65&&e<=70||e>=97&&e<=102}function n(e){return"."===e||"%2e"===e.toLowerCase()}function u(e){return 2===e.length&&o(e.codePointAt(0))&&(":"===e[1]||"|"===e[1])}function c(e){return void 0!==d[e]}function v(e){return c(e.scheme)}function h(e){let p=e.toString(16).toUpperCase();return 1===p.length&&(p="0"+p),"%"+p}function w(e){return e<=31||e>126}const g=new Set([32,34,35,60,62,63,96,123,125]);function f(e){return w(e)||g.has(e)}const T=new Set([47,58,59,61,64,91,92,93,94,124]);function _(e){return f(e)||T.has(e)}function b(e,p){const a=String.fromCodePoint(e);return p(e)?function(e){const p=new Buffer(e);let a="";for(let e=0;e=2&&"0"===e.charAt(0)&&"x"===e.charAt(1).toLowerCase()?(e=e.substring(2),p=16):e.length>=2&&"0"===e.charAt(0)&&(e=e.substring(1),p=8),""===e)return 0;return(10===p?/[^0-9]/:16===p?/[^0-9A-Fa-f]/:/[^0-7]/).test(e)?t:parseInt(e,p)}function y(e,d){if("["===e[0])return"]"!==e[e.length-1]?t:function(e){const a=[0,0,0,0,0,0,0,0];let d=0,r=null,o=0;if(58===(e=p.ucs2.decode(e))[o]){if(58!==e[o+1])return t;o+=2,++d,r=d}for(;o6)return t;let p=0;for(;void 0!==e[o];){let r=null;if(p>0){if(!(46===e[o]&&p<4))return t;++o}if(!s(e[o]))return t;for(;s(e[o]);){const p=parseInt(i(e,o));if(null===r)r=p;else{if(0===r)return t;r=10*r+p}if(r>255)return t;++o}a[d]=256*a[d]+r,++p,2!==p&&4!==p||++d}if(4!==p)return t;break}if(58===e[o]){if(++o,void 0===e[o])return t}else if(void 0!==e[o])return t;a[d]=p,++d}if(null!==r){let e=d-r;for(d=7;0!==d&&e>0;){const p=a[r+e-1];a[r+e-1]=a[d],a[d]=p,--d,--e}}else if(null===r&&8!==d)return t;return a}(e.substring(1,e.length-1));if(!d)return function(e){if(a=e,-1!==a.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|\?|@|\[|\\|\]/))return t;var a;let d="";const r=p.ucs2.decode(e);for(let e=0;e1&&p.pop(),p.length>4)return e;const a=[];for(const d of p){if(""===d)return e;const p=E(d);if(p===t)return e;a.push(p)}for(let e=0;e255)return t;if(a[a.length-1]>=Math.pow(256,5-a.length))return t;let d=a.pop(),r=0;for(const e of a)d+=e*Math.pow(256,3-r),++r;return d}(o);return"number"==typeof l||l===t?l:o}function S(e){return"number"==typeof e?function(e){let p="",a=e;for(let e=1;e<=4;++e)p=String(a%256)+p,4!==e&&(p="."+p),a=Math.floor(a/256);return p}(e):e instanceof Array?"["+function(e){let p="";const a=function(e){let p=null,a=1,d=null,t=0;for(let r=0;ra&&(p=d,a=t),d=null,t=0):(null===d&&(d=r),++t);return t>a&&(p=d,a=t),{idx:p,len:a}}(e),d=a.idx;let t=!1;for(let a=0;a<=7;++a)t&&0===e[a]||(t&&(t=!1),d!==a?(p+=e[a].toString(16),7!==a&&(p+=":")):(p+=0===a?"::":":",t=!0));return p}(e)+"]":e}function D(e){const p=e.path;var a;0!==p.length&&("file"===e.scheme&&1===p.length&&(a=p[0],/^[A-Za-z]:$/.test(a))||p.pop())}function N(e){return""!==e.username||""!==e.password}function A(e,a,d,r,i){if(this.pointer=0,this.input=e,this.base=a||null,this.encodingOverride=d||"utf-8",this.stateOverride=i,this.url=r,this.failure=!1,this.parseError=!1,!this.url){this.url={scheme:"",username:"",password:"",host:null,port:null,path:[],query:null,fragment:null,cannotBeABaseURL:!1};const e=function(e){return e.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g,"")}(this.input);e!==this.input&&(this.parseError=!0),this.input=e}const s=function(e){return e.replace(/\u0009|\u000A|\u000D/g,"")}(this.input);for(s!==this.input&&(this.parseError=!0),this.input=s,this.state=i||"scheme start",this.buffer="",this.atFlag=!1,this.arrFlag=!1,this.passwordTokenSeenFlag=!1,this.input=p.ucs2.decode(this.input);this.pointer<=this.input.length;++this.pointer){const e=this.input[this.pointer],p=isNaN(e)?void 0:String.fromCodePoint(e),a=this["parse "+this.state](e,p);if(!a)break;if(a===t){this.failure=!0;break}}}A.prototype["parse scheme start"]=function(e,p){if(o(e))this.buffer+=p.toLowerCase(),this.state="scheme";else{if(this.stateOverride)return this.parseError=!0,t;this.state="no scheme",--this.pointer}return!0},A.prototype["parse scheme"]=function(e,p){if(function(e){return o(e)||s(e)}(e)||43===e||45===e||46===e)this.buffer+=p.toLowerCase();else if(58===e){if(this.stateOverride){if(v(this.url)&&!c(this.buffer))return!1;if(!v(this.url)&&c(this.buffer))return!1;if((N(this.url)||null!==this.url.port)&&"file"===this.buffer)return!1;if("file"===this.url.scheme&&(""===this.url.host||null===this.url.host))return!1}if(this.url.scheme=this.buffer,this.buffer="",this.stateOverride)return!1;"file"===this.url.scheme?(47===this.input[this.pointer+1]&&47===this.input[this.pointer+2]||(this.parseError=!0),this.state="file"):v(this.url)&&null!==this.base&&this.base.scheme===this.url.scheme?this.state="special relative or authority":v(this.url)?this.state="special authority slashes":47===this.input[this.pointer+1]?(this.state="path or authority",++this.pointer):(this.url.cannotBeABaseURL=!0,this.url.path.push(""),this.state="cannot-be-a-base-URL path")}else{if(this.stateOverride)return this.parseError=!0,t;this.buffer="",this.state="no scheme",this.pointer=-1}return!0},A.prototype["parse no scheme"]=function(e){return null===this.base||this.base.cannotBeABaseURL&&35!==e?t:(this.base.cannotBeABaseURL&&35===e?(this.url.scheme=this.base.scheme,this.url.path=this.base.path.slice(),this.url.query=this.base.query,this.url.fragment="",this.url.cannotBeABaseURL=!0,this.state="fragment"):"file"===this.base.scheme?(this.state="file",--this.pointer):(this.state="relative",--this.pointer),!0)},A.prototype["parse special relative or authority"]=function(e){return 47===e&&47===this.input[this.pointer+1]?(this.state="special authority ignore slashes",++this.pointer):(this.parseError=!0,this.state="relative",--this.pointer),!0},A.prototype["parse path or authority"]=function(e){return 47===e?this.state="authority":(this.state="path",--this.pointer),!0},A.prototype["parse relative"]=function(e){return this.url.scheme=this.base.scheme,isNaN(e)?(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(),this.url.query=this.base.query):47===e?this.state="relative slash":63===e?(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(),this.url.query="",this.state="query"):35===e?(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(),this.url.query=this.base.query,this.url.fragment="",this.state="fragment"):v(this.url)&&92===e?(this.parseError=!0,this.state="relative slash"):(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(0,this.base.path.length-1),this.state="path",--this.pointer),!0},A.prototype["parse relative slash"]=function(e){return!v(this.url)||47!==e&&92!==e?47===e?this.state="authority":(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.state="path",--this.pointer):(92===e&&(this.parseError=!0),this.state="special authority ignore slashes"),!0},A.prototype["parse special authority slashes"]=function(e){return 47===e&&47===this.input[this.pointer+1]?(this.state="special authority ignore slashes",++this.pointer):(this.parseError=!0,this.state="special authority ignore slashes",--this.pointer),!0},A.prototype["parse special authority ignore slashes"]=function(e){return 47!==e&&92!==e?(this.state="authority",--this.pointer):this.parseError=!0,!0},A.prototype["parse authority"]=function(e,p){if(64===e){this.parseError=!0,this.atFlag&&(this.buffer="%40"+this.buffer),this.atFlag=!0;const e=r(this.buffer);for(let p=0;pMath.pow(2,16)-1)return this.parseError=!0,t;this.url.port=e===(a=this.url.scheme,d[a])?null:e,this.buffer=""}if(this.stateOverride)return!1;this.state="path start",--this.pointer}var a;return!0};const O=new Set([47,92,63,35]);A.prototype["parse file"]=function(e){var p,a;return this.url.scheme="file",47===e||92===e?(92===e&&(this.parseError=!0),this.state="file slash"):null!==this.base&&"file"===this.base.scheme?isNaN(e)?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),this.url.query=this.base.query):63===e?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),this.url.query="",this.state="query"):35===e?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),this.url.query=this.base.query,this.url.fragment="",this.state="fragment"):(this.input.length-this.pointer-1==0||(p=e,a=this.input[this.pointer+1],!o(p)||58!==a&&124!==a)||this.input.length-this.pointer-1>=2&&!O.has(this.input[this.pointer+2])?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),D(this.url)):this.parseError=!0,this.state="path",--this.pointer):(this.state="path",--this.pointer),!0},A.prototype["parse file slash"]=function(e){var p;return 47===e||92===e?(92===e&&(this.parseError=!0),this.state="file host"):(null!==this.base&&"file"===this.base.scheme&&(2===(p=this.base.path[0]).length&&o(p.codePointAt(0))&&":"===p[1]?this.url.path.push(this.base.path[0]):this.url.host=this.base.host),this.state="path",--this.pointer),!0},A.prototype["parse file host"]=function(e,p){if(isNaN(e)||47===e||92===e||63===e||35===e)if(--this.pointer,!this.stateOverride&&u(this.buffer))this.parseError=!0,this.state="path";else if(""===this.buffer){if(this.url.host="",this.stateOverride)return!1;this.state="path start"}else{let e=y(this.buffer,v(this.url));if(e===t)return t;if("localhost"===e&&(e=""),this.url.host=e,this.stateOverride)return!1;this.buffer="",this.state="path start"}else this.buffer+=p;return!0},A.prototype["parse path start"]=function(e){return v(this.url)?(92===e&&(this.parseError=!0),this.state="path",47!==e&&92!==e&&--this.pointer):this.stateOverride||63!==e?this.stateOverride||35!==e?void 0!==e&&(this.state="path",47!==e&&--this.pointer):(this.url.fragment="",this.state="fragment"):(this.url.query="",this.state="query"),!0},A.prototype["parse path"]=function(e){if(isNaN(e)||47===e||v(this.url)&&92===e||!this.stateOverride&&(63===e||35===e)){if(v(this.url)&&92===e&&(this.parseError=!0),".."===(p=(p=this.buffer).toLowerCase())||"%2e."===p||".%2e"===p||"%2e%2e"===p?(D(this.url),47===e||v(this.url)&&92===e||this.url.path.push("")):!n(this.buffer)||47===e||v(this.url)&&92===e?n(this.buffer)||("file"===this.url.scheme&&0===this.url.path.length&&u(this.buffer)&&(""!==this.url.host&&null!==this.url.host&&(this.parseError=!0,this.url.host=""),this.buffer=this.buffer[0]+":"),this.url.path.push(this.buffer)):this.url.path.push(""),this.buffer="","file"===this.url.scheme&&(void 0===e||63===e||35===e))for(;this.url.path.length>1&&""===this.url.path[0];)this.parseError=!0,this.url.path.shift();63===e&&(this.url.query="",this.state="query"),35===e&&(this.url.fragment="",this.state="fragment")}else 37!==e||m(this.input[this.pointer+1])&&m(this.input[this.pointer+2])||(this.parseError=!0),this.buffer+=b(e,f);var p;return!0},A.prototype["parse cannot-be-a-base-URL path"]=function(e){return 63===e?(this.url.query="",this.state="query"):35===e?(this.url.fragment="",this.state="fragment"):(isNaN(e)||37===e||(this.parseError=!0),37!==e||m(this.input[this.pointer+1])&&m(this.input[this.pointer+2])||(this.parseError=!0),isNaN(e)||(this.url.path[0]=this.url.path[0]+b(e,w))),!0},A.prototype["parse query"]=function(e,p){if(isNaN(e)||!this.stateOverride&&35===e){v(this.url)&&"ws"!==this.url.scheme&&"wss"!==this.url.scheme||(this.encodingOverride="utf-8");const p=new Buffer(this.buffer);for(let e=0;e126||34===p[e]||35===p[e]||60===p[e]||62===p[e]?this.url.query+=h(p[e]):this.url.query+=String.fromCodePoint(p[e]);this.buffer="",35===e&&(this.url.fragment="",this.state="fragment")}else 37!==e||m(this.input[this.pointer+1])&&m(this.input[this.pointer+2])||(this.parseError=!0),this.buffer+=p;return!0},A.prototype["parse fragment"]=function(e){return isNaN(e)||(0===e?this.parseError=!0:(37!==e||m(this.input[this.pointer+1])&&m(this.input[this.pointer+2])||(this.parseError=!0),this.url.fragment+=b(e,w))),!0},e.exports.serializeURL=function(e,p){let a=e.scheme+":";if(null!==e.host?(a+="//",""===e.username&&""===e.password||(a+=e.username,""!==e.password&&(a+=":"+e.password),a+="@"),a+=S(e.host),null!==e.port&&(a+=":"+e.port)):null===e.host&&"file"===e.scheme&&(a+="//"),e.cannotBeABaseURL)a+=e.path[0];else for(const p of e.path)a+="/"+p;return null!==e.query&&(a+="?"+e.query),p||null===e.fragment||(a+="#"+e.fragment),a},e.exports.serializeURLOrigin=function(p){switch(p.scheme){case"blob":try{return e.exports.serializeURLOrigin(e.exports.parseURL(p.path[0]))}catch(e){return"null"}case"ftp":case"gopher":case"http":case"https":case"ws":case"wss":return function(e){let p=e.scheme+"://";return p+=S(e.host),null!==e.port&&(p+=":"+e.port),p}({scheme:p.scheme,host:p.host,port:p.port});case"file":return"file://";default:return"null"}},e.exports.basicURLParse=function(e,p){void 0===p&&(p={});const a=new A(e,p.baseURL,p.encodingOverride,p.url,p.stateOverride);return a.failure?"failure":a.url},e.exports.setTheUsername=function(e,a){e.username="";const d=p.ucs2.decode(a);for(let p=0;p!!e&&e[t]instanceof d.implementation,create(e,p){let a=Object.create(r.prototype);return this.setup(a,e,p),a},setup(e,p,r){r||(r={}),r.wrapper=e,e[t]=new d.implementation(p,r),e[t][a.wrapperSymbol]=e},interface:r,expose:{Window:{URL:r},Worker:{URL:r}}}}(Np),Dp.URL=Np.exports.interface,Dp.serializeURL=Rp.exports.serializeURL,Dp.serializeURLOrigin=Rp.exports.serializeURLOrigin,Dp.basicURLParse=Rp.exports.basicURLParse,Dp.setTheUsername=Rp.exports.setTheUsername,Dp.setThePassword=Rp.exports.setThePassword,Dp.serializeHost=Rp.exports.serializeHost,Dp.serializeInteger=Rp.exports.serializeInteger,Dp.parseURL=Rp.exports.parseURL;const Wp=o.Readable,Jp=Symbol("buffer"),Kp=Symbol("type");class Yp{constructor(){this[Kp]="";const e=arguments[0],p=arguments[1],a=[];let d=0;if(e){const p=e,t=Number(p.length);for(let e=0;e1&&void 0!==arguments[1]?arguments[1]:{},d=a.size;let t=void 0===d?0:d;var r=a.timeout;let i=void 0===r?0:r;null==e?e=null:da(e)?e=Buffer.from(e.toString()):ta(e)||Buffer.isBuffer(e)||("[object ArrayBuffer]"===Object.prototype.toString.call(e)?e=Buffer.from(e):ArrayBuffer.isView(e)?e=Buffer.from(e.buffer,e.byteOffset,e.byteLength):e instanceof o||(e=Buffer.from(String(e)))),this[Qp]={body:e,disturbed:!1,error:null},this.size=t,this.timeout=i,e instanceof o&&e.on("error",(function(e){const a="AbortError"===e.name?e:new Zp(`Invalid response body while trying to fetch ${p.url}: ${e.message}`,"system",e);p[Qp].error=a}))}function aa(){var e=this;if(this[Qp].disturbed)return pa.Promise.reject(new TypeError(`body used already for: ${this.url}`));if(this[Qp].disturbed=!0,this[Qp].error)return pa.Promise.reject(this[Qp].error);let p=this.body;if(null===p)return pa.Promise.resolve(Buffer.alloc(0));if(ta(p)&&(p=p.stream()),Buffer.isBuffer(p))return pa.Promise.resolve(p);if(!(p instanceof o))return pa.Promise.resolve(Buffer.alloc(0));let a=[],d=0,t=!1;return new pa.Promise((function(r,i){let s;e.timeout&&(s=setTimeout((function(){t=!0,i(new Zp(`Response timeout while trying to fetch ${e.url} (over ${e.timeout}ms)`,"body-timeout"))}),e.timeout)),p.on("error",(function(p){"AbortError"===p.name?(t=!0,i(p)):i(new Zp(`Invalid response body while trying to fetch ${e.url}: ${p.message}`,"system",p))})),p.on("data",(function(p){if(!t&&null!==p){if(e.size&&d+p.length>e.size)return t=!0,void i(new Zp(`content size at ${e.url} over limit: ${e.size}`,"max-size"));d+=p.length,a.push(p)}})),p.on("end",(function(){if(!t){clearTimeout(s);try{r(Buffer.concat(a,d))}catch(p){i(new Zp(`Could not create Buffer from response body for ${e.url}: ${p.message}`,"system",p))}}}))}))}function da(e){return"object"==typeof e&&"function"==typeof e.append&&"function"==typeof e.delete&&"function"==typeof e.get&&"function"==typeof e.getAll&&"function"==typeof e.has&&"function"==typeof e.set&&("URLSearchParams"===e.constructor.name||"[object URLSearchParams]"===Object.prototype.toString.call(e)||"function"==typeof e.sort)}function ta(e){return"object"==typeof e&&"function"==typeof e.arrayBuffer&&"string"==typeof e.type&&"function"==typeof e.stream&&"function"==typeof e.constructor&&"string"==typeof e.constructor.name&&/^(Blob|File)$/.test(e.constructor.name)&&/^(Blob|File)$/.test(e[Symbol.toStringTag])}function ra(e){let p,a,d=e.body;if(e.bodyUsed)throw new Error("cannot clone body after it is used");return d instanceof o&&"function"!=typeof d.getBoundary&&(p=new ea,a=new ea,d.pipe(p),d.pipe(a),e[Qp].body=p,d=a),d}function ia(e){return null===e?null:"string"==typeof e?"text/plain;charset=UTF-8":da(e)?"application/x-www-form-urlencoded;charset=UTF-8":ta(e)?e.type||null:Buffer.isBuffer(e)||"[object ArrayBuffer]"===Object.prototype.toString.call(e)||ArrayBuffer.isView(e)?null:"function"==typeof e.getBoundary?`multipart/form-data;boundary=${e.getBoundary()}`:e instanceof o?null:"text/plain;charset=UTF-8"}function sa(e){const p=e.body;return null===p?0:ta(p)?p.size:Buffer.isBuffer(p)?p.length:p&&"function"==typeof p.getLengthSync&&(p._lengthRetrievers&&0==p._lengthRetrievers.length||p.hasKnownLength&&p.hasKnownLength())?p.getLengthSync():null}pa.prototype={get body(){return this[Qp].body},get bodyUsed(){return this[Qp].disturbed},arrayBuffer(){return aa.call(this).then((function(e){return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}))},blob(){let e=this.headers&&this.headers.get("content-type")||"";return aa.call(this).then((function(p){return Object.assign(new Yp([],{type:e.toLowerCase()}),{[Jp]:p})}))},json(){var e=this;return aa.call(this).then((function(p){try{return JSON.parse(p.toString())}catch(p){return pa.Promise.reject(new Zp(`invalid json response body at ${e.url} reason: ${p.message}`,"invalid-json"))}}))},text(){return aa.call(this).then((function(e){return e.toString()}))},buffer(){return aa.call(this)},textConverted(){var e=this;return aa.call(this).then((function(p){return function(e,p){if("function"!=typeof Xp)throw new Error("The package `encoding` must be installed to use the textConverted() function");const a=p.get("content-type");let d,t,r="utf-8";a&&(d=/charset=([^;]*)/i.exec(a));t=e.slice(0,1024).toString(),!d&&t&&(d=/0&&void 0!==arguments[0]?arguments[0]:void 0;if(this[ca]=Object.create(null),e instanceof va){const p=e.raw(),a=Object.keys(p);for(const e of a)for(const a of p[e])this.append(e,a)}else if(null==e);else{if("object"!=typeof e)throw new TypeError("Provided initializer must be an object");{const p=e[Symbol.iterator];if(null!=p){if("function"!=typeof p)throw new TypeError("Header pairs must be iterable");const a=[];for(const p of e){if("object"!=typeof p||"function"!=typeof p[Symbol.iterator])throw new TypeError("Each header pair must be iterable");a.push(Array.from(p))}for(const e of a){if(2!==e.length)throw new TypeError("Each header pair must be a name/value tuple");this.append(e[0],e[1])}}else for(const p of Object.keys(e)){const a=e[p];this.append(p,a)}}}}get(e){la(e=`${e}`);const p=ua(this[ca],e);return void 0===p?null:this[ca][p].join(", ")}forEach(e){let p=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,a=ha(this),d=0;for(;d1&&void 0!==arguments[1]?arguments[1]:"key+value";const a=Object.keys(e[ca]).sort();return a.map("key"===p?function(e){return e.toLowerCase()}:"value"===p?function(p){return e[ca][p].join(", ")}:function(p){return[p.toLowerCase(),e[ca][p].join(", ")]})}va.prototype.entries=va.prototype[Symbol.iterator],Object.defineProperty(va.prototype,Symbol.toStringTag,{value:"Headers",writable:!1,enumerable:!1,configurable:!0}),Object.defineProperties(va.prototype,{get:{enumerable:!0},forEach:{enumerable:!0},set:{enumerable:!0},append:{enumerable:!0},has:{enumerable:!0},delete:{enumerable:!0},keys:{enumerable:!0},values:{enumerable:!0},entries:{enumerable:!0}});const wa=Symbol("internal");function ga(e,p){const a=Object.create(fa);return a[wa]={target:e,kind:p,index:0},a}const fa=Object.setPrototypeOf({next(){if(!this||Object.getPrototypeOf(this)!==fa)throw new TypeError("Value of `this` is not a HeadersIterator");var e=this[wa];const p=e.target,a=e.kind,d=e.index,t=ha(p,a);return d>=t.length?{value:void 0,done:!0}:(this[wa].index=d+1,{value:t[d],done:!1})}},Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));function Ta(e){const p=Object.assign({__proto__:null},e[ca]),a=ua(e[ca],"Host");return void 0!==a&&(p[a]=p[a][0]),p}Object.defineProperty(fa,Symbol.toStringTag,{value:"HeadersIterator",writable:!1,enumerable:!1,configurable:!0});const _a=Symbol("Response internals"),ba=d.STATUS_CODES;class Ea{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,p=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};pa.call(this,e,p);const a=p.status||200,d=new va(p.headers);if(null!=e&&!d.has("Content-Type")){const p=ia(e);p&&d.append("Content-Type",p)}this[_a]={url:p.url,status:a,statusText:p.statusText||ba[a],headers:d,counter:p.counter}}get url(){return this[_a].url||""}get status(){return this[_a].status}get ok(){return this[_a].status>=200&&this[_a].status<300}get redirected(){return this[_a].counter>0}get statusText(){return this[_a].statusText}get headers(){return this[_a].headers}clone(){return new Ea(ra(this),{url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected})}}pa.mixIn(Ea.prototype),Object.defineProperties(Ea.prototype,{url:{enumerable:!0},status:{enumerable:!0},ok:{enumerable:!0},redirected:{enumerable:!0},statusText:{enumerable:!0},headers:{enumerable:!0},clone:{enumerable:!0}}),Object.defineProperty(Ea.prototype,Symbol.toStringTag,{value:"Response",writable:!1,enumerable:!1,configurable:!0});const ya=Symbol("Request internals"),Sa=m.URL||Dp.URL,Da=m.parse,Na=m.format;function Aa(e){return/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(e)&&(e=new Sa(e).toString()),Da(e)}const Oa="destroy"in o.Readable.prototype;function ka(e){return"object"==typeof e&&"object"==typeof e[ya]}class Ga{constructor(e){let p,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};ka(e)?p=Aa(e.url):(p=e&&e.href?Aa(e.href):Aa(`${e}`),e={});let d=a.method||e.method||"GET";if(d=d.toUpperCase(),(null!=a.body||ka(e)&&null!==e.body)&&("GET"===d||"HEAD"===d))throw new TypeError("Request with GET/HEAD method cannot have body");let t=null!=a.body?a.body:ka(e)&&null!==e.body?ra(e):null;pa.call(this,t,{timeout:a.timeout||e.timeout||0,size:a.size||e.size||0});const r=new va(a.headers||e.headers||{});if(null!=t&&!r.has("Content-Type")){const e=ia(t);e&&r.append("Content-Type",e)}let i=ka(e)?e.signal:null;if("signal"in a&&(i=a.signal),null!=i&&!function(e){const p=e&&"object"==typeof e&&Object.getPrototypeOf(e);return!(!p||"AbortSignal"!==p.constructor.name)}(i))throw new TypeError("Expected signal to be an instanceof AbortSignal");this[ya]={method:d,redirect:a.redirect||e.redirect||"follow",headers:r,parsedURL:p,signal:i},this.follow=void 0!==a.follow?a.follow:void 0!==e.follow?e.follow:20,this.compress=void 0!==a.compress?a.compress:void 0===e.compress||e.compress,this.counter=a.counter||e.counter||0,this.agent=a.agent||e.agent}get method(){return this[ya].method}get url(){return Na(this[ya].parsedURL)}get headers(){return this[ya].headers}get redirect(){return this[ya].redirect}get signal(){return this[ya].signal}clone(){return new Ga(this)}}function Pa(e){Error.call(this,e),this.type="aborted",this.message=e,Error.captureStackTrace(this,this.constructor)}pa.mixIn(Ga.prototype),Object.defineProperty(Ga.prototype,Symbol.toStringTag,{value:"Request",writable:!1,enumerable:!1,configurable:!0}),Object.defineProperties(Ga.prototype,{method:{enumerable:!0},url:{enumerable:!0},headers:{enumerable:!0},redirect:{enumerable:!0},clone:{enumerable:!0},signal:{enumerable:!0}}),Pa.prototype=Object.create(Error.prototype),Pa.prototype.constructor=Pa,Pa.prototype.name="AbortError";const Va=m.URL||Dp.URL,Ca=o.PassThrough;function Ra(e,p){if(!Ra.Promise)throw new Error("native promise missing, set fetch.Promise to your favorite alternative");return pa.Promise=Ra.Promise,new Ra.Promise((function(a,r){const i=new Ga(e,p),s=function(e){const p=e[ya].parsedURL,a=new va(e[ya].headers);if(a.has("Accept")||a.set("Accept","*/*"),!p.protocol||!p.hostname)throw new TypeError("Only absolute URLs are supported");if(!/^https?:$/.test(p.protocol))throw new TypeError("Only HTTP(S) protocols are supported");if(e.signal&&e.body instanceof o.Readable&&!Oa)throw new Error("Cancellation of streamed requests with AbortSignal is not supported in node < 8");let d=null;if(null==e.body&&/^(POST|PUT)$/i.test(e.method)&&(d="0"),null!=e.body){const p=sa(e);"number"==typeof p&&(d=String(p))}d&&a.set("Content-Length",d),a.has("User-Agent")||a.set("User-Agent","node-fetch/1.0 (+https://github.com/bitinn/node-fetch)"),e.compress&&!a.has("Accept-Encoding")&&a.set("Accept-Encoding","gzip,deflate");let t=e.agent;return"function"==typeof t&&(t=t(p)),a.has("Connection")||t||a.set("Connection","close"),Object.assign({},p,{method:e.method,headers:Ta(a),agent:t})}(i),m=("https:"===s.protocol?t:d).request,l=i.signal;let u=null;const c=function(){let e=new Pa("The user aborted a request.");r(e),i.body&&i.body instanceof o.Readable&&i.body.destroy(e),u&&u.body&&u.body.emit("error",e)};if(l&&l.aborted)return void c();const v=function(){c(),g()},h=m(s);let w;function g(){h.abort(),l&&l.removeEventListener("abort",v),clearTimeout(w)}l&&l.addEventListener("abort",v),i.timeout&&h.once("socket",(function(e){w=setTimeout((function(){r(new Zp(`network timeout at: ${i.url}`,"request-timeout")),g()}),i.timeout)})),h.on("error",(function(e){r(new Zp(`request to ${i.url} failed, reason: ${e.message}`,"system",e)),g()})),h.on("response",(function(e){clearTimeout(w);const p=function(e){const p=new va;for(const a of Object.keys(e))if(!oa.test(a))if(Array.isArray(e[a]))for(const d of e[a])ma.test(d)||(void 0===p[ca][a]?p[ca][a]=[d]:p[ca][a].push(d));else ma.test(e[a])||(p[ca][a]=[e[a]]);return p}(e.headers);if(Ra.isRedirect(e.statusCode)){const d=p.get("Location");let t=null;try{t=null===d?null:new Va(d,i.url).toString()}catch(e){if("manual"!==i.redirect)return r(new Zp(`uri requested responds with an invalid redirect URL: ${d}`,"invalid-redirect")),void g()}switch(i.redirect){case"error":return r(new Zp(`uri requested responds with a redirect, redirect mode is set to error: ${i.url}`,"no-redirect")),void g();case"manual":if(null!==t)try{p.set("Location",t)}catch(e){r(e)}break;case"follow":if(null===t)break;if(i.counter>=i.follow)return r(new Zp(`maximum redirect reached at: ${i.url}`,"max-redirect")),void g();const d={headers:new va(i.headers),follow:i.follow,counter:i.counter+1,agent:i.agent,compress:i.compress,method:i.method,body:i.body,signal:i.signal,timeout:i.timeout,size:i.size};if(!function(e,p){const a=new Va(p).hostname,d=new Va(e).hostname;return a===d||"."===a[a.length-d.length-1]&&a.endsWith(d)}(i.url,t))for(const e of["authorization","www-authenticate","cookie","cookie2"])d.headers.delete(e);return 303!==e.statusCode&&i.body&&null===sa(i)?(r(new Zp("Cannot follow redirect with body being a readable stream","unsupported-redirect")),void g()):(303!==e.statusCode&&(301!==e.statusCode&&302!==e.statusCode||"POST"!==i.method)||(d.method="GET",d.body=void 0,d.headers.delete("content-length")),a(Ra(new Ga(t,d))),void g())}}e.once("end",(function(){l&&l.removeEventListener("abort",v)}));let d=e.pipe(new Ca);const t={url:i.url,status:e.statusCode,statusText:e.statusMessage,headers:p,size:i.size,timeout:i.timeout,counter:i.counter},s=p.get("Content-Encoding");if(!i.compress||"HEAD"===i.method||null===s||204===e.statusCode||304===e.statusCode)return u=new Ea(d,t),void a(u);const o={flush:n.Z_SYNC_FLUSH,finishFlush:n.Z_SYNC_FLUSH};if("gzip"==s||"x-gzip"==s)return d=d.pipe(n.createGunzip(o)),u=new Ea(d,t),void a(u);if("deflate"!=s&&"x-deflate"!=s){if("br"==s&&"function"==typeof n.createBrotliDecompress)return d=d.pipe(n.createBrotliDecompress()),u=new Ea(d,t),void a(u);u=new Ea(d,t),a(u)}else{e.pipe(new Ca).once("data",(function(e){d=8==(15&e[0])?d.pipe(n.createInflate()):d.pipe(n.createInflateRaw()),u=new Ea(d,t),a(u)}))}})),function(e,p){const a=p.body;null===a?e.end():ta(a)?a.stream().pipe(e):Buffer.isBuffer(a)?(e.write(a),e.end()):a.pipe(e)}(h,i)}))}Ra.isRedirect=function(e){return 301===e||302===e||303===e||307===e||308===e},Ra.Promise=global.Promise;class Ua extends Error{constructor(e){super(e),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor),this.name="Deprecation"}}var Fa={exports:{}},ja=function e(p,a){if(p&&a)return e(p)(a);if("function"!=typeof p)throw new TypeError("need wrapper function");return Object.keys(p).forEach((function(e){d[e]=p[e]})),d;function d(){for(var e=new Array(arguments.length),a=0;aconsole.warn(e))),Ia=Fa.exports((e=>console.warn(e)));let Ha=class extends Error{constructor(e,p,a){let d;super(e),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor),this.name="HttpError",this.status=p,"headers"in a&&void 0!==a.headers&&(d=a.headers),"response"in a&&(this.response=a.response,d=a.response.headers);const t=Object.assign({},a.request);a.request.headers.authorization&&(t.headers=Object.assign({},a.request.headers,{authorization:a.request.headers.authorization.replace(/ .*$/," [REDACTED]")})),t.url=t.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]"),this.request=t,Object.defineProperty(this,"code",{get:()=>(La(new Ua("[@octokit/request-error] `error.code` is deprecated, use `error.status`.")),p)}),Object.defineProperty(this,"headers",{get:()=>(Ia(new Ua("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`.")),d||{})})}};function $a(e){const p=e.request&&e.request.log?e.request.log:console;(mp(e.body)||Array.isArray(e.body))&&(e.body=JSON.stringify(e.body));let a,d,t={};return(e.request&&e.request.fetch||Ra)(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url,a=r.status;for(const e of r.headers)t[e[0]]=e[1];if("deprecation"in t){const a=t.link&&t.link.match(/<([^>]+)>; rel="deprecation"/),d=a&&a.pop();p.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${t.sunset}${d?`. See ${d}`:""}`)}if(204!==a&&205!==a){if("HEAD"===e.method){if(a<400)return;throw new Ha(r.statusText,a,{response:{url:d,status:a,headers:t,data:void 0},request:e})}if(304===a)throw new Ha("Not modified",a,{response:{url:d,status:a,headers:t,data:await Ma(r)},request:e});if(a>=400){const p=await Ma(r),i=new Ha(function(e){if("string"==typeof e)return e;if("message"in e)return Array.isArray(e.errors)?`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`:e.message;return`Unknown error: ${JSON.stringify(e)}`}(p),a,{response:{url:d,status:a,headers:t,data:p},request:e});throw i}return Ma(r)}})).then((e=>({status:a,url:d,headers:t,data:e}))).catch((p=>{if(p instanceof Ha)throw p;throw new Ha(p.message,500,{request:e})}))}async function Ma(e){const p=e.headers.get("content-type");return/application\/json/.test(p)?e.json():!p||/^text\/|charset=utf-8$/.test(p)?e.text():function(e){return e.arrayBuffer()}(e)}const za=function e(p,a){const d=p.defaults(a);return Object.assign((function(p,a){const t=d.merge(p,a);if(!t.request||!t.request.hook)return $a(d.parse(t));const r=(e,p)=>$a(d.parse(d.merge(e,p)));return Object.assign(r,{endpoint:d,defaults:e.bind(null,d)}),t.request.hook(r,t)}),{endpoint:d,defaults:e.bind(null,d)})}(Sp,{headers:{"user-agent":`octokit-request.js/5.6.3 ${Je()}`}}),Wa=Fa.exports((e=>console.warn(e)));class Ja extends Error{constructor(e,p,a){super(e),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor),this.name="HttpError",this.status=p,Object.defineProperty(this,"code",{get:()=>(Wa(new Ua("[@octokit/request-error] `error.code` is deprecated, use `error.status`.")),p)}),this.headers=a.headers||{};const d=Object.assign({},a.request);a.request.headers.authorization&&(d.headers=Object.assign({},a.request.headers,{authorization:a.request.headers.authorization.replace(/ .*$/," [REDACTED]")})),d.url=d.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]"),this.request=d}}function Ka(e){(mp(e.body)||Array.isArray(e.body))&&(e.body=JSON.stringify(e.body));let p,a,d={};return(e.request&&e.request.fetch||Ra)(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((t=>{a=t.url,p=t.status;for(const e of t.headers)d[e[0]]=e[1];if(204===p||205===p)return;if("HEAD"===e.method){if(p<400)return;throw new Ja(t.statusText,p,{headers:d,request:e})}if(304===p)throw new Ja("Not modified",p,{headers:d,request:e});if(p>=400)return t.text().then((a=>{const t=new Ja(a,p,{headers:d,request:e});try{let e=JSON.parse(t.message);Object.assign(t,e);let p=e.errors;t.message=t.message+": "+p.map(JSON.stringify).join(", ")}catch(e){}throw t}));const r=t.headers.get("content-type");return/application\/json/.test(r)?t.json():!r||/^text\/|charset=utf-8$/.test(r)?t.text():function(e){return e.arrayBuffer()}(t)})).then((e=>({status:p,url:a,headers:d,data:e}))).catch((p=>{if(p instanceof Ja)throw p;throw new Ja(p.message,500,{headers:d,request:e})}))}const Ya=function e(p,a){const d=p.defaults(a);return Object.assign((function(p,a){const t=d.merge(p,a);if(!t.request||!t.request.hook)return Ka(d.parse(t));const r=(e,p)=>Ka(d.parse(d.merge(e,p)));return Object.assign(r,{endpoint:d,defaults:e.bind(null,d)}),t.request.hook(r,t)}),{endpoint:d,defaults:e.bind(null,d)})}(Sp,{headers:{"user-agent":`octokit-request.js/5.4.12 ${Je()}`}});class Za extends Error{constructor(e,p){super(p.data.errors[0].message),Object.assign(this,p.data),Object.assign(this,{headers:p.headers}),this.name="GraphqlError",this.request=e,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}const Xa=["method","baseUrl","url","headers","request","query","mediaType"],Qa=/\/api\/v3\/?$/;function ed(e,p){const a=e.defaults(p);return Object.assign(((e,p)=>function(e,p,a){if("string"==typeof p&&a&&"query"in a)return Promise.reject(new Error('[@octokit/graphql] "query" cannot be used as variable name'));const d="string"==typeof p?Object.assign({query:p},a):p,t=Object.keys(d).reduce(((e,p)=>Xa.includes(p)?(e[p]=d[p],e):(e.variables||(e.variables={}),e.variables[p]=d[p],e)),{}),r=d.baseUrl||e.endpoint.DEFAULTS.baseUrl;return Qa.test(r)&&(t.url=r.replace(Qa,"/api/graphql")),e(t).then((e=>{if(e.data.errors){const p={};for(const a of Object.keys(e.headers))p[a]=e.headers[a];throw new Za(t,{headers:p,data:e.data})}return e.data.data}))}(a,e,p)),{defaults:ed.bind(null,a),endpoint:Ya.endpoint})}async function pd(e){const p=3===e.split(/\./).length?"app":/^v\d+\./.test(e)?"installation":"oauth";return{type:"token",token:e,tokenType:p}}async function ad(e,p,a,d){const t=p.endpoint.merge(a,d);return t.headers.authorization=function(e){return 3===e.split(/\./).length?`bearer ${e}`:`token ${e}`}(e),p(t)}ed(Ya,{headers:{"user-agent":`octokit-graphql.js/4.5.8 ${Je()}`},method:"POST",url:"/graphql"});const dd=function(e){if(!e)throw new Error("[@octokit/auth-token] No token passed to createTokenAuth");if("string"!=typeof e)throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string");return e=e.replace(/^(token|bearer) +/i,""),Object.assign(pd.bind(null,e),{hook:ad.bind(null,e)})};class td{constructor(e={}){const p=new sp,a={baseUrl:za.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:p.bind(null,"request")}),mediaType:{previews:[],format:""}};var d;if(a.headers["user-agent"]=[e.userAgent,`octokit-core.js/3.6.0 ${Je()}`].filter(Boolean).join(" "),e.baseUrl&&(a.baseUrl=e.baseUrl),e.previews&&(a.mediaType.previews=e.previews),e.timeZone&&(a.headers["time-zone"]=e.timeZone),this.request=za.defaults(a),this.graphql=(d=this.request,ed(d,{method:"POST",url:"/graphql"})).defaults(a),this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log),this.hook=p,e.authStrategy){const{authStrategy:a,...d}=e,t=a(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:d},e.auth));p.wrap("request",t.hook),this.auth=t}else if(e.auth){const a=dd(e.auth);p.wrap("request",a.hook),this.auth=a}else this.auth=async()=>({type:"unauthenticated"});this.constructor.plugins.forEach((p=>{Object.assign(this,p(this,e))}))}static defaults(e){return class extends(this){constructor(...p){const a=p[0]||{};super("function"!=typeof e?Object.assign({},e,a,a.userAgent&&e.userAgent?{userAgent:`${a.userAgent} ${e.userAgent}`}:null):e(a))}}}static plugin(...e){var p;const a=this.plugins;return(p=class extends(this){}).plugins=a.concat(e.filter((e=>!a.includes(e)))),p}}td.VERSION="3.6.0",td.plugins=[];var rd=c(Object.freeze({__proto__:null,Octokit:td}));const id={actions:{addSelectedRepoToOrgSecret:["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"],cancelWorkflowRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel"],createOrUpdateEnvironmentSecret:["PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"],createOrUpdateOrgSecret:["PUT /orgs/{org}/actions/secrets/{secret_name}"],createOrUpdateRepoSecret:["PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}"],createRegistrationTokenForOrg:["POST /orgs/{org}/actions/runners/registration-token"],createRegistrationTokenForRepo:["POST /repos/{owner}/{repo}/actions/runners/registration-token"],createRemoveTokenForOrg:["POST /orgs/{org}/actions/runners/remove-token"],createRemoveTokenForRepo:["POST /repos/{owner}/{repo}/actions/runners/remove-token"],createWorkflowDispatch:["POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches"],deleteArtifact:["DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"],deleteEnvironmentSecret:["DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"],deleteOrgSecret:["DELETE /orgs/{org}/actions/secrets/{secret_name}"],deleteRepoSecret:["DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}"],deleteSelfHostedRunnerFromOrg:["DELETE /orgs/{org}/actions/runners/{runner_id}"],deleteSelfHostedRunnerFromRepo:["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}"],deleteWorkflowRun:["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}"],deleteWorkflowRunLogs:["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs"],disableSelectedRepositoryGithubActionsOrganization:["DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}"],disableWorkflow:["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable"],downloadArtifact:["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}"],downloadJobLogsForWorkflowRun:["GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs"],downloadWorkflowRunLogs:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs"],enableSelectedRepositoryGithubActionsOrganization:["PUT /orgs/{org}/actions/permissions/repositories/{repository_id}"],enableWorkflow:["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable"],getAllowedActionsOrganization:["GET /orgs/{org}/actions/permissions/selected-actions"],getAllowedActionsRepository:["GET /repos/{owner}/{repo}/actions/permissions/selected-actions"],getArtifact:["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"],getEnvironmentPublicKey:["GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key"],getEnvironmentSecret:["GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"],getGithubActionsPermissionsOrganization:["GET /orgs/{org}/actions/permissions"],getGithubActionsPermissionsRepository:["GET /repos/{owner}/{repo}/actions/permissions"],getJobForWorkflowRun:["GET /repos/{owner}/{repo}/actions/jobs/{job_id}"],getOrgPublicKey:["GET /orgs/{org}/actions/secrets/public-key"],getOrgSecret:["GET /orgs/{org}/actions/secrets/{secret_name}"],getPendingDeploymentsForRun:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"],getRepoPermissions:["GET /repos/{owner}/{repo}/actions/permissions",{},{renamed:["actions","getGithubActionsPermissionsRepository"]}],getRepoPublicKey:["GET /repos/{owner}/{repo}/actions/secrets/public-key"],getRepoSecret:["GET /repos/{owner}/{repo}/actions/secrets/{secret_name}"],getReviewsForRun:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals"],getSelfHostedRunnerForOrg:["GET /orgs/{org}/actions/runners/{runner_id}"],getSelfHostedRunnerForRepo:["GET /repos/{owner}/{repo}/actions/runners/{runner_id}"],getWorkflow:["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}"],getWorkflowRun:["GET /repos/{owner}/{repo}/actions/runs/{run_id}"],getWorkflowRunUsage:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing"],getWorkflowUsage:["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing"],listArtifactsForRepo:["GET /repos/{owner}/{repo}/actions/artifacts"],listEnvironmentSecrets:["GET /repositories/{repository_id}/environments/{environment_name}/secrets"],listJobsForWorkflowRun:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"],listOrgSecrets:["GET /orgs/{org}/actions/secrets"],listRepoSecrets:["GET /repos/{owner}/{repo}/actions/secrets"],listRepoWorkflows:["GET /repos/{owner}/{repo}/actions/workflows"],listRunnerApplicationsForOrg:["GET /orgs/{org}/actions/runners/downloads"],listRunnerApplicationsForRepo:["GET /repos/{owner}/{repo}/actions/runners/downloads"],listSelectedReposForOrgSecret:["GET /orgs/{org}/actions/secrets/{secret_name}/repositories"],listSelectedRepositoriesEnabledGithubActionsOrganization:["GET /orgs/{org}/actions/permissions/repositories"],listSelfHostedRunnersForOrg:["GET /orgs/{org}/actions/runners"],listSelfHostedRunnersForRepo:["GET /repos/{owner}/{repo}/actions/runners"],listWorkflowRunArtifacts:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts"],listWorkflowRuns:["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs"],listWorkflowRunsForRepo:["GET /repos/{owner}/{repo}/actions/runs"],reRunWorkflow:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun"],removeSelectedRepoFromOrgSecret:["DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"],reviewPendingDeploymentsForRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"],setAllowedActionsOrganization:["PUT /orgs/{org}/actions/permissions/selected-actions"],setAllowedActionsRepository:["PUT /repos/{owner}/{repo}/actions/permissions/selected-actions"],setGithubActionsPermissionsOrganization:["PUT /orgs/{org}/actions/permissions"],setGithubActionsPermissionsRepository:["PUT /repos/{owner}/{repo}/actions/permissions"],setSelectedReposForOrgSecret:["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories"],setSelectedRepositoriesEnabledGithubActionsOrganization:["PUT /orgs/{org}/actions/permissions/repositories"]},activity:{checkRepoIsStarredByAuthenticatedUser:["GET /user/starred/{owner}/{repo}"],deleteRepoSubscription:["DELETE /repos/{owner}/{repo}/subscription"],deleteThreadSubscription:["DELETE /notifications/threads/{thread_id}/subscription"],getFeeds:["GET /feeds"],getRepoSubscription:["GET /repos/{owner}/{repo}/subscription"],getThread:["GET /notifications/threads/{thread_id}"],getThreadSubscriptionForAuthenticatedUser:["GET /notifications/threads/{thread_id}/subscription"],listEventsForAuthenticatedUser:["GET /users/{username}/events"],listNotificationsForAuthenticatedUser:["GET /notifications"],listOrgEventsForAuthenticatedUser:["GET /users/{username}/events/orgs/{org}"],listPublicEvents:["GET /events"],listPublicEventsForRepoNetwork:["GET /networks/{owner}/{repo}/events"],listPublicEventsForUser:["GET /users/{username}/events/public"],listPublicOrgEvents:["GET /orgs/{org}/events"],listReceivedEventsForUser:["GET /users/{username}/received_events"],listReceivedPublicEventsForUser:["GET /users/{username}/received_events/public"],listRepoEvents:["GET /repos/{owner}/{repo}/events"],listRepoNotificationsForAuthenticatedUser:["GET /repos/{owner}/{repo}/notifications"],listReposStarredByAuthenticatedUser:["GET /user/starred"],listReposStarredByUser:["GET /users/{username}/starred"],listReposWatchedByUser:["GET /users/{username}/subscriptions"],listStargazersForRepo:["GET /repos/{owner}/{repo}/stargazers"],listWatchedReposForAuthenticatedUser:["GET /user/subscriptions"],listWatchersForRepo:["GET /repos/{owner}/{repo}/subscribers"],markNotificationsAsRead:["PUT /notifications"],markRepoNotificationsAsRead:["PUT /repos/{owner}/{repo}/notifications"],markThreadAsRead:["PATCH /notifications/threads/{thread_id}"],setRepoSubscription:["PUT /repos/{owner}/{repo}/subscription"],setThreadSubscription:["PUT /notifications/threads/{thread_id}/subscription"],starRepoForAuthenticatedUser:["PUT /user/starred/{owner}/{repo}"],unstarRepoForAuthenticatedUser:["DELETE /user/starred/{owner}/{repo}"]},apps:{addRepoToInstallation:["PUT /user/installations/{installation_id}/repositories/{repository_id}"],checkToken:["POST /applications/{client_id}/token"],createContentAttachment:["POST /content_references/{content_reference_id}/attachments",{mediaType:{previews:["corsair"]}}],createFromManifest:["POST /app-manifests/{code}/conversions"],createInstallationAccessToken:["POST /app/installations/{installation_id}/access_tokens"],deleteAuthorization:["DELETE /applications/{client_id}/grant"],deleteInstallation:["DELETE /app/installations/{installation_id}"],deleteToken:["DELETE /applications/{client_id}/token"],getAuthenticated:["GET /app"],getBySlug:["GET /apps/{app_slug}"],getInstallation:["GET /app/installations/{installation_id}"],getOrgInstallation:["GET /orgs/{org}/installation"],getRepoInstallation:["GET /repos/{owner}/{repo}/installation"],getSubscriptionPlanForAccount:["GET /marketplace_listing/accounts/{account_id}"],getSubscriptionPlanForAccountStubbed:["GET /marketplace_listing/stubbed/accounts/{account_id}"],getUserInstallation:["GET /users/{username}/installation"],getWebhookConfigForApp:["GET /app/hook/config"],listAccountsForPlan:["GET /marketplace_listing/plans/{plan_id}/accounts"],listAccountsForPlanStubbed:["GET /marketplace_listing/stubbed/plans/{plan_id}/accounts"],listInstallationReposForAuthenticatedUser:["GET /user/installations/{installation_id}/repositories"],listInstallations:["GET /app/installations"],listInstallationsForAuthenticatedUser:["GET /user/installations"],listPlans:["GET /marketplace_listing/plans"],listPlansStubbed:["GET /marketplace_listing/stubbed/plans"],listReposAccessibleToInstallation:["GET /installation/repositories"],listSubscriptionsForAuthenticatedUser:["GET /user/marketplace_purchases"],listSubscriptionsForAuthenticatedUserStubbed:["GET /user/marketplace_purchases/stubbed"],removeRepoFromInstallation:["DELETE /user/installations/{installation_id}/repositories/{repository_id}"],resetToken:["PATCH /applications/{client_id}/token"],revokeInstallationAccessToken:["DELETE /installation/token"],scopeToken:["POST /applications/{client_id}/token/scoped"],suspendInstallation:["PUT /app/installations/{installation_id}/suspended"],unsuspendInstallation:["DELETE /app/installations/{installation_id}/suspended"],updateWebhookConfigForApp:["PATCH /app/hook/config"]},billing:{getGithubActionsBillingOrg:["GET /orgs/{org}/settings/billing/actions"],getGithubActionsBillingUser:["GET /users/{username}/settings/billing/actions"],getGithubPackagesBillingOrg:["GET /orgs/{org}/settings/billing/packages"],getGithubPackagesBillingUser:["GET /users/{username}/settings/billing/packages"],getSharedStorageBillingOrg:["GET /orgs/{org}/settings/billing/shared-storage"],getSharedStorageBillingUser:["GET /users/{username}/settings/billing/shared-storage"]},checks:{create:["POST /repos/{owner}/{repo}/check-runs"],createSuite:["POST /repos/{owner}/{repo}/check-suites"],get:["GET /repos/{owner}/{repo}/check-runs/{check_run_id}"],getSuite:["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}"],listAnnotations:["GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations"],listForRef:["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"],listForSuite:["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs"],listSuitesForRef:["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"],rerequestSuite:["POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest"],setSuitesPreferences:["PATCH /repos/{owner}/{repo}/check-suites/preferences"],update:["PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}"]},codeScanning:{deleteAnalysis:["DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}"],getAlert:["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}",{},{renamedParameters:{alert_id:"alert_number"}}],getAnalysis:["GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}"],getSarif:["GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}"],listAlertsForRepo:["GET /repos/{owner}/{repo}/code-scanning/alerts"],listAlertsInstances:["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances"],listRecentAnalyses:["GET /repos/{owner}/{repo}/code-scanning/analyses"],updateAlert:["PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}"],uploadSarif:["POST /repos/{owner}/{repo}/code-scanning/sarifs"]},codesOfConduct:{getAllCodesOfConduct:["GET /codes_of_conduct",{mediaType:{previews:["scarlet-witch"]}}],getConductCode:["GET /codes_of_conduct/{key}",{mediaType:{previews:["scarlet-witch"]}}],getForRepo:["GET /repos/{owner}/{repo}/community/code_of_conduct",{mediaType:{previews:["scarlet-witch"]}}]},emojis:{get:["GET /emojis"]},enterpriseAdmin:{disableSelectedOrganizationGithubActionsEnterprise:["DELETE /enterprises/{enterprise}/actions/permissions/organizations/{org_id}"],enableSelectedOrganizationGithubActionsEnterprise:["PUT /enterprises/{enterprise}/actions/permissions/organizations/{org_id}"],getAllowedActionsEnterprise:["GET /enterprises/{enterprise}/actions/permissions/selected-actions"],getGithubActionsPermissionsEnterprise:["GET /enterprises/{enterprise}/actions/permissions"],listSelectedOrganizationsEnabledGithubActionsEnterprise:["GET /enterprises/{enterprise}/actions/permissions/organizations"],setAllowedActionsEnterprise:["PUT /enterprises/{enterprise}/actions/permissions/selected-actions"],setGithubActionsPermissionsEnterprise:["PUT /enterprises/{enterprise}/actions/permissions"],setSelectedOrganizationsEnabledGithubActionsEnterprise:["PUT /enterprises/{enterprise}/actions/permissions/organizations"]},gists:{checkIsStarred:["GET /gists/{gist_id}/star"],create:["POST /gists"],createComment:["POST /gists/{gist_id}/comments"],delete:["DELETE /gists/{gist_id}"],deleteComment:["DELETE /gists/{gist_id}/comments/{comment_id}"],fork:["POST /gists/{gist_id}/forks"],get:["GET /gists/{gist_id}"],getComment:["GET /gists/{gist_id}/comments/{comment_id}"],getRevision:["GET /gists/{gist_id}/{sha}"],list:["GET /gists"],listComments:["GET /gists/{gist_id}/comments"],listCommits:["GET /gists/{gist_id}/commits"],listForUser:["GET /users/{username}/gists"],listForks:["GET /gists/{gist_id}/forks"],listPublic:["GET /gists/public"],listStarred:["GET /gists/starred"],star:["PUT /gists/{gist_id}/star"],unstar:["DELETE /gists/{gist_id}/star"],update:["PATCH /gists/{gist_id}"],updateComment:["PATCH /gists/{gist_id}/comments/{comment_id}"]},git:{createBlob:["POST /repos/{owner}/{repo}/git/blobs"],createCommit:["POST /repos/{owner}/{repo}/git/commits"],createRef:["POST /repos/{owner}/{repo}/git/refs"],createTag:["POST /repos/{owner}/{repo}/git/tags"],createTree:["POST /repos/{owner}/{repo}/git/trees"],deleteRef:["DELETE /repos/{owner}/{repo}/git/refs/{ref}"],getBlob:["GET /repos/{owner}/{repo}/git/blobs/{file_sha}"],getCommit:["GET /repos/{owner}/{repo}/git/commits/{commit_sha}"],getRef:["GET /repos/{owner}/{repo}/git/ref/{ref}"],getTag:["GET /repos/{owner}/{repo}/git/tags/{tag_sha}"],getTree:["GET /repos/{owner}/{repo}/git/trees/{tree_sha}"],listMatchingRefs:["GET /repos/{owner}/{repo}/git/matching-refs/{ref}"],updateRef:["PATCH /repos/{owner}/{repo}/git/refs/{ref}"]},gitignore:{getAllTemplates:["GET /gitignore/templates"],getTemplate:["GET /gitignore/templates/{name}"]},interactions:{getRestrictionsForAuthenticatedUser:["GET /user/interaction-limits"],getRestrictionsForOrg:["GET /orgs/{org}/interaction-limits"],getRestrictionsForRepo:["GET /repos/{owner}/{repo}/interaction-limits"],getRestrictionsForYourPublicRepos:["GET /user/interaction-limits",{},{renamed:["interactions","getRestrictionsForAuthenticatedUser"]}],removeRestrictionsForAuthenticatedUser:["DELETE /user/interaction-limits"],removeRestrictionsForOrg:["DELETE /orgs/{org}/interaction-limits"],removeRestrictionsForRepo:["DELETE /repos/{owner}/{repo}/interaction-limits"],removeRestrictionsForYourPublicRepos:["DELETE /user/interaction-limits",{},{renamed:["interactions","removeRestrictionsForAuthenticatedUser"]}],setRestrictionsForAuthenticatedUser:["PUT /user/interaction-limits"],setRestrictionsForOrg:["PUT /orgs/{org}/interaction-limits"],setRestrictionsForRepo:["PUT /repos/{owner}/{repo}/interaction-limits"],setRestrictionsForYourPublicRepos:["PUT /user/interaction-limits",{},{renamed:["interactions","setRestrictionsForAuthenticatedUser"]}]},issues:{addAssignees:["POST /repos/{owner}/{repo}/issues/{issue_number}/assignees"],addLabels:["POST /repos/{owner}/{repo}/issues/{issue_number}/labels"],checkUserCanBeAssigned:["GET /repos/{owner}/{repo}/assignees/{assignee}"],create:["POST /repos/{owner}/{repo}/issues"],createComment:["POST /repos/{owner}/{repo}/issues/{issue_number}/comments"],createLabel:["POST /repos/{owner}/{repo}/labels"],createMilestone:["POST /repos/{owner}/{repo}/milestones"],deleteComment:["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}"],deleteLabel:["DELETE /repos/{owner}/{repo}/labels/{name}"],deleteMilestone:["DELETE /repos/{owner}/{repo}/milestones/{milestone_number}"],get:["GET /repos/{owner}/{repo}/issues/{issue_number}"],getComment:["GET /repos/{owner}/{repo}/issues/comments/{comment_id}"],getEvent:["GET /repos/{owner}/{repo}/issues/events/{event_id}"],getLabel:["GET /repos/{owner}/{repo}/labels/{name}"],getMilestone:["GET /repos/{owner}/{repo}/milestones/{milestone_number}"],list:["GET /issues"],listAssignees:["GET /repos/{owner}/{repo}/assignees"],listComments:["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"],listCommentsForRepo:["GET /repos/{owner}/{repo}/issues/comments"],listEvents:["GET /repos/{owner}/{repo}/issues/{issue_number}/events"],listEventsForRepo:["GET /repos/{owner}/{repo}/issues/events"],listEventsForTimeline:["GET /repos/{owner}/{repo}/issues/{issue_number}/timeline",{mediaType:{previews:["mockingbird"]}}],listForAuthenticatedUser:["GET /user/issues"],listForOrg:["GET /orgs/{org}/issues"],listForRepo:["GET /repos/{owner}/{repo}/issues"],listLabelsForMilestone:["GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels"],listLabelsForRepo:["GET /repos/{owner}/{repo}/labels"],listLabelsOnIssue:["GET /repos/{owner}/{repo}/issues/{issue_number}/labels"],listMilestones:["GET /repos/{owner}/{repo}/milestones"],lock:["PUT /repos/{owner}/{repo}/issues/{issue_number}/lock"],removeAllLabels:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels"],removeAssignees:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees"],removeLabel:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}"],setLabels:["PUT /repos/{owner}/{repo}/issues/{issue_number}/labels"],unlock:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock"],update:["PATCH /repos/{owner}/{repo}/issues/{issue_number}"],updateComment:["PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}"],updateLabel:["PATCH /repos/{owner}/{repo}/labels/{name}"],updateMilestone:["PATCH /repos/{owner}/{repo}/milestones/{milestone_number}"]},licenses:{get:["GET /licenses/{license}"],getAllCommonlyUsed:["GET /licenses"],getForRepo:["GET /repos/{owner}/{repo}/license"]},markdown:{render:["POST /markdown"],renderRaw:["POST /markdown/raw",{headers:{"content-type":"text/plain; charset=utf-8"}}]},meta:{get:["GET /meta"],getOctocat:["GET /octocat"],getZen:["GET /zen"],root:["GET /"]},migrations:{cancelImport:["DELETE /repos/{owner}/{repo}/import"],deleteArchiveForAuthenticatedUser:["DELETE /user/migrations/{migration_id}/archive",{mediaType:{previews:["wyandotte"]}}],deleteArchiveForOrg:["DELETE /orgs/{org}/migrations/{migration_id}/archive",{mediaType:{previews:["wyandotte"]}}],downloadArchiveForOrg:["GET /orgs/{org}/migrations/{migration_id}/archive",{mediaType:{previews:["wyandotte"]}}],getArchiveForAuthenticatedUser:["GET /user/migrations/{migration_id}/archive",{mediaType:{previews:["wyandotte"]}}],getCommitAuthors:["GET /repos/{owner}/{repo}/import/authors"],getImportStatus:["GET /repos/{owner}/{repo}/import"],getLargeFiles:["GET /repos/{owner}/{repo}/import/large_files"],getStatusForAuthenticatedUser:["GET /user/migrations/{migration_id}",{mediaType:{previews:["wyandotte"]}}],getStatusForOrg:["GET /orgs/{org}/migrations/{migration_id}",{mediaType:{previews:["wyandotte"]}}],listForAuthenticatedUser:["GET /user/migrations",{mediaType:{previews:["wyandotte"]}}],listForOrg:["GET /orgs/{org}/migrations",{mediaType:{previews:["wyandotte"]}}],listReposForOrg:["GET /orgs/{org}/migrations/{migration_id}/repositories",{mediaType:{previews:["wyandotte"]}}],listReposForUser:["GET /user/migrations/{migration_id}/repositories",{mediaType:{previews:["wyandotte"]}}],mapCommitAuthor:["PATCH /repos/{owner}/{repo}/import/authors/{author_id}"],setLfsPreference:["PATCH /repos/{owner}/{repo}/import/lfs"],startForAuthenticatedUser:["POST /user/migrations"],startForOrg:["POST /orgs/{org}/migrations"],startImport:["PUT /repos/{owner}/{repo}/import"],unlockRepoForAuthenticatedUser:["DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock",{mediaType:{previews:["wyandotte"]}}],unlockRepoForOrg:["DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock",{mediaType:{previews:["wyandotte"]}}],updateImport:["PATCH /repos/{owner}/{repo}/import"]},orgs:{blockUser:["PUT /orgs/{org}/blocks/{username}"],cancelInvitation:["DELETE /orgs/{org}/invitations/{invitation_id}"],checkBlockedUser:["GET /orgs/{org}/blocks/{username}"],checkMembershipForUser:["GET /orgs/{org}/members/{username}"],checkPublicMembershipForUser:["GET /orgs/{org}/public_members/{username}"],convertMemberToOutsideCollaborator:["PUT /orgs/{org}/outside_collaborators/{username}"],createInvitation:["POST /orgs/{org}/invitations"],createWebhook:["POST /orgs/{org}/hooks"],deleteWebhook:["DELETE /orgs/{org}/hooks/{hook_id}"],get:["GET /orgs/{org}"],getMembershipForAuthenticatedUser:["GET /user/memberships/orgs/{org}"],getMembershipForUser:["GET /orgs/{org}/memberships/{username}"],getWebhook:["GET /orgs/{org}/hooks/{hook_id}"],getWebhookConfigForOrg:["GET /orgs/{org}/hooks/{hook_id}/config"],list:["GET /organizations"],listAppInstallations:["GET /orgs/{org}/installations"],listBlockedUsers:["GET /orgs/{org}/blocks"],listFailedInvitations:["GET /orgs/{org}/failed_invitations"],listForAuthenticatedUser:["GET /user/orgs"],listForUser:["GET /users/{username}/orgs"],listInvitationTeams:["GET /orgs/{org}/invitations/{invitation_id}/teams"],listMembers:["GET /orgs/{org}/members"],listMembershipsForAuthenticatedUser:["GET /user/memberships/orgs"],listOutsideCollaborators:["GET /orgs/{org}/outside_collaborators"],listPendingInvitations:["GET /orgs/{org}/invitations"],listPublicMembers:["GET /orgs/{org}/public_members"],listWebhooks:["GET /orgs/{org}/hooks"],pingWebhook:["POST /orgs/{org}/hooks/{hook_id}/pings"],removeMember:["DELETE /orgs/{org}/members/{username}"],removeMembershipForUser:["DELETE /orgs/{org}/memberships/{username}"],removeOutsideCollaborator:["DELETE /orgs/{org}/outside_collaborators/{username}"],removePublicMembershipForAuthenticatedUser:["DELETE /orgs/{org}/public_members/{username}"],setMembershipForUser:["PUT /orgs/{org}/memberships/{username}"],setPublicMembershipForAuthenticatedUser:["PUT /orgs/{org}/public_members/{username}"],unblockUser:["DELETE /orgs/{org}/blocks/{username}"],update:["PATCH /orgs/{org}"],updateMembershipForAuthenticatedUser:["PATCH /user/memberships/orgs/{org}"],updateWebhook:["PATCH /orgs/{org}/hooks/{hook_id}"],updateWebhookConfigForOrg:["PATCH /orgs/{org}/hooks/{hook_id}/config"]},packages:{deletePackageForAuthenticatedUser:["DELETE /user/packages/{package_type}/{package_name}"],deletePackageForOrg:["DELETE /orgs/{org}/packages/{package_type}/{package_name}"],deletePackageVersionForAuthenticatedUser:["DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}"],deletePackageVersionForOrg:["DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"],getAllPackageVersionsForAPackageOwnedByAnOrg:["GET /orgs/{org}/packages/{package_type}/{package_name}/versions",{},{renamed:["packages","getAllPackageVersionsForPackageOwnedByOrg"]}],getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser:["GET /user/packages/{package_type}/{package_name}/versions",{},{renamed:["packages","getAllPackageVersionsForPackageOwnedByAuthenticatedUser"]}],getAllPackageVersionsForPackageOwnedByAuthenticatedUser:["GET /user/packages/{package_type}/{package_name}/versions"],getAllPackageVersionsForPackageOwnedByOrg:["GET /orgs/{org}/packages/{package_type}/{package_name}/versions"],getAllPackageVersionsForPackageOwnedByUser:["GET /users/{username}/packages/{package_type}/{package_name}/versions"],getPackageForAuthenticatedUser:["GET /user/packages/{package_type}/{package_name}"],getPackageForOrganization:["GET /orgs/{org}/packages/{package_type}/{package_name}"],getPackageForUser:["GET /users/{username}/packages/{package_type}/{package_name}"],getPackageVersionForAuthenticatedUser:["GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}"],getPackageVersionForOrganization:["GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"],getPackageVersionForUser:["GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"],restorePackageForAuthenticatedUser:["POST /user/packages/{package_type}/{package_name}/restore{?token}"],restorePackageForOrg:["POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}"],restorePackageVersionForAuthenticatedUser:["POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"],restorePackageVersionForOrg:["POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"]},projects:{addCollaborator:["PUT /projects/{project_id}/collaborators/{username}",{mediaType:{previews:["inertia"]}}],createCard:["POST /projects/columns/{column_id}/cards",{mediaType:{previews:["inertia"]}}],createColumn:["POST /projects/{project_id}/columns",{mediaType:{previews:["inertia"]}}],createForAuthenticatedUser:["POST /user/projects",{mediaType:{previews:["inertia"]}}],createForOrg:["POST /orgs/{org}/projects",{mediaType:{previews:["inertia"]}}],createForRepo:["POST /repos/{owner}/{repo}/projects",{mediaType:{previews:["inertia"]}}],delete:["DELETE /projects/{project_id}",{mediaType:{previews:["inertia"]}}],deleteCard:["DELETE /projects/columns/cards/{card_id}",{mediaType:{previews:["inertia"]}}],deleteColumn:["DELETE /projects/columns/{column_id}",{mediaType:{previews:["inertia"]}}],get:["GET /projects/{project_id}",{mediaType:{previews:["inertia"]}}],getCard:["GET /projects/columns/cards/{card_id}",{mediaType:{previews:["inertia"]}}],getColumn:["GET /projects/columns/{column_id}",{mediaType:{previews:["inertia"]}}],getPermissionForUser:["GET /projects/{project_id}/collaborators/{username}/permission",{mediaType:{previews:["inertia"]}}],listCards:["GET /projects/columns/{column_id}/cards",{mediaType:{previews:["inertia"]}}],listCollaborators:["GET /projects/{project_id}/collaborators",{mediaType:{previews:["inertia"]}}],listColumns:["GET /projects/{project_id}/columns",{mediaType:{previews:["inertia"]}}],listForOrg:["GET /orgs/{org}/projects",{mediaType:{previews:["inertia"]}}],listForRepo:["GET /repos/{owner}/{repo}/projects",{mediaType:{previews:["inertia"]}}],listForUser:["GET /users/{username}/projects",{mediaType:{previews:["inertia"]}}],moveCard:["POST /projects/columns/cards/{card_id}/moves",{mediaType:{previews:["inertia"]}}],moveColumn:["POST /projects/columns/{column_id}/moves",{mediaType:{previews:["inertia"]}}],removeCollaborator:["DELETE /projects/{project_id}/collaborators/{username}",{mediaType:{previews:["inertia"]}}],update:["PATCH /projects/{project_id}",{mediaType:{previews:["inertia"]}}],updateCard:["PATCH /projects/columns/cards/{card_id}",{mediaType:{previews:["inertia"]}}],updateColumn:["PATCH /projects/columns/{column_id}",{mediaType:{previews:["inertia"]}}]},pulls:{checkIfMerged:["GET /repos/{owner}/{repo}/pulls/{pull_number}/merge"],create:["POST /repos/{owner}/{repo}/pulls"],createReplyForReviewComment:["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies"],createReview:["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews"],createReviewComment:["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments"],deletePendingReview:["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"],deleteReviewComment:["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}"],dismissReview:["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals"],get:["GET /repos/{owner}/{repo}/pulls/{pull_number}"],getReview:["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"],getReviewComment:["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}"],list:["GET /repos/{owner}/{repo}/pulls"],listCommentsForReview:["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments"],listCommits:["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"],listFiles:["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"],listRequestedReviewers:["GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"],listReviewComments:["GET /repos/{owner}/{repo}/pulls/{pull_number}/comments"],listReviewCommentsForRepo:["GET /repos/{owner}/{repo}/pulls/comments"],listReviews:["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"],merge:["PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge"],removeRequestedReviewers:["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"],requestReviewers:["POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"],submitReview:["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events"],update:["PATCH /repos/{owner}/{repo}/pulls/{pull_number}"],updateBranch:["PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch",{mediaType:{previews:["lydian"]}}],updateReview:["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"],updateReviewComment:["PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}"]},rateLimit:{get:["GET /rate_limit"]},reactions:{createForCommitComment:["POST /repos/{owner}/{repo}/comments/{comment_id}/reactions",{mediaType:{previews:["squirrel-girl"]}}],createForIssue:["POST /repos/{owner}/{repo}/issues/{issue_number}/reactions",{mediaType:{previews:["squirrel-girl"]}}],createForIssueComment:["POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions",{mediaType:{previews:["squirrel-girl"]}}],createForPullRequestReviewComment:["POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions",{mediaType:{previews:["squirrel-girl"]}}],createForTeamDiscussionCommentInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions",{mediaType:{previews:["squirrel-girl"]}}],createForTeamDiscussionInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions",{mediaType:{previews:["squirrel-girl"]}}],deleteForCommitComment:["DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}",{mediaType:{previews:["squirrel-girl"]}}],deleteForIssue:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}",{mediaType:{previews:["squirrel-girl"]}}],deleteForIssueComment:["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}",{mediaType:{previews:["squirrel-girl"]}}],deleteForPullRequestComment:["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}",{mediaType:{previews:["squirrel-girl"]}}],deleteForTeamDiscussion:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}",{mediaType:{previews:["squirrel-girl"]}}],deleteForTeamDiscussionComment:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}",{mediaType:{previews:["squirrel-girl"]}}],deleteLegacy:["DELETE /reactions/{reaction_id}",{mediaType:{previews:["squirrel-girl"]}},{deprecated:"octokit.rest.reactions.deleteLegacy() is deprecated, see https://docs.github.com/rest/reference/reactions/#delete-a-reaction-legacy"}],listForCommitComment:["GET /repos/{owner}/{repo}/comments/{comment_id}/reactions",{mediaType:{previews:["squirrel-girl"]}}],listForIssue:["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions",{mediaType:{previews:["squirrel-girl"]}}],listForIssueComment:["GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions",{mediaType:{previews:["squirrel-girl"]}}],listForPullRequestReviewComment:["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions",{mediaType:{previews:["squirrel-girl"]}}],listForTeamDiscussionCommentInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions",{mediaType:{previews:["squirrel-girl"]}}],listForTeamDiscussionInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions",{mediaType:{previews:["squirrel-girl"]}}]},repos:{acceptInvitation:["PATCH /user/repository_invitations/{invitation_id}"],addAppAccessRestrictions:["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",{},{mapToData:"apps"}],addCollaborator:["PUT /repos/{owner}/{repo}/collaborators/{username}"],addStatusCheckContexts:["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",{},{mapToData:"contexts"}],addTeamAccessRestrictions:["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",{},{mapToData:"teams"}],addUserAccessRestrictions:["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",{},{mapToData:"users"}],checkCollaborator:["GET /repos/{owner}/{repo}/collaborators/{username}"],checkVulnerabilityAlerts:["GET /repos/{owner}/{repo}/vulnerability-alerts",{mediaType:{previews:["dorian"]}}],compareCommits:["GET /repos/{owner}/{repo}/compare/{base}...{head}"],createCommitComment:["POST /repos/{owner}/{repo}/commits/{commit_sha}/comments"],createCommitSignatureProtection:["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures",{mediaType:{previews:["zzzax"]}}],createCommitStatus:["POST /repos/{owner}/{repo}/statuses/{sha}"],createDeployKey:["POST /repos/{owner}/{repo}/keys"],createDeployment:["POST /repos/{owner}/{repo}/deployments"],createDeploymentStatus:["POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"],createDispatchEvent:["POST /repos/{owner}/{repo}/dispatches"],createForAuthenticatedUser:["POST /user/repos"],createFork:["POST /repos/{owner}/{repo}/forks"],createInOrg:["POST /orgs/{org}/repos"],createOrUpdateEnvironment:["PUT /repos/{owner}/{repo}/environments/{environment_name}"],createOrUpdateFileContents:["PUT /repos/{owner}/{repo}/contents/{path}"],createPagesSite:["POST /repos/{owner}/{repo}/pages",{mediaType:{previews:["switcheroo"]}}],createRelease:["POST /repos/{owner}/{repo}/releases"],createUsingTemplate:["POST /repos/{template_owner}/{template_repo}/generate",{mediaType:{previews:["baptiste"]}}],createWebhook:["POST /repos/{owner}/{repo}/hooks"],declineInvitation:["DELETE /user/repository_invitations/{invitation_id}"],delete:["DELETE /repos/{owner}/{repo}"],deleteAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"],deleteAdminBranchProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"],deleteAnEnvironment:["DELETE /repos/{owner}/{repo}/environments/{environment_name}"],deleteBranchProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection"],deleteCommitComment:["DELETE /repos/{owner}/{repo}/comments/{comment_id}"],deleteCommitSignatureProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures",{mediaType:{previews:["zzzax"]}}],deleteDeployKey:["DELETE /repos/{owner}/{repo}/keys/{key_id}"],deleteDeployment:["DELETE /repos/{owner}/{repo}/deployments/{deployment_id}"],deleteFile:["DELETE /repos/{owner}/{repo}/contents/{path}"],deleteInvitation:["DELETE /repos/{owner}/{repo}/invitations/{invitation_id}"],deletePagesSite:["DELETE /repos/{owner}/{repo}/pages",{mediaType:{previews:["switcheroo"]}}],deletePullRequestReviewProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"],deleteRelease:["DELETE /repos/{owner}/{repo}/releases/{release_id}"],deleteReleaseAsset:["DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}"],deleteWebhook:["DELETE /repos/{owner}/{repo}/hooks/{hook_id}"],disableAutomatedSecurityFixes:["DELETE /repos/{owner}/{repo}/automated-security-fixes",{mediaType:{previews:["london"]}}],disableVulnerabilityAlerts:["DELETE /repos/{owner}/{repo}/vulnerability-alerts",{mediaType:{previews:["dorian"]}}],downloadArchive:["GET /repos/{owner}/{repo}/zipball/{ref}",{},{renamed:["repos","downloadZipballArchive"]}],downloadTarballArchive:["GET /repos/{owner}/{repo}/tarball/{ref}"],downloadZipballArchive:["GET /repos/{owner}/{repo}/zipball/{ref}"],enableAutomatedSecurityFixes:["PUT /repos/{owner}/{repo}/automated-security-fixes",{mediaType:{previews:["london"]}}],enableVulnerabilityAlerts:["PUT /repos/{owner}/{repo}/vulnerability-alerts",{mediaType:{previews:["dorian"]}}],get:["GET /repos/{owner}/{repo}"],getAccessRestrictions:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"],getAdminBranchProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"],getAllEnvironments:["GET /repos/{owner}/{repo}/environments"],getAllStatusCheckContexts:["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"],getAllTopics:["GET /repos/{owner}/{repo}/topics",{mediaType:{previews:["mercy"]}}],getAppsWithAccessToProtectedBranch:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"],getBranch:["GET /repos/{owner}/{repo}/branches/{branch}"],getBranchProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection"],getClones:["GET /repos/{owner}/{repo}/traffic/clones"],getCodeFrequencyStats:["GET /repos/{owner}/{repo}/stats/code_frequency"],getCollaboratorPermissionLevel:["GET /repos/{owner}/{repo}/collaborators/{username}/permission"],getCombinedStatusForRef:["GET /repos/{owner}/{repo}/commits/{ref}/status"],getCommit:["GET /repos/{owner}/{repo}/commits/{ref}"],getCommitActivityStats:["GET /repos/{owner}/{repo}/stats/commit_activity"],getCommitComment:["GET /repos/{owner}/{repo}/comments/{comment_id}"],getCommitSignatureProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures",{mediaType:{previews:["zzzax"]}}],getCommunityProfileMetrics:["GET /repos/{owner}/{repo}/community/profile"],getContent:["GET /repos/{owner}/{repo}/contents/{path}"],getContributorsStats:["GET /repos/{owner}/{repo}/stats/contributors"],getDeployKey:["GET /repos/{owner}/{repo}/keys/{key_id}"],getDeployment:["GET /repos/{owner}/{repo}/deployments/{deployment_id}"],getDeploymentStatus:["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}"],getEnvironment:["GET /repos/{owner}/{repo}/environments/{environment_name}"],getLatestPagesBuild:["GET /repos/{owner}/{repo}/pages/builds/latest"],getLatestRelease:["GET /repos/{owner}/{repo}/releases/latest"],getPages:["GET /repos/{owner}/{repo}/pages"],getPagesBuild:["GET /repos/{owner}/{repo}/pages/builds/{build_id}"],getParticipationStats:["GET /repos/{owner}/{repo}/stats/participation"],getPullRequestReviewProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"],getPunchCardStats:["GET /repos/{owner}/{repo}/stats/punch_card"],getReadme:["GET /repos/{owner}/{repo}/readme"],getReadmeInDirectory:["GET /repos/{owner}/{repo}/readme/{dir}"],getRelease:["GET /repos/{owner}/{repo}/releases/{release_id}"],getReleaseAsset:["GET /repos/{owner}/{repo}/releases/assets/{asset_id}"],getReleaseByTag:["GET /repos/{owner}/{repo}/releases/tags/{tag}"],getStatusChecksProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"],getTeamsWithAccessToProtectedBranch:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"],getTopPaths:["GET /repos/{owner}/{repo}/traffic/popular/paths"],getTopReferrers:["GET /repos/{owner}/{repo}/traffic/popular/referrers"],getUsersWithAccessToProtectedBranch:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"],getViews:["GET /repos/{owner}/{repo}/traffic/views"],getWebhook:["GET /repos/{owner}/{repo}/hooks/{hook_id}"],getWebhookConfigForRepo:["GET /repos/{owner}/{repo}/hooks/{hook_id}/config"],listBranches:["GET /repos/{owner}/{repo}/branches"],listBranchesForHeadCommit:["GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head",{mediaType:{previews:["groot"]}}],listCollaborators:["GET /repos/{owner}/{repo}/collaborators"],listCommentsForCommit:["GET /repos/{owner}/{repo}/commits/{commit_sha}/comments"],listCommitCommentsForRepo:["GET /repos/{owner}/{repo}/comments"],listCommitStatusesForRef:["GET /repos/{owner}/{repo}/commits/{ref}/statuses"],listCommits:["GET /repos/{owner}/{repo}/commits"],listContributors:["GET /repos/{owner}/{repo}/contributors"],listDeployKeys:["GET /repos/{owner}/{repo}/keys"],listDeploymentStatuses:["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"],listDeployments:["GET /repos/{owner}/{repo}/deployments"],listForAuthenticatedUser:["GET /user/repos"],listForOrg:["GET /orgs/{org}/repos"],listForUser:["GET /users/{username}/repos"],listForks:["GET /repos/{owner}/{repo}/forks"],listInvitations:["GET /repos/{owner}/{repo}/invitations"],listInvitationsForAuthenticatedUser:["GET /user/repository_invitations"],listLanguages:["GET /repos/{owner}/{repo}/languages"],listPagesBuilds:["GET /repos/{owner}/{repo}/pages/builds"],listPublic:["GET /repositories"],listPullRequestsAssociatedWithCommit:["GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls",{mediaType:{previews:["groot"]}}],listReleaseAssets:["GET /repos/{owner}/{repo}/releases/{release_id}/assets"],listReleases:["GET /repos/{owner}/{repo}/releases"],listTags:["GET /repos/{owner}/{repo}/tags"],listTeams:["GET /repos/{owner}/{repo}/teams"],listWebhooks:["GET /repos/{owner}/{repo}/hooks"],merge:["POST /repos/{owner}/{repo}/merges"],pingWebhook:["POST /repos/{owner}/{repo}/hooks/{hook_id}/pings"],removeAppAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",{},{mapToData:"apps"}],removeCollaborator:["DELETE /repos/{owner}/{repo}/collaborators/{username}"],removeStatusCheckContexts:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",{},{mapToData:"contexts"}],removeStatusCheckProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"],removeTeamAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",{},{mapToData:"teams"}],removeUserAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",{},{mapToData:"users"}],renameBranch:["POST /repos/{owner}/{repo}/branches/{branch}/rename"],replaceAllTopics:["PUT /repos/{owner}/{repo}/topics",{mediaType:{previews:["mercy"]}}],requestPagesBuild:["POST /repos/{owner}/{repo}/pages/builds"],setAdminBranchProtection:["POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"],setAppAccessRestrictions:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",{},{mapToData:"apps"}],setStatusCheckContexts:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",{},{mapToData:"contexts"}],setTeamAccessRestrictions:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",{},{mapToData:"teams"}],setUserAccessRestrictions:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",{},{mapToData:"users"}],testPushWebhook:["POST /repos/{owner}/{repo}/hooks/{hook_id}/tests"],transfer:["POST /repos/{owner}/{repo}/transfer"],update:["PATCH /repos/{owner}/{repo}"],updateBranchProtection:["PUT /repos/{owner}/{repo}/branches/{branch}/protection"],updateCommitComment:["PATCH /repos/{owner}/{repo}/comments/{comment_id}"],updateInformationAboutPagesSite:["PUT /repos/{owner}/{repo}/pages"],updateInvitation:["PATCH /repos/{owner}/{repo}/invitations/{invitation_id}"],updatePullRequestReviewProtection:["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"],updateRelease:["PATCH /repos/{owner}/{repo}/releases/{release_id}"],updateReleaseAsset:["PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}"],updateStatusCheckPotection:["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks",{},{renamed:["repos","updateStatusCheckProtection"]}],updateStatusCheckProtection:["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"],updateWebhook:["PATCH /repos/{owner}/{repo}/hooks/{hook_id}"],updateWebhookConfigForRepo:["PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config"],uploadReleaseAsset:["POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}",{baseUrl:"https://uploads.github.com"}]},search:{code:["GET /search/code"],commits:["GET /search/commits",{mediaType:{previews:["cloak"]}}],issuesAndPullRequests:["GET /search/issues"],labels:["GET /search/labels"],repos:["GET /search/repositories"],topics:["GET /search/topics",{mediaType:{previews:["mercy"]}}],users:["GET /search/users"]},secretScanning:{getAlert:["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"],listAlertsForRepo:["GET /repos/{owner}/{repo}/secret-scanning/alerts"],updateAlert:["PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"]},teams:{addOrUpdateMembershipForUserInOrg:["PUT /orgs/{org}/teams/{team_slug}/memberships/{username}"],addOrUpdateProjectPermissionsInOrg:["PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}",{mediaType:{previews:["inertia"]}}],addOrUpdateRepoPermissionsInOrg:["PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"],checkPermissionsForProjectInOrg:["GET /orgs/{org}/teams/{team_slug}/projects/{project_id}",{mediaType:{previews:["inertia"]}}],checkPermissionsForRepoInOrg:["GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"],create:["POST /orgs/{org}/teams"],createDiscussionCommentInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"],createDiscussionInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions"],deleteDiscussionCommentInOrg:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"],deleteDiscussionInOrg:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"],deleteInOrg:["DELETE /orgs/{org}/teams/{team_slug}"],getByName:["GET /orgs/{org}/teams/{team_slug}"],getDiscussionCommentInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"],getDiscussionInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"],getMembershipForUserInOrg:["GET /orgs/{org}/teams/{team_slug}/memberships/{username}"],list:["GET /orgs/{org}/teams"],listChildInOrg:["GET /orgs/{org}/teams/{team_slug}/teams"],listDiscussionCommentsInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"],listDiscussionsInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions"],listForAuthenticatedUser:["GET /user/teams"],listMembersInOrg:["GET /orgs/{org}/teams/{team_slug}/members"],listPendingInvitationsInOrg:["GET /orgs/{org}/teams/{team_slug}/invitations"],listProjectsInOrg:["GET /orgs/{org}/teams/{team_slug}/projects",{mediaType:{previews:["inertia"]}}],listReposInOrg:["GET /orgs/{org}/teams/{team_slug}/repos"],removeMembershipForUserInOrg:["DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}"],removeProjectInOrg:["DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}"],removeRepoInOrg:["DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"],updateDiscussionCommentInOrg:["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"],updateDiscussionInOrg:["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"],updateInOrg:["PATCH /orgs/{org}/teams/{team_slug}"]},users:{addEmailForAuthenticated:["POST /user/emails"],block:["PUT /user/blocks/{username}"],checkBlocked:["GET /user/blocks/{username}"],checkFollowingForUser:["GET /users/{username}/following/{target_user}"],checkPersonIsFollowedByAuthenticated:["GET /user/following/{username}"],createGpgKeyForAuthenticated:["POST /user/gpg_keys"],createPublicSshKeyForAuthenticated:["POST /user/keys"],deleteEmailForAuthenticated:["DELETE /user/emails"],deleteGpgKeyForAuthenticated:["DELETE /user/gpg_keys/{gpg_key_id}"],deletePublicSshKeyForAuthenticated:["DELETE /user/keys/{key_id}"],follow:["PUT /user/following/{username}"],getAuthenticated:["GET /user"],getByUsername:["GET /users/{username}"],getContextForUser:["GET /users/{username}/hovercard"],getGpgKeyForAuthenticated:["GET /user/gpg_keys/{gpg_key_id}"],getPublicSshKeyForAuthenticated:["GET /user/keys/{key_id}"],list:["GET /users"],listBlockedByAuthenticated:["GET /user/blocks"],listEmailsForAuthenticated:["GET /user/emails"],listFollowedByAuthenticated:["GET /user/following"],listFollowersForAuthenticatedUser:["GET /user/followers"],listFollowersForUser:["GET /users/{username}/followers"],listFollowingForUser:["GET /users/{username}/following"],listGpgKeysForAuthenticated:["GET /user/gpg_keys"],listGpgKeysForUser:["GET /users/{username}/gpg_keys"],listPublicEmailsForAuthenticated:["GET /user/public_emails"],listPublicKeysForUser:["GET /users/{username}/keys"],listPublicSshKeysForAuthenticated:["GET /user/keys"],setPrimaryEmailVisibilityForAuthenticated:["PATCH /user/email/visibility"],unblock:["DELETE /user/blocks/{username}"],unfollow:["DELETE /user/following/{username}"],updateAuthenticated:["PATCH /user"]}};function sd(e,p,a,d,t){const r=e.request.defaults(d);return Object.assign((function(...d){let i=r.endpoint.merge(...d);if(t.mapToData)return i=Object.assign({},i,{data:i[t.mapToData],[t.mapToData]:void 0}),r(i);if(t.renamed){const[d,r]=t.renamed;e.log.warn(`octokit.${p}.${a}() has been renamed to octokit.${d}.${r}()`)}if(t.deprecated&&e.log.warn(t.deprecated),t.renamedParameters){const i=r.endpoint.merge(...d);for(const[d,r]of Object.entries(t.renamedParameters))d in i&&(e.log.warn(`"${d}" parameter is deprecated for "octokit.${p}.${a}()". Use "${r}" instead`),r in i||(i[r]=i[d]),delete i[d]);return r(i)}return r(...d)}),r)}function od(e){const p=function(e,p){const a={};for(const[d,t]of Object.entries(p))for(const[p,r]of Object.entries(t)){const[t,i,s]=r,[o,m]=t.split(/ /),l=Object.assign({method:o,url:m},i);a[d]||(a[d]={});const n=a[d];n[p]=s?sd(e,d,p,l,s):e.request.defaults(l)}return a}(e,id);return{...p,rest:p}}od.VERSION="4.15.1";var md=c(Object.freeze({__proto__:null,restEndpointMethods:od}));function ld(e,p,a){const d="function"==typeof p?p.endpoint(a):e.request.endpoint(p,a),t="function"==typeof p?p:e.request,r=d.method,i=d.headers;let s=d.url;return{[Symbol.asyncIterator]:()=>({async next(){if(!s)return{done:!0};try{const e=function(e){if(!e.data)return{...e,data:[]};if(!("total_count"in e.data)||"url"in e.data)return e;const p=e.data.incomplete_results,a=e.data.repository_selection,d=e.data.total_count;delete e.data.incomplete_results,delete e.data.repository_selection,delete e.data.total_count;const t=Object.keys(e.data)[0],r=e.data[t];return e.data=r,void 0!==p&&(e.data.incomplete_results=p),void 0!==a&&(e.data.repository_selection=a),e.data.total_count=d,e}(await t({method:r,url:s,headers:i}));return s=((e.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1],{value:e}}catch(e){if(409!==e.status)throw e;return s="",{value:{status:200,headers:{},data:[]}}}}})}}function nd(e,p,a,d){return"function"==typeof a&&(d=a,a=void 0),ud(e,[],ld(e,p,a)[Symbol.asyncIterator](),d)}function ud(e,p,a,d){return a.next().then((t=>{if(t.done)return p;let r=!1;return p=p.concat(d?d(t.value,(function(){r=!0})):t.value.data),r?p:ud(e,p,a,d)}))}const cd=Object.assign(nd,{iterator:ld}),vd=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function hd(e){return{paginate:Object.assign(nd.bind(null,e),{iterator:ld.bind(null,e)})}}hd.VERSION="2.21.3";var wd=c(Object.freeze({__proto__:null,composePaginateRest:cd,isPaginatingEndpoint:function(e){return"string"==typeof e&&vd.includes(e)},paginateRest:hd,paginatingEndpoints:vd})),gd=u&&u.__createBinding||(Object.create?function(e,p,a,d){void 0===d&&(d=a),Object.defineProperty(e,d,{enumerable:!0,get:function(){return p[a]}})}:function(e,p,a,d){void 0===d&&(d=a),e[d]=p[a]}),fd=u&&u.__setModuleDefault||(Object.create?function(e,p){Object.defineProperty(e,"default",{enumerable:!0,value:p})}:function(e,p){e.default=p}),Td=u&&u.__importStar||function(e){if(e&&e.__esModule)return e;var p={};if(null!=e)for(var a in e)Object.hasOwnProperty.call(e,a)&&gd(p,e,a);return fd(p,e),p};Object.defineProperty(Be,"__esModule",{value:!0}),Be.getOctokitOptions=Be.GitHub=Be.context=void 0;const _d=Td(Fe),bd=Td(qe),Ed=rd,yd=md,Sd=wd;Be.context=new _d.Context;const Dd=bd.getApiBaseUrl(),Nd={baseUrl:Dd,request:{agent:bd.getProxyAgent(Dd)}};Be.GitHub=Ed.Octokit.plugin(yd.restEndpointMethods,Sd.paginateRest).defaults(Nd),Be.getOctokitOptions=function(e,p){const a=Object.assign({},p||{}),d=bd.getAuthString(e,a);return d&&(a.auth=d),a};var Ad=u&&u.__createBinding||(Object.create?function(e,p,a,d){void 0===d&&(d=a),Object.defineProperty(e,d,{enumerable:!0,get:function(){return p[a]}})}:function(e,p,a,d){void 0===d&&(d=a),e[d]=p[a]}),Od=u&&u.__setModuleDefault||(Object.create?function(e,p){Object.defineProperty(e,"default",{enumerable:!0,value:p})}:function(e,p){e.default=p}),kd=u&&u.__importStar||function(e){if(e&&e.__esModule)return e;var p={};if(null!=e)for(var a in e)Object.hasOwnProperty.call(e,a)&&Ad(p,e,a);return Od(p,e),p};Object.defineProperty(Ue,"__esModule",{value:!0}),Ue.getOctokit=Ue.context=void 0;const Gd=kd(Fe),Pd=Be;Ue.context=new Gd.Context,Ue.getOctokit=function(e,p){return new Pd.GitHub(Pd.getOctokitOptions(e,p))};var Vd={exports:{}},Cd=e,Rd=p,Ud=Cd.exists||Rd.exists,Fd=function(e,p){var a,d=[];["end_of_record"].concat(e.split("\n")).forEach((function(e){var p,t,r=(e=e.trim()).split(":"),i=[r.shift(),r.join(":")];switch(i[0].toUpperCase()){case"TN":a.title=i[1].trim();break;case"SF":a.file=i.slice(1).join(":").trim();break;case"FNF":a.functions.found=Number(i[1].trim());break;case"FNH":a.functions.hit=Number(i[1].trim());break;case"LF":a.lines.found=Number(i[1].trim());break;case"LH":a.lines.hit=Number(i[1].trim());break;case"DA":p=i[1].split(","),a.lines.details.push({line:Number(p[0]),hit:Number(p[1])});break;case"FN":t=i[1].split(","),a.functions.details.push({name:t[1],line:Number(t[0])});break;case"FNDA":t=i[1].split(","),a.functions.details.some((function(e,p){if(e.name===t[1]&&void 0===e.hit)return a.functions.details[p].hit=Number(t[0]),!0}));break;case"BRDA":t=i[1].split(","),a.branches.details.push({line:Number(t[0]),block:Number(t[1]),branch:Number(t[2]),taken:"-"===t[3]?0:Number(t[3])});break;case"BRF":a.branches.found=Number(i[1]);break;case"BRH":a.branches.hit=Number(i[1])}e.indexOf("end_of_record")>-1&&(d.push(a),a={lines:{found:0,hit:0,details:[]},functions:{hit:0,found:0,details:[]},branches:{hit:0,found:0,details:[]}})})),d.shift(),d.length?p(null,d):p("Failed to parse string")};Vd.exports=function(e,p){Ud(e,(function(a){if(!a)return Fd(e,p);Cd.readFile(e,"utf8",(function(e,a){Fd(a,p)}))}))},Vd.exports.source=Fd;const jd=e=>new Promise(((p,a)=>{Vd.exports(e,((e,d)=>{e?a(e):p(d)}))})),xd=e=>{let p=0,a=0;for(const d of e)p+=d.lines.hit,a+=d.lines.found;return p/a*100},Bd=e=>(...p)=>{const a="object"==typeof p[0]?Object.keys(p[0]).map((e=>` ${e}='${p[0][e]}'`)).join(""):"",d="string"==typeof p[0]?p:p.slice(1);return`<${e}${a}>${d.join("")}`},qd=Bd("details"),Ld=Bd("summary"),Id=Bd("tr"),Hd=Bd("td"),$d=Bd("th"),Md=Bd("b"),zd=Bd("table"),Wd=Bd("tbody"),Jd=Bd("a"),Kd=(...e)=>e.join(""),Yd=e=>{if(!e)return"N/A";const p=0===e.found?100:e.hit/e.found*100,a=p.toFixed(2).replace(/\.0*$/u,"");return(100===p?Kd:Md)(`${a}%`)},Zd=(e,p,a)=>Id(Hd(((e,p,a)=>{const d=e.file.replace(a.prefix,""),t=`https://github.com/${a.repository}/blob/${a.commit}/${d}`,r=d.split("/"),i=r[r.length-1];return Kd(p?"   ":"",Jd({href:t},i))})(e,p,a)),Hd(Yd(e.branches)),Hd(Yd(e.functions)),Hd(Yd(e.lines)),Hd(((e,p)=>[...(e.branches?e.branches.details:[]).filter((e=>0===e.taken)).map((e=>e.line)),...(e.lines?e.lines.details:[]).filter((e=>0===e.hit)).map((e=>e.line))].sort().map((a=>{const d=e.file.replace(p.prefix,""),t=`https://github.com/${p.repository}/blob/${p.commit}/${d}#L${a}`;return Jd({href:t},a)})).join(", "))(e,a))),Xd=e=>""===e?"":Id(Hd({colspan:5},Md(e))),Qd=(e,p)=>{const a=Id($d("File"),$d("Branches"),$d("Funcs"),$d("Lines"),$d("Uncovered Lines")),d={};for(const a of e){const e=a.file.replace(p.prefix,"").split("/").slice(0,-1).join("/");d[e]=d[e]||[],d[e].push(a)}const t=Object.keys(d).sort().reduce(((e,a)=>[...e,Xd(a),...d[a].map((e=>Zd(e,""!==a,p)))]),[]);return zd(Wd(a,...t))},et=e=>e.toFixed(2)<0?"❌":"✅",pt=e=>p=>0===e.filter((e=>e.lines.found===p.lines.found&&e.lines.hit===p.lines.hit)).length,at=(e,p,a)=>((e,p,a)=>{const{appName:d,base:t}=a,r=p?xd(p):0,i=(p?xd(e):0)-r,s=i>0?"+":"";let o="";i<0?o="▾":i>0&&(o="▴");const m=p?$d(et(i)," ",o," ",s,i.toFixed(2),"%"):"";let l=e;if(p){const a=e.filter(pt(p));l=p.filter(pt(e)).concat(a)}const n=`Coverage after merging into ${Md(t)}

`,u=Wd(d?Id($d(d),$d(xd(e).toFixed(2),"%"),m):Id($d(xd(e).toFixed(2),"%"),m));return Kd(n,zd(u),"\n\n",qd(Ld("Coverage Report"),Qd(l,a)))})(e,p,a),dt=(e,p,a)=>((e,p,a)=>{const{base:d}=a,t=e.map((e=>{const d=p.find((p=>p.packageName===e.packageName)),t=d?xd(d.lcov):0,r=(d?xd(e.lcov):0)-t,i=r>0?"+":"";let s="";r<0?s="▾":r>0&&(s="▴");const o=d?$d(et(r)," ",s," ",i,r.toFixed(2),"%"):"";let m=e.lcov;if(d){const p=e.lcov.filter(pt(d));m=d.filter(pt(e.lcov)).concat(p)}return`${zd(Wd(Id($d(e.packageName),$d(xd(e.lcov).toFixed(2),"%"),o)))} \n\n ${qd(Ld("Coverage Report"),Qd(m,a))}
`})),r=`Coverage after merging into ${Md(d)}

`;return Kd(r,t.join(""))})(e,p,a),tt=(e,p)=>p+e,rt=async({client:e,context:p,prNumber:a,body:d,hiddenHeader:t})=>{const r=await(async({client:e,context:p,prNumber:a,hiddenHeader:d})=>{const{data:t}=await e.issues.listComments({...p.repo,issue_number:a});return t.filter((({body:e})=>e.startsWith(d)))})({client:e,context:p,prNumber:a,hiddenHeader:t}),i=r.pop();return await(({client:e,context:p,comments:a})=>Promise.all(a.map((({id:a})=>e.issues.deleteComment({...p.repo,comment_id:a})))))({client:e,context:p,comments:r}),i?(({client:e,context:p,body:a,commentId:d},t)=>e.issues.updateComment({...p.repo,comment_id:d,body:tt(a,t)}))({client:e,context:p,body:d,commentId:i.id},t):(({client:e,context:p,prNumber:a,body:d},t)=>e.issues.createComment({...p.repo,issue_number:a,body:tt(d,t)}))({client:e,context:p,prNumber:a,body:d},t)},it=(a,d)=>{let t=d||[];return e.readdirSync(a).forEach((d=>{t=e.statSync(p.join(a,d)).isDirectory()?it(p.join(a,d),t):t.filter((e=>e.path.includes("lcov.info"))).concat({name:a.split("/")[1],path:p.join(a,d)})})),t},st=(a,d)=>{let t=d||[];return e.readdirSync(a).forEach((d=>{t=e.statSync(p.join(a,d)).isDirectory()?st(p.join(a,d),t):t.filter((e=>e.path.includes("lcov-base"))).concat({name:a.split("/")[1],path:p.join(a,d)})})),t};(async()=>{const{context:p={}}=Ue||{},a=Re.getInput("github-token"),d=Re.getInput("lcov-file")||"./coverage/lcov.info",t=Re.getInput("lcov-base"),r=Re.getInput("app-name"),i=Re.getInput("monorepo-base-path"),s=!i&&await e.promises.readFile(d,"utf-8").catch((e=>console.error(e)));if(!i&&!s)return void console.log(`No coverage report found at '${d}', exiting...`);const o=t&&await e.promises.readFile(t,"utf-8").catch((e=>console.error(e)));i||!t||o||console.log(`No coverage report found at '${t}', ignoring...`);const m=i?it(i):[],l=i?st(i):[],n=[],u=[];for(const p of m)if(p.path.includes(".info")){const a=await e.promises.readFile(p.path,"utf8"),d=await jd(a);n.push({packageName:p.name,lcov:d})}for(const p of l)if(p.path.includes(".info")){const a=await e.promises.readFile(p.path,"utf8"),d=await jd(a);u.push({packageName:p.name,lcov:d})}const c={repository:p.payload.repository.full_name,commit:p.payload.pull_request.head.sha,prefix:`${process.env.GITHUB_WORKSPACE}/`,head:p.payload.pull_request.head.ref,base:p.payload.pull_request.base.ref,appName:r},v=!i&&await jd(s),h=o&&await jd(o),w=Ue.getOctokit(a);await rt({client:w,context:p,prNumber:p.payload.pull_request.number,body:n.length?dt(n,u,c):at(v,h,c),hiddenHeader:r?`\x3c!-- ${r}-code-coverage-assistant --\x3e`:"\x3c!-- monorepo-code-coverage-assistant --\x3e"})})().catch((e=>{console.log(e),Re.setFailed(e.message)})); + */function op(e){return"[object Object]"===Object.prototype.toString.call(e)}function mp(e){var p,a;return!1!==op(e)&&(void 0===(p=e.constructor)||!1!==op(a=p.prototype)&&!1!==a.hasOwnProperty("isPrototypeOf"))}function np(e,p){const a=Object.assign({},e);return Object.keys(p).forEach((d=>{mp(p[d])?d in e?a[d]=np(e[d],p[d]):Object.assign(a,{[d]:p[d]}):Object.assign(a,{[d]:p[d]})})),a}function lp(e){for(const p in e)void 0===e[p]&&delete e[p];return e}function up(e,p,a){if("string"==typeof p){let[e,d]=p.split(" ");a=Object.assign(d?{method:e,url:d}:{url:e},a)}else a=Object.assign({},p);var d;a.headers=(d=a.headers)?Object.keys(d).reduce(((e,p)=>(e[p.toLowerCase()]=d[p],e)),{}):{},lp(a),lp(a.headers);const t=np(e||{},a);return e&&e.mediaType.previews.length&&(t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)),t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,""))),t}const cp=/\{[^}]+\}/g;function vp(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function hp(e,p){return Object.keys(e).filter((e=>!p.includes(e))).reduce(((p,a)=>(p[a]=e[a],p)),{})}function wp(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){return/%[0-9A-Fa-f]/.test(e)||(e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")),e})).join("")}function gp(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function fp(e,p,a){return p="+"===e||"#"===e?wp(p):gp(p),a?gp(a)+"="+p:p}function Tp(e){return null!=e}function _p(e){return";"===e||"&"===e||"?"===e}function bp(e,p){var a=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,d,t){if(d){let e="";const t=[];if(-1!==a.indexOf(d.charAt(0))&&(e=d.charAt(0),d=d.substr(1)),d.split(/,/g).forEach((function(a){var d=/([^:\*]*)(?::(\d+)|(\*))?/.exec(a);t.push(function(e,p,a,d){var t=e[a],r=[];if(Tp(t)&&""!==t)if("string"==typeof t||"number"==typeof t||"boolean"==typeof t)t=t.toString(),d&&"*"!==d&&(t=t.substring(0,parseInt(d,10))),r.push(fp(p,t,_p(p)?a:""));else if("*"===d)Array.isArray(t)?t.filter(Tp).forEach((function(e){r.push(fp(p,e,_p(p)?a:""))})):Object.keys(t).forEach((function(e){Tp(t[e])&&r.push(fp(p,t[e],e))}));else{const e=[];Array.isArray(t)?t.filter(Tp).forEach((function(a){e.push(fp(p,a))})):Object.keys(t).forEach((function(a){Tp(t[a])&&(e.push(gp(a)),e.push(fp(p,t[a].toString())))})),_p(p)?r.push(gp(a)+"="+e.join(",")):0!==e.length&&r.push(e.join(","))}else";"===p?Tp(t)&&r.push(gp(a)):""!==t||"&"!==p&&"?"!==p?""===t&&r.push(""):r.push(gp(a)+"=");return r}(p,e,d[1],d[2]||d[3]))})),e&&"+"!==e){var r=",";return"?"===e?r="&":"#"!==e&&(r=e),(0!==t.length?e:"")+t.join(r)}return t.join(",")}return wp(t)}))}function Ep(e){let p,a=e.method.toUpperCase(),d=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}"),t=Object.assign({},e.headers),r=hp(e,["method","baseUrl","url","headers","request","mediaType"]);const i=function(e){const p=e.match(cp);return p?p.map(vp).reduce(((e,p)=>e.concat(p)),[]):[]}(d);var s;d=(s=d,{expand:bp.bind(null,s)}).expand(r),/^http/.test(d)||(d=e.baseUrl+d);const o=hp(r,Object.keys(e).filter((e=>i.includes(e))).concat("baseUrl"));if(!/application\/octet-stream/i.test(t.accept)&&(e.mediaType.format&&(t.accept=t.accept.split(/,/).map((p=>p.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")),e.mediaType.previews.length)){const p=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=p.concat(e.mediaType.previews).map((p=>`application/vnd.github.${p}-preview${e.mediaType.format?`.${e.mediaType.format}`:"+json"}`)).join(",")}return["GET","HEAD"].includes(a)?d=function(e,p){const a=/\?/.test(e)?"&":"?",d=Object.keys(p);return 0===d.length?e:e+a+d.map((e=>"q"===e?"q="+p.q.split("+").map(encodeURIComponent).join("+"):`${e}=${encodeURIComponent(p[e])}`)).join("&")}(d,o):"data"in o?p=o.data:Object.keys(o).length?p=o:t["content-length"]=0,t["content-type"]||void 0===p||(t["content-type"]="application/json; charset=utf-8"),["PATCH","PUT"].includes(a)&&void 0===p&&(p=""),Object.assign({method:a,url:d,headers:t},void 0!==p?{body:p}:null,e.request?{request:e.request}:null)}function yp(e,p,a){return Ep(up(e,p,a))}const Sp=function e(p,a){const d=up(p,a),t=yp.bind(null,d);return Object.assign(t,{DEFAULTS:d,defaults:e.bind(null,d),merge:up.bind(null,d),parse:Ep})}(null,{method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":`octokit-endpoint.js/6.0.10 ${Je()}`},mediaType:{format:"",previews:[]}});var Dp={},Np={exports:{}},Ap={},Op=Ap;function kp(e){return e<0?-1:1}function Gp(e,p){p.unsigned||--e;const a=p.unsigned?0:-Math.pow(2,e),d=Math.pow(2,e)-1,t=p.moduloBitLength?Math.pow(2,p.moduloBitLength):Math.pow(2,e),r=p.moduloBitLength?Math.pow(2,p.moduloBitLength-1):Math.pow(2,e-1);return function(e,i){i||(i={});let s=+e;if(i.enforceRange){if(!Number.isFinite(s))throw new TypeError("Argument is not a finite number");if(s=kp(s)*Math.floor(Math.abs(s)),sd)throw new TypeError("Argument is not in byte range");return s}if(!isNaN(s)&&i.clamp)return s=function(e){return e%1==.5&&0==(1&e)?Math.floor(e):Math.round(e)}(s),sd&&(s=d),s;if(!Number.isFinite(s)||0===s)return 0;if(s=kp(s)*Math.floor(Math.abs(s)),s%=t,!p.unsigned&&s>=r)return s-t;if(p.unsigned)if(s<0)s+=t;else if(-0===s)return 0;return s}}Ap.void=function(){},Ap.boolean=function(e){return!!e},Ap.byte=Gp(8,{unsigned:!1}),Ap.octet=Gp(8,{unsigned:!0}),Ap.short=Gp(16,{unsigned:!1}),Ap["unsigned short"]=Gp(16,{unsigned:!0}),Ap.long=Gp(32,{unsigned:!1}),Ap["unsigned long"]=Gp(32,{unsigned:!0}),Ap["long long"]=Gp(32,{unsigned:!1,moduloBitLength:64}),Ap["unsigned long long"]=Gp(32,{unsigned:!0,moduloBitLength:64}),Ap.double=function(e){const p=+e;if(!Number.isFinite(p))throw new TypeError("Argument is not a finite floating-point value");return p},Ap["unrestricted double"]=function(e){const p=+e;if(isNaN(p))throw new TypeError("Argument is NaN");return p},Ap.float=Ap.double,Ap["unrestricted float"]=Ap["unrestricted double"],Ap.DOMString=function(e,p){return p||(p={}),p.treatNullAsEmptyString&&null===e?"":String(e)},Ap.ByteString=function(e,p){const a=String(e);let d;for(let e=0;void 0!==(d=a.codePointAt(e));++e)if(d>255)throw new TypeError("Argument is not a valid bytestring");return a},Ap.USVString=function(e){const p=String(e),a=p.length,d=[];for(let e=0;e57343)d.push(String.fromCodePoint(t));else if(56320<=t&&t<=57343)d.push(String.fromCodePoint(65533));else if(e===a-1)d.push(String.fromCodePoint(65533));else{const a=p.charCodeAt(e+1);if(56320<=a&&a<=57343){const p=1023&t,r=1023&a;d.push(String.fromCodePoint(65536+1024*p+r)),++e}else d.push(String.fromCodePoint(65533))}}return d.join("")},Ap.Date=function(e,p){if(!(e instanceof Date))throw new TypeError("Argument is not a Date object");if(!isNaN(e))return e},Ap.RegExp=function(e,p){return e instanceof RegExp||(e=new RegExp(e)),e};var Pp,Vp={exports:{}};(Pp=Vp).exports.mixin=function(e,p){const a=Object.getOwnPropertyNames(p);for(let d=0;d=e)return t;t[0][0]>e?a=d-1:p=d+1}return null}var Lp=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;function Ip(e){return e.replace(Lp,"_").length}var Hp=/[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E4-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u18A9\u1920-\u192B\u1930-\u193B\u19B0-\u19C0\u19C8\u19C9\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C4\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2D]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC7F-\uDC82\uDCB0-\uDCBA\uDD00-\uDD02\uDD27-\uDD34\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDE2C-\uDE37\uDEDF-\uDEEA\uDF01-\uDF03\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDE30-\uDE40\uDEAB-\uDEB7]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF51-\uDF7E\uDF8F-\uDF92]|\uD82F[\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD83A[\uDCD0-\uDCD6]|\uDB40[\uDD00-\uDDEF]/;function $p(e,p){"xn--"===e.substr(0,4)&&(e=Fp.toUnicode(e));var a=!1;(Bp(e)!==e||"-"===e[3]&&"-"===e[4]||"-"===e[0]||"-"===e[e.length-1]||-1!==e.indexOf(".")||0===e.search(Hp))&&(a=!0);for(var d=Ip(e),t=0;t253||0===i.length)&&(t.error=!0);for(var s=0;s63||0===r.length){t.error=!0;break}}return t.error?null:r.join(".")},Up.toUnicode=function(e,p){var a=Mp(e,p,xp.NONTRANSITIONAL);return{domain:a.string,error:a.error}},Up.PROCESSING_OPTIONS=xp,function(e){const p=n,a=Up,d={ftp:21,file:null,gopher:70,http:80,https:443,ws:80,wss:443},t=Symbol("failure");function r(e){return p.ucs2.decode(e).length}function i(e,p){const a=e[p];return isNaN(a)?void 0:String.fromCodePoint(a)}function s(e){return e>=48&&e<=57}function o(e){return e>=65&&e<=90||e>=97&&e<=122}function m(e){return s(e)||e>=65&&e<=70||e>=97&&e<=102}function l(e){return"."===e||"%2e"===e.toLowerCase()}function u(e){return 2===e.length&&o(e.codePointAt(0))&&(":"===e[1]||"|"===e[1])}function c(e){return void 0!==d[e]}function v(e){return c(e.scheme)}function h(e){let p=e.toString(16).toUpperCase();return 1===p.length&&(p="0"+p),"%"+p}function w(e){return e<=31||e>126}const g=new Set([32,34,35,60,62,63,96,123,125]);function f(e){return w(e)||g.has(e)}const T=new Set([47,58,59,61,64,91,92,93,94,124]);function _(e){return f(e)||T.has(e)}function b(e,p){const a=String.fromCodePoint(e);return p(e)?function(e){const p=new Buffer(e);let a="";for(let e=0;e=2&&"0"===e.charAt(0)&&"x"===e.charAt(1).toLowerCase()?(e=e.substring(2),p=16):e.length>=2&&"0"===e.charAt(0)&&(e=e.substring(1),p=8),""===e)return 0;return(10===p?/[^0-9]/:16===p?/[^0-9A-Fa-f]/:/[^0-7]/).test(e)?t:parseInt(e,p)}function y(e,d){if("["===e[0])return"]"!==e[e.length-1]?t:function(e){const a=[0,0,0,0,0,0,0,0];let d=0,r=null,o=0;if(58===(e=p.ucs2.decode(e))[o]){if(58!==e[o+1])return t;o+=2,++d,r=d}for(;o6)return t;let p=0;for(;void 0!==e[o];){let r=null;if(p>0){if(!(46===e[o]&&p<4))return t;++o}if(!s(e[o]))return t;for(;s(e[o]);){const p=parseInt(i(e,o));if(null===r)r=p;else{if(0===r)return t;r=10*r+p}if(r>255)return t;++o}a[d]=256*a[d]+r,++p,2!==p&&4!==p||++d}if(4!==p)return t;break}if(58===e[o]){if(++o,void 0===e[o])return t}else if(void 0!==e[o])return t;a[d]=p,++d}if(null!==r){let e=d-r;for(d=7;0!==d&&e>0;){const p=a[r+e-1];a[r+e-1]=a[d],a[d]=p,--d,--e}}else if(null===r&&8!==d)return t;return a}(e.substring(1,e.length-1));if(!d)return function(e){if(a=e,-1!==a.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|\?|@|\[|\\|\]/))return t;var a;let d="";const r=p.ucs2.decode(e);for(let e=0;e1&&p.pop(),p.length>4)return e;const a=[];for(const d of p){if(""===d)return e;const p=E(d);if(p===t)return e;a.push(p)}for(let e=0;e255)return t;if(a[a.length-1]>=Math.pow(256,5-a.length))return t;let d=a.pop(),r=0;for(const e of a)d+=e*Math.pow(256,3-r),++r;return d}(o);return"number"==typeof n||n===t?n:o}function S(e){return"number"==typeof e?function(e){let p="",a=e;for(let e=1;e<=4;++e)p=String(a%256)+p,4!==e&&(p="."+p),a=Math.floor(a/256);return p}(e):e instanceof Array?"["+function(e){let p="";const a=function(e){let p=null,a=1,d=null,t=0;for(let r=0;ra&&(p=d,a=t),d=null,t=0):(null===d&&(d=r),++t);return t>a&&(p=d,a=t),{idx:p,len:a}}(e),d=a.idx;let t=!1;for(let a=0;a<=7;++a)t&&0===e[a]||(t&&(t=!1),d!==a?(p+=e[a].toString(16),7!==a&&(p+=":")):(p+=0===a?"::":":",t=!0));return p}(e)+"]":e}function D(e){const p=e.path;var a;0!==p.length&&("file"===e.scheme&&1===p.length&&(a=p[0],/^[A-Za-z]:$/.test(a))||p.pop())}function N(e){return""!==e.username||""!==e.password}function A(e,a,d,r,i){if(this.pointer=0,this.input=e,this.base=a||null,this.encodingOverride=d||"utf-8",this.stateOverride=i,this.url=r,this.failure=!1,this.parseError=!1,!this.url){this.url={scheme:"",username:"",password:"",host:null,port:null,path:[],query:null,fragment:null,cannotBeABaseURL:!1};const e=function(e){return e.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g,"")}(this.input);e!==this.input&&(this.parseError=!0),this.input=e}const s=function(e){return e.replace(/\u0009|\u000A|\u000D/g,"")}(this.input);for(s!==this.input&&(this.parseError=!0),this.input=s,this.state=i||"scheme start",this.buffer="",this.atFlag=!1,this.arrFlag=!1,this.passwordTokenSeenFlag=!1,this.input=p.ucs2.decode(this.input);this.pointer<=this.input.length;++this.pointer){const e=this.input[this.pointer],p=isNaN(e)?void 0:String.fromCodePoint(e),a=this["parse "+this.state](e,p);if(!a)break;if(a===t){this.failure=!0;break}}}A.prototype["parse scheme start"]=function(e,p){if(o(e))this.buffer+=p.toLowerCase(),this.state="scheme";else{if(this.stateOverride)return this.parseError=!0,t;this.state="no scheme",--this.pointer}return!0},A.prototype["parse scheme"]=function(e,p){if(function(e){return o(e)||s(e)}(e)||43===e||45===e||46===e)this.buffer+=p.toLowerCase();else if(58===e){if(this.stateOverride){if(v(this.url)&&!c(this.buffer))return!1;if(!v(this.url)&&c(this.buffer))return!1;if((N(this.url)||null!==this.url.port)&&"file"===this.buffer)return!1;if("file"===this.url.scheme&&(""===this.url.host||null===this.url.host))return!1}if(this.url.scheme=this.buffer,this.buffer="",this.stateOverride)return!1;"file"===this.url.scheme?(47===this.input[this.pointer+1]&&47===this.input[this.pointer+2]||(this.parseError=!0),this.state="file"):v(this.url)&&null!==this.base&&this.base.scheme===this.url.scheme?this.state="special relative or authority":v(this.url)?this.state="special authority slashes":47===this.input[this.pointer+1]?(this.state="path or authority",++this.pointer):(this.url.cannotBeABaseURL=!0,this.url.path.push(""),this.state="cannot-be-a-base-URL path")}else{if(this.stateOverride)return this.parseError=!0,t;this.buffer="",this.state="no scheme",this.pointer=-1}return!0},A.prototype["parse no scheme"]=function(e){return null===this.base||this.base.cannotBeABaseURL&&35!==e?t:(this.base.cannotBeABaseURL&&35===e?(this.url.scheme=this.base.scheme,this.url.path=this.base.path.slice(),this.url.query=this.base.query,this.url.fragment="",this.url.cannotBeABaseURL=!0,this.state="fragment"):"file"===this.base.scheme?(this.state="file",--this.pointer):(this.state="relative",--this.pointer),!0)},A.prototype["parse special relative or authority"]=function(e){return 47===e&&47===this.input[this.pointer+1]?(this.state="special authority ignore slashes",++this.pointer):(this.parseError=!0,this.state="relative",--this.pointer),!0},A.prototype["parse path or authority"]=function(e){return 47===e?this.state="authority":(this.state="path",--this.pointer),!0},A.prototype["parse relative"]=function(e){return this.url.scheme=this.base.scheme,isNaN(e)?(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(),this.url.query=this.base.query):47===e?this.state="relative slash":63===e?(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(),this.url.query="",this.state="query"):35===e?(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(),this.url.query=this.base.query,this.url.fragment="",this.state="fragment"):v(this.url)&&92===e?(this.parseError=!0,this.state="relative slash"):(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(0,this.base.path.length-1),this.state="path",--this.pointer),!0},A.prototype["parse relative slash"]=function(e){return!v(this.url)||47!==e&&92!==e?47===e?this.state="authority":(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.state="path",--this.pointer):(92===e&&(this.parseError=!0),this.state="special authority ignore slashes"),!0},A.prototype["parse special authority slashes"]=function(e){return 47===e&&47===this.input[this.pointer+1]?(this.state="special authority ignore slashes",++this.pointer):(this.parseError=!0,this.state="special authority ignore slashes",--this.pointer),!0},A.prototype["parse special authority ignore slashes"]=function(e){return 47!==e&&92!==e?(this.state="authority",--this.pointer):this.parseError=!0,!0},A.prototype["parse authority"]=function(e,p){if(64===e){this.parseError=!0,this.atFlag&&(this.buffer="%40"+this.buffer),this.atFlag=!0;const e=r(this.buffer);for(let p=0;pMath.pow(2,16)-1)return this.parseError=!0,t;this.url.port=e===(a=this.url.scheme,d[a])?null:e,this.buffer=""}if(this.stateOverride)return!1;this.state="path start",--this.pointer}var a;return!0};const O=new Set([47,92,63,35]);A.prototype["parse file"]=function(e){var p,a;return this.url.scheme="file",47===e||92===e?(92===e&&(this.parseError=!0),this.state="file slash"):null!==this.base&&"file"===this.base.scheme?isNaN(e)?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),this.url.query=this.base.query):63===e?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),this.url.query="",this.state="query"):35===e?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),this.url.query=this.base.query,this.url.fragment="",this.state="fragment"):(this.input.length-this.pointer-1==0||(p=e,a=this.input[this.pointer+1],!o(p)||58!==a&&124!==a)||this.input.length-this.pointer-1>=2&&!O.has(this.input[this.pointer+2])?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),D(this.url)):this.parseError=!0,this.state="path",--this.pointer):(this.state="path",--this.pointer),!0},A.prototype["parse file slash"]=function(e){var p;return 47===e||92===e?(92===e&&(this.parseError=!0),this.state="file host"):(null!==this.base&&"file"===this.base.scheme&&(2===(p=this.base.path[0]).length&&o(p.codePointAt(0))&&":"===p[1]?this.url.path.push(this.base.path[0]):this.url.host=this.base.host),this.state="path",--this.pointer),!0},A.prototype["parse file host"]=function(e,p){if(isNaN(e)||47===e||92===e||63===e||35===e)if(--this.pointer,!this.stateOverride&&u(this.buffer))this.parseError=!0,this.state="path";else if(""===this.buffer){if(this.url.host="",this.stateOverride)return!1;this.state="path start"}else{let e=y(this.buffer,v(this.url));if(e===t)return t;if("localhost"===e&&(e=""),this.url.host=e,this.stateOverride)return!1;this.buffer="",this.state="path start"}else this.buffer+=p;return!0},A.prototype["parse path start"]=function(e){return v(this.url)?(92===e&&(this.parseError=!0),this.state="path",47!==e&&92!==e&&--this.pointer):this.stateOverride||63!==e?this.stateOverride||35!==e?void 0!==e&&(this.state="path",47!==e&&--this.pointer):(this.url.fragment="",this.state="fragment"):(this.url.query="",this.state="query"),!0},A.prototype["parse path"]=function(e){if(isNaN(e)||47===e||v(this.url)&&92===e||!this.stateOverride&&(63===e||35===e)){if(v(this.url)&&92===e&&(this.parseError=!0),".."===(p=(p=this.buffer).toLowerCase())||"%2e."===p||".%2e"===p||"%2e%2e"===p?(D(this.url),47===e||v(this.url)&&92===e||this.url.path.push("")):!l(this.buffer)||47===e||v(this.url)&&92===e?l(this.buffer)||("file"===this.url.scheme&&0===this.url.path.length&&u(this.buffer)&&(""!==this.url.host&&null!==this.url.host&&(this.parseError=!0,this.url.host=""),this.buffer=this.buffer[0]+":"),this.url.path.push(this.buffer)):this.url.path.push(""),this.buffer="","file"===this.url.scheme&&(void 0===e||63===e||35===e))for(;this.url.path.length>1&&""===this.url.path[0];)this.parseError=!0,this.url.path.shift();63===e&&(this.url.query="",this.state="query"),35===e&&(this.url.fragment="",this.state="fragment")}else 37!==e||m(this.input[this.pointer+1])&&m(this.input[this.pointer+2])||(this.parseError=!0),this.buffer+=b(e,f);var p;return!0},A.prototype["parse cannot-be-a-base-URL path"]=function(e){return 63===e?(this.url.query="",this.state="query"):35===e?(this.url.fragment="",this.state="fragment"):(isNaN(e)||37===e||(this.parseError=!0),37!==e||m(this.input[this.pointer+1])&&m(this.input[this.pointer+2])||(this.parseError=!0),isNaN(e)||(this.url.path[0]=this.url.path[0]+b(e,w))),!0},A.prototype["parse query"]=function(e,p){if(isNaN(e)||!this.stateOverride&&35===e){v(this.url)&&"ws"!==this.url.scheme&&"wss"!==this.url.scheme||(this.encodingOverride="utf-8");const p=new Buffer(this.buffer);for(let e=0;e126||34===p[e]||35===p[e]||60===p[e]||62===p[e]?this.url.query+=h(p[e]):this.url.query+=String.fromCodePoint(p[e]);this.buffer="",35===e&&(this.url.fragment="",this.state="fragment")}else 37!==e||m(this.input[this.pointer+1])&&m(this.input[this.pointer+2])||(this.parseError=!0),this.buffer+=p;return!0},A.prototype["parse fragment"]=function(e){return isNaN(e)||(0===e?this.parseError=!0:(37!==e||m(this.input[this.pointer+1])&&m(this.input[this.pointer+2])||(this.parseError=!0),this.url.fragment+=b(e,w))),!0},e.exports.serializeURL=function(e,p){let a=e.scheme+":";if(null!==e.host?(a+="//",""===e.username&&""===e.password||(a+=e.username,""!==e.password&&(a+=":"+e.password),a+="@"),a+=S(e.host),null!==e.port&&(a+=":"+e.port)):null===e.host&&"file"===e.scheme&&(a+="//"),e.cannotBeABaseURL)a+=e.path[0];else for(const p of e.path)a+="/"+p;return null!==e.query&&(a+="?"+e.query),p||null===e.fragment||(a+="#"+e.fragment),a},e.exports.serializeURLOrigin=function(p){switch(p.scheme){case"blob":try{return e.exports.serializeURLOrigin(e.exports.parseURL(p.path[0]))}catch(e){return"null"}case"ftp":case"gopher":case"http":case"https":case"ws":case"wss":return function(e){let p=e.scheme+"://";return p+=S(e.host),null!==e.port&&(p+=":"+e.port),p}({scheme:p.scheme,host:p.host,port:p.port});case"file":return"file://";default:return"null"}},e.exports.basicURLParse=function(e,p){void 0===p&&(p={});const a=new A(e,p.baseURL,p.encodingOverride,p.url,p.stateOverride);return a.failure?"failure":a.url},e.exports.setTheUsername=function(e,a){e.username="";const d=p.ucs2.decode(a);for(let p=0;p!!e&&e[t]instanceof d.implementation,create(e,p){let a=Object.create(r.prototype);return this.setup(a,e,p),a},setup(e,p,r){r||(r={}),r.wrapper=e,e[t]=new d.implementation(p,r),e[t][a.wrapperSymbol]=e},interface:r,expose:{Window:{URL:r},Worker:{URL:r}}}}(Np),Dp.URL=Np.exports.interface,Dp.serializeURL=Rp.exports.serializeURL,Dp.serializeURLOrigin=Rp.exports.serializeURLOrigin,Dp.basicURLParse=Rp.exports.basicURLParse,Dp.setTheUsername=Rp.exports.setTheUsername,Dp.setThePassword=Rp.exports.setThePassword,Dp.serializeHost=Rp.exports.serializeHost,Dp.serializeInteger=Rp.exports.serializeInteger,Dp.parseURL=Rp.exports.parseURL;const Wp=o.Readable,Jp=Symbol("buffer"),Kp=Symbol("type");class Yp{constructor(){this[Kp]="";const e=arguments[0],p=arguments[1],a=[];let d=0;if(e){const p=e,t=Number(p.length);for(let e=0;e1&&void 0!==arguments[1]?arguments[1]:{},d=a.size;let t=void 0===d?0:d;var r=a.timeout;let i=void 0===r?0:r;null==e?e=null:da(e)?e=Buffer.from(e.toString()):ta(e)||Buffer.isBuffer(e)||("[object ArrayBuffer]"===Object.prototype.toString.call(e)?e=Buffer.from(e):ArrayBuffer.isView(e)?e=Buffer.from(e.buffer,e.byteOffset,e.byteLength):e instanceof o||(e=Buffer.from(String(e)))),this[Qp]={body:e,disturbed:!1,error:null},this.size=t,this.timeout=i,e instanceof o&&e.on("error",(function(e){const a="AbortError"===e.name?e:new Zp(`Invalid response body while trying to fetch ${p.url}: ${e.message}`,"system",e);p[Qp].error=a}))}function aa(){var e=this;if(this[Qp].disturbed)return pa.Promise.reject(new TypeError(`body used already for: ${this.url}`));if(this[Qp].disturbed=!0,this[Qp].error)return pa.Promise.reject(this[Qp].error);let p=this.body;if(null===p)return pa.Promise.resolve(Buffer.alloc(0));if(ta(p)&&(p=p.stream()),Buffer.isBuffer(p))return pa.Promise.resolve(p);if(!(p instanceof o))return pa.Promise.resolve(Buffer.alloc(0));let a=[],d=0,t=!1;return new pa.Promise((function(r,i){let s;e.timeout&&(s=setTimeout((function(){t=!0,i(new Zp(`Response timeout while trying to fetch ${e.url} (over ${e.timeout}ms)`,"body-timeout"))}),e.timeout)),p.on("error",(function(p){"AbortError"===p.name?(t=!0,i(p)):i(new Zp(`Invalid response body while trying to fetch ${e.url}: ${p.message}`,"system",p))})),p.on("data",(function(p){if(!t&&null!==p){if(e.size&&d+p.length>e.size)return t=!0,void i(new Zp(`content size at ${e.url} over limit: ${e.size}`,"max-size"));d+=p.length,a.push(p)}})),p.on("end",(function(){if(!t){clearTimeout(s);try{r(Buffer.concat(a,d))}catch(p){i(new Zp(`Could not create Buffer from response body for ${e.url}: ${p.message}`,"system",p))}}}))}))}function da(e){return"object"==typeof e&&"function"==typeof e.append&&"function"==typeof e.delete&&"function"==typeof e.get&&"function"==typeof e.getAll&&"function"==typeof e.has&&"function"==typeof e.set&&("URLSearchParams"===e.constructor.name||"[object URLSearchParams]"===Object.prototype.toString.call(e)||"function"==typeof e.sort)}function ta(e){return"object"==typeof e&&"function"==typeof e.arrayBuffer&&"string"==typeof e.type&&"function"==typeof e.stream&&"function"==typeof e.constructor&&"string"==typeof e.constructor.name&&/^(Blob|File)$/.test(e.constructor.name)&&/^(Blob|File)$/.test(e[Symbol.toStringTag])}function ra(e){let p,a,d=e.body;if(e.bodyUsed)throw new Error("cannot clone body after it is used");return d instanceof o&&"function"!=typeof d.getBoundary&&(p=new ea,a=new ea,d.pipe(p),d.pipe(a),e[Qp].body=p,d=a),d}function ia(e){return null===e?null:"string"==typeof e?"text/plain;charset=UTF-8":da(e)?"application/x-www-form-urlencoded;charset=UTF-8":ta(e)?e.type||null:Buffer.isBuffer(e)||"[object ArrayBuffer]"===Object.prototype.toString.call(e)||ArrayBuffer.isView(e)?null:"function"==typeof e.getBoundary?`multipart/form-data;boundary=${e.getBoundary()}`:e instanceof o?null:"text/plain;charset=UTF-8"}function sa(e){const p=e.body;return null===p?0:ta(p)?p.size:Buffer.isBuffer(p)?p.length:p&&"function"==typeof p.getLengthSync&&(p._lengthRetrievers&&0==p._lengthRetrievers.length||p.hasKnownLength&&p.hasKnownLength())?p.getLengthSync():null}pa.prototype={get body(){return this[Qp].body},get bodyUsed(){return this[Qp].disturbed},arrayBuffer(){return aa.call(this).then((function(e){return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}))},blob(){let e=this.headers&&this.headers.get("content-type")||"";return aa.call(this).then((function(p){return Object.assign(new Yp([],{type:e.toLowerCase()}),{[Jp]:p})}))},json(){var e=this;return aa.call(this).then((function(p){try{return JSON.parse(p.toString())}catch(p){return pa.Promise.reject(new Zp(`invalid json response body at ${e.url} reason: ${p.message}`,"invalid-json"))}}))},text(){return aa.call(this).then((function(e){return e.toString()}))},buffer(){return aa.call(this)},textConverted(){var e=this;return aa.call(this).then((function(p){return function(e,p){if("function"!=typeof Xp)throw new Error("The package `encoding` must be installed to use the textConverted() function");const a=p.get("content-type");let d,t,r="utf-8";a&&(d=/charset=([^;]*)/i.exec(a));t=e.slice(0,1024).toString(),!d&&t&&(d=/0&&void 0!==arguments[0]?arguments[0]:void 0;if(this[ca]=Object.create(null),e instanceof va){const p=e.raw(),a=Object.keys(p);for(const e of a)for(const a of p[e])this.append(e,a)}else if(null==e);else{if("object"!=typeof e)throw new TypeError("Provided initializer must be an object");{const p=e[Symbol.iterator];if(null!=p){if("function"!=typeof p)throw new TypeError("Header pairs must be iterable");const a=[];for(const p of e){if("object"!=typeof p||"function"!=typeof p[Symbol.iterator])throw new TypeError("Each header pair must be iterable");a.push(Array.from(p))}for(const e of a){if(2!==e.length)throw new TypeError("Each header pair must be a name/value tuple");this.append(e[0],e[1])}}else for(const p of Object.keys(e)){const a=e[p];this.append(p,a)}}}}get(e){na(e=`${e}`);const p=ua(this[ca],e);return void 0===p?null:this[ca][p].join(", ")}forEach(e){let p=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,a=ha(this),d=0;for(;d1&&void 0!==arguments[1]?arguments[1]:"key+value";const a=Object.keys(e[ca]).sort();return a.map("key"===p?function(e){return e.toLowerCase()}:"value"===p?function(p){return e[ca][p].join(", ")}:function(p){return[p.toLowerCase(),e[ca][p].join(", ")]})}va.prototype.entries=va.prototype[Symbol.iterator],Object.defineProperty(va.prototype,Symbol.toStringTag,{value:"Headers",writable:!1,enumerable:!1,configurable:!0}),Object.defineProperties(va.prototype,{get:{enumerable:!0},forEach:{enumerable:!0},set:{enumerable:!0},append:{enumerable:!0},has:{enumerable:!0},delete:{enumerable:!0},keys:{enumerable:!0},values:{enumerable:!0},entries:{enumerable:!0}});const wa=Symbol("internal");function ga(e,p){const a=Object.create(fa);return a[wa]={target:e,kind:p,index:0},a}const fa=Object.setPrototypeOf({next(){if(!this||Object.getPrototypeOf(this)!==fa)throw new TypeError("Value of `this` is not a HeadersIterator");var e=this[wa];const p=e.target,a=e.kind,d=e.index,t=ha(p,a);return d>=t.length?{value:void 0,done:!0}:(this[wa].index=d+1,{value:t[d],done:!1})}},Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));function Ta(e){const p=Object.assign({__proto__:null},e[ca]),a=ua(e[ca],"Host");return void 0!==a&&(p[a]=p[a][0]),p}Object.defineProperty(fa,Symbol.toStringTag,{value:"HeadersIterator",writable:!1,enumerable:!1,configurable:!0});const _a=Symbol("Response internals"),ba=d.STATUS_CODES;class Ea{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,p=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};pa.call(this,e,p);const a=p.status||200,d=new va(p.headers);if(null!=e&&!d.has("Content-Type")){const p=ia(e);p&&d.append("Content-Type",p)}this[_a]={url:p.url,status:a,statusText:p.statusText||ba[a],headers:d,counter:p.counter}}get url(){return this[_a].url||""}get status(){return this[_a].status}get ok(){return this[_a].status>=200&&this[_a].status<300}get redirected(){return this[_a].counter>0}get statusText(){return this[_a].statusText}get headers(){return this[_a].headers}clone(){return new Ea(ra(this),{url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected})}}pa.mixIn(Ea.prototype),Object.defineProperties(Ea.prototype,{url:{enumerable:!0},status:{enumerable:!0},ok:{enumerable:!0},redirected:{enumerable:!0},statusText:{enumerable:!0},headers:{enumerable:!0},clone:{enumerable:!0}}),Object.defineProperty(Ea.prototype,Symbol.toStringTag,{value:"Response",writable:!1,enumerable:!1,configurable:!0});const ya=Symbol("Request internals"),Sa=m.URL||Dp.URL,Da=m.parse,Na=m.format;function Aa(e){return/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(e)&&(e=new Sa(e).toString()),Da(e)}const Oa="destroy"in o.Readable.prototype;function ka(e){return"object"==typeof e&&"object"==typeof e[ya]}class Ga{constructor(e){let p,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};ka(e)?p=Aa(e.url):(p=e&&e.href?Aa(e.href):Aa(`${e}`),e={});let d=a.method||e.method||"GET";if(d=d.toUpperCase(),(null!=a.body||ka(e)&&null!==e.body)&&("GET"===d||"HEAD"===d))throw new TypeError("Request with GET/HEAD method cannot have body");let t=null!=a.body?a.body:ka(e)&&null!==e.body?ra(e):null;pa.call(this,t,{timeout:a.timeout||e.timeout||0,size:a.size||e.size||0});const r=new va(a.headers||e.headers||{});if(null!=t&&!r.has("Content-Type")){const e=ia(t);e&&r.append("Content-Type",e)}let i=ka(e)?e.signal:null;if("signal"in a&&(i=a.signal),null!=i&&!function(e){const p=e&&"object"==typeof e&&Object.getPrototypeOf(e);return!(!p||"AbortSignal"!==p.constructor.name)}(i))throw new TypeError("Expected signal to be an instanceof AbortSignal");this[ya]={method:d,redirect:a.redirect||e.redirect||"follow",headers:r,parsedURL:p,signal:i},this.follow=void 0!==a.follow?a.follow:void 0!==e.follow?e.follow:20,this.compress=void 0!==a.compress?a.compress:void 0===e.compress||e.compress,this.counter=a.counter||e.counter||0,this.agent=a.agent||e.agent}get method(){return this[ya].method}get url(){return Na(this[ya].parsedURL)}get headers(){return this[ya].headers}get redirect(){return this[ya].redirect}get signal(){return this[ya].signal}clone(){return new Ga(this)}}function Pa(e){Error.call(this,e),this.type="aborted",this.message=e,Error.captureStackTrace(this,this.constructor)}pa.mixIn(Ga.prototype),Object.defineProperty(Ga.prototype,Symbol.toStringTag,{value:"Request",writable:!1,enumerable:!1,configurable:!0}),Object.defineProperties(Ga.prototype,{method:{enumerable:!0},url:{enumerable:!0},headers:{enumerable:!0},redirect:{enumerable:!0},clone:{enumerable:!0},signal:{enumerable:!0}}),Pa.prototype=Object.create(Error.prototype),Pa.prototype.constructor=Pa,Pa.prototype.name="AbortError";const Va=m.URL||Dp.URL,Ca=o.PassThrough;function Ra(e,p){if(!Ra.Promise)throw new Error("native promise missing, set fetch.Promise to your favorite alternative");return pa.Promise=Ra.Promise,new Ra.Promise((function(a,r){const i=new Ga(e,p),s=function(e){const p=e[ya].parsedURL,a=new va(e[ya].headers);if(a.has("Accept")||a.set("Accept","*/*"),!p.protocol||!p.hostname)throw new TypeError("Only absolute URLs are supported");if(!/^https?:$/.test(p.protocol))throw new TypeError("Only HTTP(S) protocols are supported");if(e.signal&&e.body instanceof o.Readable&&!Oa)throw new Error("Cancellation of streamed requests with AbortSignal is not supported in node < 8");let d=null;if(null==e.body&&/^(POST|PUT)$/i.test(e.method)&&(d="0"),null!=e.body){const p=sa(e);"number"==typeof p&&(d=String(p))}d&&a.set("Content-Length",d),a.has("User-Agent")||a.set("User-Agent","node-fetch/1.0 (+https://github.com/bitinn/node-fetch)"),e.compress&&!a.has("Accept-Encoding")&&a.set("Accept-Encoding","gzip,deflate");let t=e.agent;return"function"==typeof t&&(t=t(p)),a.has("Connection")||t||a.set("Connection","close"),Object.assign({},p,{method:e.method,headers:Ta(a),agent:t})}(i),m=("https:"===s.protocol?t:d).request,n=i.signal;let u=null;const c=function(){let e=new Pa("The user aborted a request.");r(e),i.body&&i.body instanceof o.Readable&&i.body.destroy(e),u&&u.body&&u.body.emit("error",e)};if(n&&n.aborted)return void c();const v=function(){c(),g()},h=m(s);let w;function g(){h.abort(),n&&n.removeEventListener("abort",v),clearTimeout(w)}n&&n.addEventListener("abort",v),i.timeout&&h.once("socket",(function(e){w=setTimeout((function(){r(new Zp(`network timeout at: ${i.url}`,"request-timeout")),g()}),i.timeout)})),h.on("error",(function(e){r(new Zp(`request to ${i.url} failed, reason: ${e.message}`,"system",e)),g()})),h.on("response",(function(e){clearTimeout(w);const p=function(e){const p=new va;for(const a of Object.keys(e))if(!oa.test(a))if(Array.isArray(e[a]))for(const d of e[a])ma.test(d)||(void 0===p[ca][a]?p[ca][a]=[d]:p[ca][a].push(d));else ma.test(e[a])||(p[ca][a]=[e[a]]);return p}(e.headers);if(Ra.isRedirect(e.statusCode)){const d=p.get("Location");let t=null;try{t=null===d?null:new Va(d,i.url).toString()}catch(e){if("manual"!==i.redirect)return r(new Zp(`uri requested responds with an invalid redirect URL: ${d}`,"invalid-redirect")),void g()}switch(i.redirect){case"error":return r(new Zp(`uri requested responds with a redirect, redirect mode is set to error: ${i.url}`,"no-redirect")),void g();case"manual":if(null!==t)try{p.set("Location",t)}catch(e){r(e)}break;case"follow":if(null===t)break;if(i.counter>=i.follow)return r(new Zp(`maximum redirect reached at: ${i.url}`,"max-redirect")),void g();const d={headers:new va(i.headers),follow:i.follow,counter:i.counter+1,agent:i.agent,compress:i.compress,method:i.method,body:i.body,signal:i.signal,timeout:i.timeout,size:i.size};if(!function(e,p){const a=new Va(p).hostname,d=new Va(e).hostname;return a===d||"."===a[a.length-d.length-1]&&a.endsWith(d)}(i.url,t))for(const e of["authorization","www-authenticate","cookie","cookie2"])d.headers.delete(e);return 303!==e.statusCode&&i.body&&null===sa(i)?(r(new Zp("Cannot follow redirect with body being a readable stream","unsupported-redirect")),void g()):(303!==e.statusCode&&(301!==e.statusCode&&302!==e.statusCode||"POST"!==i.method)||(d.method="GET",d.body=void 0,d.headers.delete("content-length")),a(Ra(new Ga(t,d))),void g())}}e.once("end",(function(){n&&n.removeEventListener("abort",v)}));let d=e.pipe(new Ca);const t={url:i.url,status:e.statusCode,statusText:e.statusMessage,headers:p,size:i.size,timeout:i.timeout,counter:i.counter},s=p.get("Content-Encoding");if(!i.compress||"HEAD"===i.method||null===s||204===e.statusCode||304===e.statusCode)return u=new Ea(d,t),void a(u);const o={flush:l.Z_SYNC_FLUSH,finishFlush:l.Z_SYNC_FLUSH};if("gzip"==s||"x-gzip"==s)return d=d.pipe(l.createGunzip(o)),u=new Ea(d,t),void a(u);if("deflate"!=s&&"x-deflate"!=s){if("br"==s&&"function"==typeof l.createBrotliDecompress)return d=d.pipe(l.createBrotliDecompress()),u=new Ea(d,t),void a(u);u=new Ea(d,t),a(u)}else{e.pipe(new Ca).once("data",(function(e){d=8==(15&e[0])?d.pipe(l.createInflate()):d.pipe(l.createInflateRaw()),u=new Ea(d,t),a(u)}))}})),function(e,p){const a=p.body;null===a?e.end():ta(a)?a.stream().pipe(e):Buffer.isBuffer(a)?(e.write(a),e.end()):a.pipe(e)}(h,i)}))}Ra.isRedirect=function(e){return 301===e||302===e||303===e||307===e||308===e},Ra.Promise=global.Promise;class Ua extends Error{constructor(e){super(e),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor),this.name="Deprecation"}}var Fa={exports:{}},ja=function e(p,a){if(p&&a)return e(p)(a);if("function"!=typeof p)throw new TypeError("need wrapper function");return Object.keys(p).forEach((function(e){d[e]=p[e]})),d;function d(){for(var e=new Array(arguments.length),a=0;aconsole.warn(e))),Ia=Fa.exports((e=>console.warn(e)));let Ha=class extends Error{constructor(e,p,a){let d;super(e),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor),this.name="HttpError",this.status=p,"headers"in a&&void 0!==a.headers&&(d=a.headers),"response"in a&&(this.response=a.response,d=a.response.headers);const t=Object.assign({},a.request);a.request.headers.authorization&&(t.headers=Object.assign({},a.request.headers,{authorization:a.request.headers.authorization.replace(/ .*$/," [REDACTED]")})),t.url=t.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]"),this.request=t,Object.defineProperty(this,"code",{get:()=>(La(new Ua("[@octokit/request-error] `error.code` is deprecated, use `error.status`.")),p)}),Object.defineProperty(this,"headers",{get:()=>(Ia(new Ua("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`.")),d||{})})}};function $a(e){const p=e.request&&e.request.log?e.request.log:console;(mp(e.body)||Array.isArray(e.body))&&(e.body=JSON.stringify(e.body));let a,d,t={};return(e.request&&e.request.fetch||Ra)(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url,a=r.status;for(const e of r.headers)t[e[0]]=e[1];if("deprecation"in t){const a=t.link&&t.link.match(/<([^>]+)>; rel="deprecation"/),d=a&&a.pop();p.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${t.sunset}${d?`. See ${d}`:""}`)}if(204!==a&&205!==a){if("HEAD"===e.method){if(a<400)return;throw new Ha(r.statusText,a,{response:{url:d,status:a,headers:t,data:void 0},request:e})}if(304===a)throw new Ha("Not modified",a,{response:{url:d,status:a,headers:t,data:await Ma(r)},request:e});if(a>=400){const p=await Ma(r),i=new Ha(function(e){if("string"==typeof e)return e;if("message"in e)return Array.isArray(e.errors)?`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`:e.message;return`Unknown error: ${JSON.stringify(e)}`}(p),a,{response:{url:d,status:a,headers:t,data:p},request:e});throw i}return Ma(r)}})).then((e=>({status:a,url:d,headers:t,data:e}))).catch((p=>{if(p instanceof Ha)throw p;throw new Ha(p.message,500,{request:e})}))}async function Ma(e){const p=e.headers.get("content-type");return/application\/json/.test(p)?e.json():!p||/^text\/|charset=utf-8$/.test(p)?e.text():function(e){return e.arrayBuffer()}(e)}const za=function e(p,a){const d=p.defaults(a);return Object.assign((function(p,a){const t=d.merge(p,a);if(!t.request||!t.request.hook)return $a(d.parse(t));const r=(e,p)=>$a(d.parse(d.merge(e,p)));return Object.assign(r,{endpoint:d,defaults:e.bind(null,d)}),t.request.hook(r,t)}),{endpoint:d,defaults:e.bind(null,d)})}(Sp,{headers:{"user-agent":`octokit-request.js/5.6.3 ${Je()}`}}),Wa=Fa.exports((e=>console.warn(e)));class Ja extends Error{constructor(e,p,a){super(e),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor),this.name="HttpError",this.status=p,Object.defineProperty(this,"code",{get:()=>(Wa(new Ua("[@octokit/request-error] `error.code` is deprecated, use `error.status`.")),p)}),this.headers=a.headers||{};const d=Object.assign({},a.request);a.request.headers.authorization&&(d.headers=Object.assign({},a.request.headers,{authorization:a.request.headers.authorization.replace(/ .*$/," [REDACTED]")})),d.url=d.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]"),this.request=d}}function Ka(e){(mp(e.body)||Array.isArray(e.body))&&(e.body=JSON.stringify(e.body));let p,a,d={};return(e.request&&e.request.fetch||Ra)(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((t=>{a=t.url,p=t.status;for(const e of t.headers)d[e[0]]=e[1];if(204===p||205===p)return;if("HEAD"===e.method){if(p<400)return;throw new Ja(t.statusText,p,{headers:d,request:e})}if(304===p)throw new Ja("Not modified",p,{headers:d,request:e});if(p>=400)return t.text().then((a=>{const t=new Ja(a,p,{headers:d,request:e});try{let e=JSON.parse(t.message);Object.assign(t,e);let p=e.errors;t.message=t.message+": "+p.map(JSON.stringify).join(", ")}catch(e){}throw t}));const r=t.headers.get("content-type");return/application\/json/.test(r)?t.json():!r||/^text\/|charset=utf-8$/.test(r)?t.text():function(e){return e.arrayBuffer()}(t)})).then((e=>({status:p,url:a,headers:d,data:e}))).catch((p=>{if(p instanceof Ja)throw p;throw new Ja(p.message,500,{headers:d,request:e})}))}const Ya=function e(p,a){const d=p.defaults(a);return Object.assign((function(p,a){const t=d.merge(p,a);if(!t.request||!t.request.hook)return Ka(d.parse(t));const r=(e,p)=>Ka(d.parse(d.merge(e,p)));return Object.assign(r,{endpoint:d,defaults:e.bind(null,d)}),t.request.hook(r,t)}),{endpoint:d,defaults:e.bind(null,d)})}(Sp,{headers:{"user-agent":`octokit-request.js/5.4.12 ${Je()}`}});class Za extends Error{constructor(e,p){super(p.data.errors[0].message),Object.assign(this,p.data),Object.assign(this,{headers:p.headers}),this.name="GraphqlError",this.request=e,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}const Xa=["method","baseUrl","url","headers","request","query","mediaType"],Qa=/\/api\/v3\/?$/;function ed(e,p){const a=e.defaults(p);return Object.assign(((e,p)=>function(e,p,a){if("string"==typeof p&&a&&"query"in a)return Promise.reject(new Error('[@octokit/graphql] "query" cannot be used as variable name'));const d="string"==typeof p?Object.assign({query:p},a):p,t=Object.keys(d).reduce(((e,p)=>Xa.includes(p)?(e[p]=d[p],e):(e.variables||(e.variables={}),e.variables[p]=d[p],e)),{}),r=d.baseUrl||e.endpoint.DEFAULTS.baseUrl;return Qa.test(r)&&(t.url=r.replace(Qa,"/api/graphql")),e(t).then((e=>{if(e.data.errors){const p={};for(const a of Object.keys(e.headers))p[a]=e.headers[a];throw new Za(t,{headers:p,data:e.data})}return e.data.data}))}(a,e,p)),{defaults:ed.bind(null,a),endpoint:Ya.endpoint})}async function pd(e){const p=3===e.split(/\./).length?"app":/^v\d+\./.test(e)?"installation":"oauth";return{type:"token",token:e,tokenType:p}}async function ad(e,p,a,d){const t=p.endpoint.merge(a,d);return t.headers.authorization=function(e){return 3===e.split(/\./).length?`bearer ${e}`:`token ${e}`}(e),p(t)}ed(Ya,{headers:{"user-agent":`octokit-graphql.js/4.5.8 ${Je()}`},method:"POST",url:"/graphql"});const dd=function(e){if(!e)throw new Error("[@octokit/auth-token] No token passed to createTokenAuth");if("string"!=typeof e)throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string");return e=e.replace(/^(token|bearer) +/i,""),Object.assign(pd.bind(null,e),{hook:ad.bind(null,e)})};class td{constructor(e={}){const p=new sp,a={baseUrl:za.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:p.bind(null,"request")}),mediaType:{previews:[],format:""}};var d;if(a.headers["user-agent"]=[e.userAgent,`octokit-core.js/3.6.0 ${Je()}`].filter(Boolean).join(" "),e.baseUrl&&(a.baseUrl=e.baseUrl),e.previews&&(a.mediaType.previews=e.previews),e.timeZone&&(a.headers["time-zone"]=e.timeZone),this.request=za.defaults(a),this.graphql=(d=this.request,ed(d,{method:"POST",url:"/graphql"})).defaults(a),this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log),this.hook=p,e.authStrategy){const{authStrategy:a,...d}=e,t=a(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:d},e.auth));p.wrap("request",t.hook),this.auth=t}else if(e.auth){const a=dd(e.auth);p.wrap("request",a.hook),this.auth=a}else this.auth=async()=>({type:"unauthenticated"});this.constructor.plugins.forEach((p=>{Object.assign(this,p(this,e))}))}static defaults(e){return class extends(this){constructor(...p){const a=p[0]||{};super("function"!=typeof e?Object.assign({},e,a,a.userAgent&&e.userAgent?{userAgent:`${a.userAgent} ${e.userAgent}`}:null):e(a))}}}static plugin(...e){var p;const a=this.plugins;return(p=class extends(this){}).plugins=a.concat(e.filter((e=>!a.includes(e)))),p}}td.VERSION="3.6.0",td.plugins=[];var rd=c(Object.freeze({__proto__:null,Octokit:td}));const id={actions:{addSelectedRepoToOrgSecret:["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"],cancelWorkflowRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel"],createOrUpdateEnvironmentSecret:["PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"],createOrUpdateOrgSecret:["PUT /orgs/{org}/actions/secrets/{secret_name}"],createOrUpdateRepoSecret:["PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}"],createRegistrationTokenForOrg:["POST /orgs/{org}/actions/runners/registration-token"],createRegistrationTokenForRepo:["POST /repos/{owner}/{repo}/actions/runners/registration-token"],createRemoveTokenForOrg:["POST /orgs/{org}/actions/runners/remove-token"],createRemoveTokenForRepo:["POST /repos/{owner}/{repo}/actions/runners/remove-token"],createWorkflowDispatch:["POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches"],deleteArtifact:["DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"],deleteEnvironmentSecret:["DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"],deleteOrgSecret:["DELETE /orgs/{org}/actions/secrets/{secret_name}"],deleteRepoSecret:["DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}"],deleteSelfHostedRunnerFromOrg:["DELETE /orgs/{org}/actions/runners/{runner_id}"],deleteSelfHostedRunnerFromRepo:["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}"],deleteWorkflowRun:["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}"],deleteWorkflowRunLogs:["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs"],disableSelectedRepositoryGithubActionsOrganization:["DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}"],disableWorkflow:["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable"],downloadArtifact:["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}"],downloadJobLogsForWorkflowRun:["GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs"],downloadWorkflowRunLogs:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs"],enableSelectedRepositoryGithubActionsOrganization:["PUT /orgs/{org}/actions/permissions/repositories/{repository_id}"],enableWorkflow:["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable"],getAllowedActionsOrganization:["GET /orgs/{org}/actions/permissions/selected-actions"],getAllowedActionsRepository:["GET /repos/{owner}/{repo}/actions/permissions/selected-actions"],getArtifact:["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"],getEnvironmentPublicKey:["GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key"],getEnvironmentSecret:["GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"],getGithubActionsPermissionsOrganization:["GET /orgs/{org}/actions/permissions"],getGithubActionsPermissionsRepository:["GET /repos/{owner}/{repo}/actions/permissions"],getJobForWorkflowRun:["GET /repos/{owner}/{repo}/actions/jobs/{job_id}"],getOrgPublicKey:["GET /orgs/{org}/actions/secrets/public-key"],getOrgSecret:["GET /orgs/{org}/actions/secrets/{secret_name}"],getPendingDeploymentsForRun:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"],getRepoPermissions:["GET /repos/{owner}/{repo}/actions/permissions",{},{renamed:["actions","getGithubActionsPermissionsRepository"]}],getRepoPublicKey:["GET /repos/{owner}/{repo}/actions/secrets/public-key"],getRepoSecret:["GET /repos/{owner}/{repo}/actions/secrets/{secret_name}"],getReviewsForRun:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals"],getSelfHostedRunnerForOrg:["GET /orgs/{org}/actions/runners/{runner_id}"],getSelfHostedRunnerForRepo:["GET /repos/{owner}/{repo}/actions/runners/{runner_id}"],getWorkflow:["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}"],getWorkflowRun:["GET /repos/{owner}/{repo}/actions/runs/{run_id}"],getWorkflowRunUsage:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing"],getWorkflowUsage:["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing"],listArtifactsForRepo:["GET /repos/{owner}/{repo}/actions/artifacts"],listEnvironmentSecrets:["GET /repositories/{repository_id}/environments/{environment_name}/secrets"],listJobsForWorkflowRun:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"],listOrgSecrets:["GET /orgs/{org}/actions/secrets"],listRepoSecrets:["GET /repos/{owner}/{repo}/actions/secrets"],listRepoWorkflows:["GET /repos/{owner}/{repo}/actions/workflows"],listRunnerApplicationsForOrg:["GET /orgs/{org}/actions/runners/downloads"],listRunnerApplicationsForRepo:["GET /repos/{owner}/{repo}/actions/runners/downloads"],listSelectedReposForOrgSecret:["GET /orgs/{org}/actions/secrets/{secret_name}/repositories"],listSelectedRepositoriesEnabledGithubActionsOrganization:["GET /orgs/{org}/actions/permissions/repositories"],listSelfHostedRunnersForOrg:["GET /orgs/{org}/actions/runners"],listSelfHostedRunnersForRepo:["GET /repos/{owner}/{repo}/actions/runners"],listWorkflowRunArtifacts:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts"],listWorkflowRuns:["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs"],listWorkflowRunsForRepo:["GET /repos/{owner}/{repo}/actions/runs"],reRunWorkflow:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun"],removeSelectedRepoFromOrgSecret:["DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"],reviewPendingDeploymentsForRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"],setAllowedActionsOrganization:["PUT /orgs/{org}/actions/permissions/selected-actions"],setAllowedActionsRepository:["PUT /repos/{owner}/{repo}/actions/permissions/selected-actions"],setGithubActionsPermissionsOrganization:["PUT /orgs/{org}/actions/permissions"],setGithubActionsPermissionsRepository:["PUT /repos/{owner}/{repo}/actions/permissions"],setSelectedReposForOrgSecret:["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories"],setSelectedRepositoriesEnabledGithubActionsOrganization:["PUT /orgs/{org}/actions/permissions/repositories"]},activity:{checkRepoIsStarredByAuthenticatedUser:["GET /user/starred/{owner}/{repo}"],deleteRepoSubscription:["DELETE /repos/{owner}/{repo}/subscription"],deleteThreadSubscription:["DELETE /notifications/threads/{thread_id}/subscription"],getFeeds:["GET /feeds"],getRepoSubscription:["GET /repos/{owner}/{repo}/subscription"],getThread:["GET /notifications/threads/{thread_id}"],getThreadSubscriptionForAuthenticatedUser:["GET /notifications/threads/{thread_id}/subscription"],listEventsForAuthenticatedUser:["GET /users/{username}/events"],listNotificationsForAuthenticatedUser:["GET /notifications"],listOrgEventsForAuthenticatedUser:["GET /users/{username}/events/orgs/{org}"],listPublicEvents:["GET /events"],listPublicEventsForRepoNetwork:["GET /networks/{owner}/{repo}/events"],listPublicEventsForUser:["GET /users/{username}/events/public"],listPublicOrgEvents:["GET /orgs/{org}/events"],listReceivedEventsForUser:["GET /users/{username}/received_events"],listReceivedPublicEventsForUser:["GET /users/{username}/received_events/public"],listRepoEvents:["GET /repos/{owner}/{repo}/events"],listRepoNotificationsForAuthenticatedUser:["GET /repos/{owner}/{repo}/notifications"],listReposStarredByAuthenticatedUser:["GET /user/starred"],listReposStarredByUser:["GET /users/{username}/starred"],listReposWatchedByUser:["GET /users/{username}/subscriptions"],listStargazersForRepo:["GET /repos/{owner}/{repo}/stargazers"],listWatchedReposForAuthenticatedUser:["GET /user/subscriptions"],listWatchersForRepo:["GET /repos/{owner}/{repo}/subscribers"],markNotificationsAsRead:["PUT /notifications"],markRepoNotificationsAsRead:["PUT /repos/{owner}/{repo}/notifications"],markThreadAsRead:["PATCH /notifications/threads/{thread_id}"],setRepoSubscription:["PUT /repos/{owner}/{repo}/subscription"],setThreadSubscription:["PUT /notifications/threads/{thread_id}/subscription"],starRepoForAuthenticatedUser:["PUT /user/starred/{owner}/{repo}"],unstarRepoForAuthenticatedUser:["DELETE /user/starred/{owner}/{repo}"]},apps:{addRepoToInstallation:["PUT /user/installations/{installation_id}/repositories/{repository_id}"],checkToken:["POST /applications/{client_id}/token"],createContentAttachment:["POST /content_references/{content_reference_id}/attachments",{mediaType:{previews:["corsair"]}}],createFromManifest:["POST /app-manifests/{code}/conversions"],createInstallationAccessToken:["POST /app/installations/{installation_id}/access_tokens"],deleteAuthorization:["DELETE /applications/{client_id}/grant"],deleteInstallation:["DELETE /app/installations/{installation_id}"],deleteToken:["DELETE /applications/{client_id}/token"],getAuthenticated:["GET /app"],getBySlug:["GET /apps/{app_slug}"],getInstallation:["GET /app/installations/{installation_id}"],getOrgInstallation:["GET /orgs/{org}/installation"],getRepoInstallation:["GET /repos/{owner}/{repo}/installation"],getSubscriptionPlanForAccount:["GET /marketplace_listing/accounts/{account_id}"],getSubscriptionPlanForAccountStubbed:["GET /marketplace_listing/stubbed/accounts/{account_id}"],getUserInstallation:["GET /users/{username}/installation"],getWebhookConfigForApp:["GET /app/hook/config"],listAccountsForPlan:["GET /marketplace_listing/plans/{plan_id}/accounts"],listAccountsForPlanStubbed:["GET /marketplace_listing/stubbed/plans/{plan_id}/accounts"],listInstallationReposForAuthenticatedUser:["GET /user/installations/{installation_id}/repositories"],listInstallations:["GET /app/installations"],listInstallationsForAuthenticatedUser:["GET /user/installations"],listPlans:["GET /marketplace_listing/plans"],listPlansStubbed:["GET /marketplace_listing/stubbed/plans"],listReposAccessibleToInstallation:["GET /installation/repositories"],listSubscriptionsForAuthenticatedUser:["GET /user/marketplace_purchases"],listSubscriptionsForAuthenticatedUserStubbed:["GET /user/marketplace_purchases/stubbed"],removeRepoFromInstallation:["DELETE /user/installations/{installation_id}/repositories/{repository_id}"],resetToken:["PATCH /applications/{client_id}/token"],revokeInstallationAccessToken:["DELETE /installation/token"],scopeToken:["POST /applications/{client_id}/token/scoped"],suspendInstallation:["PUT /app/installations/{installation_id}/suspended"],unsuspendInstallation:["DELETE /app/installations/{installation_id}/suspended"],updateWebhookConfigForApp:["PATCH /app/hook/config"]},billing:{getGithubActionsBillingOrg:["GET /orgs/{org}/settings/billing/actions"],getGithubActionsBillingUser:["GET /users/{username}/settings/billing/actions"],getGithubPackagesBillingOrg:["GET /orgs/{org}/settings/billing/packages"],getGithubPackagesBillingUser:["GET /users/{username}/settings/billing/packages"],getSharedStorageBillingOrg:["GET /orgs/{org}/settings/billing/shared-storage"],getSharedStorageBillingUser:["GET /users/{username}/settings/billing/shared-storage"]},checks:{create:["POST /repos/{owner}/{repo}/check-runs"],createSuite:["POST /repos/{owner}/{repo}/check-suites"],get:["GET /repos/{owner}/{repo}/check-runs/{check_run_id}"],getSuite:["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}"],listAnnotations:["GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations"],listForRef:["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"],listForSuite:["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs"],listSuitesForRef:["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"],rerequestSuite:["POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest"],setSuitesPreferences:["PATCH /repos/{owner}/{repo}/check-suites/preferences"],update:["PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}"]},codeScanning:{deleteAnalysis:["DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}"],getAlert:["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}",{},{renamedParameters:{alert_id:"alert_number"}}],getAnalysis:["GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}"],getSarif:["GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}"],listAlertsForRepo:["GET /repos/{owner}/{repo}/code-scanning/alerts"],listAlertsInstances:["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances"],listRecentAnalyses:["GET /repos/{owner}/{repo}/code-scanning/analyses"],updateAlert:["PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}"],uploadSarif:["POST /repos/{owner}/{repo}/code-scanning/sarifs"]},codesOfConduct:{getAllCodesOfConduct:["GET /codes_of_conduct",{mediaType:{previews:["scarlet-witch"]}}],getConductCode:["GET /codes_of_conduct/{key}",{mediaType:{previews:["scarlet-witch"]}}],getForRepo:["GET /repos/{owner}/{repo}/community/code_of_conduct",{mediaType:{previews:["scarlet-witch"]}}]},emojis:{get:["GET /emojis"]},enterpriseAdmin:{disableSelectedOrganizationGithubActionsEnterprise:["DELETE /enterprises/{enterprise}/actions/permissions/organizations/{org_id}"],enableSelectedOrganizationGithubActionsEnterprise:["PUT /enterprises/{enterprise}/actions/permissions/organizations/{org_id}"],getAllowedActionsEnterprise:["GET /enterprises/{enterprise}/actions/permissions/selected-actions"],getGithubActionsPermissionsEnterprise:["GET /enterprises/{enterprise}/actions/permissions"],listSelectedOrganizationsEnabledGithubActionsEnterprise:["GET /enterprises/{enterprise}/actions/permissions/organizations"],setAllowedActionsEnterprise:["PUT /enterprises/{enterprise}/actions/permissions/selected-actions"],setGithubActionsPermissionsEnterprise:["PUT /enterprises/{enterprise}/actions/permissions"],setSelectedOrganizationsEnabledGithubActionsEnterprise:["PUT /enterprises/{enterprise}/actions/permissions/organizations"]},gists:{checkIsStarred:["GET /gists/{gist_id}/star"],create:["POST /gists"],createComment:["POST /gists/{gist_id}/comments"],delete:["DELETE /gists/{gist_id}"],deleteComment:["DELETE /gists/{gist_id}/comments/{comment_id}"],fork:["POST /gists/{gist_id}/forks"],get:["GET /gists/{gist_id}"],getComment:["GET /gists/{gist_id}/comments/{comment_id}"],getRevision:["GET /gists/{gist_id}/{sha}"],list:["GET /gists"],listComments:["GET /gists/{gist_id}/comments"],listCommits:["GET /gists/{gist_id}/commits"],listForUser:["GET /users/{username}/gists"],listForks:["GET /gists/{gist_id}/forks"],listPublic:["GET /gists/public"],listStarred:["GET /gists/starred"],star:["PUT /gists/{gist_id}/star"],unstar:["DELETE /gists/{gist_id}/star"],update:["PATCH /gists/{gist_id}"],updateComment:["PATCH /gists/{gist_id}/comments/{comment_id}"]},git:{createBlob:["POST /repos/{owner}/{repo}/git/blobs"],createCommit:["POST /repos/{owner}/{repo}/git/commits"],createRef:["POST /repos/{owner}/{repo}/git/refs"],createTag:["POST /repos/{owner}/{repo}/git/tags"],createTree:["POST /repos/{owner}/{repo}/git/trees"],deleteRef:["DELETE /repos/{owner}/{repo}/git/refs/{ref}"],getBlob:["GET /repos/{owner}/{repo}/git/blobs/{file_sha}"],getCommit:["GET /repos/{owner}/{repo}/git/commits/{commit_sha}"],getRef:["GET /repos/{owner}/{repo}/git/ref/{ref}"],getTag:["GET /repos/{owner}/{repo}/git/tags/{tag_sha}"],getTree:["GET /repos/{owner}/{repo}/git/trees/{tree_sha}"],listMatchingRefs:["GET /repos/{owner}/{repo}/git/matching-refs/{ref}"],updateRef:["PATCH /repos/{owner}/{repo}/git/refs/{ref}"]},gitignore:{getAllTemplates:["GET /gitignore/templates"],getTemplate:["GET /gitignore/templates/{name}"]},interactions:{getRestrictionsForAuthenticatedUser:["GET /user/interaction-limits"],getRestrictionsForOrg:["GET /orgs/{org}/interaction-limits"],getRestrictionsForRepo:["GET /repos/{owner}/{repo}/interaction-limits"],getRestrictionsForYourPublicRepos:["GET /user/interaction-limits",{},{renamed:["interactions","getRestrictionsForAuthenticatedUser"]}],removeRestrictionsForAuthenticatedUser:["DELETE /user/interaction-limits"],removeRestrictionsForOrg:["DELETE /orgs/{org}/interaction-limits"],removeRestrictionsForRepo:["DELETE /repos/{owner}/{repo}/interaction-limits"],removeRestrictionsForYourPublicRepos:["DELETE /user/interaction-limits",{},{renamed:["interactions","removeRestrictionsForAuthenticatedUser"]}],setRestrictionsForAuthenticatedUser:["PUT /user/interaction-limits"],setRestrictionsForOrg:["PUT /orgs/{org}/interaction-limits"],setRestrictionsForRepo:["PUT /repos/{owner}/{repo}/interaction-limits"],setRestrictionsForYourPublicRepos:["PUT /user/interaction-limits",{},{renamed:["interactions","setRestrictionsForAuthenticatedUser"]}]},issues:{addAssignees:["POST /repos/{owner}/{repo}/issues/{issue_number}/assignees"],addLabels:["POST /repos/{owner}/{repo}/issues/{issue_number}/labels"],checkUserCanBeAssigned:["GET /repos/{owner}/{repo}/assignees/{assignee}"],create:["POST /repos/{owner}/{repo}/issues"],createComment:["POST /repos/{owner}/{repo}/issues/{issue_number}/comments"],createLabel:["POST /repos/{owner}/{repo}/labels"],createMilestone:["POST /repos/{owner}/{repo}/milestones"],deleteComment:["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}"],deleteLabel:["DELETE /repos/{owner}/{repo}/labels/{name}"],deleteMilestone:["DELETE /repos/{owner}/{repo}/milestones/{milestone_number}"],get:["GET /repos/{owner}/{repo}/issues/{issue_number}"],getComment:["GET /repos/{owner}/{repo}/issues/comments/{comment_id}"],getEvent:["GET /repos/{owner}/{repo}/issues/events/{event_id}"],getLabel:["GET /repos/{owner}/{repo}/labels/{name}"],getMilestone:["GET /repos/{owner}/{repo}/milestones/{milestone_number}"],list:["GET /issues"],listAssignees:["GET /repos/{owner}/{repo}/assignees"],listComments:["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"],listCommentsForRepo:["GET /repos/{owner}/{repo}/issues/comments"],listEvents:["GET /repos/{owner}/{repo}/issues/{issue_number}/events"],listEventsForRepo:["GET /repos/{owner}/{repo}/issues/events"],listEventsForTimeline:["GET /repos/{owner}/{repo}/issues/{issue_number}/timeline",{mediaType:{previews:["mockingbird"]}}],listForAuthenticatedUser:["GET /user/issues"],listForOrg:["GET /orgs/{org}/issues"],listForRepo:["GET /repos/{owner}/{repo}/issues"],listLabelsForMilestone:["GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels"],listLabelsForRepo:["GET /repos/{owner}/{repo}/labels"],listLabelsOnIssue:["GET /repos/{owner}/{repo}/issues/{issue_number}/labels"],listMilestones:["GET /repos/{owner}/{repo}/milestones"],lock:["PUT /repos/{owner}/{repo}/issues/{issue_number}/lock"],removeAllLabels:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels"],removeAssignees:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees"],removeLabel:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}"],setLabels:["PUT /repos/{owner}/{repo}/issues/{issue_number}/labels"],unlock:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock"],update:["PATCH /repos/{owner}/{repo}/issues/{issue_number}"],updateComment:["PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}"],updateLabel:["PATCH /repos/{owner}/{repo}/labels/{name}"],updateMilestone:["PATCH /repos/{owner}/{repo}/milestones/{milestone_number}"]},licenses:{get:["GET /licenses/{license}"],getAllCommonlyUsed:["GET /licenses"],getForRepo:["GET /repos/{owner}/{repo}/license"]},markdown:{render:["POST /markdown"],renderRaw:["POST /markdown/raw",{headers:{"content-type":"text/plain; charset=utf-8"}}]},meta:{get:["GET /meta"],getOctocat:["GET /octocat"],getZen:["GET /zen"],root:["GET /"]},migrations:{cancelImport:["DELETE /repos/{owner}/{repo}/import"],deleteArchiveForAuthenticatedUser:["DELETE /user/migrations/{migration_id}/archive",{mediaType:{previews:["wyandotte"]}}],deleteArchiveForOrg:["DELETE /orgs/{org}/migrations/{migration_id}/archive",{mediaType:{previews:["wyandotte"]}}],downloadArchiveForOrg:["GET /orgs/{org}/migrations/{migration_id}/archive",{mediaType:{previews:["wyandotte"]}}],getArchiveForAuthenticatedUser:["GET /user/migrations/{migration_id}/archive",{mediaType:{previews:["wyandotte"]}}],getCommitAuthors:["GET /repos/{owner}/{repo}/import/authors"],getImportStatus:["GET /repos/{owner}/{repo}/import"],getLargeFiles:["GET /repos/{owner}/{repo}/import/large_files"],getStatusForAuthenticatedUser:["GET /user/migrations/{migration_id}",{mediaType:{previews:["wyandotte"]}}],getStatusForOrg:["GET /orgs/{org}/migrations/{migration_id}",{mediaType:{previews:["wyandotte"]}}],listForAuthenticatedUser:["GET /user/migrations",{mediaType:{previews:["wyandotte"]}}],listForOrg:["GET /orgs/{org}/migrations",{mediaType:{previews:["wyandotte"]}}],listReposForOrg:["GET /orgs/{org}/migrations/{migration_id}/repositories",{mediaType:{previews:["wyandotte"]}}],listReposForUser:["GET /user/migrations/{migration_id}/repositories",{mediaType:{previews:["wyandotte"]}}],mapCommitAuthor:["PATCH /repos/{owner}/{repo}/import/authors/{author_id}"],setLfsPreference:["PATCH /repos/{owner}/{repo}/import/lfs"],startForAuthenticatedUser:["POST /user/migrations"],startForOrg:["POST /orgs/{org}/migrations"],startImport:["PUT /repos/{owner}/{repo}/import"],unlockRepoForAuthenticatedUser:["DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock",{mediaType:{previews:["wyandotte"]}}],unlockRepoForOrg:["DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock",{mediaType:{previews:["wyandotte"]}}],updateImport:["PATCH /repos/{owner}/{repo}/import"]},orgs:{blockUser:["PUT /orgs/{org}/blocks/{username}"],cancelInvitation:["DELETE /orgs/{org}/invitations/{invitation_id}"],checkBlockedUser:["GET /orgs/{org}/blocks/{username}"],checkMembershipForUser:["GET /orgs/{org}/members/{username}"],checkPublicMembershipForUser:["GET /orgs/{org}/public_members/{username}"],convertMemberToOutsideCollaborator:["PUT /orgs/{org}/outside_collaborators/{username}"],createInvitation:["POST /orgs/{org}/invitations"],createWebhook:["POST /orgs/{org}/hooks"],deleteWebhook:["DELETE /orgs/{org}/hooks/{hook_id}"],get:["GET /orgs/{org}"],getMembershipForAuthenticatedUser:["GET /user/memberships/orgs/{org}"],getMembershipForUser:["GET /orgs/{org}/memberships/{username}"],getWebhook:["GET /orgs/{org}/hooks/{hook_id}"],getWebhookConfigForOrg:["GET /orgs/{org}/hooks/{hook_id}/config"],list:["GET /organizations"],listAppInstallations:["GET /orgs/{org}/installations"],listBlockedUsers:["GET /orgs/{org}/blocks"],listFailedInvitations:["GET /orgs/{org}/failed_invitations"],listForAuthenticatedUser:["GET /user/orgs"],listForUser:["GET /users/{username}/orgs"],listInvitationTeams:["GET /orgs/{org}/invitations/{invitation_id}/teams"],listMembers:["GET /orgs/{org}/members"],listMembershipsForAuthenticatedUser:["GET /user/memberships/orgs"],listOutsideCollaborators:["GET /orgs/{org}/outside_collaborators"],listPendingInvitations:["GET /orgs/{org}/invitations"],listPublicMembers:["GET /orgs/{org}/public_members"],listWebhooks:["GET /orgs/{org}/hooks"],pingWebhook:["POST /orgs/{org}/hooks/{hook_id}/pings"],removeMember:["DELETE /orgs/{org}/members/{username}"],removeMembershipForUser:["DELETE /orgs/{org}/memberships/{username}"],removeOutsideCollaborator:["DELETE /orgs/{org}/outside_collaborators/{username}"],removePublicMembershipForAuthenticatedUser:["DELETE /orgs/{org}/public_members/{username}"],setMembershipForUser:["PUT /orgs/{org}/memberships/{username}"],setPublicMembershipForAuthenticatedUser:["PUT /orgs/{org}/public_members/{username}"],unblockUser:["DELETE /orgs/{org}/blocks/{username}"],update:["PATCH /orgs/{org}"],updateMembershipForAuthenticatedUser:["PATCH /user/memberships/orgs/{org}"],updateWebhook:["PATCH /orgs/{org}/hooks/{hook_id}"],updateWebhookConfigForOrg:["PATCH /orgs/{org}/hooks/{hook_id}/config"]},packages:{deletePackageForAuthenticatedUser:["DELETE /user/packages/{package_type}/{package_name}"],deletePackageForOrg:["DELETE /orgs/{org}/packages/{package_type}/{package_name}"],deletePackageVersionForAuthenticatedUser:["DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}"],deletePackageVersionForOrg:["DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"],getAllPackageVersionsForAPackageOwnedByAnOrg:["GET /orgs/{org}/packages/{package_type}/{package_name}/versions",{},{renamed:["packages","getAllPackageVersionsForPackageOwnedByOrg"]}],getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser:["GET /user/packages/{package_type}/{package_name}/versions",{},{renamed:["packages","getAllPackageVersionsForPackageOwnedByAuthenticatedUser"]}],getAllPackageVersionsForPackageOwnedByAuthenticatedUser:["GET /user/packages/{package_type}/{package_name}/versions"],getAllPackageVersionsForPackageOwnedByOrg:["GET /orgs/{org}/packages/{package_type}/{package_name}/versions"],getAllPackageVersionsForPackageOwnedByUser:["GET /users/{username}/packages/{package_type}/{package_name}/versions"],getPackageForAuthenticatedUser:["GET /user/packages/{package_type}/{package_name}"],getPackageForOrganization:["GET /orgs/{org}/packages/{package_type}/{package_name}"],getPackageForUser:["GET /users/{username}/packages/{package_type}/{package_name}"],getPackageVersionForAuthenticatedUser:["GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}"],getPackageVersionForOrganization:["GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"],getPackageVersionForUser:["GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"],restorePackageForAuthenticatedUser:["POST /user/packages/{package_type}/{package_name}/restore{?token}"],restorePackageForOrg:["POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}"],restorePackageVersionForAuthenticatedUser:["POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"],restorePackageVersionForOrg:["POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"]},projects:{addCollaborator:["PUT /projects/{project_id}/collaborators/{username}",{mediaType:{previews:["inertia"]}}],createCard:["POST /projects/columns/{column_id}/cards",{mediaType:{previews:["inertia"]}}],createColumn:["POST /projects/{project_id}/columns",{mediaType:{previews:["inertia"]}}],createForAuthenticatedUser:["POST /user/projects",{mediaType:{previews:["inertia"]}}],createForOrg:["POST /orgs/{org}/projects",{mediaType:{previews:["inertia"]}}],createForRepo:["POST /repos/{owner}/{repo}/projects",{mediaType:{previews:["inertia"]}}],delete:["DELETE /projects/{project_id}",{mediaType:{previews:["inertia"]}}],deleteCard:["DELETE /projects/columns/cards/{card_id}",{mediaType:{previews:["inertia"]}}],deleteColumn:["DELETE /projects/columns/{column_id}",{mediaType:{previews:["inertia"]}}],get:["GET /projects/{project_id}",{mediaType:{previews:["inertia"]}}],getCard:["GET /projects/columns/cards/{card_id}",{mediaType:{previews:["inertia"]}}],getColumn:["GET /projects/columns/{column_id}",{mediaType:{previews:["inertia"]}}],getPermissionForUser:["GET /projects/{project_id}/collaborators/{username}/permission",{mediaType:{previews:["inertia"]}}],listCards:["GET /projects/columns/{column_id}/cards",{mediaType:{previews:["inertia"]}}],listCollaborators:["GET /projects/{project_id}/collaborators",{mediaType:{previews:["inertia"]}}],listColumns:["GET /projects/{project_id}/columns",{mediaType:{previews:["inertia"]}}],listForOrg:["GET /orgs/{org}/projects",{mediaType:{previews:["inertia"]}}],listForRepo:["GET /repos/{owner}/{repo}/projects",{mediaType:{previews:["inertia"]}}],listForUser:["GET /users/{username}/projects",{mediaType:{previews:["inertia"]}}],moveCard:["POST /projects/columns/cards/{card_id}/moves",{mediaType:{previews:["inertia"]}}],moveColumn:["POST /projects/columns/{column_id}/moves",{mediaType:{previews:["inertia"]}}],removeCollaborator:["DELETE /projects/{project_id}/collaborators/{username}",{mediaType:{previews:["inertia"]}}],update:["PATCH /projects/{project_id}",{mediaType:{previews:["inertia"]}}],updateCard:["PATCH /projects/columns/cards/{card_id}",{mediaType:{previews:["inertia"]}}],updateColumn:["PATCH /projects/columns/{column_id}",{mediaType:{previews:["inertia"]}}]},pulls:{checkIfMerged:["GET /repos/{owner}/{repo}/pulls/{pull_number}/merge"],create:["POST /repos/{owner}/{repo}/pulls"],createReplyForReviewComment:["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies"],createReview:["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews"],createReviewComment:["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments"],deletePendingReview:["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"],deleteReviewComment:["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}"],dismissReview:["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals"],get:["GET /repos/{owner}/{repo}/pulls/{pull_number}"],getReview:["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"],getReviewComment:["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}"],list:["GET /repos/{owner}/{repo}/pulls"],listCommentsForReview:["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments"],listCommits:["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"],listFiles:["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"],listRequestedReviewers:["GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"],listReviewComments:["GET /repos/{owner}/{repo}/pulls/{pull_number}/comments"],listReviewCommentsForRepo:["GET /repos/{owner}/{repo}/pulls/comments"],listReviews:["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"],merge:["PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge"],removeRequestedReviewers:["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"],requestReviewers:["POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"],submitReview:["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events"],update:["PATCH /repos/{owner}/{repo}/pulls/{pull_number}"],updateBranch:["PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch",{mediaType:{previews:["lydian"]}}],updateReview:["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"],updateReviewComment:["PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}"]},rateLimit:{get:["GET /rate_limit"]},reactions:{createForCommitComment:["POST /repos/{owner}/{repo}/comments/{comment_id}/reactions",{mediaType:{previews:["squirrel-girl"]}}],createForIssue:["POST /repos/{owner}/{repo}/issues/{issue_number}/reactions",{mediaType:{previews:["squirrel-girl"]}}],createForIssueComment:["POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions",{mediaType:{previews:["squirrel-girl"]}}],createForPullRequestReviewComment:["POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions",{mediaType:{previews:["squirrel-girl"]}}],createForTeamDiscussionCommentInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions",{mediaType:{previews:["squirrel-girl"]}}],createForTeamDiscussionInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions",{mediaType:{previews:["squirrel-girl"]}}],deleteForCommitComment:["DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}",{mediaType:{previews:["squirrel-girl"]}}],deleteForIssue:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}",{mediaType:{previews:["squirrel-girl"]}}],deleteForIssueComment:["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}",{mediaType:{previews:["squirrel-girl"]}}],deleteForPullRequestComment:["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}",{mediaType:{previews:["squirrel-girl"]}}],deleteForTeamDiscussion:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}",{mediaType:{previews:["squirrel-girl"]}}],deleteForTeamDiscussionComment:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}",{mediaType:{previews:["squirrel-girl"]}}],deleteLegacy:["DELETE /reactions/{reaction_id}",{mediaType:{previews:["squirrel-girl"]}},{deprecated:"octokit.rest.reactions.deleteLegacy() is deprecated, see https://docs.github.com/rest/reference/reactions/#delete-a-reaction-legacy"}],listForCommitComment:["GET /repos/{owner}/{repo}/comments/{comment_id}/reactions",{mediaType:{previews:["squirrel-girl"]}}],listForIssue:["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions",{mediaType:{previews:["squirrel-girl"]}}],listForIssueComment:["GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions",{mediaType:{previews:["squirrel-girl"]}}],listForPullRequestReviewComment:["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions",{mediaType:{previews:["squirrel-girl"]}}],listForTeamDiscussionCommentInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions",{mediaType:{previews:["squirrel-girl"]}}],listForTeamDiscussionInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions",{mediaType:{previews:["squirrel-girl"]}}]},repos:{acceptInvitation:["PATCH /user/repository_invitations/{invitation_id}"],addAppAccessRestrictions:["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",{},{mapToData:"apps"}],addCollaborator:["PUT /repos/{owner}/{repo}/collaborators/{username}"],addStatusCheckContexts:["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",{},{mapToData:"contexts"}],addTeamAccessRestrictions:["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",{},{mapToData:"teams"}],addUserAccessRestrictions:["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",{},{mapToData:"users"}],checkCollaborator:["GET /repos/{owner}/{repo}/collaborators/{username}"],checkVulnerabilityAlerts:["GET /repos/{owner}/{repo}/vulnerability-alerts",{mediaType:{previews:["dorian"]}}],compareCommits:["GET /repos/{owner}/{repo}/compare/{base}...{head}"],createCommitComment:["POST /repos/{owner}/{repo}/commits/{commit_sha}/comments"],createCommitSignatureProtection:["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures",{mediaType:{previews:["zzzax"]}}],createCommitStatus:["POST /repos/{owner}/{repo}/statuses/{sha}"],createDeployKey:["POST /repos/{owner}/{repo}/keys"],createDeployment:["POST /repos/{owner}/{repo}/deployments"],createDeploymentStatus:["POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"],createDispatchEvent:["POST /repos/{owner}/{repo}/dispatches"],createForAuthenticatedUser:["POST /user/repos"],createFork:["POST /repos/{owner}/{repo}/forks"],createInOrg:["POST /orgs/{org}/repos"],createOrUpdateEnvironment:["PUT /repos/{owner}/{repo}/environments/{environment_name}"],createOrUpdateFileContents:["PUT /repos/{owner}/{repo}/contents/{path}"],createPagesSite:["POST /repos/{owner}/{repo}/pages",{mediaType:{previews:["switcheroo"]}}],createRelease:["POST /repos/{owner}/{repo}/releases"],createUsingTemplate:["POST /repos/{template_owner}/{template_repo}/generate",{mediaType:{previews:["baptiste"]}}],createWebhook:["POST /repos/{owner}/{repo}/hooks"],declineInvitation:["DELETE /user/repository_invitations/{invitation_id}"],delete:["DELETE /repos/{owner}/{repo}"],deleteAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"],deleteAdminBranchProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"],deleteAnEnvironment:["DELETE /repos/{owner}/{repo}/environments/{environment_name}"],deleteBranchProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection"],deleteCommitComment:["DELETE /repos/{owner}/{repo}/comments/{comment_id}"],deleteCommitSignatureProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures",{mediaType:{previews:["zzzax"]}}],deleteDeployKey:["DELETE /repos/{owner}/{repo}/keys/{key_id}"],deleteDeployment:["DELETE /repos/{owner}/{repo}/deployments/{deployment_id}"],deleteFile:["DELETE /repos/{owner}/{repo}/contents/{path}"],deleteInvitation:["DELETE /repos/{owner}/{repo}/invitations/{invitation_id}"],deletePagesSite:["DELETE /repos/{owner}/{repo}/pages",{mediaType:{previews:["switcheroo"]}}],deletePullRequestReviewProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"],deleteRelease:["DELETE /repos/{owner}/{repo}/releases/{release_id}"],deleteReleaseAsset:["DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}"],deleteWebhook:["DELETE /repos/{owner}/{repo}/hooks/{hook_id}"],disableAutomatedSecurityFixes:["DELETE /repos/{owner}/{repo}/automated-security-fixes",{mediaType:{previews:["london"]}}],disableVulnerabilityAlerts:["DELETE /repos/{owner}/{repo}/vulnerability-alerts",{mediaType:{previews:["dorian"]}}],downloadArchive:["GET /repos/{owner}/{repo}/zipball/{ref}",{},{renamed:["repos","downloadZipballArchive"]}],downloadTarballArchive:["GET /repos/{owner}/{repo}/tarball/{ref}"],downloadZipballArchive:["GET /repos/{owner}/{repo}/zipball/{ref}"],enableAutomatedSecurityFixes:["PUT /repos/{owner}/{repo}/automated-security-fixes",{mediaType:{previews:["london"]}}],enableVulnerabilityAlerts:["PUT /repos/{owner}/{repo}/vulnerability-alerts",{mediaType:{previews:["dorian"]}}],get:["GET /repos/{owner}/{repo}"],getAccessRestrictions:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"],getAdminBranchProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"],getAllEnvironments:["GET /repos/{owner}/{repo}/environments"],getAllStatusCheckContexts:["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"],getAllTopics:["GET /repos/{owner}/{repo}/topics",{mediaType:{previews:["mercy"]}}],getAppsWithAccessToProtectedBranch:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"],getBranch:["GET /repos/{owner}/{repo}/branches/{branch}"],getBranchProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection"],getClones:["GET /repos/{owner}/{repo}/traffic/clones"],getCodeFrequencyStats:["GET /repos/{owner}/{repo}/stats/code_frequency"],getCollaboratorPermissionLevel:["GET /repos/{owner}/{repo}/collaborators/{username}/permission"],getCombinedStatusForRef:["GET /repos/{owner}/{repo}/commits/{ref}/status"],getCommit:["GET /repos/{owner}/{repo}/commits/{ref}"],getCommitActivityStats:["GET /repos/{owner}/{repo}/stats/commit_activity"],getCommitComment:["GET /repos/{owner}/{repo}/comments/{comment_id}"],getCommitSignatureProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures",{mediaType:{previews:["zzzax"]}}],getCommunityProfileMetrics:["GET /repos/{owner}/{repo}/community/profile"],getContent:["GET /repos/{owner}/{repo}/contents/{path}"],getContributorsStats:["GET /repos/{owner}/{repo}/stats/contributors"],getDeployKey:["GET /repos/{owner}/{repo}/keys/{key_id}"],getDeployment:["GET /repos/{owner}/{repo}/deployments/{deployment_id}"],getDeploymentStatus:["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}"],getEnvironment:["GET /repos/{owner}/{repo}/environments/{environment_name}"],getLatestPagesBuild:["GET /repos/{owner}/{repo}/pages/builds/latest"],getLatestRelease:["GET /repos/{owner}/{repo}/releases/latest"],getPages:["GET /repos/{owner}/{repo}/pages"],getPagesBuild:["GET /repos/{owner}/{repo}/pages/builds/{build_id}"],getParticipationStats:["GET /repos/{owner}/{repo}/stats/participation"],getPullRequestReviewProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"],getPunchCardStats:["GET /repos/{owner}/{repo}/stats/punch_card"],getReadme:["GET /repos/{owner}/{repo}/readme"],getReadmeInDirectory:["GET /repos/{owner}/{repo}/readme/{dir}"],getRelease:["GET /repos/{owner}/{repo}/releases/{release_id}"],getReleaseAsset:["GET /repos/{owner}/{repo}/releases/assets/{asset_id}"],getReleaseByTag:["GET /repos/{owner}/{repo}/releases/tags/{tag}"],getStatusChecksProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"],getTeamsWithAccessToProtectedBranch:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"],getTopPaths:["GET /repos/{owner}/{repo}/traffic/popular/paths"],getTopReferrers:["GET /repos/{owner}/{repo}/traffic/popular/referrers"],getUsersWithAccessToProtectedBranch:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"],getViews:["GET /repos/{owner}/{repo}/traffic/views"],getWebhook:["GET /repos/{owner}/{repo}/hooks/{hook_id}"],getWebhookConfigForRepo:["GET /repos/{owner}/{repo}/hooks/{hook_id}/config"],listBranches:["GET /repos/{owner}/{repo}/branches"],listBranchesForHeadCommit:["GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head",{mediaType:{previews:["groot"]}}],listCollaborators:["GET /repos/{owner}/{repo}/collaborators"],listCommentsForCommit:["GET /repos/{owner}/{repo}/commits/{commit_sha}/comments"],listCommitCommentsForRepo:["GET /repos/{owner}/{repo}/comments"],listCommitStatusesForRef:["GET /repos/{owner}/{repo}/commits/{ref}/statuses"],listCommits:["GET /repos/{owner}/{repo}/commits"],listContributors:["GET /repos/{owner}/{repo}/contributors"],listDeployKeys:["GET /repos/{owner}/{repo}/keys"],listDeploymentStatuses:["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"],listDeployments:["GET /repos/{owner}/{repo}/deployments"],listForAuthenticatedUser:["GET /user/repos"],listForOrg:["GET /orgs/{org}/repos"],listForUser:["GET /users/{username}/repos"],listForks:["GET /repos/{owner}/{repo}/forks"],listInvitations:["GET /repos/{owner}/{repo}/invitations"],listInvitationsForAuthenticatedUser:["GET /user/repository_invitations"],listLanguages:["GET /repos/{owner}/{repo}/languages"],listPagesBuilds:["GET /repos/{owner}/{repo}/pages/builds"],listPublic:["GET /repositories"],listPullRequestsAssociatedWithCommit:["GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls",{mediaType:{previews:["groot"]}}],listReleaseAssets:["GET /repos/{owner}/{repo}/releases/{release_id}/assets"],listReleases:["GET /repos/{owner}/{repo}/releases"],listTags:["GET /repos/{owner}/{repo}/tags"],listTeams:["GET /repos/{owner}/{repo}/teams"],listWebhooks:["GET /repos/{owner}/{repo}/hooks"],merge:["POST /repos/{owner}/{repo}/merges"],pingWebhook:["POST /repos/{owner}/{repo}/hooks/{hook_id}/pings"],removeAppAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",{},{mapToData:"apps"}],removeCollaborator:["DELETE /repos/{owner}/{repo}/collaborators/{username}"],removeStatusCheckContexts:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",{},{mapToData:"contexts"}],removeStatusCheckProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"],removeTeamAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",{},{mapToData:"teams"}],removeUserAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",{},{mapToData:"users"}],renameBranch:["POST /repos/{owner}/{repo}/branches/{branch}/rename"],replaceAllTopics:["PUT /repos/{owner}/{repo}/topics",{mediaType:{previews:["mercy"]}}],requestPagesBuild:["POST /repos/{owner}/{repo}/pages/builds"],setAdminBranchProtection:["POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"],setAppAccessRestrictions:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",{},{mapToData:"apps"}],setStatusCheckContexts:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",{},{mapToData:"contexts"}],setTeamAccessRestrictions:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",{},{mapToData:"teams"}],setUserAccessRestrictions:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",{},{mapToData:"users"}],testPushWebhook:["POST /repos/{owner}/{repo}/hooks/{hook_id}/tests"],transfer:["POST /repos/{owner}/{repo}/transfer"],update:["PATCH /repos/{owner}/{repo}"],updateBranchProtection:["PUT /repos/{owner}/{repo}/branches/{branch}/protection"],updateCommitComment:["PATCH /repos/{owner}/{repo}/comments/{comment_id}"],updateInformationAboutPagesSite:["PUT /repos/{owner}/{repo}/pages"],updateInvitation:["PATCH /repos/{owner}/{repo}/invitations/{invitation_id}"],updatePullRequestReviewProtection:["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"],updateRelease:["PATCH /repos/{owner}/{repo}/releases/{release_id}"],updateReleaseAsset:["PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}"],updateStatusCheckPotection:["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks",{},{renamed:["repos","updateStatusCheckProtection"]}],updateStatusCheckProtection:["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"],updateWebhook:["PATCH /repos/{owner}/{repo}/hooks/{hook_id}"],updateWebhookConfigForRepo:["PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config"],uploadReleaseAsset:["POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}",{baseUrl:"https://uploads.github.com"}]},search:{code:["GET /search/code"],commits:["GET /search/commits",{mediaType:{previews:["cloak"]}}],issuesAndPullRequests:["GET /search/issues"],labels:["GET /search/labels"],repos:["GET /search/repositories"],topics:["GET /search/topics",{mediaType:{previews:["mercy"]}}],users:["GET /search/users"]},secretScanning:{getAlert:["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"],listAlertsForRepo:["GET /repos/{owner}/{repo}/secret-scanning/alerts"],updateAlert:["PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"]},teams:{addOrUpdateMembershipForUserInOrg:["PUT /orgs/{org}/teams/{team_slug}/memberships/{username}"],addOrUpdateProjectPermissionsInOrg:["PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}",{mediaType:{previews:["inertia"]}}],addOrUpdateRepoPermissionsInOrg:["PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"],checkPermissionsForProjectInOrg:["GET /orgs/{org}/teams/{team_slug}/projects/{project_id}",{mediaType:{previews:["inertia"]}}],checkPermissionsForRepoInOrg:["GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"],create:["POST /orgs/{org}/teams"],createDiscussionCommentInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"],createDiscussionInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions"],deleteDiscussionCommentInOrg:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"],deleteDiscussionInOrg:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"],deleteInOrg:["DELETE /orgs/{org}/teams/{team_slug}"],getByName:["GET /orgs/{org}/teams/{team_slug}"],getDiscussionCommentInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"],getDiscussionInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"],getMembershipForUserInOrg:["GET /orgs/{org}/teams/{team_slug}/memberships/{username}"],list:["GET /orgs/{org}/teams"],listChildInOrg:["GET /orgs/{org}/teams/{team_slug}/teams"],listDiscussionCommentsInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"],listDiscussionsInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions"],listForAuthenticatedUser:["GET /user/teams"],listMembersInOrg:["GET /orgs/{org}/teams/{team_slug}/members"],listPendingInvitationsInOrg:["GET /orgs/{org}/teams/{team_slug}/invitations"],listProjectsInOrg:["GET /orgs/{org}/teams/{team_slug}/projects",{mediaType:{previews:["inertia"]}}],listReposInOrg:["GET /orgs/{org}/teams/{team_slug}/repos"],removeMembershipForUserInOrg:["DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}"],removeProjectInOrg:["DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}"],removeRepoInOrg:["DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"],updateDiscussionCommentInOrg:["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"],updateDiscussionInOrg:["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"],updateInOrg:["PATCH /orgs/{org}/teams/{team_slug}"]},users:{addEmailForAuthenticated:["POST /user/emails"],block:["PUT /user/blocks/{username}"],checkBlocked:["GET /user/blocks/{username}"],checkFollowingForUser:["GET /users/{username}/following/{target_user}"],checkPersonIsFollowedByAuthenticated:["GET /user/following/{username}"],createGpgKeyForAuthenticated:["POST /user/gpg_keys"],createPublicSshKeyForAuthenticated:["POST /user/keys"],deleteEmailForAuthenticated:["DELETE /user/emails"],deleteGpgKeyForAuthenticated:["DELETE /user/gpg_keys/{gpg_key_id}"],deletePublicSshKeyForAuthenticated:["DELETE /user/keys/{key_id}"],follow:["PUT /user/following/{username}"],getAuthenticated:["GET /user"],getByUsername:["GET /users/{username}"],getContextForUser:["GET /users/{username}/hovercard"],getGpgKeyForAuthenticated:["GET /user/gpg_keys/{gpg_key_id}"],getPublicSshKeyForAuthenticated:["GET /user/keys/{key_id}"],list:["GET /users"],listBlockedByAuthenticated:["GET /user/blocks"],listEmailsForAuthenticated:["GET /user/emails"],listFollowedByAuthenticated:["GET /user/following"],listFollowersForAuthenticatedUser:["GET /user/followers"],listFollowersForUser:["GET /users/{username}/followers"],listFollowingForUser:["GET /users/{username}/following"],listGpgKeysForAuthenticated:["GET /user/gpg_keys"],listGpgKeysForUser:["GET /users/{username}/gpg_keys"],listPublicEmailsForAuthenticated:["GET /user/public_emails"],listPublicKeysForUser:["GET /users/{username}/keys"],listPublicSshKeysForAuthenticated:["GET /user/keys"],setPrimaryEmailVisibilityForAuthenticated:["PATCH /user/email/visibility"],unblock:["DELETE /user/blocks/{username}"],unfollow:["DELETE /user/following/{username}"],updateAuthenticated:["PATCH /user"]}};function sd(e,p,a,d,t){const r=e.request.defaults(d);return Object.assign((function(...d){let i=r.endpoint.merge(...d);if(t.mapToData)return i=Object.assign({},i,{data:i[t.mapToData],[t.mapToData]:void 0}),r(i);if(t.renamed){const[d,r]=t.renamed;e.log.warn(`octokit.${p}.${a}() has been renamed to octokit.${d}.${r}()`)}if(t.deprecated&&e.log.warn(t.deprecated),t.renamedParameters){const i=r.endpoint.merge(...d);for(const[d,r]of Object.entries(t.renamedParameters))d in i&&(e.log.warn(`"${d}" parameter is deprecated for "octokit.${p}.${a}()". Use "${r}" instead`),r in i||(i[r]=i[d]),delete i[d]);return r(i)}return r(...d)}),r)}function od(e){const p=function(e,p){const a={};for(const[d,t]of Object.entries(p))for(const[p,r]of Object.entries(t)){const[t,i,s]=r,[o,m]=t.split(/ /),n=Object.assign({method:o,url:m},i);a[d]||(a[d]={});const l=a[d];l[p]=s?sd(e,d,p,n,s):e.request.defaults(n)}return a}(e,id);return{...p,rest:p}}od.VERSION="4.15.1";var md=c(Object.freeze({__proto__:null,restEndpointMethods:od}));function nd(e,p,a){const d="function"==typeof p?p.endpoint(a):e.request.endpoint(p,a),t="function"==typeof p?p:e.request,r=d.method,i=d.headers;let s=d.url;return{[Symbol.asyncIterator]:()=>({async next(){if(!s)return{done:!0};try{const e=function(e){if(!e.data)return{...e,data:[]};if(!("total_count"in e.data)||"url"in e.data)return e;const p=e.data.incomplete_results,a=e.data.repository_selection,d=e.data.total_count;delete e.data.incomplete_results,delete e.data.repository_selection,delete e.data.total_count;const t=Object.keys(e.data)[0],r=e.data[t];return e.data=r,void 0!==p&&(e.data.incomplete_results=p),void 0!==a&&(e.data.repository_selection=a),e.data.total_count=d,e}(await t({method:r,url:s,headers:i}));return s=((e.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1],{value:e}}catch(e){if(409!==e.status)throw e;return s="",{value:{status:200,headers:{},data:[]}}}}})}}function ld(e,p,a,d){return"function"==typeof a&&(d=a,a=void 0),ud(e,[],nd(e,p,a)[Symbol.asyncIterator](),d)}function ud(e,p,a,d){return a.next().then((t=>{if(t.done)return p;let r=!1;return p=p.concat(d?d(t.value,(function(){r=!0})):t.value.data),r?p:ud(e,p,a,d)}))}const cd=Object.assign(ld,{iterator:nd}),vd=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function hd(e){return{paginate:Object.assign(ld.bind(null,e),{iterator:nd.bind(null,e)})}}hd.VERSION="2.21.3";var wd=c(Object.freeze({__proto__:null,composePaginateRest:cd,isPaginatingEndpoint:function(e){return"string"==typeof e&&vd.includes(e)},paginateRest:hd,paginatingEndpoints:vd})),gd=u&&u.__createBinding||(Object.create?function(e,p,a,d){void 0===d&&(d=a),Object.defineProperty(e,d,{enumerable:!0,get:function(){return p[a]}})}:function(e,p,a,d){void 0===d&&(d=a),e[d]=p[a]}),fd=u&&u.__setModuleDefault||(Object.create?function(e,p){Object.defineProperty(e,"default",{enumerable:!0,value:p})}:function(e,p){e.default=p}),Td=u&&u.__importStar||function(e){if(e&&e.__esModule)return e;var p={};if(null!=e)for(var a in e)Object.hasOwnProperty.call(e,a)&&gd(p,e,a);return fd(p,e),p};Object.defineProperty(Be,"__esModule",{value:!0}),Be.getOctokitOptions=Be.GitHub=Be.context=void 0;const _d=Td(Fe),bd=Td(qe),Ed=rd,yd=md,Sd=wd;Be.context=new _d.Context;const Dd=bd.getApiBaseUrl(),Nd={baseUrl:Dd,request:{agent:bd.getProxyAgent(Dd)}};Be.GitHub=Ed.Octokit.plugin(yd.restEndpointMethods,Sd.paginateRest).defaults(Nd),Be.getOctokitOptions=function(e,p){const a=Object.assign({},p||{}),d=bd.getAuthString(e,a);return d&&(a.auth=d),a};var Ad=u&&u.__createBinding||(Object.create?function(e,p,a,d){void 0===d&&(d=a),Object.defineProperty(e,d,{enumerable:!0,get:function(){return p[a]}})}:function(e,p,a,d){void 0===d&&(d=a),e[d]=p[a]}),Od=u&&u.__setModuleDefault||(Object.create?function(e,p){Object.defineProperty(e,"default",{enumerable:!0,value:p})}:function(e,p){e.default=p}),kd=u&&u.__importStar||function(e){if(e&&e.__esModule)return e;var p={};if(null!=e)for(var a in e)Object.hasOwnProperty.call(e,a)&&Ad(p,e,a);return Od(p,e),p};Object.defineProperty(Ue,"__esModule",{value:!0}),Ue.getOctokit=Ue.context=void 0;const Gd=kd(Fe),Pd=Be;Ue.context=new Gd.Context,Ue.getOctokit=function(e,p){return new Pd.GitHub(Pd.getOctokitOptions(e,p))};const Vd=e=>(...p)=>{const a="object"==typeof p[0]?Object.keys(p[0]).map((e=>` ${e}='${p[0][e]}'`)).join(""):"",d="string"==typeof p[0]?p:p.slice(1);return`<${e}${a}>${d.join("")}`},Cd=Vd("details"),Rd=Vd("summary"),Ud=Vd("tr"),Fd=Vd("td"),jd=Vd("th"),xd=Vd("b"),Bd=Vd("table"),qd=Vd("tbody"),Ld=Vd("a"),Id=Vd("p"),Hd=(...e)=>e.join("");var $d={exports:{}},Md=p,zd=a,Wd=Md.exists||zd.exists,Jd=function(e,p){var a,d=[];["end_of_record"].concat(e.split("\n")).forEach((function(e){var p,t,r=(e=e.trim()).split(":"),i=[r.shift(),r.join(":")];switch(i[0].toUpperCase()){case"TN":a.title=i[1].trim();break;case"SF":a.file=i.slice(1).join(":").trim();break;case"FNF":a.functions.found=Number(i[1].trim());break;case"FNH":a.functions.hit=Number(i[1].trim());break;case"LF":a.lines.found=Number(i[1].trim());break;case"LH":a.lines.hit=Number(i[1].trim());break;case"DA":p=i[1].split(","),a.lines.details.push({line:Number(p[0]),hit:Number(p[1])});break;case"FN":t=i[1].split(","),a.functions.details.push({name:t[1],line:Number(t[0])});break;case"FNDA":t=i[1].split(","),a.functions.details.some((function(e,p){if(e.name===t[1]&&void 0===e.hit)return a.functions.details[p].hit=Number(t[0]),!0}));break;case"BRDA":t=i[1].split(","),a.branches.details.push({line:Number(t[0]),block:Number(t[1]),branch:Number(t[2]),taken:"-"===t[3]?0:Number(t[3])});break;case"BRF":a.branches.found=Number(i[1]);break;case"BRH":a.branches.hit=Number(i[1])}e.indexOf("end_of_record")>-1&&(d.push(a),a={lines:{found:0,hit:0,details:[]},functions:{hit:0,found:0,details:[]},branches:{hit:0,found:0,details:[]}})})),d.shift(),d.length?p(null,d):p("Failed to parse string")};$d.exports=function(e,p){Wd(e,(function(a){if(!a)return Jd(e,p);Md.readFile(e,"utf8",(function(e,a){Jd(a,p)}))}))},$d.exports.source=Jd;const Kd=e=>new Promise(((p,a)=>{$d.exports(e,((e,d)=>{e?a(e):p(d)}))})),Yd=e=>{let p=0,a=0;for(const d of e)p+=d.lines.hit,a+=d.lines.found;return 0===a?0:p/a*100},Zd=e=>{if(!e)return"N/A";const p=0===e.found?100:e.hit/e.found*100,a=p.toFixed(2).replace(/\.0*$/u,"");return(100===p?Hd:xd)(`${a}%`)},Xd=(e,p,a)=>Ud(Fd(((e,p,a)=>{const d=e.file.replace(a.prefix,""),t=`https://github.com/${a.repository}/blob/${a.commit}/${d}`,r=d.split("/"),i=r[r.length-1];return Hd(p?"   ":"",Ld({href:t},i))})(e,p,a)),Fd(Zd(e.branches)),Fd(Zd(e.functions)),Fd(Zd(e.lines)),Fd(((e,p)=>[...(e.branches?e.branches.details:[]).filter((e=>0===e.taken)).map((e=>e.line)),...(e.lines?e.lines.details:[]).filter((e=>0===e.hit)).map((e=>e.line))].sort().map((a=>{const d=e.file.replace(p.prefix,""),t=`https://github.com/${p.repository}/blob/${p.commit}/${d}#L${a}`;return Ld({href:t},a)})).join(", "))(e,a))),Qd=e=>""===e?"":Ud(Fd({colspan:5},xd(e))),et=(e,p)=>{const a=Ud(jd("File"),jd("Branches"),jd("Funcs"),jd("Lines"),jd("Uncovered Lines")),d={};for(const a of e){const e=a.file.replace(p.prefix,"").split("/").slice(0,-1).join("/");d[e]=d[e]||[],d[e].push(a)}const t=Object.keys(d).sort().reduce(((e,a)=>[...e,Qd(a),...d[a].map((e=>Xd(e,""!==a,p)))]),[]);return Bd(qd(a,...t))},pt=e=>p=>0===e.filter((e=>e.lines.found===p.lines.found&&e.lines.hit===p.lines.hit)).length,at=(e,p,a,d)=>{const t=d.maxLines||15,r=p?Yd(p):0,i=(p?Yd(e):0)-r,s=i>0?"+":"";let o=e;if(p){const a=e.filter(pt(p));o=p.filter(pt(e)).concat(a)}const m=jd(Yd(e).toFixed(2),"%"),n=[];if(a&&n.push(jd(a)),n.push(m),p){const e=(e=>e<0?"▾":e>0?"▴":"")(i);n.push(jd((e=>e.toFixed(2)<0?"❌":"✅")(i)," ",e," ",s,i.toFixed(2),"%"))}return[Bd(qd(Ud(...n))),o.length>t?Id("Coverage Report too long to display"):Cd(Rd("Coverage Report"),et(o,d)),"
"].join("")},dt=(e,p,a)=>((e,p,a)=>{const{appName:d,base:t}=a,r=`Coverage after merging into ${xd(t)}

`;return Hd(r,at(e,p,d,a))})(e,p,a),tt=(e,p,a)=>((e,p,a)=>{const d=e.map((e=>{const d=p.find((p=>p.packageName===e.packageName));return at(e.lcov,d&&d.lcov,e.packageName,a)})).join(""),{base:t}=a,r=`Coverage after merging into ${xd(t)}

`;return Hd(r,d)})(e,p,a),rt=(e,p)=>p+e,it=async({client:e,context:p,prNumber:a,body:d,hiddenHeader:t})=>{const r=await(async({client:e,context:p,prNumber:a,hiddenHeader:d})=>{const{data:t}=await e.issues.listComments({...p.repo,issue_number:a});return t.filter((({body:e})=>e.startsWith(d)))})({client:e,context:p,prNumber:a,hiddenHeader:t}),i=r.pop();return await(({client:e,context:p,comments:a})=>Promise.all(a.map((({id:a})=>e.issues.deleteComment({...p.repo,comment_id:a})))))({client:e,context:p,comments:r}),i?(({client:e,context:p,body:a,commentId:d},t)=>e.issues.updateComment({...p.repo,comment_id:d,body:rt(a,t)}))({client:e,context:p,body:d,commentId:i.id},t):(({client:e,context:p,prNumber:a,body:d},t)=>e.issues.createComment({...p.repo,issue_number:a,body:rt(d,t)}))({client:e,context:p,prNumber:a,body:d},t)},st=(e,d)=>{const t=[];for(const r of p.readdirSync(d)){const i=a.join(d,r);p.statSync(i).isDirectory()&&"node_modules"!==r?t.push(...st(e,i)):i.includes(e)&&t.push({name:d.split("/")[1],path:i})}return t},ot=async e=>{const a=await p.promises.readFile(e,"utf-8").catch((e=>console.error(e)));return a?(console.log("readLcov read",e),Kd(a)):(console.log(`No coverage report found at '${e}', ignoring...`),a)},mt=async(e,a)=>{const d=st(a,e);console.log("getLcovArray read",d);const t=[];for(const e of d)if(e.path.includes(".info")){const a=await p.promises.readFile(e.path,"utf8"),d=await Kd(a);t.push({packageName:e.name,lcov:d})}return t};(async()=>{const{context:e={}}=Ue||{},p=Re.getInput("github-token"),a=Re.getInput("lcov-file")||"./coverage/lcov.info",d=Re.getInput("lcov-base"),t=Re.getInput("app-name"),r=Re.getInput("max_lines"),i=Re.getInput("monorepo-base-path")||"./packages",s={repository:e.payload.repository.full_name,commit:e.payload.pull_request.head.sha,prefix:`${process.env.GITHUB_WORKSPACE}/`,head:e.payload.pull_request.head.ref,base:e.payload.pull_request.base.ref,maxLines:r,appName:t},o=Ue.getOctokit(p),m=i?await mt(i,"lcov.info"):[];m.length>0&&await it({client:o,context:e,prNumber:e.payload.pull_request.number,body:tt(m,await mt(i,"lcov-base"),s),hiddenHeader:t?`\x3c!-- ${t}-code-coverage-assistant --\x3e`:"\x3c!-- monorepo-code-coverage-assistant --\x3e"});const n=await ot(a);n&&await it({client:o,context:e,prNumber:e.payload.pull_request.number,body:dt(n,d&&await ot(d),s),hiddenHeader:t?`\x3c!-- ${t}-root-code-coverage-assistant --\x3e`:"\x3c!-- monorepo-root-code-coverage-assistant --\x3e"});const l=Re.getInput("min_coverage");if(!l)return;const u=(Re.getInput("exclude")||"").split(" ").map((e=>e.trim())).filter((e=>e.length>0));console.log("excludedFiles",u);const c=m.filter((e=>!u.some((p=>e.packageName===p)))),v=Re.getInput("exclude_root");console.log("excludeRoot",u),n&&!v&&c.unshift({packageName:a,lcov:n});const{isValidBuild:h,coverage:w,name:g}=((e,p)=>{let a=0;for(const d of p){const p=Yd(d.lcov),t=p>=e;if(!t)return{isValidBuild:t,coverage:p,name:d.packageName};a+=p}return{isValidBuild:!0,coverage:0===p.length?0:a/p.length,name:"average"}})(l,c);h?Re.info(`Coverage: ${w.toFixed(2)}% is greater than or equal to min_coverage ${l}.`):Re.setFailed(`${w.toFixed(2)}% for ${g} is less than min_coverage ${l}.`)})().catch((e=>{console.log(e),Re.setFailed(e.message)})); diff --git a/src/check.js b/src/check.js new file mode 100644 index 000000000..37b0ef8c6 --- /dev/null +++ b/src/check.js @@ -0,0 +1,19 @@ +import { percentage } from "./lcov"; + +export const checkCoverage = (minCoverage, toCheck) => { + let accum = 0; + for (const lcovObj of toCheck) { + const coverage = percentage(lcovObj.lcov); + const isValidBuild = coverage >= minCoverage; + if (!isValidBuild) { + return { isValidBuild, coverage, name: lcovObj.packageName }; + } + accum += coverage; + } + + return { + isValidBuild: true, + coverage: toCheck.length === 0 ? 0 : accum / toCheck.length, + name: "average", + }; +}; diff --git a/src/cli.js b/src/cli.js index 8f5880cf2..30125f9f1 100644 --- a/src/cli.js +++ b/src/cli.js @@ -1,32 +1,47 @@ import process from "process"; -import { promises as fs } from "fs"; +import fs from "fs"; import path from "path"; -import { parse } from "./lcov"; -import { diff } from "./comment"; +import { diff, diffForMonorepo } from "./comment"; +import { getLcovArray, readLcov } from "./monorepo"; +import { checkCoverage } from "./check"; const main = async () => { const file = process.argv[2]; const beforeFile = process.argv[3]; - const prefix = `${path.dirname(path.dirname(path.resolve(file)))}/`; - - const content = await fs.readFile(file, "utf-8"); - const lcov = await parse(content); - - let before; - if (beforeFile) { - const contentBefore = await fs.readFile(beforeFile, "utf-8"); - before = await parse(contentBefore); - } + const prefix = `${path.dirname(path.dirname(path.resolve(file)))}/`; const options = { repository: "example/foo", commit: "f9d42291812ed03bb197e48050ac38ac6befe4e5", prefix, head: "feat/test", base: "master", + maxLines: "10", }; - - console.log(diff(lcov, before, options)); + if (fs.statSync(file).isDirectory()) { + const lcovArrayForMonorepo = await getLcovArray(file, "lcov.info"); + console.log( + diffForMonorepo( + lcovArrayForMonorepo, + await getLcovArray(file, "lcov-base"), + options, + ), + ); + console.log(checkCoverage(90, lcovArrayForMonorepo)); + } else { + const lcov = await readLcov(file); + console.log( + diff(lcov, beforeFile && (await readLcov(beforeFile)), options), + ); + console.log( + checkCoverage(90, [ + { + packageName: file, + lcov, + }, + ]), + ); + } }; main().catch((err) => { diff --git a/src/comment.js b/src/comment.js index 996094556..6702b5c3f 100644 --- a/src/comment.js +++ b/src/comment.js @@ -1,4 +1,4 @@ -import { details, summary, b, fragment, table, tbody, tr, th } from "./html"; +import { details, summary, b, fragment, table, tbody, tr, th, p } from "./html"; import { percentage } from "./lcov"; import { tabulate } from "./tabulate"; @@ -9,10 +9,19 @@ import { tabulate } from "./tabulate"; */ const renderEmoji = (pdiff) => { if (pdiff.toFixed(2) < 0) return "❌"; - return "✅"; }; +const renderArrow = (pdiff) => { + if (pdiff < 0) { + return "▾"; + } + if (pdiff > 0) { + return "▴"; + } + return ""; +}; + /** * Compares two arrays of objects and returns with unique lines update * @param {Array} otherArray @@ -25,6 +34,50 @@ const comparer = (otherArray) => (current) => other.lines.hit === current.lines.hit, ).length === 0; +const renderLcov = (lcov, base, appTitle, options) => { + const maxLines = options.maxLines || 15; + const pbefore = base ? percentage(base) : 0; + const pafter = base ? percentage(lcov) : 0; + const pdiff = pafter - pbefore; + const plus = pdiff > 0 ? "+" : ""; + + let report = lcov; + if (base) { + const onlyInLcov = lcov.filter(comparer(base)); + const onlyInBefore = base.filter(comparer(lcov)); + report = onlyInBefore.concat(onlyInLcov); + } + + const h = th(percentage(lcov).toFixed(2), "%"); + + const row = []; + if (appTitle) { + row.push(th(appTitle)); + } + row.push(h); + if (base) { + const arrow = renderArrow(pdiff); + row.push( + th( + renderEmoji(pdiff), + " ", + arrow, + " ", + plus, + pdiff.toFixed(2), + "%", + ), + ); + } + return [ + table(tbody(tr(...row))), + report.length > maxLines + ? p("Coverage Report too long to display") + : details(summary("Coverage Report"), tabulate(report, options)), + "
", + ].join(""); +}; + /** * Github comment for monorepo * @param {Array<{packageName, lcovPath}>} lcovArrayForMonorepo @@ -36,60 +89,23 @@ const commentForMonorepo = ( lcovBaseArrayForMonorepo, options, ) => { - const { base } = options; - const html = lcovArrayForMonorepo.map((lcovObj) => { - const baseLcov = lcovBaseArrayForMonorepo.find( - (el) => el.packageName === lcovObj.packageName, - ); - - const pbefore = baseLcov ? percentage(baseLcov.lcov) : 0; - const pafter = baseLcov ? percentage(lcovObj.lcov) : 0; - const pdiff = pafter - pbefore; - const plus = pdiff > 0 ? "+" : ""; - - let arrow = ""; - if (pdiff < 0) { - arrow = "▾"; - } else if (pdiff > 0) { - arrow = "▴"; - } - - const pdiffHtml = baseLcov - ? th( - renderEmoji(pdiff), - " ", - arrow, - " ", - plus, - pdiff.toFixed(2), - "%", - ) - : ""; - let report = lcovObj.lcov; - - if (baseLcov) { - const onlyInLcov = lcovObj.lcov.filter(comparer(baseLcov)); - const onlyInBefore = baseLcov.filter(comparer(lcovObj.lcov)); - report = onlyInBefore.concat(onlyInLcov); - } - - return `${table( - tbody( - tr( - th(lcovObj.packageName), - th(percentage(lcovObj.lcov).toFixed(2), "%"), - pdiffHtml, - ), - ), - )} \n\n ${details( - summary("Coverage Report"), - tabulate(report, options), - )}
`; - }); + const body = lcovArrayForMonorepo + .map((lcovObj) => { + const baseLcov = lcovBaseArrayForMonorepo.find( + (el) => el.packageName === lcovObj.packageName, + ); + return renderLcov( + lcovObj.lcov, + baseLcov && baseLcov.lcov, + lcovObj.packageName, + options, + ); + }) + .join(""); + const { base } = options; const title = `Coverage after merging into ${b(base)}

`; - - return fragment(title, html.join("")); + return fragment(title, body); }; /** @@ -99,43 +115,8 @@ const commentForMonorepo = ( */ const comment = (lcov, before, options) => { const { appName, base } = options; - const pbefore = before ? percentage(before) : 0; - const pafter = before ? percentage(lcov) : 0; - const pdiff = pafter - pbefore; - const plus = pdiff > 0 ? "+" : ""; - - let arrow = ""; - if (pdiff < 0) { - arrow = "▾"; - } else if (pdiff > 0) { - arrow = "▴"; - } - - const pdiffHtml = before - ? th(renderEmoji(pdiff), " ", arrow, " ", plus, pdiff.toFixed(2), "%") - : ""; - - let report = lcov; - - if (before) { - const onlyInLcov = lcov.filter(comparer(before)); - const onlyInBefore = before.filter(comparer(lcov)); - report = onlyInBefore.concat(onlyInLcov); - } - const title = `Coverage after merging into ${b(base)}

`; - const header = appName - ? tbody( - tr(th(appName), th(percentage(lcov).toFixed(2), "%"), pdiffHtml), - ) - : tbody(tr(th(percentage(lcov).toFixed(2), "%"), pdiffHtml)); - - return fragment( - title, - table(header), - "\n\n", - details(summary("Coverage Report"), tabulate(report, options)), - ); + return fragment(title, renderLcov(lcov, before, appName, options)); }; /** diff --git a/src/html.js b/src/html.js index 4a5585621..d1ac69898 100644 --- a/src/html.js +++ b/src/html.js @@ -23,6 +23,7 @@ export const b = tag("b"); export const table = tag("table"); export const tbody = tag("tbody"); export const a = tag("a"); +export const p = tag("p"); export const span = tag("span"); export const fragment = (...children) => children.join(""); diff --git a/src/index.js b/src/index.js index 2e0a08f0c..fc6b4a689 100644 --- a/src/index.js +++ b/src/index.js @@ -1,113 +1,21 @@ -import fs, { promises } from "fs"; -import path from "path"; import core from "@actions/core"; import github from "@actions/github"; -import { parse } from "./lcov"; import { diff, diffForMonorepo } from "./comment"; import { upsertComment } from "./github"; - -/** - * Find all files inside a dir, recursively. - * @function getLcovFiles - * @param {string} dir Dir path string. - * @return {string[{: }]} Array with lcove file names with package names as key. - */ -const getLcovFiles = (dir, filelist) => { - let fileArray = filelist || []; - fs.readdirSync(dir).forEach((file) => { - fileArray = fs.statSync(path.join(dir, file)).isDirectory() - ? getLcovFiles(path.join(dir, file), fileArray) - : fileArray - .filter((f) => f.path.includes("lcov.info")) - .concat({ - name: dir.split("/")[1], - path: path.join(dir, file), - }); - }); - - return fileArray; -}; - -/** - * Find all files inside a dir, recursively for base branch. - * @function getLcovBaseFiles - * @param {string} dir Dir path string. - * @return {string[{: }]} Array with lcove file names with package names as key. - */ -const getLcovBaseFiles = (dir, filelist) => { - let fileArray = filelist || []; - fs.readdirSync(dir).forEach((file) => { - fileArray = fs.statSync(path.join(dir, file)).isDirectory() - ? getLcovBaseFiles(path.join(dir, file), fileArray) - : fileArray - .filter((f) => f.path.includes("lcov-base")) - .concat({ - name: dir.split("/")[1], - path: path.join(dir, file), - }); - }); - - return fileArray; -}; +import { getLcovArray, readLcov } from "./monorepo"; +import { checkCoverage } from "./check"; const main = async () => { const { context = {} } = github || {}; - const token = core.getInput("github-token"); const lcovFile = core.getInput("lcov-file") || "./coverage/lcov.info"; const baseFile = core.getInput("lcov-base"); const appName = core.getInput("app-name"); - // Add base path for monorepo - const monorepoBasePath = core.getInput("monorepo-base-path"); - - const raw = - !monorepoBasePath && - (await promises - .readFile(lcovFile, "utf-8") - .catch((err) => console.error(err))); - if (!monorepoBasePath && !raw) { - console.log(`No coverage report found at '${lcovFile}', exiting...`); - - return; - } - - const baseRaw = - baseFile && - (await promises - .readFile(baseFile, "utf-8") - .catch((err) => console.error(err))); - if (!monorepoBasePath && baseFile && !baseRaw) { - console.log(`No coverage report found at '${baseFile}', ignoring...`); - } - - const lcovArray = monorepoBasePath ? getLcovFiles(monorepoBasePath) : []; - const lcovBaseArray = monorepoBasePath - ? getLcovBaseFiles(monorepoBasePath) - : []; - - const lcovArrayForMonorepo = []; - const lcovBaseArrayForMonorepo = []; - for (const file of lcovArray) { - if (file.path.includes(".info")) { - const rLcove = await promises.readFile(file.path, "utf8"); - const data = await parse(rLcove); - lcovArrayForMonorepo.push({ - packageName: file.name, - lcov: data, - }); - } - } + const maxLines = core.getInput("max_lines"); - for (const file of lcovBaseArray) { - if (file.path.includes(".info")) { - const rLcovBase = await promises.readFile(file.path, "utf8"); - const data = await parse(rLcovBase); - lcovBaseArrayForMonorepo.push({ - packageName: file.name, - lcov: data, - }); - } - } + // Add base path for monorepo + const monorepoBasePath = + core.getInput("monorepo-base-path") || "./packages"; const options = { repository: context.payload.repository.full_name, @@ -115,29 +23,85 @@ const main = async () => { prefix: `${process.env.GITHUB_WORKSPACE}/`, head: context.payload.pull_request.head.ref, base: context.payload.pull_request.base.ref, + maxLines, appName, }; - - const lcov = !monorepoBasePath && (await parse(raw)); - const baselcov = baseRaw && (await parse(baseRaw)); - const client = github.getOctokit(token); - await upsertComment({ - client, - context, - prNumber: context.payload.pull_request.number, - body: !lcovArrayForMonorepo.length - ? diff(lcov, baselcov, options) - : diffForMonorepo( - lcovArrayForMonorepo, - lcovBaseArrayForMonorepo, - options, - ), - hiddenHeader: appName - ? `` - : ``, - }); + const lcovArrayForMonorepo = monorepoBasePath + ? await getLcovArray(monorepoBasePath, "lcov.info") + : []; + if (lcovArrayForMonorepo.length > 0) { + await upsertComment({ + client, + context, + prNumber: context.payload.pull_request.number, + body: diffForMonorepo( + lcovArrayForMonorepo, + await getLcovArray(monorepoBasePath, "lcov-base"), + options, + ), + hiddenHeader: appName + ? `` + : ``, + }); + } + // Always process root file if exists. + const rootLcov = await readLcov(lcovFile); + if (rootLcov) { + await upsertComment({ + client, + context, + prNumber: context.payload.pull_request.number, + body: diff( + rootLcov, + baseFile && (await readLcov(baseFile)), + options, + ), + hiddenHeader: appName + ? `` + : ``, + }); + } + + const minCoverage = core.getInput("min_coverage"); + if (!minCoverage) { + return; + } + const excluded = core.getInput("exclude") || ""; + const excludedFiles = excluded + .split(" ") + .map((x) => x.trim()) + .filter((x) => x.length > 0); + console.log("excludedFiles", excludedFiles); + const toCheck = lcovArrayForMonorepo.filter( + (x) => !excludedFiles.some((y) => x.packageName === y), + ); + const excludeRoot = core.getInput("exclude_root"); + console.log("excludeRoot", excludedFiles); + if (rootLcov && !excludeRoot) { + toCheck.unshift({ + packageName: lcovFile, + lcov: rootLcov, + }); + } + const { isValidBuild, coverage, name } = checkCoverage( + minCoverage, + toCheck, + ); + if (!isValidBuild) { + core.setFailed( + `${coverage.toFixed( + 2, + )}% for ${name} is less than min_coverage ${minCoverage}.`, + ); + } else { + core.info( + `Coverage: ${coverage.toFixed( + 2, + )}% is greater than or equal to min_coverage ${minCoverage}.`, + ); + } }; main().catch((err) => { diff --git a/src/lcov.js b/src/lcov.js index 3acc4c92a..c966fac90 100644 --- a/src/lcov.js +++ b/src/lcov.js @@ -22,5 +22,5 @@ export const percentage = (lcovData) => { found += entry.lines.found; } - return (hit / found) * 100; + return found === 0 ? 0 : (hit / found) * 100; }; diff --git a/src/lcov.test.js b/src/lcov.test.js index db1b896c4..be8dc1717 100644 --- a/src/lcov.test.js +++ b/src/lcov.test.js @@ -117,3 +117,7 @@ test("percentage should calculate the correct percentage", () => { ]), ).toBe(75); }); + +test("percentage of an empty set must be zero", () => { + expect(percentage([])).toBe(0); +}); diff --git a/src/monorepo.js b/src/monorepo.js new file mode 100644 index 000000000..9270caddb --- /dev/null +++ b/src/monorepo.js @@ -0,0 +1,57 @@ +import fs, { promises } from "fs"; +import path from "path"; +import { parse } from "./lcov"; + +/** + * Find all files inside a dir, recursively. + * @function getLcovFiles + * @param {string} fileFilter filenames must include this + * @param {string} dir Dir path string. + * @param {string[]} fileList accumulated result + * @return {{name: string, path: string}[]} Array with lcove file names with package names as key. + */ +const getLcovFiles = (fileFilter, dir) => { + const fileArray = []; + for (const file of fs.readdirSync(dir)) { + const fullPath = path.join(dir, file); + if (fs.statSync(fullPath).isDirectory() && file !== "node_modules") { + fileArray.push(...getLcovFiles(fileFilter, fullPath)); + } else if (fullPath.includes(fileFilter)) { + fileArray.push({ + name: dir.split("/")[1], + path: fullPath, + }); + } + } + + return fileArray; +}; + +export const readLcov = async (lcovFile) => { + const raw = await promises + .readFile(lcovFile, "utf-8") + .catch((err) => console.error(err)); + if (raw) { + console.log("readLcov read", lcovFile); + return parse(raw); + } + console.log(`No coverage report found at '${lcovFile}', ignoring...`); + return raw; +}; +export const getLcovArray = async (monorepoBasePath, fileFilter) => { + const lcovArray = getLcovFiles(fileFilter, monorepoBasePath); + console.log("getLcovArray read", lcovArray); + const lcovArrayForMonorepo = []; + for (const file of lcovArray) { + if (file.path.includes(".info")) { + const rLcove = await promises.readFile(file.path, "utf8"); + const data = await parse(rLcove); + lcovArrayForMonorepo.push({ + packageName: file.name, + lcov: data, + }); + } + } + + return lcovArrayForMonorepo; +}; diff --git a/src/tabulate.js b/src/tabulate.js index da91bc272..217735ccf 100644 --- a/src/tabulate.js +++ b/src/tabulate.js @@ -1,4 +1,4 @@ -import { th, tr, td, table, tbody, a, b, fragment } from "./html"; +import { th, tr, td, table, tbody, a, b, fragment, p } from "./html"; const filename = (file, indent, options) => { const relative = file.file.replace(options.prefix, "");